ADC
Conversor analógico-digital de 4 canais
- 16 bits de resolução
- 860 amostras por segundo
- 4 entradas por módulo
- Até 4 módulos simultâneos, totalizando 16 entradas
- Amplificador interno para sinais de baixa amplitude
- Filtro RC em todos os canais
- Entradas analógicas protegidas contra ligações acidentais até ±24V
O Nanoshield ADC oferece uma solução para aplicações que necessitam de conversão analógico-digital com grande resolução, ou quando é necessário expandir o número de entradas analógicas do seu microcontrolador. Implementado com o CI ADS1115, o Nanoshield ADC é ideal para aplicações como leitura de sensores industriais de temperatura, pressão, umidade, entre outros, além de monitoramento de bateria, tensões de alimentação, ou qualquer outro projeto que necessite de conversão analógico-digital com alta qualidade.
O Nanoshield ADC conta com os seguintes recursos:
- Vem configurado de fábrica para leitura de tensões de 0V a 5V.
- Cada uma das 4 entradas pode ser facilmente convertida para leitura de tensões de 0V a 10V.
- Uma das entradas pode ser convertida para leitura de tensões de 0V a 24V.
- Possibilidade de medição direta da tensão proveniente da fonte de alimentação.
Consulte a seção Configurações disponíveis para mais informações sobre as formas de uso.
!Conectando as entradas analógicas
O Nanoshield ADC possui 4 entradas analógicas independentes. Elas podem ser utilizadas tanto para leitura de tensões absolutas (a tensão presente no canal é medida em relação ao GND do módulo), quanto para leitura dos canais em modo diferencial (um canal é medido em relação ao outro).
Medidas absolutas (single ended)
Para a medida de tensões absolutas, basta fixar os terminais do sensor no GND e em uma das 4 entradas do módulo através do borne de parafuso. As entradas estão nomeadas como A0, A1, A2 e A3 e têm intervalo de medida de 0V até 5V. Nesse tipo de conexão, a resolução passa a ser de 15 bits.
A figura abaixo ilustra a conexão de 4 sensores com medição absoluta:
Medidas em modo diferencial
Em modo diferencial, é possível utilizar cada um dos canais para ser lido em relação ao outro, e não em relação ao GND (por exemplo, se os dois canais medidos tiverem tensões iguais, a saída lida será zero). Esse modo é útil para leitura de sensores que funcionam utilizando ponte de Wheatstone por exemplo. Tenha em mente que, apesar da medida não ser feita diretamente em relação ao GND, o intervalo de tensão permitido em cada canal continua sendo de 0V até 5V em relação ao GND. Nesse tipo de conexão, é possível utilizar todos os 16 bits de resolução.
A figura abaixo mostra um exemplo com dois sensores lidos em modo diferencial:
!Conexão com Arduino + Base Board Uno
O jeito mais fácil de utilizar o Nanoshield ADC juntamente com um Arduino é usando a Base Board Uno ou Base Board L Uno. Basta encaixar as placas e depois carregar o nosso código de exemplo para verificar o funcionamento (veja a seção de código de exemplo no final da página). Esta montagem pode ser utilizada com o Arduino UNO, Mega R3, Duemilanove entre outras (entre em contato caso tenha dúvidas sobre compatibilidade com outras versões). A figura abaixo mostra como fica a montagem do conjunto.
!Conexão com Base Boarduino
Também é possível conectar o Nanoshield ADC diretamente à nossa placa compatível com Arduino, a Base Boarduino. A conexão é feita da mesma forma que com a Base Board, conforme ilustra a figura abaixo. Basta encaixar as placas e depois carregar o nosso código de exemplo para verificar o funcionamento (veja a seção de código de exemplo no final da página).
!Conexão direta com Arduino
Também é possível utilizar o módulo com montagem direta, utilizando um protoboard e jumper wires para fazer a conexão. Utilize os seguintes esquemas para conectar o Nanoshield ADC a um Arduino UNO ou Arduino Mega.
!Utilizando vários módulos simultaneamente
O Nanoshield ADC se comunica com o microcontrolador através de um barramento de comunicação I²C. Uma das vantagens do barramento I²C é a possibilidade de uso de vários módulos simultâneos utilizando apenas 2 pinos do microcontrolador: um para a transmissão do clock (SCL) e outro para transmissão de dados (SDA).
Cada módulo conectado a um barramento I²C necessita de um endereço único para que não haja conflito entre os mesmos. O Nanoshield ADC possui 4 opções de endereço selecionáveis via jumper na parte superior da placa, permitindo a utilização de até 4 módulos simultâneos e totalizando até 16 canais independentes utilizando apenas 2 pinos do microcontrolador. A figura abaixo mostra onde se localizam os jumpers utilizados para seleção do endereço.
O endereço do módulo no barramento I²C possui 5 bits fixos (10010) e mais dois bits configuráveis. Através dos jumpers é possível configurar quais serão os dois últimos bits, as opções são: 00, 01, 10 e 11. Para fazer a seleção, basta fechar o jumper correspondente ao endereço desejado, deixando os demais abertos (o padrão de fabrica é 00). Dessa forma, o endereço completo do módulo pode ser 1001000 (padrão), 1001001, 1001010 ou 1001011.
A figura abaixo mostra um conjunto de 4 módulos utilizados simultaneamente. Neste exemplo utilizamos uma Base Board UNO juntamente com um Arduino Mega.
!Configurações disponíveis
Lendo sensores com saída de 0 a 10V
Cada uma das 4 entradas do Nanoshield ADC pode ser facilmente configurada para ler tensões de 0 a 10V. Isso é feito através de um divisor resistivo que já vem implementado de fábrica, e somente precisa ser habilitado fechando-se um jumper de solda na placa. Cada uma das entradas tem seu próprio divisor, assim elas podem ser configuradas de modo independente.
São 4 jumpers de solda destinados a esse fim, JP0, JP1, JP2, e JP3, e eles correspondem às entradas A0, A1, A2 e A3, respectivamente. Quando fechados, cada jumper habilita o divisor resistivo correspondente a uma das entradas, permitindo a leitura de tensões de 0 a 10V. A tabela abaixo ilustra os modos de uso (Para mais detalhes, consulte o esquemático do módulo disponível no link ao final da página):
Jumper | Aberto | Fechado |
---|---|---|
JP0 | A0: 0 a 5V | A0: 0 a 10V |
JP1 | A1: 0 a 5V | A1: 0 a 10V |
JP2 | A2: 0 a 5V | A2: 0 a 10V |
JP3 | A3: 0 a 5V | A3: 0 a 10V |
O divisor resistivo divide a tensão de entrada por 2,5, dessa forma, a tensão de 10V é transformada em 4V. Para maximizar o intervalo de medidas, utilize ganho 1 no amplificador interno (corresponde a fundo de escala de 4,096V). Consulte a seção Amplificador interno para mais informações.
A figura abaixo mostra a ligação típica de um sensor com saída de 0 a 10V ao Nanoshield ADC.
A Circuitar pode enviar seus módulos já configurados, contate-nos para mais informações.
Medindo tensões de até 24V com a entrada A0
A entrada A0 se diferencia das demais pela capacidade de poder ser configurada para ler tensões de até 24V. Isso é feito através de um segundo divisor resistivo, que também já vem implementado de fábrica, e que pode ser habilitado fechando-se um jumper de solda na placa. O jumper que habilita essa função é o JP0A (veja figura abaixo).
Jumper | Aberto | Fechado |
---|---|---|
JP0A | A0: 0 a 5V | A0: 0 a 24V |
O divisor resistivo divide a tensão de entrada por 5,84, dessa forma, a tensão de 24V é transformada em 4,1V. Para maximizar o intervalo de medidas, utilize ganho 1 no amplificador interno (corresponde a fundo de escala de 4,096). Consulte a seção Amplificador interno para mais informações.
Medindo a tensão de alimentação com a entrada A0
Também é possível medir diretamente a tensão de alimentação do Arduino através da entrada A0. Esta função é habilitada através do jumper de solda SUP_MSR localizado na parte de baixo da placa (veja figura abaixo). Você pode optar por medir diretamente a tensão da fonte de alimentação, indicada como VIN no Arduino, ou a tensão indicada como 5V no Arduino, que é fornecida pela porta USB nos casos onde não há fonte.
Utilize o jumper SUP_MSR juntamente com o J0 ou o JP0 para maximizar o intervalo de medidas. Por exemplo, caso a sua fonte seja de 9V, você pode utilizar o SUP_MSR para selecionar a tensão VIN e fechar o jumper J0, assim a tensão de fundo de escala passa a ser de 10V e é possível medir a fonte com grande precisão. Caso a fonte seja de 12V, você pode utilizar o SUP_MSR para selecionara a tensão VIN e fechar o jumper JP0, com tensão de fundo de escala de 24V.
Operação em 3,3V
O Nanoshield ADC também pode ser configurado para funcionar com alimentação de 3,3V. Essa configuração é útil quando se deseja utilizar o módulo juntamente com outras placas que funcionam com 3,3V, como o Arduino Zero, Arduino DUE, entre outras.
Para alterar a tensão de operação do módulo é necessário alterar o jumper de solda denominado POWER, que está localizado na parte superior da placa. A figura abaixo mostra como fazer esta alteração:
Esta alteração só é necessária se o módulo estiver sendo utilizado juntamente com a Base Board ou Base Board L. Caso você esteja utilizando o módulo ligado por jumper wires, basta conectar o pino VCC do módulo diretamente na tensão de alimentação de 3,3V.
Caso o módulo seja alimentado com 3,3V, o máximo intervalo de leitura permitido passa a ser de 0V até 3,3V. As opções de medida para sinais de 0 a 10V e 0 a 24V não podem ser utilizados com alimentação de 3,3V.
A Circuitar pode enviar seus módulos já configurados, contate-nos para mais informações.
!Recursos adicionais
Amplificador interno
O chip possui um amplificador interno com ganho ajustável, que pode ser utilizado para aumentar a resolução quando o sinal de entrada possui baixa amplitude. O ganho do amplificador pode ser setado para 2/3, 1, 2, 4, 8 ou 16. A tabela abaixo mostra qual é a tensão de fundo de escala para cada um dos ganhos do amplificador (tensão de fundo de escala é o maior valor de tensão que pode ser medido).
Ganho | Tensão de fundo de escala (V) |
---|---|
2/3 | 6,144¹ |
1 | 4.096 |
2 | 2,048 |
4 | 1,024 |
8 | 0,512 |
16 | 0,256 |
¹Para ganho igual a 2/3, apesar da tensão de fundo de escala ser igual a 6,144V, o máximo intervalo de leitura permitido ainda é de 0V até 5V.
A tensão de entrada pode ser superior ao valor de fundo escala sem que o módulo seja danificado. Por exemplo, mesmo utilizando ganho 16, onde a tensão de fundo de escala é igual a 0,256V, o valor de tensão máximo suportado pelas entradas analógicas continua sendo ±24V.
Comparador interno
O chip possui um comparador interno programável que pode ser configurado para gerar um alerta quando o valor de tensão na entrada analógica excede algum limite previamente configurado pelo usuário. Desse modo, o módulo pode "avisar" o microcontrolador sobre um evento desejado através de uma interrupção, não sendo necessário ficar medindo continuamente a entrada.
O sinal de alerta é enviado através do pino 3 do Arduino (no Nanoshield ADC este pino é denominado "ale"). Esta função vem desabilitada de fábrica e para ativá-la é necessário fechar o jumper de solda denominado ALERT localizado no lado superior da placa.
Diagrama de blocos
O Nanoshield ADC se comunica com o processador através de um barramento I²C que utiliza apenas 2 pinos. O diagrama de blocos abaixo ilustra o funcionamento do módulo.
Cada uma das entradas do Nanoshield ADC possui um filtro RC passa-baixas que conta com as seguintes funções:
- Anti-aliasing e atenuação de ruído nas entradas analógicas
- Proteção para as entradas analógicas contra ligações acidentais até ±24V
- Circuito configurável, possibilitando leituras de sensores de 0 a 5V ou 0 a 10V entre outras aplicações.
O filtro tem frequencia de corte de aproximadamente 480 Hz.
Especificações elétricas
-
Alimentação: é feita pelo pino VCC com intervalo de 4,5 até 5,5V (valor típico 5V). Opcionalmente a placa pode ser alimentada utilizando o pino 3V3 com intervalo de 3V até 3,6V, para isso é necessário alterar o jumper POWER (veja instruções no esquemático).
-
Consumo: o consumo máximo de corrente é de 300uA.
-
Níveis lógicos: a comunicação I2C e o sinal de saída ALERT (opcional), vem configurados de fábrica para funcionar com nível lógico de 5V. As entradas analógicas funcionam com tensões de até 5V e são protegidas para ligações acidentais até ±24V.
Pinagem
A tabela abaixo descreve a função de cada um dos sinais utilizados, e a correspondência com os pinos do Arduino UNO e Arduino MEGA.
Sinal | Arduino UNO | Arduino MEGA | Função |
---|---|---|---|
ale | 3 | 3 | Saída do comparador ou fim de conversao (opcional) |
SDA | A4 | 20 | Linha de dados barramento I2C |
SCL | A5 | 21 | Linha de clock barramento I2C |
VCC | VCC | VCC | Entrada de alimentação 5V |
GND | GND | GND | Tensão de referência (terra) |
!Código de exemplo
- Nanoshield_ADC - Biblioteca Arduino para o Nanoshield ADC.
Versões anteriores
- Versão 1.1 - Documentação da versão 1.1 do Nanoshield ADC.
- Versão 1.0 - Documentação da versão 1.0 do Nanoshield ADC.
Downloads
- Esquemático (EN) - Esquemático Nanoshield ADC v1.2 - Inglês
- Esquemático (PT) - Esquemático Nanoshield ADC v1.2 - Português
- Datasheet ADS1115 - Datasheet do chip ADS1115 da Texas Instruments