Auteur Sujet: ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P  (Lu 13964 fois)

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Bonjour à tous

Je poursuis mes réalisations de barrettes d éclairage pour matériel avec décodeur de fonction intégré sur base d'un ATMEGA328p-AU au format TQFP. ( le petit carré de 10mmx10mm environ avec 32 pattes! Cela se soude bien avec le bon matos! Zen  :)

La réalisation est assez bien avancée et plusieurs prototypes sont en cours de qualification.

Là ou je pêche, comme toujours, c est sur le code à y glisser...

Je suis parvenu à mixer plusieurs éléments pour répondre à mon cahier des charges:


A/alim de régulation sans dégagement excessif de chaleur ( convertisseur DC/DC ou lineaire?)

B/ commande individuelle de 16 sorties avec:

C/ possibilité de générer un pseudo PWM pour moduler la luminosité

D/ rendre directionnel le sens d allumage (idéal pour des inversions feux rouges-blancs par exemple)[/li][/list]

E/ animatique pseudo aléatoire des sorties pré sélectionnées (activation des compartiments selon le trajet par exemple de facon autonome)

F/ doit pouvoir fonctionner en courant DC ordinaire ayant en memoire les sorties actives ou non

G/ 1 sortie pour le ACK (et donc la lecture des valeurs du décodeur) (d ou programmation/lecture possible)

H/ ICSP (pour mise a jour/injection du code)

I/ Composants SMD (0805 pour les condo, 0603 pour les résistances et Leds)

J/ Composants SMD pour les optocoupleurs et transistors, quartz,...[/li][/list]

K/ ...

Je me suis basé sur le code de Geoff BUNZA et ses fameux décodeurs SMA. (SMA17 Ftn 01 et SMA17 Ftn 06...) Base bibliothèque NMRA DCC.

J'ai trouve une version augmentée en fonctions ( ack+mode aléatoire) mais sans la sens directionnel sélectionnable ni l affectation (selection) de sorties données pour le mode aléatoire.

La syntaxe est assez poussée ( trop pour moi! HELP!!)

Dominique doit y jeter un œil plus poussé des qu'il aura un moment mais si d autres se sentent "inspirés" nous pouvons co-construire ce code qui sera portable à tout autre réalisation pour laquelle je publierai alors les schémas complets.

L idéal serait de mixer les deux fichiers fournis et de compléter... Dans ce qu ils offrent de plus riche.

Il ne manquerait plus alors qu'une fonction avec 2 états de puissances différentes d'éclairage pour des feux ( croisement/pleinne ligne) pour parfaire le chef d oeuvre!

Par ailleurs quelques remarques sur le code NEW_FUNCTION_DECODER_V2.0_OK_avec_led_dir_variable_34_39_44_etc

il fonctionne bien  8) 8) 8)
Cependant dans certains cas (coupure et re alimentation) les leds ne se réalument pas forcement comme elles le devraient et il faut re activer des sorties "hautes" des fonctions superieures à 8.
(ex activer 15 OFF/ON pour que 14 et 15 se réactivent)
Je ne sais pas d ou vient ce "phenomene" exotique?! A vos avis!!

Une piste pour pallier cela me parait être de stocker que dans l eeprom l état et de n appliquer qu'en cas de modification les allumages/extinctions... mais je me posais la question de savoir si ce n est pas déjà fait dans le code initial ou s il y a juste une initialisation via lecture CV...

Donc si vous vous sentez inspirés pour m assister sur ce beau projet... votre aide sera la bienvenue.

D avance merci

Ci joint les fichiers des codes cités.
PS je vais compléter par quelques photos

Amitiés
Laurent


laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #1 le: juillet 16, 2020, 12:50:39 am »
Quelques vues des barrettes

RECTO VERSO


SOUDURE TQFP

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #2 le: juillet 16, 2020, 12:52:45 am »
Les barrettes en situation


laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #3 le: août 22, 2020, 10:09:04 pm »
Bonsoir
Chemin faisant cela progresse aussi de ce côté ci comme l illustre la photo ci dessous

Là lecture des CV et leur modification fonctionne bien depuis la DR5000

Encore quelques peaufinements à régler sur le code et tout sera tip top!

Une publication plus globale peut être envisagée si la demande est exprimée ...

Ltr

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #4 le: septembre 26, 2020, 01:39:26 am »
Bonsoir

Projet bouclé coté soft pour:
16 sorties gérées
F0 pour in ALL ON
F1 dedié aux feux d extrémité (rouges) selon le sens de marche. (sauf si restriction hardware*)
Fonction de bascule entre deux sorties possible (type F0f/F0r
Affectation possible de F2 à F28 des différentes sorties
PWM sur chaque sortie réglable individuellement
Direction sensitive individuel de chaque sortie (sortie active soit rien, soit vers l avant exclusivement , soit à l arriéré exclusivement soit dans les deux sens)
Intégration du bit 1 de la CV29 pour l inversion global de direction ( si nécessaire)
Affectation de la fonction ALL ON libre ( sauf si restriction hardware*) par parametrage de CV
Fading et Brightening commun pour allumage extinction progressive et symétrique. ( les deux valeurs sont confondues)

Il resterait idéalement à intégrer un monde Random sur une selection de sorties determniees mais mon codage ne le permet pas de maniérè simple dans un premier temps...
Il me faudrait re écrire la syntaxe des fonctions utilisées pour croiser différemment et plus de paramètres à la fois... faisable mais surement long...

Ceci restera en suspend pour le moment et ne sera pleinement intégrable/ intégrée qu'avec une réécriture et une simplification du code de certaines sous parties car actuellement prés de 6700 lignes (commentaires inclus!)

Dans la même ligne d évolution gérer plusieurs niveaux de sortie d intensité lumineuse pour une même sortie...

Mais quelle joie d être (enfin) parvenu a ce stade de réalisation!!! :)

Je tiens à remercier très chaleureusement Dominique pour ses recommandations qui m ont été bien utiles ( intégration de lightdimmer, utilisation des "objets"...)

Topissime



Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3039
  • 100% Arduino et N
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #5 le: septembre 26, 2020, 09:07:08 am »
Un grand bravo à Laurent  ;D ;D ;D

Le développement de décodeurs de fonctions, côté machine ou voiture/wagon est plus rare que du côté des accessoires de voie. Elle intéresse évidemment les grandes échelles mais Laurent nous montre que la miniaturisation est possible.

De plus, Laurent nous montre la richesse des possibilités tout en tirant partie de la bibliothèque NMRADCC en combinaison avec quelques autres de Locoduino (surtout de Jean-Luc avec Lightdimmer).

A rapprocher maintenant de ces réalisations de modules pour vous lancer dans cette voie aussi par vous-même.
http://forum.locoduino.org/index.php?topic=805.0

Merci Laurent !
Cordialement,
Dominique

gm93

  • Newbie
  • *
  • Messages: 2
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #6 le: mai 27, 2021, 10:45:56 pm »
Bonjour !
je trouve le projet de cette barrette DCC très intéressante !
J'en avais eu notamment l'idée en voyant à l'époque l'article de ptitrain sur un éclairage pseudo aléatoire par pic.
je projetait la réalisation de tel barrette mais j'ai encore jamais soudé de CMS, donc ça me rebute encore un peu.

J'ai du coup des question pratique sur la barrette présenté,
es que la longueur est fixe et les ecartement entre les led aussi ?
J'avais fait des relevé sur mes voitures que j’envisageai d’équipée, des métallisé Est Roco et des OCEM Jouef, et ces 2 valeurs variait.
Je sais que notamment les barrettes du commerce se base sur des morceau sécable pour le problème des longueur.

AmadeusHF

  • Full Member
  • ***
  • Messages: 205
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #7 le: mai 28, 2021, 01:46:33 pm »
Plusieurs éléments de réponse à vos questions....

Les produits commerciaux actuellement disponibles sont pour certains, effectivement, sécables. En revanche ils ne sont pas adaptés de façon optimale aux véhicules que vous pourriez équiper. En particulier, il gère l'éclairage par "zone" (ou "groupe" selon le terme) sur la surface du wagon. En général on trouve 3 voire 4 groupes, donc la barette éclaire "en gros" un tiers ou un quart du wagon de façon unique.

La rampe d'éclairage de Laurent, dans la version présentée ci-avant utilise un PCB propre à chaque modèle de wagon, optimisé pour celui-ci et positionnant un point d'éclairage indépendant sur chaque compartiment (wc / plate-forme) et 3 points d'éclairage sur la zone couloir. Elle gère aussi les feux de fin de convois avec différenciation du sens de marche.

Sur les plans proposés à l'époque, Laurent disposait de deux PCB : l'un pour les CORAIL (Roco en particulier) et l'autre pour la plupart des OCEM du marché (REE, LS, R37 notamment). Tout ceci était à l'état de prototype.

Attention à la question de la hauteur disponible sous toiture. Dans les véhicules de qualité on dispose de peu de place pour insérer un PCB. Les prototypes que j'ai utilisent du 0.8 d'épaisseur en deux couches et il n'est pas envisageable d'avoir autre chose que du CMS...et du petit !

Sur les modèles de véhicules avec le toit très "plat" (métallisées notamment ...?) cela peut être plus compliqué que sur une Corail ou une OCEM genre DEV ou autre, ou le toit est plus bombé.

Coté logiciel, le soft de l'époque a été abandonné et j'ai repris le projet avec Laurent.

L'utilisation de la lib NMRADCC a été finalement rejetée. Des tests intensifs de la lib ont montré que, de par son architecture, elle n'était pas en mesure de traiter efficacement le flux d'un bus DCC très chargé sur un 328P cadendé à 16 Mhz (Arduino typique). Cela est du à la fois à quelques bugs qu'on aurait pu corriger, mais surtout à un défaut de conception majeur qui fait qu'on a rejeté l'option : il aurait fallu de toute façon revoir intégralement l'architecture de traitement du signal et, quitte à devoir tout reprendre, nous avons choisi de repartir d'un projet vierge. Le code correspondant sera prochainement rendu accessible via la lib DccToolkit qui, en plus de la génération de signal DCC proposera donc le décodage de celui-ci et un socle robuste pour la construction de décodeurs, en Open Source (licence LGPL).

Laurent a également fait évoluer son projet sur le plan électronique de son coté. Sans en dire plus pour le moment, je peux simplement vous annoncer que la rampe d'éclairage "finale" sera très prochainement disponible commercialement. Je peux vous confirmer la présence de 16 canaux d'éclairage indépendants et configurables, avec des effets lumineux tels que allumage tube fluo, simulation de pannes, etc...et bien entendu la gestion des feux de fin de convois.
Sébastien.
La perfection est un chemin, non un but...

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #8 le: juin 13, 2021, 12:21:50 am »
Bonsoir à tous

Nous travaillons dure à la mise au points avancee de nos derniers prototypes et serons à même de vous offrir du “costaud” plutôt disruptif et éprouvé!

Comme dit précédemment il faut des pcb spécifiques à des familles de véhicules intégrant les différents diagrammes des modèles.
Nous en avons identifiées plusieurs. Nous comptons ensuite sur vous pour nous signaler les familles à privilégier pour développer les gammes.
Parmi ceux identifies nous en possédons et pouvons travailler avec directement.
D autres sont plus ciblés.
Nous serons en capacité de présenter plusieurs modèles rapidement.

Par ailleurs et spécialement pour nos amis Nistes je travaille actuellement sur une version de barrette de 9mm de large pas plus epaisse de 2,6...
Mais j ignore encore si cela tentera des amateurs et sera facilement intégrable dans des chaudrons voyageur à cette échelle...
Merci de nous faire part de vos observations constructives en la matière.

Laurent

laurentr

  • Hero Member
  • *****
  • Messages: 648
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #9 le: janvier 08, 2023, 10:44:01 pm »
Bonjour et très bonne année à tous

Apres une longue période qui m'a privé du plaisir d'avancer sur ce sujet j ai repris mes travaux :)

La suite en 2023 donc!




chris_bzg

  • Sr. Member
  • ****
  • Messages: 319
    • Voir le profil
Re : ULTIME BARRETTE: decodeur de fonction intégré sur base ATMEGA328P
« Réponse #10 le: janvier 09, 2023, 10:07:10 am »
Bonjour Laurent,
Bonne année à toi aussi et bon courage pour la suite de ton projet.
Au plaisir de te revoir lors d'une prochaine manifestation de train miniature.
Christian