Debutant Arduino niveau zero

Bonjour,
1er post, découverte de l'Arduino il y a 15 jours.

Materiel acheté:

-Arduino Uno (Snootlab)
-kit "débutant" (Snootlab)
-Shield double pont en H L293D (Ebay Chinois...)
-un tube d' Efferalgant qui arrive a sa fin :slight_smile:

j'ai effectué les sketchs et montage de base (Led , BP , moteur PAP, servo, moteur DC...)

Je m'excuse d'avance si ma question à déjà été résolu, j'ai pourtant cherché:
Est il possible simplement de monter une fourche optique de recuperation (imprimante par ex.) sur un moteur DC afin de le contrôler comme un moteur pas à pas ?
Par cela j'entend un controle angulaire ou en tours:
-soit rotation horaire de X°
-soit de X tours
-ou de X fractions de tour. (j'espere être compréhensible)

j'ai bien sur vu des exemples d'odometrie bien plus poussés dont je ne comprend presque rien, mais dans mon cas de figure j'aimerais si c'est possible utiliser des moteur DC, et cela de façon simple pour un debutant comme moi.
Je n'ai pas de projet précis (en fait j'en ai trop en meme temps), mais je trouverais bien plus facilement pour mes bricolages des moteur DC et des fourches optiques que des moteur pas à pas.

je vous remercie par avance car je trouve cette communauté super, et j'espere une longue vie a cette plateforme.

Genre ça ?

Oui sa y resemble bien. :slight_smile:

Bonjour, oui ton application est possible, à toi de bidouiller pour mètre une roue denté et ta fourche optique dessus la on pourra pas le faire à ta place apres niveau programmation on pourras t'aidé, tu aura x dent sur ta roue donc 1tour = xdent

donc 1 dent = 1/x tour et de la tu aura ta précision tu pourra codé.

Skizo !

j'ai plusieurs fourches optiques provenant de differentes imprimantes (je récupère tous ce que je trouve en ce moment).
J'en trouve de type "LTH301-07" et d'autres avec 5 broches et rien d'inscrit dessus. J'ai reussi a lires les impulsions en suivant les tutos de "mon club elec" mais c'est tout.
Pour ce qui est d'un assemblage mécanique roue codeuse/fourche optique je devrais pouvoir y arriver :slight_smile:
De plus j'ai commandé 1kg de polymorph pour tester (j'attend qu'il arrive).

Pour la partie programmation , si quelqu'un a une trame simple je suis preneur. :wink:

merci merci merci !!!

on trouvera rien de tout fait adapté a ton système a mon avis mais on te fera ça tu nous expliquera le fonctionnement a obtenir et on t'aidera =)

En général on utilise pour cela des moteurs DC avec roue codeuse intégrée. Pour contrôler des fractions de tour il faut une grande précision donc beaucoup de pulses par tour ce qui rend la réalisation d'un capteur optique externe assez compliquée.

JLB

Disons que j'aimerais contrôler l'angle ou le nombre de tours a basse vitesse de ce moteur avant de passer a des moteurs DC plus gros.( de la meme maniere qu'un moteur pas a pas)
Via le Shield motor si possible.
J'y arrive sans la partie optique, en passant par la fonction "delay" mais le problème c'est qu'a la moindre résistance sur le passage du moteur, la course de celui ci est freinée/écourté et donc la précision nulle.
Pour schématiser j'aimerais un système a qui je dis:
tourne de X fractions de tour dans tel sens a telle vitesse.
et peu importe si tu perd quelques millisecondes l'essentiel est d'être precis.

est ce possible de façon simple et accessible pour le pauvre débutant que je suis ? :blush:

jihelbi:
En général on utilise pour cela des moteurs DC avec roue codeuse intégrée. Pour contrôler des fractions de tour il faut une grande précision donc beaucoup de pulses par tour ce qui rend la réalisation d'un capteur optique externe assez compliquée.

JLB

oui j'imagine bien , c'est pour sa que dans un 1er temps je compte récupérer des moteurs de ce type.

je precise que j'aimerais que sa se pilote comme un pas a pas mais je n'exige pas du tout la meme précision. Je veu dire par la que vu la nombre de "lamelles" sur ma roulette je peu obtenir au mieux un précision de 10° environ je pense. Lors de ma realisation mécanique il faudra que je joue sur le rapport de démultiplication (pour gagner du couple) et de cette façon je gagnerais un peu en précision.

skizoh:
Bonjour, oui ton application est possible, à toi de bidouiller pour mètre une roue denté et ta fourche optique dessus la on pourra pas le faire à ta place apres niveau programmation on pourras t'aidé, tu aura x dent sur ta roue donc 1tour = xdent

donc 1 dent = 1/x tour et de la tu aura ta précision tu pourra codé.

Skizo !

j'ai 32 dents sur ma roulette. Donc si j'ai bien compris 360°/32 dents = 11,25° par "pulse".
Niveau precision sa me va totalement.
On peu lancer un 1er jet de programme avec sa comme info ?

2 choses :

  1. Ton moteur pas à pas de récup n'est pas adapté aux faibles régimes de rotation et donc au positionnement précis. Ce type de moteur n'a pas de couple et est prévu pour tourner vite. On en trouve effectivement dans des servos bas de gamme mais dans ce cas ils sont très démultipliés par engrenages.

  2. Ta méthode de commande ne convient pas. Il faut utiliser une commande PID (proportionnalité intégrale/dérivée) et gérer les deux sens de rotation du moteur. Il faut aussi prévoir des rampes d'accélération/décélération en fonction du déplacement total à effectuer. C'est en fait un contrôle de positionnement utilisant une régulation PID dont la consigne de vitesse va de 0 à n. Bien réalisée cette commande permet à ton moteur de revenir à sa position de consigne après un déplacement forcé à la main.

JLB

jihelbi:
2 choses :

  1. Ton moteur pas à pas de récup n'est pas adapté aux faibles régimes de rotation et donc au positionnement précis. Ce type de moteur n'a pas de couple et est prévu pour tourner vite. On en trouve effectivement dans des servos bas de gamme mais dans ce cas ils sont très démultipliés par engrenages.

  2. Ta méthode de commande ne convient pas. Il faut utiliser une commande PID (proportionnalité intégrale/dérivée) et gérer les deux sens de rotation du moteur. Il faut aussi prévoir des rampes d'accélération/décélération en fonction du déplacement total à effectuer. C'est en fait un contrôle de positionnement utilisant une régulation PID dont la consigne de vitesse va de 0 à n. Bien réalisée cette commande permet à ton moteur de revenir à sa position de consigne après un déplacement forcé à la main.

JLB

Salut Jihelbi,
merci de me répondre,
Je précise que c'est un moteur DC ordinaire (2 fils) et non un moteur pas a pas, je pense que tu avais compris en voyant la photo. Je sais également que sa n'a pas de couple et qu'il faut une forte démultiplication. j'ai pris ce petit moteur pour faire mes experiences mais je peu en trouver qui on un couple bien plus important. Il a aussi l'avantage d'avoir déjà la fourche et la roue codeuse d'integré (sa limite les recherche de panne quand on tâtonne sur le programme).
j'ai essayé de comprendre le fonctionnement du PID, je comprend bien la theorie, mais la programmation c'est autre chose.
Connaissez vous des tuto en français pour le pilotage d'un simple moteur DC par PID ?
merci

Oui je sais pas pourquoi j'ai écris pas à pas dans mon post. Je devais penser à autre chose. Je parle bien sur du contrôle de moteur DC.

La dernier soft PID que j'ai écrit remonte à bien des années (1995 pour un automate médical) et, en admettant que je retrouve le source, il était écrit pour un Motorola 68340 et de plus j'avais programmé certaines fonctions en hardware (dans un FPGA Altera).

J'aurais certainement à écrire une librairie dans le futur pour aider mon fils qui débute et je ne manquerai pas de la partager ici.

JLB

jihelbi:
Oui je sais pas pourquoi j'ai écris pas à pas dans mon post. Je devais penser à autre chose. Je parle bien sur du contrôle de moteur DC.

La dernier soft PID que j'ai écrit remonte à bien des années (1995 pour un automate médical) et, en admettant que je retrouve le source, il était écrit pour un Motorola 68340 et de plus j'avais programmé certaines fonctions en hardware (dans un FPGA Altera).

J'aurais certainement à écrire une librairie dans le futur pour aider mon fils qui débute et je ne manquerai pas de la partager ici.

JLB

Ok, c'est sympa de ta part.
merci

En attendant si quelqu'un a une trame de sketch ou un sketch gerant le PID qui peu convenir a ma situation je serais heureux d'experimenter.

Je rappel le "cahier des charges":

-controle d'un moteur DC via un motorshield et une ou plusieurs fourches optiques.
-precision recherchée d'environs 10° par "top"
-accessible a un débutant en arduino

merci :wink: