Sioc utiliser une carte STEPPERMOTOR pour faire un altimetre

mameloose

PILOTE DE BROUSSE
Messages
3 742
Réactions
2
Points
530
Bien le bonjour a tous !
encore un tuto de tonton Mameloose !
aujourd'hui une petite explication sur la carte stepper motor .
alors a quoi ca sert ?
ca controle des moteurs dit PAS a PAS ce qui veut dire que le moteur connait sa position a tout moment et permet precisement de faire bouger des aiguilles par exemple sur plusieurs tours ou bien encore un indicateur de cap ect ....

la carte se presente tel que ca :
USB_Stepper_SMD_grande.jpg


ou peut mettre 3 moteurs pas a pas ainsi que des capteurs de position et des potentiometres .....

pour les moteurs j'ai choisit au hasard des Bipolaires de ce modele la :

30 euros la bete quand meme mais c'est du solide ca sent la qualitée ....

durant mes premiers test je me suis vite rendu compte que pour un moteur bipolaire on a besoin d'un capteur de position pour que la carte reconnaisse le point zero de la position moteur .....

a mon grand regret je n'avais pas prevu ce coup la donc dans lurgence j'ai fabriqué un petit capteur fixé sur le moteur et a chaque passage du meplat de la tige la carte detecte 1 tour ainsi que la position zero !

a ma grande surprise ca fonctionne nickel bon chez vous il vaux mieux acheter le capteur optique qui va bien mais ma solution fonctionne .....





voila maintenant le capteur en place on jette un coup d'oeil au plan de cablage :



ok donc pour un moteur bipolaire il y a 4 fils !

je me suis retrouvé comme une poule devant une cuillère ! en faite il suffit de mesurer la resistance avec un multimetre pour voir quel fil correspond a sa bobine comme sur le shema et ne pas les mettre cote a cote sur la carte !

donc le moteur se cable sur lemplacement J6

pour le capteur du moteur 1 c'est lemplacement J9 !

voila jusque la pas très compliqué ....

ensuite il faut configurer notre moteur dans SIOC !

un ptit tour dans siocmonitor un double clique sur la carte stepper et on a ca :



alors tout d'abord les caracteristiques de mon moteur : il fait 1.8 degré par step (par acoup en gros) donc 360 degrès divisé par 1.8 ont obtient 200

donc j'ai un moteur qui fait 200 step

alors case SPD c'est la vitesse a laquelle il pourra tourner ; chez moi plus le chiffre est petit plus il va vite j'ai mis 6 c'est classique ....
ensuite Max 4 c'est le maximum de step par seconde opencockpit preconise entre 3 et 5 ....
puis les step donc j'ai calculé 200 je rentre 200!

bien maintenant un coup de INITIALIZE la le moteur va effectuer deux tour pour se calibrer et sarreter au point zero ....
si ce n'est pas le cas bah dommage pour vous ya un truc pas normal du genre le capteur ;)

si tout va bien on peut tester la course de son moteur !
j'ai remarqué après plusieurs essai que mon modele ne prend pas 360 degrès mais 36000 ! eh oui il faut multiplier par 100 donc si vous mettez 18000 puis SEND la tige fait un 180 degrès ect .....

voila assez joué avec les parametres on passe a SIOC !

Allez comme dhab j'ouvre un nouveau script EDIT ET NEW VAR



ici je declare une variable fsuipc de l'altitude

alors que dit cette variable dans le SDK ?
elle affiche l'altitude en pieds ; ca tombe bien c'est ce qui nous faut ....

puis on va declarer notre moteur maintenant :



voila les memes parametres vu plus haut

maintenant faire comprendre a la variable denvoyer le bon chiffre a notre moteur .
si on fait un lien direct ca ne va pas fonctionner forcement ca serai trop facile ....

le mieux reste de diviser la valeur de l'altitude par 1000 pour avoir un petit chiffre et de transformer ca en degrès pour notre stepper ....

NEWCOMMAND sur l'altitude :



la fonction MOD permet de diviser et de mettre le resultat dans LO une variable locale qui va garder notre valeur pour après ...

ensuite de nouveau NEWCOMMAND




voila une assignation pour dire que notre moteur est egale a LO multiplié par 36 ...
pourquoi 36 ? vous vous souvenez que le moteur fait 1 tour avec la valeur 36000 ?
et bien comme lalt est divisée par 1000 le resultat multiplié par 36 nous donne nos valeurs en degrès pour notre moteur tout simplement !


et voila c'est tout ! maintenant en prenant votre avion preferé et en lancant sioc vous verrez que le moteur suit exactement la position de l'aiguille de l'altitude ....
 
Alors là  chapeau !
Super le capteur !
Bravo !
 
Super ca,et en te lisant on sent que tes a fond.

Tuto plein denergie,merci ;)
 
merci oui le capteur c'est n'importe quoi mais ca marche super bien la video arrive ....
 
Rien à  dire ! C'est propre !

Comment expliques-tu les 2 tours pour linitialisation du passage à  0 ?

Je ne vois pas trop quelle est l'astuce ?
 
ah c'est sioc qui fait ca tout seul quand tu initialise il fait deux tour pour reperer le point zero et après c'est good ...
et si flight et deja lancé il fait ses deux tours et après il cale l'aiguille pile a l'endroit ou elle doit etre c'est vraiment sympathique
 
Ok pour SIOC qui fait faire 2 tours, mais alors, si on a un indicateur des milliers relié à  l'aiguille centrale, les deux tours pour trouver le 0, c'est pas génial ?
Je sais que tu nes pas concerné pour ton altimètre, tu n'as qu'une aiguille, mais ça peut être utile à  connaître !
 
ah oui je vois ce que tu veux dire !
peut etre que dans la variable init 0000 tu peux rajouter deux tours dans l'autre sens a linitialisation de sioc ?
comme ca il fait son calibrage puis dans la foulée deux tour inverse et il reprend l'altitude donnée par le jeu ....
 
Jsuis pas convaincu ? c'est pas pour cela que tu as la position zéro du second disque ou de la seconde aiguille ....

Je pense que c'est parfait pour une seule aiguille, ou un compas, ou un disque de VOR et autre instrument qui ne demande qu'un seul mouvement.

Sur lalti du simu pro, ils ont résolu le calage du zéro des 2 mouvements .... par la pose de 2 capteurs !

De ce fait, la FDbus moteur PAP aura 2 entrées pour 2 capteurs du zéro, il faudra peut être en prévoir 3 ?
j'ai récupérer un altimètre avec 3 plateaux !!!

Merci pour l'offset, j'ai vu que celui-ci variait avec le QNH !
Encore bravo pour le tuto !

Fabien
 
Super ton tuto !
Merci du partage, ça va me servir pour faire mon wet compass.

Stephane
 
Hello,

Quel type de capteur optique faudrait-il pour ce genre de moteur ?

Merci.
Stéphane
 
Je pense que j'ai trouvé, c'est ça ?

ar-interrupteur-optique-itr8102-19929.jpg


Heuu mais il manque pas quelque chose ? Comment ça sinstalle par rapport au moteur :/
Jsuis vraiment une brelle en électronique :(
 
Bonne question ! Comme j'ai pas testé je ne sais pas peut-être installer une bague sur l'axe avec un repère qui passe devant à  chaque tour....
Fab pourra ten dire plus...
Sur la carte en gros il faut que le contacte du capteur soit en permanence fermé donc passant sauf quand tu arrive au point zéro en gros quand le capteur detecte il faut que ça passe à  zéro.
 
Oui Greg, c'est bien cela.

Il te faut :
- Alimenter un côté de la fourche en 5v à  travers une résistance de 270ohms (c'est une LED)
- Brancher l'autre côté de la fourche entre la masse et une entrée (photo transistor)

ATTENTION il faut respecter la polarité des 4 broches, si tu as la référence de la fourche, tu dois trouver un dat'asheet.

Ensuite tu places un disque percé d'un trou ou un bras qui cachera la fente de la fourche selon le mode de focntionnement souhaité (positif ou négatif).

Je ne sais pas si le signal du passage à  0 doit être positif ou négatif ? Greg, ça se règle dans le soft OC ??

Ce que je peux affirmer, c'est que lorsque la fente est libre, que la lumière passe, la sortie est à  la masse

Fabien

PS. je viens de te relire Greg :
Sur la carte en gros il faut que le contacte du capteur soit en permanence fermé donc passant sauf quand tu arrive au point zéro en gros quand le capteur detecte il faut que ça passe à  zéro.

Donc j'en conclus qu'il te faut un bras qui cachera la fente lors du passage à  0
 
Oui mais les 3 pins sur la carte doivent gérer les deux solutions j'en utilise deux sur les trois pour le capteur je pense qu'avec l'autre ça doit être le contraire donc passant au point neutre et ouvert le reste du tour
 
Non, les 3 pins c'est pour le +5, GND et Out.
Sur leur schéma il ont un capteur avec 5 pins, pas 4.
Il faudrait retrouver ce qu'il préconise comme capteur dans la doc de la carte moteur.
 
Merci pour ces infos.
Je pensais prendre un Interrupteur optique ITR8102 et comme moteur un 17HS15-0404S

Vous pensez que ça ira ?
Est-ce qu'il faut mettre une résistance sur le capteur ? Quand je regarde la fiche c'est indiqué Input Reverse Voltage 5v
Mais juste en dessous ya un autre tabl'eau que je ne comprends pas trop.

C'est pour faire un compas

Merci de votre aide :)
 
le moteur c'est exactement le meme que moi .
pour le capteur broche 1 et 2 c'est ta led et 3 et 4 le recepteur
je pense que le tout devrait etre bon ....
 
Pour le capteur il faut bien mettre une résistance entre le 5v et la LED, de l'autre cote, ce capteur na pas de circuit amplificateur, d'où son prix dérisoire.

Je n'ai pas le schéma de la carte open cockpit pour te confirmer que cela fonctionnera.
Au pire il faudra ajouter une résistance de 10k de l'autre côté.

Sur mon module FDbus moteur, j'ai prévu cette résistance...

Tu peux le prendre, tu ne seras pas ruiné. Souhaites-tu que je te fasse un croquis ?

PS : "input reverse Voltage" veux dire que si tu dépasses 5v a l'envers sur la LED, c'est pas bien !
 
fab a dit:
Tu peux le prendre, tu ne seras pas ruiné. Souhaites-tu que je te fasse un croquis ?

Oui je vais m'en prendre 2 ou 3 pour le prix et au cas où.
Si tu as le temps oui je veux bien un petit schema.
Merci de ton aide.

Stephane
 
Bonjour à  tous,

Question bête, est-ce quau niveau du capteur optique on est censé voir une lumière ?
Je demande car j'ai reçu un compas basé sur un step motor et capteur optique, quand je fais un initialize au niveau sioc le moteur tourne bien mais ne sarrête jamais.
Je me demande si à  un moment je n'ai pas branché le connecteur du capteur optique dans le mauvais sens et que maintenant il est grillé. Est-ce que c'est possible ?
Comment savoir si la capteur est HS ?

Merci.
Stéphane
 
Oui, tu dois voir une lumière rouge, c'est rarement des LED IR ...

Un branchement "à  l'envers" n'est pas trop risqué, un branchement sans résistance, lest beaucoup plus.

Pour le test de la LED, un ohmmètre en position "Diode" le courant doit passer dans un sens, pas dans l'autre.
Pour le tester complètement, il faut mettre un ohmmètre sur le transistor puis alimenter la LED, lohmmètre doit réagir à  lallumage de la LED.

Fabien
 
Bonjour,
Pour ma part jessaie aussi de commander un moteur pas à  pas bipolaire avec une carte stepper. Lobjectif est la motorisation des manettes de gaz et donc un angle de fonctionnement du moteur pas à  pas de l'ordre de 50 degrés. je n'ai pas mis de capteur optique car dans le fonctionnement cible le moteur ne fera jamais 360° et donc ne déclenchera pas le capteur. En revanche j'ai branché un potentiomètre sur l'entrée correspondante.
Le code utilisé ne marche pas:

Var 0003, name moteur, Link USB_STEPPER, Output 1, PosL 200, PosC 0, PosR 4

Var 0001, name potar, Link USB_ANALOGIC, Input 1, PosL 0, PosC 128, PosR 255
{
&moteur = 100
}


Lorsque je vais dans SIOC Monitor je vois bien le moteur et le potentiomètre mais un "send" na pas deffet, et lorsque j'appuie sur "initialize" le moteur se met à  vibrer mais ne tourne pas.

Est-ce quelqu'un a une idée SVP ?
Merci
Jean-Pierre
Club Grand Ouest Aviation
 
Alors d'abord si ça vibre c'est que le branchement entre les phase est inversé
Ensuite il faut impérativement un capteur car à  linitialisation de sioc il fait un tour pour savoir où il se trouve donc pour un throttle c'est mort...
Il vaut mieux privilégié un motor dc avec un potentiomètre pour connaître la position manette
Avec un ptit code en auto throttle le moteur emmènera la commande ou il faut
 
Retour
Haut