Aller au contenu


Arnaldo

Inscrit(e) (le) 21 août 2018
Déconnecté Dernière activité janv. 15 2019 09:20
-----

Messages que j'ai postés

Dans le sujet : Horus Mk. I

15 janvier 2019 - 09:17

Bonjour à tous,

 

J'ai bien avancé sur le torse et la tête. Toutes les pièces sont fabriquées et j'ai obtenus les premiers mouvements grâce à une RPi sous Python.

 

Bientôt des photos et videos... Je m'attaque maintenant aux bras !

 

 

Fichier joint  Horus_Torso_Head_1_20180115.jpg   58,44 Ko   108 téléchargement(s)


Dans le sujet : Horus Mk. I

09 septembre 2018 - 07:11

Bonjour à tous, 

Un nouveau post sur mon blog (http://www.avbotics.com) dédié au contrôle des articulations par des PID. J'explique également comment utiliser les capteurs d'efforts  pour émuler une articulation sur ressort/amortissseur. Cela peut intéresser les roboticiens qui s'intéressent aux interfaces haptiques (sens du toucher, retour d'effort).

 

Voici une vidéo qui montre comment cela fonctionne sur la cheville de Horus Mk. I. J'avais utilisé une Arduino Due, qu'on voit sur la vidéo, et ça fonctionnait très bien.

 


Dans le sujet : Horus Mk. I

29 août 2018 - 08:25

J'ai survolé ton blog qui est très bien fait avec beaucoup de détails sur la conception de ton bipède.
Mais pourrais-tu nous donner quelques références et liens pour les moteurs et leur réducteur, ainsi que les potentiomètres.

Petite question. Pourquoi des PIC et non pas des Arduino ?

 

Quelques infos sur les références utilisées :

-Les motoréducteurs proviennent de MFA COMODRILL https://www.mfacomodrills.com/

      . avec des réducteurs épicycloïdaux 1:5 pour les actionneurs linéaires et à vis sans fin (série 940 D)

      . avec réducteurs épicycloïdaux 1:100 pour les actionneurs avec couples coniques (série 940D)

 

Les moteurs étaient initialement de RE 385 (diamètre 27.5 mm) en 12V

 

Lorsque j'ai voulu installer des encodeurs, il me fallait des moteurs avec l'axe dépassant à l'arrière, que je n'ai trouvé qu'en 24V (En chine...)

J'ai donc remplacé les moteurs et renforcé ceux des axes x2 (voir https://avbotics.com...out-structure/)avec des moteurs de taille RE 540 (diamètre 37 mm)

 

Concernant les capteurs de force, j'ai utilisé des capteurs de balance/pèse-personne (voir https://avbotics.com/force-sensors/)que j'ai trouvés chez RobotShop (ref. RB-Pho-119) Ces capteurs fonctionnent avec des jauges de contraintes et nécessitent une amplification du signal (fait par une puce spécialisée INA125 U) avant d'être convertis sur une entrée analogique du dsPIC.

 

les potentiomètres sont des Vishay-Sfernice P11 10kOhms, ils ont des pistes en céramique et sont de bonne qualité même si je voudrais les remplacer par des capteurs de position à effet hall sans contact (12 ou 14 bits) qui me semblent très prometteurs (type AMS ou Bourns). Les potentiomètres sont bruités et ne sont pas très linéaires. Ils nécessitent d'être étalonnés (à minima sur la pente tension V = f(position) car elle varie beaucoup d'un pot. à l'autre). 


Dans le sujet : Horus Mk. I

29 août 2018 - 08:23

C'est super sympa comme projet. Très belle réalisation.

 

Aucun problème avec le compilo dsPIC ? J'ai eu de très mauvaises expériences avec des PIC16F et 18F lorsque j'étais étudiant donc je m'en suis toujours méfié, peut être à tort..

Non pas de problèmes particuliers hormis au tout début lorsqu'il faut installer et se familiariser avec MPLAB.

J'utilise une Pickit3 pour la programmation et la dernière version du compilateur adapté aux dsPIC33,  le XC16.

 

Pour ceux qui sont familiarisés avec MATLAB/SIMULINK, il existe une toolbox dsPIC gratuite pour SIMULINK. Elle est utilisable sans limitation à quelques références de dsPIC (dont celui que j'utilise) et il est également facile de compiler les modèles Simulink et de les flasher directement.


Dans le sujet : Horus Mk. I

28 août 2018 - 05:28

C'est très intéressant ce dsPIC. Je connaissais pas. Je me sers souvent des petits arduino pour piloter les moteurs justement.

On peut changer la fréquence des canaux pwm sur les arduino 32bits ceux à base de ARM Cortex. Et ce sans toucher à la clock générale :)  On peut aussi augmenter la résolution (jusqu'à 32 bit) sur la Due. Mais leur format est bien plus gros que ce que je vois sur les PIC. Donc plus difficile à intégrer.

Quant à la lecture directe des encodeurs A/B, tu parles de lire les interruptions venant d'encodeurs en quadrature ? Il y a la gestion d'interruptions sur arduino. De 2 à qq'unes. Et tous les pins peuvent servir d'interruption sur la Due.

Oui les encodeurs A/B sont biens des encodeurs à quadrature. J'avais utilisé une Arduino Due mais à l'époque je n'utilisais pas encore les encodeurs. J'imagine que sur une Arduino on utilise deux entrées numériques avec interruptions pour détecter les changements d'état / position. Les dsPIC disposent directement d'un registre compteur 16bits qui enregistre la position, avec en plus des registres de paramétrage (remise à zéro, échelle, filtrage, inversions, interruption en cas d'erreur, etc...). Il suffit d'aller lire le registre de position quand on en a besoin.

La PWM est basée sur une fréquence d'horloge de 40 MHz, soit une période de 25ns. On peut "répartir" la fréquence d'horloge en fréquence du signal PWM et en résolution du signal :

Par ex. 20 kHz x codage largeur d'impulsion de 0 (0%) à 2000 (100%) = 40 MHz, ou encore codage largeur d'impulsion sur 12 bits (4096) = fréquence de PWM de 9,76 kHz

 

je ne sais pas combien coûte désormais une Arduino Due mais ma carte dsPIC me revient complète à environ 15-20€, hors pont en H bien sûr. Il m'en fallait une dizaine. Bon, il faut souder les composants...