Índice:

Braço robótico baseado em microcontrolador PIC: 6 etapas (com imagens)
Braço robótico baseado em microcontrolador PIC: 6 etapas (com imagens)

Vídeo: Braço robótico baseado em microcontrolador PIC: 6 etapas (com imagens)

Vídeo: Braço robótico baseado em microcontrolador PIC: 6 etapas (com imagens)
Vídeo: PROJETO DE UM ROBÔ COM MOTOR DE PASSO E PIC (Parte 2/8) - Robots #15 2024, Julho
Anonim
Braço robótico baseado em microcontrolador PIC
Braço robótico baseado em microcontrolador PIC

Da linha de montagem das indústrias de fabricação de automóveis aos robôs de telecirurgia no espaço, os braços robóticos podem ser encontrados em todos os lugares. Os mecanismos desses robôs são semelhantes aos de um ser humano, que podem ser programados para funções semelhantes e capacidades aumentadas. Eles podem ser usados para realizar ações repetidas com mais rapidez e precisão do que os humanos ou podem ser usados em ambientes hostis sem arriscar a vida humana. Já construímos um braço robótico Record and Play usando o Arduino, que pode ser treinado para realizar uma tarefa específica e repetido para sempre.

Neste tutorial, usaremos o microcontrolador de 8 bits PIC16F877A padrão da indústria para controlar o mesmo braço robótico com potenciômetros. O desafio deste projeto é que o PIC16F877A tem apenas dois pinos com capacidade para PWN, mas precisamos controlar cerca de 5 servo motores para nosso robô, o que requer 5 pinos PWM individuais. Portanto, temos que utilizar os pinos GPIO e gerar sinais PWM nos pinos PIC GPIO usando as interrupções do temporizador. Agora, é claro, poderíamos atualizar para um microcontrolador melhor ou usar um IC desmultiplexador para tornar as coisas muito mais fáceis aqui. Mesmo assim, vale a pena dar uma chance a este projeto pela experiência de aprendizagem.

A estrutura mecânica do braço robótico que estou usando neste projeto foi totalmente impressa em 3D para o meu projeto anterior; você pode encontrar os arquivos de projeto completos e o procedimento de montagem aqui. Como alternativa, se você não tiver uma impressora 3D, você também pode construir um braço robótico simples usando papelão, conforme mostrado no link. Supondo que você de alguma forma conseguiu controlar seu braço robótico, vamos prosseguir com o projeto.

Etapa 1: Diagrama de Circuito

Diagrama de circuito
Diagrama de circuito

O diagrama de circuito completo para este braço robótico baseado em microcontrolador PIC é mostrado abaixo. O esquema foi desenhado usando EasyEDA.

O diagrama do circuito é bastante simples; o projeto completo é alimentado pelo adaptador de 12V. Esses 12 V são então convertidos em + 5 V usando dois reguladores de tensão 7805. Um é rotulado como + 5V e o outro é rotulado como + 5V (2). A razão para ter dois reguladores é que quando o servo gira, ele puxa uma grande quantidade de corrente que cria uma queda de tensão. Esta queda de tensão força o PIC a reiniciar sozinho, portanto, não podemos operar o PIC e os servo motores no mesmo trilho de + 5V. Portanto, aquele rotulado como + 5V é usado para alimentar o microcontrolador PIC, LCD e potenciômetros e uma saída do regulador separada rotulada como + 5V (2) é usada para alimentar os servo motores.

Os cinco pinos de saída dos potenciômetros que fornecem uma tensão variável de 0 V a 5 V são conectados aos pinos analógicos An0 a AN4 do PIC. Como estamos planejando usar temporizadores para gerar PWM, os servo motores podem ser conectados a qualquer pino GPIO. Selecionei os pinos de RD2 a RD6 para os servo motores, mas pode ser qualquer GPIO de sua escolha.

Como o programa envolve muita depuração, um display LCD 16x2 também faz interface com a porta B do PIC. Isso exibirá o ciclo de trabalho dos servo motores que estão sendo controlados. Além disso, também estendi as conexões para todos os pinos GPIO e analógicos, apenas no caso de algum sensor precisar ser conectado no futuro. Finalmente, também conectei o pino do programador H1 para programar diretamente o PIC com pickit3 usando a opção de programação ICSP.

Etapa 2: Geração de sinais PWM no pino GPIO para controle do servo motor

"carregando =" preguiçoso ">

Recomendado: