PIC ile ESC sürmek sonuca ulaşan?

Başlatan zoptrik, 10 Eylül 2013, 15:16:45

zoptrik

Selamlar. Bu konuyu sadece bu forumda değil bütün google da aradım fakat ASM dilinde yazılmış ve sonuca ulaşılmış bir tane program bulamadım. Bu işle uğraşanlar ya doğrudan bilgisayar anakartı üzerinden c# ile sürüyorlar ya da en kötü PIC ile c dilinde programlar yazarak sürüyorlar. Şimdi şöyle bir söylenti var 20ms lik bir pwm dalgasını 1 ila 2ms arasında değiştirerek istenilen sonuca ulaşılıyormuş bunu bir çok yerden okudum hatta benim de yazılarım var fakat hep muallakta. Şimdi ben ebaydan fırçasız motorumu ve escmi sipariş ettim ama gelene kadar eğer bu konuda herhangi bir tecrübesi olan var mı onun için açtım konuyu. Malum fırçasız motor kullanmak farz oldu verimlilik %90 olunca... Bu arada amaç soğutma. duct fan ile.
iyi forumlar...
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

Mucit23

Ben hem basicde hemde c ile çalıştırdım. Senin Takıldığın nokta nedir? Ete Hocada anlatmış
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

zoptrik

Öncelikle ETE hocanın anlattığı linki veya başlığı alabilirsem çok mutlu olurum. Ben aradım bulamadım. Takıldığım nokta sadece uygulama aşamasında. Basicten çok kısa örnek bir program koyabilir misin Mucit hocam?
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

Mucit23

Ete Hoca Pic Basic Ders Notları No:12
Oradaki kodları kullanabilirsin. Servo Yerine ESC bağla çalışır..
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

zoptrik

Teşekkür ederim. Kodları inceledim gayet açık ve net. Biraz çalışmam gerekecek :/
iyi forumlar...
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

zoptrik

Selamlar.
Öncelikle amaç için HPWM konusun araştırdım. 16f628 de Max 1/16 bölücü var ve 1khz den daha düşük sinyaller için sanırım hpwm kullanamıyoruz.
ben de şimdilik işimi görsün, hevesim gitsin diye aşağıdaki kodları yazdım bir yanlışlık var mı mucit hocam? isis de düzgün çalışıyor.
Motoru yaklaşık 0.4 sn minimum hızda sonra da maximum hızda döndürecek bir program yazmaya çalıştım. Sonuç ne olur?
şimdiden teşekkürler...

@ DEVICE pic16F628
@ DEVICE pic16F628, WDT_off
@ DEVICE pic16F628, PWRT_On
@ DEVICE pic16F628, PROTECT_OFF
@ DEVICE pic16F628, MCLR_off
@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
define osc 4
f var byte
f=0
PORTA=0:TRISA=0
PORTB=0:TRISB=0
symbol x=portb.3
fatih:
x=1
pause 1
x=0
PAUSE 19
F=F+1
    if f<20 then
    goto fatih
    else
    goto dng
    endif
dng:
x=1
pause 2
x=0
pause 18
goto dng

End

iyi forumlar...
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

İlyas KAYA

Microchip'in uygulama notlarına baktınız mı ?

Microchip Motor Kontrol

Burada çeşitli motor tiplerine göre uygulama ve notları mevcud. Yazılımlar da dökümanlarda var.
BLDC motor'un sensorless olanı BACK EMF ile çalışıyor. Sanırım işinizi görecektir.

Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

zoptrik

Teşekkürler. Linkleri inceledim fakat benim elimde zaten ESC mevcut. Linklerde sıfırdan BLDC motor sürmekten bahsediyor. Halbuki ben sadece 20ms lik (50hz) pwm dalgasını %5 ila %10 arasında değiştirmek istiyorum. Hatta belli bir süre %5 sonra tam güç %10 olsun istiyorum. Sıfırdan sensorless bldc sürmek ayrı bir mühendislik dalı beni gerçekten aşar.
ilginize teşekkür ederim
kodlarla ilgili yorum yok mu :D
iyi forumlar...
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

Mucit23

Ete Hocanın 12. Dersine baktınmı. Orada istediğin gibi kod var. Servo yazdığına bakma, Servo ile esc aynı mantıkla çalışır.
Bir ulusu yok etmenin En iyi yolu o ulusun dilini yok etmektir.

www.arectron.com/

İlyas KAYA

Alıntı yapılan: zoptrik - 28 Ekim 2013, 17:56:22
Teşekkürler. Linkleri inceledim fakat benim elimde zaten ESC mevcut. Linklerde sıfırdan BLDC motor sürmekten bahsediyor. Halbuki ben sadece 20ms lik (50hz) pwm dalgasını %5 ila %10 arasında değiştirmek istiyorum. Hatta belli bir süre %5 sonra tam güç %10 olsun istiyorum. Sıfırdan sensorless bldc sürmek ayrı bir mühendislik dalı beni gerçekten aşar.
ilginize teşekkür ederim
kodlarla ilgili yorum yok mu :D
iyi forumlar...

Sayın Zoptirik(Biraz tuhaf oldu ama neyse :) )  ;

"....ASM dilinde yazılmış ve sonuca ulaşılmış bir tane program bulamadım" dediğiniz için linki verdim.

Programın çalışıp çalışmadığını görmem için portb.3'e ne bağladığınızı da görmem gerekir.

if f<20 then
    goto fatih
    else
    goto dng
    endif

Yerine


if f<20 then   goto fatih

yapın aynı şey.


Yalnız BACK EMF den yararlanmadan sürerseniz ve süreyi tutturamazsanız sürücüleriniz aşırı ısınacaktır.

"Pause" komutu yerine" Pauseus" ile yada ASM deki "NOP" komutunu kullanarak da süreleri ayarlayabilirsiniz.





Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

zoptrik

Yok hocam tuhaf değil. Bütün netteki nicklerim aynı o kelime benimle özdeşleşmiş.
İlyas hocam ilginiz için teşekkürler. Şöyle ki bağlayacağım ESC'lerden en baştan haberiniz olduğunu varsaydığım için rahat rahat konuşuyordum. Hemen açıklayayım. ESC bildiğimiz sensorless bldc motorları sürmek için RC cihazlarda (kumandalı uçak, helikopter vs.) kullanılan hem motoru süren hem de pozisyonunu anlık analiz eden genellikle ATMEL tabanlı cihazlardır. RC oyuncaklarda tak-çalıştır mantığıyla çalışır. İnternette giriş sinyallerini araştırdığımda yukarıda belirttiğim klasik pwm sinyali ile sürüldüğünü gördüm ve bldc motoru kendim sürmek yerine ebaydan doğrudan ESC almak daha mantıklı geldi.
http://www.hobbyking.com/hobbyking/store/catalog/MY30ABEC.jpg
süreceğim duct fan:
http://i.ebayimg.com/t/70mm-Duct-Fan-3000KV-RC-Brushless-Outrunner-Motor-for-EDF-RC-Jet-Plane-Aircraft-/00/s/Mzg3WDU5OQ==/$(KGrHqV,!okFBLwSdozfBQj7U(vOZw~~60_3.JPG
iyi forumlar...
DEHA; İMKANSIZDA MÜMKÜNÜ GÖREBİLMEK DEMEKTİR.GEMİLERİN KARADA DA YÜZEBİLECEĞİNİ SEZMEK, MEHMETLERDEN BIRINI "FATİH" YAPAR...!

İlyas KAYA

ESC 'nin ne olduğunu biliyorum da,  ben siz ESC 'yi kendiniz yapmaya çalışıyorsunuz sanıyordum :)

Datasheet'ine bakarsanız datasheetlerinde ihtiyaç duyduğu kare dalga ve frekansı vardır.

Olmadı 555 li bir devre kurarsınız, trimpotlar ile DUTY ve CYCLE ayarlarsınız. En verimli pwm sinyalini osilaskop ile bakarak PIC ile üretirsiniz.
Eğer PIC yeterli kalmaz ise 555 ile yine kare dalgayı üretip, 555 'i PIC ile kontrol ederek dilediğiniz an çalıştırıp dilediğiniz an durdurabilirsiniz.

Göz odur ki dağ ardını görsün,
Akıl odur ki başa geleceği bilsin.!

BENQ

Merhaba arkadaşlar
2 butonla servo motora yön kontrolü yapmak istiyorum. Bunuda pic16f84a ile yapmak istiyorum. Ancak oluşturduğum PWM pulsinini 1 olma süresi 1ms ise 0 olma süresi 19ms olması gerekiyor. Yani toplamda periyot 20ms. Anladığım kadarıyla bunun için tmr kesmeleri kullanmam gerekli. Fakat tmr kesmesi kullanma işini daha önce yapmadım. Bana yardıımcı olabilirmisiniz?

Powered by EzPortal