Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Robot Pi simple

Simple Pi Robot vise à mettre le contrôle du robot sous une forme simple.

Simple Pi Robot vise à mettre le contrôle du robot sous une forme simple.

La liste des pièces

(1) Raspberry pi (tout modèle) mais avec le lancement récent de pizero ou pi 2 devrait être une bonne option, mon modèle actuel utilise B+.

(2) câble GPIO 40 broches (si vous utilisez pi B+ ou pi 2).

(3) Planche à pain (pour assembler rapidement divers capteurs).

(4) Un châssis 2 roues motrices.

(5) Capteur de distance (Ultrasonic HC SR04).

(6) Banque d'alimentation (pour alimenter le pi).

(7) Piles rechargeables AA (de préférence 2100 mAH).

(8) Cavaliers de type mâle et femelle, résistances.

(9) Adaptateur WiFi (EDUP/EDIMAX pour communiquer sans fil avec pi).

(10) Carte mémoire (4 Go et plus pour exécuter le système d'exploitation sur pi).

(11) Pilotes de moteur (L298 ).

(12) servomoteur.

(13) Divers - attaches de câble (pour attacher les fils de liaison) et ruban en mousse (pour maintenir le servo ou tout autre capteur où l'assemblage à vis ne peut pas être utilisé).

Étape 1 : Choisir le bouclier d'entraînement du moteur

Actuellement, il existe très peu de boucliers d'entraînement de moteur disponibles pour raspberry pi, pour n'en nommer que quelques-uns :-

(1) Bouclier de contrôleur de moteur RTK 

(2) Kit de pilote de moteur double Pololu DRV8835 pour Raspberry Pi 

(3) CHAPEAU Adafruit DC et moteur pas à pas pour Raspberry Pi

(4) Planche Raspirobot fabriquée par Adafruit 

et récemment en sous-développement comme ZEROBORG 

L'un des problèmes les plus courants lors de la construction d'un robot est de minimiser les besoins en câblage et la même chose peut être obtenue en utilisant les boucliers/chapeaux. J'ai essayé de construire mon robot, d'abord avec un des boucliers équivalent au Raspirobot de la manufacture ALSROBOT. Les kits sont expédiés de Chine, mais le problème était que je n'arrivais pas à augmenter la tension d'entrée du moteur. Le maximum était inférieur à 5 volts, avec un léger déséquilibre entre les tensions, on peut toujours vérifier le lien suivant – ALSROBOT – PI Motor driver shield

Quoi qu'il en soit, dans mon didacticiel actuel, j'ai utilisé le pilote de moteur L298 bon marché et polyvalent - L298.

L'avantage de la carte ci-dessus, en plus d'être bon marché, est qu'une sortie régulée de 5 volts est disponible.

J'ai utilisé la carte L298 pour piloter deux moteurs à courant continu et 1 servomoteur.

Étape 2 :Le pilote de moteur L298

J'ai monté le pilote de moteur L298 au bas de mon châssis, maintenant pour connecter le moteur à courant continu et le servomoteur se connecter

(i) Moteur CC -A à la sortie -A (+ &-).

(ii) Moteur CC -B à la sortie -B (+ &-).

(iii) Servomoteur + ve à + 5V alimentation régulée de la carte L298 et servomoteur -ve à GND de la carte L298.

Gardez le cavalier de broche d'activation tel quel, si vous ne voulez pas de contrôle de vitesse, sinon retirez le cavalier. Le cavalier en place assure une alimentation de +5 V pour activer la broche qui à son tour entraîne le moteur à la vitesse nominale.

Connectez maintenant 4 fils de cavalier aux entrées de contrôle, connectez l'autre extrémité des fils de cavalier à la broche GPIO comme indiqué à l'étape suivante.

Pour le servomoteur, connectez un non. fil de liaison pour le contrôle vers la broche GPIO comme à l'étape suivante

Étape 3 :Le servomoteur

Le servo a une connexion à 3 fils :alimentation, masse et contrôle. La source d'alimentation doit être constamment appliquée.

Le signal de commande est modulé en largeur d'impulsion (PWM), mais ici, la durée de l'impulsion positive détermine la position de l'arbre d'asservissement. Par exemple, une impulsion de 1,520 milliseconde est la position centrale d'un servo Futaba S148. Une impulsion plus longue fait tourner le servo vers une position dans le sens des aiguilles d'une montre à partir du centre, et une impulsion plus courte fait tourner le servo dans une position dans le sens inverse des aiguilles d'une montre à partir du centre.

J'ai utilisé le servo Futuba s3003 - la connexion est très simple, le "+" et le "-" vont à la carte L298 comme indiqué précédemment. Il est important de regarder la tension de fonctionnement du servo (dans mon cas, il s'agit de 4,8 à 6 V, voir l'image ci-dessus), le fil de signal doit être connecté à la sortie GPIO, normalement blanc ou orange.

Le contrôle des servomoteurs dans raspberry pi peut être délicat, mais il existe une bibliothèque très puissante hébergée @ RPIO.PWM, pour l'installer sur pi, utilisez le code suivant.

sudo apt-get install python-setuptoolssudo easy_install -U RPIO 

Pour en savoir plus sur RPIO.PWM et le DMA utilisé, veuillez vous référer au lien  https://pythonhosted.org/RPIO/pwm_py.html

Étape 4 :Le châssis du robot

J'ai utilisé le châssis Ellipzo Robot avec 2 roues motrices, les 2 roues motrices sont simples et faciles à contrôler.

Le kit est inclus avec les moteurs à courant continu, le kit de panoramique pour les servomoteurs et tout le matériel nécessaire pour assembler le kit.

Le lien détaillé est disponible sur - Kit de châssis du robot Ellipzo.

PL. reportez-vous à la vidéo pour l'assemblage du Raspberry Pi, avec le pilote de moteur L298, la carte de dérivation, le module de caméra et la banque d'alimentation.

Étape 5 :Le capteur de distance

L'intégration du capteur de distance est facile et nous n'avons besoin que d'une résistance de 1k, ainsi que de câbles de connexion. Connectez VCC &GND à pi +5Volts &GND respectivement.

Les deux autres broches TRIG &ECHO doivent être connectées aux broches GPIO comme dans les étapes précédentes. N'oubliez pas de connecter la résistance comme indiqué sur l'image.

Le code Python pour mesurer la distance est inclus dans la dernière étape.

Étape 6 :Raspberry Pi -camera - Streaming vidéo à l'aide du lecteur VLC

Ici, j'ai utilisé le module de caméra Pi, la configuration est assez simple et vous pouvez vous référer au lien :Configuration de la caméra Raspberry pi

Pour le streaming vidéo, avec VLC, commencez par installer VLC sur raspberry pi

sudo apt-get install vlc 

Pour commencer à diffuser la vidéo de la caméra à l'aide de RTSP, entrez ce qui suit

raspivid -o - -t 0 -n | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264 

ou avec une largeur et une hauteur appropriées, utilisez le code suivant

raspivid -o - -t 0 -n -w 600 -h 400 -fps 12 | cvlc -vvv stream:///dev/stdin --sout '#rtp{sdp=rtsp://:8554/}' :demux=h264 

Maintenant, pour afficher le flux sur le lecteur VLC, ouvrez VLC sur votre système distant, puis ouvrez un flux réseau à l'aide de

rtsp://###.###.###.###:8554/

où ###.###.###.### est l'adresse de votre pi donnée par le routeur réseau.

Maintenant que le pi se déplace à l'intérieur de votre maison, voyez le flux vidéo sur votre système distant.

Étape 7 :Brochage du Raspberry Pi et code python

Étape 8 :Quelques images d'assemblage

Code

à partir de RPIO importer PWMimport RPi.GPIO en tant que GPIOfrom RPIO importer PWMimport RPi.GPIO en tant que GPIOimport timefrom time import sleepfrom subprocess import callGPIO.setmode(GPIO.BCM)GPIO.setup(19,GPIO .OUT)GPIO.setup(26,GPIO.OUT)GPIO.setup(16,GPIO.OUT)GPIO.setup(20,GPIO.OUT)GPIO.setup(21,GPIO.IN)GPIO.setup(8,GPIO) .OUT)GPIO.setup(27,GPIO.OUT)GPIO.setup(9,GPIO.OUT)TRIG=18ECHO=17print"controls"print"1 :avancer"print"2 :reculer"print"3 :arrêter robot"print"4 :prendre une photo avec le nom défini par l'utilisateur"print"5 :avancer avec le contrôle de la vitesse"print"6 :faire pivoter le robot"print"7 :faire tourner le robot"print"8 :pour le contrôle d'asservissement, veuillez"imprimer" 11 :bienvenue dans le contrôle autonome"print"appuyez sur entrée pour envoyer la commande"def takestillpic(inp):print"veuillez entrer le caractère de la photo"inp =raw_input() appel ( ["raspistill -vf -hf -o " + str(inp) + ".jpg" ],shell=True ) def fwd():GPIO.output(19,True) GPIO.output(26,False) GPIO.output(16,True) GPIO.output(20,False)def rev ():GPIO.sortie (19, Faux) GPI O.output(26,True) GPIO.output(16,False) GPIO.output(20,True)def stop() :GPIO.output(19,False) GPIO.output(26,False) GPIO.output(16) ,False) GPIO.output(20,False)def distmeas():print" Mesure de distance en cours" GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN) GPIO.output(TRIG,False ) print" en attente que le capteur s'installe s'il vous plaît" time.sleep(2) GPIO.output(TRIG,True) time.sleep(0.00001) GPIO.output(TRIG,False) tandis que GPIO.input(ECHO)==0:pulse_start =time.time() tandis que GPIO.input(ECHO)==1:pulse_end=time.time() pulse_duration =pulse_end - pulse_start distance =pulse_duration * 17150 distance =round(distance,2) print " Distance ", distance, " cm" si distance <50 :GPIO.output(19,False) GPIO.output(26,False) GPIO.output(16,False) GPIO.output(20,False) time.sleep(1) print " robot arrêté comme la distance est moindre" print " Now Robot going Backward" GPIO.output(19,False) GPIO.output(26,True) GPIO.output(16,False) GPIO.output(20,True) time.sleep(1) GPIO .output(19,False) GPIO.output(26,False) G PIO.output(16,False) GPIO.output(20,False) TLr() time.sleep(4) fwd() distmeas() else:distmeas() def TL():GPIO.output(19,True) GPIO .output(26,False) GPIO.output(16,False) GPIO.output(20,False)def TLr() :GPIO.output(19,True) GPIO.output(26,False) time.sleep(0.75) GPIO.output (19,False) GPIO.output(26,False) while True :inp=raw_input() if inp =="1":fwd() print"robot se déplaçant dans la direction avant" elif inp =="2" :rev() print"robot se déplaçant dans le sens du rev" elif inp=="3":stop() print"robot arrêté" elif inp =="4":takestillpic(inp) print " photo please" elif inp ==" 5":GPIO.output(7,False) GPIO.output(8,False) elif inp =="6":TL() elif inp =="7":TLr() elif inp =="8":servo =PWM.Servo() servo.set_servo(27,1000) time.sleep(2) servo.stop_servo(27) elif inp =="9":servo =PWM.Servo() servo.set_servo(27,1500) temps .sleep(2) servo.stop_servo(27) elif inp =="10":servo =PWM.Servo() servo.set_servo(27,2000) time.sleep(2) servo.stop_servo(27) elif inp =="11":fwd() distmeas() GPIO.c leanup()

Source :Robot Pi simple


Processus de fabrication

  1. Experts en réparation de servomoteurs Fanuc
  2. Réparation experte de servomoteurs Siemens
  3. Conseils pour les réparations et le dépannage des servomoteurs
  4. Robot pour une navigation intérieure super cool
  5. Le mouvement servo améliore les opérations du robot
  6. La beauté du réducteur planétaire pour servomoteur
  7. Qu'est-ce qu'un servomoteur ?
  8. Qu'est-ce qu'un réducteur de servomoteur ?
  9. Couplage de réducteurs avec des servomoteurs