DRO universal baseado em Arduino Nano - shDRO

Senhoras e senhores, olá.

Neste artigo, falarei sobre o desenvolvimento de um dispositivo para fazer leituras de réguas digitais e outros sensores localizados em máquinas de tornear e fresar.

O desenvolvimento ainda não está concluído e o que foi feito no momento será descrito.

Quem se importa, bem-vindo ao gato.

Por que possuir desenvolvimento, mas não um produto acabado.
Eu tenho duas máquinas de metal (chinês): fresagem e torneamento.

Produzo periodicamente produtos com graus variados de complexidade (não sou operador de torneiro ou fresadora, isso é apenas um hobby). E, se o produto for complexo, você precisará pegar uma calculadora e calcular o progresso do cortador ou cortador. E também, se o curso do cortador / cortador fosse grande o suficiente, teríamos que considerar as revoluções das alças da pinça, o que francamente irritava. Como resultado, pensei em DRO (pinças digitais foram compradas apenas para esse fim por um longo tempo, mas a falta de tempo atrasou constantemente a fabricação).

Antes de iniciar o desenvolvimento do meu DRO, tive que responder duas perguntas sobre a adequação do meu próprio desenvolvimento:

  • por que não comprar o produto acabado?
  • Existem muitos projetos de DRO na rede, de diferentes níveis de dificuldade, com descrições detalhadas da fabricação de bricolage. Então, por que não coletar um deles?

Eu respondo a mim mesma.

Sim, existem muitos produtos no mercado, nacionais e estrangeiros, com preços e funcionalidades diferentes. O mesmo Ali oferece DRO pronto com três linhas ópticas a um preço de cerca de 13.000 rublos. - um preço muito baixo para esse dispositivo. Como estou interessado no próprio processo de fabricação, a opção "comprado e instalado" foi descartada.

Respondendo à segunda pergunta, coloquei-me no lugar de uma pessoa que montará o dispositivo de acordo com alguma descrição e o que ele deve fazer. Ou seja:

  • compre os componentes necessários: processador, indicação, botões e pequenas coisas como resistores, capacitores, estabilizadores, etc. (sem isso, é claro, em lugar nenhum);
  • dependendo da complexidade do projeto, faça / compre uma placa de circuito impresso;
  • depois solde tudo e faça o flash do processador;
  • depois, faça o trabalho com os bugs;

E somente após essas etapas, você obtém um produto final. Cada passo leva algum tempo e, como uma pessoa é uma criatura preguiçosa e impaciente (no bom sentido dessas palavras), ela quer ver o resultado do trabalho do dispositivo o mais rápido possível, mesmo que seja intermediário. E, no entanto, decidi desenvolver meu dispositivo de tal maneira que uma pessoa, mesmo no início do processo de montagem, veria resultados intermediários de seu trabalho.

Agora era necessário escolher um quadro para implementação.

Escolha entre o Arduino baseado no Atmega e STM.

Sou um programador de nível superior, mas no trabalho tive que programar os microcontroladores Atmega e MSP-430, não conhecia o STM. Portanto, eu escolhi o Atmega. Eu escolhi a placa mais barata (ou não? Acabei de tê-las) Arduino Nano com base no microcontrolador Atmega328.

Recursos do ShDRO:

(funcionalidade riscada que ainda não foi implementada)

  • Placa Nano Arduino, processador Atmega328;
  • 12 canais / portas independentes do Arduino aos quais os leitores estão conectados;
  • Cada canal possui as seguintes propriedades: Tipo (CLKin, DATAin, Ain, Bin, etc.), EI (Ativar interrupção), IL (Nível de interrupção), Inv (sinal inventado);
  • número máximo de dispositivos conectados: 6;
  • cada dispositivo pode receber um ou mais canais dos 12 disponíveis;
  • suporte de protocolo: 24BIT, 21BIT , BCD7 , BIN6, sinal de quadratura, sinal periódico do tacômetro (é possível adicionar novos protocolos);
  • console: permite usar o programa do terminal para configurar e testar o shDRO durante a montagem e operação;
  • no modo de console, é implementado um analisador lógico “pseudo” que permite ler os níveis de canais especificados no console e determinar o protocolo de troca. O número máximo de amostras é 256, o tempo mínimo medido entre as amostras é 8 microssegundos. Pelo menos um canal em análise deve ser configurado para interromper;

Esquema modular:



O dispositivo consiste nos seguintes módulos:

  • três estabilizadores de tensão 5v., 3v., 1.5.v. Estabilizadores 3v. e 1.5.v. ajustável. Esses níveis de voltagem são usados ​​em pinças digitais (1,5v.) E na linha iGAGING (3v.);
  • 4 indicadores de oito dígitos e sete segmentos baseados no MAX7219, conectados em cascata ao hardware SPI;
  • um teclado. O teclado consiste em duas matrizes resistivas: 2x4 e 4x4, neste caso, o layout das faixas no quadro é mais simples (mas você pode fazer duas matrizes 3x4, para quem é mais conveniente). Cada matriz está conectada ao canal ADC;

    Usar matrizes resistivas é um grande sinal para mim, porque com o tempo, a resistência dos botões aumentará e os níveis de tensão medidos pelo ADC serão alterados. Mas a matriz “honesta” simplesmente não possuía as pernas / portas da placa (para 24 botões, são necessárias 10 portas). Para isso, a funcionalidade de aprendizado do teclado é implementada no firmware, o treinamento pode ser realizado a qualquer momento e, ao mesmo tempo, a comunicação com o programa do terminal não é necessária (o treinamento será escrito abaixo).
  • um alto-falante conectado à perna de hardware do timer 1;
  • placa adaptadora, projetada para coordenar níveis entre dispositivos e portas Arduino;
  • 4 conectores DB9 fêmea (para o bem, você precisa instalar 6 conectores, pois o shDRO suporta até 6 dispositivos, mas eu não baguncei o futuro painel traseiro do gabinete, assumindo que três conectores serão usados ​​para eixos e um conector será compartilhado entre outros dispositivos) . Os conectores são os mais simples, com pernas para fios de solda. Os fios, por sua vez, são soldados na placa adaptadora;

    A escolha desse tipo de conector se deve aos seguintes motivos: confiabilidade (em comparação com os conectores USB e RJ-45), um grande número de pinos e facilidade de instalação. E também tenho uma linha óptica com esse tipo de conector.

Diagrama do circuito:



Na próxima parte, descreverei a lógica do shDRO, descreverei os comandos do console atualmente disponíveis e também apresentarei a primeira versão do firmware.

A segunda parte.

Source: https://habr.com/ru/post/pt446408/


All Articles