Índice:
- Etapa 1: peças e componentes
- Etapa 2: o codificador
- Etapa 3: Sensibilidade
- Etapa 4: Medição
- Etapa 5: montagem
- Etapa 6: Código
- Etapa 7: esquemas
- Etapa 8: do PoC à produção
- Etapa 9: Galeria de imagens
Vídeo: Measurino: uma prova de conceito da roda de medição: 9 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Measurino simplesmente conta o número de rotações de uma roda e a distância percorrida é diretamente proporcional ao raio da própria roda. Esse é o princípio básico de um odômetro e iniciei este projeto principalmente para estudar como manter o circuito (operado por um microcontrolador Arduino) compatível com várias faixas de distância, de milímetros a quilômetros, e para avaliar possíveis problemas ou melhorias.
Etapa 1: peças e componentes
- Arduino Nano rev.3
- Display OLED de 128 × 64 (SSD1306)
- Codificador Rotativo Fotoelétrico Incremental (400P / R)
- Roda de borracha para aeromodelo (51 mm de diâmetro)
- 2 botões
- Bateria 9v
Etapa 2: o codificador
Para este projeto, testei vários codificadores rotativos baratos, mas os descartei imediatamente devido a problemas de precisão / sensibilidade. Então fui para o Codificador Rotativo Fotoelétrico Incremental do DFRobot - 400P / R SKU: SEN0230. Este é um codificador rotativo fotoelétrico incremental industrial com material de alumínio, corpo de metal e eixo de aço inoxidável. Ele gera sinal de pulso ortogonal bifásico AB através da rotação do disco de grade e optoacoplador. 400 pulsos / rodada para cada fase e 1600 pulsos / rodada para saída 4 vezes bifásica. Este codificador rotativo suporta velocidade máxima de 5000 r / min. E pode ser usado para velocidade, ângulo, velocidade angular e outras medições de dados.
O codificador rotativo fotoelétrico tem uma saída de coletor aberto NPN, então você precisa usar resistores pullup ou habilitar o pull-up do Arduino interno. Ele está usando o chip regulador de tensão 750L05, que tem uma entrada de alimentação de ampla faixa DC4.8V-24V.
Etapa 3: Sensibilidade
Este codificador rotativo optoelétrico tem realmente uma grande sensibilidade, o que o torna perfeito para aplicações de controle e posicionamento de eixo. Mas, para o meu propósito, era muito sensato. Com uma roda de 51 mm, este codificador tem sensibilidade de 0,4 mm, o que significa que se sua mão tiver tremores mínimos, eles serão gravados. Portanto, diminuí a sensibilidade adicionando uma histerese na rotina de interrupção:
void interrupt ()
{char i; i = digitalRead (B_PHASE); if (i == 1) contagem + = 1; senão contar - = 1; if (abs (contagem)> = histerese) {bandeira_A = bandeira_A + contagem; contagem = 0; }}
Este truque foi suficiente para dar uma boa estabilidade à medida.
Etapa 4: Medição
Selecione sua Unidade de Medida (Decimal ou Imperial) e então posicione a roda com seu ponto de contato no início de sua medida, pressione o botão Reset e mantenha-a girando até o final. Da esquerda para a direita a medida aumenta e soma, da direita para a esquerda diminui e subtrai. Você também pode medir objetos curvos (a forma do seu carro, o corrimão de uma escada em espiral, o comprimento do seu braço do ombro ao pulso com o cotovelo dobrado, etc.).
Uma rotação completa de uma roda com diâmetro = D medirá um comprimento de D * π. No meu caso, com uma roda de 51 mm, isso é 16,02 cm e cada escala mede 0,4 mm (consulte o parágrafo Sensibilidade).
Etapa 5: montagem
O PoC foi feito em uma placa de ensaio para demonstrar o circuito. Cada componente foi anexado à placa e o codificador rotativo está conectado a um bloco de terminais de parafuso de 2x2 pólos. A bateria é uma bateria padrão de 9 V e o consumo total de energia do circuito é de cerca de 60 mA.
Etapa 6: Código
Para o display, usei o U8g2lib que é muito flexível e poderoso para este tipo de display OLED, permitindo uma ampla escolha de fontes e boas funções de posicionamento. Não perdi muito tempo enchendo o display de informações, pois se tratava apenas de um Poc.
Para ler o codificador, estou usando interrupções geradas por uma das 2 fases: cada vez que o eixo do codificador se move, ele gera uma interrupção para o Arduino ligada ao aumento do impulso.
attachInterrupt (digitalPinToInterrupt (A_PHASE), interrupção, RISING);
O display muda automaticamente de milímetros para metros, para quilômetros e (se selecionado no botão) de polegadas, para jardas, para milhas, enquanto o botão RST redefine a medida para zero.
Etapa 7: esquemas
Etapa 8: do PoC à produção
Por que isso é uma prova de conceito? Devido a muitas melhorias que poderiam / deveriam ser feitas antes de construir um equipamento em pleno funcionamento. Vamos ver todas as melhorias possíveis em detalhes:
- Roda. A sensibilidade / precisão do Measurino depende da roda. Uma roda menor pode dar a você melhor precisão na medição de pequenos comprimentos (da ordem de milímetros a centímetros). Uma roda muito maior com uma lança de extensão permite caminhar na estrada e medir quilômetros. Para rodas pequenas, o material deve ser considerado: uma roda totalmente emborrachada pode deformar levemente e afetar a precisão, então nesse caso vou sugerir uma roda de alumínio / aço com apenas uma fita fina para evitar escorregões. Com uma edição de software trivial (selecione o diâmetro correto da roda com um switch), você pode considerar rodas intercambiáveis para se adaptar a qualquer medida, usando um conector de 4 pinos (ou seja: porta USB).
- Programas. Ao adicionar outro botão, o software também pode cuidar da medição de áreas de retângulos ou amplitude de ângulos. Aconselho também adicionar um botão "Manter" para congelar a medida no final, evitando mover inadvertidamente a roda antes de ler o valor no visor.
- Substitua a roda por um carretel. Para medidas curtas (dentro de alguns metros), a roda pode ser substituída por um carretel de mola contendo linha ou fita. Assim, basta puxar a rosca (fazendo girar o eixo do codificador), medir e observar no display.
- Adicione a exibição do estado da bateria. O pino de referência do Arduino de 3,3 V (com precisão de 1%) pode ser usado como base para o conversor ADC. Então, fazendo uma conversão analógica para digital no pino de 3,3 V (conectando-o a A1) e, em seguida, comparando esta leitura com a leitura do sensor, podemos extrapolar uma leitura real, não importa o que VIN seja (contanto que esteja acima de 3,4 V). Um exemplo prático pode ser encontrado neste outro projeto meu.
Etapa 9: Galeria de imagens
Recomendado:
Uma maneira de usar uma unidade de medição inercial?: 6 etapas
Uma Maneira de Usar uma Unidade de Medição Inercial?: O contexto: Estou construindo para me divertir um robô que quero mover autonomamente dentro de uma casa. É um trabalho longo e estou fazendo passo a passo. Já publiquei 2 instructables sobre esse assunto: um sobre como fazer um codificador de roda e outro sobre
Modelagem e renderização de skates de conceito no Fusion 360: 7 etapas
Conceitos de modelagem e renderização de skates no Fusion 360: descobri que, ao mesmo tempo que construir uma máquina física, como um skate, é divertido e recompensador, às vezes queremos apenas sentar em um lugar e modelar resultados de aparência incrível … sem nenhum ferramentas, materiais ou qualquer outra coisa! É exatamente o que
Motor Basics - Conceito super fácil de entender com uma experiência: 7 etapas (com imagens)
Motor Basics | Conceito super fácil de entender com um experimento: Neste manual, vou ensinar-lhe o princípio fundamental dos motores. Todos os motores à nossa volta funcionam segundo este princípio. Até mesmo os geradores trabalham na declaração recíproca desta regra. Estou falando sobre o Ru canhoto de Fleming
O Manta Drive: Prova de conceito para um Sistema de Propulsão de ROV .: 8 etapas (com fotos)
O Manta Drive: Prova de conceito para um Sistema de Propulsão ROV .: Todo veículo submersível tem pontos fracos. Tudo o que perfura o casco (porta, cabo) é um vazamento potencial, e se algo deve perfurar o casco e se mover ao mesmo tempo, o potencial de vazamento é multiplicado. Este Instructable descreve
Faça você mesmo à prova de intempéries e unidade flash à prova d'água !!!!: 4 etapas
Diy Flash Drive à prova de intempéries e à prova d'água !!!!: DIY à prova de intempéries e drive à prova d'água. Perfeito para acampar, fazer caminhadas e rafting ou outras ocasiões