Ovdje pročitajte kako se registrirati na forum.

DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Tehnička podrška za sve module i aktuatore iz ponude e-radionica.com
Odgovorite
ivo.motika#1298
Novak
Novak
Postovi: 4
Pridružen/a: čet lip 14, 2018 10:38 am

DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la ivo.motika#1298 » čet srp 19, 2018 1:41 pm

Pozdrav svima,

kupio sam modul : https://e-radionica.com/hr/digitalni-am ... 2-20a.html
kada spojim po svim tutorijalima na internetu uvijek mi se događa ista greška. Serial monitor mi ocitava cca 0.12A kada ništa nije priključeno. Kada stavim žarulju, vrijednost skoči na 0.25A ali nije stvarna vrijednost jer kontrolom pomoću multimetra ustanovim da je struja daleko drugaćija.

Ako se netko susreo s navedenim problemom nek se javi !
Hvala unaprijed
Avatar
david.zovko#6399
e-radionica.com team
e-radionica.com team
Postovi: 224
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la david.zovko#6399 » pet srp 20, 2018 12:14 pm

Pozdrav Ivo

možeš li molim te poslati kod i shemu spajanja koju si koristio?

Kakvu žarulju koristiš?
ivo.motika#1298
Novak
Novak
Postovi: 4
Pridružen/a: čet lip 14, 2018 10:38 am

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la ivo.motika#1298 » pet srp 20, 2018 12:38 pm

pozdrav Davide,

Hvala na brzom odgovoru. Evo slika spajanja.
Spajao sam klasićnu žarulju. Da li trošilo ima veze pri korištenju ovog modula. Da li mogu napraviti program i shemu kako bi mogao bilo koje trošilo priključiti a da mi modul korektno očitaje struju.?




slika
Avatar
david.zovko#6399
e-radionica.com team
e-radionica.com team
Postovi: 224
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la david.zovko#6399 » uto srp 24, 2018 1:18 pm

Jel u kodu računaš AC struju? Budući da se radi struji koja ima oblik sinusa, ne možeš samo s analogRead očitati vrijedi. Evo ovdje primjer kako možeš: http://henrysbench.capnfatz.com/henrys- ... -tutorial/

Shema inače izgleda okej. Probaj novi kod pa javi jel funkcionira!
ivo.motika#1298
Novak
Novak
Postovi: 4
Pridružen/a: čet lip 14, 2018 10:38 am

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la ivo.motika#1298 » uto srp 24, 2018 3:29 pm

Računam AC struju. Na taj kod sam naišao međutim on bez prikljućenog trošila očitava i struju koju chip koristi. A to je u mom slucaju 0.07 ampera. Da li sam upravu?


Hvala puno ste mi pomogli !!! :clap: :clap: :clap: :clap: :clap:
Avatar
david.zovko#6399
e-radionica.com team
e-radionica.com team
Postovi: 224
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la david.zovko#6399 » pon kol 06, 2018 12:45 pm

Pozdrav

ne, ne očitava se struja koju chip koristiti jer je poseban, izolirani dio chipa zaslužan za očitavanja struje koja teče kroz njega. Može biti da ako u blizini imate nekakva druga napajanja ili izvor bilokakvih elektromagnetskog zračenja, da hall effect senzor kupi ta očitanja kao struju koja prolazi kroz njega. Najlakše je testirati da probate uređaj pomaknuti u drugu prostoriju gdje nema istih izvora EMC-a pa probate mjeriti.

Druga opcija je, ako će uređaj biti na istome mjestu, uzeti vrijednost koju uređaj očitava kada nema struje(u Vašem slučaju 0.07A) i nju postaviti kao 0A(dakle od svake vrijednosti oduzimati 0.07A).
franjo.ozbolt123#1170
Novak
Novak
Postovi: 4
Pridružen/a: sri lip 13, 2018 12:19 pm

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la franjo.ozbolt123#1170 » pet ruj 07, 2018 3:12 pm

Pozdrav, susreo sam se s sličnim problemom, pri visokim strujama cca 1A-10A sve radi savršeno, no kad se struja spusti ispod 500mA vrijednosti više nisu iste kao one što pokazuje digitalni mjerni uređaj koji je također spojem u seriju sa ovim. Shema spajanja je identična kao i slika gore, a kod ide u nastavku:

Kod: Označite sve

int mjerac = A0;
float stanje;
float razlika;
float razlika0;
float raz;
float I;
float I0;
float Max;
float Min;
int i;
int i1;
void setup(){
  pinMode(mjerac, INPUT);
  Serial.begin(9600);
}
void loop(){
    Mjerenje();
}
void Mjerenje(){
  stanje = analogRead(mjerac);
    if(i<=10){
      i++;
      i1++;
      if(stanje > Max){
        Max = stanje;
      }
      if(stanje < Min){
        Min = stanje;
      }
      raz = Max - Min;
      razlika0= razlika0 + ((raz)*5/1024); 
      
      if(i==10){
        i=0;
        razlika = razlika0/10;
        I0= I0 + ((((razlika/2)*0.707)/100)*1000); 
        razlika0=0;
      }
      if(i1==50){
        i1=0;
        I = I0/5;
        I0=0;
        Max=0;
        Min=1024;
      }
    }
    Serial.println(I);
}
Avatar
david.zovko#6399
e-radionica.com team
e-radionica.com team
Postovi: 224
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: DIGITALNI AMPTERMETAR ACS712, MAX 20A- Problem

Post Postao/la david.zovko#6399 » čet ruj 13, 2018 6:48 pm

Pozdrav

kod je u redu i formula za izračun izgleda točno.

Po meni je problem s noise pri malim strujama. Preporučam opet isto, da se doda nekakav offset u kod koji je kompenzirati to odstupanje pri struji od 0A. Nazvao sam taj offset - offset u kodu ispod, pa treba iskalibrirati tu vrijednost na ono što senzor pokazuje kada baš ništa ne protječe kroz njega.

Kod: Označite sve

int mjerac = A0;
float stanje;
float razlika;
float razlika0;
float raz;
float I;
float I0;
float Max;
float Min;
int i;
int i1;

float offset = 0.7; //vrijednost koju senzor prikazuje kada kroz njega ne protjece nikakva struja

void setup(){
  pinMode(mjerac, INPUT);
  Serial.begin(9600);
}
void loop(){
    Mjerenje();
}
void Mjerenje(){
  stanje = analogRead(mjerac);
    if(i<=10){
      i++;
      i1++;
      if(stanje > Max){
        Max = stanje;
      }
      if(stanje < Min){
        Min = stanje;
      }
      raz = Max - Min;
      razlika0= razlika0 + ((raz)*5/1024); 
      
      if(i==10){
        i=0;
        razlika = razlika0/10;
        I0= I0 + ((((razlika/2)*0.707)/100)*1000); 
        razlika0=0;
      }
      if(i1==50){
        i1=0;
        I = I0/5 - offset;
        I0=0;
        Max=0;
        Min=1024;
      }
    }
    Serial.println(I);
}
Odgovorite