Cosa succede se alimento Arduino con USB e tensione di alimentazione esterna contemporaneamente?


45

Sono un nuovo utente di Arduino. Non sono sicuro di poter collegare contemporaneamente USB e alimentatore esterno tramite l'alimentatore ad Arduino. Questo brucerebbe il controller?

Fondamentalmente, voglio spegnere automaticamente il computer dopo aver salvato tutti i documenti aperti prima che la batteria del mio UPS si spenga ogni volta che non ci sono per spegnerlo manualmente. Sto provando a notificare al computer le interruzioni di corrente dell'alimentazione principale - CA 220 V 50 Hz (notifica / segnale inviato quando si spegne l'alimentazione) tramite USB usando Arduino. Sto pensando che questo può essere fatto utilizzando il pin di alimentazione della tensione esterna. Ogni volta che l'alimentazione viene interrotta dalla rete, il pin di alimentazione della tensione esterna scenderà a 0 V da 7 V. Il valore della tensione può essere letto usando il software (non sono chiaro a riguardo: può essere fatto? Se sì, come? ). Arduino verrà comunque acceso poiché è collegato all'USB del computer e quindi comunica al computer in caso di mancanza di corrente.

Risposte:


11

Da arduinoBoardUno :

Energia

Arduino Uno può essere alimentato tramite la connessione USB o con un alimentatore esterno. La fonte di alimentazione viene selezionata automaticamente.

Inserire l'alimentazione esterna attraverso un partitore di tensione o un inverter basato su transistor e in un pin analogico (divisore) o digitale (inverter) e controllare il valore appropriato dal pin. Si noti che ciò non richiede l'alimentazione di Uno da un'alimentazione esterna, ma solo il collegamento dei motivi.


Ok. Grazie per la risposta. Cosa succederà quando li alimenterò sia attraverso la connessione USB che con un alimentatore esterno. Se si seleziona automaticamente, quale fonte selezionerà?
Jagat,

2
In base allo schema, verrà scelta l'alimentazione esterna se è superiore a 7,4 V circa, altrimenti l'alimentazione USB.
Ignacio Vazquez-Abrams,

Collega solo i motivi. L'Uno non lo farà automaticamente? (O ti riferisci alla configurazione del partitore di tensione?)
Anonimo Penguin

@AnnonomusPerson: né il divisore di tensione né la configurazione dell'inverter richiedono che Uno sia alimentato dall'alimentazione esterna; è usato solo per il rilevamento.
Ignacio Vazquez-Abrams,

2
La risposta potrebbe essere effettivamente corretta, ma mi sembra confusa (come utente inesperto). Manca un riepilogo (posso avere entrambi contemporaneamente o no?). Di cosa parla questo divisore di tensione? Devo usare un divisore di tensione per avere entrambe le potenze contemporaneamente o è un esperimento per provare qualcosa?
Suma,

57

Sono un utente principiante di Arduino. Non sono sicuro di poter collegare contemporaneamente USB e alimentatore esterno tramite l'alimentatore ad Arduino. Questo brucerebbe il controller?

Studiamo lo schema di Arduino UNO R3

L'ingresso dalla spina di alimentazione (PWRIN, il jack di alimentazione) passa attraverso un diodo D1 (per evitare l'inversione di polarità) e alimenta un regolatore NCP1117 che lo converte verso il basso all'alimentazione 5v che alimenta le parti 5v.

Ingresso alimentazione

L'alimentazione alternativa proviene dalla presa USB (USBVCC). Il circuito pertinente è mostrato di seguito

inserisci qui la descrizione dell'immagine

Le linee di alimentazione USB passano attraverso un P-mosfet (T1) che funziona come un interruttore e quindi passa al nodo + 5V (ovvero l'uscita del regolatore + 5v come mostrato nel primo schema).

Il mosfet è controllato da un amplificatore operazionale LMV358 (OPAMP) che opera come comparatore.
L'ingresso negativo dell'opamp è collegato a 3,3 V e quello positivo viene alimentato attraverso un divisore di tensione con metà del livello di alimentazione del Vin.

  • Quando Vin> 6,6 V, l'ingresso + dell'opamp diventa più alto dell'ingresso - e l'opamp spegne il mosfet.

  • Quando Vin <6,6 V, l'ingresso + dell'opamp diventa più basso dell'ingresso - e l'opamp attiva il mosfet.

Si noti che Vin è dopo il diodo di ingresso, quindi è di circa 0,6 V inferiore al livello di alimentazione collegato esterno. Quindi quando c'è un alimentatore collegato all'ingresso di alimentazione che è superiore a 6,6 V + 0,6 V (dove 0,6 V è la caduta di tensione del diodo D1), la linea di alimentazione USB viene interrotta (perché il mosfet si spegne) e l'alimentazione è fornito dalla spina di alimentazione. La connessione o disconnessione dell'alimentatore USB in questo caso non farà differenza, quindi è possibile collegare entrambi gli alimentatori contemporaneamente, solo quando l'ingresso di alimentazione scende al di sotto del livello specificato (circa 6,6 V + 0,6 V = 7,2 V), l'USB inizia ad alimentare la scheda.


4
+1 Risposta eccellente: molto dettagliata, precisa e didattica.
Ricardo,

Nota che M7 ha una brutta curva Vf; l'aggiunta di alcuni scudi (o uno grande) spingerà il suo Vf a 0,8 V o superiore.
Ignacio Vazquez-Abrams,

2
Si noti che mentre D1 aggiunge protezione per il pin PWRIN, non protegge ad es. Dalla polarità inversa su Vin.
Russell McMahon,

1
@sraboy Motor Shield utilizza la linea a 5 V solo per la sezione dei circuiti logici, i motori sono alimentati da una linea separata. Descrivi una situazione in cui i motori sono alimentati dalla linea di alimentazione grezza Vin (batteria da 7,2 v) e il resto del circuito dalla linea a 5 V. Se la batteria è scarica, quindi i 5 V dell'USB continuano a alimentare i circuiti logici dello scudo del motore e di Arduino, i motori non otterrebbero alcuna energia perché non c'è percorso dalla linea 5 V (che è dopo il regolatore 5 V) a Vin (che è prima del regolatore).
alexan_e,

1
@alexan_e Apprezzo il chiarimento!
sraboy
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.