Buonasera, devo fare un programma che mi controlli una batteria al litio. Non ho la minima idea di dove mettere le mani, potete aiutarmi? Queste sono le specifiche:
- Il controller comanda due switch elettronici SwC e SwS mediante le linee digitali D2 e D3 come da schema.
- Per la batteria si assume un range di funzionamento 2.75 V … 4.2 V per cella.
- Quando D = 1 lo switch è ON, quando D = 0 lo switch è OFF. - SwC OFF blocca la corrente di carica , SwS OFF blocca la corrente di scarica.
- La tensione della batteria è monitorata sulla linea di input A0.
- Sulla linea A0 è presente la tensione di batteria attenuata di un fattore 10 per rientrare nel range operativo degli input analogici di Arduino.
- Il controller può essere in stato OFF o ON. All’ avvio lo stato deve essere OFF e il n°di celle predisposto a 4.
- Il controller risponde alle seguenti sequenze di comando (case insensitive) ricevute sulla seriale a 9600 baud:
- CON Manda in ON il controller
2)COFF Manda in OFF il controller
3)NX Predispone X celle - X va da 1 a 5.
- Una sequenza di comando errata deve essere ignorata.
- Se lo stato è OFF entrambi gli switch devono essere OFF (aperti) (batteria totalmente disconnessa dai morsetti esterni)
- Se lo stato è ON il controller :
- Controlla la tensione di batteria in tempo reale.
- Se la tensione supera il massimo consente solo la scarica.
- Se la tensione va sotto al il minimo consente solo la carica.
- Se la tensione è nel range consente carica e scarica.
- Quando la carica o la scarica vengono bloccate una riabilitazione della funzione non può avvenire prima di TD = 20 secondi dall’ inizio blocco.
- Il controller ogni 5 secondi comunica al PC sulla seriale a 9600 baud:
- il valore della tensione di batteria presente al momento.
- Lo stato del controller.
- Lo stato degli switch.
- La tensione nominale di batteria.
- L’ attivazione del TD di recupero.
Questo lo schema