Sei sulla pagina 1di 10

Online Security

Questo sito non è stato ancora valutato

Partitore di resistenze o partitore di tensione


Categorie: Elettronica, Robotica e Domotica

di Mauro Alfieri

22 ottobre 2012

Il partitore di resistenze è un tipo di circuito semplice da realizzare e mnolto utile, sopratutto con Arduino, quando il sensore
che vuoi utilizzare funziona a 12v ed eroga anche in OUTPUT una tensione di 12v.

Come già sai i pin di Arduino non sono adatti a ricevere segnali con una tensione superiore a 5v, anche se come picco può
capitare di raggiungere tensioni maggiori è sempre bene evitare che questo accada.

Io per primo ho avuto l’esigenza di adatatre un segnale in 12v all’ingresso digitale ( pin 2 ) di arduino, per farlo avevo
individuato come soluzione quella dell’optoisolatore, a cui avrei collegato in input i 12v ed all’output i 5v.
Questa soluzione è risultata alquanto inadeguata sia per i tempi di risposta del segnale sia per l’uso solo con i pin digitali, su
intervalli piccoli è sufficiente ma se hai segnali che variano con una elevata frequenza il ritardo di risposta introdotto
dall’oproisolatore si ripercuote sul buon funzionamento; inoltre è in grado di trasferire solo segnalli di tipo 0-1 e non segnali
analogici 0-255.

Ho chiesto all’amico ed appassionato Luca di aiutarmi a risolvere il problema e la soluzione suggeritami è quella che ti
racconto oggi: il partitore di resistenze o di tensione.

Cosa sia e come funzioni puoi leggerlo in modo approfondito su wikipedia, in questo articolo vogllio illustrarti come è fatto e per
quali utilizzi puoi impiegarlo oltre che come calcolarne uno adatto ai tuoi scopi.

Come è fatto un partitore di resistenze


Puoi trovare in giro numerose foto e schemi del partitore di rersistenze, quella all’inizio dell’articolo è un esempio di schema
come lo è questo:
in entrambi i casi avrai notato che si tratta di due resistenxe di valore R1 ed R2 collegate in serie, semplice no?

Si è semplicissimo, la differenza tra le due resistenze ti permette di variare il rapporto tra Vi ( Volt input ) e Vo (Volt Output ).

La formula per trovare questi valori è quella espressa nella prima figura, tuttavia puoi utilizzare uncalcolatore on-line, io utilizzo
questo: calcolare un partitore di resistenze

Partitore di resistenze in pratica


La teoria su come funziona e come calcolarlo puoi approforndirla nei numerosi link presenti sul web, quello che vorrei chiarirti
oggi è praticamente come funziona:

Se R1=R2 qualsiasi sia il loro valore quello che ottiene è un partitore di tensione simmetrico ossia applicando a Vi 12v su Vo
avrai 6v, variando il rapporto tra R1 ed R2 a favore di R1 ( R1 > R2 ) il tuo partitore di tensione ti offre una tensione Vo inferiore
a Vi/2; variando il rapporto a favore di R2 ( R1 < R2 ) ottieni Vo > Vi/2;

Un rapporto tra R1 ed R2 che io utilizzo con arduino è R1= 1470ohm ed R2 = 1000ohm ottenendo una tensione di Vo = 4,8v dai
12v di Vi per ottenere i 5v esatti dovresti utilizzare R1= 1400ohm e R2=1000ohm, tuttavia non è facile trovare resistenze con tali
valori per il tuo partitore di resistenze, la possibilità che tu possieda già una resistenza da 470ohm e due da 1000ohm è
maggiore.

Important!

Il partitore di resistenze NON è adatto a realizzare dei riduttori di tensione, per questa esigenza è meglio rivolgersi ad un
circuito stabilizzatore tipo 7805 o simili, il partitore di resistenze può essere utili per adattare dei segnali in tensione più altra
a input funzionanti in tensione minore ( vedi Arduino ).

Uso alternativo del partitore di resistenze


Il principio è valido sia per adattare il segnale a 12v ad un segnale a 5v sia come conftonto in caso di resistenze variabili (
fotoresistenze, termistori, ecc… ) un uso del partitore di resistenze con le fotoresistenze lo hai visto in questo articolo in cui il
circuito è composto da R1 fisso ed R2 la fotoresistenza o più in generale la resistenza variabile.

Con arduino misurando la variazione di tensione su un pin analogico ( es.: A0 ) e conoscendo il rapporto massimo tra R1 ed
R2 puoi verificare l’intensità luminosa o la variazione di temperatura ( termistore o termo resistenza ).

Sketch di esempio
Il partitore di resistenze può essere utilizzato in molti modi e per molte applicazioni in cui il segnale uscente dal sensore è 12v e
il segnale che devi inviare ad Arduino è 5v, ti posto un semplice sketch che trovi tra gli esempi dell’IDE Arduino 1.0:
AnalogRaedSerial
01 /*
02 AnalogReadSerial
03 Reads an analog input on pin 0, prints the result to the serial monitor
04
05 This example code is in the public domain.
06 */
07
08 void setup() {
09 Serial.begin(9600);
10 }
11
12 void loop() {
13 int sensorValue = analogRead(A0);
14 Serial.println(sensorValue);
15 }

il suo scopo è semplicemente leggere il segnale analogico presente su A0 e scriverlo a video:

Il calcolo del valore in tensione puoi eseguirlo con la formula Vout = (5 x valore) / 255 se sto leggendo, come nell’esempio in
figura, 111 il valore in Vout è ( 5 x 111 ) / 255 = 555 / 255 = circa 2,18v.

Buon divertimento !!!

Important!

Gentilmente rispetta le 2 seguenti semplici regole:


– NON incollare sketch nei commenti, descrivi il tuo problema.
– NON inserire link a siti generalisti, di aste on-line, e-commerce non certificati e social network.

Warning!

Gli sketch sono distribuiti in forma gratuita e senza alcuna responsabilità.


Leggendo questo articolo e decidendo di usare lo sketch proposto ti assumi ogni responsabilità.

You may also like:

Evoluzione robotica Arduino Day 2015 chi c'era Come eccitare un motore Rescan disco SAN su
a Milano passo passo bipolare - RedHat
seconda parte
Meteo shield seconda parte Ramps sostituzione TriggerT: Trigger multiuso Progetto Arduino dove
MFR1100 – terza parte iniziare

Tags: fotoresistenza, partitore di resistenze, partitore di tensione, pin analogico, pin digitale, resistenze

Permalink link a questo articolo: http://www.mauroalfieri.it/elettronica/partitore-di-resistenze.html

32 comments

Vai al modulo dei commenti ↓

Michele
19 marzo 2013 a 22:50 (UTC 2)

Ciao Mauro, ti anticipo che non so nulla di elettronica mi ci sono imbattuto per caso , sto cercando di realizzare un piccolo
progettino sfruttando arduino.Vorrei realizzare una centralina per il mio camper che tenga sottocontrollo alcuni sensori ,
gallegianti e la batteria. Volevo chiederti se posso sfruttare il partitore di tensione , adeguando il codice, per controllare la
carica della batteria dei servizi? altrimenti cosa mi consigli? avevo anche pensato ad un regolatore di tensione , ma mi è
venuto il dubbio che sia che la tensione in Vin fosse di 10,5V o 12,5 troverei in Vout 5V è vero?
Grazie per l’attenzione .

Mauro Alfieri
20 marzo 2013 a 07:36 (UTC 2)

Ciao Michele,
il tuo progetto é interessante e simile ad altri proposti da camperisti.
Avrei voglia di creare un gruppo che possa cambiari consigli su progetti come i vostri e poter lavorare insieme.

Per la tensione é un problema in quanto un regolatore farebbe esattamente quello che dici, mentre un partitore devi
calcolarlo bene in quanto non gestisce i picchi, sopratutto quando il camper é in movimento, e rischi di bruciare
Arduino.

Sarebbe opportuno trovare qualche circuito che faccia da adattatore 12v-5v con tensioni di picco tipo a 24/30/48v

Mauro

Michele
20 marzo 2013 a 13:51 (UTC 2)

Ciao Mauro, ti ringrazio nuovamente per l’attenzione. Moltoprobabilmente i camperisti a cui ti riferisci hanno dei camper
vecchietti come il mio, stufi di avere solo dei led come indicatori. Ritornando al mio dilemma , non c’è nessun componente
da anteporre ad arduino che impedisca di far passare piu tensione di quella che si vuole? logicamente che non interferisc
a con la misurazione.
Grazie
Michele

Mauro Alfieri
20 marzo 2013 a 16:49 (UTC 2)

Ciao Michele,
tra i componenti di cui ho conoscenza non c’è un adattatore di tensione per arduino.
Non escludo esista, prova a cercare con Google.

Mauro

Daniele Bruno
8 maggio 2013 a 17:43 (UTC 2)

Ciao Mauro, mi sono imbattuto per caso nel tuo sito alla ricerca di applicazioni alternative del partitore di tensione, in
particolare i suoi range di applicabilità.
Ho la necessità di adattare un segnale in tensione proveniente da un motore elettrico a 320V ad un input funzionante fino
10V, ovvero una DAC con modulo di acquisizione delle tensioni.
In tal modo il rapporto delle resistenze, considerando il range 1kOhm – 10kOhm, mi porterebbe ad avere per esempio
R1=10kOhm ed R2= 0.3 kOhm.
Ti risulta una buona modalità di acquisizione oppure mi consigli altre metodologie? In alternativa avevo anche pensato ad
un potenziometro per arrivare a rapporti fra le resistenze più spinti.
Grazie
Daniele

Mauro Alfieri
10 maggio 2013 a 16:50 (UTC 2)

Ciao Daniele,
non sono così esperto come a volte sembra.
Date le tensioni in gioco io cercherei un circuito adattatore o addirittura un trasduttore optoisolato se riesci.

Evita di usare un semplice partitore per il tuo progetto.

Pronto ad essere smentito da chi ne sa più di me sull’argomento.

Mauro

Alberto
8 giugno 2013 a 14:36 (UTC 2)

Mi permetto di dare il mio contributo……

Con un partitore di tensione possiamo ridurre di un fattore K la tensione in uscita rispetto a quella in ingresso.
Ci sono peró alcune cose da tenere in considerazione:
La massa del circuito ricevente sará in comune con quella da cui é stata presa la tensione da ridurre quindi scordatevi di
misurare la 220VAC perché il neutro finirebbe sulla massa del nostro circuito.
Il partitore va bene per ridurre le tensioni continue e generalmente, va solo bene per ridurre una tensione da misurare o
da utilizzare come riferimento (dalla quale non assorbiamo nessuna corrente)
Le resistenze utilizzate realizzano un circuito con un’impedenza che va valutata in base alla tipologia dell’applicazione e
di cosa c’é sia prima che dopo il partitore stesso.
Non dovrá essere né troppo alta né troppo bassa.
Se si vuole limitare la tensione al nostro circuito, si puó montare un diodo zener con una resistenza che provvederá a
livellare la tensione se questa sará superiore al proprio valore di riferimento.

Alberto

Mauro Alfieri
9 giugno 2013 a 07:49 (UTC 2)
Ciao Alberto,
sei preziosissimo !!! Sto imparando anch’io cose nuove ed interessanti, se ti va di scrivere qualche articolo a tuo
nome di approfondimento o correzione mi farebbe piacere.

Mauro

Davide
12 gennaio 2014 a 16:27 (UTC 2)

Ciao Mauro,
intanto complimenti per il blog. Ho letto e testato quasi tutte le parti dedicate ad arduino.
Ti anticipo che io di elettronica so poco, sono un informatico.
Sto realizzando un sistema di apertura e chiusura degli scuri di una finestra con telecomando tramite arduino.
Utilizzo due servomotori funzionanti tra i 4,8V e 6V con consumo di 150mA l’uno. testando il programma da pc con
collegamento alla porta USB funziona. Ho deciso di collegare un alimentatore x arduino e uno più potente ai servomotori.
Ho un alimentatore di recupero che fa 32V e 1560mA. Seguendo le tue indicazioni con 3 resistenze che ho disponibili
riesco ad avere 5,2V, sarebbe perfetto se non fosse che la corrente è praticamente meno di 1mA … C’è un modo di alzare
questa corrente? O mi conviene acquistare un alimentatore?

Mauro Alfieri
13 gennaio 2014 a 07:38 (UTC 2)

Ciao Davide,
la tua idea é molto bella e quando avrai ultimato il progetto mi piacerebbe pubblicarlo e magari riprodurlo a casa.

Venendo al problema di alimentazione io ti consiglio di usare un alimentatore differente che eroghi 6v stabilizzati e
corrente sufficiente, il partitore di resistenze non é adeguato allo scopo, la corrente, come hai appurato, é
limitatissima.

Se vuoi comunque utilizzare il tuo alimentatore da 32v ti consiglio di acquistare il convertitore Dc-Dc di cui ho scritto
un articolo tempo addietro, é un circuito in grado di erogare 6A con tensione regolata dalle resistenze che decidi e
con un guadagno maggiore del 95% che significa bassissima perdita di potenza.

Mauro

Salvatore
13 giugno 2014 a 13:46 (UTC 2)

Molto interessante. Io dovrei realizzare un circuito collegato poi ad Arduino, che mi permetta di misurare e registrare la
tensione ai capi di una resistenza collegata a una batteria della macchina. In pratica alla sua accensione la macchina
eroga 12V (in teoria dovrebbe essere inferiore) a questa resistenza per x secondi dopo di che la centralina abbassa la
tensione erogata (a una tensione y) e continua ad alimentare la resistenza. A me serve misurare la tensione erogata in
modo da capire anche per quanto tempi viene erogata la 1° tensione e la seconda. Secondo te è possibile fare una cosa
del genere con Arduino?

Grazie per una tua eventuale risposta.

Salvatore

Mauro Alfieri
13 giugno 2014 a 18:10 (UTC 2)

Ciao Salvatore,
io per evitare di davveggiare arduino cercherei una shield che funzioni come multimetro o tester per la tensione.
Gian
10 ottobre 2014 a 01:30 (UTC 2)

Ciao Mauro,
molto interessante il tuo articolo, volevo sapere come fare ad alimentare il mio Arduino Yun con una batteria tipo cellulare
3.7V è possibile tramite un partitore di tensione resistivo?
Grazie

Mauro Alfieri
10 ottobre 2014 a 09:53 (UTC 2)

Ciao Gian,
l’arduino yun va alimentato a 5v, se vuoi utilizzare una LiPo 3,7v ( tipica dei cellulari ) devi procurarti un circuito in
grado di elevare la tensione. Il partitore di resistenze fa il lavoro inverso come hai letto nell’articolo.

Giovanni
16 giugno 2015 a 15:43 (UTC 2)

Ciao Mauro;
io vorrei realizzare un progetto forse semplice per chi ha esperienza, ma io ci lavoro da due annetti. Vorrei leggere il
valore di una tensione che, quando arriva a 13,8 volt spegne il relè, se non legge questa tensione , si accende.
Grazie

Mauro Alfieri
16 giugno 2015 a 17:22 (UTC 2)

Ciao Giovanni,
hai provato a cercare tra i circuiti di regolazione di carica con soglia regolabile?
Non saprei indirizzarti verso un progetto in particolare ma sono certo che su internet ce ne siano tanti.

Giovanni
18 giugno 2015 a 15:25 (UTC 2)

Ciao Mauro;
sono riuscito a farmi una specie di partitore di tensione e sono riuscito a far funzionare il mio progetto. Grazie mille!

Mauro Alfieri
18 giugno 2015 a 17:08 (UTC 2)

Bravo Giovanni !!!

Riccardo
9 luglio 2015 a 18:34 (UTC 2)

Ciao Mauro,
innanzitutto ottima guida e complimenti.
Mi chiedevo se l’arduino, quando si applica una tensione sugli ingressi analogici, assorbe una piccola corrente da essi e
se tale corrente circolando nelle resistenze del partitore può sfalsare le cadute di tensione, considerando anche che le
resistenze non si troverebbero più in serie.
Grazie.

Mauro Alfieri
10 luglio 2015 a 09:52 (UTC 2)
Ciao Riccardo,
penso di non aver capito la domanda.

Lorenzo
10 novembre 2015 a 15:38 (UTC 2)

Ciao Mauro, complimenti, interessantissimo sito.


Sto sviluppando un progetto amatoriale di elettronica applicata alla moto per uso sportivo tramite arduino (pit limiter e
quick shift per quelli che hanno dimestichezza con l’ambiente).
Il mio problema è portare un segnale in frequenza dei giri motore di 12-13v in un ingresso 5v dell’arduino.
Guardando un po’ in giro (non sono forte in elettronica) ho immaginato di farlo con un partitore di tensione che riduca
intorno ai 5v ed un diodo Zener che livelli eventuali picchi, ma mi areno nel calcolo delle resistenze.
Puoi aiutarmi o eventualmente suggerirmi soluzioni alternative?

Mauro Alfieri
11 novembre 2015 a 12:53 (UTC 2)

Ciao Lorenzo,
per il calcolo puoi usare le formule e i link presenti nell’articolo.
Direi che in generale il partitore di resistenze funziona ma è un po’ lento in risposta, dipende dalle frequenza in gioco
e da che misurazioni devi fare.
L’alternativa sono circuiti appositi chiamati shift-level se non ricordo male il loro nome.

Dario Cdj
15 gennaio 2016 a 09:37 (UTC 2)

Ciao,
devo leggere un pacco batterie da 48v… allora per sicurezza ho fatto un partitore di tensione 60v con una res da 100k e
una da 9k circa (8.2k + 820ohm in serie)

Il tutto funziona, ma i valori che mi vengono letti non sono mai uguali (e la corrente è stabile, il tester è fermo su 11,89 al
momento, sto usando un alim da banco al posto delle batterie)

Questo è il codice che sto usando :


int lettura = analogRead(A0);
float volts = lettura * (5.0 / 1023.0);

// partitore di tensione è 60v (per evitare che le sovratensioni danneggino il circuito) 1 res 100k – 1 res 9k (8,2+820ohm in
serie) il rapporto è 60/5 = 12
float voltaggioreale = ( volts * 12 ) ;

Ecco cosa esce la seriale :


Lettura da A0: 1.03 volts
voltaggio reale entrata: 12.32 volts
Lettura da A0: 1.05 volts
voltaggio reale entrata: 12.55 volts
Lettura da A0: 1.02 volts
voltaggio reale entrata: 12.20 volts
Lettura da A0: 1.02 volts
voltaggio reale entrata: 12.20 volts
Lettura da A0: 1.04 volts
voltaggio reale entrata: 12.43 volts
Lettura da A0: 1.01 volts
voltaggio reale entrata: 12.14 volts
Lettura da A0: 1.02 volts
voltaggio reale entrata: 12.20 volts
E’ normale che non sia preciso ?
grazie
Dario

Mauro Alfieri
15 gennaio 2016 a 15:25 (UTC 2)

Ciao Dario,
hai provato farti scrivere a video anche i valori della variabile lettura ?

Dario Cdj
20 gennaio 2016 a 16:31 (UTC 2)

Lettura da A0: 1.01 volts … è questa la variabile lettura… ho ovviato facendo una media di 100 letture… ma non è bello…

Mauro Alfieri
21 gennaio 2016 a 09:53 (UTC 2)

Ciao Dario,
nelle rilevazioni di sensori analogici è normale fare dei campionamenti.

Stefano
16 marzo 2016 a 22:30 (UTC 2)

Ciao Mauro volevo chiederti un favore ? Sto cercando di far funzionare un led a pasticca 3/4v 3w con un tra SD formatore
0 220 0 380 out 12v/24v con un stabilizzatore a ponte ora volevo chiederti che tipo di resistenza devo metterci? Io ne ho
provata una da 560 ma il risultato è che il led nn si accende sufficientemente ,ho misurato con il tester ai capi del LED e
avevo un voltaggio di 2.37volt. Però misurando ai capi de polo positivo e al pin della resistenza avevo 24v pensavo di
bruciare il led invece no perché? Cosa devo fare che resistenza devo mettere? Grazie .

Mauro Alfieri
18 marzo 2016 a 12:25 (UTC 2)

Ciao Stefano,
non mi è chiaro quello che desideri fare.
Il led a pasticca è per caso un led controllato in corrente e non in tensione ?

Marco
26 marzo 2016 a 15:19 (UTC 2)

Ciao, premetto che non sono pratico di elettronica, ma sto disperatamente cercando lo schema di un circuito che partendo
da un’unica tensione in entrata a 9V sia capace di generarne due in uscita una a 3 e l’altra a 6v, mi domandavo se i
partitori sono adatti e se si come si può realizzare?

Mauro Alfieri
29 marzo 2016 a 10:36 (UTC 2)

Ciao Marco,
i partitori sono una soluzione buona per adattare segnali ma inadatta ad essere usati per alimentare altri circuiti a
causa delle correnti in gioco. Tu di quali correnti hai bisogno ?

Paolo
11 agosto 2016 a 16:08 (UTC 2)

Buondì Mauro
Vorrei utilizzare questo schemino per cercare di interfacciare dei sensori di un antifurto con dei XOR.
Cerco di spiegarmi, anche se non sarà facile.
L’ingresso della centrale antifurto deve essere messo a massa con una resistenza da 10k per fare stare l’antifurto zitto. Se
viene a mancare la massa, l’antifurto suona.
A questo ingresso io vorrei attaccare una serie di 5 sensori che hanno un contatto che si apre quando il sensore rileva un
movimento. Data la configurazione della casa, non posso fare diversamente.
Vorrei però sapere, in caso di allarme, quale di questi sensori è entrato in funzione. Ho quindi pensato di mettere in
parallelo ad ogni sensore degli XOR, così, se un piedino dello XOR resta a massa e l’altro si alza (sull’ingresso della
centrale, quando non è a massa son presenti 12,5 v), in uscita avrò la condizione logica 1, mentre se il contatto è chiuso
saranno entrambi a 0 (o a 1, se un altro contatto è aperto) e quindi l’uscita sarà a 0.
L’uscita degli XOR andrebbero a dei FLIP FLOP che manterrebbero lo stato acquisito al momento in cui il sensore rileva il
movimento e quindi a dei LED che si accenderebbero per identificare il sensore.
Questa è la teoria (e potrebbe essere anche sbagliata), la pratica però mi sfugge completamente.
Per arrivare dai 12,5 v ai 5 dello XOR vorrei usare dei partitori come quelli che hai indicato tu, ma credo di non capire
bene cosa cambi se uso delle resistenze da 1500 e 1000 (in uscita avrei 5v netti) o 15000 e 10000 e ancora 150000 e
100000. Il rapporto è sempre lo stesso e il risultato teorico identico.
Mi potresti spiegare cosa usare e perchè?
Grazie

Mauro Alfieri
14 agosto 2016 a 16:12 (UTC 2)

Si Paolo il rapporto determina il flusso di elettroni e la resistenza che incontrano nell’attraversare l’una e l’altra.
Il partitore di tensione con resistenze paga lo scotto di una risposta in velocità non eccellente, per il tuo scopo
dovrebbe essere sufficiente. In alternativa puoi usare dei circuiti chiamati shift-level che sono progettati per essere
più reattivi.

Potrebbero piacerti anche