| shadowcaster
| Inviato il: 25/7/2013,16:43
|
@calcola Io ho già acquistato i componenti su ebay, aspetto che mi arrivino…la richiesta era per avere nel frattempo qualcosa di già funzionante e per capire magari qualche particolare in più che dalle foto non si percepisce. Comunque a disposizione. Saluti.
---------------
| | | | calcola
| Inviato il: 25/7/2013,17:08
|
La scheda millefori la puoi sempre fare, in caso d'incertezza posta delle foto, poi aiutati con lo schema.
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | Sabin
| Inviato il: 25/7/2013,17:16
|
CITAZIONE (calcola @ 25/7/2013, 12:47) Dopo aver collegato l'adattatore seriale-usb e dato alimentazione all'arduino collegandolo mediante i morsetti d'ingresso alle batterie, è il momento di caricare il software sul pc, il programma si chiama arduino ide ed è scaricabile gratuitamente da http://arduino.cc/en/Main/Software . Dopo l'installazione aprire il programma e dalla barra menu' scegliere : Strumenti --> tipo di arduino --> Arduino pro or pro mini 5V, 16 Mhz W/ATMEGA 328. Poi su strumenti --> porta seriale scegliere la porta seriale alla quale è collegata l'interfaccia usb. Dentro la finestra bianca incollare il seguente listato (con copia - incolla): ........ Previous IDE Versions arduino-1.5.1r2-windows.zip 157 MB?
E' la versione giusta?
--------------- Inverter UPS Power Star W7 (onda pura) ingresso 24 v... 220V 2 Kw con spunto da 6 Kw? (direi 3Kw)
<...
| | | | calcola
| Inviato il: 25/7/2013,18:51
|
Su linux uso la 1.0.1 è piuttosto datata però funziona e quindi non l'ho aggiornata. Io installerei la prima dell'elenco, scarica il file installer http://arduino.googlecode.com/files/arduin...0.5-windows.exe
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | Sabin
| Inviato il: 25/7/2013,20:41
|
Scaricato. 52 MB, installato su win XP, sembra funzionare, rimane da verificare se comunica.
Ordinati i pezzi. Sono tre venditori diversi, ho aggiunto altre cose che mi potrebbero servire. Arrivano senza dogana?
Modificato da Sabin - 25/7/2013, 23:29
--------------- Inverter UPS Power Star W7 (onda pura) ingresso 24 v... 220V 2 Kw con spunto da 6 Kw? (direi 3Kw)
<...
| | | | calcola
| Inviato il: 25/7/2013,22:39
|
nel mio caso ha funzionato sin dalla prima volta. Per spedizioni di poco valore non si paga nulla, l'interessante è non superare i 20 euro su ogni spedizione. Poiché in genere non fanno pagare la spedizione, conviene fare più ordini separati piuttosto che un ordine cumulativo.
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | calcola
| Inviato il: 26/7/2013,09:35
|
Ho caricato la versione definitiva del programma, per evitare confusione ho sostituito il listato presente alla prima pagina di questa discussione con la nuova versione.
La modifica è stata fatta per poter permettere la taratura del partitore di tensione. Infatti il partitore di tensione utilizzato è di tipo resistivo e le resistenze hanno sempre dei piccoli margini di errore, quindi si rende necessario tarare il proprio partitore in modo che il programma possa restituire i corretti valori di tensione. Consiglio di caricare una prima volta il software, controllare sul monitor seriale che i valori di tensione restituiti siano uguali a quelli della batteria e misurati con il tester ai morsetti verdi d'ingresso alla scheda. Se sono uguali con errore +- di un decimo (0,1V) lasciate stare, altrimenti procedete con la taratura.
Effettuate il controllo con la sola scheda collegata alla batteria, quindi: pannelli staccati, inverter spento, nessun carico.
COME EFFETTUARE LA TARATURA DEL PARTITORE
1) individuate alla fine del listato la riga seguente: Serial.println(VoltageReading); //Serial.println(average);
eliminate le due barrette // solo le barrette, in modo che l'istruzione diventi: Serial.println(VoltageReading); Serial.println(average);
2) ricaricate il software così modificato sull'arduino.
3) aprite il monitor seriale, apparirà una schermata di questo tipo:
individuate il numero evidenziato sulla foto con il punto nero, nell'esempio "225", misurate il valore della tensione della batteria ai morsetti d'ingresso della scheda, supponiamo 12.7 V, quindi fate il seguente calcolo: 12.7/225= 0.05644 quello è il valore che deve essere sostituito al coefficiente di conversione all'inizio del listato al punto : #define coefficiente_conversione 0.05620.
4) ricaricate nuovamente il programma modificato
Non aspettatevi una precisione assoluta nel mio caso la tensione realmente misurata con il tester alla batteria è veramente di 12,65 che diviso 225 fa un coefficiente appunto di: 0.056222222 che ho arrotondato a 0.05620, però se osservate la lettura precedente potete vedere che la penultima lettura della tensione era di 12.7 V. Quindi vi è un errore di circa 0,05V. Ho visto che se si usano resistenze di precisione (quelle colorate in genere di blu) l'errore diminuisce, ma secondo me non ne vale la pena.
Attenzione prima di tarare aspettate qualche ora dopo che il partitore è stato messo in funzione in modo che le resistenze siano già in temperatura di funzionamento, la lettura è influenzata dalla temperatura e dalla tensione. La taratura effettuata con tensioni di esercizio a 12V non va bene se la tensione passa a 24V e viceversa.
Il partitore funziona con impianti 12 o 24V, per impianti a 48V occorre sostituire la prima resistenza da 10K con una da 20K o 25K. Poi è necessario fare la taratura seguendo le istruzioni.
Sperimentate, solo così s'impara.
Questo un frammento del listato del monitor seriale con decine di letture, in modo da poter effettuare un confronto:
----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.70 226 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.59 224 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.70 226 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.70 226 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Voltaggio batteria intermedio tra min-max: 12.45 ----------- Voltaggio batteria (media 5 letture): 12.65 225 Passa a enel quando minore di: 11.90 Passa a batterie quando maggiore di: 13.00 -----------
Modificato da calcola - 31/7/2013, 08:06
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | calcola
| Inviato il: 27/7/2013,08:13
|
Preciso che la scheda funziona con qualunque versione dell'arduino tipo1, quindiuemilanove, uno, mini, pro-mini..., non ho avuto il tempo di provare con un arduino tipo2. La scelta del pro-mini è stata fatta per le ridotte dimensioni e per il minor costo. Usando un arduino normale non serve il cavo seriale-usb, e non serve l'operazione del reset durante il trasferimento del software.
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | Vinss
| Inviato il: 29/7/2013,11:39
|
Calcola perdona l'esaggggerata ignoranza ma non ho capito una cosa, come legge l'arduino la tensione delle batterie? Non riesco a capirlo, sara' una stupidata ma non ce la faccio!!
Ho praticamente tutto il necessario, incluso modulo RTC per un eventuale upgrade, ma mi sfugge questa cosa basilare!!
E' ora di mettere a lavoro il mio arduino 2009, sono stufo di stare sempre a controllare che tutto funzioni come dovrebbe (e oggi e' pure nuvoloso )
| | | | calcola
| Inviato il: 29/7/2013,13:19
|
Il partitore di tensione accetta in ingresso tensioni da 0 a circa 55V (ora non ricordo esattamente) e riduce questa tensione in modo proporzionale in tensione da 0 a 5V, lo zenner è necessario per impedire che in caso di tensioni in ingresso superiori a 55V quella d'uscita possa superare i 5V. L'arduino riceve la tensione da 0 a 5V su un ingresso analogico e la trasforma in un valore numerico compreso tra 0 e 1023. Quindi se sull'analogico mandi esattamente 5V l'arduino la vede come 1023. Se invii valori di tensione minori di 5V leggerà valori inferiori a 1023. Se mandi tensioni superiori a 5V, l'arduino si brucia ed ecco la necessità dello zenner 5,1. Con una proporzione è possibile calcolare il coefficiente di conversione e poi, conoscendo la tensione reale in ingresso, adattarlo alla realtà. Durante le conversioni si commette sempre un piccolo errore che va compensato.
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | | | | calcola
| Inviato il: 29/7/2013,19:51
|
se hai bisogno chiedi pure, hai un duemilanove o un uno? Se hai il secondo si può fare in modo che in caso di blocco la scheda si riavvii da sola.
--------------- Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolato...
| | | | Vinss
| Inviato il: 29/7/2013,19:57
|
E come avevo anticipato eccomi quiii!!!
Ho il 2009, che userei per i test per poi rimpiazzare col nano o roba del genere da saldare direttamente, il 2009 è comodo per i test.
Allora.. Grazie ai tuoi schemi e indicazioni (nonchè software) chiarissimi, ho già realizzato il gingillo, mi manca solo il diodo zener che ora ordino, ma ho pensato che potesse funzionare comunque se invece dei 24v ne mando dai 4 ai 5 tramite un trasformatorino, mi sbaglio?
Il punto è che non riesco a farlo andare. Riassumo le tappe: -Assemblato il tutto (diodo zener escluso) -Provato con cavo usb su TX e RX non dialogava, ma poco importa, col 2009 collego direttamente la USB e lo alimento pure (per i test). -Uppato il tuo programma con modifica delle variabili sui 24v -Collegato sull'ingresso "lettura" il trasformatore regolato su 4,5v
La seriale invia al pc geroglifici del genere: "}/¾,¤è}ÈnΊ±nèÌ:â€1<1-'}.¼,§éþüÊlÌŠ1¬nhίc‚=2,& }/¾,¦èýÈíÌŠ°oèÌ8â€1<0,'},¼,¦éýÈmÌŠ°oèÌ8â€1<1-'}.½,§éþüÊlÌŠ1¬nNhίc‚=2,& }/¾,¤èþüHlÌŠ±®nèL:〰==' ý/=-±êýÈíÌŠ°oèÌ8‰<1-'}.½-'êþüÊlÌŠ1¬nhίc‚=2,& }/¾,¤èÿýÈmÌ °oèÌâ€1<0,'}.¼,¦éÿüÈlÌ "
Non capisco il motivo! Il dubbio rimane sulla lettura in ingresso, non so se va bene così perchè non so che voltaggio invierebbe il diodo zener, ma i geroglifici pecchè?? Aggiungo, non so se c'entra, che la libreria Onewire.h l'ho installata al volo perchè sto usando un portatile su cui c'era solo arduino1.0 nudo e crudo.
MIIIIII, INCREDIIIIHHIIIBBBILLLEEE!!! Ce l'ho fatta da solo!!! Era la seriale impostata da te a 57600, mentre impostata a 9600 funziona correttamente. Come mai l'hai configurata così?
Da qui il domandone successivo.. Sono col portatile e il gingillo operativo, il trasformatore gli manda 4,0v, e il programmino legge proprio 4,0v, anzi, per la precisione e per usare parole tue : "Voltaggio batteria (media 5 letture): 3.99" Come mai? Non dovrebbe fare il calcolo e fare letture prossime ai 24v?
Modificato da ElettroshockNow - 29/7/2013, 22:06
| | | | Sabin
| Inviato il: 29/7/2013,20:54
|
Io conoscevo molto bene il Basic del Commodore 64. La differenza tra questo codice e il basic mi sembra come l'italiano che inizia a studiare la lingua inglese, troppo sintetico, parole con più possibili interpretazioni. Con il commodore c'era il numero di riga, e quando si saltava da un punto ad un'altro del programma bisognava mettere il numero di riga e a volte se si inserivano troppe nuove righe bisognava spostare la numerazione e correggere tutti i riferimenti a righe. Quando sono passato (per breve tempo) al DOS e subito ai vari Windows c'erano tanti di quei programmi che non era il caso di perdere tempo a studiare linguaggi. Ma oggi Arduino mi vuole far tornare a studiare? Vediamo se ho capito alcuni punti.
#include "OneWire.h" // dovrebbe informare arduino che c'è un componente OneWire, che comunica con un filo.
#define coefficiente_conversione 0.05620 // Credo che siano delle variabili che caricano dei valori, in basic poteva essere A=0.05620
#define bassatensione (tensione_bassa/coefficiente_conversione) // ridefinisce il valore di tensione bassa dividendolo per il coefficiente di conversione.
void setup() // diciamo che gira la chiave e accende il quadro?
void loop() // accende il motore? inizia un loop che verifica quando si realizzano le condizioni di tensione bassa, o tensione alta, inizia da { e finisce da }. delay(200) cosa sono? secondi non credo, millesimi?
--------------- Inverter UPS Power Star W7 (onda pura) ingresso 24 v... 220V 2 Kw con spunto da 6 Kw? (direi 3Kw)
<...
| | | | Vinss
| Inviato il: 29/7/2013,20:56
|
onewire.h è una libreria che viene richiamata.
il delay(200) è un'attesa di 200 millisecondi, per fermare un attimo il loop.
Le altre tue deduzioni sono corrette, come vedi è abbastanza semplice in fondo, ma bisogna essere pratici per fare un programmino del genere senza sbatterci troppo la testa. Io ad esempio già solo con i contatori e array ho voglia di impiccarmi, non ce la faccio! E' un mio grosso limite, specie per il fatto che lavoro nell'informatica, ma la programmazione l'ho sempre schivata (anche schifata), anche quando il mio ex capo insisteva! E' che bisogna avere una mente allenata e ben inserita nella malata logica della programmazione!
Io ora sto riguardando il codice ma veramente non riesco a seguire i calcoli, non che sia difficile, sono io impedito! (d'altronde il nick "calcola" avrà il suo perchè no? )
| |
| | |
|
Versione Completa!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|