Universal Havya Kontrolcüsü Tasarımı

JBC havya ucu patenti:

21645 eklentisine bak
1 ve 2, 9 numaralı ısıtıcı spiral elemana bağlanıyor. 1 ve 3 uca yakın kısımda (8) birleşerek bir tc meydana getiriyor.


C245 ucun kesit görüntüsü:
21646 eklentisine bak
bir fırsat bulduğumda HX711 ile sıcaklık/adc tablosunu çıkaracağım @Atak 'da yardım ederse HX711 ile bitiririz projeyi.
 
PID algoritmasını float veya double olarak işleyeceksin, PID'in de float veya double'ı taşırması mümkün değil.
okuduğumuz değer noktalı sayı almıyor float çalışssak'da noktalı değer almayacağız.
noktalı sayıyada 24bit adc'de ihtiyacımız kalmıyor havya ucu oda sıcaklığındayken dahi üflesem adc aşşağı doğru iniyor yeterli hassasiyete hatta fazlasına sahibiz şuan tek sorunumuz 80milisaniyede 1 okuma yapıyoruz daha hızlısını yaparsak aynı sayı dönmeye başlıyor.

gelen sayıyı saklayacak bir değişken bakıyorum bana int64 güzel geldi.
 
PID işlemi tam sayılarla yapılacak bir işlem değil. Kayan nokta kullanman şart.
 
PID işlemi tam sayılarla yapılacak bir işlem değil. Kayan nokta kullanman şart.
işler karıştı.
PID otuput value evet noktalı olarak işlem yapıyor.
ama sıcakık okumayı tam sayı ile de yapabiliriz ben bunun için değişken tavsiyesi istedim çünkü set değerimiz her zaman tam sayı olacak.
 
termokupl entegresinden okunan değeri saklamak için neden ara bir değişken kullanıyorsun anlamadım. Ama illa saklamak istiyorsan, 24 bitlik bir sayıyı 32 bit bir değişkende saklayabilirsin. 64 bit değişkene gerek yok.
 
termokupl entegresinden okunan değeri saklamak için neden ara bir değişken kullanıyorsun anlamadım. Ama illa saklamak istiyorsan, 24 bitlik bir sayıyı 32 bit bir değişkende saklayabilirsin. 64 bit değişkene gerek yok.
yine ortalama alcam abi.
 
Boyle bir zorunluluk yok.

Tum filitreleme islemlerimde asla floating point islem yapmiyorum. Q notasyonu kullaniyorum.

Neticede Q notasyonu da ondalıklı bir notasyon. Tek fark, noktanın yeri sabit.
 
Ama sonucta float sayi degil. Dolayisi ile fpu unitesi olmayan islemcilerde hantal float fonksyonlar gerekmiyor.
 
Ama sonucta float sayi degil. Dolayisi ile fpu unitesi olmayan islemcilerde hantal float fonksyinlar gerekmiyor.

Burada önemli olan float ve fixed point arasındaki fark değil. Önemli olan. tam sayılarla PID yapılamaz. Ondalıklı sayılar mutlaka gerekli olur, bu float da olabilir fixed point da.
 
Fark eder.

Eger degiskeni int tanimliyorsam o sayi integerder ki Q notasyonunda degiskenler integerdir.

Float tanimliyorsan da floatdur ve artik tum hesaplamalar fp olur..
 
Burada önemli olan float ve fixed point arasındaki fark değil. Önemli olan. tam sayılarla PID yapılamaz. Ondalıklı sayılar mutlaka gerekli olur, bu float da olabilir fixed point da.
ben PID'yi ON/OFF olarak baz alıp oluşturdum yani röle ile yapmaya çalışmış gibi olduk;

örn set 225:
real sıcaklık = 226 = mos pwm val->0
real sıcaklık = 224 = mos pwm val->max set pwm val

yani algoritma aslında 65bin ile 0 arasında sıcaklık değeine göre güç ayarı yapmalı ama ben öyle yapmadım.
 
Fark eder.

Eger degiskeni int tanimliyorsam o sayi integerder ki Q notasyonunda degiskenler integerdir.

Float tanimliyorsan da floatdur ve artik tum hesaplamalar fp olur..

Farklı şeylerden bahsediyoruz. Ama neticede olay anlaşıldı diye düşünüyorum.
 
ben PID'yi ON/OFF olarak baz alıp oluşturdum yani röle ile yapmaya çalışmış gibi olduk;

örn set 225:
real sıcaklık = 226 = mos pwm val->0
real sıcaklık = 224 = mos pwm val->max set pwm val

yani algoritma aslında 65bin ile 0 arasında sıcaklık değeine göre güç ayarı yapmalı ama ben öyle yapmadım.

Düz mantık kontrol ile PID farklı şeyler. Eğer sadece sıcaklık ölçüp olması gereken değerin altında mı üstünde mi olduğuna göre rezistansa power veriyorsan bu PID olmuyor. Bunda artık rezistansa uyguladığın güce göre ya çok overshoot/undershoot olur, veya çok yavaş tepki verir.

PID in özelliği, hem minimum overshoot/undershoot olacak, hem de çok hızlı bir şekilde ayarlanan değere gelecek.
 
Düz mantık kontrol ile PID farklı şeyler. Eğer sadece sıcaklık ölçüp olması gereken değerin altında mı üstünde mi olduğuna göre rezistansa power veriyorsan bu PID olmuyor. Bunda artık rezistansa uyguladığın güce göre ya çok overshoot/undershoot olur, veya çok yavaş tepki verir.

PID in özelliği, hem minimum overshoot/undershoot olacak, hem de çok hızlı bir şekilde ayarlanan değere gelecek.
şuan oluşturduğum algoirtma ile hem aç kapa hemde ara değer ayarlama yapabilriz.

ama okumayı tam oturtmadan pid ile haşır neşir olunca sorun 2ye katlanıyor.
birşey yanlış gidince sorun nerde diye geri dönüyorsun.
 
Burada uygulanacak PID algoritmasında algoritmanın dikkate alması gereken ve işi karmaşıklaştıran bir detay var. Bu da undershoot ve overshoot durumlarında kontrol sinyalinin etkisinin farklı olması. Yani Hatanın 0'dan büyük veya küçük olmasına göre farklı çalışmalı. Çünkü PWM kontrol ile ısıtma hızını kontrol edebilsek de soğuma hızını kontrol edemiyoruz. Soğuma hızını etkileyen etkenler kontrol döngümüzün kontrol edebileceği etkenlerin dışında.
ben PID'yi ON/OFF olarak baz alıp oluşturdum yani röle ile yapmaya çalışmış gibi olduk;

örn set 225:
real sıcaklık = 226 = mos pwm val->0
real sıcaklık = 224 = mos pwm val->max set pwm val

yani algoritma aslında 65bin ile 0 arasında sıcaklık değeine göre güç ayarı yapmalı ama ben öyle yapmadım.
Şimdi PWM ve sıcaklık okumaya odaklanmalısın. Bunu hallettikten sonra PID kontrol denemelerinin etkilerini görmek için seri monitörden çekeceğin veriyi grafikleştirebilirsin. Parametrelerin etkilerini gözünle görmüş olursun ve deneme yanılmayla da ilerleyebilirsin. Harici termometre ile bunu etkili şekilde yapmak pek mümkün değil.
Bu şekilde uygulayacağın algoritmadan çabucak geri besleme alır debugging yapabilirsin.
 
Burada uygulanacak PID algoritmasında algoritmanın dikkate alması gereken ve işi karmaşıklaştıran bir detay var. Bu da undershoot ve overshoot durumlarında kontrol sinyalinin etkisinin farklı olması. Yani Hatanın 0'dan büyük veya küçük olmasına göre farklı çalışmalı. Çünkü PWM kontrol ile ısıtma hızını kontrol edebilsek de soğuma hızını kontrol edemiyoruz. Soğuma hızını etkileyen etkenler kontrol döngümüzün kontrol edebileceği etkenlerin dışında.

Şimdi PWM ve sıcaklık okumaya odaklanmalısın. Bunu hallettikten sonra PID kontrol denemelerinin etkilerini görmek için seri monitörden çekeceğin veriyi grafikleştirebilirsin. Parametrelerin etkilerini gözünle görmüş olursun ve deneme yanılmayla da ilerleyebilirsin. Harici termometre ile bunu etkili şekilde yapmak pek mümkün değil.
Bu şekilde uygulayacağın algoritmadan çabucak geri besleme alır debugging yapabilirsin.
boş zamanımda yanlış ilerlediğim için şuan çok kısıtlı biz zamanda ilerlemeye çalışıyorum ondan yavaşladı proje.

sıcaklık okuduktab sonra zor olanı bitirmiş oluyoruz 3 5 farklı pid algoritması atarız ortaya karıştırıp güzrl birşey çıkarırız ben şuan sapma tespiti yapıyorum sadece pid denemez tam ama çok küçük müdahaleler ile tam anlamıyla pid yaparak çalışır
 

Çevrimiçi üyeler

Çevrimiçi üye yok.

Forum istatistikleri

Konular
5,833
Mesajlar
99,481
Üyeler
2,477
Son üye
krmz

Son kaynaklar

Son profil mesajları

gruptaki arkadaşlara selamlar. sıteyi bu gün fark ettim. Asansör için 2x7 segment LCD gösterge üretmek istiyorum. acaba bu sayfadaki arkadaşlardan destek alabilirmiyim. LCD nin mantık açılımı ektedir.
deneyci wrote on TA3UIS's profile.
Selam.
Amatör telsiz lisansı nasıl alınıyor?
Lisansı olmayanı forumlarına almıyorlar. :)
Bilgi alamıyoruz.
cemalettin keçeci wrote on HaydarBaris's profile.
barış kardeşim bende bu sene akıllı denizaltı projesine girdim ve sensörleri arastırıyorum tam olarak hangi sensör ve markaları kullandınız yardımcı olabilir misin?
m.white wrote on Altair's profile.
İyi akşamlar.Arabanız ne marka ve sorunu nedir.Ben araba tamircisi değilim ama tamirden anlarım.
* En mühim ve feyizli vazifelerimiz millî eğitim işleridir. Millî eğitim işlerinde mutlaka muzaffer olmak lâzımdır. Bir milletin hakikî kurtuluşu ancak bu suretle olur. (1922)
Back
Top