Forums LR PRESSE

Où il est question de trains, petits et grands

  • Advertisement

Moteur pas-à-pas et pont tournant

Toutes les discussions sur l'Arduino !

Modérateur: MOD

Re: Moteur pas-à-pas et pont tournant

Publié: Dim 19 Jan 2014, 17:45 
jlb a écrit:Le relai d'inversion est là parce que le système de deux 1/2 anneaux inversant la tension mécaniquement et automatiquement est une vaste blague. Donc pour chaque position du pont aligné sur une voie, une polarité d'alimentation sera définie.

Pour ma version PIC, le contrôleur centrale définira la polarité.


Ce qui en fin de compte supprime la nécessité d'un module de retournement non ?
@+
Cordialement
JP
Avatar de l’utilisateur
Djpierre
Papotier
 
Messages: 135
Inscrit le: Sam 02 Juin 2007, 17:48
Localisation: Vaucluse
Âge: 61

Re: Moteur pas-à-pas et pont tournant

Publié: Dim 19 Jan 2014, 18:29 
En digital ?

Franchement, pour un pont en digital (ce qui sera mon cas), je ne me casserai pas le baigneur : aucun relais, aucune protection (faut juste pas se mettre à faire avancer la loco quand le pont tourne... en vrai y'en a qu'ont essayé, ça marche pas), et... un module de retournement qui rétablit tout seul la bonne polarité quand la machine passe du pont sur une voie (ou le contraire) lorsqu'il détecte le court-jus si c'est pas polarisé dans le bon sens au départ.
C'est justement fait pour ça, faut pas s'en passer !
.
Avatar de l’utilisateur
Roc
Promesse tenue
 
Messages: 21113
Inscrit le: Jeu 22 Fév 2007, 12:51
Localisation: Aude
Âge: 50
Prénom: Olivier
Club: Intermittent des Rigollots©

Re: Moteur pas-à-pas et pont tournant

Publié: Dim 19 Jan 2014, 20:38 
Pour réponde à DJpierre : Je ne suis pas en digital mais effectivement la gestion ne fait pas appel à un module de boucle de retournement

Pour répondre à Roc : une erreur est si vite arrivée :ange3:

Pour ma part, ayant une activité sureté de fonctionnement dans mon boulot, je pratique la politique de ceinture + bretelles. Model checking pour mon système + détection d'erreur + programmation défensive.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 679
Inscrit le: Jeu 04 Oct 2012, 15:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Moteur pas-à-pas et pont tournant

Publié: Dim 19 Jan 2014, 21:35 
Oui mais l'ennui, c'est que si tu est en digital-son, si tu coupes l'alim, tu coupes aussi le son et ensuite tu te retapes toute la procédure de démarrage.
Sauf avec une électrique pour laquelle on baisse le panto en réalité (et pour laquelle une séance de démarrage se réduit à la plus simple expression), ça ne fait pas très réaliste... :?
.
Avatar de l’utilisateur
Roc
Promesse tenue
 
Messages: 21113
Inscrit le: Jeu 22 Fév 2007, 12:51
Localisation: Aude
Âge: 50
Prénom: Olivier
Club: Intermittent des Rigollots©

Re: Moteur pas-à-pas et pont tournant

Publié: Lun 20 Jan 2014, 00:38 
Bonsoir,

Un rapide compte rendu des essais de la journée.

Premier point positif, pour la partie que j'ai testée, la carte fonctionne. La DRV8824 pilote le moteur pas-à-pas, les capteurs captent, les relais relayent.

Pour l'instant j'ai raccordé mon Uno au support prévu pour le Nano avec des fils.

La roue codeuse est en place.

Second point satisfaisant : le moteur ne rayonne pas sur l'électronique. J'avais peur qu'il perturbe les composants mais ce n'est pas le cas.

Au début les valeurs lues était quelque peu aberrantes. L'un des capteurs avait une broche mal soudée et la roue était trop éloignée car les vis de fixation du moteur pas-à-pas ont une hauteur de 2,6mm, 1,25mm de trop si je veux que les capteurs soient à 0,75mm de la roue (distance optimale d'après la datasheet). En les remplaçant par des vis à tête fraisées, j'ai pu descendre la roue à distance optimale.

Après réglage du 0, j'ai chargé un programme test qui avance de 128µPas, lit la valeur sur la roue, compare avec la valeur attendue, etc. Le programme a tourné pendant 4h.

- J'ai une erreur systématique sur le 0 qui est dû à une erreur de conception de la roue. En effet, le centre optique des capteurs n'est pas sur l'axe du composant. Par conséquent sur l'anneau interne des poids fort, c'est limite. Il faut que je modifie mon programme de génération de roue pour décaler les zones et les aligner avec le centre optique.

- Le toner de mon imprimante est faiblard et les noirs ne sont pas très noir :/

- Le zéro, quand le capteur est au-dessus d'une zone blanche, n'est pas très bon. Visiblement je me suis planté dans mon calcul de résistance de tirage. Plutôt que de changer les 7 résistances, je vais envoyer des impulsions de 40mA au lieu de 20 dans les LED IR (1 seule résistance à changer). La marge de bruit est donc faible.

Sinon, pendant les 4h de fonctionnement, à part mon 0 qui donne 64 (poids fort lu à 1), je n'ai eu que deux erreurs. Ce sont deux de trop que je vais m'employer à corriger en réalisant une seconde roue codeuse correctement faite.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 679
Inscrit le: Jeu 04 Oct 2012, 15:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 07:19 
Bonjour

jlb a écrit:- Le zéro, quand le capteur est au-dessus d'une zone blanche, n'est pas très bon. Visiblement je me suis planté dans mon calcul de résistance de tirage. Plutôt que de changer les 7 résistances, je vais envoyer des impulsions de 40mA au lieu de 20 dans les LED IR (1 seule résistance à changer). La marge de bruit est donc faible.


Rectification. Je me suis planté mais pas dans les résistances de tirage mais bien dans la résistance de limitation de courant. J'avais bêtement négligé une chute de tension de 1V dans la diode de protection de l'alimentation et calculé la résistance pour 12V. Du coup, je n'ai que 14mA dans les LED IR au lieu de 20. Je vais carrément mettre une résistance de 90Ω au lieu de 180Ω pour avoir un bon 25mA.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 679
Inscrit le: Jeu 04 Oct 2012, 15:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 07:27 
L'article est également disponible sur mon blog : http://modelleisenbahn.triskell.org/spip.php?article78

La carte de commande de pont tournant version Arduino

Comme indiqué dans « Une carte Arduino pour le pilotage du pont tournant », j'ai conçu deux cartes de pilotage du pont tournant. La première, qui est décrite ici, intègre un Arduino Nano et une DRV8824 et est destiné à une commande manuelle. Par manuelle, j'entends que l'utilisateur, après avoir programmé quelles sont les positions correspondant à une voie, utilise des poussoirs pour demander l'alignement avec la voie correspondante.

L'alimentation

La carte est alimentée en 12V continu. Le courant nécessaire ne dépasse pas les 500mA. On trouve facilement de petites alimentations industrielles à découpage pour une quinzaine d'Euros.

Cette tension passe par une diode de protection. Cette diode, une 1N4007, évite de détruire l'électronique par un branchement inversé de l'alimentation.

On trouve ensuite le schéma classique des composants autour du régulateur 7805 : deux condensateurs, un électrochimique de 470µF destiner à filtrer les basses fréquences et notamment le pic de la mise sous tension et un polyester de 100nF destiné à filtrer les hautes fréquences. Le 7805 lui même qui, à partir du 12V rectifié, fabrique le 5V d'alimentation de l'Arduino Nano et des LED témoin. Enfin, deux condensateurs en sortie, un électrochimique de 47µF pour le filtrage basse fréquence du 5V et l'autre de 100nF pour le filtrage haute fréquence.

On peut noter que sur le schéma, le boîtier du moteur pas-à-pas qui est fixé à la carte est relié à la masse pour constituer une cage de Faraday et limiter l'émission de rayonnement électromagnétique issu du moteur.

Image

La tension de 12V, rectifiée par la diode et appelée VMOT, sert directement pour l'alimentation moteur de la DRV8824, pour l'alimentation des bobines de 2 relais donc la fonction est décrite plus loin et pour l'alimentation des diodes IR des capteurs. Cette diode engendre une chute de tension de 1V. VMOT est donc de 11V et il faut en tenir compte. Ce n'est pas un problème pour les relais qui collent à partir de 9,6V maximum ou pour le moteur pas-à-pas car avec les courants employés, environ la moitié de ce que consomme le moteur sous 12V, il y a de la marge. Par contre, le calcul du courant dans les diodes IR doit être effectivement fait avec une alimentation de 11V.

L'intégration de la DRV8824

Le montage est repris de l'expérimentation sur {breadboard}. Les broches qui nous intéressent sont le RST (reset) qui permet d'initialiser la DRV8824 par programme, DIR qui permet de fixer la direction de rotation, STEP qui permet de franchir un micropas à chaque transition de l'état bas à l'état haut et FAULT qui permettra au programme de diagnostiquer un problème sur la DRV8824. SLP est fixé à 5V pour que la DRV8824 ne soit jamais endormie, EN est laissé en l'air pour la même raison. Les broches M0, M1 et M2 sont reliées à 5V via un DIP-switch. Ceci n'est pas très utile car le mode 32µPas sera toujours sélectionné mais j'avais des DIP-switch 3 interrupteurs en stock. Le rôle de chacune de ces broches est décrit plus précisément dans l'article sur de la DRV8824.

Image

L'intégration de l'Arduino Nano v3.0

L'Arduino Nano v3.0 est une des incarnations de la famille Arduino. Il est équipé du micro-contrôleur AT-Mega 328. Il s'agit en fait d'une breakout board de 30 broches permettant le montage sur une breadboard mais aussi sur un support. C'est donc un bon choix pour intégrer un Arduino sur une carte de votre conception. Le Nano dispose de 14 entrées/sorties numériques et de 8 entrées analogiques dont 6 peuvent être aussi utilisées en entrées/sorties numériques. Il dispose également d'une prise mini-USB pour le téléversement et la console. Il peut être alimenté via l'USB, via son entrée VIN et son régulateur intégré ou via l'entrée 5V (qui peut être une sortie si VIN est utilisé). J'ai choisi de l'alimenter via le 5V et de laisser VIN en l'air.

Image

TON et REVERSE sont les commandes des relais, STEP et DIR permettent de piloter le moteur pas-à-pas, RESET_DRV permet de faire une remise à 0 du DRV8824, FAULT permet de détecter d'éventuelles erreurs sur ce même DRV8824, ENABLE_C active les capteurs de positions, enfin, b0 à b6 sont les 6 bits lus des capteurs de position.

Les capteurs de position

Il s'agit du capteur OMRON EE-SY193 déjà présenté. Les LED IR des capteurs sont placés en série. La tension de seuil typique avec un courant de 25mA est d'environ 1,25V. 7 capteurs en série donne donc une tension de seuil totale de 8,75V. Par conséquent, sous 11V, la résistance de limitation du courant doit avoir une valeur de (11 - 8,75V) / 25mA = 90Ω.

Les LED IR des capteurs ne sont pas alimentées en permanence mais mises sous tension par programme. Ceci permet d'augmenter la durée de vie du capteur qui n'est utilisé que rarement (Si on considère qu'il faut moins d'une milliseconde pour lire les capteurs, que le temps minimum entre deux lectures est le temps nécessaire pour avancer de 128µPas, soit plus de 2,3s, les capteurs ne sont utilisés que 1/2300e du temps). À cet effet, un transistor NPN est mis en série avec les LED IR et sa base est attaquée par la sortie D8 de l'Arduino au travers d'un résistance de 10kΩ.

Les phototransistors sont montés en émetteur commun. L'émetteur est à la masse et le collecteur est tiré à 5V par une résistance de 3,3kΩ établissant un niveau haut au niveau du collecteur lorsque la surface en vis-à-vis du capteur est noire. Lorsque le phototransistor est passant de par la présence d'une surface blanche, le collecteur est au niveau bas.

Image

Les relais d'alimentation traction et d'inversion de marche

On se place dans le cas d'un réseau analogique. Par sécurité, on peut souhaiter couper l'alimentation traction lorsque le pont n'est pas aligné sur une des voies de sortie. À cet effet, un relai DPDT est intercalé entre l'alimentation du pont et l'alimentation traction. D'autre part, le pont peut aussi opérer une inversion de marche lors du passage d'une position à une autre. Un second relai DPDT permet de décider du sens de marche. Une inversion de marche mécanique est prévue sur le pont PECO NB-55 mais peut s'avérer peu pratique.

Image

La commande de ces relais est classique. Un transistor permet de commander le relai et une diode roue libre absorbe le courant résiduel de la bobine du relai. Les résistances 47kΩ assurent que le transistor reste bloqué à la mise sous tension alors que le micro-contrôleur ne pilote pas encore les bases des transistors.
Dernière édition par jlb le Jeu 23 Jan 2014, 09:38, édité 1 fois au total.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 679
Inscrit le: Jeu 04 Oct 2012, 15:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 07:36 
Deux questions:
-> quel programme de dessin utilises-tu ?
-> peut-on imaginer de remplacer BC547, 1N4007 et les résistances par un "morceau" de ULN2803 ?
Avatar de l’utilisateur
Ramboman
Disert
 
Messages: 423
Inscrit le: Lun 23 Oct 2006, 17:13
Localisation: Waterloo, Belgique
Âge: 74
Echelle pratiquée: LGB

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 07:58 
ramboman a écrit:Deux questions:
-> quel programme de dessin utilises-tu ?


C'est l'éditeur de schématique de Canari : http://canari.rts-software.org mais c'est pour Mac OS X seulement.

-> peut-on imaginer de remplacer BC547, 1N4007 et les résistances par un "morceau" de ULN2803 ?


Tout à fait

Dans mon cas les 3/4 de l'ULN sont inutilisés d'une part, et je n'avais pas la place de mettre un DIP 18 d'autre part. Et puis j'ai du stock de composants ce qui permet d'avoir de très bon tarifs. Un ULN coûte 37c alors que les résistances de 10kΩ m'ont coûté 0,2c (10000 en stock car c'est très utilisé), les 47kΩ 0,37c (1000 en stock) les BC 547C 1,4c (1000 en stock) et les diodes 1N4007 1c (100 en stock). Donc au total 6c :)

En fait je n'utilise d'ULN que lorsque la quasi totalité des drivers est utilisée et que la topologie de la carte s'y prête bien.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 679
Inscrit le: Jeu 04 Oct 2012, 15:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 08:12 
Dans ma grande paresse, j'essaie toujours d'utiliser le moins de composants possibles, même si c'est un peu plus cher :siffle:
Avatar de l’utilisateur
Ramboman
Disert
 
Messages: 423
Inscrit le: Lun 23 Oct 2006, 17:13
Localisation: Waterloo, Belgique
Âge: 74
Echelle pratiquée: LGB

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 09:51 
Arduino a écrit:
jlb a écrit:Il y a un dispositif prévu dans le pont PECO avec des frotteurs à ressort qui sont d'un côté en contact avec les rails et de l'autre en contact avec 2 pistes au fond de la fosse (sous le pont)


J'ai également ce pont PECO, mais je me demande si ce dispositif de frotteurs est très fiable à la longue. Peut-être vaudrait-il mieux amener le courant par des fils, et gérer dans le logiciel du pont, le fait de ne pas faire faire cinquante tours dans le même sens ! Ce n'est qu'une idée et tu y as peut-être déjà réfléchis :roll:


Je dirais même qu'il vaut mieux ne pas faire plus d'un tour dans le même sens. En effet, la longueur de fil nécessaire doit être stockée entre le pont et la fosse. Je doute qu'on puisse éviter le sac de nœuds au delà d'un tour.

Ça ne me semble pas jouable. Faisons confiance à PECO, les pièces fournies sont tournées en laiton, le frottement devrait éviter l'oxydation. Côté rail c'est juste en contact et je ne vois pas du tout comment faire une soudure (d'ailleurs ça serait aussi valable pour les fils). À moins d'utiliser le réseau dans une atmosphère particulièrement oxydante, ça ne devrait pas poser de problème je pense.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 679
Inscrit le: Jeu 04 Oct 2012, 15:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 14:01 
Pour le dessin des schémas et le tracé du circuit imprimé sous windows, il faut voir ICI, sinon pour plus complexe il y a bien CELUI-CI, gratuit aussi mais en Anglais.
Olivier
Ryzen5-V12 Turbo !
Avatar de l’utilisateur
ORION-PROTO87
Bibliothécaire du forum !
 
Messages: 1973
Inscrit le: Mer 14 Fév 2007, 19:24
Localisation: Lorgues 83
Âge: 59
Prénom: Olivier

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 14:15 
Pour l'instant, j'essaie Fritzing...
Avec Eagle j'ai du mal à retrouver les morceaux...
Avatar de l’utilisateur
Ramboman
Disert
 
Messages: 423
Inscrit le: Lun 23 Oct 2006, 17:13
Localisation: Waterloo, Belgique
Âge: 74
Echelle pratiquée: LGB

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 16:29 
Pour moi, Eagle est une véritable horreur ! :mort:

Je suis passé à DipTrace qui me plait bien.
.
Avatar de l’utilisateur
Roc
Promesse tenue
 
Messages: 21113
Inscrit le: Jeu 22 Fév 2007, 12:51
Localisation: Aude
Âge: 50
Prénom: Olivier
Club: Intermittent des Rigollots©

Re: Moteur pas-à-pas et pont tournant

Publié: Jeu 23 Jan 2014, 19:01 
Etant dans l'impossibilité de réactiver ma licence Layo1PCB, j'ai chargé Fritzing qui a l'air bien sympa, parle Français et tourne sous windows, macOS et linux. En plus il y a plein de tutos...
Merci ramboman :D
Olivier
Ryzen5-V12 Turbo !
Avatar de l’utilisateur
ORION-PROTO87
Bibliothécaire du forum !
 
Messages: 1973
Inscrit le: Mer 14 Fév 2007, 19:24
Localisation: Lorgues 83
Âge: 59
Prénom: Olivier

PrécédentSuivant

Retour vers Arduino

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 3 invité(s)