Universal Havya Kontrolcüsü Tasarımı

PWM count kesmesinde ölçüm yaparsan, her zaman tam olarak aynı noktada ölçüm yapmış olursun, yani PWM enerjisinin kesildiği anda ve ısıtıcının maksimum sıcaklığında. Kesmede sıcaklığı ölçüp bir kenara yazarsın sonra da ana program bu değeri okur.

Ama burada dikkat edilmesi gereken bir husus var: Eğer kesme, ölçülen sıcaklığı bir double olarak kaydederse, bu 2 tane 32 bit değerdir. Ana program iki değerin yazılışının ortasında yakalayabilir ve saçma bir sayı okur. O yüzden ölçülen sıcaklığı ya float yap (32 bit) yada integer yap. Mesela sıcaklık 158.3 ℃ ise 1583 olarak integere kaydet. Böylece ana program hiçbir zaman yarım yamalak bir sıcaklık okumaz, program tutarlı olur.
önce bir 'variable' ile nasıl kesmeye gidilir onu öğreneyim kestikten sonra pwm değeri en düşükte ve en yüksekte ne kadar zamanımız var onu ölçeceğim ona göre karar veririz.
 
Variable değil yav. Timer'i yapılandıracaksın, PWM count sıfıra düşünce kesme üret diyeceksin o kadar.
 
@Ahmet TSZ121'i kaç volt ile beslemiştin? (Ölçüm alamadığın)

Birde havya sıcaklık ölçümünü neyle yaptın?
 
Şu ölçümleri hangi cihazla ölçtüğünü merak ettim asıl sormak istediğim buydu. Bende kontrollü havya yapmak için iki tane havya aldım. Birisinde termokupl var diğerinde ptc var. Hangi sıcaklık hangi voltaja karşılık geliyor bulmak için.

Sayın @Atak göreve bekleniyorsunuz.


Sol taraf derece sağ taraf voltaj
127C0.5290
174C0.7290
222C0.9290
232C1.0330
265C1.0730
270C1.0930
296c1.2110
325c1.3330
 
Şu ölçümleri hangi cihazla ölçtüğünü merak ettim asıl sormak istediğim buydu. Bende kontrollü havya yapmak için iki tane havya aldım. Birisinde termokupl var diğerinde ptc var. Hangi sıcaklık hangi voltaja karşılık geliyor bulmak için.
her termokupl aynı sonucu vermeyebilir.
ölçümler 902C ile yapıldı ne kadar güvenilir ona kendin karar ver.

devreni ve uçların marka modelini paylaşırsan yardımcı oluruz.
buraya gelene kadar her aşamayı iyice sindirerek geldik.
 
Alt sıcaklık limitimiz 80 veya 70 değil artık.

Ortam sıcaklığı +4 derece olarak değerlendirebiliriz.
Şuan bulunduğum oda 24 derece ben havyayı 28 derecede sabit tutabiliyorum.

28 dereceden 350 dereceye kadar adım adım ayarlayarak geldim PID algoritması olmamasına ve ölçümde kaçırmalar olduğu halde gayet set edilene yakın ve kararlı bir sıcaklık çıktısı aldık.

PID dahil edersek ±1 derece yakalayacağımı düşünüyorum.
 
Alt sıcaklık limitimiz 80 veya 70 değil artık.

Ortam sıcaklığı +4 derece olarak değerlendirebiliriz.
Şuan bulunduğum oda 24 derece ben havyayı 28 derecede sabit tutabiliyorum.

28 dereceden 350 dereceye kadar adım adım ayarlayarak geldim PID algoritması olmamasına ve ölçümde kaçırmalar olduğu halde gayet set edilene yakın ve kararlı bir sıcaklık çıktısı aldık.

PID dahil edersek ±1 derece yakalayacağımı düşünüyorum.
Bekleme sıcaklığı mı oda sıcaklığı olacak?
 
Sicakligi her pwm palsinde okumak zorunda degilsin.

Her 1 ms sonunda pwmi sustur. Olcumu yap, ardindan pwmi geri baslat.
 
Sicakligi her pwm palsinde okumak zorunda degilsin.

Her 1 ms sonunda pwmi sustur. Olcumu yap, ardindan pwmi geri baslat.
Bu uygulama bizim PID'i karıştırır gibi geliyor benim aklıma da geldi bu.
1ms timer oluşturup timer kestiğinde pwm'i sustur sıcaklığı ölç devam et ama PID'yi karıştırıacak gibi geliyor bana.
 
Zaten Ahmet'in kullandığı PWM frekansı 1 kHz idi. PWM count zero interruptunda termokupl okuyunca PWM kesin off olacak.
 
c = adc_v * 248 - 7;//bulunan sıcaklık formülümüz
yerine
c = adc_v * 248.3 - 7.32
kullanırsan daha iyi olabilir ben kısaca öyle yazmıştım @Ahmet
 
0 ve 1 numaralı pinler birleşecek 1 kesmesi olsun 0 pwm'i.
saatlerdir kaldım burada ben bu gün PID denemek istiyordum.
 
PWM COUNT = 1 980us zamanımız var.
PWM COUNT = 65535 4us zamanımız var.

pinin 0 konumunu ilave pin kullanmadan tespit edebiliyorum.
 
Zaten Ahmet'in kullandığı PWM frekansı 1 kHz idi. PWM count zero interruptunda termokupl okuyunca PWM kesin off olacak.
mcu'nun kesime girmesi çok hızlı olmaz mı? Mosfetin kesime geçişi ve yük akımının 0 oldığından emin olunması lazım doğru ölçüm almak için.

Mosfetin kesime geçiş süresi ve sıcaklık okuma sürelerinin ne olduğu, piconun interrupta geçme süresinin ne olduğu gözlemlenebilir.
Eğer gerekliyse her PWM LOW kesmesinde ADC okuma için ayrı bir timer kesmesi zamanlanıp sıcaklık bu timer kesmesinde okunabilir.

Eğer ADC'yi okumak uzun sürüyorsa her PWM döngüsünde değil de keyfi başka bir periyotta ölçüm alınabilir.
Sicakligi her pwm palsinde okumak zorunda degilsin.

Her 1 ms sonunda pwmi sustur. Olcumu yap, ardindan pwmi geri baslat.

Bence de bu daha mantıklı, PID için ölçüm frekansı ile PWM frekansı birbirinden bağımsız oluyor. PWM'yi açmak ve kapamak mcu için nanosaniyelerden ibarettir, kontrol döngüsünde daha fazla serbestlik olur.
 
Süremiz belli abi;
pwm count 1 iken 980 mikro
pwm count full iken 4mikro.

Zaten şöyle büyük bir sorunumuz var.
Aynı pini hem intterupt hem pwm output çalıştırabiliyorum.
Ama kesme içinde hem ortalama almak, hem voltaj hesabı yapmak, hemde sıcaklık hesabı yapmak çok uzun sürüyor yarıda çekip gidiyor kesmeden çünkü pin konum değiştiriyor.
 

Çevrimiçi personel

Forum istatistikleri

Konular
6,955
Mesajlar
118,794
Üyeler
2,824
Son üye
selocan32

Son kaynaklar

Son profil mesajları

hakan8470 wrote on Dede's profile.
1717172721760.png
Dedecim bu gul mu karanfil mi? Gerci ne farkeder onu da anlamam. Gerci bunun anlamini da bilmem :gulus2:
Lyewor_ wrote on hakan8470's profile.
Takip edilmeye başlanmışım :D ❤️
Merhaba elektronik tutsakları...
Lyewor_ wrote on taydin's profile.
Merhabalar. Elektrik laboratuvarınız varsa bunun hakkında bir konunuz var mı acaba? Sizin laboratuvarınızı merak ettim de :)
Lyewor_ wrote on taydin's profile.
Merhabalar forumda yeniyim! Bir sorum olacaktı lcr meterler hakkında. Hem bobini ölçen hemde bobin direnci ölçen bir lcr meter var mı acaba?
Back
Top