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 - laurentr

Pages: [1] 2 3 ... 39
1
Bonjour

Le bouclier assurant les détections est arrivé.  ;D
Ici en panneau 3x3 il faut encore l'équiper de ses composants "traversants" dont les "COILS" et le passage du fil dans l'anneau.
L'empreinte pour les COILS est adaptée pour différents modèles.
Illustrés ici sur les photos le cas de ZMCT103C de 1000 tours.

Quelques essais restent donc encore à mener pour les valider.

Pour memo ils sont basés sur le montage "PAISELY" proposé par NOXPOR (Eric) qui a été ici adapté au contexte "satellites" en approche modulaire.
Le NE555 remplace le NE556 puisque seule une "entrée" est utilisée.
Un opto assure la conversion de tension (5V ou 3V3) de l'état de sortie pour aller vers le CPU.
Des indicateurs lumineux (ROUGE = OCCUPE) ( VERT = libre) complètent le dispositif en affichant l'état sur la zone de détection.

En complément il est possible d'inverser l'état de sortie haut ou bas qui traversera l'optocoupleur pour indiquer au CPU l'état d'occupation.

Ltr


2
Vos projets / Re : Décodeur Accessoires Arduino
« le: avril 08, 2024, 10:16:26 pm »
Bonsoir

Il faut se pencher sur quelques réponses pour mieux cibler:
mode de d'alimentation des MEGA et des leds, de la couche LOCONET, ...

Un  schéma peut aider à mieux visualiser.

Ltr

3
Bonjour

En effet se passer de "AnaloguRead() comme nous en avons discuté va éviter des temps de traitement relativement "longs" qui plus est sur les AVR "historiques"

Sur les AVR plus récents ( AVR Dx et MEGATINY) il y a 2 éléments à considérer:
1 l analoguRead est beaucoup plus rapide que sur les anciens AVR.

Les mesures faites par Spence KONDE en témoignent:
https://github.com/SpenceKonde/DxCore/blob/master/megaavr/extras/Ref_Analog.md voir la section mTC/DxC) bool analogSampleDuration(duration)

En grosso ici lecture unique sur 12us ( comme sur les anciens AVR) et temps de traitement (10us) amènent à 22us ( 4 fois plus rapide que sur AVR anciens)

2/ Ces nouveaux AVR on vu 3 versions successives d'ADC et ne se commandent pas de la même façon (ce que masque cependant le analoguRead() classique)

Et pour utiliser directement les registres il faudra selon le CPU retenu tout se "palucher" à la main...

J'ai déjà écrit une partie mais elle n'est pas déclinable à toutes les broches ( il faudrait la retravailler) mais comme l analoguRead est (à priori) "assez rapide" c'est peut être  pousser un peu loin sans réel besoin... A voir par quelques tests.

A noter que sur les nouveaux AVR l'échantillonnage étant réglable (par configuration) peut sortir directement une valeur dont il restera à diviser par le nombre d'échantillons demandés. (le fameux >>4 utilisé par Christophe dans le code ci dessus pour la moyenne de 4 lectures successives)

Lorsque j aurai reçu le matos nécessaire je ferai quelques tests et vous communiquerai les résultats.

Ltr



4
Bonjour

Petit interlude pour connaitre le mapping de sensibilité(s) que vous arrivez à déceler depuis le primaire? ( et du range de valeurs en sorties).

Quid en fait du seul correspondant en "bruit" et donc d une valeur en deca la mesure de détection est à "nettoyer"?

Ltr

5
Bonjour

Le hard du bouclier d'inversion/protection est validé.
L'alimentation du montage depuis le DCC régule bien via le convertisseur DC DC.
Les commutations tournent comme une horloge. (déclanchement mécanique via bouton)

Il reste à valider les seuils des bascules, voir des temporisations de façon dynamique.

Si pour le HO je suis pourvu, les tests pour le N me sont impossibles car pas équipé pour.
Un volontaire qui dispose de l'infra pour cela? @Dominique peut être?

La suite dans la foulée...

Ltr


6
Bonsoir

Mes tests ont commencé...  et avec un code encore perfectible! ( un oubli de #conditionnel sur le Serial.begin pour le "debug" a eu tôt fait d'activer la pin TX en permanence faussant mes résultats! et le lançant sur des recherches bien loin de l'origine de cette erreur grossière!!

Tout semble rentrer dans l'ordre à présent.

La bonne nouvelle quand même c est que le hard semble faire ce qu'on attend de lui :) ( tests à poursuivre)

A suivre donc...



Ltr

7
Boucliers RAILCOM reçus. (traitant de la mesure donc hors CPU))

On va pouvoir tester!

Cote CPU avec cette approche par port série ( UART) en lien avec un bouclier, l'AVR DB en version 48 broches offre 5 UART et 6 en version 64 broches.

C est le plus "véloce" à offrir ces éléments. le MEGA2660 n'en propose que 4.

Par chance le bus SPI étant dissocie des broches UART on peut imaginer une passerelle CAN avec ce qui donnerait pour une carte jusqu'à 6 zones monitorées. (concept théorique à éprouver)

D autres approches restent possible mais je ne les conceptualise pas encore...


Laurent

8
Bonjour

Petit update sur les calculs des valeurs que j ai reprise dans le tableau suivant en appliquant les formules données.

Tout à droite on voit les hypothèses appliquées au montage d'ETIENNE66 avec les valeurs de R 2.7Mo C 470nF C = 1000 TUNRS et 1 en roulement autours.

Si on fait varier la tension VDCC  on peut dépasser
Idem si on a plus de 1 essieux de 10K en shunt on diminue la résistance d entrée ( mise en parallèle de résistances) ce qui influe aussi sur les valeurs du montage

On voit de fait que la ZENER ne vas pas être superflue pour écrêter tout ce qui dépasse. (elle va même avoir du boulot!)

Si je ne me trompe pas la puissance que doit absorber la zener va être du (delta entre Vin et Vzener) * I en sortie de R.

A priori pas un monstre à prévoir mais pas trop petit non plus.

En rouge les lignes ou les seuils V ou steps sont dépassés. SI la zener écrête on reste sur Vzener en VMax in cote CPU IN et donc au max des pas du convertisseur ADC ( 1023 si 10 bits, 4095 si 12bits,...)

Ou alors j ai mal fait mes calculs...?

De ce que j en déduit il faut:

ajuster les composants selon le nombre de tours du COIL
Déterminer le VDCC ( la norme pouvant aller jusqu à 24V....) nous serons peut être plus raisonnables en nous bornant à l intervalle [16V;18V]
Dimensionner les valeurs selon les seuils attendus et paramètres ayant court.

En montage SMD et fabrication industrialisée il est indispensable de connaitre les valeurs des composants. En revanche en montage traversant, chacun pourra avec ses inputs ajuster les valeurs à monter.

En SMD il serait toutefois possible de combiner avec des sélecteurs mais dans le volume imparti on passerait sur du double couche ( c est bcp plus cher à produire) et il n en est pas moins de devoir retenir quels valeurs imputer aux composants...

Donc reste confirmer ces hypothèses de calculs...

Ltr

 

9
Bonjour

Le bouclier N°1 dans sa version "light" (limitée à 4A en protection mais assurant ici la fonction d inversion et de réarmement externe) est arrivé et doit encore recevoir quelques composants pour être ensuite testé.

L'intérêt de cette version et de pouvoir être 100/100 autonome pour la gestion d'une boucle/triangle/plaque de retournement.

Le WE s'annonce chargé en tests d'autant que la connectique commence à arriver...

Ltr

10
Bonjour

J'ai (encore) retravaillé une implémentation du bouclier N°2.

J'avais précédemment réussi à lui confier la détection de court circuit avec inversion de la distribution des pôles DCC par optoMOSFET soit par l'intermédiaire d'une mesure par COIL soit par mesure via ACS712 5A. (au choix à l'implantation)
Cette inversion était alors temporisée en cas de pic (type court circuit) pour éviter de multiples "FLIP FLOP" avant qu'un dispositif de coupure n'intervienne à un autre niveau (bouclier N°1 ou dispositif externe)
Ce montage pourrait assuré cette coupure mais n'aurait pas disposé de mécanisme externe de ré armement. ( 1 broche supplémentaire d'interface serait requise ce qui aurait fait revoir la conception des modules de type N°2 et de leur brochage... un très gros travail dont je me passe volontiers :) !)

Toutefois je restais persuadé de pouvoir encore "améliorer la chose" car je disposais sur ce bouclier d'une broche d'interface confirmant une détection.

Comme de nombreux composants pour confirmer une présence étaient déjà présents, ils ne demandaient qu'à être exploités avec plus d'efficience,  il fallait chercher et trouver...

Il manquait alors au montage d'origine une interface avec cette sortie et la "pseudo opto isolation" permettant la bascule des niveaux de tension de façon optimale lorsqu'elle est nécessaire. ( pour PIN de CPU 3V3 ou 5V)

Un peu de travail pour y parvenir et tout caser dans les 16cm² à disposition sans bouger les broches de connexion, ajouter des composants, adapter la sérigraphie...

Tout y est à présent!  8)

Il y a même une petite astuce pour inactiver/ponter la partie d'inversion si elle n est pas nécessaire!

Le temps de revérifier ( encore et encore après une tempo propre à prendre le recul suffisant) ) et de confirmer les hypothèses ( quelques valeurs de composants dont il faut confirmer les valeurs précises) et il pourra partir aussi en production/fabrication...


Ltr

11
Merci Etienne

On voit bien que si on substitue les COILs (selon leur nombre de tours)  il faut alors ajuster les résistances et capa du montage... sinon on va être au delà des seuils.

Si je reprends le calcul évoqué précédemment et que je mets un COIL 50 tours j ai ceci

0.0015 A= 1.5mA
1.5mA / 50 Tours = 0.00003
NB de passages = 1
 27000000 r = 2.7Mo
0.00003 * 2 700 000 = 81 MORTEL!

Si on veut toujours être sous 5V alors R =< 150000r = 150Ko

car
 0.00003*150000 = 4.5V qui sont ici bien compatible avec la plage d entrée de notre Arduino/AVR qui accepte 5V sur ses entrées

On arriverait à des calculs analogues avec une entrée 3V3 et les valeurs devrait donc être adaptées
 pour R et
Cote capa pour mini 1sec avec 150Ko on pourra partir sur 10uF

car 150 000 x 0.000 010 = 1.5.

(on fait ici abstraction des 2/3 de temps ou des 5emes requis pour la charge complète et la décharge complète en gardant l idée d une linéarité plus simple à comprendre)

Etienne, tu me confirmes bien que le schéma suivant est le bon ?( avec les valeurs indiquées pour un COIL 1000 tours et pas celle pour un COIL 50 tours qui doivent alors avoir pour R 150Ko et C 10uF!)


Laurent





12


Pour les cantons c'est le zmct103 qui sort à travers une diode 1n4148 sur, en //, une résistance de 2.7MOhms, un condensateur de 470nF
et une zener de 3.3v.


Bonjour Etienne

Est ce que cette valeur RC (1200000 ohms * 0.000000470 Farads qui donne 1.2sec a été sélectionnée  pour ce seuil particulier compte tenu de la tension en entrée de R et de la capa (dispo) ou est ce libre de recomposition de valeurs pout obtenir cette même temporisation proche des 1.2sec ex 1.2uF et R 1 000 000

J essaye de voir ou sont les "optimums"...

(Ce qui m amènera à légèrement reprendre un design de bouclier pour tenir compte des révisions à ce sujet.)

Autre question si on se fie sur le rapport du COIL ayant le plus petit rapport 1:50 (pour 50 tours)
A t on bien si je ne me trompe pas un V max de V DCC/50 ? ( modulo le nombre de tour dans le coil (ici mini 1)( et donc ici max54V/50 =0.045V ?? puisqu'on a d autre part le ration 5A /50 = 0.1 A)

Ou alors il me manque une formule...?

Ltr



Ltr

13
Bonjour

Premier boucliers RAILCOM reçus  ce matin... en attente des connectiques encore en transit! :)

Moment d'émotion!  8)

Le surdimensionnement des condensateurs est totalement assumé (tranche 50V) occupant de fait un volume plus important de l'ordre du cm d'épaisseur! (<15mm))

Les pistes pour la circulation du DCC allant aux voies sont prévues pour supporter jusqu'à 3A (seuil max des diodes du montage)
Avec les connecteurs de liaison sous le PCB on aura ainsi une hauteur totale contenue sous les 3 cm.

Ce bouclier est naturellement exploitable pour d'autres usages que les seuls satellites autonomes.
Ses dimensions de 40mmx40mm compactes le rendent facilement "logeable".

Ltr

14
Bonjour

Le bouclier de détection "faible courant" est en cours de finalisation.

Basé sur le montage proposé par NOXPOR et adapté du montage de PAISELEY il est ajuster pour nos usages avec la possibilité de
choisir la tension de pilotage de l optocoupleur permettant ainsi un portage AVR en 5V <> ESP32 ou CPU en 3V3 par un simple jumper.
choisir le mode de sortie en logique inversée ou non:  si un train est détecté on envoie un message "0" on en envoi alors un message "1" la aussi par la fermeture d'un jumper

Comme une seule zone est prévue au monitoring le NE556 est remplace par son petit frère le NE555.

 2 leds locales ( rouge/verte) indique visuellement si une détection est présente ou non.

Il encaissera comme détecteur global également sans broncher ses 5A.

Ltr

15
Reprise simplifiée du montage précèdent proposé par Eric (NOXPOR) ( dérive du montage de PAISLEY)

https://web.archive.org/web/20140825051230/http://home.cogeco.ca/~rpaisley4/DccBODvt5.html

Je pense que je vais mettre en œuvre celui ci...

Ltr




Pages: [1] 2 3 ... 39