Page 1 sur 1

Carte asservissement position vitesse, afficheur et servos

MessagePosté: Lun 12 Oct 2015 15:21
par fbedon
Salut à tous,
je fais un petit sujet pour faire gagner du temps à ceux qui voudront faire quelque chose d'approchant.
je veux réaliser un ensemble autonome d’asservissement d'un mécanisme (volet de foil sur un surf).
Il me faut en entrée :
- la vitesse de l'engin
- son inclinaison
et je veux en sortie :
- un afficheur qui me dise ce que le système fait
- un ou deux servo pour actionner le ou les volets

Je suis naturellement parti sur un Arduino Uno.
J'ai commandé un ensemble Gyro+Accellero+Compas GY-85
J'ai commandé un afficheur LCD Graphique 128*128 à base de Nokia 6100
J'ai commandé un module GPS GY-NEO6MV2
J'ai commandé un servos fort couple GYS S8218 40kg.cm
Il n'y a aucun soucis pour faire fonctionner chacun de ces appareils avec la carte UNO, c'est même enfantin.
En revanche, j'ai trouvé, et je ne suis pas le seul si j'en crois les forum, des incompatibilités entre les librairies du module GPS, des servos et de l'afficheur.
Je viens donc de commander un Arduino MEGA en espérant que l'abondance de ressources sur ce circuit suffise au contournement des difficultés actuelles.
à suivre....
fred

Re: Carte asservissement position vitesse, afficheur et serv

MessagePosté: Mer 27 Avr 2016 21:22
par fbedon
Salut à Tous
L'Arduino Mega a les mêmes limitations que le Uno en matière de ressources (interruptions).
J'ai contourné la difficulté en mettant le Uno en carte fille qui se contente de recevoir une consigne et de commander le servo, c'est pas terrible !
Je suis en train de regarder les cartes Nucléo de chez ST, j'ai vu des programmes organisés en plusieurs threads indépendants c'est peut être une piste... à suivre

Re: Carte asservissement position vitesse, afficheur et serv

MessagePosté: Lun 20 Juin 2016 20:17
par fbedon
Salut à tous,
la carte Nucléo est sans doute plus performante que l'Arduino, mais fort mal documentée (accès aux ports par exemple) et c'est sans doute lié, génère fort peu de littérature sur le web. J'ai réussi a faire tourner un filtre de Kalman avec un gyroscope et un servo, ça marche mais moins bien que sur l’Arduino, je laisse donc tomber.

Coté interruptions sur UNO, j'ai acheté un robot Balanbot, qui semble jongler avec les interruptions sans difficulté, il utilise la librairie PinChangeInt qui permet de brancher une routine d'interruption sur n'importe quelle pine de la carte. C'est bien simple en plus de l'I2C pour pour le MPU5060, il y a une routine d'interruption sur chacun des 2 codeurs moteurs et chacune des 2 voies PWM des entrées télécommande RC, et le tout fonctionne sans problème !
Si quelqu'un peut nous en dire plus...
Fred