Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Einfacher Pi-Roboter

Simple Pi Robot zielt darauf ab, die Robotersteuerung in eine einfache Form zu bringen.

Simple Pi Robot zielt darauf ab, die Robotersteuerung in eine einfache Form zu bringen.

Die Teileliste

(1) Raspberry Pi (Jedes Modell), aber mit der kürzlichen Einführung von Pizero oder Pi 2 sollte eine gute Option sein, mein aktuelles Modell verwendet B+.

(2) 40-poliges GPIO-Kabel (bei Verwendung von Pi B+ oder Pi 2).

(3) Steckbrett (zur schnellen Montage verschiedener Sensoren).

(4) Ein 2WD-Chassis.

(5) Distanzsensor (Ultraschall HC SR04).

(6) Powerbank (zum Einschalten des Pi).

(7) Wiederaufladbare Batterien AA (vorzugsweise 2100 mAh).

(8) Überbrückungsdrähte sowohl männlich als auch weiblich, Widerstände.

(9) WiFi-Adapter (EDUP/EDIMAX für die drahtlose Kommunikation mit pi).

(10) Speicherkarte (4 GB und höher zum Ausführen des Betriebssystems auf pi).

(11) Motortreiber (L298).

(12) Servomotor.

(13) Verschiedenes – Kabelbinder (zum Binden der Überbrückungsdrähte) und Schaumstoffband (zum Halten von Servos oder anderen Sensoren, bei denen keine Schraubmontage verwendet werden kann).

Schritt 1:Auswahl des Motorantriebsschilds

Derzeit sind nur sehr wenige Motorantriebsschilde für Raspberry Pi verfügbar, um nur einige zu nennen:-

(1) RTK-Motorcontroller-Abschirmung 

(2) Pololu DRV8835 Dual-Motor-Treiber-Kit für Raspberry Pi 

(3) Adafruit DC und Schrittmotor-HAT für Raspberry Pi

(4) Raspirobot-Board von Adafruit 

und in letzter Zeit Unterentwicklung wie ZEROBORG 

Eines der häufigsten Probleme beim Bau eines Roboters besteht darin, den Verdrahtungsaufwand zu minimieren, und dasselbe kann durch die Verwendung der Abschirmungen/Hut erreicht werden. Ich habe versucht, meinen Roboter zu bauen, zuerst mit einem der Shield-Äquivalente zu Raspirobot vom Hersteller ALSROBOT. Die Kits werden aus China geliefert, aber das Problem war, dass ich die Motoreingangsspannung nicht erhöhen konnte. Das Maximum war weniger als 5 Volt, mit einem leichten Ungleichgewicht zwischen den Spannungen, trotzdem kann man den folgenden Link überprüfen – ALSROBOT – PI-Motortreiberschild

Wie auch immer In meinem aktuellen Tutorial habe ich den billigen und vielseitigen L298-Motortreiber verwendet – L298.

Der Vorteil der obigen Platine ist, abgesehen davon, dass sie billig ist, dass ein geregelter 5 Volt-Ausgang zur Verfügung steht.

Ich habe die L298-Platine verwendet, um zwei Gleichstrommotoren und 1 Servomotoren anzutreiben.

Schritt 2:Der L298-Motortreiber

Ich habe den L298-Motortreiber an der Unterseite meines Chassis montiert, um jetzt den Gleichstrommotor und den Servomotor anzuschließen

(i) Gleichstrommotor -A zum Ausgang -A (+ &-).

(ii) Gleichstrommotor -B zum Ausgang -B (+ &-).

(iii) Servomotor +ve bis +5V geregelte Versorgung der L298-Platine &Servomotor -ve an GND der L298-Platine.

Lassen Sie den Jumper des Aktivierungsstifts unverändert, wenn Sie keine Geschwindigkeitssteuerung wünschen, entfernen Sie andernfalls den Jumper. Der eingesetzte Jumper stellt eine +5-V-Versorgung sicher, um den Pin zu aktivieren, der wiederum den Motor mit Nenndrehzahl antreibt.

Verbinden Sie nun 4 Nos-Jumperdrähte mit den Steuereingängen, verbinden Sie das andere Ende der Jumperdrähte mit dem GPIO-Pin, wie im nächsten Schritt angegeben.

Für Servomotor eine Nr. Überbrückungskabel für die Steuerung zum GPIO-Pin wie im nächsten Schritt

Schritt 3:Der Servomotor

Das Servo hat eine 3-Draht-Verbindung:Strom, Masse und Steuerung. Die Stromquelle muss ständig angelegt sein.

Das Steuersignal ist pulsweitenmoduliert (PWM), aber hier bestimmt die Dauer des positiven Impulses die Position der Servowelle. Ein Impuls von 1,520 Millisekunden ist beispielsweise die Mittelposition für ein Futaba S148-Servo. Ein längerer Impuls führt dazu, dass sich das Servo von der Mittelposition im Uhrzeigersinn dreht, und ein kürzerer Impuls lässt das Servo von der Mittelposition gegen den Uhrzeigersinn drehen.

Ich habe Futuba s3003 Servo verwendet – die Verbindung ist sehr einfach das "+" &"-" geht wie oben beschrieben zum L298 Board. Es ist wichtig, auf die Betriebsspannung des Servos zu achten (in meinem Fall sind es 4,8 – 6 V siehe Bild oben), das Signalkabel muss an den GPIO-Ausgang angeschlossen werden, normalerweise ist er weiß oder orange.

Die Steuerung von Servomotoren in Raspberry Pi mag schwierig sein, aber dann gibt es eine sehr leistungsstarke Bibliothek, die @ RPIO.PWM gehostet wird. Verwenden Sie den folgenden Code, um sie auf Pi zu installieren.

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

Weitere Informationen zu RPIO.PWM und dem verwendeten DMA finden Sie unter dem Link  https://pythonhosted.org/RPIO/pwm_py.html

Schritt 4:Das Roboter-Chassis

Ich habe Ellipzo Robot Chassis mit 2wd verwendet, 2wd sind einfach und leicht zu steuern.

Das Kit wird mit DC-Motoren, Pan-Kit für Servomotoren und allen erforderlichen Hardwares zum Zusammenbau des Kits geliefert.

Den detaillierten Link finden Sie unter – Ellipzo Robot-Fahrgestell-Kit.

Pl. Sehen Sie sich das Video zur Montage des Raspberry Pi zusammen mit dem L298-Motortreiber, dem Breakout-Board, dem Kameramodul und der Powerbank an.

Schritt 5:Der Distanzsensor

Die Integration des Distanzsensors ist einfach und wir benötigen nur einen 1k-Widerstand zusammen mit Überbrückungsdrähten. Verbinden Sie VCC &GND mit pi +5Volt bzw. GND.

Die anderen beiden Pins TRIG &ECHO sind wie in den vorherigen Schritten mit GPIO-Pins zu verbinden. Denken Sie daran, den Widerstand wie im Bild gezeigt anzuschließen.

Der Python-Code zum Messen der Entfernung ist im letzten Schritt enthalten.

Schritt 6:Raspberry Pi-Kamera – Videostreaming mit VLC-Player

Hier habe ich das Pi-Kameramodul verwendet, die Einrichtung ist recht einfach und Sie können auf den Link verweisen:Himbeer-Pi-Kamera-Setup

Beginnen Sie für das Video-Streaming mit VLC mit der Installation von VLC auf Himbeer-Pi

sudo apt-get install vlc 

Um mit dem Streamen des Kameravideos mit RTSP zu beginnen, geben Sie Folgendes ein

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

oder mit der richtigen Breite und Höhe folgenden Code verwenden

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

Um nun den Stream über den VLC-Player anzuzeigen, öffnen Sie VLC auf Ihrem Remote-System, als einen Netzwerkstream mit

. zu öffnen

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

wobei ###.###.###.### die vom Netzwerkrouter angegebene Adresse Ihres Pi ist.

Wenn sich der Pi jetzt in Ihrem Zuhause bewegt, sehen Sie den Videostream auf Ihrem Remote-System.

Schritt 7:Raspberry Pi-Pinbelegung und Python-Code

Schritt 8:Einige Montagebilder

Code

from RPIO import PWMimport RPi.GPIO as GPIOfrom RPIO import PWMimport RPi.GPIO as 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:vorwärts bewegen"print"2:rückwärts bewegen"print"3:stop robot"print"4:Bild mit benutzerdefiniertem Namen aufnehmen"print"5:vorwärts bewegen mit Geschwindigkeitssteuerung"print"6:Roboter drehen"print"7:Roboter drehen"print"8:für Servosteuerung bitte "print" 11 :Willkommen bei der autonomen Steuerung"Drucken"drücken Sie die Eingabetaste, um den Befehl zu senden"def takestillpic(inp):print"Bitte geben Sie das Fotozeichen ein"inp =raw_input() call( ["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.output(19,False) 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" Distanzmessung läuft" GPIO.setup(TRIG,GPIO.OUT) GPIO.setup(ECHO,GPIO.IN) GPIO.output(TRIG,False ) print" Warten auf Sensor zur Beruhigung bitte" time.sleep(2) GPIO.output(TRIG,True) time.sleep(0.00001) GPIO.output(TRIG,False) while GPIO.input(ECHO)==0:pulse_start =time.time() while GPIO.input(ECHO)==1:pulse_end=time.time() pulse_duration =pulse_end - pulse_start distance =pulse_duration * 17150 distance =round(distanz,2) print " Distance ", distance, " cm" wenn Abstand <50 :GPIO.output(19,False) GPIO.output(26,False) GPIO.output(16,False) GPIO.output(20,False) time.sleep(1) print "Roboter gestoppt als Abstand ist kleiner" print "Jetzt fährt der Roboter rückwärts" GPIO.output(19,False) GPIO.output(26,True) GPIO.output(16,False) GPIO.output(20,True) time.sleep(1) GPIO .Ausgabe(19,Falsch) GPIO.Ausgabe(26,Falsch) 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"Roboter bewegt sich in Vorwärtsrichtung" elif inp =="2" :rev() print"Roboter bewegt sich in Drehzahlrichtung" elif inp=="3":stop() print"Roboter gestoppt" elif inp =="4":takestillpic(inp) print "Foto bitte" 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) time .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()

Quelle:Einfacher Pi-Roboter


Herstellungsprozess

  1. Experten für die Reparatur von Fanuc-Servomotoren
  2. Sachkundige Reparatur von Siemens Servomotoren
  3. Tipps für die Reparatur und Fehlerbehebung von Servomotoren
  4. Hindernisse vermeiden Roboter mit Servomotor
  5. Roboter für supercoole Indoor-Navigation
  6. Servobewegung verbessert den Roboterbetrieb
  7. Die Schönheit des Planetengetriebes für Servomotoren
  8. Was ist ein Servomotor?
  9. Was ist ein Servomotor-Reduzierer?
  10. Koppeln von Getrieben mit Servomotoren