PWM ile Sürdüğüm motorun Akımını ölçme

Başlatan Mucit23, 09 Haziran 2014, 21:46:27

z

Duty'yi %100 yapmak yerine %90 yap. Bunun neden olacagi voltaj farkini guc katinin voltajini artirarak sagla.

Neden %100 yapmak istiyorsun?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

Tagli

#31
Mucit23, konuya pek hakim değilim ama bildiğim kadarıyla onun da hesabı var. Genel olarak, kapasiteyi ne kadar yükük seçersen duty'yi o kadar yüksek tutabilirsin. Kapasitör içindeki yükün, MOSFET iletimde olduğu süre boyunca kaçak akımları karşılayabilmesi gerekiyor. Ama şunu da göz önünde bulundurmak gerek: Duty çok yüksek olursa, ve kapasitör de büyük olurda, şarj etmek için zaman yetmeyebilir belki.

Bu belgeye bir bak. Ben buradan çalışmıştım. Gerçi adamlar baya ayrıntısına da girmiş, ben o kadar derinlemesine incelemedim.
Gökçe Tağlıoğlu

Mucit23

#32
Hafta sonu reelde bir deneme yapacağım. Belki ihtiyacım olur diye düşünüyorum.

Tagli hocam güzel kaynakmış. Bakayım.

Mucit23

Megasan dan 0.01 r 5w taş direnç aldım. Lm358 ile bir deneme yaptım. Sonuç tatmin edici fakat çıkışta biraz gürültü var. Bunuda çözersem tamamdır

Mucit23

Selamlar

Aradan 5 sene geçmiş benzer bir sorunla karşı karşıyayım. Ozamanlar proje yarım kaldığı için devam ettirememiştim. çalışmamı. Ama şimdi yine benzer fakat daha yüksek güçlü (24V 200W) bir DC motorun akımını Low Side Shunt yöntemiyle ölçmem gerekiyor.

Akım ölçmek için LowSide akım yoluna 0.01R 5W %1 toleranslı Shunt Direnç bağladım. Motorun H köprüsü ile ileri geri yön kontrolünü yapıyorum. Aynı zamanda motorun akımını ölçmem gerekiyor.

Aşağıdaki gibi bir ölçüm devrem var.

Opamp simetrik beslenmiyor.

Shunt Opamp'ın girişi yani 3 nolu pini ve Opamp'ın çıkışındaki sinyalleri osiloskop ile baktım.

Opamp Girişi bu şekilde

Burada yük olarak 200W DC elektrik motoru var. Motor boşta çalışıyor PWM sinyallerinin oluşturduğu akım darbeleri görülebiliyor. Aynı zamanda çok yüksek pikler var. Motor boşta olduğu için PWM duty oranını arttırdığım zaman akımın genliği yada resimde görmüş olduğunuz kare dalganın genliği artımıyor(yada çok az artıyor) Fakat ortalama çekilen akım artıyor. Bunu Motora Seri Bağlı bir Ampermetre ile ölçüyorum. Ampermetre True RMS ölçüm yapıyor.

Bu resimde ise Opampın çıkışı görünüyor. Çıkışta RC yok Doğrudan STM32 Çipimin ADC sine giriyorum.


Not: Osiloskobun girişlerinde problem olduğu için baya bir DC ofset ekliyor. Resimlerde görülen bu DC ofset gerçekte yok.

Şöyle bir sorunum var. Akım okumak için True RMS algoritmasını kullandım. İlk olarak 256 Adet örnek alıp bu örneklerin karelerinin toplamını Örnek sayısına böldükten sonra  karekökünü alarak motordan akan akımla orantılı olduğunu düşündüğüm ADC değerini elde ettim. Fakat bu elde ettiğim değer ampermetre ile orantılı bir şekilde artıp azalmıyor. Dolayısıyla TrueRMS fonksiyonundan örneğin 3A için örnek alıp Basitçe bir örnek kurmak işe yaramadı. Burda tıkandım kaldım.

Doğru sonucu nasıl hesaplamam gerektiğini veya donanımda nasıl bir değişiklik yapmam gerektiğini bilmiyorum. Fikir verebilecek olan varmı?

Mucit23

Ekleme; Opamp Girişi yada Shunt üzerindeki Gerilim ile Opamp çıkışındaki gerilimi Osiloskop ile görüntüleyip videoya aldım.

Motorda yük olmadığı için Akımın genliği artmıyor fakat Duty arttığı için Ampermetrenin gösterdiği akım değeri artıyor. Böyle bir sinyali nasıl bir algoritma ile okumalıyım? Çok hassas bir ölçüme ihtiyacım yok. Fakat genel olarak doğru sayılabilecek bir ölçüm yapmalıyım.

Erol YILMAZ

PWM ile sürülen devrede Akım için ADC örneğini Pwm'in tam orta noktasında alabilirsin.

Mucit23

Erol abi tam olarak anlayamadım demek istediğini.

Erol YILMAZ

Pwm ON suresinin orta noktasi var ya...

Akim sinyali icin Adc ornegini (sample) o noktada almaktan bahsediyorum.

Mucit23

Abi olmuyor öyle. Sebebi ise şudur. İki kanal ADC kullanıyorum 2 tan H köprüm var ve her bir köprünün akımını bağımsız olarak ölçmem gerekiyor. STM32F072 çipimde Tek bir ADC var. Dediğinizin olabilmesi için iki bağımsız ADC olması lazım. Öyle bir donanım malesef yok. Ayrıca Timer CCR tetikleme kanallarıda yok ADC ler için Sadece TIM1_CCR4 var. o şekilde olmaz. Ben aslında Ampermetre nasıl ölçüyorsa o şekilde ölçüm yapmak istiyorum.

Donanımda değişiklik gerekiyorsa yapabilirim. Yazılımsal algoritma önerisine ihtiyacım var.

Erol YILMAZ


JOKERAS

Opampla Akımı yükseltmeye gerek yok.
Direkt olarak bir direnç bir kapasite,bir direnç bir kapasite ile ADC'ye gir.
Okuduğun her değer Akımdır.Set değer oluştur,Set değerden Adc Akım değerini
çıkart.Elde ettiğin değer Error dur.Bu Akım oluyor.
Sonra bu değeri çarp,böl,parçala yuvarla vs Ekrana bas.
PI Algortiması gibi bir şey yap yani.

Elde ettiğin bu değer ile ister PWM'i update et,ister Ekrana bas.

Kerim42

Alemi padişah olmak bir kuru kavga imiş. Bir veliye bende olmak cümleden ala imiş. (Yavuz Sultan Selim)

fide

Merhaba. Motor akımı ile ilgili değil ama bir anı paylaşmak istiyorum.

Pic ike röle sürerken klasik parazit ile karşılaştım. Ve çözümü röleyi sürdüğüm transistorün emetör kollektor arasına 1k direnç bağladım. Sorun çözüldü.

Tahminim rölenin ters diyodu olmasına rağmen bırakırken birşeyler okuyor ve pic kilitleniyordu.
Emetör kollektorü dirençle bağlayınca röle bırakırken bobin akımı kesilmiyor, sadece akım 1/20 yada 1/10 oranına düşüyordu. Böylece sivri peakler oluşmuyor.

Siz de motor kutuplarına 200-300 ohm wattlı bir direnç atıp deneyin.

 Otor fırçalarının bırakması esnasında oluşan arklar sebep bu sıkıntıya sevep olabilir.

Başka bir öneri ise motor kutuplarına 28-30 volt omni-directional tvs atıp deneyin.



 Bişey kaybetmezsiniz.
Her birimiz, geride bıraktığımız eserler kadar ölümsüzüz. Evlat gibi, talebe gibi, icatlar gibi...   http://fidenetgaraj.blogspot.com

Tagli

Tesadüfen fark ettim, yukarıda dört buçuk yıl önce verdiğim link ölmüş. Buraya güncelini koyayım:

AN-6076: Design and Application Guide of Bootstrap Circuit for High-Voltage Gate-Drive IC
Gökçe Tağlıoğlu