mardi 29 mars 2016

le module blue

c'est le centre nerveux du système
- génère les signaux trk (format série 76923,n,9,0 généré par un timer) et les transmet au module yellow qui les amplifie
- reçoit du module yellow les mesures des tensions et du courant (dédié, format série sur 1 fil)
- maître du rs485 :
   interroge les modules red et black pour connaître les actions sur les manettes
   indique aux modules red et black l'allumage de leurs leds
   interroge le(s) modules(s) lap counter sur le passage des voitures
   fournit l'alimentation des modules red et black
- bluetooth avec le pc
(le fonctionnement des modules hc06/05 SPP-CA est concluant)
  transmet au pc le passage des voitures, ainsi que les infos de tension et de courant pour l'affichage
  reçoit du pc les configurations à respecter : numéro de voiture pour chaque manette
- utilise stm32F103C8T6 pour + de puissance, de connectivité, et de mémoire
- validé


le schéma :



















le pcb :
















photo :



samedi 12 mars 2016

les pcb pour feux

schéma et pcb validés

j'ai réalisé les pcb (par véhicule : avant et arrière) pour les voitures carréra évolution suivantes :
bmw z4 (remplace avantageusement l'original, trop fragile)
porsche 997 gt3
nissan gtr (pas validé)
ferrari 599xx
ferrari 458
mercedes amg gt3 (1er modèle)
mercedes class c dtm

audi A5 dtm (il semblerait qu'il y ait un souci de dimension, qui entraîne une fixation lâche, à voir)


le schéma :



















le pcb pour sls amg gt3 et f458 gt3 :
court circuit à éliminer lors de la séparation


































le pcb pour f599xx et p997 gt3 :






























j'ai également dessiné pour la nissan gtr et la bmw z4

les pcb pour feux et le décodeur dans la F 458 : en comparaison, l'original fait pâle figure au niveau de la qualité et de la solidité...

samedi 27 février 2016

le module switch

le module switch : 1 ou 2 switch
prévu pour être monté dans les aiguillages carréra simples ou doubles

pcb et soft validés (sauf partie du soft lap counter seul, sans objet dans ma configuration)

les 4 configurations possibles :
- switch (aiguillage) simple : stm32f030f4p6, une seule voie équipée
- switch double : stm32f030f4p6, 2 voies équipées
- switche double + lap counter (compte tours) :  nécessite un 2nd uart, obligeant le choix d'un mcu plus complet : stm32f042f6p6 ou stm32f070f6p6). Liaison rs485 avec connectique jst. Un petit pcb est réalisé pour interfacer le rs485 de jst vers rj/11/12 : voir article "les petits pcb".
- lap counter seul :  stm32f030f4p6, les fonctions switch(es) ou lap counter seul utilisent le même soft. La différentiation se fait par la présence ou non de la résistance r8. Le soft de la fonction lap counter seul n'est pas testé, donc pas validé

les connections des fils se font à plat sur le pcb (pas through hole), pour faciliter le câblage
la fonction anti-collision est implémentée (y compris , un rectangle détachable du pcb facilite la mise en place d'un photo-transistor sur l'autre voie. Il sert de support pour le composant ainsi que de gabarit pour le perçage
notons que carrera utilise des comparateurs pour traiter les signaux en provenance des phototransistors. Grace au schéma et au protocole que j'ai créé, c'est inutile ...


schéma:

















 top :













 bot :



le module yellow

le module yellow : 1/2 pont
2 mosfets canal P en boitier D2pak
acs712 current sensor
mesure de la tension de l'alim et de la tension à la voie

capacité de 20 ampères, pouvant être portée à 30 ampères




top :












bot :












photo :














le module red

le module red : extension pour 4 manettes carréra, via rs485
visualisation par led de l'état de la manette vis à vis de la fonction arrêt d'urgence
pcb et soft validés

le choix de la connectique s'est porté sur du 4p/4c (ou rj9/10/22) pour des raisons de compacité et de disponibilité. Les câbles des manettes carréra devront donc être remplacés. Attention de ne pas arracher les pastilles du pcb des manettes carrera, de mauvaise qualité
la connectique du réseau rs485 est 6p/6c (ou rj11/12)

numérotage des modules :
(les throtles (manettes) 1 et 2 sont gérés par le module blue)

module 1module 2module 3module 4module 5module 6module 7module 8
J1no10k10k10k10k4.7k2.2k1k
J210k1k2.2k4.7k10k10k10k10k
LED1LED2LED3LED4LED1 + LED2LED1 + LED3LED1 + LED4LED1 + 2 + 3
throtle3,4,5,67,8,9,1011,12,13,1415,16,17,1819,20,21,2223,24,25,2627,28,29,3031

schéma:


top :












 
bot :












photo :


les décodeur scalextric et scx

le décodeur scalextric :

(dessin original avec stm32 non validé)
(version dpr dessinée, mais pas réalisée)

pcb utilisant un stm8s003f3p6 en boîtier ufqfpn20 3x3mm (stm8s003f3u6), ainsi qu'une cour de composants miniaturisés : résistances 0603, transistors sot-323(sc-70), mosfet d-pack double n+p
janvier 2017 : version stm8s003f4 validée (fonctionnement parfait)

scalextric version salon non dpr : une autre façon d'imaginer un pcb :













le dessin compact du cœur du décodeur permet de l'adapter à différentes formes de pcb, en fonction des contraintes de place et des connexions à assurer dans les différents véhicules

le décodeur scx :
ci-dessous un pcb fait sur mesure pour une seule voiture ! (l'option d'oshpark permettant une épaisseur de 0.8mm pour le support et 2oz pour le cuivre encourage bien des choses : j'ai payé 3€42 pour 3 pcb identiques, port compris)

la scx abarth 1000 berlina corsa tourne comme une horloge sur ma piste digitale, avec phares et feux stop fonctionnels, alors que scx ne peut pas la proposer en version digitale du fait de la grosseur de ses décodeurs et du peu de place dans le tout petit capot de l'engin, (ça ne rentre pas) ...
le pcb et le soft sont validés


la soudure de l'ufqfpn20 me donne quand-même des sueurs froide, vu ma méthode très artisanale ...

un petit mot sur le stm8s003f3p6: c'est le moins cher de la gamme des microcontrôleurs stm8S / stm8L (2.20€ les 10, port compris)
il est disponible en boîtier ufqfpn20, utilisé ici, et en tssop20
l’inconvénient, à part la difficulté de le souder (on n'a rien sans rien), est le nombre de réécritures en flash limité à 100 : c'est pour cela que j'utilise pour le développement un module à base de STM8S103F3P6, reprogrammable à l'envi, et ne coûtant gère plus de 0.50€ port compris ...
(avec le programmateur / débogueur st-link V2 à 1.5€, l'investissement est nul ...)
J'utilise gratuitement le compilateur de Cosmic, mais il faut demander une nouvelle clé tous les ans. Une alternative toute libre serait l'utilisation de SDCC.

Dans l'avenir je n'utiliserai plus que stm8s pour les décodeurs de véhicules, avantages :
- 5 volts, permet une meilleure commande des mosfets, moins de travail pour le régulateur de tension
- un seul fil (swim) nécessaire pour le téléversement (et le débogage), donc 3 fils pour la conection (avec le gnd et le +5v) au lieu de 4, cela permet de libérer de la place sur le pcb
- temps de setup beaucoup plus court après reset, en cas de perte de courant suite à un passage sur un aiguillage (interruption des "rails"). Le redémarrage de l'arm est long du fait de la complexité du setup,  il s'en suit un à-coup dans l'allure du véhicule, ce qui n'est pas perceptible avec le stm8s.
- un peu moins cher
Le 8 bits n'est pas mort !



la version scx gt fait l'objet d'un article dédié


 







vendredi 26 février 2016

le décodeur carréra

décodeur carréra :

soft validé, pcb validé en l'état
cependant cette version n'a pas d'avenir, si c'était à refaire, j'utiliserais un stm8s003f3p6, plus rapide à redémarrer après un reset

le schéma a été simplifié au maximum pour limiter le nombre, donc l'encombrement des composants
le mcu choisi est le stm32f030f4p6, qui anime aussi les modules red, black, switch et yellow

côté alim, un fusible est nécessaire compte tenu du courant devant être délivré dans un circuit sur lequel roulent des voitures en grand nombre : 20A dans mon cas. L'augmentation de la tension à 16v m'a conduit à placer une diode zener de 6v2 avant le régulateur 3v3, afin de lui éviter surtension et surchauffe
le transistor a1 a été choisi du type biased, car il intègre une résistance entre la base et le gnd, ce qui évite une commande intempestive par des parasites quand le mcu est en haute impédance (reset). Cela évite des désagréments du genre conduction simultanée et court-circuit des mosfets de puissance. Le fusible évite aussi les destructions




















top :




















bot :




















J'ai fait réaliser 20 décodeurs par elecrow en chine. Le prixde revient est d'environ 10€ pièce. Fait soi-même, c'est moins de 5€ pièce, mais c'est pas mal de travail

photos, bottom  :
















bon, j'ai mis un photo-transistor à la place de la photodiode dans la liste des composants ... il a fallu les remplacer

top :













le fusible n'est pas en place, je voulais tester différents modèles

une résistance n'est pas droite, cela fonctionne quand-même, mais il serait bien de revoir la forme du masque ou du pad, du-moins faire mieux les prochaines fois