Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

CHRONO AGILITY

système de chronométrage au 1/100 de s
liaisons radio et affichage grand format


 L'agility est un sport canin consistant à faire courir un chien sur un parcours truffé d'obstacles en tout genre. Les chiens sont de toute race et classés en trois catégories suivant leur taille.
Le temps est chronométré entre une porte de départ et une porte d'arrivée. Ces portes sont des obstacles que les chiens doivent sauter.

Mike, a proposé sur le forum picaxe francophone de réaliser un système de chronométrage automatique. Cette page est le résumé de la longue discission
qui a abouti à la réalisation finale et que vous pouvez suivre ICI.

Le cahier des charges:
Détection du passage des chiens dans les portes "départ" et "arrivée".
Les portes ont une alimentation autonome, elles commandent par liaisons sans fils un chronomètre central.
Le poste central et chaque porte disposent des commandes de gestion du chrono: top départ, top arrivée et RAZ.
Le chronométrage a une résolution au 1/100 de s.
Le temps est affiché sur le poste central et déporté vers un afficheur 5 digits de 10 cm de haut, visible en extérieur à une distance d'une dizaine de mètres minimum. Cet afficheur a évoluer vers des chiffres de 20 cm de haut, plus lumineux.
Le budget fixé pour la réalisation est d'environ 400 euros pour le total.
On trouve dans le commerce des systèmes équivalents à plusieurs milliers d'euros, sans l'afficheur grand format, bien sûr.
Un kit complet téléchargeable du système proposé ci-desous (typons, schémas, programmes basic, etc) est maintenant  disponible dans cette page.


 
Les portes "Départ" et "Arrivée":
Elles sont constituées de deux montants en aluminium supportant trois cellules de détection composées d'un détecteur IR TSOP d'un côté et d'une diode émettrice de l'autre.
Les capteurs tsop ne sont pas destinés à cet usage, ils sont plutôt utilisés pour la transmission de codes pulsés et leur sensibilité est alors maximum.
Ici, ils recoivent un signal continu modulé à leur fréquence d'utilisation de 38kHz, ce signal continu est considéré par le tsop comme un signal parasite et le CAG interne diminue la sensibilité du capteur.
Du côté émetteur, les diodes sont placées derrière une lentille de grossissement 15, ce qui constitue un projecteur IR, à une distance de 1,5 m, le rayonnement est concentré sur un disque d'une dizaine de cm de diamètre. Cette concentration compense la sensibilité réduite du tsop.

 

Une des barrières confectionnée par Mike, il suffit de quelques minutes pour les placer et les régler, des diodes vertes signalent le bon alignement de chaque faisceau.
Toute l'électronique, batterie comprise, est placée dans deux boitiers aux pieds des montants, reliés par un petit câble invisible dans l'herbe.
Un flash placé en haut de barrière signalera le passage du chien, ou un défaut, si il n'y a pas de chien.
En plus des barrières, vous remarquerez l'oeil attentif du chien et la mine réjouie du maitre.

Le schéma:

 

Le picaxe 14M2 génère en tâche de fond un signal à 38kHz (ou 36kHz suivant le modèle de tsop choisi), un petit câble 2 fils alimente le côté leds IR, avec des leds témoins vertes et les R de limitation. De l'autre côté, les boitiers tsop sont fixés face aux leds IR, une led verte signale que le module est éclairé par la led IR correspondante.
Les deux barrières sont différenciées par la position d'un interrupteur:
Sur "Départ", la coupure du faisceau envoie un top "Départ", le poussoir "Alternat" envoie alors un top "Arrivée".
Si l'interrupteur est sur Arrivée, c'est l'inverse.
Le poussoir RAZ envoie toujours un top RAZ.
Le chono peut donc être entièrement contrôlé à partir d'une barrière ou du poste central.

Un feu rouge ou orange placé en haut du poteau signalera la coupure d'au moins un des trois faisceaux pendant une durée de 500ms. Le module émetteur est alimenté en même temps, le signal est envoyé 100 ms après le début d'allumage du flash.
Choix de la batterie:
Le module émetteur fonctionne dans la gamme de tension 3 à 12 V, la portée dépend de cette tension  (datasheet).
J'ai choisi une bonne vielle batterie au plomb de 6V et 4,5Ah. moins chère et plus robuste que les nouvelles technologies. Pour alimenter le µC (5,5 V max) par une batterie bien chargée à 7 V, la protection par diode zener était une solution simple et la perte d'énergie acceptable.
La batterie plomb de 6 V 4,5 Ah donne une autonomie couvrant largement une journée de concours (10h au premier essai).

 Exemple de réalisation d
u boitier barrière, vue en coupe et de dessus:
 
 

Le code:


Commentaire:
On peut décomposer ce programme en trois parties:

 
1 - L'initialisation
#picaxe : filtre les commandes valides pour le µC utilisé
dirsB : détermine les broches B en entrées ou sorties
symbol : nomme les broches et variables utilisées
pullup : active les résistances de pullup sur les broches désignées
pwmout : active le signal pwm à 38MHz sur la broche B.4
setint : active une interruption sur l'une OU l'autre des broches C.0, C.1 ou C.2
2 - La boucle principale Do ...Loop
Surveille les poussoirs RAZ et "poussoir" (poussoir alternative)
Le poussoir RAZ envoie une commande de remise à 0 au chronomètre.
Le second poussoir est l'alternate, envoie un top "départ" sur une barrière "arrivée" et inversement.
3 - Le sous programme d'interruption
Un signal sur une des broches C.0 .C.1 ou C.2 provoque une interruption et envoie un top suivant la position de l'inverseur Départ- Arrivée.
Les envois sont doublés par sécurité.
 
La console chronomètre
 
Pièce centrale, elle reçoit les codes émis par les barrières, gère le chonomètre avec affichage local et affichage extérieur.
Composé de deux picaxes, un 14M2 pour la réception des codes et un 28X2 pour les autres fonctions.

Le schéma:
Le schéma ci dessous a évoluer en fonction des choix du panneau d'affichage grand format:
A l'origine, les circuits ULN 2803 et UDN2981 alimentaient directement des tronçons de rubans de leds de 5 cm, multiplexés, piloté par le µC. Verdict: pas assez lumineux en plein soleil.
Essai avec des CD4543, remplacement du multiplexage des alimentations par l'utilisation de la fonction "latch". Verdict: pas assez grand.
Construction d'un afficheur plus grand et plus puissant, chiffres de 20 cm de haut.
L'architecture adoptée au départ a permis cette évolution en douceur.


 
 
Le poste central regroupe plusieurs fonctions:
  • Réception des signaux barrières "Départ" et "Arrivée", par un module RX, superréaction ou superhétérodyne. Un picaxe 14M2 est chargé d'attendre les signaux barrière et de les décoder, avec visualisation de ces signaux par troix leds. Aux essais, le superhétérodyne a démontré sa supériorité
  • Un picaxe 28X2, remplit les fonctions de chronomètre, résolution de 1/100 de seconde (ne pas confondre avec la précision), affichage sur un LCD oled série et gestion de l'afficheur externe.
  • La mise à niveaux pour l'afficheur externe est assurée par deux drivers: Un UDN2981 pour transmettre le code BCD aux CD4543 et un ULN2803 pour l'envoi du pulse LD sur le digit concerné par ce code.
 
L'alimentation est fournie par un bloc secteur réglable en tension (12 à 24 V), la partie chronomètre et affichage local est sauvegardée par piles ou batteries pour ne rien perdre (sauf l'afficheur grand format) en cas de coupure secteur.
 
Le code 14M2

  Commentaires:
On commence par nommer les broches et les variables utilisées.
Inputtype modifie les seuils de définition 0 et 1 , mieux adapté aux signaux bruités du récepteur.
Dans la boucle Do Loop, la commande rfin attend un signal. Lorsque un signal est reçu, il est décodé par rfin le top correspondant est transmis au 28M2.
Ces "top" sont transmis sous la forme d'un créneau de 0,5 s, sur trois sorties distinctes: "Départ", "Arrivée" et "RAZ", avec allumage d'un voyant de signalisation.


Le code 28X2:


 

 
Commentaire:
Il y a encore trois parties distingtes:
1 - Initialisation:
Le programme commence par le réglage de la fréquence horloge à 16MHz.
dirsA et dirsB pour la définition des broches en sorties.
hsersetup est le réglage de la sortie série hardware pour l'afficheur LCD.
Les lignes "symbol" pour nommer les broches et les variables utilisées.
calibfreq sert à calibrer l'hologe interne, il n'y a pas de quartz, ici, un test sur 10 mn n'a pas donné d'écart mesurable, la ligne est restée en commentaire.
settimer règle le timer pour une incrémentation tous les 1/100 de seconde. La variable val contient le temps en centièmes de seconde (max 65535).
Après une petite pause, affichage de "CHRONO AGILITY" sur la première ligne du LCD
2 - La boucle principale:
Se décompose en une cascade de trois boucles secondaires:
 - La première affiche 00000 tant que le top "Départ" n'est pas reçu.
 - La seconde affiche la temps écoulé tant que le top "Arrivée" n'est pas reçu.
 - La troisième bloque l'affichage tant que le signal "RAZ" n'est pas reçus, mais si un top "Départ" arrive (créneau calibré de 0,5 s), il déclenche le programme jusqu'à la seconde boucle. Ce qui permet d'enchainer les passages automatiquement, sans RAZ manuelle.
3 - Sous programme affichage
bintoascii décompose la variable val en chiffres codés ascii pour le LCD
chaque chiffre est ensuite traité ( code BCD pour les drivers CD4543)  pour l'affichage grand format.


Le pack de téléchargement des typons (plus quelques photos) est ICI
 

Voir la suite page 2, afficheur grand format




Créer un site
Créer un site