Şimdi Ara

Voltmetre ondalık sorunu.

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
5
Cevap
0
Favori
1.002
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arduino voltmetrede, 10 voltu 1 volt, 1 voltu 0,1 olarak görüyorum. Ondalığı yanlış yani ama sebebini bulamadım. Bir kaç kişi tarafından yapılmış farklı programı yükledim hep aynı.
    Gerilim bölücü dirençler 100K/10 K neden böyle yapabilir?
    Gerilim bölücü dirençleri 10K/ 1K yapsam düzelir belki,ama bu seferde analogIn giriş sınırı üzerine çıkabilir.



  • Gerilim bölücü dirençleri 10K/ 1K yaparsan 50 voltluk gerilim girişinde çıkış gerilimin 4,5 volt gibi olur, analog in girişi 5 volt dur büyük ihtimal ile, bu durumda sıkıntı yaşayacağını düşünmüyorum. Aslında 100K/10 K kombinasyonu da aynı gerilim değerlerini verir, sonuçta bir fark olmayabilir.
  • Selamün Aleyküm Ekrem kardeşim;Direnç değerleri doğru.Bence void loop bölümündeki yazılım hesaplamasında küçük değişiklik yapılmalı.
    Örnek olarak bende çalışan bir yazılımı buraya yüklüyorum.Direk kopyala-yapıştır yapabileceğiniz gibi void loop bölümündeki hesaplama yazılımını paylaştığım yazılım gibi değiştirebilirsiniz.
    Bu hali ile 0-55V arası okur.Yazılım hesabı değişirse max.rakam değişebileceği gibi,,direnç değerini 100/1 yaparsanız yine max. ölçme limitini 10 kat artırırsınız.Direçte tabi ölçülen voltajı 10 ile çarpmak gerekecek.Ör;11,2V gösterdiğinde gerçekte 112V olduğu,,,51,22 ölçüldüğünde 512,2V gerçek voltaj ölçüldüğü anlaşılacağı gibi.

    NOt=Yeni yazılım ile 0-550V arası ölçülebiliyor ama direnç değerleri;100/1.Yani 1M-10K gibi.


    //modified by malisert32 55V max. control

    #include "LiquidCrystal.h"

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

    float voltage = 0.0;
    float temp=0.0;
    int analog_value;

    void setup()
    {
    lcd.begin(16, 2);
    lcd.setCursor (0,0);
    lcd.print("DigitalVoltmeter");
    lcd.setCursor(0,1);
    lcd.print("By malisert32");
    delay(1000);
    }
    void loop()
    {
    analog_value = analogRead(A0);
    temp = (analog_value * 50.0) / 1024.0;

    voltage = temp/(0.0909);
    if (voltage < 0.1)
    {
    voltage=0.0;
    }
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Voltage= ");
    lcd.print(voltage);
    lcd.setCursor(11,1);
    lcd.print("VOLT");
    delay(300);
    }



    < Bu mesaj bu kişi tarafından değiştirildi malisert32 -- 20 Eylül 2018; 14:27:21 >




  • Hemen şimdi biraz moidifiye ile net sonuç aldım.Yaptığım yazılım düzeltmesini bir önceki paylaştığım yazılımı değiştirerek ekliyorum.Hem önceki yazılımda bir istenmeyen durumu(LCD'de isim bekleme süresi 5 sn. idi 1 saniyeye düşürdüm)düzeltmiş oldum hemde hesaplama yazılımını modifiye ederek max. ölçüm sınırını 550 V'a çıkardım.Yeni hali ile Proteus üzerinde çalışma kesitinden bir bölümün resmini eklemekte fayda görüyorum.
    Voltmetre ondalık sorunu.




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.