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

Pages: 1 ... 4 5 [6] 7 8 ... 21
76
Vos projets / Re : Décodeur de locomotive multifonctions
« le: décembre 16, 2023, 11:43:39 am »
Bonjour ,
je suis assez booké ces temps-ci , alors , pêle-mêle :
Citer
si on obtient un digitalread(PIN_X) == 0 et digitalread(PIN_Y)== 0
si les 2 entrés sont sur le même port , on peut faire : if (IN_portX & 0b00100100) , en plaçant les 1 sur les entrées ; on doit même avoir une option où IN_portX peut être lu en 1 cycle (pareil si on est pressé en écriture , utiliser SET_portX , ou CLEAR , ou TOGGLE)
utiliser EVCTRL est une autre option : (filter)CCL(NAND) -> EVCTRL(filter) -> CAPT ; ça aurait été mieux qu'Atmel mette un filtre programmable au niveau du CAPT , pour éliminer les parasites , mais aussi les dead-time du pont en H de la station , environ 1us où les 2 entrées peuvent êtres lues simultanément à LOW , en confusion avec le début d'un cutout
je me refuse d'indiquer une préférence entre le polling des entrées (on a tout le temps pour le faire) , et l'utilisation de CCL et des armes des nouveaux AVR : l'idéal serait de disposer d'un proto qui permet d'évaluer les 2 ...
concernant les ISR , tu découvres , c'est bien ; j'en profite pour faire noter une chose , qui a peut-être une certaine importance : avec les nouveaux AVR , on peut fixer une certaine priorité pour les ISR ; ce n'est certes pas une priorité de préemption comme pour les ARM , mais une priorité de queue ; cela signifie que si ton interruption prioritaire est déclenchée alors qu'une autre ISR est en cours , ton interruption ne pourra pas interrompre l'autre ISR (d'où  l'intérêt que les ISR soient le plus court possible) , mais elle sera prioritaire par rapport aux éventuelles autres interruptions en attente , c'est déjà ça
j'en suis réduit à la même réponse de Normand concernant l'utilisation du soft d'Aiko vs celui de lebelge2 (affaire interne au Benelux) ; par contre , je suis persuadé qu'il vaut mieux utiliser le hard de lebelge2 , beaucoup plus simple que celui , nippon (ni mauvais) de ton schéma ; donc en un 1er temps , concernant le cutout , pour simplifier et avancer , tu pourrais faire du lebelge2 intégral (un peu de rétroingénierie  sans doute) , puis quand ça marche , migrer progressivement vers la solution d'Aiko , afin d'utiliser les pouvoirs des nouveaux AVR ; en tous les cas je pense que la solution japonaise est à écarter , car trop compliquée et mal documentée

77
Vos projets / Re : Décodeur de locomotive multifonctions
« le: décembre 01, 2023, 11:45:30 pm »
il faudrait qu'on ouvre un nouveau topic : la présentation de lebelge2 est terminée et fonctionne , on est hors sujet depuis un moment

78
Vos projets / Re : Décodeur de locomotive multifonctions
« le: décembre 01, 2023, 11:25:48 pm »
Hello

J ai vu et je vais voir comment porter le truc sur le projet.
Je préférais ma solution avec le NMOS car dans ce cas on est moins dépendant des tensions de la voie au delà de celle de bascule du NMOS. Pour ce qui est de la gestion de l'ABC on a alors en effet besoin de deux IO supplémentaires qui sont sous numéraires sur notre CPU 1616...
alors il faudra les protéger par des npn

le BOD level va aussi devoir être abaissé sur la plage BODLEVEL0  pour 1,8V [1,7V; 2V] pour que toutes les tensions au dessus de 2,1V en gros soient considérées comme des 1 et 0 en dessous.
Dans le montage avec le NMOS on peut rester sur un BODLEVEL7 avec 4,3V. ([4,1V; 4,5V]
le BOD level (Brown Out , pas Block Occupency) ne joue que sur le reset

J ai aussi donc une adaptation à faire pour l'ABC. ( qui permettra aussi de détecter le sens de circulation en analogique je pense)

Pour le pont en H c est un peu une fausse impression bien que cela soit le plus imposant composant du montage. IL est encore acceptable en terme d épaisseur surtout.
L ayant déjà utilisé je le trouve "parfait pour le job" et donc tenir 1.5 A ne lui posera pas de problème si on doit monter jusque la.(même en pic)
Je n'utilise pas la fonction de mesure/limitation de courant dessus
je regarde si je trouve quelque chose

Pour le diviseur que tu proposes avec les 4 x 100K je me pose la question de savoir s il ne faut pas qu'il soit asymétrique pour couvrir sur les PIN_IN DCC_R et PIN DCC_L une plage de tension au delà de 10/12V (V/2 <= 5,5V )(et donc du double idéalement) et garantir le niveau de tension mini d entrée pour valider la bascule d'état, et protéger le CPU. On peut aussi ajouter une diode entre l'entrée CPU et le +5V.
(j'ai pas écrit 4x100K) ces entrées serviront aussi à la capture : après la capture et les opération qui s'en suivent , on bascule la broche en analogique et on mesure l'ABC ; sur l'autre entrée  il faudra une interruption en milieu de bit DCC pour mesurer l'autre alternance

Reprenons un peu les mappings d'usages des 20 I/O pour éviter tout oubli. On ciblera ensuite plus finement les attributions précises ( s il faut en revoir certaines)

1 I/O pour le traitement du signal DCC ( sur évent +  interupt de la lib AIKO PRAS) ( sur le TIMER B0) pas besoin
1 I/O pour détecter le cutout RC ( l'autre pole DCC?) ( sur le TIMER B1)pas besoin
2 I/O pour la détection ABC ( voir la mesure du level en entrée pour l analogique)
2 I/0 PWM pour piloter le pont en H ( pilotées par le TIMER A mod split en 8bits)
1 I/O pour l UDPI
1 I/O pour le +5V
1 I/O pour le GND
2 I/O pour le "serial" TX/RXrx pas besoin
2 I/O pour l I2C SDA SCL
7 I/O pour le pilotage des sorties amplifiées ( dommage une de plus nous aurait offert 8 sorties amplifiées mais il reste au pire RX...)
1 I/O  le Tx pour le railcom

Millis()/micros() tournera sur le TIMER D. (sur cette série)

Le passage sur le 1617/3217 force les choses vers le haut à défaut ca sera 6  sorties pilotables ( Rouges et blancs indépendants de chaque cote et 2 éclairage de cabines par exemple).

Et la il y en a un qui va lever la main et dire et pour les servos et le DF Player on fait comment?
tx software serial
Plusieurs  options: extension I2C ou passage sur un CPU plus fourni en I/O.

Why not?

Laurent

79
Vos projets / Re : Décodeur de locomotive multifonctions
« le: novembre 30, 2023, 01:32:29 pm »
- j'ai édité mon post précédent : voir pour les 4x 0402 en entrées , au besoin regarder comment a procédé lebelge2
 -le pont en H me paraît énorme comparé au reste : ne peut-on pas tabler sur un modèle + compact (genre DRVmachin) , qui pourraient aussi servir pour commander 2 sorties AUX , on serait paré au niveau des protections


80
Vos projets / Re : Décodeur de locomotive multifonctions
« le: novembre 29, 2023, 11:53:46 pm »
très bien
je viens juste de regarder ton schéma :
- pour l'entrée DCC , on se contentera d'une 100K 0402 (comme "tout le monde")
Edit : ben non , il faut pouvoir mesurer la tension des 2 rails pour l'ABC : il faut donc 2 ponts diviseurs sur chaque rail , reliés à 2 entrées ADC , sonc 4x 0402 en tout ; un des 2 ponts sera aussi relié (en interne ?) à l'entrée ICP d'un des 2 TIMERB
- je ne suis pas convaincu du circuit générateur railcom : si une tension DCC intempestive arrive sur le transistor en-bas à droite , alors qu'il est commandé , il fume (sa dernière cigarette) ; je pense qu'il faut un transistor en + pour le protéger , en occurrence celui en bas à gauche , qui sert de diode : on met une vraie diode à la place , et on le récupère pour protéger celui de droite
Edit : en fait , pour que la tension en DCC_L (~15v) puisse être dangereuse , il faut que que celle en DCC_R soit à ~0v (il faut que ça se reboucle) , or dans ce cas , le transistor de droite n'est plus commandé , il est donc protégé : on peut faire confiance à l'auteur de ce shéma
- pareil pour les dual mosfet , il faudra les protéger par des dual-npn
- il existe le MPM3506A , qui ne fait que 600mA , ça suffit , et qui ne coûterait que 2€50 ; il faudrait encore s'assurer de son comportement lors des arrêts de la tension d'entrée , vis-à-vis de craintes de lebelge2 (qui s'y connaît) ; j'ai regardé la doc , elle touffue , donc je n'ai pas pu avoir de certitude de ce point de vue ; toutefois , si ça fonctionne , ce serait en effet un bon plan malgré le prix , car ça nous enlève une épine du pied avec de + une empreinte minimale

81
Vos projets / Re : Décodeur de locomotive multifonctions
« le: novembre 29, 2023, 05:53:51 pm »
- pour le dc/dc et les mosfets , comment font les fabricants de décodeurs ?
- il n'y a pas besoin de Rx ; le Tx sert au railcom , mais il faut peut-être y accéder pour le débogage : si tu as une place qui traîne pour une pastille ...
- pour l'emplacement des entrées et sorties , je dirais qu'il faut les mettre sur des pastilles , de manière à pouvoir migrer facilement vers un connecteur normalisé par la suite
- pour le DFPlayer , (à vérifier) , on peut prendre une des sorties AUX en software serial (je crois qu'il n'y a pas besoin de Rx) : voyons comment lebelge2 a procédé
- pour l'I2C pareil , on fera en software (je vérifie que ça existe) , donc 2 sorties AUX banalisées ; bien entendu , si les lignes I2C et le Tx alternate sont dispos en AUX , on pourra utiliser les périphériques SERIAL et I2C hardware
- enfin , à faire tant , on peut envisager une interface pour un power-pack maison , dont la conception (et la réalisation) pourra être allégée puisque piloté par le MCU du décodeur ...

82
Vos projets / Re : Décodeur de locomotive multifonctions
« le: novembre 28, 2023, 05:49:09 pm »
En effet c est une autre approche.

A voir ou se situe "l'optimum" et les compromis.
Par exemple sur le TINY1616 on aurait le PWM sur le Timer A, le décodage DCC sur le Timer B0 et le B1 pour millis()... le hic si on a besoin d un timer supplémentaire ( comme semble l indiquer Aiko dans les commentaires de la librairie) pour Railcom on est trop court ( ou pour d autres usages)
On doit alors monter vers un AVR en 28 ou 32 broches pour  disposer de ces ressources en plus. Donc selon le cahier des charges retenu on doit cibler le CPU.
nope : If TCD is used as the millis timer - which is the default on any part that has a type D timer (in order to keep the timers that are more readily repurposed available

En la matière pour du DIY la fabrication est industrielle donc il reste surtout la partie soft à injecter post assemblage à priori avec un ATMEL-ICE ou un "bricolage" pour transformer un nano en programmateur. ( la solution ATMEL ICE reste préférentielle mais elle coute déjà a elle seule le prix d un lockprogrammer ESU!). Cela réduit déjà un peu le champs de pratiquants prêt à suivre ( mais des commandes groupées sont possibles)
et re nan : j'ai fait mon téléverseur /déboggeur avec un convertisseur usb-série (que tout le monde a , auquel j'ai juste ajouté une diode , ce que tout le monde peut faire

Donc il faut déjà se chasser de l'esprit que DIY = cout faible. Sans chasser l'idée de contenir le prix de la réalisation il y a un ticket d entrée à assumer et un cout marginal à trouver. L amortissement ne peut se faire que sur un volume.
tu n'auras pas de volume sans avoir fait la démo du bon fonctionnement de quelque proto : après , tu pourras tout envisager , mais un prix contenu restera un avantage déterminant

Si on dresse la cahier des charges en quelques lignes on a:
encombrement max 16x30 mm
connecteur normalisé PLUX22 ou 21MTC
composants dispo en volume à prix modéré
pour l'instant , ne pas se focaliser sur ces connecteurs : le + de l'ouvrage de lebelge2 , c'est une connectique adhoc qui permet de raccorder un module son et des afficheurs LCD , on peut garder cette exigence
 
Egalement à "trancher" à ce stade:
support Railcom? c'est l'objet du topic
support ABC? pareil
support I2C/SUSI? voir ci-avant
compatibilité analogique? à ta guise
extension pilotage module son type DFPlayer? voir ci-avant
Autres... ...


Laurent

83
Vos projets / Re : Décodeur de locomotive multifonctions
« le: novembre 28, 2023, 12:21:07 pm »
oui , mais là tu pars dans une réalisation du type commercial , tu vas perdre tout le monde d'un forum DIY en route, et tu t'approcheras du prix d'un lokpilot en restant loin de ses performances et de sa fiabilité
pour être cohérent avec un soft gratuit , forcément basique même s'il est joliment écrit , il faut un hardware du même niveau
donc amha , regarder ce qu'il y a chez jlcpb (par exemple ATTINY1616-MNR) , et prendre un maximum de composants "basic"
alors au lieu de faire , comme tu as appris : schéma → PCB → BOM , faire BOM → PCB → schéma !

84
Vos projets / Re : Décodeur de locomotive multifonctions
« le: novembre 27, 2023, 08:34:03 pm »
Bonsoir

Intéressante mise en perspective des éléments.
Et merci pour cette contribution constructive. merci @ lebelge2

Quelques observations ( constructives )

Le
Schéma en mode pdf serait un plus notable
Notamment pour diagnostic des ponts de mesure sur le pcb par exemple
pareil : lebelge2 ?


Le railcom gagnerait à être fusionne avec la lib d aiko pour être efficient et portable. ( aiko indique ou ajouter les conditions pour y parvenir mais plus sûrement sur les AVR série 0 et AVR Dx et Megatiny qui disposent de la compatibilité avec les ressources  « évent »  et CCL)
à vue de nez , cela ne me paraît pas compliqué

Si Trimarco , bobynco  ou Thierry passent par la et qu ils se sentent inspirés … leur apport talentueux  à ce niveau serait topissime ! Mais tout autre talentueux développeur peut aussi contribuer!

Si j ai bien compris le sens des choses, le pilotage du pont en H sera verrouillé selon la polarité détectée en analogique et la tension au moteur sera alors proportionnelle à la tension appliquée sur l entrée du pont en H en sortie du pont de diodes. c'est la façon la + simple

On perd alors le bénéfice  du hachage PWM du moteur et du rendement ( supérieur ) qu il peut apporter  ( dont traitement BEMF)
Peut être l ajout d une lecture de tension en sortie  du pont de diodes et son exploitation peut améliorer les choses? ça risque de faire beaucoup de taf pour peu d’intérêt : qui se lancerait dans une réalisation en DiY d'un décodeur RC , ABC , son , I2C , pour finalement le faire tourner en analogique ?

Dans les deux cas de toute façon on a besoin que le cpu ( peu importe le modèle ) tourne pour exécuter le code .certes  8)
Ce qui exclu que cela fonctionne sous  6v an analogique en gros puisque c est le seuil de fonctionnement de la régulation de tension du montage
Il faudrait alors lire la plage 6-v25v ( a minima)( via pont diviseur ) et la convertir puis l’exploiter
Pourquoi 25 alors que nous n exploiterions que en gros 6-16v pareil : en diY , on doit pouvoir s'accomoder de cette limitation
Et bien parceque  c est le haut de la plage dcc et Qu en conséquences en mode d hybridation Dcc et analogique  on combine sur le plus contraignant.( donc la tension la plus haute succeptible d être percue)
Si maintenant on veut une plage plus étendue par sécurité histoire de mieux protéger l entrée du CPU plusieurs solutions: diode transil ou tvs et ou pont pour couvrir une plage plus généreuse

Inconvénient sur les impacts de la résolution.  la conversion qui n est pas via les ADC totalement linéaire et qui peut aussi garder un seuil trop bas qu il faudrait par tranche de tension coefficienter pour « booster » le niveau de sortie.

Je ne vois pas trop d’autres alternatives…

A vos avis donc!?

Je verrai toujours bien un nano every à la place du nano et de son 328p… on gagne tellement avec c est un peu dommage de s en priver.
amha l'idéal serait d'utiliser un mcu genre megatiny en UQFP 20 , avec juste 3 fils pour téléverser , et le rajouter sur la cate , tu peux faire ça , quite à passer en 4 couches et 0402 

Laurent

85
Vos projets / Re : Mise en place ABC
« le: novembre 13, 2023, 01:30:15 pm »
Bonjour ,
quels sont les moyens dont tu disposes pour réaliser cette électronique ?

86
Vos projets / Re : centrale DCC / analogique modulaire
« le: novembre 04, 2023, 10:50:19 am »
la ligne D0 est la synchro : une largeur d'impulsion de 10us indique que le prochain bit dcc est 1 , 20us si le prochain bit dcc est 0
j'ai illustré une impulsion de 10us , qui dicte au timer esclave d'envoyer un duty de 58us (le timer esclave n'a rien d'autre à faire)
on voit des alternances d'impulsions de 10 et 20us , commandant des alternances de bits dcc 1 et 0
quelque soit la largeur de l'impulsion , il faut que la synchro respecte la durée du bit dcc en cours
les lignes D1 et D2 sont les sorties d'un timer correspondant aux entrées IN1 et IN2 d'un pont en H : on voit que D2 est l'inverse de D1
pour le cutout c'est un peu moins simple :
une impulsion de synchro de 30us est envoyée lors du "packet end bit" ("stop" dans le chrono-diagramme) , cela indique au timer esclave que le prochain "bit" est le cutout
pendant le cutout , la ligne D1 prend un duty de 500us , et la ligne D2 de 29us , on a donc le moignon de bit dcc 1 qui précède le cutout proprement dit ; pendant le cutout (271us , normalement) , les 2 lignes sont à HIGH , ce qui provoque le brake du pont en H , nécessaire au cutout
puis les bits dcc suivants sont des 1 , comme indiqué par l'impulsion de synchro en début de cutout
.
les lignes D3 et D4 commandent un pont en H pour une voie analogique ; le sens est inversé (boucle de retournement , ou marche arrière) ; la ligne D3 est reste au niveau LOW (duty = 0) , tandis que la ligne D4 est en pwm inversé : le duty est d'environ 33% , sa valeur absolue change donc en fonction de la durée du bit dcc sur lequel il est synchronisé ; on voit que pour les 67% correspondant à l'absence de puissance , les 2 lignes sont à LOW , donc le pont en H est en sortie high Z (on pourrait utiliser ceci pour mesurer la fem du moteur , afin de réguler la vitesse , mais je ne l'ai pas prévu , par manque de pins au niveau du stm32)
.
au niveau de la création de la synchro , il y a donc une petite difficulté du fait qu'il faut anticiper : donner la largeur d'impulsion correspondant au prochain bit dcc , alors que le timing des impulsions correspondant au bit dcc en cours
le chantier de la centrale commandant les cartes boosters est vaste ; je vais peut-être pour créer la synchro , utiliser le rmt de l'esp32 de la-box / dcc-ex , on aurait une certaine convergence des systèmes ...

87
Vos projets / Re : centrale DCC / analogique modulaire
« le: novembre 04, 2023, 09:57:16 am »
(il serait peut-être bien de scinder la rubrique en "projets persos" et "projets officiels" , pour éviter les chassés-croisés)
j'ai fait sur stm32 la maquette d'un moteur qui génère les synchros en fonction des packets à envoyer , cela donne ceci

88
Vos projets / Re : centrale DCC / analogique modulaire
« le: octobre 19, 2023, 10:16:29 am »
bien sûr , on pourrait ajouter 1 tas de choses , mais c'est précisément ce que je ne veux pas faire

89
Vos projets / Re : centrale DCC / analogique modulaire
« le: octobre 18, 2023, 10:42:17 pm »
la limitation , c'est la détection en analogique , qui pour ne pas compliquer les choses , se fait sur le coupon de rail à la polarité négative , nécessairement à gauche dans le sens de circulation
les zones aux extrémités seront détectées par diode -> ADC ; pour la zone centrale , je ferai des tests pour déterminer si la mesure de consommation du pont en H donne satisfaction , du point de vue de la sensibilité ; il faudra aussi y mettre les diodes pour l'équilibre

90
Vos projets / Re : centrale DCC / analogique modulaire
« le: octobre 18, 2023, 03:20:40 pm »
(tout ceci reste à étudier en détail et à confirmer)
- le logiciel de gestion devra , pour l'analogique , indiquer quelles sections sont occupées (ou réservées) par quel train : ces infos qui sont typiquement délivrées pour renseigner un tableau optique
- pour la remontée des infos railcom , il est probable que les cartes cantons auront à faire un tri avant de les envoyer à la station
- concernant les types de cantons , sur les 5 que comportera chaque carte , il y aura :
3x cantons classiques avec une zone de détection centrale et une zone à chaque extrémité
1x canton en impasse avec une zone de détection centrale et une zone côté heurtoir
1x canton de transit avec juste une zone de détection centrale
(5 cantons classiques ne sont pas possibles car il manque des broches)

Pages: 1 ... 4 5 [6] 7 8 ... 21