EnergiAlternativa

Page Index Toggle Pages: 1 [2]  Send TopicPrint
Normal Topic Arduino & ACS712 (Read 19324 times)
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #15 - 12.12.16 at 19:08:30
Print Post  
Scritto dal cell e a memoria ...domani lo provo.

Alimenti il circuito senza carico,cosi esegue la taratura automatica dello zero.
Ovviamente può essere eliminata  Wink ..,ma qui serve come esempio


ATTENZIONE PRESENTA UN ERRORE ...
Code (C++)
Select All
#define Pin_Corrente 0 //ingresso analogico dedicato al sensore
#define Pin_Zero 2 //ingresso per azzerare la lettura
#define Fattore_Conversione_Corrente 0.0264 //sensore ACS512-5
//#define Fattore_Conversione_Corrente 0.0488 //sensore ACS512-20
//#define Fattore_Conversione_Corrente 0.074 //sensore ACS512-30

//porre a negativo il pin per azzerare lo strumento

int OffSet;//viene memorizzato l'offset del sensore
float I_DC;

void setup() {
  pinMode(Pin_Zero, INPUT);//imposta il pin "Zero" come ingresso
  digitalWrite(Pin_Zero, HIGH);//attiva la resistenza pullup sul pin
  Serial.begin(9600);
  OffSet=analogRead(Pin_Corrente);//misura l'offset al primo avvio
  //Offset=511; //imposta il valore standard
}

void loop() {

if (digitalRead(Pin_Zero) == 0) {//se pulsante Zero premuto azzera lo strumento
OffSet=analogRead(Pin_Corrente);
}
 
 unsigned long Somma_I=0;
 for(int i = 0; i < 1000; i++) {
     Somma_I+=(analogRead(Pin_Corrente)- OffSet);
 delay(1);
 }
I_DC=(Somma_I/1000)*Fattore_Conversione_Corrente;

 Serial.print("Current :");
 Serial.print(I_DC);
 Serial.println("A");
}
 

« Last Edit: 13.12.16 at 08:11:42 by ElettroshockNow »  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #16 - 12.12.16 at 19:10:12
Print Post  
l sensore và sul pin A0.
Invece il pulsante per azzerare la lettura (sempre senza carico) và connessa al pin D2 (pulsante tra D2 e massa). Smiley

Il codice calcola il valore medio di 1000 letture con un tempo di 100mS.
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
bodo81
Junior Member
**
Offline


--------

Posts: 52
Location: roma
Gender: Male
Zodiac sign: Aries
Re: Arduino & ACS712
Reply #17 - 12.12.16 at 21:05:31
Print Post  
Cheesy grazie, dopo cena lo provo e ti dico come va  Wink
  
Back to top
 
IP Logged
 
bodo81
Junior Member
**
Offline


--------

Posts: 52
Location: roma
Gender: Male
Zodiac sign: Aries
Re: Arduino & ACS712
Reply #18 - 12.12.16 at 22:36:46
Print Post  
perché fa cosi?

  

arda.JPG ( 53 KB | Downloads )
arda.JPG
Back to top
 
IP Logged
 
bodo81
Junior Member
**
Offline


--------

Posts: 52
Location: roma
Gender: Male
Zodiac sign: Aries
Re: Arduino & ACS712
Reply #19 - 12.12.16 at 22:45:27
Print Post  
forse sono i contati su Arduino, xche ho mosso un po' il A0 e non l'ha più fatto
mo' ci riprovo
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #20 - 12.12.16 at 22:53:11
Print Post  
Cheesy ...avrò  commesso un errore .
Domani con il computer lo controllo 😉
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #21 - 13.12.16 at 08:04:50
Print Post  
mi son dimenticato un abs  Grin ....
In mattinata correggo e posto  Wink
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #22 - 13.12.16 at 08:10:32
Print Post  
Corretto ,ma ancora da testare
Code (C++)
Select All
#define Pin_Corrente 0 //ingresso analogico dedicato al sensore
#define Pin_Zero 2 //ingresso per azzerare la lettura
#define Fattore_Conversione_Corrente 0.0264 //sensore ACS512-5
//#define Fattore_Conversione_Corrente 0.0488 //sensore ACS512-20
//#define Fattore_Conversione_Corrente 0.074 //sensore ACS512-30

//porre a negativo il pin "Pin_Zero" per azzerare lo strumento

int OffSet;//viene memorizzato l'offset del sensore
float I_DC;

void setup() {
  pinMode(Pin_Zero, INPUT);//imposta il pin "Zero" come ingresso
  digitalWrite(Pin_Zero, HIGH);//attiva la resistenza pullup sul pin
  Serial.begin(9600);
  OffSet=analogRead(Pin_Corrente);//misura l'offset al primo avvio
  //OffSet=511; //imposta il valore standard
}

void loop() {

if (digitalRead(Pin_Zero) == 0) {//se pulsante Zero premuto azzera lo strumento
OffSet=analogRead(Pin_Corrente);
}

 unsigned long Somma_I=0;
 for(int i = 0; i < 1000; i++) {
     Somma_I+=abs(analogRead(Pin_Corrente)-OffSet);
 }
I_DC=(Somma_I/1000)*Fattore_Conversione_Corrente;

 Serial.print("Current :");
 Serial.print(I_DC);
 Serial.println("A");
}
 

  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
bodo81
Junior Member
**
Offline


--------

Posts: 52
Location: roma
Gender: Male
Zodiac sign: Aries
Re: Arduino & ACS712
Reply #23 - 13.12.16 at 10:15:54
Print Post  
quasi quasi andava meglio il primo, era molto più preciso come lettura e il scorrimento della lettura era più lenta, questo corre come un pazzo   Smiley
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #24 - 13.12.16 at 12:14:42
Print Post  
La velocità la imposti te (basta aggiungere un delay)e per la precisione ...fanno entrambi lo stesso calcolo .
I fattori di conversione sono calcolati a tavolino e se l'ACS rispetta le specifiche sono i valori corretti (probabile che sia lo strumento )

Devi tenere in considerazione un fattore che non tutti dicono.
Quando alimentato dall'usb ,la tensione non risulta spesso correttamente 5V e delle volte è lei ad essere la colpevole.

Comunque sia ,modificando il fattore conversione puoi adattare il sensore alle tue condizioni.

Sempre con la formula :

Nuovo fattore = vecchio fattore * tensione letta strumento / tensione letta Arduino
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #25 - 13.12.16 at 12:16:08
Print Post  
Per ridurre la velocità in maniera semplice aggiungi:

delay (1000);

Sotto l'ultimo print  Wink
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
bodo81
Junior Member
**
Offline


--------

Posts: 52
Location: roma
Gender: Male
Zodiac sign: Aries
Re: Arduino & ACS712
Reply #26 - 14.12.16 at 19:39:51
Print Post  
grazie Elettro  Wink funziona bene e anche preciso....con il codice che avevo provato io al inizio ero lontanissimo dal valore reale
  
Back to top
 
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #27 - 15.12.16 at 09:15:39
Print Post  
Prego ...è un piacere .

Se vuoi possiamo anche postare un codice per le letture della corrente alternata ...potrebbe risultare utile in qualche progetto  Wink
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
ElettroshockNow
Forum Administrator
*****
Offline


yottawatt

Posts: 3920
Location: Roma
Gender: Male
Zodiac sign: Gemini
Re: Arduino & ACS712
Reply #28 - 15.12.16 at 09:46:14
Print Post  
E se può essere utile ,aggiungerei un semplice trucchetto per visualizzare le letture a velocità "umana" ,ma lasciare Arduino libero di fare altri calcoli ....sempre per eventuali progetti
  

Il Tempo non lo vede nessuno,il lavoro lo vedono tutti (Mamma)
Impara a rubare con gli occhi (Papà)
Back to top
YouTube  
IP Logged
 
bodo81
Junior Member
**
Offline


--------

Posts: 52
Location: roma
Gender: Male
Zodiac sign: Aries
Re: Arduino & ACS712
Reply #29 - 19.12.16 at 18:20:56
Print Post  
ElettroshockNow wrote on 15.12.16 at 09:46:14:
le letture a velocità "umana"


a proposito di questa cosa, ho notato che mentre attacco o stacco il carico la lettura non e immediata, tipo se ho un carico da 300mA inizia a leggere 100--160-190-220-300 e quando stacco non va subito a 0
ha che vedere con questo il trucchetto?
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: 1 [2] 
Send TopicPrint
 

TOP100-SOLAR Galleria Immagini EnergiAlternativa