Go Down

Topic: Arduino segnalatore UPS? (Read 1 time) previous topic - next topic

miticobeppe

Ciao ragazzi, me la cavicchio con arduino, ma non troppo, non sono esperto ecco!

quello che vorrei creare io è:

Possiedo un UPS, che collego alla presa di corrente (Questo UPS ha un usb che può inviare dati, per monitoraggio e spegnimento automatico)
A questo UPS collego, arduino tramite presa DC e un paio di casse da 6W.
Le casse sono collegate tramite cablaggio ad arduino che invia il segnale audio tramite scheda SD.

La mia idea: Quando salta la corrente, automaticamente l'UPS accende le sue batterie, e vorrei che lo segnalasse ad arduino cosi che esso posso far partire una riproduzione audio. Inoltre far accendere vari LED che segnalano l'interruzione.

Il concetto nasce dal fatto che necessito di un avviso quando salta la corrente di notte. Per intervenire su diversi dispositivi che non possono essere spenti in modo brusco.

Per l'invio del segnale audio alle casse, no problem, posso usare e adattare un mio vecchio progetto.
Per l'accensione dei led, altrettanto nessun problema.

L'unico problema deriva dal fatto di far capire ad arduino quando manca la corrente e quindi attivare i sistemi di emergenza, e inoltre quando la corrente torna disattivarli automaticamente.

per comodità aggiungerei anche un pulsante, che se l'allarme parte per mancanza di corrente, se azionato fa spegnere il suono. (cosi da lavorare senza chiasso)


L'UPS Che possiedo è questo: https://www.amazon.it/gp/product/B0133F1C2S/ref=oh_aui_detailpage_o09_s00?ie=UTF8&psc=1

funziona alla grande! Aiutatemi a trovare una soluzione a come far capire ad arduino l'ìnterruzzione di corrente!

Saluti a tutti!

gpb01

#1
Sep 12, 2017, 01:55 pm Last Edit: Sep 12, 2017, 01:55 pm by gpb01
... Aiutatemi a trovare una soluzione a come far capire ad arduino l'ìnterruzzione di corrente!
... ovviamente solo soluzioni che NON implichino il collegamento alla tensione di rete 220V (REGOLAMENTO, punto 15). ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

pippo72

ciao

Arduino lo alimenti in uscita all'ups (così funziona anche senza corrente); prendi un qualsiasi alimentatore da 5 volts (uno a caso), lo colleghi a una presa senza UPS , metti i 5 volts su un ingresso digitale di arduino (magari con un fotoaccoppiatore) e con questo controlli se c'è o meno la tensione di rete.

Dovremmo esserci a livello di regolamento  ;)

ciao
pippo72

uwefed

#3
Sep 12, 2017, 06:40 pm Last Edit: Sep 12, 2017, 06:40 pm by uwefed
Arduino non ha un USB HOST e percui non puó dialogare col UPS via USB.
Ciao Uwe

miticobeppe

Quindi usb la dobbiamo escludere a prescindere!
ciao

Arduino lo alimenti in uscita all'ups (così funziona anche senza corrente); prendi un qualsiasi alimentatore da 5 volts (uno a caso), lo colleghi a una presa senza UPS , metti i 5 volts su un ingresso digitale di arduino (magari con un fotoaccoppiatore) e con questo controlli se c'è o meno la tensione di rete.

Dovremmo esserci a livello di regolamento  ;)

ciao
pippo72
Quindi usb la dobbiamo escludere a prescindere! perche arduino non ha l'entrata quindi non ce possibilità di scambio dati....L'unica sarebbe come hai detto tu, creare una condizione che se legge che la corrente non ce su pin 5V, fa partire la riproduzione audio.
Ma non so utilizzare e ne tantomeno so il funzionamento di un fotoaccoppiatore! A cosa mi serve?


Se ci sono altre idee dite pure

Grazie intanto



miticobeppe

Ragazzi aggiungo una domanda, come faccio a far leggere ad un pin digitale l'entrata di corrente?

docdoc

#6
Sep 13, 2017, 02:49 pm Last Edit: Sep 13, 2017, 02:50 pm by docdoc
Entro in questo thread perché 2 anni fa avevo una esigenza simile, ossia un "qualcosa" (es. Arduino) doveva monitorare lo stato di un UPS dotato di uscita di monitoraggio USB (e che con Windows funziona) per prendere determinate decisioni in base allo stato ossia monitorare la presenza o meno di tensione di rete (yes/no) e il livello attuale delle batterie (%), e comunicarle ad un server centrale via TCP/IP in base a determinate regole.
Purtroppo all'epoca non "masticavo" molto Arduino per cui sono stato costretto a restare con la proposta originaria ossia un piccolo PC embedded con Windows7 (si, lo so, non ditemi niente, non l'ho scelto io...).

Arduino non ha un USB HOST e percui non puó dialogare col UPS via USB.
Beh non c'è standard ma si può aggiungere con un USB Host shield come questo.
Aggiungendo anche un Ethernet shield (ed un modulo RTC per tracciare un log, più scheda SD per bufferizzare le comunicazioni in caso di mancanza di connessione di rete) il tutto sarebbe possibile, almeno per la mia esigenza.

Il problema in pratica diventa software, ossia dando per scontato il link USB con l'UPS, è possibile (magari usando una qualche libreria esistente, che però non ho trovato) implementare il monitoraggio delle segnalazioni provenienti dall'UPS?

Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito ;-) **

miticobeppe

Si però forse mi conviene fare come mi hanno consigliato sopra...è un metodo anche piu semplice, qualche volonteroso ha voglia di aiutarmi in questa creazione?

miticobeppe

ragazzi una volta collegato l'alimentatore al pin, come posso far  rilevare tramite codice la corrente ad arduino?

gpb01

#9
Sep 19, 2017, 09:04 pm Last Edit: Sep 19, 2017, 09:05 pm by gpb01
ragazzi una volta collegato l'alimentatore al pin, come posso far  rilevare tramite codice la corrente ad arduino?
Due possibiltà ...

1. Usare un pin "digitale" su cui metti una resistenza da 10KΩ verso massa. Quando sono presenti i 5V dell'alimentatore leggi HIGH, quando non sono presenti leggi LOW.

2. Usare un pin "analogico" e "leggere" il valore della tensione in arrivo dall'alimentatore.

Mi sembra più che sufficiente la possibilità 1.  ... magari metti anche una resistenza in serie da un 100Ω ed un diodo Zener da 4.7V ... così proteggi l'ingresso da eventuali innalzamenti della tensione in uscita dall'alimentatore ;)

Guglielmo
Search is Your friend ... or I am Your enemy !

docdoc

Si però forse mi conviene fare come mi hanno consigliato sopra...
Se la tua esigenza è solo rilevare l'assenza di tensione di rete, si. Nel mio caso è più completo, dovevo monitorare lo stato delle batterie (ad esempio attivando uno shutdown prima dello spegnimento dell'UPS).
Alex "docdoc" - ** se ti sono stato d'aiuto, un punto karma sarà gradito ;-) **

miticobeppe

1. Usare un pin "digitale" su cui metti una resistenza da 10KΩ verso massa. Quando sono presenti i 5V dell'alimentatore leggi HIGH, quando non sono presenti leggi LOW.
Ciao ho tutto il materiale, tranne il diodo zener . Posso farne a meno? Non ne ho mai usato uno e mi manca!

Detto questo mi preparo a collegare il tutto, ma la mi domanda è, tramite codice, come setto la lettura di arduino in HIGH se c'è corrente e in LOW se non ce?
Sinceramente tramite codice non so da dove iniziare.

Mi viene da pensare:
Void loop
If pin5 read....e mi blocco ahah

Grazie per la futura risposta

miticobeppe

Questo codice potrebbe funzionare? L'ho buttato giù poco fa, ma non l'ho provato

pinMode(2, INPUT); // pin entrata corrente 5v da leggere

int corrente; // dichiaro la variabile della corrente

void setup()
{
corrente= digitalRead(2)
}

void loop()
{

If (corrente > HIGH) {// leggo se il segnale di corrente c'è
// si seguito faccio qualcosa
}

If (corrente > LOW) {//leggo se il segnale di corrente MANCA
// di seguito faccio qualcosa 

}

gpb01

#13
Sep 25, 2017, 07:20 am Last Edit: Sep 25, 2017, 07:21 am by gpb01
Allora, prima di tutto, ti ricordo che in conformità al regolamento, punto 7, devi editare il tuo post (quindi NON scrivendo un nuovo post, ma utilizzando il bottone More -> Modify che si trova in basso a destra del tuo post) e racchiudere il codice all'interno dei tag CODE (... sono quelli che in edit inserisce il bottone con icona fatta così: </>, tutto a sinistra).

Poi ... perdona, senza alcuna offesa, ma ... da quanto scrivi è evidente che a te mancano proprio le BASI ...
... perché non dedichi un po' di tempo a studiare? ... magari puoi cominciare con QUESTO proseguire con QUESTO ed acquistare qualche buon libro (es. QUESTO). Vedrai che ti si chiariranno parecchie cose e che poi ti avvicinerai molto più produttivo al tuo programma ... ::)

Guglielmo
Search is Your friend ... or I am Your enemy !

miticobeppe

Ok va bene leggero quanto mi hai consigliato.
Ma quindi il codice scritto manca in tutto? Cioè é completamente sbagliato?


Go Up