Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Robô Pi Simples


O Simple Pi Robot tem como objetivo colocar o controle do robô de forma simples.

O Simple Pi Robot tem como objetivo colocar o controle do robô de forma simples.

A lista de peças

(1) Raspberry pi (qualquer modelo), mas com o recente lançamento do pizero ou pi 2 será uma boa opção, meu modelo atual emprega B +.

(2) Cabo GPIO de 40 pinos (se estiver usando pi B + ou pi 2).

(3) Placa de ensaio (para montagem rápida de vários sensores).

(4) Um chassi 2wd.

(5) Sensor de distância (Ultrasonic HC SR04).

(6) Banco de potência (para energizar o pi).

(7) Pilhas recarregáveis ​​AA (de preferência 2100 mAH).

(8) Fios de ligação em ambos os tipos macho e fêmea, resistores.

(9) Adaptador WiFi (EDUP / EDIMAX para comunicação sem fio com pi).

(10) Cartão de memória (4 GB e superior para rodar o SO no pi).

(11) Drivers de motor (L298).

(12) servo motor.

(13) Diversos - abraçadeiras (para amarrar os fios de jumper) e fita de espuma (para segurar servo ou qualquer outro sensor onde o conjunto de parafuso não pode ser usado).

Etapa 1:escolha da blindagem do motor


Atualmente, existem muito poucos protetores de acionamento do motor disponíveis para o Raspberry Pi, para citar alguns:-

(1) Escudo do controlador do motor RTK

(2) Kit de driver de motor duplo Pololu DRV8835 para Raspberry Pi

(3) Adafruit DC e HAT de motor de passo para Raspberry Pi

(4) Placa Raspirobot feita por Adafruit

e recentemente subdesenvolvimento como ZEROBORG

Um dos problemas mais comuns na construção de qualquer robô, é minimizar a necessidade de fiação e o mesmo pode ser alcançado usando as blindagens / chapéu. Tentei construir meu robô, primeiro com um escudo equivalente ao Raspirobot da manufatura ALSROBOT. Os kits são enviados da China, mas o problema foi que não consegui aumentar a tensão de entrada do motor. O máximo foi inferior a 5 Volts, com ligeiro desequilíbrio entre as tensões, ainda pode-se verificar o seguinte link - ALSROBOT - PI Motor driver shield

De qualquer forma, em meu tutorial atual eu usei o driver de motor L298 barato e versátil - L298.

A vantagem da placa acima, além de ser barata, é que há uma saída regulada de 5Volts disponível.

Usei a placa L298 para acionar dois motores CC e 1 servo motor.

Etapa 2:o driver do motor L298


Eu montei o driver do motor L298 na parte inferior do meu chassi, agora para conectar o motor DC e o servo motor

(i) Motor DC -A para saída -A (+ e -).

(ii) Motor DC -B para saída -B (+ e -).

(iii) Servo motor + ve para + 5V alimentação regulada da placa L298 e servo motor -ve para GND da placa L298.

Mantenha o jumper de pino de ativação como está, se você não quiser o controle de velocidade, caso contrário, remova o jumper. O jumper no lugar garante a alimentação de + 5 V para habilitar o pino que, por sua vez, aciona o motor na velocidade nominal.

Agora conecte 4 fios de jumper nas entradas de controle, conecte a outra extremidade dos fios de jumper ao pino GPIO conforme designado na próxima etapa.

Para servo motor, conecte um não. fio jumper para controle para pino GPIO como na próxima etapa

Etapa 3:O servo motor


O servo tem uma conexão de 3 fios:alimentação, aterramento e controle. A fonte de alimentação deve ser constantemente aplicada.

O sinal de controle é modulado por largura de pulso (PWM), mas aqui a duração do pulso positivo determina a posição do servo eixo. Por exemplo, um pulso de 1.520 milissegundos é a posição central para um servo Futaba S148. Um pulso mais longo faz o servo girar no sentido horário a partir do centro, e um pulso mais curto faz o servo girar no sentido anti-horário a partir do centro.

Eu usei o servo Futuba s3003 - a conexão é muito simples o “+” e “-” vai para a placa L298 conforme descrito anteriormente. É importante olhar para a tensão de operação do servo (no meu caso é 4,8 - 6 V, veja a imagem acima), o fio de sinal deve ser conectado à saída GPIO, normalmente é branco ou laranja.

Controlar servo motores no raspberry pi pode ser complicado, mas existe uma biblioteca muito poderosa hospedada em @ RPIO.PWM, para instalá-lo no pi use o seguinte código.
  sudo apt-get install python-setuptoolssudo easy_install -U RPIO  

Para saber mais sobre RPIO.PWM e o DMA usado, consulte o link https://pythonhosted.org/RPIO/pwm_py.html

Etapa 4:o chassi do robô


Eu usei chassis Ellipzo Robot com 2wd, 2wd são simples e fáceis de controlar.

O kit vem incluído com motores DC, kit pan para servo motores e todo o hardware necessário para montar o kit.

O link detalhado está disponível em - Ellipzo Robot chaisis kit.

Pl. consulte o vídeo para a montagem do Raspberry Pi, junto com o driver do motor L298, a placa Breakout, o módulo da câmera e o banco de energia.

Etapa 5:o sensor de distância


A integração do sensor de distância é fácil e precisamos de apenas 1k resistor, junto com os fios de jumper. Conecte VCC e GND a pi + 5Volts e GND respectivamente.

Os outros dois pinos TRIG e ECHO devem ser conectados aos pinos GPIO como nas etapas anteriores. Lembre-se de conectar o resistor conforme mostrado na imagem.

O código Python para medir a distância está incluído na última etapa.

Etapa 6:Raspberry Pi -camera - streaming de vídeo usando o VLC player


Aqui usei o módulo de câmera Pi, a configuração é bem fácil e você pode consultar o link:Configuração da câmera Raspberry pi

Para streaming de vídeo, com o VLC, comece com a instalação do VLC no raspberry pi
  sudo apt-get install vlc  

Para iniciar a transmissão do vídeo da câmera usando RTSP, digite o seguinte
  raspivid -o - -t 0 -n | cvlc -vvv stream:/// dev / stdin --sout '#rtp {sdp =rtsp://:8554 /}':demux =h264  

ou com largura e altura adequadas, use o código a seguir
  raspivid -o - -t 0 -n -w 600 -h 400 -fps 12 | cvlc -vvv stream:/// dev / stdin --sout '#rtp {sdp =rtsp://:8554 /}':demux =h264  

Agora, para visualizar o stream no VLC player, abra o VLC em seu sistema remoto e depois abra um stream de rede usando

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

onde ###. ###. ###. ### é o endereço do seu pi fornecido pelo roteador da rede.

Agora, conforme o pi se move dentro de sua casa, veja o stream de vídeo em seu sistema remoto.

Etapa 7:pin-out Raspberry pi e código python

Etapa 8:algumas imagens de montagem

Código

 de RPIO importe PWMimport RPi.GPIO as GPIOfrom RPIO import PWMimport RPi.GPIO as GPIOimporte 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 "controla" print "1:avança" print "2:move reverso" print "3:pára robô "imprimir" 4:tirar uma foto com o nome definido pelo usuário "imprimir" 5:avançar com o controle de velocidade "imprimir" 6:Girar o robô "imprimir" 7:Girar o robô "imprimir" 8:para o controle servo, "imprimir" 11:bem-vindo ao controle autônomo "print" pressione enter para enviar o comando "def takestillpic (inp):print" digite o caractere da 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, 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 ():imprimir "Medição de distância em andamento" GPIO.setup (TRIG, GPIO.OUT) GPIO.setup (ECHO, GPIO.IN) GPIO.output (TRIG, False ) imprimir "aguardando o sensor para resolver" time.sleep (2) GPIO.output (TRIG, True) time.sleep (0,00001) GPIO.output (TRIG, False) enquanto 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 (distance, 2) imprimir "Distance", distance, " cm "se a distância for <50:GPIO.output (19, False) GPIO.output (26, False) GPIO.output (16, False) GPIO.output (20, False) time.sleep (1) print" robô parado como a distância é menor "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) enquanto True:inp =raw_input () if inp =="1":fwd () print "robô movendo-se na direção de avanço" elif inp =="2" :rev () print "robô se movendo na direção da rotação" elif inp =="3":stop () print "robô parado" elif inp =="4":takestillpic (inp) print "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) tempo .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 () 

Fonte:Simple Pi Robot

Processo de manufatura

  1. Especialistas em Reparo de Motor Servo Fanuc
  2. Reparação de servomotor especialista Siemens
  3. Dicas para reparos e solução de problemas do servo motor
  4. Obstáculos para evitar o robô com servo motor
  5. Robô para navegação interna supercool
  6. Servo Motion melhora as operações do robô
  7. A beleza da caixa de engrenagens planetária para servo motor
  8. O que é um servo motor?
  9. O que é servo motor redutor?
  10. Emparelhamento de redutores com servomotores