2021 >> Premier projet Arduino : Elévation d'un plateau

Bonjour à tous
je suis un jeune homme de 36 ans très curieux, geek à mes heures, qui s'est vu offrir à ma grande surprise un starter kit Arduino Mega 2560 de chez Eelegoo + un kit supplémentaire de capteurs.
Après avoir testé comme un petit fou tout un tas de tuto fourni dans le kit, l'envie de réaliser ses propres projets ne se fait pas attendre !!

Mon attirance pour la domotique m'amène comme première idée de créer un mécanisme de plateau réglable pour des activités de loisirs. J'ai donc listé cette première expression de besoin, à savoir :

  • un plateau évidement (poids 5 à 6 kilos)
  • fixé sur deux vérins simplifiés faits maison qui accueilleront des vis sans fin (muni éventuellement d'un système de verrouillage)
  • deux motoréducteurs 12V (fixés sur un socle)

Jusque là pour la plupart d'entre vous du basic je suppose.

Désormais je commence à patauger dans les caractéristiques des moteurs. Je souhaite au départ simplement soulever le plateau à la hauteur désirée en faisant un bouton + et un bouton - et le verrouiller. Mon plateau fait presque 6kg, si je souhaite le soulever par 2 moteurs simultanément je suppose qu'il faut qu'il développent un couple d'au minimum 0,3nm chacun. En revanche quid du nombre de tours/min, avec ou sans balais ou encore de la puissance nominale électrique, je ne m'en sort pas... :confused:

Dans un second temps, je souhaite utiliser des capteur de distance pour lui rentrer directement des hauteurs souhaitée, là encore, quels genres de capteurs privilégier ? laser ? ultrasons ?

Dans l'attente de vos conseils d'arduinistes avisés je vous présente à tous mes meilleurs pour cette nouvelle année.
Cdt

Désormais je commence à patauger dans les caractéristiques des moteurs. Je souhaite au départ simplement soulever le plateau à la hauteur désirée en faisant un bouton + et un bouton - et le verrouiller. Mon plateau fait presque 6kg, si je souhaite le soulever par 2 moteurs simultanément je suppose qu'il faut qu'il développent un couple d'au minimum 0,3nm chacun. En revanche quid du nombre de tours/min, avec ou sans balais ou encore de la puissance nominale électrique, je ne m'en sort pas... :confused:

Pour le couple comme pour la puissance, cela dépend de la vitesse à laquelle doit se faire la montée. c'est simple à comprendre, si on veut monter très lentement, on peut mettre une démultiplication importante et avoir peu d'effort à faire. Exactement comme pour soulever une voiture; un homme n'est pas capable d'en soulever une, mais si on accepte d'aller lentement avec un cric, c'est loin d'être surhumain.
Le moteur est la plupart du temps rotatif. en conséquece il ne peut pas y avoir de prise directe entre le motuer et le plateau. Il y a donc forcément un mécanisme entre les deux. Lequel est envisagé? Il faut donc choisir quel type de transformation est à faire, quelle vitesse... Ceci permettra ensuite de choisir le moteur dont on a besoin. On peut aussi aller dans l'autre sers, à savoir "j'ai récupéré un moteur....".

Dans un second temps, je souhaite utiliser des capteur de distance pour lui rentrer directement des hauteurs souhaitée, là encore, quels genres de capteurs privilégier ? laser ? ultrasons ?

La encore il faut préciser les besoins. Si on veut une position basse et une position haute seulement, mettre deux fins de course mécanique (deux interrupteurs) ou une mesure du courant dans le moteur pour l'arrêter quand celui-ci "force". Si on a besoin de peu de précision mais avec pleins de niveaux, une mesure par potentiomètre est envisageable. Si un positionnement précis avec pleins de niveau est nécessaire, un pas à pas est utile, sauf si on a besoin d'une grande vitesse auquel cas un moteur courant continu ou un brushless avec un capteur est conseillé...
Je ne suis pas franchement favorable aux ultrasons. Quand au positionnement laser, ce n'est vraiment pas commun pour une réalisation amateur.

Quand au positionnement laser, ce n'est vraiment pas commun pour ene réalisation amateur.

On voit de plus en plus de capteurs dits ToF (Time of Flight) comme le VL53L0X (technologie laser à 940 nm) - ça vaut dans les 3€ en Asie.


La précision dépend du mode choisi, de la distance, de la luminosité ambiante ainsi que de la couleur et la brillance de l'objet. Elle est comprise entre 3 et 12%. Plus la luminosité ambiante est importante meilleure sera la mesure, Un objet réfléchissant ou proche de la couleur blanche favorisera également la mesure (notamment pour de longues distances) et il faut une distance minimum, donc ne pas venir "coller au capteur" comme un fin de course mécanique en espérant lire une distance 0mm.

Mais sinon oui, les autres options que vous listez sont fréquentes.

vileroi:
Pour le couple comme pour la puissance, cela dépend de la vitesse à laquelle doit se faire la montée. c'est simple à comprendre, si on veut monter très lentement, on peut mettre une démultiplication importante et avoir peu d'effort à faire.

Pour le moment j'ai dimensionné quelque chose comme 40cm d'élévation maximum (et prévu une inclinaison manuelle de 20°).
Pour la vitesse, j'ai besoin d'environ 10 secondes entre la position la plus basse et la plus haute.
Une tige filetée de 8mm fait environ 8 tours pour déplacer un écrou sur 10mm, donc il faudrait réaliser 320 tours pour atteindre la position max, reporté sur 10 seconde, il faudrait que le moteur soit capable de tourner à 1900 tr/min.

c'est déjà des premières caractéristiques pour identifier un modèle mais est-ce suffisant ?
Pour le capteur, je ne suis pas arrêté mais je sais que je veux lui programmer plusieurs positions au préalable, 1=origine, 2=+10cm, 3=+20cm, 4=+30cm et 5=+40cm d'où la nécessité d'un capteur ou peut-être un apprentissage via un moteur pas à pas ?
Le potentiomètre est intéressant en effet en complément pour ajuster éventuellement.

pour le moment le plus et plus précis semble être un Transducteur ultrason

Bonjour,
Une source d’inspiration pour ton projet :

Pour la puissance, si on doit soulever une masse de 6kg à une vitesse de 4cm/s, si il n'y avait pas de frottements, il faudrait un moteur de P = M.G.v = 3 x 9,8 x 0,04 = 1,2W par moteur. Cela donne une première indication. Je tablerai sur 3 fois plus?
Si on choisit le moteur par sa vitesse (1900tr/mn = 200rd/s) et par son couple, toujours si il n'y avait pas de frottement, le couple serait de C = P/w = 1,2 / 200 soit 0,006N.m

Cela donne un couple et une puissance faible.
On est à la limite des pas à pas. Si en théorie on peut aller jusqu'à 3000tr/mn, a vide je ne dépasse guère les 2200tr/mn.
En charge on va moins loin. Mais ici la charge est assez faible (un nema17 c'est dans les 0,3Nm). Pour dépasser les 300tr/m, il faut faire un démarrage et un arrêt progressif. Ce qui veut dire que pour 40cm en 10s cela fera une vitesse maximale de 2000tr/mn au moins (rattraper le temps perdu du démarrage et de l'arrêt).
Le moteur CC me semble une bonne idée, surtout avec la vis sans fin. Pas besoin de blocage pour l'arrêt les vis sans fin faites avec des tiges filletées ordinaires sont irréversibles (on peut appuyer sur le plateau, cela n'entraînera pas le moteur).
Pour le positionnement, vu que tu peux te permettre de te positionner avec des tours entiers de vis sans fin, il est aussi possible de mettre un fin de course bas et un capteur à fourche dont le faisceau sera interrompu une fois par tour

vileroi:
On est à la limite des pas à pas. Si en théorie on peut aller jusqu'à 3000tr/mn, a vide je ne dépasse guère les 2200tr/mn.
En charge on va moins loin. Mais ici la charge est assez faible (un nema17 c'est dans les 0,3Nm). Pour dépasser les 300tr/m, il faut faire un démarrage et un arrêt progressif.

Merci pour ces précieux conseils. Tu as l'habitude de te fournir où pour ce type de moteur ?

Dans mes vieilles imprimantes, mais récemment (ça fait un an) j’ai acheté deux 17HS4401 en chine (le lien n’existe plus). J’en ai récupéré sur une CNC. Si tu veux un moteur performant, il en faut un qui soit commandable en courant (1.2A minimum) avec une tension inférieure à 4,5V. En principe, on ne trouve pas ce genre de moteur en récupération qui sont très souvent des moteurs 12V.
Juste pour faire des essais, je viens de commander un 28BYJ-48 5V c’est un moteur peu performant mais courant. Comme il est démultiplié, je ne suis pas sur qu’on arrive à 0,1tr/s.

Que tu achètes en chine ou en France, ils sont fabriqués en Chine. Le délai est plus long en chine, mais le prix est plus faible.

Plus d’info sur les moteurs pas à pas

Bonjour à tous,
je reviens sur ce sujet après avoir fais quelques choix techniques, à savoir la motorisation et l'accessoirisation de l'arduino dont un shield moteur grand format.

Désormais, ce shield reçoit une alimentation 12v 5A sur lequel j'ai branché en M1 et M2 2 moteurs DC qui ont besoin chacun de 2,5A (ça va), sauf que je me suis rendu compte que le shield fournissais par moteur 0.6A et jusqu'à 1A en crète, ce qui risque probablement de ne pas amener ma motorisation à la performance souhaitée :confused: .
==> y'a t-il un moyen d'arranger cela ?
==> j'ai vu que l'on pouvait superposer et refroidir plusieurs L293D, ça peut m'aider ?

Ensuite, j'explore pour la première fois la création de code, ce qui pour atteindre son but, est bien moins simple que reproduire tout un tas de tuto. Je suis donc parti du code Adafruit dans lequel j'ai retrouvé toutes les fonction de contrôle des motorisation via le shield mais évidemment pas exactement avec la manière avec laquelle je veux gérer mon affaire.

A ce stade je parviens à piloter chaque moteur séparément, mais avec un bouton pour avancer, un autre pour reculer et ce pour chaque moteur.

//Gestion moteur 1
if (digitalRead(boutonB) == LOW)
{Serial.println("Mise en marche avance du moteur 1");
motor(1, FORWARD, 251); }
if (digitalRead(boutonB) == HIGH)
{ motor(1, RELEASE, 0); }
{digitalWrite(boutonB, HIGH);
Serial.println("Fin de course motor-1");}

//Gestion moteur 2
if (digitalRead(boutonC) == LOW)
{Serial.println("Mise en marche avance du moteur 2");
motor(2, FORWARD, 255);}
if (digitalRead(boutonC) == HIGH)
{motor(2, RELEASE, 0);}

Ca marche :smiley: mais L'idée serait soit de pouvoir piloter 2 moteurs en même temps de manière synchronisée, soit de pouvoir choisir le moteur (par le biais d'un clavier ou d'un bouton de sélection + écran) que je souhaite piloter en utilisant qu'un seul jeu de bouton avancer / reculer.... et là c'est la galère...
==> avez-vous une piste sur laquelle je pourrais m'engager pour continuer mon développement please ?

Salutations chaleureuses

Il existe des drivers plus performants qu’un L293D d’un point de vue puissance... plutôt que d’essayer de bricoler Regardez chez Pololu par exemple pour trouver le driver approprié

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.