Índice:

Como Tornar o ADC o Sentido Atual: 5 Passos
Como Tornar o ADC o Sentido Atual: 5 Passos

Vídeo: Como Tornar o ADC o Sentido Atual: 5 Passos

Vídeo: Como Tornar o ADC o Sentido Atual: 5 Passos
Vídeo: 5 DICAS PARA SUBIR DE ELO COMO ADC! MELHORE SEU FARM, MECÂNICA e MACRO COM DICAS SIMPLES! 2024, Novembro
Anonim
Como Fazer o Sentido Atual do ADC
Como Fazer o Sentido Atual do ADC

Neste Instructable, descreveremos como implementar um conversor analógico-digital (ADC) de 8 bits no SLG46855V que pode detectar a corrente de carga e fazer interface com um MCU via I2C. Este projeto pode ser usado para várias aplicações de detecção de corrente, como amperímetros, sistemas de detecção de falhas e medidores de combustível.

Abaixo, descrevemos as etapas necessárias para entender como a solução foi programada para criar o sentido de corrente ADC. No entanto, se você deseja apenas obter o resultado da programação, baixe o software GreenPAK para visualizar o arquivo de design GreenPAK já concluído. Conecte o GreenPAK Development Kit ao seu computador e acesse o programa para criar o sentido atual do ADC.

Etapa 1: Arquitetura ADC

Arquitetura ADC
Arquitetura ADC

O ADC é essencialmente composto por um comparador analógico e um conversor digital para analógico (DAC). O comparador detecta a tensão de entrada em relação à tensão de saída do DAC e, subsequentemente, controla se deve aumentar ou diminuir o código de entrada do DAC, de modo que a saída do DAC converta para a tensão de entrada. O código de entrada DAC resultante torna-se o código de saída digital ADC.

Em nossa implementação, criamos um DAC usando uma rede de resistores controlados por modulação por largura de pulso (PWM). Podemos criar facilmente uma saída PWM precisa controlada digitalmente usando GreenPAK. O PWM, quando filtrado, torna-se nossa tensão analógica e, portanto, serve como um DAC eficaz. Uma vantagem distinta desta abordagem é que é fácil definir as tensões que correspondem ao código zero e à escala completa (compensação e ganho equivalentes) simplesmente ajustando os valores do resistor. Por exemplo, um usuário deseja ler idealmente o código zero de um sensor de temperatura sem corrente (0 µA) correspondendo a 4,3 V e o código de escala total a 1000 µA correspondendo a 3,9 V (Tabela 1). Isso é facilmente implementado simplesmente definindo alguns valores de resistor. Ao fazer com que a faixa do ADC corresponda à faixa do sensor de interesse, fazemos o maior uso da resolução do ADC.

Uma consideração de projeto para essa arquitetura é que uma frequência PWM interna precisa ser muito mais rápida do que a taxa de atualização do ADC para evitar o comportamento subamortecido de seu circuito de controle. No mínimo, deve ser mais longo do que o relógio do contador de dados ADC dividido por 256. Neste projeto, o período de atualização do ADC é definido como 1,3312 ms.

Etapa 2: Circuito Interno

Circuito Interno
Circuito Interno

O ADC flexível é baseado no design apresentado no Dialog Semiconductor AN-1177. A velocidade do clock foi aumentada de 1 MHz para 12,5 MHz para atingir o contador ADC, uma vez que o SLG46855 tem um clock de 25 MHz disponível. Isso permite uma taxa de atualização muito mais rápida para uma resolução de amostra mais precisa. O LUT clocking do ADC data clock é alterado para que ele passe pelo sinal de 12,5 MHz quando o PWM DFF estiver baixo.

Etapa 3: Circuito Externo

Circuito Externo
Circuito Externo

Um resistor externo e uma rede de capacitores são usados para converter um PWM em uma tensão analógica, conforme mostrado no esquema do circuito na Figura 1. Os valores são calculados para resolução máxima para a corrente máxima que o dispositivo detectará. Para obter essa flexibilidade, adicionamos os resistores R1 e R2 em paralelo ao VDD e ao aterramento. Um divisor de resistor divide VBAT para o lado inferior da faixa de tensão. A razão divisória para um VBAT mínimo esperado pode ser resolvida usando a equação 1.

Etapa 4: Instruções de leitura I2C

Instruções de leitura I2C
Instruções de leitura I2C

A Tabela 1 descreve a estrutura do comando I2C para ler os dados armazenados no CNT0. Os comandos I2C requerem um bit de início, byte de controle, endereço de palavra, bit de leitura e bit de parada.

Um exemplo de comando I2C para ler o valor contado CNT0 está escrito abaixo:

[0x10 0xA5] [0x11 R]

O valor contado que é lido novamente será o valor do código ADC. Como exemplo, um código Arduino está incluído no arquivo ZIP desta nota de aplicação no site da Dialog.

Etapa 5: Resultados

Resultados
Resultados
Resultados
Resultados
Resultados
Resultados

Para testar a precisão do projeto de detecção de corrente do ADC, os valores medidos em uma determinada corrente de carga e nível de VDD foram comparados a um valor teórico. Os valores de ADC teóricos foram calculados com a equação 2.

O ILOAD que se correlaciona com um valor ADC é encontrado com a equação 3.

Para os resultados a seguir, usei esses valores de componentes mostrados na Tabela 3.

A resolução do valor ADC para conversão de ILOAD pode ser calculada usando a equação 3 com os valores medidos na Tabela 2 e o valor ADC definido como 1. Com um VBAT de 3,9 V, a resolução é 4,96 µA / div.

A fim de otimizar o circuito de detecção de corrente ADC para um nível mínimo de VDD de 3,6 V com uma corrente máxima de 1100 µA e um resistor de detecção de 381 Ω, o coeficiente divisor ideal seria 0,884, com base na equação 1. Com os valores dados na Tabela 2, o divisor real tem um coeficiente divisor de 0,876. Como isso é um pouco menor, permitirá uma faixa de corrente de carga um pouco maior, de modo que os valores do ADC estejam próximos da faixa total, mas não transbordarão. O valor real do divisor é calculado com a equação 4.

Acima (Figuras 2-6, Tabelas 4-6) estão as medições feitas no circuito em três níveis de tensão: 4,3 V, 3,9 V e 3,6 V. Cada nível exibe um gráfico que mostra a diferença entre os valores medidos e teóricos de ADC. Os valores teóricos são arredondados para o número inteiro mais próximo. Há um gráfico de resumo para comparar as diferenças nos três níveis de tensão. Em seguida, há um gráfico que mostra a correlação entre os valores teóricos do ADC e a corrente de carga nos diferentes níveis de tensão.

Conclusão

O dispositivo foi testado em três níveis de tensão: 3,6 V, 3,9 V e 4,3 V. A faixa dessas tensões modela uma bateria de íon de lítio completa que descarrega até seu nível nominal. Dos três níveis de tensão, observa-se que o dispositivo normalmente era mais preciso em 3,9 V para o circuito externo escolhido. A diferença entre os valores ADC medidos e teóricos foi de apenas 1 valor decimal nas correntes de carga de 700 - 1000 µA. Na faixa de tensão fornecida, os valores de ADC medidos foram 3 casas decimais acima das condições nominais no pior caso. Ajustes adicionais no divisor do resistor podem ser feitos para otimizar diferentes níveis de tensão do VDD.

Recomendado: