PID kontrollü Step Motor Sürücü

Başlatan Macera, 05 Eylül 2005, 10:03:50

Macera

Internetde dolaşırken bir adım motor sürücü devre şeması buldum.
http://internettrash.com/users/basura/driver.gif
Bu şemada anlatıldığı gibi ADC den geri besleme yapmak mümkünmü?
Motor zorlanmasını adım kaybetmeden takip etmek vede ona göre amperi artırmak yada azaltmak olabilirmi?
Yada motoru hareketsiz kaldıktan beli bir süre sonra motor ısınmasını engellemek için amperi belli bir yüzdeye indirebilirmiyiz?
O sayfada PIC le ilgili herhangi bir program yok ama PID mantığıyla çalıştığını yazıyor.
Bu konularda deneyimi olan arkadaşlar varmı?
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

picusta

Şimdi geri besleme denilen olayda bir değerin ölçümü yapılıyo (burda motor sargılarındaki akım) sonra bu değeri kayde alarak belli bir komut gönderiliyor ki değer değişsin ve istenilen değere gelsin. Biraz karışık oldu ama olay bu. Bunları zaten biliyosundur niye anlatıyorum ki zaten. Burda motor akımı H köprüsünün SENSE ayağındaki ufak (0,22 Ohm) ama hassas (%1) direnç sayesinde ölçülüyo. Akım dirençten geçtiği zaman ucundaki gerilim akıma orantılı oluyor, sonra opamp sayesinde PIC'in analojik girişine veriliyor.PIC'in ADC si bu gerilimi sayısal'a dönüştürüyor ve PIC bu değer sayesinde hesaplamaları yapıyor.
PID'ye gelince o aslında sistem kontrol'ünde kullanılan bir denklemin kısaltılmışı (Orantısal, Entegral, Türevsel). Komut(Darbe genişlik oranı) = fark*P katsyısı + farkıntürevi*D katsayısı + farkınintegral'i* I katsayısı. Bu katsayıları doğru ayarlarsan sistem fazla osilasyon yapmaz ve hızlanır.

Macera

Bana ilginç gelen fırçasız servo motorlardaki PID mantığının adım motorunda ne işi var?
Adam niye böyle bir geri beslemeye ihtiyaç duymuş?
Normalde PIC ADC yerine bir flipflop bu işi göremezmi?
Böyle bir sistemle daha hassas pozisyonlama  yapmak mümkünmüdür?
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

picusta

Site de verilen açıklama:
It's used in robotics and many other automated machines. Here is a low cost design that uses the PIC16C73. The featured circuit is part of a quad motor driver board. It uses the two PWM channels to modulate (at 20Khz) the current to each phase. The current is sensed and fed back through the A/D converter inputs. A PID algorithm is used. The circuit also features cycle by cycle short circuit protection. Click here to view the schematic.

Bi kere burda PID ile kontrol edilen değer ne ona bir açıklık getirmeliyiz. Motor konumu mu? Sargılardan geçen akımı mı? Kod olmadığı için tam olarak cevaplayamam.
Ama bence burda motor konumu kontrol ediliyor. Yani mesela 100 adım yap deniyor. o da 10adım saniye ile başlıyor, sonra ki saniye 8 oluyo vs.. istenilen değere yaklaşınca yavaşlıyor.

Macera

Mikrokontrollere bir voltaj değeri giriyor bir PMW değeri çıkıyor benim anladığım bu
Bunla pozisyonlama duymadım ama mümkün gibi geliyor.
Tabi devamlı ADC nin çalışması lazım
Yani Analog giriş voltajı belli bir değere gelene kadar PWM genişliğini değiştiriyor
Böylelikle mikrostep olayınıda gerçekleştirebiliyor.
Benimkiler sadece tahmin!
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

z

Evet macera tahmin ettiğin gibi.

Mercek altına aldığınız step motor sürücü, motor akımını PID kullanarak denetleyor.

http://www.cncdesigner.com/products.html de görülen kontrol kartı da benzer mantıkla çalışyor farkı PID yerine Digital Filitre ile kullanılmış olması. http://www.cncdesigner.com/modules.php?name=Forums&file=viewtopic&p=281#281
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

picusta

Tamam anladım şimdi. Daha önce step motoru sadece adım adım çalıştırmıştım mikro adım'ı duymamıştım. Burda anladığım kadarı ile 90derecelik açılarda yerleştirilmiş 2 bobin var. Konumu istenilen açıya getirmek için birine cos(açı) diğerine sin(açı) ile orantılı akım veriliyor (akım burda kontrol ediliyor tabii) buda bobinlerin yaratığı manyetik akıma orantılı böylece rotor'a orantılı sonuç olarak istenilen açı elde ediliyor. Doğru anladımmı acaba?

Macera

Burda sin ve cos değerlerine uygun olarak PWM ayarlanıyor.
Bobinden sonraki shunt resistordan önceki  voltajın ADC çevriminden sonraki değeri tabela değerlerine uygunluğuna bakılıyor.
Fark varsa PID fonksiyonuna göre PWM yeniden ayarlanıyor.
Anladığım bu!
Peki adım kaybetmesede motor zorlanmalarında sense resistordaki voltaj değişmezmi?
"Art without engineering is dreaming; engineering without art is calculating." -- Steven K. Roberts

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com

M.Salim GÜLLÜCE

Alıntı yapılan: z - 12 Şubat 2021, 01:29:54Degisir tabiki.
Değişmez tabiiki  ;)

16 sene evelmiş o mevzu abe dostum  :D

z

Bana e^st de diyebilirsiniz.   www.cncdesigner.com