Manuel.CA
Posts: 12
Joined: Thu Sep 22, 2016 11:29 am

Demande de renseignement

Thu Sep 22, 2016 11:50 am

Bonjour,

Je me présente Manuel, administrateur réseau et développeur (Python, C, QT, GTK) essentiellement sous Linux (Debian).

Je conçois régulièrement des petits logiciels en python et QT dans le cadre de monde travail.
Voila pour le coté professionnel, depuis quelques temps, j'ai un projet que je préfère tenir secret pour l'instant, et j'aurais besoin de quelques avis éclairés concernant le choix de mes futurs acquisitions.

Mon projet, pour l'instant doit être être capable de piloter 3 moteurs pas à pas depuis un Raspberry PI 3.
Etant novice en ce domaine je voulais savoir si :

1) Est ce qu'un Raspberry est capable de piloter plus de 2 moteurs non-simultanément dans un premier temps, puis ensuite via des threads de le faire en parallèle.
2) Quelle genre de carte contrôleur choisiriez-vous, quel modèle serait le mieux ?
3) Le projet en question doit être utilisé en extérieur, quelle sont selon vous les meilleurs boîtiers pour ça (y à tellement que je me perds)
4) Si le point 1 n'est pas réalisable, existe t'il des cartes qui puissent avoir les avantages du Raspberry, tout en pilotant plus de 3 moteurs ? (5 serait la panacée).

Merci de m'avoir lu et de vos réponses.

User avatar
Etienne
Posts: 202
Joined: Wed Jul 24, 2013 6:23 am

Re: Demande de renseignement

Thu Sep 22, 2016 7:23 pm

Salut,
1) J'utilise pour ma part 2 petits moteurs 28BYJ-48 en pilotage simultané (pour un traceur vertical pendulaire). Je ne vois pas de problème pour en mettre un troisième. Simplement, cela utilise 4 IOs du GPIO par moteur donc : 3 moteurs = 12 IOs (et donc 20 IOs pour 5 moteurs --> Pi2 ou Pi3 indispensable). Il faut savoir néanmoins qu'avec un OS linux qui n'est donc pas 'temps réel', la vitesse d’exécution ne peut pas être maitrisée de façon absolue. L'utilisation de thread est envisageable, cela permettra de les piloter de façon indépendante, sans description de l’utilisation difficile de conclure.
2) Pour le choix de la carte contrôleur, tout dépend des caractéristiques du moteur (tension et intensité), sans info (la référence des moteurs) c'est impossible d’émettre une recommandation. Un point de vigilance est la compatibilité avec les IOs du Pi qui sont en 3.3 volts, il faut donc que les entrées logiques de la carte de commande soient compatibles 3.3volts.
3) le choix du boitier dépend de ce que tu appelles "en extérieur"... si c'est sous la pluie il faut un boitier étanche, là le plus économique est soit le boitier plastique avec couvercle clipsé (genre tuperware, j'ai testé c'est nickel mais moyen pour le look, voir ici viewtopic.php?f=93&t=10308&p=516528#p516528), ou alors prendre un projecteur pour extérieur en magasin discount de bricolage, enlever la lampe et mettre le Pi à la place, c'est costaud, étanche, par contre comme c'est métallique, c'est pas top pour le wifi!...
4)Si le problème de temps réel est important, le passage par une carte arduino est sans doute une solution à regarder.

totoharibo
Posts: 4437
Joined: Thu Jan 24, 2013 8:43 am

Re: Demande de renseignement

Thu Sep 22, 2016 7:44 pm

il y a de distribs "temps réel" à temps de latence beaucoup plus faible : xenomai par exemple, mais jamais essayé.

Pour les boîtiers : les coffrets plastique électrique gris étanches avec des sorties du même métal ?

nikotinux
Posts: 764
Joined: Sat Feb 02, 2013 2:11 am

Re: Demande de renseignement

Fri Sep 23, 2016 6:57 am

Les moteurs pas a pas les plus rapides tournent a 3000 tours / minutes, soit 50 tours / secondes

A cette fréquence, le raspberry est capable de décoder un flux vidéo et de l'afficher en HD

Mais il faut patcher le kernel pour commander des moteurs ???

Sérieusement !!

totoharibo
Posts: 4437
Joined: Thu Jan 24, 2013 8:43 am

Re: Demande de renseignement

Fri Sep 23, 2016 9:05 am

pour xenomai :
http://www.blaess.fr/christophe/2016/05 ... erry-pi-2/

ça semble intéressant mais pas testé.

Belle bidouille en vue si tu suis cela.
Tiens nous au courant.

User avatar
Etienne
Posts: 202
Joined: Wed Jul 24, 2013 6:23 am

Re: Demande de renseignement

Fri Sep 23, 2016 1:58 pm

nikotinux wrote:Les moteurs pas a pas les plus rapides tournent a 3000 tours / minutes, soit 50 tours / secondes

A cette fréquence, le raspberry est capable de décoder un flux vidéo et de l'afficher en HD

Mais il faut patcher le kernel pour commander des moteurs ???

Sérieusement !!
deux remarques :
1/ le décodage et l'affichage vidéo ne sont pas fait par le processeur principal mais par un partie dédiée du circuit Broadcom, ce n'est donc pas forcément comparable.
2/ le pb de linux sur Pi n'est pas de faire tourner le moteur assez vite (en python j'arrive sans pb à dépasser la vitesse max du 28BYJ-48...). Le soucis (potentiel en fonction de l'utilisation prévue) et que la période de changement des pas du moteur peut varier en fonction de ce qui tourne sur le pi, s'il ne fait que cela, cela doit passer, mais si on fait tourner d'autres applications, ça peut devenir pénalisant. Tout dépend de l'utilisation! Par ailleurs, en dehors des distributions qui cherchent à être plus orientées temps réel, on doit aussi pouvoir utiliser des lib du type pigpio pour maitriser mieux la fréquence des GPIO (pas essayée pour ma part).
En conclusion, à défaut d'exposer l'utilisation prévue, essaye avec la distri par défaut et regarde si cela pose pb...

Manuel.CA
Posts: 12
Joined: Thu Sep 22, 2016 11:29 am

Re: Demande de renseignement

Fri Sep 23, 2016 2:26 pm

Merci de vos réponses instructives, je m'étais déjà posé la question de la capacité du Raspberry sur certaines libraires que j'utilise dans mon projet (notamment OpenCV3) et QT.
Mon logiciel fonctionne pour l'instant bien sur mon portable (MSI GE60), avec des temps d’exécutions des threads finalement asse faibles, mais quid de ce qu'il en sera sur Rasp avec en plus la gestion des moteurs pour le suivi des trajectoires..

D'ailleurs à ce sujet existe-il une solution qui permettrait de tester le programme en environnement matériel de rasp (émulateur) ?

@Etienne, donc selon ta réponse je peux en conclure que je n'ai besoin que d'un Raspberry PI3 pour gérer directement 4 moteurs branché sur les GPIO, mais me faut il quant même des cartes contrôleurs se serait peut être plus fiable non ?


En ce qui concerne les moteurs, j'ai récupéré 2 moteurs sur des scanners HP (STH-39D)
https://www.youtube.com/watch?v=QRk6YIR7ecc,
ainsi que deux autres plus petit pour la mise au point de l'objectif.
ils sont tous OP je l'ai est testés.

Encore merci de vos réponses

User avatar
Etienne
Posts: 202
Joined: Wed Jul 24, 2013 6:23 am

Re: Demande de renseignement

Fri Sep 23, 2016 3:10 pm

Avec un Pi3B ça ne devrait pas poser de pb (moi ça tourne sur un Pi version B 1e génération même pas overclocké!).
La carte d'interface est indispensable pour piloter le moteur (interface de puissance). De loin ton moteur ressemble à un NEMA14, reste à savoir à quelle tension il fonctionne? 5 volts ou 12 volts?
Si c'est 12v ou une tension plus élevée, une petite recherche sur ebay : une carte comme celle là doit faire l'affaire http://www.ebay.fr/itm/A3967-EasyDriver ... Swr41XIbGQ elle est annoncée comme étant compatible avec des entrées en 3.3volts et peut fonctionner avec une tension d'alimentation moteur de 7 à 30v. Peut être trouveras-tu d'autres références en cherchant des d'exemples concrets.
L'autre question est de savoir si tu va développer le driver logiciel du moteur ou si tu vas chercher un pilote existant, si tu veux utiliser un pilote existant, il faut vérifier avec quelles types de cartes il fonctionne, toutes les cartes d'interfaces ne sont pas basées sur les mêmes signaux...
Une solution à moindre risque est d'utiliser une solution adafruit qui fourni la lib logiciel: https://learn.adafruit.com/adafruit-dc- ... per-motors, par contre c'est plus cher...

Manuel.CA
Posts: 12
Joined: Thu Sep 22, 2016 11:29 am

Re: Demande de renseignement

Fri Sep 23, 2016 5:33 pm

este à savoir à quelle tension il fonctionne? 5 volts ou 12 volts?
Bonne question, j'en sais rien du tout je vais me renseigner.
Une solution à moindre risque est d'utiliser une solution adafruit qui fourni la lib logiciel:
Merci bien, de ce que j'ai lu pour l'instant, ça ressemble vraiment à ce que je cherchais, en plus ça m'évite beaucoup de perte de temps à chercher comment piloter telle ou telle carte et c'est du python qui est mon outil de tous les jours.

Donc pour l'achat je me dirige vers un raspberry PI3 chez amazon https://www.amazon.fr/Vilros-Raspberry- ... berry+pi+3
(pour l'instant sans boitier ext, je test la faisabilité de la chose ), un starter kit je pense que c'est la bonne solution, par expérience je sais que dans les projets, plus on a de chose, moins on risque d'en manquer ;)

Et dès que j'ai la confirmation de la tension des moteurs, je prendrais du adafruit http://www.gotronic.fr/art-shield-moteu ... -20681.htm

Quant au projet ça ressemble énormément à ça : https://www.youtube.com/watch?v=VjbZruTvulM mais pour une toute autre utilisation, et en beaucoup beaucoup plus simple ^^.



Merci beaucoup

User avatar
Etienne
Posts: 202
Joined: Wed Jul 24, 2013 6:23 am

Re: Demande de renseignement

Mon Sep 26, 2016 2:18 pm

Fais attention, il semble que le module adafruit de ton dernier post http://www.gotronic.fr/art-shield-moteu ... -20681.htm soit fait pour une interface en 5 volts (pour utilisation avec Arduino) alors que le pi est en 3.3 volts. ça risque de ne pas bien fonctionner!... (en plus mécaniquement ça va pas le faire, c'est pas fait pour aller sur le GPIO du Pi).
Celui que je pointais (site US) https://www.adafruit.com/product/2348 est bien fait pour le Pi.

Manuel.CA
Posts: 12
Joined: Thu Sep 22, 2016 11:29 am

Re: Demande de renseignement

Wed Sep 28, 2016 1:30 pm

Etienne wrote:Fais attention, il semble que le module adafruit de ton dernier post http://www.gotronic.fr/art-shield-moteu ... -20681.htm soit fait pour une interface en 5 volts (pour utilisation avec Arduino) alors que le pi est en 3.3 volts. ça risque de ne pas bien fonctionner!... (en plus mécaniquement ça va pas le faire, c'est pas fait pour aller sur le GPIO du Pi).
Celui que je pointais (site US) https://www.adafruit.com/product/2348 est bien fait pour le Pi.

Bonjour, Merci Etienne pour ta réponse.
Seulement je viens juste de commander ça https://www.amazon.fr/gp/product/aB017L ... UTF8&psc=1
Je me suis basé sur ce post sur le forum d'adafruit https://forums.adafruit.com/viewtopic.php?f=31&t=45489
Je pensais abaisser la tension en 3.3 volts en soudant les deux "contacteurs" (comme cité dans les posts).

Est ce que je me suis planté ?, au quel cas je contact le service de adafruit pour échanger avant l'envoie.

User avatar
Etienne
Posts: 202
Joined: Wed Jul 24, 2013 6:23 am

Re: Demande de renseignement

Wed Sep 28, 2016 8:28 pm

bien vu, effectivement il est indiqué
5v or 3.3v compatible logic levels - jumper configurable
donc d'un point de vue électrique ça devrait marcher.
Par contre mécaniquement il ne peut pas s'enficher directement sur le connecteur GPIO du Raspberry Pi étant donné qu'il est fait pour l'arduino et que les connecteurs sont différents. C'est pour cela que la version spéciale Pi me semblait préférable, ça évite de passer par de la connexion filaire, c'est plus propre, plus compact.
PS: le lien vers amazon dans ton précédent post ne fonctionne pas...

Manuel.CA
Posts: 12
Joined: Thu Sep 22, 2016 11:29 am

Re: Demande de renseignement

Tue Oct 04, 2016 7:13 pm

Bonjour tout le monde,

ça y est j'ai reçu mon petit raspberry et ma carte adafruit motorshield V2 :D , première impression est "c'est incroyable ce que c'est petit tout ça", moi suis habitué aux gros serveur hp là ça parait ridicule.

Je suis en train d'installer sur mon rasp, cinnamon et toutes les librairies python pour mon projet.
Pour la carte MotorShiel V2 je viens de faire le passage vers les 3.3v , coupure de la liason 5v et soudure sur le pad 3V, j'ai piqué deux trois petites choses à des profs de techno (avec leur autorisations biensûr) et des demain je pense pouvoir faire le montage avec le raspberry et tester (enfin, j'y pense depuis des semaines ^^) mes moteurs.

Edit : @Etienne concernant le problème mécanique de motorshield vs le rasp j'ai trouvé ce tuto https://www.element14.com/community/com ... tor-shield
Et même si il est vrai qu'avoir 50 fils qui se baladent n'est pas "super", avec des nappes je pense que cela sera "présentable"

Return to “Français”