Arama butonu
Bu konudaki kullanıcılar: 1 misafir
3
Cevap
1162
Tıklama
0
Öne Çıkarma
Voltmetre ondalık sorunu.
E
7 yıl
Binbaşı
Konu Sahibi

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.

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



< Bu ileti mobil sürüm kullanılarak atıldı >


Bu mesajda bahsedilenler: @malisert32
E
7 yıl
Yüzbaşı

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.



M
7 yıl
Yarbay

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 >


Bu mesajda bahsedilenler: @ekrem3457
M
7 yıl
Yarbay

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.
< Resime gitmek için tıklayın >



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.