Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Robot Pi simple

Simple Pi Robot tiene como objetivo poner el control del robot en una forma simple.

Simple Pi Robot tiene como objetivo poner el control del robot en una forma simple.

La lista de piezas

(1) Raspberry pi (cualquier modelo) pero con el reciente lanzamiento de pizero o pi 2 será una buena opción, mi modelo actual emplea B +.

(2) Cable GPIO de 40 pines (si usa pi B + o pi 2).

(3) Placa de pruebas (para ensamblar rápidamente varios sensores).

(4) Un chasis 2wd.

(5) Sensor de distancia (Ultrasonic HC SR04).

(6) Banco de energía (para encender el pi).

(7) Pilas recargables AA (preferiblemente 2100 mAH).

(8) Cables de puente de tipo macho y hembra, resistencias.

(9) Adaptador WiFi (EDUP / EDIMAX para comunicarse de forma inalámbrica con pi).

(10) Tarjeta de memoria (4GB y más para ejecutar el SO en pi).

(11) Controladores de motor (L298).

(12) servomotor.

(13) Varios:bridas para cables (para atar los cables de puente) y cinta de espuma (para sujetar el servo o cualquier otro sensor donde no se pueda usar el conjunto de tornillos).

Paso 1:Elección de la protección del motor drive

Actualmente hay muy pocos protectores de accionamiento de motor disponibles para raspberry pi, por nombrar algunos:-

(1) Blindaje del controlador de motor RTK

(2) Kit de controlador de motor dual Pololu DRV8835 para Raspberry Pi

(3) Adafruit DC y motor paso a paso HAT para Raspberry Pi

(4) Tablero Raspirobot fabricado por Adafruit

y recientemente subdesarrollo como ZEROBORG

Uno de los problemas más comunes al construir cualquier robot, es minimizar el requisito de cableado y lo mismo se puede lograr usando los escudos / sombrero. Intenté construir mi robot, primero con uno de los escudos equivalentes a Raspirobot de la manufactura ALSROBOT. Los kits se envían desde China, pero el problema es que no pude aumentar el voltaje de entrada del motor. El máximo fue de menos de 5 Voltios, con un ligero desequilibrio entre los voltajes, aún se puede verificar el siguiente enlace - ALSROBOT - Escudo del controlador del motor PI

De todos modos, en mi tutorial actual he utilizado el controlador de motor L298 barato y versátil:L298.

La ventaja de la placa anterior, además de ser barata, es que hay una salida regulada de 5 voltios disponible.

He utilizado la placa L298 para impulsar dos motores de CC y 1 servomotor.

Paso 2:El controlador de motor L298

He montado el controlador de motor L298 en la parte inferior de mi chasis, ahora para conectar el motor de CC y el servomotor.

(i) Motor de CC -A a salida -A (+ y -).

(ii) Motor de CC -B a salida -B (+ y -).

(iii) Servomotor + ve a + 5V suministro regulado de placa L298 y servomotor -ve a GND de placa L298.

Mantenga el puente de pin de habilitación como está, si no desea control de velocidad, de lo contrario, retire el puente. El puente en su lugar asegura un suministro de + 5V para habilitar el pin que a su vez impulsa el motor a la velocidad nominal.

Ahora conecte 4 cables de puente nos a las entradas de control, conecte el otro extremo de los cables de puente al pin GPIO como se indica en el siguiente paso.

Para servomotor, conecte uno no. cable de puente para controlar el pin GPIO como en el siguiente paso

Paso 3:El servomotor

El servo tiene una conexión de 3 cables:alimentación, tierra y control. La fuente de energía debe aplicarse constantemente.

La señal de control es modulada por ancho de pulso (PWM), pero aquí la duración del pulso positivo determina la posición del eje del servo. Por ejemplo, un pulso de 1.520 milisegundos es la posición central de un servo Futaba S148. Un pulso más largo hace que el servo gire hacia la derecha desde el centro, y un pulso más corto hace que el servo gire hacia la izquierda desde el centro.

He usado el servo Futuba s3003 - la conexión es muy simple, el “+” y el “-” van a la placa L298 como se describió anteriormente. Es importante mirar el voltaje de operación del servo (en mi caso es 4.8 - 6 V ver imagen arriba), el cable de señal debe conectarse a la salida GPIO, normalmente es blanco o naranja.

Controlar los servomotores en raspberry pi puede ser complicado, pero hay una biblioteca muy poderosa alojada en @ RPIO.PWM, para instalarla en pi use el siguiente código.

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

Para obtener más información sobre RPIO.PWM y el DMA utilizado, consulte el enlace https://pythonhosted.org/RPIO/pwm_py.html

Paso 4:El chasis del robot

He usado el chasis Ellipzo Robot con 2wd, 2wd son simples y fáciles de controlar.

El kit viene incluido con motores de CC, kit de plato para servomotores y todo el hardware necesario para ensamblar el kit.

El enlace detallado está disponible en - Ellipzo Robot chaisis kit.

Pl. Consulte el video para el ensamblaje de Raspberry Pi, junto con el controlador del motor L298, la placa Breakout, el módulo de la cámara y el banco de energía.

Paso 5:El sensor de distancia

Integrar el sensor de distancia es fácil y solo necesitamos una resistencia de 1k, junto con cables de puente. Conecte VCC y GND a pi + 5Volts y GND respectivamente.

Los otros dos pines TRIG y ECHO deben conectarse a los pines GPIO como en los pasos anteriores. Recuerde conectar la resistencia como se muestra en la imagen.

El código Python para medir la distancia se incluye en el último paso.

Paso 6:Raspberry Pi -camera - Transmisión de video usando el reproductor VLC

Aquí he usado el módulo de la cámara Pi, la configuración es bastante fácil y puede consultar el enlace:Configuración de la cámara Raspberry pi

Para la transmisión de video, con VLC comience con la instalación de VLC en raspberry pi

  sudo apt-get install vlc  

Para comenzar a transmitir el video de la cámara usando RTSP, ingrese lo siguiente

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

o con el ancho y alto adecuados, use el siguiente código

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

Ahora, para ver la transmisión a través del reproductor VLC, abra VLC en su sistema remoto y luego abra una transmisión de red usando

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

donde ###. ###. ###. ### es la dirección de tu pi proporcionada por el enrutador de red.

Ahora, mientras el pi se mueve dentro de su hogar, vea la transmisión de video en su sistema remoto.

Paso 7:Pin-out de Raspberry pi y código Python

Paso 8:algunas imágenes de ensamblaje

Código

 desde RPIO importar PWMimportar RPi.GPIO como GPIO desde RPIO importar PWMimportar RPi.GPIO como GPIOimportar tiempo desde el tiempo importar dormirdesde subproceso importar llamadaGPIO.setmode (GPIO.BCM) GPIO.setup (19, GPIO .OUT) Configuración de GPIO (26, GPIO.OUT) Configuración de GPIO (16, GPIO.OUT) Configuración de GPIO (20, GPIO.OUT) Configuración de GPIO (21, GPIO.IN) Configuración de GPIO (8, GPIO .OUT) GPIO.setup (27, GPIO.OUT) GPIO.setup (9, GPIO.OUT) TRIG =18ECHO =17print "controles" imprimir "1:avanzar" imprimir "2:mover hacia atrás" imprimir "3:detener robot "imprimir" 4:tomar una foto con el nombre definido por el usuario "imprimir" 5:avanzar con el control de velocidad "imprimir" 6:girar el robot "imprimir" 7:girar el robot "imprimir" 8:para el servocontrol, "imprimir" 11:bienvenido al control autónomo "imprimir" presione enter para enviar el comando "def takestillpic (inp):print" ingrese el carácter de la foto "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, falso) 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 ():imprime "Medición de distancia en progreso" GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN) GPIO.output (TRIG, False ) imprime "esperando que el sensor se estabilice" time.sleep (2) GPIO.output (TRIG, True) time.sleep (0.00001) GPIO.output (TRIG, False) mientras que GPIO.input (ECHO) ==0:pulse_start =time.time () while GPIO.input (ECHO) ==1:pulse_end =time.time () pulse_duration =pulse_end - pulse_start distancia =pulse_duration * 17150 distancia =ronda (distancia, 2) imprima "Distancia", distancia, " cm "si la distancia <50:GPIO.output (19, False) GPIO.output (26, False) GPIO.output (16, False) GPIO.output (20, False) time.sleep (1) print" el robot se detuvo cuando la distancia es menor "imprimir" Ahora el robot retrocede "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 moviéndose en dirección de avance" elif inp =="2" :rev () imprime "robot moviéndose en dirección rev" elif inp =="3":stop () imprime "robot detenido" elif inp =="4":takestillpic (inp) imprime "foto por favor" 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 () 

Fuente:Robot Pi simple


Proceso de manufactura

  1. Expertos en reparación de servomotores Fanuc
  2. Expertos en reparación de servomotores Siemens
  3. Consejos para reparaciones de servomotores y solución de problemas
  4. Obstáculos que evitan el robot con servomotor
  5. Joy Robot (Robô Da Alegria)
  6. Robot para navegación interior supercogedora
  7. El servomovimiento mejora las operaciones de los robots
  8. La belleza de la caja de cambios planetaria para servomotor
  9. ¿Qué es un servomotor?
  10. ¿Qué es el servomotor reductor?
  11. Emparejamiento de cabezales de engranajes con servomotores