Bonjour à tous et toutes,
Après m'être présenté dans le topic dédié et lu les règles du forum, j'ai été faire un grand tour sur le blog d'Eskimon et d'autres pages pour novices. Malheureusement je n'y ait pas trouvé les infos que je cherche.
Je souhaiterai prototyper (prototype fonctionnel) via arduino et quelques modules, un petit robot.
En gros, un bras télescopique articulé monté sur rail. Une sorte de "mini" Technodolly.
( pour exemple: Introduction video to the TECHNODOLLY - YouTube )
Mouvements : Tilt + Pan + Avant/arrière + bras téléscopique.
Pour vous donner une idée de la taille, les dimensions finales seront approx. de 20x20x20cm.
Les composants seront:
- 2 moteur 12vDC avec un courant de démarrage de 260mA (+ 2 réducteurs)
Ref: 12V/0.8Kg-cm/46RPM 50:1 DC Gear Motor w/ Encoder - 3256E_0 at Phidgets - 1 moteur 12vDC avec un courant de démarrage de 1,4A (+ réducteur)
- 6 fins de courses.
- 1 actuateur linéaire 12vDC avec potentiomètre intégré. 9kOhm
Ref: DC Linear Actuator L16-50-35-12-P - 3570_0 at Phidgets - 2 encodeurs optiques relatifs (montés sur arbre moteur) avec une résolution de 360 CPR
- 1 encodeur optique relatif linéaire.
- 1 module Wifi (Tx/Rx).
Le comptage des positions des 3 moteurs se fera sur 16 bits.
Le premier moteur comptera de 0 à 18850 et le deux autres de 0 à 37770
Le passage de 0 à 37770 s’effectuera en 2 secondes ce qui équivaut à 18850 tick/sec.
Principe de fonctionnement :
- Après une mise à « zéro » des valeurs des compteurs via les fins de courses, une valeur (4 en réalité) de consigne est donnée. Celle-ci est enregistrée dans une mémoire en tant que « Preset #1».
- Via une gestion PID (optimisation de l’accélération et besoin de précision), les 3 moteurs et l’actuateur atteignent cette valeur.
- Une seconde valeur de consigne est données et enregistrée en tant que « Preset #2 ».
- IDEM que point 2.
- etc.… jusqu’à 10 presets.
Contrainte :
- La reproductibilité du mouvement (passage d’un preset à l’autre) doit s’effectuer avec une marge d’erreur >0,01 % sur 15 passages.
- Les valeurs des Preset ne doivent pas se perdre lors d’une mise hors-tension du système.
- L’ensemble de l’électronique doit tenir dans un volume réduit : 10x10x10cm
- Température de fonctionnement : 10-40°C
Questions :
-
Un (gros) arduino peut-il gérer le comptage et l’enregistrement sur 16 bits de 3 variables, l’actuateur et les 3 moteurs en même temps ? (Sachant qu’il ne peut pas faire de multitasking au sens propre.)
-
Quels modules utiliser pour la gestion des encodeurs afin d’avoir le taux d’erreur minimum? Ceux du constructeur sont en USB, ca passerai via un port OTG ?
Par exemple : VINT Hub Phidget - HUB0000_0 at Phidgets -
Quels shields moteurs utiliser/construire considérant la contrainte d’espace et l’échauffement? Les moteurs tourneront dans les deux sens.
-Je pense à utiliser un Raspberry ou autre pour la partie « gestion des presets » afin d’intervenir sur les valeurs sans que cela interrompe le cycle de l’Arduino durant le fontionnement de l’appareil. Est-ce nécessaire ?
Quelques réponses soulèveront encore d’autres questions j’en suis sûr.
Merci beaucoup pour votre aide.
G.