ACS712-05 Karasız Değer Sorunu

Proymax

Üye
Katılım
19 Eyl 2019
Mesajlar
25
Puanları
1
Yaş
31
Merhaba arkadaşlar arduino ile acs712 akım ölçümü yapıyorum fakat oldukça değişken sonuçlar çıkıyor neredeyse hiç stabil değil yardımcı olabilecek varmı ?
 
acs712 ac sinyal üretir. acs yi arduinoya nasıl bağladınız şeması varmı.
 
59035


Bu şekılde bagladım
 
Kod:
#include <LiquidCrystal.h>



LiquidCrystal lcd(7, 6, 5, 4, 3, 2);



const int currentPin = A0;

int sensitivity = 66;

int adcValue= 0;

int offsetVoltage = 2500;

double adcVoltage = 0;

double currentValue = 0;



void setup()

{

  Serial.begin(9600);

  lcd.begin(16, 2);

  lcd.print(" Current Sensor ");

  lcd.setCursor(0,1);

  lcd.print("  with Arduino  ");

  delay(2000);

}



void loop()

{

  adcValue = analogRead(currentPin);

  adcVoltage = (adcValue / 1024.0) * 5000;

  currentValue = ((adcVoltage - offsetVoltage) / sensitivity);

 

  Serial.print("Raw Sensor Value = " );

  Serial.print(adcValue);



  lcd.clear();

  delay(1000);

  //lcd.display();

  lcd.setCursor(0,0);

  lcd.print("ADC Value =     ");

  lcd.setCursor(12,0);

  lcd.print(adcValue);



  delay(2000);



  Serial.print("\t Voltage(mV) = ");

  Serial.print(adcVoltage,3);

 

  lcd.setCursor(0,0);

  lcd.print("V in mV =       ");

  lcd.setCursor(10,0);

  lcd.print(adcVoltage,1);



  delay(2000);



  Serial.print("\t Current = ");

  Serial.println(currentValue,3);



  lcd.setCursor(0,0);

  lcd.print("Current =       ");

  lcd.setCursor(10,0);

  lcd.print(currentValue,2);

  lcd.setCursor(14,0);

  lcd.print("A");

  delay(2500);

}
Kullandığım kod bu sekilde
 
Moderatör tarafında düzenlendi:
en az 20ms boyunca her değer ölçtükten sonra hangi değer büyükse onu hafızada tut. bu tuttuğun değeri voltaja çevir ve 1,41 e böl. sensörden geçen akımı bulursun.
 
en az 20ms boyunca her değer ölçtükten sonra hangi değer büyükse onu hafızada tut. bu tuttuğun değeri voltaja çevir ve 1,41 e böl. sensörden geçen akımı bulursun.
Yazdigim kod akim olarak veriyor zaten sonuclari filtrelemede bir sikinti var sanırım half efeckt olarak calistigi icin sensor etraftaki manyetik alandan etkileniyor galiba forumlarda aynı sorun ile karsilasanlar c1 kondansatoru yerine 47 uf yada 100 nf capacitor takmis benimde problemim o yönde
 
Merhabalar acs712 kaç amperlik modülü kullandınız? Ben yaptığım uygulamada doğru sonuç alamadım ve ortalama değer olarak şunu kullandım.
void loop (){
float average = 0;
for (int i = 0; i < 1000; i++) {
average = average + (. 0264 * analogRead (A0) -13. 51) / 1000;
delay (1);}
Bu kod gayet başarılı sonuç ampermetre ile seri olarak ölçüm ile aynı sonuç. 0.0264 voltaj ve hassasiyet hesabı ile oluşturdum. Bir dene derim. Projemi yapalı çok oldum doğru sonuç almıştım.
 

Forum istatistikleri

Konular
128,127
Mesajlar
915,257
Kullanıcılar
449,843
Son üye
hvncrblt

Yeni konular

Geri
Üst