Le microcontrôleur ATtiny45 (7)
Automatisme de passage à niveau
. Par : Christian
Vous répondez à :
bonjour Christian
problème avec le sketch commande PN avec ATTINY 45 ou 85
j’ai téléversé le programme publié a l’aide d’un UNO ( orginal je précise) comfiguré en programmeur,
le télversement est OK ,mais pas de fonctionnement du servo ,il fretille légèrement et c’est tout,la LED clignote
normalement, essaai avec 4 servos de marques différentes, y a t’il un bug dans le programme ?
merci por réponse et bonnes fètes
8 Messages
-
Le microcontrôleur ATtiny45 (7) 5 juin 2018 17:50, par Maire
BOnjour,
Je possède le passage à niveau de Faller actionné par un moteur CC de 12V
J’aimerai savoir s’il est possible d’adapter ce que vous nous proposé dans votre article à ce moteur.
Merci pour votre réponse
Bien à Vous
Daniel Maire-
Si vous remplacez le moteur CC par un servomoteur, c’est possible puisque vous retombez dans le cas de figure de l’article. Mais je suppose que vous n’envisagiez pas cela.
Aussi m’est-il assez difficile de répondre car je ne connais pas le PN Faller (est-ce bien un moteur lent ? a-t-il des interrupteurs de fin de course ? etc.)
l’ATtiny45 peut tout à fait commander un moteur à courant continu, mais pour cela, il ne délivre pas assez de courant et de plus il travaille en 5 V (ici votre moteur est en 12 V). De plus, il faut pouvoir commander le moteur dans les deux sens, ce qui suppose donc d’utiliser un petit circuit intégré appelé driver (exemple L298N, L293 ou autre). Des schémas de montage sont donnés sur le site Arduino. mais dans ce cas, il faut écrire un autre programme !
Personnellement, à votre place, je préfèrerais travailler avec un Arduino Uno et une carte shield comme l’Arduino Motor Shield. C’est ainsi que vous aurez le moins d’électronique à concevoir. Juste deux cartes à enficher l’une dans l’autre et un programme à écrire et relier le moteur et son alimentation au bornier de la carte Shield. Pour en savoir plus, je vous invite à lire cet article http://locoduino.org/spip.php?article213 . Vous trouverez également des descriptions sur le site d’Arduino concernant la mise en oeuvre de ce shield (c’est très simple).
-
-
Le microcontrôleur ATtiny45 (7) 24 décembre 2018 12:14, par guy Besseyre
bonjour Christian
problème avec le sketch commande PN avec ATTINY 45 ou 85
j’ai téléversé le programme publié a l’aide d’un UNO ( orginal je précise) comfiguré en programmeur,
le télversement est OK ,mais pas de fonctionnement du servo ,il fretille légèrement et c’est tout,la LED clignote
normalement, essaai avec 4 servos de marques différentes, y a t’il un bug dans le programme ?
merci por réponse et bonnes fètes-
Bonjour Guy,
Non, il n’y a pas de bug dans le programme comme en témoigne la vidéo de l’article qui montre bien le fonctionnement du PN.
D’après ce que vous écrivez, c’est peut-être la fréquence du signal qui n’est pas bonne (ce qui ferait frétiller les servos) et cela doit certainement venir de la fréquence de l’horloge interne au microcontrôleur qui n’a pas été réglée sur 8 MHz lors de l’écriture de la séquence d’initialisation. Les LED clignotent mais à quelle fréquence ?
Ce que vous pouvez essayer de faire, c’est de reprendre la procédure de programmation en suivant à la lettre tout ce que j’ai dit à ce sujet dans le deuxième article (notamment le choix de l’horloge interne à 8 MHz lors de l’écriture de la séquence d’initialisation). L’IDE accepterait un autre choix et ne générerait aucun message d’erreur (donc le téléversement est bon) mais le programme ne réagira pas selon le bon timing : la fréquence des LED n’est pas ce qu’elle devrait, et le signal de servo ne respecte plus la fréquence nécessaire pour faire fonctionner la mécanique.
Et bien évidemment, il faut vérifier le câblage car c’est vite fait de se brancher sur la broche d’à côté (exemple, le servo est alimenté mais ne reçoit aucun signal donc frétille) !
Cordialement.Christian
-
Bonsoir Christian
J’ai repris toute la procédure de programmation de l’ATTINY, et nouvel échec !!
en désespoir de cause j’ai essayé un autre attiny et là miracle ! ça marche !
après vérif : attiny défectueux sortie 3 HS
merci de votre aide
cordiales salutations
PS sur la base de ce sketch peut- ton commander 2 servos pour 2 éguilles avec leds de controle de position ?-
Content que cela fonctionne !
On peut tout à fait s’inspirer de ce programme pour commander deux aiguilles via deux servomoteurs, mais si on veut ajouter des LED de contrôle de position, j’ai bien peur que notre pauvre ATtiny45/85 n’ait pas assez de sorties. On peut alors utiliser l’ATtiny44/84 qui en a un peu plus.
Faisons le compte pour une aiguille. Il faut une sortie pour le signal de servo, une entrée si on utilise un interrupteur de commande d’aiguille ou bien deux entrées si on utilise des boutons poussoirs et enfin une sortie pour les deux LED de position (voire deux si on n’est pas astucieux). Dans le meilleur des cas, cela demande trois broches de µC donc six pour deux aiguilles, ce qui ne tient pas sur un seul ATtiny45/85 qui n’a que 5 E/S (la 6ème étant utilisée pour le RESET dans la programmation).
Attention : les LED de position donneront la position demandée et non la position réelle, mais c’est bien suffisant dans la plupart des cas. Il faut simplement en être conscient.
Cela permet de voir que le choix du µC doit être fait en fonction du projet qu’on veut réaliser. Mais si on veut multiplier le nombre d’aiguilles, pourquoi ne pas utiliser une carte Uno ou Nano qui sera plus facile à programmer et qui permet de commander plusieurs servos en même temps ? De plus, question prix, c’est même sans doute moins cher par aiguille commandée...-
Bonsoir Christian
merci pour ces conseils, en effet l’utilisation d’un UNO résoud le problème (j’utilise le NANO), mais ces modules sont trop gros pour mon application particulière, les attiny sont parfaits du fait de leur taille ;
donc il me faut :
1 inter
2 servos couplés en parallèle (2 aiguilles en bretelle)
2 leds (1 pour droit, 1 pour dévié)
soit 5 E/S
est-ce correct ?
d’autre part connaissez-vous ce module ,(voir lien)Voir en ligne : Guy Besseyre
-
NANO et UNO, c’est quasiment la même chose à part la taille et la présentation et un NANO n’est pas beaucoup plus gros qu’un ATtiny.
Votre nombre de sorties est correct, mais puisque vous utilisez un interrupteur (et non des boutons poussoirs), celui-ci donne déjà la position demandée et les LED ne sont alors que décoratives.
Vous pouvez aussi remplacer les deux servos par un seul (aiguilles de bretelle) et imaginer une transmission qui actionne les deux aiguilles à partir de ce seul servo.
Vous pouvez aussi gagner une E/S en câblant les deux LED sur cette E/S qui a deux états : donc suffisant pour allumer l’une ou l’autre des LED (décrit dans mon cours d’électronique en chargement libre sur ce site).
En fait, votre projet est tout à fait faisable et ce que je veux dire dans cette réponse est qu’on peut toujours simplifier un projet car plus un projet est simple et plus on arrivera au bout facilement. Et en plus, on peut économiser des E/S qui peuvent alors servir à d’autres choses.
Ces quelques réponses vous ont permis d’avancer et je vous propose maintenant d’ouvrir un fil dans le forum afin d’expliquer votre avancement et de trouver si nécessaire de l’aide. Mais je dis bien "si nécessaire" car vous vous débrouillez très bien. Et lorsque votre montage sera opérationnel, une petite vidéo serait la bienvenue histoire d’inciter d’autres lecteurs à faire de même.
Christian
-
-
-
-
-