Sehntis
Posts: 14
Joined: Wed May 15, 2013 3:04 pm

Voiture télécommandée : problème moteur

Wed May 15, 2013 3:22 pm

Salut à tous,

Je réalise actuellement un projet, contrôler une voiture télécommandée à distance. Cependant, je n'arrive pas à faire tourner le moteur dans les deux sens à partir des bornes GPIO du Raspberry.

Il s'agit d'un vieux moteur d'une quinzaine d'années (récup' sur l'ancienne voiture, déjà dépouillée de sa télécommande). Il dispose de deux fils, si je le branche dans un sens, il tourne dans un sens, et si j'inverse le sens du courant, il tourne dans l'autre sens.

Pour l'instant lors de mes tests, je n'ai donc qu'a inverser le sens de la pile, mais pour le brancher sur le Raspberry, c'est une autre histoire...

Un petit schéma que j'ai réalisé pour expliquer le problème plus clairement :
[img]
http://nsa33.casimages.com/img/2013/05/ ... 719061.jpg[/img]

Je pensais passer par un contrôleur de moteur mais je ne sais ni vers lequel me tourner, ni si c'est adéquat dans cette situation.

Quelqu'un aurait déjà chipoté avec un moteur sur son Raspberry pi ?

Tout est bon à prendre, je galère vraiment :s

Sehntis

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Voiture télécommandée : problème moteur

Wed May 15, 2013 6:20 pm

Salut , tu peux brancher sur 2 pin verts et faire passer le 15 a 0 et le 18 a 1 pour aller dans un sens et inverser ( 15 a 1 et 18 a 0) pour l'autre sens mais de toute facon le rpi fournira pas assez de courant (c'est bizarre j'ai l'impression de tout le temps dire ca meme quand on parle de usb ou de n'importe quoi) , il faut mettre un transitor entre 2 (donc 2 transistor) dans ce cas faudrai meme pour etre au top en mettre 4 pour faire un pont en H : http://www.robot-amateur.com/Articles/I ... e-p24.html

Sehntis
Posts: 14
Joined: Wed May 15, 2013 3:04 pm

Re: Voiture télécommandée : problème moteur

Wed May 15, 2013 8:22 pm

Salut,

tout d'abord merci pour ta réponse.

En fait je comptais utiliser des optocoupleurs pour fournir l'énergie indépendamment du Raspberry et pour protéger ce dernier également, donc pas de souci de ce côté là.

J'ai un peu regardé le "pont en H" comme tu me l'a conseillé et je suis tombé là dessus penses-tu que c'est exactement l'usage que je recherche ?

http://learn.adafruit.com/assets/3654

C'est une puce L293D qui semblerait contenir deux ponts en H.

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Voiture télécommandée : problème moteur

Wed May 15, 2013 9:03 pm

oui le L293D est fait pour ca (a condition de pas consommer plus de 1A si je me souvient bien)

Sehntis
Posts: 14
Joined: Wed May 15, 2013 3:04 pm

Re: Voiture télécommandée : problème moteur

Wed May 15, 2013 10:38 pm

D'accord c'est commandé (au prix où ça coûte), on verra bien.

Merci pour ton aide :)

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Wed May 15, 2013 11:12 pm

Salut sehntis,

L293D à un maximum de 600 ma en continue. S'il devient trop chaud ajoute des dissipateurs de chaleur ou utilise deux puces avec de très faible résistances (~0.1 ohm) pour balancer le courant.

P.S. Il y a des modules peux dispendieux qui utilisent le L293N. Robotshop RB-Dfr-19


Tu sera peut être interessé à mon schéma et à mon code python sur ce post

http://www.raspberrypi.org/phpBB3/viewt ... 25#p347925

Daniel

Sehntis
Posts: 14
Joined: Wed May 15, 2013 3:04 pm

Re: Voiture télécommandée : problème moteur

Thu May 16, 2013 2:49 pm

Salut, sympa le projet, c'est un peu ce que je recherche :) je vais regarder de manière plus approfondie pour voir comment c'est fait.

La mienne contiendra pour démarrer :

Une webcam
Un modem 3G pour pilotage distant
Un brouilleur FM, petit gadget sur lequel je bosse actuellement

En attendant que les pièces manquantes arrivent, je travaille sur l'interface web de pilotage :)

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Mon May 20, 2013 6:12 pm

Salut Senthis,


Voici ma version web si cela t'intéresse.
Image

La partie python avec webiopi https://dl.dropboxusercontent.com/u/488 ... ebrobot.py

Et la page web.
https://dl.dropboxusercontent.com/u/488 ... index.html

Daniel

Sehntis
Posts: 14
Joined: Wed May 15, 2013 3:04 pm

Re: Voiture télécommandée : problème moteur

Tue May 21, 2013 2:24 pm

Salut, sympa l'interface web du coup quelques questions sur sa réalisation :

J'ai vu que tu utilisais du Javascript, comment fais-tu communiquer ce langage côté client avec le python (si c'est comment tu procèdes) côté serveur (Raspi) ?

Sehntis.

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Tue May 21, 2013 2:43 pm

C'est webiopi qui fait tout le travail!

http://code.google.com/p/webiopi/wiki/INSTALL


Le seul problème que j'ai, c'est que les fonctions onmousedown et onmouseup ne fonctionnent pas très bien avec mon ipad ou mon portable android. Donc si tu as le même problème, enlève la fonction onmouseup et utilise le bouton stop pour arrêter.


Daniel
Last edited by danjperron on Tue May 21, 2013 4:12 pm, edited 2 times in total.

Sehntis
Posts: 14
Joined: Wed May 15, 2013 3:04 pm

Re: Voiture télécommandée : problème moteur

Tue May 21, 2013 3:46 pm

Salut, je vais me documenter sur Webiopi alors, pour voir de quoi tout ça est capable.

Merci pour l'astuce onmouseup, c'est bon à savoir car je comptais aussi le contrôler via ma tablette, cela m'évitera des heures d'incompréhension :)

J'ai reçu une première commande aujourd'hui, j'attends la seconde avec les ponts en H et les choses sérieuses commenceront. Je mettrais régulièrement ce post à jour concernant mes avancements.

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Thu Jun 06, 2013 11:15 pm

J'ai trouvé comment utiliser les tablettes avec webiopi.

Il s'agit de remplacer onmousedown et onmouseup par ontouchstart et ontouchend.


Daniel

l'AMI Yves
Posts: 128
Joined: Thu Jun 13, 2013 1:43 pm

Re: Voiture télécommandée : problème moteur

Thu Jun 13, 2013 1:50 pm

J'ai un projet semblable avec un bateau, c'est pourquoi je m'adresse à tous ceux qui sont intervenus dans ce fil : j'ai beau chercher, je ne trouve pas de réponse satisfaisante au problème d'installer un atelier de développement rapide pour RPi sur Windows. La question est à large spectre : dans un premier temps, je ne précise ni le langage de programmation ni le serveur graphique du RPi, puisque je n'ai pas la première réponse.

J'ai une question subsidiaire : moyennant les bonnes interfaces (carte Arduino ou autre ?) est-ce que le RPi serait assez rapide pour commander les trois fils d'un moteur brushless ?

Merci de vos réponses.

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Thu Jun 13, 2013 6:21 pm

Salut l'ami Yves,

je n'utilise pas vraiment d'interface gui pour gérer mes projets. Je vais probablement utiliser eclipse lorsque le projet deviendra trop lourd.

Et pour le brushless, la réponse est non. Le RPi n'est pas un système embarqué! Il y a beaucoup de lags et aucun n'est permis pour des moteurs. Le mieux est de concevoir ou d'utiliser une interface déja conçue pour cette fin. Peut être un petit cpu avec une communication série ou i2c.

Daniel

l'AMI Yves
Posts: 128
Joined: Thu Jun 13, 2013 1:43 pm

Re: Voiture télécommandée : problème moteur

Thu Jun 13, 2013 6:58 pm

Merci de ta réponse. En même temps, elle a quelque chose d'inquiétant : compte-tenu de ces lags, est-il raisonnable d'espérer télécommander un bateau par une liaison WiFi entre un PC et un RPi : je suppose que raspbian a des lags, le wifi en a aussi, sans doute VNC ne doit rien arranger... Sait-on de façon précise à quoi l'on doit s'attendre ? Quelles sont les techniques qui permettraient de les limiter ? Existe-t-il une façon de faire du RPi un véritable système embarqué ?

Et, à propos de développement, je me considère un bon programmeur, mais mon expérience date : IBM 370, PLi, APL, Fortran, assembleur. Plus récemment VB6, mais je ne connais pas (encore) Python. J'ai entendu dire que Java était très consommateur de ressources : c'est justement pas ce que l'on veut... Tout ça pour dire que j'aurais besoin d'informations suffisamment explicites, et non d'un langage de geek qui usent et abusent de sigles à 3 lettres, ou de noms de packages avec lesquels ils jonglent depuis des lustres.

J'espère pouvoir avancer quand même...

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Thu Jun 13, 2013 9:05 pm

Non le lag est en 100 milli-seconde max. Très facile à gérer et normallement imperceptible. utilise un usb wifi å haute puissance.


Python est excellent ! pas trop de contrainte

a plus Daniel

ToOnS
Posts: 492
Joined: Sat Mar 23, 2013 10:29 am

Re: Voiture télécommandée : problème moteur

Fri Jun 14, 2013 1:19 am

l'AMI Yves wrote: ...
J'ai une question subsidiaire : moyennant les bonnes interfaces (carte Arduino ou autre ?) est-ce que le RPi serait assez rapide pour commander les trois fils d'un moteur brushless ?

Merci de vos réponses.
Salut , le plus simple serait d'utiliser un ESC (desole pour le langage de geeks qui usent et abusent de sigles à 3 lettres : Electronic Speed Control , ou variateur de vitesse) le top serait un avec un BEC (oui je sais ... 3 lettres : Battery Eliminator Circuit) de 5V 1A (ou plus pour l'amperage) comme ca le RPI est alimenté par ca avec la meme batterie que le moteur , pour commander un ESC python sait tres bien le faire.
http://www.hobbyking.com/hobbyking/stor ... tOrder=asc
ou ailleur , water cooled (ceux avec les tubes au dessus) a eviter a mon avis (apperement ca va etre dur car je vois que ca pour les bateaux) meme si avec un bateau l'eau doit pas etre trop dure a trouver mais faut ajouter une pompe je pense :mrgreen:

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Fri Jun 14, 2013 3:35 am

Oui le "ESC" est parfait. peut être un peut compliquer pour ajuster les paramètres. (code python pour faire fonctionner le servo a pleine et faible puissance. ( je suppose 2ms et 1 ms pwm).

Pour adapter le 5 Volts, tu as le choix. Le plus simple est d'utiliser un chargeur usb pour auto, celui qui ce branche dans l'allume cigarette, si tu utilises 12 Volts pour la batterie de ton bateau.

P.S. Certains cables usb à micro-usb ont des fils trop fins et ils ont trop de pertes. Vérifie avec un voltmètre sur le port GPIO du RPi si la tension du 5 volts est OK.

Daniel

l'AMI Yves
Posts: 128
Joined: Thu Jun 13, 2013 1:43 pm

Re: Voiture télécommandée : problème moteur

Fri Jun 14, 2013 6:19 am

Je vous remercie, les gars. Pour le contrôleur du moteur, avec ou sans "ESC", j'avais déjà trouvé ces informations sur les sites et forums de modélisme. C'était juste pour voir si je pouvais le faire moi-même : question de satisfaction intellectuelle.

Là où je parlais de trucs de geeks, c'était surtout pour le monde Linux. Comme je l'ai dit, ma culture informatique "ancienne", c'est le monde IBM, et récente, c'est Windows. Comme chacun sait, ces mondes (et je ne parle pas d'Apple !) s'ignorent et sont plus ou moins antagonistes. Les premiers pas d'un newbie y sont toujours... pas évidents. Soyez indulgents.

Merci encore, à bientôt.

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Fri Jun 14, 2013 11:30 am

La majorité du système linux utilisent des scripts et tout peut ce faire avec la console , pas de GUI!
Pour des véhicules autonomes, nous avons pas besoin du gui de toute façon.

Le livre linux pour les nuls est un excellent départ pour comprendre le système.

Si tu as un problème, il y aura toujours quelqu'un pour répondre. Ça c'est le gros avantage de linux, un gros bassin de bénévoles.

En passant le Mac OS X est un système Unix. Et Linux est basé sur Unix. La majorité des commandes sur linux sont les mêmes sur OS X (a quelques paramètres près). C'est ce que j'utilise avec le RPi en communicant avec ssh. J'utilise seulement mon PC pour programmer et compiler mes microprocesseurs depuis que j'ai mon Mac.

Daniel

l'AMI Yves
Posts: 128
Joined: Thu Jun 13, 2013 1:43 pm

Re: Voiture télécommandée : problème moteur

Tue Jun 18, 2013 1:31 pm

Mon expérience de Linux est vieille des quelques jours depuis que j'ai mon RPi : c'est dire ! Cependant, ce que tu dis des GUI ("Graphic User Interface" ?) me parait paradoxal : que je sache, déjà, le Mac avec OS X a bien une "GUI", non ? Sans arler de Windows, bien sûr. Et l'utilisation en ligne de commande se fait aussi sous Wiindows.

Pour piloter un véhicule, j'ai le sentiment qu'il est beaucoup plus facile est convivial d'avoir quelques curseurs qu'on peut déplacer à la souris, quelques boutons que l'on peut "cliquer", et divers indicateurs, qu'un unique clavier sur lequel on tapera telle ou telle lettre pour indiquer l'action désirée, à moins que l'on ne doive taper le nom complet d'un script, avec les paramètres de l'action en question... Évidement, ceci est dit par un newbee qui n'a encore pratiqué ni l'un ni l'autre...

Quel "environnement de développement" utilises-tu pour développer les programmes que tu transfères sur ton RPi ?

AMIcalement.

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Tue Jun 18, 2013 2:43 pm

J'essaie le plus possible de ne pas utiliser d'interface graphique sur le Raspberry Pi. Aussi je ne veux pas utiliser une interface dédiée a un O.S. spécifique.

Le plus possible j'utilise l'interface web pour toute communication avec le robot. Ce qui ne veux pas dire que je n'utilise pas une interface graphique sur le Mac pour créer les pages webs ou le code.

Et oui je préconise l' interface web. De cette façon tous mes pcs, tablettes et portables fonctionnent.

Pour être franc , je code presque tout sur une console texte avec ssh directement sur le RPI. Même le html est codé directement ,ont peut dire que le html que j'utilise est présentement trop simple et ce code plus rapidement en mode texte.

mon application préféré est nano.
Daniel

cosmoff
Posts: 78
Joined: Thu Feb 12, 2015 3:24 pm

Re: Voiture télécommandée : problème moteur

Sat Feb 21, 2015 9:38 pm

salut, j'adore ta demonstration mais j'ai quelques problemes, enfaite un seul,
voila j'ai testé tout ca mais j'obtient l'erreur :

Code: Select all

socket.error: [Errno 98]  Address already in use
as tu une idée de comment resoudre le probleme :s

merci d'avance

danjperron
Posts: 3281
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Voiture télécommandée : problème moteur

Sat Feb 21, 2015 10:00 pm

Salut Cosmoff,

cela fait plus 18 mois que j'ai répondu à ce post. Alors je suis rouillé sur ton problème.

Mon petit véhicule fonctionne toujours. Il est toujours en ligne, en mode privé, d'ailleurs.

Premièrement c'est à qui ou plutôt de quel code, que tu demandes de l'info.

Ok. Il va falloir que tu donnes plus de détail.
ou exactement tu as ce problème?

Daniel

cosmoff
Posts: 78
Joined: Thu Feb 12, 2015 3:24 pm

Re: Voiture télécommandée : problème moteur

Sun Feb 22, 2015 6:26 pm

alors mon probleme est quand je lance la commande:

Code: Select all

[email protected] ~ $ sudo webiopi -c /etc/webiopi/config
dans le but de pouvoir acceder a mon site webiopi : 192.168.1.75:9000
ca me met le message d'erreur:
[email protected] ~ $ sudo webiopi -c /etc/webiopi/config
2015-02-21 20:04:07 - WebIOPi - INFO - Starting WebIOPi/0.7.1/Python3.2
2015-02-21 20:04:07 - WebIOPi - INFO - GPIO - Native mapped to REST API /GPIO
2015-02-21 20:04:07 - WebIOPi - INFO - Loading configuration from /etc/webiopi/config
2015-02-21 20:04:07 - WebIOPi - INFO - Loading myproject from /home/pi/Desktop/Picar/python/PiCarWeb.py
/home/pi/Desktop/Picar/python/PiCarWeb.py:90: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(EnA,GPIO.OUT)
/home/pi/Desktop/Picar/python/PiCarWeb.py:95: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(EnB,GPIO.OUT)
/home/pi/Desktop/Picar/python/PiCarWeb.py:101: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(Out1,GPIO.OUT)
/home/pi/Desktop/Picar/python/PiCarWeb.py:102: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(Out2,GPIO.OUT)
/home/pi/Desktop/Picar/python/PiCarWeb.py:103: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(Out3,GPIO.OUT)
/home/pi/Desktop/Picar/python/PiCarWeb.py:104: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.
GPIO.setup(Out4,GPIO.OUT)
2015-02-21 20:04:07 - WebIOPi - INFO - GPIO - Native mapped to REST API /GPIO
2015-02-21 20:04:07 - WebIOPi - INFO - Access protected using login/password
2015-02-21 20:04:07 - WebIOPi - ERROR - [Errno 98] Address already in use
Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/protocols/http.py", line 45, in __init__
BaseHTTPServer.HTTPServer.__init__(self, ("", port), HTTPHandler)
File "/usr/lib/python3.2/socketserver.py", line 417, in __init__
self.socket_type)
File "/usr/lib/python3.2/socket.py", line 94, in __init__
_socket.socket.__init__(self, family, type, proto, fileno)
socket.error: [Errno 97] Address family not supported by protocol

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/__main__.py", line 75, in <module>
main(sys.argv)
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/__main__.py", line 69, in main
server = Server(port=port, configfile=configfile, scriptfile=scriptfile)
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/server/__init__.py", line 75, in __init__
loader.loadScript(name, source, self.restHandler)
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/utils/loader.py", line 8, in loadScript
script = imp.load_source(name, source)
File "/home/pi/Desktop/Picar/python/PiCarWeb.py", line 116, in <module>
password="robot")
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/server/__init__.py", line 123, in __init__
self.http_server = http.HTTPServer(self.host, http_port, self.restHandler, context, docroot, index, auth, realm)
File "/usr/local/lib/python3.2/dist-packages/WebIOPi-0.7.1-py3.2-linux-armv6l.egg/webiopi/protocols/http.py", line 48, in __init__
BaseHTTPServer.HTTPServer.__init__(self, ("", port), HTTPHandler)
File "/usr/lib/python3.2/socketserver.py", line 419, in __init__
self.server_bind()
File "/usr/lib/python3.2/http/server.py", line 132, in server_bind
socketserver.TCPServer.server_bind(self)
File "/usr/lib/python3.2/socketserver.py", line 430, in server_bind
self.socket.bind(self.server_address)
socket.error: [Errno 98] Address already in use
je sais pas si tu as deja rencontré ce probleme j'espere que oui :p
j'ai deja essayé :
sudo /etc/init.d/webiopi stop puis sudo webiopi -d -c /etc/webiopi/config mais aucun succes :(

j'espere que tu pourras m'aider

Return to “Français”