Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Integrado

Projetando um nível de bolha para deficientes visuais


Este artigo descreve o projeto completo de um nível de bolha para deficientes visuais. Ele usa um acelerômetro ADXL312 para medir a força gravitacional nos planos horizontal e vertical e soa uma campainha quando o acelerômetro está exatamente na horizontal ou vertical.

Ele também pode ser usado como um sensor de inclinação para nivelar, digamos, reboques em aplicações automotivas onde o nível de bolha de ar pode estar localizado em um lugar distante da roda motriz. Ele também tem uso como um subcircuito em sistemas de estabilidade automotivos ou drones.

Introdução

Amar Latif está causando um rebuliço na cena culinária do Reino Unido depois de ter aparecido no Celebrity MasterChef . No entanto, Amar não é apenas um bom cozinheiro, ele também dirige sua própria agência de viagens, é um palestrante motivacional, viajou pela maior parte da América do Sul e também é uma personalidade da TV. Não há fim para os superpoderes deste homem?

Infelizmente, existe. Amar é 95% cego. À medida que a tecnologia avança e o mundo luta para acompanhá-la, para os deficientes visuais a batalha é ainda mais difícil. A maioria dos avanços na tecnologia exige que passemos mais tempo na frente de uma tela. Para os deficientes visuais, o tempo excessivo de tela permanece um "se ao menos".

Se a tecnologia pode ser usada para enriquecer a vida das pessoas com deficiência visual, isso só pode ser uma coisa boa. Com apenas 18% da população cega registrada sendo completamente cega (ou “cega negra”), isso deixa a grande maioria com pelo menos alguma visão, mesmo que não consigam distinguir detalhes. Assim, nasceu a ideia de um nível de espírito para cegos.

Esboço do Design

O projeto do sensor de inclinação foi baseado no ADXL312, que é um acelerômetro de baixa corrente que pode medir até ± 1,5 g nos eixos x, y e z com os dados lidos por meio de um barramento SPI. A peça está disponível em um pacote de 5 mm × 5 mm e consome 0,1 μA em modo de espera. Ele mede uma resolução de 10 bits, então o ADXL312 pode detectar mudanças tão baixas quanto ± 2,9 m g em cada eixo. O ADXL312 armazena os dados gravitacionais para cada eixo como um valor de complemento de dois até ± 511, que o microcontrolador lê e exibe em uma tela LCD de linha única de 16 caracteres. A Figura 1 mostra os eixos de detecção do ADXL312.

clique para ver a imagem em tamanho real

Figura 1. Eixos de detecção do ADXL312. (Fonte:Dispositivos analógicos)

A peça tem uma leitura em escala real de 1,5 g , portanto, uma força gravitacional de 1 g dá uma leitura 2 / 3 disto. Portanto, se o ADXL312 estiver exatamente nivelado, o registro do eixo z deve ser 2 / 3 escala completa, enquanto os eixos xey devem indicar zero. Da mesma forma, quando o ADXL312 está perfeitamente vertical, a leitura do eixo x deve ser 2 / 3 escala completa, enquanto os eixos ye z devem indicar zero. Se o ADXL312 começar a se inclinar para longe de algum eixo, a leitura máxima começa a diminuir enquanto a leitura nos outros eixos começa a aumentar, de acordo com o seno do ângulo de inclinação.

Dentro do ADXL312

O ADXL312 é um sistema microeletromecânico (MEMS) que consiste em uma estrutura microusinada de superfície de polissilício construída sobre uma pastilha de silício. As molas de polissilício suspendem a estrutura sobre a superfície do wafer e fornecem uma resistência contra as forças de aceleração.

Dedos de silicone fixos se intercalam com dedos em uma massa de prova móvel para criar capacitores diferenciais cujas características podem ser medidas. A aceleração desvia o feixe e desequilibra os capacitores diferenciais, resultando em uma saída do sensor cuja amplitude é proporcional à aceleração. A estrutura é mostrada na Figura 2.

clique para ver a imagem em tamanho real

Figura 2. Funcionamento interno do ADXL312. (Fonte:Dispositivos analógicos)

O ADXL312 pode ser endereçado usando I 2 C ou SPI e os dados x, y e z são armazenados em seis registros internos de 8 bits. Ele também possui muitos outros recursos, incluindo um FIFO de 32 níveis, duas interrupções multifuncionais, registros de deslocamento, um autoteste mecânico e modos de hibernação automática.

O projeto do nível de bolha de ar

O diagrama completo do circuito do sensor de inclinação é mostrado na Figura 3.

O ADXL312 tem uma tensão de alimentação máxima de 3,6 V, enquanto o display LCD e a campainha requerem 5 V, então a entrada principal do circuito é de 5 V, e isso é regulado para baixo usando um regulador linear de 3,3 V, 150 mA (ADP121) para alimentar o ADXL312, o microcontrolador e a memória E2.

Porta B, pino 2 (o pino CAL) no microcontrolador é puxado para cima por um resistor de 10 kΩ. Também possui um jumper que permite a conexão ao aterramento. Na inicialização, o microcontrolador interroga o estado do pino CAL, e se este pino for puxado para baixo pelo jumper, ele lê os registros x, y e z, subtrai essas leituras de zero e carrega o resultado nos registros de deslocamento dentro o ADXL312 bem como os armazena na memória E2 externa, o 25AA040. O ADXL312 adiciona automaticamente as leituras dos registros de deslocamento para qualquer medição futura sem interação do processador, removendo assim os deslocamentos calibrados.

Se o jumper for removido, o pino CAL é puxado para cima e a rotina de calibração é ignorada. As leituras de deslocamento são lidas diretamente da memória E2 e carregadas nos registros de deslocamento do ADXL312. Assim, durante a fabricação, o nível de bolha pode ser montado em um gabarito de calibração com o pino CAL mantido baixo, o dispositivo pode ser calibrado e os valores de deslocamento armazenados na memória E2. Após a calibração, o jumper é removido e em inicializações subsequentes, a memória E2 é interrogada e as leituras de deslocamento calibradas carregadas nos registros de deslocamento do ADXL312.

O software então realiza oito leituras de cada eixo, e os resultados são calculados e exibidos no display LCD de 16 caracteres. O display é atualizado a cada 100 ms.

clique para ver a imagem em tamanho real

Figura 3. Esquema completo do nível de bolha para deficientes visuais. (Fonte:Dispositivos analógicos)

A Figura 4 mostra que a sensibilidade máxima é alcançada quando cada sensor está próximo de sua leitura zero. É aqui que a inclinação da onda senoidal é mais acentuada, proporcionando assim a variação máxima na leitura da gravidade para qualquer mudança na inclinação.


Figura 4. Mostrando a mudança senoidal da força g com o ângulo. (Fonte:Dispositivos analógicos)

Felizmente, o nível de bolha só precisa medir a inclinação quando cada sensor estiver perfeitamente horizontal e a leitura do sensor estiver próxima de zero.

O software foi escrito para permitir que os eixos x e z sejam calibrados de uma só vez. É fácil colocar a peça em uma plataforma horizontal e calibrar o eixo x do sensor de inclinação. No entanto, neste ponto, o eixo z estará experimentando uma força de 1 g , então uma leitura z precisa ser feita, comparada com a contagem em escala real em 1 g , e qualquer erro carregado no registro de deslocamento. Uma calibração mais precisa de cada eixo do sensor de inclinação pode ser alcançada calibrando nos planos horizontal e vertical, mas isso requer uma calibração de 2 estágios e uma modificação do software.

A Tabela 1 mostra um exemplo de dados de complemento de dois. Os números positivos seguem a notação binária convencional. Os números negativos usam o bit mais significativo (MSB) como um bit de sinal; assim, os números positivos têm um MSB igual a zero e os números negativos têm um MSB igual a 1.

Tabela 1. Um exemplo de dados de complemento de Two
Decimal Binário +51101 1111 1111 + 100 0000 0001000 0000 0000-111 1111 1111-51110 0000 0001
O complemento de dois de um número positivo pode ser encontrado invertendo todos os bits e, em seguida, adicionando 1. Assim, o código muda de 00 0000 0000 para 11 1111 1111 ao fazer a transição de uma contagem de zero para uma contagem de -1.

O software lê os registradores xez e, se o valor de qualquer um dos registradores for 0 ou 1023 (11 1111 1111), ele define a porta B, Bit 5 alta, que liga o transistor Q1 e soa a campainha de 5 V. Quando o sensor de inclinação é perfeitamente horizontal, o eixo x tem uma leitura de 0 ou 1023 e quando perfeitamente vertical, o eixo z tem uma leitura de 0 ou 1023. Somente quando ambos os registros não são iguais a 0 ou 1023 é que a campainha para de soar.

Precisão e novos desenvolvimentos

Considerando apenas um eixo, uma leitura máxima de 1 g é obtido quando a gravidade está agindo ao longo desse eixo, e esta leitura se reduz a 0 g como a peça é inclinada em 90 °, conforme mostrado na Figura 5.


Figura 5. Calculando o ângulo de inclinação usando a leitura gravitacional. (Fonte:Dispositivos analógicos)

Assim, a força gravitacional exercida é ditada pela equação



onde Ø é o ângulo de inclinação medido em relação à horizontal. Se a peça pode medir a uma resolução de 2,9 m g , então ele pode resolver para um ângulo de 0,17 °. É difícil determinar um valor para a precisão de um nível de bolha de ar padrão, uma vez que a posição exata da bolha é difícil de estabelecer. No entanto, a partir de experimentos, o final de um nível de bolha de 1,2 m pode se mover cerca de 3,2 mm (a largura de dois PCBs não preenchidos!) Antes que a bolha pareça descentralizada. Isso equivale a um ângulo de cerca de 0,15 °, indicando que podemos substituir um nível de bolha de ar por um sensor eletrônico de inclinação com pouca perda de resolução.

Se for necessária mais precisão, o ADXL313 oferece resolução de 11 bits em uma escala de 1 g. A interface e os conjuntos de registros são muito semelhantes aos do ADXL312, portanto, o software não requer muitas modificações. O ADXL355 oferece ruído consideravelmente mais baixo e resolução mais alta.

O ADXL312 tem uma densidade de ruído de 340 μ g / √Hz, e quanto menor for a largura de banda, melhor será o ruído. A largura de banda da parte é programável (de 3,125 Hz a 1600 Hz com um padrão definido para 50 Hz). Embora reduzir a largura de banda melhore o ruído, isso também reduzirá a taxa de atualização da tela. Para este projeto, a largura de banda foi definida para 6,25 Hz, o que implica um ruído rms de 850 μ g . O ruído também pode ser reduzido fazendo muitas outras leituras e calculando a média delas.

Uma outra melhoria seria ter uma leitura de LCD mostrando os graus. No entanto, isso requer o uso de funções matemáticas na biblioteca C se senos e cossenos devem ser incluídos no software. Essas funções ocupam muito espaço de código para um microcontrolador de baixo custo. Uma aproximação de uma função seno pode ser alcançada usando a expansão da série de Taylor, e isso deve ocupar consideravelmente menos espaço de código.

Conclusão

O ADXL312 fornece um sistema eletrônico de medição de inclinação de baixo custo que é fácil de fazer interface com um microcontrolador de baixo custo. O projeto descrito anteriormente provou que pode competir com a precisão dos níveis convencionais de bolha de ar, mas com uma interface eletrônica. Isso permite que ele seja usado como um subsistema em projetos maiores que precisam medir a inclinação, como sistemas de nivelamento de reboques, sistemas de controle de estabilidade e drones.

Mais importante, ele pode ser usado para aumentar a independência dos deficientes visuais, e este texto mostra um design de nível de sistema completo, incluindo hardware, software e memória não volátil, bem como uma saída de áudio e visual.


Simon Bramble formou-se na Brunel University em Londres em 1991 em engenharia elétrica e eletrônica, com especialização em eletrônica analógica e energia. Ele passou sua carreira em eletrônica analógica e trabalhou na Linear Technology (agora parte da Analog Devices). Ele pode ser contatado em [email protected] .

Conteúdos Relacionados:

Para obter mais informações sobre o Embedded, assine o boletim informativo semanal da Embedded por e-mail.



Integrado

  1. Projetando um núcleo mais flexível para a rede de campus multi-gigabit
  2. Innodisk:soluções AIoT para a área médica
  3. Argumentando sobre chips neuromórficos para computação IA
  4. Projetando controles de motor para sistemas robóticos
  5. VISÃO:Para cegos
  6. Quais são os erros comuns a serem evitados ao projetar para fabricação?
  7. O Melhor Nível de Otimização e Organização na Fábrica Inteligente
  8. O desafio do método 5S para a indústria 4.0
  9. Obrigado pelas lembranças!
  10. Quais são as diretrizes importantes para projetar PCBs de aviação e aeroespacial? -II