Se sei già registrato           oppure    

Orario: 02/05/2024 07:42:38  

 

Energia Alternativa ed Energia Fai Da Te > Arduino

VISUALIZZA L'ALBUM

Pagine: (10)   1   [2]   3   4   5   6   7   8   9   10    (Ultimo Msg)


aiuto su variazione programmazione arduino
FinePagina

RAUNARDE
GigaWatt


Gruppo:Utente
Messaggi:1225

Stato:



Inviato il: 26/09/2016 12:56:14

se vuoi simulare i circuiti di arduino e vedere se la programmazione funziona questo link dovrebbe fare al caso tuo.

https://circuits.io/

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 27/09/2016 19:18:59

CITAZIONE (RAUNARDE, 26/09/2016 12:56:14 ) Discussione.php?213983&2#MSG15

se vuoi simulare i circuiti di arduino e vedere se la programmazione funziona questo link dovrebbe fare al caso tuo.

https://circuits.io/

ok grazie appena posso vedo come funziona

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 29/09/2016 13:27:48

come riesco a temporizzatore questo comando? cosa devo scrivere?




{
case 0:
if (sensors2.getTempCByIndex(0) > sensors1.getTempCByIndex(0) )
if (sensors2.getTempCByIndex(0) > sensors3.getTempCByIndex(0) )
{
analogWrite(A1, 0); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1
analogWrite(A3, 1023); // quando t2>t1 --> Spegni K4 SUL PIN A3
analogWrite(A6, 0);
delay(10);


in poche parole vorrei che questa uscita analogica A3 si accendesse per 10 secondi come devo modificare il listato?

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 29/09/2016 14:06:20

analogWrite(A1, 0); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1
analogWrite(A3, 1023); // quando t2>t1 --> Spegni K4 SUL PIN A3
analogWrite(A6, 0);
delay(10000);
analogWrite(A3, 0);

il tempo del delay è in millesecondi



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 29/09/2016 15:09:02

CITAZIONE (calcola, 29/09/2016 14:06:20 ) Discussione.php?213983&2#MSG18

analogWrite(A1, 0); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1
analogWrite(A3, 1023); // quando t2>t1 --> Spegni K4 SUL PIN A3
analogWrite(A6, 0);
delay(10000);
analogWrite(A3, 0);

il tempo del delay è in millesecondi

quello è il tempo che deve aspettare tra un controllo temperatura ed altri controlli io vorrei modificare in modo che A3 si attivasse per 10 secondi e poi ritornasse a 0

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 29/09/2016 18:20:43

scusa calcola non ti avevo capito che con delay 10000 andavo a temporizzatore il tutto e poi li dovevo dare il comando di spegnimento alla A3.
ho fatto e non funziona bene cioè se la temperatura più alta è T2 si mi abilità A3 per 10 secondi ma mi lascia abilitato A1 perennemente e poi si ripete in continuazione
se faccio invertire le temperature raffreddando una sonda e scaldando l'altra succede il contrario che la temperatura più bassa rimane perennemente eccitata e la più alta si temporizza in continuazione.
quindi ho modificato cosi ma senza nessun beneficio sempre stesso problema.

if (sensors2.getTempCByIndex(0) > sensors1.getTempCByIndex(0) )
if (sensors2.getTempCByIndex(0) > sensors3.getTempCByIndex(0) )
{
analogWrite(A1, 0); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1
analogWrite(A3, 1023); // quando t2>t1 --> Spegni K4 SUL PIN A3
analogWrite(A6, 0);
delay(10000);
analogWrite(A3, 0);
analogWrite(A1, 0);
analogWrite(A6, 0);
}

if (sensors2.getTempCByIndex(0) < (sensors1.getTempCByIndex(0) - range) )
if (sensors3.getTempCByIndex(0) < (sensors1.getTempCByIndex(0) - range) )
{
analogWrite(A1, 1023); // quando t2 spegne K1 E K2 SUL PIN A1
analogWrite(A3, 0); // quando t2 ACCENDI K4 SUL PIN A3
analogWrite(A6, 0);
delay(10000);
analogWrite(A1, 0);
analogWrite(A3, 0);
analogWrite(A6, 0);
}

if (sensors3.getTempCByIndex(0) > sensors1.getTempCByIndex(0) )
if (sensors3.getTempCByIndex(0) > sensors2.getTempCByIndex(0) )
{
analogWrite(A1, 0); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1
analogWrite(A3, 0); // quando t2>t1 --> Spegni K4 SUL PIN A3
analogWrite(A6, 1023);
delay(10000);
analogWrite(A6, 0);
analogWrite(A1, 0); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1
analogWrite(A3, 0);
}

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 29/09/2016 21:12:07

Non capisco, nel tuo quesito A1 è già a 0 quindi rimane a zero e così A3, solo A6 va a 5V per 10 secondi, poi ritorna a 0, come fa A1 a restare alto? Se accade, vi sarà qualche errore da qualche altra parte. Il ripetersi del codice deriva dal fatto che sono istruzioni in loop, tu invece cosa vorresti fare?

Comunque il listato non puoi caricarlo con un copia incolla, la visualizzazione non è completa vengono troncate alcune parti, forse è meglio che il listato lo copi in un file di testo ed alleghi al post il file.



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 29/09/2016 21:34:46

Quali sono in questo momento i valori di t1, t2 , t3 e range?
Probabilmente qualche condizione risulta vera in istruzioni tra di loro in contrasto.



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 29/09/2016 21:49:58

io per ora ho montato 2 sonde temperature e sto usando A1 e A3.
ora ti faccio un video lo carico su YouTube e poi metto il link qui se riesco cosi vedi con i tuoi occhi

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 29/09/2016 22:20:02

ecco il LINK link per vedere come fà

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 29/09/2016 23:26:04

Ho letto il codice che hai postato nella pagina precedente, vi sono alcune cose da sistemare, appena ho un po' di tempo gli do un'occhiata e ti farò sapere.



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 30/09/2016 07:19:24

ok grazie la cosa voglio cercare fondamento che quando aumenti la temperatura si temporizzi il contatto che serve e poi si ripete solo al aumento di un altra sonda di temperatura

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 30/09/2016 07:48:03

In pratica vorresti che quando si verificano le condizioni impostate, il contatto si attivi solo per 10 secondi e poi ritorni a riposo.

Altra cosa, perchè hai usato quello scomodo sistema dei tre bus per gestire le sonde? Ne basta solo uno, ogni sonda ha un suo numero identificativo è sufficiente abbinare ad ogni sonda il suo identificativo e leggerle tutte sullo stesso bus 1 filo, le sonde si collegano così tutte in parallelo sullo stesso pin.

Perchè usi le Analogiche in quel modo, ogni porta analogica da A0 ad A5 si può usare anche come digitale, è sufficiente chiamarle con numeri da 14 a 19. La A0 è anche digitale 14, la A1 digitale 15... la A5 la 19.

Ora chiaramente non potrò rivoluzionarti tutto il codice, cercherò solo di sistemare alcuni punti e cercare di farlo funzionare, se vorrai per te potrà essere una palestra per imparare, migliorandolo.

Comunque, te lo dico sin da ora, potrò lavorarci un poco la prossima settimana.



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 

epry

Avatar
MegaWatt


Gruppo:Utente
Messaggi:512

Stato:



Inviato il: 30/09/2016 09:40:32

ero partito con arduino uno è non avendo più porte disponibili si era optato per occuparle tutte in quel modo ora per le temperature mi interessa che ci sia una abilitazione su 2 relè che devono essere temporizzati per un po' di secondi.
il problema è nato per via delle elettrovalvole che mi sono arrivate dalla cina perché con arduino uno andava tutto bene e con un solo relè che veniva gestito dalla sonda andava tutto a gonfie vele, mah poi e sorto il problema che le elettrovalvole che ho quando sono chiuse assorbono zero ma quando si aprono anno sempre un minimo di assorbimento è sono partito per dare le uscite temporizzatore e mettere il mega come arduino però mentre prima facevo solo con un relè perché usandolo come deviatore gestivo la chiusura o apertura della valvola ora per non averla costantemente alimentata sono costretto a mettere 2 relè per valvola e temporizzarli. sul listato che ti ho messo ancora non erano presenti i secondi relè perché stavo facendo prove per gestirne gia uno per valvola e poi mettere il secondo tanto era una cavolata.
ti posto lo schema di alimentazione delle valvole in caso non ho reso l'idea. poi in oltre su tutto il listato ho altri comandi che in base alle condizioni del solare termico gestiva anche quello arduino.



Immagine Allegata: elettrovalvola.jpg
 
ForumEA/N/elettrovalvola.jpg

 

calcola
GigaWatt


Gruppo:Utente
Messaggi:4435

Stato:



Inviato il: 30/09/2016 09:58:05

Allora, se usi l'istruzione analogWrite(pin, valore), il valore in uscita va da 0 a 255, con 255 stato alto. Io non ho mai usato un pin analogico in questo modo, comunque prova questa modifica:

if ((sensors1.getTempCByIndex(0) > sensors2.getTempCByIndex(0) ) && (sensors1.getTempCByIndex(0) > sensors3.getTempCByIndex(0))) 

analogWrite(A1, 255); // quando t2>t1 --> ACCENDE K1 E K2 SUL PIN A1 
analogWrite(A3, 0); // quando t2>t1 --> Spegni K4 SUL PIN A3 
analogWrite(A6, 0); 
delay(10000); 

analogWrite(A1, 0); 
 


if ((sensors2.getTempCByIndex(0) > (sensors1.getTempCByIndex(0) - range)) &&  (sensors2.getTempCByIndex(0) > (sensors3.getTempCByIndex(0) - range))) 

analogWrite(A1, 0); // quando t2 spegne K1 E K2 SUL PIN A1 
analogWrite(A3, 255); // quando t2 ACCENDI K4 SUL PIN A3 
analogWrite(A6, 0); 
delay(10000); 
analogWrite(A3, 0); 



if ((sensors3.getTempCByIndex(0) > sensors1.getTempCByIndex(0)) && (sensors3.getTempCByIndex(0) > sensors2.getTempCByIndex(0))) 

analogWrite(A1, 0); // spegne t1
analogWrite(A3, 0); // spegne t2
analogWrite(A6, 255);  accende t3
delay(10000); 
analogWrite(A6, 0);

}

dovrebbe funzionare, anche se il led attivato si accenderà in modo ciclico, occorre ancora creare il blocco



---------------
Impara l'arte e mettila da parte
14 pannelli da 100w, inverter kemapower 3kw, regolatore morningstar tristar ts60, banco batterie n.1 di 12 elementi 2v 480Ah C5 corazzate per trazione pesante, banco batterie n.2 di 400Ah in C5 formato da 24 elementi 2V 200Ah corazzate al gel per fotovoltaico in due serie da 12 elementi, centralina di gestione impianto autoprodotta.

 
 InizioPagina
 

Pagine: (10)   1   [2]   3   4   5   6   7   8   9   10    (Ultimo Msg)

Versione Mobile!

Home page       TOP100-SOLAR      Home page forum