Come utilizzare i sensori di uscita 3.3V e 5V con Arduino?


13

Per ottenere la piena risoluzione da Arduino ADC quando si utilizzano sensori da 3,3 V, è necessario eseguire due operazioni.

  1. Collegare l'alimentatore a 3,3 V al pin AREF.
  2. Chiamare analogReference (EXTERNAL) nel codice.

Ma che dire se devo mescolare i sensori di uscita 3.3V e 5V. Quali sono le mie opzioni?

Risposte:


10

Una soluzione semplice consiste nell'utilizzare un divisore di resistenza (rapporto circa 1: 1,94) e ridurre il segnale 5 v a un picco di 3,3 v In questo modo manterresti la piena risoluzione senza dover cambiare riferimento. Un divisore adatto sarebbe usare un 18k dal sensore all'ingresso analogico e un 33k dall'ingresso analogico a terra. Ciò tradurrebbe l'input 5v in un input 3.23v. Se necessario, l'uso di resistori di precisione più elevata si avvicinerebbe a 3,3 v. È necessario assicurarsi che il sensore sia in grado di fornire la corrente necessaria per un determinato valore, in questo caso circa 0,1 mA. La resistenza di ingresso degli ingressi analogici ATMega è di circa 100 M ohm, quindi è possibile aumentare significativamente questi valori (riducendo il carico sul sensore) prima di preoccuparsi dell'effetto della resistenza di ingresso.


3

Due cose: vivere con la risoluzione ridotta dei sensori 3.3v e mantenere il riferimento a 5V. Questo è quello che faccio di solito ed è abbastanza buono.

Puoi anche cambiare il tuo riferimento analogico al volo durante la lettura di ciascun rispettivo sensore. Ricordo di aver letto sulla miscelazione di riferimenti esterni e riferimenti interni e di avere una resistenza limitatrice di serie sull'AREF, quindi leggi attentamente quella parte del riferimento Arduino.


2

Puoi anche considerare di cercare versioni più recenti dei tuoi sensori. Potresti essere in grado di acquisire sensori che funzionano entrambi con gli stessi limiti di tensione oppure potresti scoprire che sono disponibili versioni più recenti dei sensori che ti forniranno uscite digitali e che possono essere interrogate con I2C o altri semplici protocolli di comunicazione seriale. Richiederebbe ovviamente l'acquisto di un nuovo chip, ma non sono tremendamente costosi e non solo elimineresti il ​​problema, ma probabilmente forniresti al tuo progetto un livello di precisione maggiore poiché non devi preoccuparti del rumore nel tuo circuito.

A corto di riprogettazione dell'intero progetto per adattarsi a nuove patatine, John C e il prosciutto offrono soluzioni eccellenti e semplici. Nella mia esperienza, ho eseguito un sensore 3v3 con alimentazione e riferimento 5v e ho riscontrato problemi di rumore maggiori rispetto alla risoluzione persa per progetti occasionali. Questa è la via più semplice, ma richiede di fare un po 'di matematica, e ho votato di conseguenza il post di ka1kjz (controlla i fogli di riferimento).

Per quanto riguarda la soluzione del partitore di tensione, purché si utilizzino resistori di precisione più elevata, si ha il vantaggio di avere tutte le misurazioni nello stesso intervallo di tensione e si ottiene il vantaggio di correzione raziometrica dell'uso di AREF per seguire qualsiasi ondulazione di tensione. In pratica, tuttavia, ho scoperto che il rumore e la mancanza di tecniche di calibrazione nei miei progetti hanno contribuito più errori di quanto un ragionevole aumento di tensione o una resistenza del 10% potrebbero ragionevolmente causare. Per questo motivo ho votato anche la soluzione di JohnC, poiché tratta tutto questo in modo più dettagliato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.