Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Patrick75

Pages: [1]
1
Bus CAN / Re : Mémoire circulaire à l'émission pour un Bus Can
« le: juillet 20, 2020, 05:31:35 pm »
Merci Thierry et Jean-Luc,

Je viens d'intégrer la bibliothèque préconisée par Jean-Luc : RingBuf.h v2.0.0
Par curiosité, je jetterai un coup d'oeil à l'autre mentionnée par Thierry.

Bon maintenant, il me "reste" à me familiariser avec sa mise en oeuvre.

Dans notre cas, les messages sont de longueur fixe avec 3 octets de données systématiques, ce qui conviendra donc à la gestion de cette mémoire circulaire, à l'émission.
Pour la réception, vous expliquiez avoir optimisée la bibliothèque du sujet "Bus Can, partie 2" : je la conserverai donc tel que préconisé (je n'ai pas du tout le niveau de compétence pour en juger ni donc m'écarter de vos préconisations).

Nous commençons à obtenir des résultats intéressants dans les essais du block system Arduino "à notre sauce", sur notre réseau de club.
D'ici quelques semaines (... à l'automne), je compléterai la présentation que j'en avais fait.

2
Bus CAN / Mémoire circulaire à l'émission pour un Bus Can
« le: juillet 19, 2020, 04:33:08 pm »
Bonjour,
Je pense avoir besoin de mettre en oeuvre une mémoire circulaire pour stocker les messages à envoyer sur le bus CAN à partir d'un Arduino Due et d'un interface Waveshare SN65HVD230
Pour la partie réception, j'ai utilisé votre sketch décrit en partie no2 du Bus Can.

Or, je constate que :
a) je n'ai pas suffisamment "intégré" votre méthode "en réception" pour en déduire un sketch valable en émission
b) je ne trouve vraiment pas d'exemple ni ici ni sur le net d'une telle mémoire ciculaire à l'émission (ça peut signifier aussi que je fais fausse route en cherchant quelque chose qui n'aurait pas lieu d'être ... lol)

Le block system est géré par un Arduino Due traitant 8 cantons avec ses périphériques d'entrée-sortie locaux reliès par un bus I2C. Les différents Arduino Due doivent diffuser aux autres les informations relatives aux cantons que chacun d'entre eux gèrent.
D'autres Arduino "de pupitre" (tableau de contrôle optique) sont aussi à connecter à ce bus Can pour exploiter les informations des cantons qu'ils "surveillent" et envoyer aux Arduino "de block" les positions des leviers de "commande d'aiguille" et de commande des "carrés" et autres "ordres" de ces cantons.

Dans notre réalisation, le temps global de traitement des huit cantons par l'Arduino Due est d'environ 70ms (avec 32 entrées et 32 sorties par GPIO 23017) hors sous-programme de gestion des émissions-réceptions relatives au bus Can.
Le trafic des trains étant intense, j'anticipe un besoin de diffuser sur le bus CAN jusqu'à dix à quinze messages par seconde par Arduino "de block".

Auriez-vous un lien vers un exemple qui me permettrait d'extrapoler le sous-programme de gestion de cette mémoire circulaire à l'émission.
Merci pour tout ce qu'on trouve sur ce site.

3
Je serai tenté par une description du réseau dans une matrice bien que ça diverge de la programmation C++ objet orthodoxe,  si je comprends bien.

Notre projet de réseau est complexe :
. 80 cantons à 2 zones environ plus une 20aîné de  zones d'aiguilles et une 10aine de zones d'arrêt supplémentaires pour les  cantons banalisés
. une 50aine d'aiguilles
. 5 à 8 pupitres de commande d'aiguilles et de carré de protection et la répétition des signaux de Bal Sncf
. pas d'itinéraires automatiques
. détection par consommation de courant à partir d'une source 24V continu
. 2 sources de courant traction Vnormal, Valentino
. un Arduino Due par canton, pupitre, zone complexe d'aiguilles

Le réseau sera construit en plusieures phases.

Je préférerais que la programmation de tous les Due de cantons soit identique et aussi definitive que possible.

La référence à une matrice unique centrale avec si possible une procédure de distribution automatique au démarrage me plairait bien.

Qu en pensez vous ?

Merci pour tous vos messages et articles qui nous aident beaucoup.

4
Présentez vous ! / Bonjour de Patrick75
« le: septembre 07, 2016, 01:04:37 pm »
Bonjour à tous,

Après avoir conçu et mis en place il y a 20 ans un block électronique qui permet la circulation d'une vingtaine de trains dans un club, nous nous lançons à quelques un dans un remplaçant basé sur l' Arduino Due et le Bus Can.

J'ai lu, relu et digéré à peu près tout sur le sujet, ici ou ailleurs et maintenant, nous nous lançons dans les expérimentations. Cependant à n'en pas douter, des points demanderons des éclaircissements !  ;)

Merci à tous d'avoir apporté ici toutes vos connaissances et expériences et, merci de m'accueillir parmi vous.

Patrick

Pages: [1]