İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-23 15:13
Piller, devrelerde kullanıldığında daha saf bir DC (doğru akım) gücü sağlar. Düşük gürültü seviyeleri, onları her zaman bazı çok hassas devreler için mükemmel bir uyum haline getirir. Bununla birlikte, voltaj seviyeleri belirli bir eşik noktasının altına düştüğünde, devreler - (güç vermek içindir) düzensiz bir davranışa girebilir; özellikle bununla başa çıkmak için iyi tasarlanmadıklarında.
Bu nedenle, tam değiştirme veya şarj edilebilir bir pil olması durumunda şarj etme zamanı konusunda bize doğru şekilde rehberlik etmek için pil gücü seviyesini düzenli olarak izleme ihtiyacı ortaya çıkar. Bu nedenle, bu Kendin Yap'ta (Kendin Yap), CloudX'i kullanarak basit bir pil voltajı ölçer tasarlayacağız – 7 Segment'i ekranımız olarak kullanarak.
Adım 1: Donanım Gereksinimi
CloudX Mikrodenetleyici Modülü
CloudX USB
SoftCard
7 Segment Ekran
dirençler
Güç Kaynağı Ünitesi
ekmek tahtası
Jumper (Bağlantı) Telleri
2. Adım: CloudX M633 Mikrodenetleyici
CloudX Mikrodenetleyici Modülü
CloudX modülü, basit bir mikrodenetleyici kartı aracılığıyla fiziksel dünya ile çok rahat ve kolay bir şekilde arayüz oluşturmanıza olanak tanıyan bir elektronik tasarım donanım aracıdır. Tüm platform, açık kaynaklı bir fiziksel hesaplamaya dayanmaktadır. Bir IDE'nin (Entegre Geliştirme Ortamı) basitliği, onu gerçekten yeni başlayanlar için mükemmel bir uyum haline getirir, ancak ileri düzey son kullanıcıların yollarını bulmasına izin vermek için yeterli bir işlevselliğe sahiptir. Özetle, CloudX mikrodenetleyiciyi işlemek için çok basitleştirilmiş bir süreç sağlar - onunla ilişkili normal karmaşık ayrıntıları soyutlayarak; aynı zamanda çok zengin bir kullanıcı deneyimi platformu sunar. Her alanda geniş uygulamalar bulur: harika bir Eğitim aracı olarak okullar; endüstriyel ve ticari ürünler; ve bir hobicinin elinde harika bir yardımcı araç olarak.
3. Adım: Bağlantıları Sabitleyin
7 segmentli pinler: A, B, C, D, E, F, G, 1, 2 ve 3 CloudX-MCU'nun pin1, pin2, pin3, pin4, pin5, pin6, pin7, pin8, pin9, sırasıyla pin10 ve pin11.
Adım 4: Devre Şeması
Burada merkez aşamada bulunan mikrodenetleyici modülü çalıştırılabilir:
kart üzerindeki Vin ve Gnd noktaları aracılığıyla (yani bunları harici güç kaynağı ünitenizin +ve ve –ve terminallerine bağlamak) yoluyla;
veya CloudX USB softcard modülünüz aracılığıyla
. Ayrıca, yukarıdaki devre şemasından kolayca görülebileceği gibi, giriş akü voltajı, MCU (mikrodenetleyici) modülü ile, voltaj bölücü şebekenin (ve tarafından oluşturulan) noktası MCU pininin A0'ına bağlanacak şekilde arayüzlenir..
ve şu şekilde seçilir:
ağ üzerinden akan akım miktarını sınırlamak;
MCU için (0 – 5) V'lik güvenli bir aralık içinde sınırlayın.
Formülü kullanarak: VOUT = (R2/(R1+R2)) * VIN; ve kolayca değerlendirilebilir.
Voutmax = 5V
ve bu proje için şunu seçiyoruz: Vinmax = 50V;
5 = (R2/(R1+R2)) * 50 R1 = 45/5 * R2 Örneğin R2 = 10kΩ alarak; R1 = 45/5 * 10 = 90kΩ
Adım 5: Çalışma Prensibi
Giriş ölçülen voltaj, voltaj bölücü ağının VOUT noktası aracılığıyla okunduğunda, veriler, segment biriminde görüntülenen nihai gerçek değeri değerlendirmek için MCU'da daha fazla işlenir. Bu (sistem tasarımı), otomatik bir ondalık nokta yerleştiricidir, çünkü (ondalık nokta), zaman içinde herhangi bir noktada kayan nokta değerinin dikte ettiği şeye göre görüntü biriminin kendisindeki konumu değiştirir. Ardından, tüm donanım 7-Segment görüntüleme birimi, multipleks modunda kablolanır. MCU'dan gelen aynı veri yolunun (8-veri pinleri) görüntüleme ünitesindeki üç aktif 7-segmenti beslediği özel bir düzenlemedir. Bileşen parçalarının her birine veri deseni göndermek, Tarama olarak adlandırılan bir işlemle gerçekleştirilir. Tarama, bileşen 7-segmentinin her birine veri göndermeyi içeren bir tekniktir; ve ilgili verileri geldiğinde bunları hızlı bir şekilde arka arkaya etkinleştirme (yani açma). Her birine hitap etme oranı, insan vizyonunu, hepsinin (bileşen parçaların) aynı anda etkinleştirildiğine (adreslendiğine) inandıracak şekilde aldatmayı başaracak şekilde yapılır. Bu (tarama) basitçe, aslında, Persistence Of Vision olarak bilinen bir fenomeni kullanır.
Adım 6: Yazılım Programı
#Dahil etmek
#Dahil etmek
#Dahil etmek
#define segment1 pin9
#define segment2 pin10
#define segment3 pin11
float batt_voltage;
int ondalıkNokta, vuruş;
/*verilen her rakam için segment-paterini saklayan diziler*/
char CCathodeDisp = {0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};
char CAnodeDisp = {0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90};
int disp0, disp1, disp2;
Görüntüle() {
imzasız karakter i;
if(decimalPoint < 10) {
disp0 = (int)batt_voltage /100; //MSD'yi getirir (En Önemli Basamak)
//en yüksek ağırlıklı olmak
/* sonraki ağırlıklı basamağı getirir; ve bunun gibi */
disp1 = ((int)batt_voltage % 100)/10;
disp2 = ((int)batt_voltage % 10);
}
Başka {
disp0 = (int)batt_voltage /1000;
disp1 = ((int)batt_voltage % 1000)/100;
disp2 = ((int)batt_voltage % 100)/10;
}
/*Kalıplar görüntülenmek üzere dökülür; ve bir ondalık nokta ekleyen 0x80 karakteri
ilişkili koşul doğruysa*/
for(i=0; i<50; i++) {
pin9 = pin10 = pin11 = YÜKSEK;
if(ondalıkNokta < 10)
portWrite(1, CCathodeDisp[disp0] | 0x80);
başka portWrite(1, CCathodeDisp[disp0]);
segment1 = DÜŞÜK;
segment2 = YÜKSEK;
segment3 = YÜKSEK;
gecikmeMs(5);
pin9 = pin10 = pin11 = YÜKSEK;
if((decimalPoint >= 10) && (decimalPoint < 100))
portWrite(1, CCathodeDisp[disp1] | 0x80);
başka portWrite(1, CCathodeDisp[disp1]);
segment1 = YÜKSEK;
segment2 = DÜŞÜK;
segment3 = YÜKSEK;
gecikmeMs(5);
pin9 = pin10 = pin11 = YÜKSEK;
if (decimalPoint >= 100)
portWrite(1, CCathodeDisp[disp2] | 0x80);
başka portWrite(1, CCathodeDisp[disp2]);
segment1 = YÜKSEK;
segment2 = YÜKSEK;
segment3 = DÜŞÜK;
gecikmeMs(5);
}
}
setup(){ //buraya kur
analogSetting(); //analog bağlantı noktası başlatıldı
portMode(1, ÇIKIŞ); // 1'den 8'e kadar olan pinler çıkış pinleri olarak konfigüre edildi
/* çıkış pinleri olarak yapılandırılmış tarama pinleri */
pin9Mode = ÇIKIŞ;
pin10Mode = ÇIKIŞ;
pin11Mode = ÇIKIŞ;
portWrite(1, DÜŞÜK);
pin9 = pin10 = pin11 = YÜKSEK; // tarama pinleri (aktif-düşük olan)
//başlangıçta devre dışı bırakılır
loop(){ //Burada programlayın
batt_voltage = analogRead(A0); //ölçülen değeri alır
batt_voltage = ((batt_voltage * 5000) / 1024); //5Vin için dönüştürme faktörü
batt_voltage = (batt_voltage * 50)/5000; //50Vin için dönüştürme faktörü
decimalPoint = batt_voltage; // ondalık noktanın göründüğü yeri işaretler
// veri işlemeden önceki orijinal değer
Görüntüle();
}
}
Önerilen:
Arduino Nano ile Waveshare E-ink Ekran Hassas Voltmetre (0-90v DC): 3 Adım
Arduino Nano ile Waveshare E-mürekkep Ekran Hassas Voltmetre (0-90v DC) E-Kağıt Ekranında volt DC. Bu talimat, önceki iki projeyi birleştirir: - Ardui
Dijital Kumpas Nasıl Yıkılır ve Dijital Kumpas Nasıl Çalışır: 4 Adım
Dijital Kumpas Nasıl Yıkılır ve Dijital Kumpas Nasıl Çalışır: Birçok kişi ölçüm için kumpas kullanmayı bilir. Bu eğitim size bir dijital kumpasın nasıl parçalanacağını ve dijital kumpasın nasıl çalıştığının bir açıklamasını öğretecektir
Dijital Arduino Voltmetre: 3 Adım
Dijital Arduino Voltmetre: Voltmetre veya Voltaj Ölçer, voltajı ölçmek için kullanılan bir ölçüm cihazıdır
ICL7107 ADC Kullanan Şarj Edilebilir Dijital Voltmetre: 7 Adım (Resimlerle)
ICL7107 ADC Kullanan Şarj Edilebilir Dijital Voltmetre: Bu derste size 20 mV ile 200V arasındaki voltajları ölçebilen süper basit bir dijital voltmetrenin nasıl yapıldığını göstereceğim. Bu proje arduino gibi herhangi bir mikrodenetleyici kullanmayacak. Bunun yerine bir ADC, yani ICL7107 bazı pasiflerle kullanılacaktır
Dijital Voltmetre: 5 Adım
Dijital Voltmetre: Bu, kullanımı kolay ve Ucuz bir DIY Voltmetredir. Bu projeyi yapmanın toplam maliyeti 200 INR'den az veya sadece 2.5 $