Piloter un servomoteur avec un NE555

Bonjour à tous,

Je cherche une âme charitable qui pourrait m’aider à résoudre mon problème : je souhaite commander un servomoteur numérique par le biais d’un NE555. Après avoir fait des essais avec mon générateur je sais exactement ce que je dois obtenir. Lorsque le servo est branché sur le générateur ça fonctionne parfaitement.

J’ai essayé une multitude de montages trouvés sur le net mais le résultat n’est pas très satisfaisant. même en mettant des résistances variables pour trouver les bonnes valeurs, le servo n’atteint jamais les positions maximums ou cafouille.
Avec les formules théoriques données, je ne sais pas quelles valeurs de départ prendre.
Merci d’avance !

Je réponds à côté, mais c’est typiquement le genre de chose que je ferais avec un microcontrôleur (PIC12 par exemple), c’est trivial quand on sait programmer et ce sera infiniment plus fiable.
PIC12F1571 : moins de 1€
Programmer l’horloge interne et le PWM pour que ce dernier fonctionne par exemple à 1MHz (résolution 1us dans ce cas).
Programmer le registre PWPR à 19999 pour avoir une période de 20ms (50Hz)
Programmer le registre PWPH à 0 (phase)
Programmer le registre PWDC à 419 ou 2619 pour 420us ou 2,62ms
Le soft ne change la valeur de ce dernier registre que sur une entrée au choix. Le reste du temps, rien à faire. Donc juste quelques lignes de code.
La solution du double 555 doit fonctionner, avec un peu plus de composants (câblage plus long aussi), moins de stabilité, plus cher. Mais plus dans l’esprit retro !

Bonjour,

Un NE555 est de toutes façon inadapté pour cet usage ( notamment au niveaux des rapports cycliques ) et il faudra donc abandonner cette piste (ça marchouillera mais ne marchera pas bien quoiqu’on fasse )

mais, au juste, c’est un servomoteur « de quoi » ? de quelle époque ? et de quelle technologie ?
(Déjà on ne sais pas si c’est un servo de modélisme, ou pour usage industriel …Et ensuite , même en s’en tenant qu’aux servo de modélisme , il y a eu un peu de tout, entre l’époque des vieux « Bellamatic » et des récepteurs analogiques, et les techniques actuelles, tout numérique, et programmable …Et ce qui marche bien avec certains modèles pourrais marcher très mal avec d’autres )

Numérique, modélisme type Arduino en 5 volts.

Voilà qui est concis !
Ca fait du bien. Juste parfait. :wink:

image
la frequence varie ? ou juste la largeur d’impulsion ?

La fréquence reste à 50 Hz.

faut utiliser un double 555
un pour generer le 50Hz ( si on veut du portable) sur piles
et un en monostable pour generer l’impulsion si elle est dans la gamme des 10µS a 1s
image

Merci pour cet abaque, ça me donne déjà des valeurs de départ.

C’est dans les notes d’application du 555

Effectivement, je viens de télécharger le document.

file:///C:/Users/philb/Downloads/ne555.pdf

bonjour,
j’ai trouvé ca

1 « J'aime »

Le terme « digital » pour ces servos est curieux. On pourrait s’attendre à ce qu’il faille les piloter avec le protocole S-BUS de FUBATA (qui permet de piloter un grand nombres de servos avec un seul fil de données, développé pour les applications de robots humanoïdes et autres). Mais en pratique ils ont un fonctionnement tout à fait standard.

cela fonctionne mais il est difficile avec ce montage simple de respecter rigoureusement la frequence des pulses
si le servo n’est pas chatouilleux sur la periode de repetition des impulsions 50Hz cela fonctionnera
il est difficile avec un seul timer 555 de faire varier le rapport cyclique sans toucher un peu a la frequence
mais c’est a essayer

Si on veut une variation continue (ou autre chose…) avec le microcontrôleur, on peut ajouter un potentiomètre sur une entrée analogique en utilisant le convertisseur analogique/numérique (ADC). Une liaison série ? On utilise l’UART… Tout est plus facile.

Il faudrait connaître la finalité de l’utilisation.
En fouillant dans les articles de Francis Thobois parus dans le HP, on doit bien trouver des idées si l’on veut absolument rester dans l’analogique vintage.

tu crois pas que tue est en train de proposer un marteau pilon pour ecraser une mouche ?
son servo est tout ce qu’il y a de plus analogique

Un marteau pilon ? Pas vraiment, un composant SO8 ou DIP8 et absolument rien d’autre (ou juste l’adaptation de la tension de sortie). Fonctionne du premier coup, fiable, moins cher, câblage plus simple et rapide. Modification plus facile. La première fois, il faut un peu plus de temps, mais après, c’est tout bénéfice. Et pas que pour cette application.
Le 555 n’a d’intérêt que pour l’aspect didactique. Et cela se défend parfaitement. Je propose juste une alternative plus moderne, c’est tout.
Ce que je suggère, c’est aussi de ne pas écumer le net pour trouver une solution toute faite, mais de la construire soi-même.

Bonjour,

J’ai bien essayé ce montage mais le résultat n’est pas satisfaisant. Le servo ne couvre pas les 180°.
Pour comprendre, j’ai décidé de vous présenter mon bidouillage :
Je remis en fonction mon vieil ordinateur Amstrad qui dormait au grenier depuis des années. A l’aide des infos glanées ici même, j’ai réussi à faire le montage d’une interface qui fonctionne plutôt bien. Bien sûr, je fais la programmation en basic, certes c’est un peu lent mais le résultat est bon.

Je peux envoyer ou recevoir un mot de 8 bits soit 255 messages et retour, ce qui est largement suffisant.
Seul curiosité, la valeur 7 bloque le système mais ce n’est pas très grave, il suffit de ne pas l’utiliser sur 255.

Le résultat immédiat : je peux commander une palette de 8 relais, piloter 8 leds dans tous les sens, envoyer ou recevoir un message de 8 bits à l’ordinateur et je sais faire tourner un moteur pas à pas en générant succession de 1,2,4,8 en boucle. Il suffit de programmer 8,4,2,1 pour inverser le sens.
Maintenant la difficulté reste la commande du fameux servo numérique. D’où l’idée d’utiliser plusieurs valeurs de résistances commandées par les 8 relais.

Je pris quelques éléments d’Arduino mais pas question de me lancer dans cette nouvelle programmation du type UART. Le basic Amstrad me revient assez vite et cela me permet de rester dans des technologies plus anciennes qui me correspondent davantage.

La suite sera probablement un mécanisme avec plein de rouages qui ne servira certes à rien mais qui me permet de bidouiller et d’innover.

Les étapes :
Sortie de l’Amstrad du grenier, réparation du lecteur de disquette dont la courroie est cassée et remplacement du l’interrupteur M/A.


Branchement du port de sortie 50 broches avec prise et fils en nappe.

Construction de l’interface par soudure sur carte pastilles (d’où ma recherche d’outil à Wrapper pour la suite)

Construction et branchement des premiers périphériques.

Enfin, programmation de petites boucles de tests sur l’ordi et premiers essais faits au début en allumant un jeu de leds.

2 « J'aime »

il suffit de modifier les composants determinant la largeur max et min du pulse

mais comme je l’ai dit precedemment gerer frequence et largeur d’impulsion sur un seul 555 c’est delicat