Posso usare due pin digitali Arduino in parallelo per mantenere una tensione più alta?


8

Sto usando un pin digitale come alimentazione per un sensore (dovrebbe assorbire ~ 7mA).

Sfortunatamente, il sensore abbassa la tensione del pin digitale da 3,3 v a 3,0 v, il che non è sufficiente per il sensore.

Posso collegare due pin digitali e consentire a entrambi di mantenere una tensione più elevata? O rilascerà il fumo magico dal mio mini / non fare nulla?


6
"Ho uno dei miei piedi sotto la gamba più corta della mia scrivania per evitare che traballi, ma traballa ancora un po '. Dovrei mettere lì il mio secondo piede per tenerlo fermo?"
Ignacio Vazquez-Abrams,

4
"Una casa con un pavimento adeguatamente attrezzato per supportare correttamente la scrivania è la soluzione corretta qui."
Kolosy,

Voglio dire, entrambi non avete torto haha ​​+1 a entrambi @ IgnacioVazquez-Abrams
Passerby

Hai lasciato fuori molti dettagli, come il tipo di arduino (processore, 5 V o 3v3) e il tipo di sensore (quale tensione minima richiede a quel 7 mA, ed è quella media o di picco?).
Wouter van Ooijen,

lol ricevi un +1 per il commento sul fumo magico haha
Anthony Russell,

Risposte:


14

Sì, ma no.

Sì, puoi utilizzare due pin per generare più corrente o, nel tuo caso, estrarre meno corrente da ciascuno. Questa è una pratica comune, ma non viene spesso utilizzata sui microcontrollori. Dispositivi come driver led o driver motore ULN2803 o il collegamento di più transistor in parallelo. Anche più resistori in parallelo. Su un microcontrollore, non realmente progettato per il sollevamento di corrente pesante, devi ancora fare i conti con il Voltage Droop, devi assicurarti che i pin collegati in parallelo a una singola sorgente non siano mai in diversi stati alto / basso (creando un corto), e devi considerare che un perno potrebbe essere più forte dell'altro (realtà della produzione). Si consiglia di posizionare entrambi i pin sulla stessa porta, in modo che possano essere cambiati contemporaneamente, riducendo al minimo le possibilità di cortocircuito.

MA no, non funzionerà davvero per te. Non dici quale Arduino Mini, ma in realtà non importa, le diverse versioni hanno tutti i chip ATMega168 o ATMega328 e hanno specifiche simili, così come la maggior parte dei microcontrollori. Esperienza dei pin di uscita con caduta di tensione . All'aumentare della corrente o l'affondamento della corrente, la tensione diminuisce o aumenta, a seconda della direzione della corrente e del livello di tensione.

Le due cose che devi vedere sono le caratteristiche DC per Voh (tensione in uscita alta) e la forza del driver del pin.

inserisci qui la descrizione dell'immagine

inserisci qui la descrizione dell'immagine

Non mostrano caratteristiche per tutti i livelli di VCC, ma 2.7v e 3.0v sono più vicini al VCC di 3.3v rispetto a 5.0v, quindi useremo questi due grafici.

Si noti che la condizione di test per VCC = 3v è che Ioh (Current Output High) è -10mA (Current Source Out, i suoi 10mA). A 10mA di provenienza, il Voh è un minimo di 2.3v. Questo è 0,7 V in meno di VCC.

Ora guarda il grafico, con corrente da un lato e tensione dall'altro. Quando la corrente di uscita su Logic High è 0 mA, la tensione del pin sarà a 2,7 V o VCC. A 5 mA, la tensione del pin sarà a 2,5 V. Hai appena perso 0,2 V. A 10 mA, ci si trova a ~ 2,2 V, con una perdita di 0,5 V.

Anche se si mettono due pin in parallelo, si sta praticamente dimezzando la corrente tra i due, ma assumendo un picco di 8 mA, che è comunque di 4 mA ciascuno e che è circa 0,2 V inferiore a VCC. Avresti bisogno di alcuni pin in parallelo, il che potrebbe comportare un rischio più elevato di quello che desideri e prendere più pin senza motivo.

Non si elenca il sensore che si sta utilizzando, ma soprattutto, è necessario collegarlo direttamente all'alimentazione a 3,3 V o utilizzare un transistor / mosfet su un singolo pin se è necessario avere il controllo dell'alimentazione del sensore.


Figo, grazie. un semplice transistor di giunzione funzionerebbe qui o ho bisogno di un mosfet completo? pensando a questo: sparkfun.com/datasheets/Components/BC546.pdf
kolosy

1
@kolosy onestamente, potrebbe o no. Qualsiasi piccolo segnale npn o mosfet può funzionare, ma nessuno dei due è perfetto. E il tuo sensore è sensibile. Se una differenza di 0,3 VCC ne impedisce il funzionamento, potresti avere problemi con entrambi. Un transistor npn ha una caduta di circa 0,2 V su VCE (non uguale alla caduta di 0,6 v su VBE per transistor in silicone). Ciò significa 3,1 v per il sensore e 0,2 v per il transistor. Un mosfet ha una resistenza DS molto bassa, ma potrebbe essere sufficiente per influire sul sensore. Il sensore è un sensore 3v o 3.3v o 3.6v?
Passante dal

1
in realtà - non è così sensibile, sono solo nella parte inferiore della sua potenza nominale. può fare 3.3v - 20v e produce 0-3v come uscita. è solo un sensore di umidità: vegetronix.com/Products/VH400 .. tutto funziona da una batteria LiPo, quindi posso solo inserire la linea della batteria, che non scenderà sotto i 3,4 v circa.
kolosy,

@kolosy oh allora sì, quel npn va bene, come qualsiasi altro, 2n3904, 2n2222, qualsiasi piccolo segnale sarebbe adorabile.
Passante dal

6

Potresti ... ma è una cattiva idea.

I tipici pin del microcontrollore possono facilmente generare o affondare fino a 40 mA (almeno, questo è tipico dei chip AVR che la maggior parte delle schede Arduino sono costruite intorno). Quindi, l'attuale pareggio non è probabilmente il problema.

È anche comune che i pin impostati come uscite digitali siano da poche a poche decine di millivolt sotto la guida di alimentazione, il che significa che un'alimentazione a 3,3 V non verrà visualizzata interamente sul pin di uscita. Questo è noto come caduta di tensione.

Se il tuo sensore ha bisogno di un'alimentazione più alta, dovrai aumentare la tua barra di alimentazione (ad esempio, da 3,3 V a 5 V) o alimentare il sensore esterno da Arduino, cioè collegando il suo pin di alimentazione direttamente alla tua fonte da 3,3 V .

Inoltre, non è buona norma utilizzare un pin I / O come alimentazione diretta per qualsiasi cosa, ma piuttosto un pin può essere utilizzato per controllare uno swtich elettrico, come un MOSFET o un altro circuito di commutazione.


1

Le specifiche sul sensore indicano da 3,3 V a 20 V.

Se sulla scheda è presente una tensione superiore a 3,3 V, suggerirei invece di usarla.

Il sensore fornirà comunque un'uscita 0-3V.

Anche con due pin della cpu collegati insieme, scenderà un po 'al di sotto di 3,3 V e il sensore sarà fuori specifica.

Se a) non è disponibile una tensione più elevata, oppure b) è necessario disattivare l'alimentazione del sensore, suggerirei di utilizzare un FET di canale a livello logico p per alimentare il sensore.

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.