Índice:
- Etapa 1: Princípio de funcionamento
- Etapa 2: a construção
- Etapa 3: montagem
- Etapa 4: Projete a trilha de sua linha
- Etapa 5: programe seu código
- Etapa 6: FEITO
![Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC: 6 etapas (com imagens) Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC: 6 etapas (com imagens)](https://i.howwhatproduce.com/images/003/image-8976-19-j.webp)
Vídeo: Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC: 6 etapas (com imagens)
![Vídeo: Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC: 6 etapas (com imagens) Vídeo: Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC: 6 etapas (com imagens)](https://i.ytimg.com/vi/GjL_Zg6N19Q/hqdefault.jpg)
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:39
![Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC Robô de seguimento de linha baseado em PID com matriz de sensor POLOLU QTR 8RC](https://i.howwhatproduce.com/images/003/image-8976-20-j.webp)
Olá!
este é o meu primeiro artigo sobre instructables, e hoje vou levá-lo ao longo da estrada e explicar como construir uma linha baseada em PID seguindo o robô usando a matriz de sensores QTR-8RC.
Antes de prosseguir com a construção do robô, precisamos entender o que é chamado de PID,
Etapa 1: Princípio de funcionamento
O que é PID ??
O termo PID significa proporcional, integral, derivativo. Então, simplesmente, o que estamos fazendo com o envolvimento de PID com o seguimento de linha é, estamos dando um comando para o robô seguir a linha e detectar as curvas calculando o erro, considerando como agora saiu da linha.
termos-chave mencionados nos documentos polalu
O valor proporcional é aproximadamente proporcional à posição do seu robô em relação à linha. Ou seja, se o seu robô estiver precisamente centralizado na linha, esperamos um valor proporcional de exatamente 0
O valor integral registra o histórico do movimento do seu robô: é uma soma de todos os valores do termo proporcional que foram registrados desde que o robô começou a funcionar
A derivada é a taxa de variação do valor proporcional
Neste tutorial, falaremos apenas sobre os termos Kp e Kd, no entanto, os resultados podem ser obtidos usando o termo Ki também. As leituras que estamos obtendo do sensor não são apenas leituras analógicas, mas também leituras de posição do robô.so, basicamente, o sensor fornece valores de 0 a 2500 variando de refletância máxima a refletância mínima, mas, ao mesmo tempo, também fornece informações sobre a distância que o robô se afastou da linha.)
Agora precisamos considerar o termo de erro, esta é a diferença entre o valor do ponto de ajuste de dois valores e o valor atual. (O valor do ponto de ajuste é a leitura que corresponde à colocação "perfeita" dos sensores no topo das linhas. E A corrente valor são as leituras instantâneas do sensor. Por exemplo: Se você estiver usando este sensor de matriz e estiver usando 8 sensores, você receberá uma leitura posicional de 3500 se estiver no local, em torno de 0 se estiver muito à esquerda de a linha e cerca de 7000 se você estiver muito certo.). Nosso objetivo é fazer com que o erro seja zero. Só então o robô pode seguir a linha suavemente.
Em seguida, vem a parte do cálculo,.
1) calcule o erro.
Erro = Valor do ponto de ajuste - Valor atual = 3500 - posição
Como estou usando 8 sensores. o sensor fornece uma leitura posicional de 3500 quando o robô está perfeitamente posicionado. Agora que calculamos nosso erro, a margem pela qual nosso robô se desloca na pista, é hora de examinarmos o erro e ajustar as velocidades do motor de acordo
2) determinar as velocidades ajustadas dos motores.
MotorSpeed = Kp * Erro + Kd * (Erro - LastError);
LastError = Erro;
RightMotorSpeed = RightBaseSpeed + MotorSpeed;
LeftMotorSpeed = LeftBaseSpeed - MotorSpeed;
Logicamente falando, um erro de 0 significa que nosso robô está à esquerda, o que significa que nosso robô precisa ir um pouco para a direita, o que significa que o motor direito precisa desacelerar e o motor esquerdo precisa acelerar. ISTO É PID!
O valor MotorSpeed é determinado pela própria equação. RightBaseSpeed e LeftBaseSpeed são as velocidades (qualquer valor de PWM 0-255) nas quais o robô é executado quando o erro é zero.
O código que anexei também inclui como verificar os valores posicionais do sensor, para que você possa abrir o monitor serial e fazer o upload do código e ver por si mesmo com uma linha como os motores giram quando a posição varia.
Se você tiver problemas ao implementar seu robô, basta verificar se e ver alterando os sinais das equações !!!
E agora a parte mais complicada ENCONTRANDO Kp E Kd, tive que gastar mais de 1 hora para ajustar perfeitamente meu robô. Em vez de colocar valores aleatórios, encontrei um método mais fácil de determinar isso.
- Comece com kp e Kd igual a 0, e comece com Kp, primeiro tente definir Kp para 1 e observe o robô, nosso objetivo é seguir a linha mesmo que seja instável, se o robô ultrapassar e perder a linha reduza o valor de kp.se o robô não consegue navegar em uma curva e sendo lento, aumente o valor de Kp.
- Uma vez que o robô parece seguir um pouco a linha, ajuste o valor Kd (valor Kd> valor Kp), comece em 1 e aumente o valor até ver uma movimentação suave com menos oscilação.
- Assim que o robô começar a seguir a linha, aumente a velocidade e veja se consegue reter e seguir a linha.
Lembre-se de que a velocidade tem um impacto direto no ajuste do PID e às vezes você pode precisar reajustar para corresponder à velocidade do seu robô.
Agora podemos começar a construir nosso robô.
Etapa 2: a construção
![The Build The Build](https://i.howwhatproduce.com/images/003/image-8976-21-j.webp)
![The Build The Build](https://i.howwhatproduce.com/images/003/image-8976-22-j.webp)
![The Build The Build](https://i.howwhatproduce.com/images/003/image-8976-23-j.webp)
Arduino atmega 2560 com cabo USB - este é o principal microcontrolador usado.
Chassis- para o chassi do robô, usei 2 placas circulares de acrílico que são usadas em outro projeto que é perfeito para isso. Usando porcas e parafusos, construí um chassi de 2 andares, para poder anexar outros módulos à placa superior. Ou você pode usar chassis prontos disponíveis.
www.ebay.com/itm/2WD-DIY-2-Wheel-Drive-Rou…
Motores de engrenagens micrometais - o robô precisava de motores de rotação rápida para lidar com a rotina PID, para isso usei motores classificados em 6 V 400 rpm e rodas de aderência adequadas.
www.ebay.com/itm/12mm-6V-400RPM-Torque-Gea…
www.ebay.com/itm/HOT-N20-Micro-Gear-Motor-…
Matriz de sensores QTR 8Rc - isso pode ser usado para o rastreamento de linha, como mencionado anteriormente, acho que agora você tem uma compreensão clara de como operar a matriz de sensores com PID. O código é muito simples e usando as bibliotecas arduino existentes, você será capaz para construir um seguidor de linha rápido.
www.ebay.com/itm/Pololu-QTR-8RC-Reflectanc…
TB6612FNG Motor driver-I queria usar um driver de motor que pode controlar curvas e mudar de direção em um piscar de olhos, que é capaz de frear os motores de forma eficaz quando o sinal PWM fica baixo.
www.ebay.com/itm/Pololu-Dual-DC-Motor-Driv…
Bateria lipo - bateria lipo de 11,1 V é usada para fornecer energia ao robô. Embora eu tenha usado uma bateria lipo de 11,1 V, esta capacidade é mais do que o necessário para o arduino e os motores. Se você encontrar um leve 7,4 V bateria lipo ou bateria 6V Ni-MH será perfeita. por isso tenho que usar um conversor de buck para converter a tensão para 6V.
11.1V-
7.4 V-
Módulo conversor Buck-
Além disso, você precisa de fios de jumper, porcas e parafusos, chaves de fenda e fitas elétricas e também laços de zíper para se certificar de que tudo está no lugar.
Etapa 3: montagem
![Montagem Montagem](https://i.howwhatproduce.com/images/003/image-8976-24-j.webp)
![Montagem Montagem](https://i.howwhatproduce.com/images/003/image-8976-25-j.webp)
![Montagem Montagem](https://i.howwhatproduce.com/images/003/image-8976-26-j.webp)
![Montagem Montagem](https://i.howwhatproduce.com/images/003/image-8976-27-j.webp)
prenda os motores e um pequeno rodízio em uma placa usando porcas e parafusos e, em seguida, monte o sensor QTR, o driver do motor, a placa Arduino e, finalmente, a bateria no chassi.
Aqui está um diagrama perfeito que encontrei na internet, que mostra como as conexões devem ser feitas.
Etapa 4: Projete a trilha de sua linha
![Projete sua linha de trilhos Projete sua linha de trilhos](https://i.howwhatproduce.com/images/003/image-8976-28-j.webp)
Agora seu projeto parece estar quase terminado. Como no último estágio, você precisa ter uma pequena arena para testar seu robô. Usei uma linha aleatória de largura de 3 cm branca em um fundo preto. Certifique-se de colar tudo bem.e por enquanto evite cruzamentos e cortes transversais em ângulos de 90 graus, porque é um caso complicado no ponto de codificação.
Etapa 5: programe seu código
1. Baixe e instale o Arduino
IDE desktop
· Windows -
· Mac OS X -
· Linux -
2. Baixe e cole o arquivo de matriz de sensor QTR 8 RC na pasta de bibliotecas do Arduino.
·
· Cole os arquivos no caminho - C: / Arduino / libraries
3. Baixe e abraLINEFOLLOWING.ino
4. Faça o upload do código para a placa arduino por meio de um cabo USB
Etapa 6: FEITO
![Image Image](https://i.howwhatproduce.com/images/003/image-8976-30-j.webp)
![](https://i.ytimg.com/vi/8BVIu2hzN48/hqdefault.jpg)
agora você tem uma linha seguindo o robô feito por você.
Espero que este tutorial tenha sido útil. Não hesite em me contatar via [email protected] se você tiver qualquer problema.
vejo você em breve com outro novo projeto.
Aproveite a construção !!
Recomendado:
Robô de seguimento humano usando Arduino Uno abaixo de 20 $: 9 etapas
![Robô de seguimento humano usando Arduino Uno abaixo de 20 $: 9 etapas Robô de seguimento humano usando Arduino Uno abaixo de 20 $: 9 etapas](https://i.howwhatproduce.com/images/001/image-2139-29-j.webp)
Robô de seguimento humano usando Arduino Uno abaixo de 20 $: então eu fiz este robô há cerca de um ano e adorei ele pode seguir você em qualquer lugar e em qualquer lugar. esta é a melhor alternativa para um cão. ainda está comigo até agora. Eu também tenho um canal no youtube onde você pode ver o processo de fazer isso no vi
5 em 1 robô Arduino - Siga-me - Seguimento de linha - Sumo - Desenho - Evitando Obstáculos: 6 Passos
![5 em 1 robô Arduino - Siga-me - Seguimento de linha - Sumo - Desenho - Evitando Obstáculos: 6 Passos 5 em 1 robô Arduino - Siga-me - Seguimento de linha - Sumo - Desenho - Evitando Obstáculos: 6 Passos](https://i.howwhatproduce.com/images/002/image-5669-j.webp)
5 em 1 robô Arduino | Siga-me | Seguimento de linha | Sumo | Desenho | Evitando Obstáculos: Esta placa de controle do robô contém um microcontrolador ATmega328P e um driver de motor L293D. Claro, não é diferente de uma placa Arduino Uno, mas é mais útil porque não precisa de outra blindagem para acionar o motor! É livre de pulos
Robô de seguimento de linha usando o microcontrolador TIVA TM4C1233H6PM: 3 etapas
![Robô de seguimento de linha usando o microcontrolador TIVA TM4C1233H6PM: 3 etapas Robô de seguimento de linha usando o microcontrolador TIVA TM4C1233H6PM: 3 etapas](https://i.howwhatproduce.com/images/004/image-10535-j.webp)
Robô de seguimento de linha usando o microcontrolador TIVA TM4C1233H6PM: O robô de seguimento de linha é uma máquina versátil utilizada para detectar e seguir as linhas escuras desenhadas na superfície branca. Como este robô é produzido utilizando uma placa de ensaio, será excepcionalmente fácil de construir. Este sistema pode ser fundido int
Como montar um braço robótico impressionante de madeira (Parte 1: Robô para rastreamento de linha) - Baseado no Micro: Bit: 9 etapas
![Como montar um braço robótico impressionante de madeira (Parte 1: Robô para rastreamento de linha) - Baseado no Micro: Bit: 9 etapas Como montar um braço robótico impressionante de madeira (Parte 1: Robô para rastreamento de linha) - Baseado no Micro: Bit: 9 etapas](https://i.howwhatproduce.com/images/002/image-4676-27-j.webp)
Como montar um braço robótico impressionante de madeira (Parte 1: Robô para rastreamento de linha) - Baseado no Micro: Bit: Este cara de madeira tem três formas, é muito diferente e impressionante. Então vamos entrar nisso um por um
Robô de seguimento de luz EBot: 5 etapas (com imagens)
![Robô de seguimento de luz EBot: 5 etapas (com imagens) Robô de seguimento de luz EBot: 5 etapas (com imagens)](https://i.howwhatproduce.com/images/003/image-8176-33-j.webp)
Robô Seguidor de Luz EBot: O robô Seguidor de Luz é feito com alguns componentes simples e pode ter um grande impacto em locais muito escuros. Vamos ver como fazer agora