Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => Motorlar & Sürücüler => Konuyu başlatan: Erol YILMAZ - 29 Eylül 2005, 16:59:50

Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 29 Eylül 2005, 16:59:50
Step motor sürücülerde püf noktalar nedir?
Neyi gerçekleştirince performanslı bir sürücü yapmış oluruz?

Sürücülerde bahsi geçen "Slow decay", "Fast decay" nedir?

Hangi motorlar daha hızlı döner?

Yorumlarınızı bekliyorum.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 29 Eylül 2005, 23:58:04
Bunalmis hocam sagolsun, Onemli bir konuda aydinlatti beni...
Orta Bolge Rezonansi.

Alıntı Yap7. ELECTRONIC DAMPING (MH10 and MD125 ONLY)
Most step motors are prone to parasitic instability or resonance
when rotating at a rate of 4 to 15 revolutions per second. Called
mid-band instability or resonance, the phenomenon manifests
itself as a torsional oscillation of 50 to 150 Hz when the motor
is running in this speed range. The torsional oscillation has a
tendency to increase in amplitude with time until it reaches a
peak equal to the step angle. When this happens, the motor
loses synchronization and stops.
Generally the amplitude buildup takes from tens to hundreds of
cycles to reach this level, so several seconds may elapse from
the start of the oscillation until the motor stops. Usually this is
long enough to allow the motor to accelerate through this region.
However, continuous operation in this speed band is impossible.
Above and below this range of speeds, the oscillation amplitude
may not be sufficient to stop the motor but it is still present.
Figure 10 shows the parametric resonance frequency versus
motor step rate for three unrelated step motors. In all three
cases resonance breaks out at 5 to 7 revolutions per second and
is most severe at the higher torsional frequencies (lowest step
rates). Because any torsional oscillation implies acceleration
and deceleration of a mass, torque that otherwise would have
been available for useful work, is wasted to sustain this oscillation.
The MD125 and MH10 incorporate a mid-band electronic damping
compensation circuit that closes the loop on this instability
and electronically damps it out. Since the motor is now unable
to sustain oscillation, torque previously wasted is now available.
With electronic damping circuitry the motor may be run continuously
at speeds where de-synchronization would otherwise oc -
ELECTRONIC DAMPING (MH10 and MD125 ONLY)
26 Driver User's Manual
cur. The motor no longer exhibits ‘forbidden' regions where
continuous-operation cannot be sustained and there is more
torque available over the entire operating range of the driver.
The operation of the electronic damping circuit in most applications
is transparent to the user, in the sense that no special
provisions have to be taken to accommodate it. There are two
instances where electronic damping may not be advantageous:
7.1. VERY HIGH SPEED
The electronic damping circuit limits the maximum speed to
50,000 full steps per second. Should it be necessary to run the
motor faster than that, up to 100,000 full steps per second, a
special ‘electronic damping disabled' version of the MD125 or
MH10 can be ordered (a Superior Electric ME 61-8001 will
exceed 150,000 full step per second or 45,000 RPM).

Alıntı YapPole Damping Technology™ (PDT) is yet another feature that the SilverPak 23D is capable of. Pole Damping Technology enhances step motor performance, thus creating a more accurate and smooth motion profile.
Devami gelecek...
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 30 Eylül 2005, 01:59:21
Kompakt entegreler genelde akim olarak SINIRLI oluyor. Bu yuzden ayrik elemanlarla her parcasiyla ozel olarak ugrasip bir seyler yapmak isteyen profesyonellere IMS2000 kodlu bir entegre gelistirmisler...
Uzerinde guc elemani yok. Fakat her bir mosfeti surmek icin lojik cikis var. Gerci datasheet i inceleyince olayi goreceksiniz.

@ Bunalmis hocam ne dersin? Entegre nasil birseye benziyor ?
Anti-Resonance ve Mixed Decay ozellikleri var.

http://www.imshome.com/im2000.html (http://www.imshome.com/im2000.html)

Turkiye distributoru Yorum Otomasyon'mus... IMS2000 dersek anlamazdan geleceklerdir. Nereden birkac adet alabiliriz acep?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 30 Eylül 2005, 09:32:00
slow decay (yavaş sönümlendirme)
(http://img260.imageshack.us/img260/9599/slow3ea.jpg)
fast decay (hızlı sönümlendirme)
(http://img260.imageshack.us/img260/6783/fast6ne.jpg)

Bildiğim kadarı ile slow decay yavaş hızlarda fast decay yüksek hızlarda gerekiyor.Birde mixed decay (ara geçiş sönümlendirmesi) var.

Allegro 3967 entegresi datasheet ine göre 0,21 volta kadar slow decay 0,21 ila 0,6 volt arası mixed decay 0,6 volt üstü fast decay olacak.

Teorik olarak nasıl hesaplanır o kısmını henüz bilmiyorum.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 30 Eylül 2005, 11:02:23
Su sitedeki surucu fena değile benziyor...

http://www.fromorbit.com/projects/picstep/ (http://www.fromorbit.com/projects/picstep/)

Bunu yapıyorum. Bitince göreceez bakalım.
Decay falan bahsetmiyor ama pic ile birşeyler yapmıştır heralde amcam :)

Bir de sunu hatırlatmak istiyorum L297 + L298 birlikteliğini unutun.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 30 Eylül 2005, 11:13:03
Alıntı YapUzerinde guc elemani yok. Fakat her bir mosfeti surmek icin lojik cikis var. Gerci datasheet i inceleyince olayi goreceksiniz.
@ Bunalmis hocam ne dersin? Entegre nasil birseye benziyor ?
Anti-Resonance ve Mixed Decay ozellikleri var.
http://www.imshome.com/im2000.html (http://www.imshome.com/im2000.html)

Bende o entegrenin bir iki gomlek ust modelinin Turkish versiyonunu yapmak icin gerekli sistem gelistirme aparatlarini alip bir koseye attim. Mini minicik bir kart yapip,  kullanicinin kendi yapacagi bir karta  sadece 8  MOS la birlikte takmasi durumunda  X volt Y amper gibi mikro step surucuye donusecek.

Ama future product.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 30 Eylül 2005, 12:03:43
Alıntı yapılan: "bunalmis"
Alıntı YapUzerinde guc elemani yok. Fakat her bir mosfeti surmek icin lojik cikis var. Gerci datasheet i inceleyince olayi goreceksiniz.
@ Bunalmis hocam ne dersin? Entegre nasil birseye benziyor ?
Anti-Resonance ve Mixed Decay ozellikleri var.
http://www.imshome.com/im2000.html

Bende o entegrenin bir iki gomlek ust modelinin Turkish versiyonunu yapmak icin gerekli sistem gelistirme aparatlarini alip bir koseye attim. Mini minicik bir kart yapip,  kullanicinin kendi yapacagi bir karta  sadece 8  MOS la birlikte takmasi durumunda  X volt Y amper gibi mikro step surucuye donusecek.

Ama future product.

Bekletme bizi  :) Ne zaman hazırlanır? Ekonomik olur mu?
3 step sürücü bir arada olsa daha iyi olur  :lol:  Daha ekonomik olur. Hem de senin DSP kaynakları zayi olmamış olur. Pinler boş kalmaz. vs.
"3 in 1" IC kaça patlar hocam bize?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 30 Eylül 2005, 12:21:11
Bosta kalan fazla bacak kalmayacagi icin zayi olan bir sey olmayacak. :D
Ekonomik olurmu sorusunu Turk uygulayicilar ve gavur  uygulayicilar icin ayri ayri ele almak lazim.

Turkiye'de musteriyi tatmin etmek kolay değil. Hele hele elektronikcileri tatmin etmek hic kolay değil.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 30 Eylül 2005, 21:21:23
Neyse eldeki bulgurunda kiymetini bilmek lazim.

www.Fromorbit.com (//www.Fromorbit.com)  taki V4 surucuyu yaptim. LMD18245 onceden almistim. Onlari kullandim.
Piyasada pahaliya satiyorlarmis.
Aksam karar verip bugun de devreyi gerceklestirince biraz hazirliksiz yakalandim. Surucu bitince Motor arayisi basladi :)
Her bobini 25 ohm olan kucuk bir step motor buldum.
Voltaji akimi yazmiyor. Ama 25 ohm oldugu icin yuksek gerilimli oldugunu tahmin edebiliriz. Yarim adim modunda gayet iyi performans verdi. Cok fazla deneyemedim.  Su ana kadar yaptiklarimin icinde en iyisi diyebilirim...

Elimdeki baska motorlarla da deneyecegim...
28 Voltluk kaynakla denedim. Devir arttikca cekilen akim ciddi oranda azalmaya basladi. Dusuk hizlarda G.K'dan 0.8 A cekerken, hizli donme de 0.2 A seviyesine kadar dustu. 0.1 A seviyesine kadar da donmeye devam etti. Gerilimi 6-7 V civarinda arttirinca yuksek hizlardaki basari cok daha artti. Fakat 5 Voltluk beslemeyi de ayni kaynaktan aldigim icin fazla yukseltemedim. (7805 yuzunden)

4 Mhz ve Standart Tork icin olan programi kullandim. Digerlerini calistiramadim.

Step Motor Surucu yapacak arkadaslara tavsiye ederim.
Deneyimlerimi paylasmaya devam edecegim.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 30 Eylül 2005, 22:03:26
Erol sonucun böyle olduğunu söyle bari
http://www.fromorbit.com/projects/picstep/video/picstep_motor_video.wmv

bizim ekipte bunu yapıyor ama daha denemek kısmet olmadı
http://pminmo.com/3axis/OS3unipolardata.pdf

@ Erol, iddaya girdik hocam bizim cnc tornayı 5 eksenli yapacağız
ucunda fıstıklı baklava var  :D
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 30 Eylül 2005, 22:18:52
Alıntı yapılan: "aster"Erol sonucun böyle olduğunu söyle bari
http://www.fromorbit.com/projects/picstep/video/picstep_motor_video.wmv
Insaallah olacak.
Alan'a da mesaj yazdim. Ne bicim firmware len bunlar adam gibi yaz diye. (Tabi kibar bir dil ile :) )

Alıntı yapılan: "aster"bizim ekipte bunu yapıyor ama daha denemek kısmet olmadı
http://pminmo.com/3axis/OS3unipolardata.pdf
@ Erol, iddaya girdik hocam bizim cnc tornayı 5 eksenli yapacağız
ucunda fıstıklı baklava var  :D

Fistikli baklava icin yapilir be hocam!. Yapin gitsin.

LMD18245 + PIC kontrol devresiyle motor problem olmazsa 1500 devir/dk hizlara cikiyorlar.
Ornegin http://www.embeddedtronics.com/microstep.html

Ayrica TURBOCNC nin yumusak davranisi sebebiyle motor ve surucuden daha iyi verim aldiklarini belirtmisler.

Alıntı YapSome stepper motors may only run 200-400 rpm due to high winding inductance and magnet/rotor design. Modern lower voltage stepper motors achieve much higher rpm speeds and should be used if high speed is required in your application.

Standart iyi devreler ile 1500 rpm civari tamam ama birileri yuksuzken 8000 kusurlerden bahsediyor. 1/8 mikrosteple 220bin rakami cok abarti değil mi?

Ne dersiniz sayin Bunalmis?
Ruyami gormusler? Gercek olabilir mi?
http://www.students.tut.fi/~kontkant/a3977.php.html
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 30 Eylül 2005, 22:42:53
Bu LMD18245 i kaça almıştın yahu
sorduğumuzda 35-40 Dolar felan dedilerde, elimizde kalacaktı satıcı
Başlık: Step motor driver inceleme
Gönderen: mahoaga - 30 Eylül 2005, 22:57:07
Step motor sürme, benim ilgimi oldukça çekiyor. Ancak bitirmek zorunda olduğum birkaç proje varken bu konuya henüz değinemedim. Sadece teorik bazda olayı irdelemeye çalışıyorum. Zaten ana mantığı çözdükmü işin gerisi çorap söküğü gibi gelir. Zor bir olay yok. Mesele olayı kendileştirebilmemizde yatıyor. İngilizcesi iyi olan arkadaşlar için (Ben! (x)) step motor sürme ile ilgili oldukça fazla link var. Eğer bir fikir edinmek isterseniz bu link tüm bilgileri içeriyor diyebilirim. Arkadaşımızın belirttiği Damping rezonans mantığından tutun motorun ivmelenip yavaşlamasına, verilecek olan genlik ve frekansa,mikrostep sürmeye kadar tüm formülasyonlar ve açıklamalar burada mevcut.

www.cs.iastate.edu/~lcmi/research/jones_step.pdf

Ancak dediğim gibi sadece link vererek ilerleyebileceğimizi sanmıyorum. İlk olarak bazı konuları irdelememiz gerekiyor bence.

1)Bipolarmı yoksa unipolar motormu kullanacağız? Artısı eksileri nelerdir?
Bu motorların ana karakteristikleri nelerdir?
2)Motora ne tür bir darbe vermeliyiz. Frekansı ne olmalı? Bu darbeyi elde edecek formülasyonlar hangileridir. Lookup table mı yoksa Taylor vb.. seerilerle sin değerlerimi bulacağız? Sin - Cos oluşturacak isek taşıyıcı PWM frekansımız ne olmalı? Motoru en yüksek hangi hızda çevirebiliriz? Sinüs darbenin genliğiyle oynamak bize ne sağlar ne sağlamaz?
3)Mikrostep sürücü ne tür avantajlar sağlar.? Motoru daha hızlı ve daha verimli sürmek için ne yapmalıyız? 1 adımı kaç microadıma bölebiliriz?
Sürmenin ana mantığı nedir? Fazları neye göre kaydırmalıyız? Hangi hızda kaç sample kullanmalıyız? Motorun hızını ayarlarken nasıl bir algoritma oluşturmalıyız? Motora verilen dalgo formaları ver çekmi yoksa sürekli mi olmalı?
4)Motorla bir kütleyi taşıyacağımıza göre motoru birden hızlandırıp,yavaşlatabilirmiyiz? Belli ataletteki kütleyi birden harekete geçirmeye kalkmak (İvmelenme Accel-Deccel kullanmadan ) ne gibi sakıncalar içerir?
5)Hızlanmada(ivmelenme) Trapezoidal mi Parabolikmi eğriler kullanmalıyız? Bunlar için hangi formülasyonları kullanmalıyız?
6)Motordan akım geribelemesi almalımıyız? Kısa devre kontrolü gereklimi?
7)H bridge sürücüde ne tür korumalar almalıyız. Sürücüyü motordan gelecek parazitlere karşı ne gibi filtrelerle korumalıyız? Snubber mı ters diyotmu bağlamalıyız? Optokuplor kullanmalımıyız?
8)Aynı anda kaç adet motoru sürebiliriz. Birden fazla motor sürebilirsek Liner interpolasyon için motorların hızlarıyla oynayarak belli konuma ulaşmak mantıklımı yoksa adım adım hesap yapmak mı matıklı?
9)Dairesel interpolasyon için aynı şekilde adım mı hızla daire mi çizmeliyiz? Hızla daire çizeceksek 2 eksen için motorun X ve Y (veya Yve Z, X ve Z) eksenlen hızlarını belli katsayılarla çarparak daire çizebilirmiyiz. Çizersek çizilecek dairenin kalitesi ne olur? Daire çizme sırasında diğer eksenede belli bir hız sabiti vererek helisel hareket elde edebilirmiyiz?
10)Bu işlemler için ne tür bir mmikrokontrollür kullanmalıyız? DSP mi olmalı? İşlemci hangi peribherallere sahip olmalı? PWM kanlları kendinde olmalımı?

Biraz hızlı yazdım ama elbetteki eksiklikler olabilir. Tamamlayacak arkadaşlara önceden teşekkür ederim. Eğer bu konuda bir sonuca ulaşmak istiyorsanız bu konuları aydınlatmak olayı çözümleyecektir sanırım.
Başlık: Re: Step motor driver inceleme
Gönderen: Erol YILMAZ - 01 Ekim 2005, 12:22:40
Alıntı yapılan: "mahoaga"Biraz hızlı yazdım ama elbetteki eksiklikler olabilir. Tamamlayacak arkadaşlara önceden
teşekkür ederim. Eğer bu konuda bir sonuca ulaşmak istiyorsanız bu konuları aydınlatmak olayı çözümleyecektir sanırım.
Evet biraz eksik kalmis.  Bunlarin hepsini cevapladigin zaman zaten baska soru kalmiyor. Hepsini bilmedigimiz cok acik. Cevaplarini aramaya calisiyoruz.
Performansli bir motor nasil olur? sorusuna Microchip cevap vermis.

Daaa benim motor 25 ohm'du.
Mahoaga heyecanlanma sakin ol. Yavas,yavas...

Alıntı Yap1)Bipolarmı yoksa unipolar motormu kullanacağız? Artısı eksileri nelerdir?
Bu motorların ana karakteristikleri nelerdir?
2)Motora ne tür bir darbe vermeliyiz. Frekansı ne olmalı? Bu darbeyi elde edecek formülasyonlar hangileridir. Lookup table mı yoksa Taylor vb.. seerilerle sin değerlerimi bulacağız? Sin - Cos oluşturacak isek taşıyıcı PWM frekansımız ne olmalı? Motoru en yüksek hangi hızda çevirebiliriz? Sinüs darbenin genliğiyle oynamak bize ne sağlar ne sağlamaz?
3)Mikrostep sürücü ne tür avantajlar sağlar.? Motoru daha hızlı ve daha verimli sürmek için ne yapmalıyız? 1 adımı kaç microadıma bölebiliriz?
Sürmenin ana mantığı nedir? Fazları neye göre kaydırmalıyız? Hangi hızda kaç sample kullanmalıyız? Motorun hızını ayarlarken nasıl bir algoritma oluşturmalıyız? Motora verilen dalgo formaları ver çekmi yoksa sürekli mi olmalı?
4)Motorla bir kütleyi taşıyacağımıza göre motoru birden hızlandırıp,yavaşlatabilirmiyiz? Belli ataletteki kütleyi birden harekete geçirmeye kalkmak (İvmelenme Accel-Deccel kullanmadan ) ne gibi sakıncalar içerir?
5)Hızlanmada(ivmelenme) Trapezoidal mi Parabolikmi eğriler kullanmalıyız? Bunlar için hangi formülasyonları kullanmalıyız?
6)Motordan akım geribelemesi almalımıyız? Kısa devre kontrolü gereklimi?
7)H bridge sürücüde ne tür korumalar almalıyız. Sürücüyü motordan gelecek parazitlere karşı ne gibi filtrelerle korumalıyız? Snubber mı ters diyotmu bağlamalıyız? Optokuplor kullanmalımıyız?
8)Aynı anda kaç adet motoru sürebiliriz. Birden fazla motor sürebilirsek Liner interpolasyon için motorların hızlarıyla oynayarak belli konuma ulaşmak mantıklımı yoksa adım adım hesap yapmak mı matıklı?
9)Dairesel interpolasyon için aynı şekilde adım mı hızla daire mi çizmeliyiz? Hızla daire çizeceksek 2 eksen için motorun X ve Y (veya Yve Z, X ve Z) eksenlen hızlarını belli katsayılarla çarparak daire çizebilirmiyiz. Çizersek çizilecek dairenin kalitesi ne olur? Daire çizme sırasında diğer eksenede belli bir hız sabiti vererek helisel hareket elde edebilirmiyiz?
10)Bu işlemler için ne tür bir mmikrokontrollür kullanmalıyız? DSP mi olmalı? İşlemci hangi peribherallere sahip olmalı? PWM kanlları kendinde olmalımı?
Cevap 1: Bipolar daha performansli ama daha karmasik devreli.
Cevap 2: Genelde "Look-Up table" kullaniyorlar. Sinus hesaplamak bence fantazi birsey olur.
Cevap3: Mikrostep daha yumusak bir hareket saglar. Adim hassasiyeti artar. Bir de sanirim Rezonans ile ilgili avantajlari var. Bipolar icin konusuyorum. 2 bobine de kontrollu akim veriliyor. Tam ve yarim adim icin akim 1, 0 ve -1 olurken mikrostep te sinus dalga seklini takip edecek sekilde aradaki degererde oluyor.
Cevap4: Hicbirseyi aninda (yani delta T=0) zamanda belli bir hiza getiremezsin. Her hizlanmada bir sinusoidal hareket vardir.
Step motorda orta halli sistemler genelde Lineer rampayi tercih ediyor. Fakat (Sinx)^2 dalga sekliyle olan rampanin Sinus ve lineer rampaya gore daha iyi old. okumustum. Iyi bir rampa yapamazsan zaten sinirli gucte olan step motorun adim kacirir...
Cevap5: Bunun cevabini vermistim.
Cevap6: Surucu akimi ayarlayarak birseyler yapiyor zaten. Dolayisi ile akim kontrolu var. Kisadevre de akim sinirli olacagi icin problem olmasa gerek.
Cevap7: Ters diyot kullaniliyor.
Cevap8: Yapabildigin kadar. :)
Cevap9: Sorunu tam olarak anlayamadim.
Cevap10: DSP cogu zaman bir MCUdan cok daha fazla islem gucune sahip.  Fakat burada 2 i$i birbirine karistiriyorsun. Step motor surmek farkli birsey, Surucuye INDEXER olarak gorev yapmak farkli birseydir.

Biz burada sadece Step Motor Surucuyu tartisiyoruz. Daire elips vs cizdirmek iyi seyler ama elinde iyi bir step motor surucu yoksa INDEXER hicbir ise yaramaz.

Surucu adam gibi olduktan sonra ister TurboCNC programi ile CNC yap. Istersen bobin sarma makinasinda basit ileri-geri isi yap. Orasi sana kaliyor.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 01 Ekim 2005, 19:33:38
Ben gene link vereceğim  :)
http://www.piclist.com/techref/io/stepper/linistep/index.htm
http://www.piclist.com/techref/io/steppers.htm

@Erol burayı gördünmü bilmiyorum ama bir göz at
ben kediye dondurma almaya gidiyorum :)
http://www.bright.net/~agarb/STMD/STMD.html

Araştırmaya ve incelemeye devam edelim buyurun sizi dinliyoruz
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 01 Ekim 2005, 19:42:12
Gordugunuz gibi 25 Ohm/Faz ve 73 mH/Faz  lik bir step motor performans motoru olmaktan cok uzak.

Onun yerine Oriental Marka NEMA23, 3.6 Ohm/Faz, 43 mH/Faz lik baska bir motor denedim. 5.4 Volt 1.5 Amper. Motorumuzun boyu 77 mm.

Surucunun Besleme gerilimini 50 Volt olacak sekilde ayarladim ve akim grafigini inceledim. Motorlari tanimak acisindan iyi bir inceleme oldu.
Bobinin ilk gerilimlendigi anda 1.5 A'e yukselme egimi var. O egim, surucunun besleme gerilimi ile orantili. 50 Voltta 900 tur civarinda hizla dondu. Tork dustu tabii ki. Yalniz bizim kablo kesmede kullandigimiz cok hizli step motorlar var. Onlari inceleyecegim.

Bu motorun bobin akimi 1250 tam-adim/sn de doymamaya basladi. Yani akim kontrol devresi hic CHOPPING yapmadan gerilimi full acti. 1250 adim dan sonra zaten akim azalmaya basliyor.

Bu gerilimle bu motorla hangi surucu olursa olsun 1250 adimdan sonra motor akimi yeterince alamayacak.

Bunun yolu ya dusuk enduktansli motor kullanmak ya da mevcut motor icin gerilimi  cok daha yuksek seviyelere tasimak olacaktir.

CNC tarzi bir uygulamada gezme islemi fazla olacagi icin daha cok performans aramak gerekir. Ama motor hakkiyle surulmu$tur.

LMD18245 in max gerilimi 55 Volt ve besleme kondansatorlerinin gerilimi de 50 V oldugu icin daha yuksek gerilimlere cikilmamistir.

Daha iyi motor ile mevcut surucuyle daha iyi performans elde edilebilir.
Devami gelecek...
Başlık: Hızlanma Yavaşlama ve Sın-Cos Fonksiyonları
Gönderen: mahoaga - 01 Ekim 2005, 22:16:09
Sin - Cos fonksiyonu kolay olarak Look up table ile yapılabilir. Ancak software açısından bazı sorunları göz önünde bulundurmak şart. Motoru ivemelendirme ve yavaşlatma işleminden bahsediyoruz. Bu konuda sanırım herkes hemfikir. Bir kütleyi ataletinden dolayı aniden hızlandırmaya kalkmak otomobilinizi 0 dan 1 saniye içinde 200km hıza çıkartmaya benzer. O yüzden elbetteki kademeli bir artış kullanmak şart. Bir matematiksel fonksiyona göre ilerlemeliyiz. Lineer rampa kullanacaksak (Açısal hızın liner olması başka bir deyişle lineer olarak artması-azalması) Yerdeğiştirmenin parabolik olarak değişeceğini gösterir. Motou 0 dan kaldırmakta çok doğru olmayabilir. Pratikte motorlar bir Vo hızı ile start edilir. Başlangıçtaki pozisyonu Xo olarak düşünecek olursak.

A ivme olup sabit ivemelenme modeli kuracak olursak
t herhangi bir andaki zaman (değişken)
V değeri set ettiğimiz hız değerimiz lineer olarak artıyor Vhedef e kadar

X = 1/2 A t2 + V t XoVo = A t + V

formülasyonu bize t anındaki X yerdeğiştirme değerini verecektir.

tstep = ( -V + ( V2 + 2 A S )0.5 ) / A
V' = ( V2 + 2 A S )0.5

Tstep bize hızlanma zaman aralıklarımızı verecektir. Pdf de de belirtildiği gibi alttaki basit program, Hızlanma-Max hızda ilerleme ve yavaşlama algoritmasını tam olarak formüle etmektedir.

if V = Vhedef then o the following:
S/Vtarget saniye kadar bekle ve sonra
Q = Q+ S
else if V < Vhedef hızlanma formülasyonu
bekle ( -V + (V2 + 2 AaccelS)0.5 ) / Aaccel  saniye kadar
Q= Q+ S        
V = (V2 + 2 AaccelS)0.5

else if  V > Vtarget yavaşlama formülü
bekle ( -V + (V2 + 2 AdecelS)0.5 ) / Adecel saniye sonra
Q=Q + S
V = (V2 + 2 AdecelS)0.5
end if

üstteki çok kod  formülasyonu sürücünün en kritik olan hızlanma ve yavaşlama kısmını tamamen çözüyor. 2. Aşamada elde edilen V hız değerlerini kullanarak motoru istenilen hızda ilerletmeye kalıyor. Interrupt değerleri belirtilen bekleme zamanlarına set edilmeli. Ayrıca Ram de her eğri için gerekli olan PWM duty değerlerinin bir kısmını sürekli stoklamakta fayda var. Yoksa işlemci hata yapabilir. Yani 10-15 adım sonra verilecek PWM değerini hafızaya almaktan bahsediyorum. Bir taraftan çıkarken bir taraftan doldurmak gerkli gibime geliyor. Burada önemli bir ayrıntı öne çıkıyor

Look up table mı? Matematiksel işlemle hesaplama mı yapmak?

Evet gerçektende güzel bir soru. Basitçe lookup table diyebilirssiniz. Ama işin arka kısmını kurcalamak bizi doğruya götürecek. Belliki tabloda belli bir miktarda mikrostep adımı için oluşturulmuş değerler var. Mesela 180 derece için 256 adet değerimiz olsun. 128 microstep edecektir. (PWM taşıyıcı frq ise 20Khz civarı olsun.) Çünkü motor 90 derece fazı kaydığı anda 1 adımını tamamlamış olacak ve 180 derece içinde ancak 1 tam adım atabiliriz. diğer adıma geçebilmek için 180 derece beklemek zorundayız. Şimdi tıkanma burada ortaya çıkmakta eğerki motoru çok düşük devirlerde çevireceğim derseniz, o zaman her 180 derecede sadece 1 adım atabilme şansınız var. 1 peryot için en yavaş döndüğümüzü varsaysak 250*20Khz = 500 Hz gibi bir yarım peryot frekansı ortaya çıkacaktırki biz bu hızda hareket ettiğimiz zaman motorumuz 500 Hz boyunca BUSY olacak demektir. Yani 500Hz boyunca motor hep aynı hızda kalmak zorunda kaldı. Peki hızlanmadaki zaman adımları bu 500 Hz lik zamanlamaya denk mi gelecek. Elbetteki hayır. Öyle ise motorun en fazla 8-10 sample gibi bir PWM değeri ile bu hızı elde edebilmesi gerekiyor. Bu nasıl olabilir? Elimizde yaklaşık olarak 5000-1000 adet tablo değeri tutmamız gerekirki durumun sıkıntısını sanırım anlamışsınızdır. Ancak burada formülasyon kullandığımız takdirde motoru daha fazla (10000>) adıma bölebilecek ve hızlı bir zaman diliminde motoru anlık bir hızla ilerletme olanağına sahip olacağız. Ayrıca sin-Cos genlikleri ile oynamamız bize Resonans frekansında birşeyler sağlayabilir. Peki sin - Cos fonksiyonu nasıl elde edebiliriz.

Look up table üzerinde interpolasyon yaparak ara değerleri alabiliriz ama bu pek mantıklı olmaz zira sinüsün üstünde line lar çizmek olur. Yani sin eğrisini kirişlere ayırmak olur.

sin(x) = x * num(x) / den(x)
num(x) = 1 + n1*x^2 + n2*x^4 + n3*x^6
den(x) = 1 + d1*x^2 + d2*x^6 + d3*x^6
bu formülasyon bize sin değerlerini verebilir ancak oldukça yavaş kalacağı ortada. Yüksek hıza sahip işlemci ister ve işlemciyi biraz hantallaştırız.

Daha basit bir yöntem Taylor serisi kullanmak olabilir.
sin(x) ~ x*(1 - (x^2)*(1/3! - (x^2)(1/5! - (x^2)/7! )))

bu formülasyonu elde edebilmek sanırım fazla zor olmasa gerek. 2-3 adet çarpma ve 2-3 adet bölme işlemi yapmak gerekliki iyi bir optimizasyonla bu işlem kolayca olabilir. Burada 32 bit işlem yapmak gerekebilir. Ancak bir komutla 16bit çarpma yapan bir DSP bunu rahatla yüklenir. Aynı anda 6 sinüs olsa dahi. (3 motor)

Fonksiyondan elde edilecek olan değer ile oluşturulacak 1 PWM frekansının peryotu bu değer ile çarpılarak Duty değeri bulunur. Ancak PWM frekansı 20Khz ile 16Khz arasında oynatmak gerekiyor. Daha basitçesi hızı arttırdıkça sample miktarı düşecek PWM frekansı hep 20Khz civarlarında gezinecek. Bu sayede sin ve Cos eğrilerinin genlikleri  ile oynayabileceğiz aynı anda kısa zamanlı düşük bir hızı çıkış verebileceğiz.
Bunları Lookup table ile yapabilemek oldukça zor görünüyor. Yapılacak olan birkaç matematiksel işlem ve interruptlardan ibaret.

Olayları irdelekten kastım bu. Sorulan sorulara basitçe evt hayır demek elbette kolay olacak ama, bir şeyi planlarken 5-10 adım sonrasını göze almak zorundasınız. Yoksa 10 adım gider ve 10 adım tekrar geriye gelirsiniz.  Aynı yerde boşa vakit kaybedersiniz. Olaya girişmeden önce yapacak olacağını 10-15 dklık kritik sizi belki haftalarca uğraşmaktan kurtarabilir. Motoru en iyi şekilde sürmeyi hedefliyorsak ayrıntıları dikkate almalıyız.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 01 Ekim 2005, 22:46:45
@Magoaga, yazilarini ilgiyle okuyorum ve bu basligin altinda sadece BIPOLAR STEP MOTOR SURUCULERI hakkinda yorumlar-tartisma-hesap-kitap-tecrube istiyorum. Indexer olarak herkesin farkli cozumleri olabilir.
Ben mesela TURBOCNC kullanacagim. Rampalamayi kendi yapiyor.
Baski devre kazimak icin.  Baska isler icin bir PIC cik yazarsin. O da kendi kafasina gore birseyler yapar. Step motor surucu olmadan bunlari yapamazsin.

@Bunalmis Hocam,
Senin 1500 devir/dk yaptirdigin surucu - motor sistemini ic gecirerek, pur dikkatle izliyoruz  :D   "Prime Time" in krali senin video goruntulerin.
Ses te duymak isterdik ama simdilik bu da iyi.
Neyse asil konumuza gelelim. O motorun gerilim, akim, enduktans degerlerini rica etsem bizimle paylasirmisin? Cok makbule gecer.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 01 Ekim 2005, 22:57:27
Bir ara benim sitede verdim diye hatirliyorum, bir bakayim eger bulamazsam tekrar olcmem gerekecek. Bu arada iyi gidiyorsunuz. :D
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 01 Ekim 2005, 23:42:02
1.88V,  2.5A, 1.6mH, 0.6Ohm, Nema 23
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 02 Ekim 2005, 00:21:44
Alıntı yapılan: "bunalmis"1.88V,  2.5A, 1.6mH, 0.6Ohm, Nema 23

Hocam bu ultra-süper bir motormus.
Motor Microchip'in Performans li motor tanimlamalarina neredeyse tamamen uyuyor. Ilgine, teşekküru borc bilirim.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 02 Ekim 2005, 03:28:09
Simdi surucu besleme geriliminin onemini ve belki de Surucu-Motor sistem dengesinde en onemli konulardan birinden bahsedecegiz.

Normalde motor icin verilen gerilimler 12 Volta kadar olan dusuk gerilimlerdir. Akim seviyeleri de yaklasik 10 A. e kadar verilir.
Peki ama neden suruculer 30-100 VDC arasinda bir gerilimle beslenirler.
Isterseniz bunu full-step modunda calisan bir motorun akim-zaman grafiginde gorelim.
(http://img399.imageshack.us/img399/6633/graphic17po.jpg)
Bu fotografta gordugunuz siyah iz motorun akimini temsil ediyor.
Yaklasik 800 uS lik bir tirmanistan sonra akim kontrolu devreye giriyor ve "chopper" teknigi ile akimi sabit tutmaya calisiyor. Fakat kontrole girmeden once akimin belli bir degeri asmasini beklemesi gerekiyor.
Simdi asil can alici konuya donelim,

Bu motoru suren palslerin 800 uS oldugu durumu goz onune alalim. Bu durumda, chopper hicbir zaman devreye giremeyecek ve bobinlerdeki ortalama akim normalde ayarlanan akimin sadece yarisi kadar olacaktir. Bu da buyuk olcude tork dusumune sebep olur.
Eger giris frekansi daha da artarsa (palslerin suresi kisalirsa) durum daha da vahim hale gelecektir. Motor akim cekememeye baslar.

Bunu engellemenin 2 yolu var.
1. yol:
Besleme gerilimini artirmak. Bu durumda egim daha da diklesecektir.

2. yol:
Motorun enduktansini daha dusuk baska bir modelle degistirmek.

Bir de enduktanslarin basina eklenecek direnc ile alakali birsey var ama onu saymiyorum.

Besleme gerilimi surucunun izin verdigi yere kadar arttirilabilir.
Entegre yapilar genelde max. 30-55 VDC arasindadir.
Ayrik elemanli dusunuldugunde ise tasarim ve devreye alma maliyetleri dusundurucudur. Onun yerine daha dusuk enduktansli bir motor cozum olabilir.

AYRICA:
Mesela 1.8 VDC 3 A. motor kullaniyorsunuz. Surucu Besleme geriliminiz 40 Volt. Bu durumda 40 Voltluk kaynaktan 3 A cekmeyeceksiniz. 0.6 Amper gibi birsey cikacak karsiniza. Cunku sistem SMPS teknigi ile calisiyor. Lineer sistemlere gore kayiplari cok az olan bir sistem yani.
Yani 3 motor icin 3x0.6 = 1.8 A.      40x1.8=72 W. Hadi toleranslari da ekle 100W olsun. 100 W lik bir SMPS kaynagin fiyati hemen hemen TRAFO+yuksek degerli kondansator ile aynidir.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 02 Ekim 2005, 11:11:24
"SMIK stands for Stepping Motor Instability Killer."

Denen bir yontem var. Patentliymis...
Ne oldugu konusunda nette neredeyse hic bilgi yok.
Başlık: Full Bridge Driver?
Gönderen: mahoaga - 02 Ekim 2005, 12:07:57
LMD18245, Nasyonel full bridge Step driver IC'sini nereden bulabilirim. Türkiyede bulunuyor mu? Yardımcı olursanız sevinirim.
Başlık: Mikrostep son nokta
Gönderen: mahoaga - 04 Ekim 2005, 12:28:59
Konu üzerinde biraz daha kafa yorunca, yeni bazı noktalara vardım. Açıkçası mikrostep/İvmelenme/Dairesel Inter/Lineer Interpolasyon olaylarını teorik olarak tamamen çözümlediğimi düşünmekteyim.

Ilk olarak Sinüs üretimi hakkında vardığım sonuç;

1) PWM frekansı daima 20Khz olacak. Bu 20Khz lik peryodu hiç bir zaman oynatmayacaksınız. Peryot registeri her zaman 20Khz ye ayarlı olmalı. İster 1 motor sürün isterse 3 motor sürün bütün Duty değerleri aynı anda Update edilecek.

2) 3000 d/dk için 4Sample, 1500d/dk için 5 sample/ 750d/dk için 6sample..... gibi hızı düştükçe sinüsü oluşturan sample sayısını arttıracaksınız. 20Khz sabit.

3) PWM için kullandığınız duty registeri ister 16 bit olsun isterse sonsuz bit olsun farketmez CPU nun hızından dolayı belli bir çözünürlükle sınırlandırılmışsınız. Mesela 10Mips lik bir MCU kullansanız 1:1 prescalar ile 20Khz deki peryot registeriniz en fazla 500 olacaktır. CPU nuz 30 MIPS ise bu register 1500 olacaktır. Buda kullanacağınız sinüs değerlerinde çok yüksek hassaslık aramanıza gerek olmadığını gösteriyor.

4) Sinüs üretiminde 256 sample lık bir Lookup table oluşturabilirsiniz. (90 derece için). Ara değerleri enterpolasyton ile okumanız gerekecek. Buradaki max hata payı Cos(Pi/2/256) olacaktırki buda sizin PWM registerinin çözünürlüğünden çok daha yüksek.

5) 256 adet sample değeriniz varken eğer 1 adımı 256 mikrostepe bölmek isterseniz her adımda tablo değerinizi (yöne bağlı olarak) 1 adım ileri veya geri çekmelisiniz. Ancak yavaş hızlarda daha fazla sample çıkıp sinüsü daha az ripılsız ve temiz oluşturmalısınız. Hızınız düştüğünde 256 dan daha fazla micro adıma ihtiyacınız olcağı için enterpolasyon yaparak ara değerleri almalısınız. Mesela açı değerinizi 16 bitlik bir registerde tutabilirsiniz. üst 8 bit Tablodaki tam adımları alt 8 bit ise tablodan enterpolasyonla alacağınız adımları gösterir.

6) Sın,Cos fonksiyonlerı [0,1] arasında değerler alır. En büyük alabilinecek değer 1 dir. Daha öncede belirtildiği gibi açılar için 16 bitlik bir register kullanmalısınız. 180 derecenin karşılığını 2^16 = olarak belirtmelisiniz. Bu durumda 90 derece 2^16/2 yani 15 bite karşılık gelecektir. Tabloda tuttuğunuz Sın değerleri ise 0,1 arasında olmayacak elbetteki. En büyük sin değeri 90 derece için, sizin bobine uyguladığınız Sin acı Pozisyonu ile tablodan okuduğunuz değerin çarpımı PWM peryot registerine eşit olabilecek şekilde ayarlamalısınız. Noktalı sayılarla işiniz yok.

7) Bobine uyguladığınız Açı değeri=A ise, Tablo değer sayınız = 256 ve enterpolasyonuda katarsak 256*256 ise=T=65536, ve çıktığınız PWM sample miktarı Smik=4 ise (Yüksek bir hız) bu değişendir hıza göre arttırılabilir., PWM base frekansı PWMPeryot=20Khz, ve atmanız gereken adım = X ise,

Sonraki Açısal tablo değrinizi
 A=(A+X) And ((2^16)-1) ileri
 A=(A-X) if A<0 then A=A+(2^16)
diyerek Sonraki tablo değrinizi okumalısınız. A 16 bitlik bir register olduğundak üst sekiz bit tablodaki 256 değri ifade ederken, alt sekiz bit ise enterpolasyonla alacağınız değeri ifade edecektir.

PWM değerlerini 180 derece sonunda update edecek ve
Sinus 180 derece frekansı=Smik*PWMPeryot olacaktır.
Burada mikro adım miktarınızda,Hız değerinize bağlı olarak ilerlemeniz gereken X değerlerini bulacaksınız. Daha ayrıntılı olarak belirtmeğe gerek duymadım.

5) 1 motoru sürebilmek için en az 2 adet PWM kanalına ihtiyacınız olacak. 1.PWM A bobinine, 2.PWM B bobinine gidecek. İnternette hazı hesapları yapılmış 20Khz lik snubber filtreler Public. H bridge sürücülere snubber ile filtreleyebilirsiniz.

6) Bir dac ile motorlara uyguladığınız voltaj değerini açıp kapatmalısınız. Bu sizin Standby modunda motorlarınızı hem az ısıtacak hemde Resonans frekansında Torku arttırmanızı sağlayarak yüksek hızlara çıkmanıza yardımcı olacaktır.

Motora microstep arttırmanın Software olarak kolayca yolu bu. Şu an eksik hiçbir nokta görünmüyor.  Program sanılabileceği kadar uzun kodlar içermiyecek. Sadece biraz formülasyonlar olmalı.

Örneğin PWM değerlerinin interrupt içinde update edebilirisniz. Hızlanma yavaşlama interpolasyon işlemlerini ise interrupt dışında ayarlayıp dönel bir mem içinde tutabilirsiniz. Örneğin siz PWM değerini updat ederken içeride her sinüs için 16... veya daha fazla miktarda sonraki duty değerlerini tutabilirsiniz.

Akım kontrolü yapmak isteyecek arkadaşlar ADC den geri besleme almaları gerekebilir. (Hazır Full bridge kullanmazlar ise)

Terorik olarak şu an vardığım  son nokta bu. Sanırım bu nokta pratiğe geçmedikçe kolay kolay değişmez. Çünkü tüm taşların yerine oturduğu görünüyor.

:D  :D  :D
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 04 Ekim 2005, 13:54:30
mahoaga

İki adet PWM modülü ile açık devre kontrol yapmayımı düşünüyorsunuz?
Başlık: Cevap
Gönderen: mahoaga - 04 Ekim 2005, 14:46:49
@Macera

2 adet PWM modülü standart PIC serisi entegrelerde bulunuyor. Örneğin 18F252,18F452 ..... ancak ben aynı anda 3 veya 4 motoru bir arada sürmeyi düşünüyorum. Indexer diyebiliriz. 2 PWM kanalı ile yapılabileceğini, basit microstep sürücü yapmak isteyen arkadaşlar için belirttim. Ancak bu CPU larda bölme işlemi yok. Sinüs üretimi sırasında yoğun matematiksel işlemler gerekebilir. 32 bit Çarpma/Bölme..... Ayrıca bu normal MCU lar oldukça yavaş. PWM peryodu başına 500 cycle komut hakkı olmakta. Benim kullanacağım işlemci ise hem 30MIPS hemde 8 PWM kanalı bulunduruyor. O nedenle aynı anda 4 motoru sürebilirim. Ayrıca matematiksel işlemleri 16 bit olup çarpma/bölme .. gibi işlemleri tek cycle de işleyebiliyor.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 04 Ekim 2005, 15:03:33
mahoaga
Anladığım kadarı ile chopper kullanmıyacaksınız.
Tork sağlamak için yüksek voltaj ilemi süreceksiniz motorları?
Yüksek voltaj ile sürecekseniz akımı nasıl kontrol altına almayı düşünüyorsunuz?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 04 Ekim 2005, 15:22:12
@Macera

Chooper ile sürmeyeceğim doğru. Özel bir kontrol entegresi kullanmayı düşünmüyorum. (L297 gibi). Olayı çözümleyen tamamen Software. Mikroişlemci dediğim gibi 8 kanal PWM çıkışına sahip. Motorlara DAC ile ayarlanacak olan bir DC voltaj girecek. Bu motorun tipine göre değişebilir. 40-50VDC gibi.

PWM darbeleri ile Sinüsodial bir Akım eğrisi ile vermeyi düşünüyorum. Sin/Cos eğrileri üstte belirttiğim mantıkla CPU tarafından PWM darbeleri ile çizilecek. Böylece bobinlerin karakterleri gereği en uygun çalışabildikleri Sinüsel akım verilmiş olacak. Motor hem verimli sürülecek hemde hassas Microstep adımlar atılabilmiş olacak.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 04 Ekim 2005, 15:35:25
mahoaga
Sorumu şöyle soracam.
Motorunuz voltajı ile besleme geriliminiz eşitmi yoksa
motorunuz voltajı besleme geriliminin 5 yada 10 da birimimi ?
Eğer LMD18245 kullanacaksanız IC nin içindeki chopper tekniğini zaten kullanıyorsunuz.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 04 Ekim 2005, 15:54:37
Motora uygulanacak olan gerilim Motorun EMF,endüktans ... gibi katsayılara göre belirlenecek. Zaten bunu bilgisyarla 1 kere ayarlayacağım. Şu an pratik olrak olaya girişmediğim içim teorik olrak yanıtlayabiliyorum. Bu voltajı yukarı çekmek motorun daha ani hareketler yapmasına neden olur. Yani motora uygulanan voltaj üzerinde yazan yazının 1/10 filan değilde belki 10-15 katı daha faza olacak. Mesela giriş voltajı DC40Volt ise DAC ile bunu zaten 0-40 arasında Yazılımla ayarlayacağım. Motorun en verimli çalıştığı noktaa set edeceğim. Ama bu voltaj değeri motorun üstünde yazandan çok daha yüksek olacağını sanırım.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 05 Ekim 2005, 11:30:13
Bu konuya epey detaylı bir şekilde girildi.
Adım motorlarının geliştirilmiş Kalman filtreleriyle ilgili sensörsüz kontrolü konusunda güzel bir tez ilginizi çeker sanırım.
http://academic.csuohio.edu/embedded/Publications/Thesis/Chirayu_thesis.pdf
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 08 Ekim 2005, 14:01:25
http://www.cncdesigner.com/sss.html
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 08 Ekim 2005, 17:38:11
Bunalmis Bey, Vatan size minnettar !
Saygilarimla...
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 08 Ekim 2005, 22:00:50
Hocam teşekkürler, aydınlatıcı oldu bu tür bilgilerin fazlasını isteriz
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 09 Ekim 2005, 12:03:14
Bildigim kadariyla DC motora elektriksel fren yaptirmanin 1 yolu var.
Orasi ok. Bu islem Decay islemleriyle ayni yerde yaptiriliyor. Yani Step motora gerilim-akim mosfetler uzerinden sadece basit bir PATTERN olarak değil her sinyal adimindan sonra ozenli islemlerden gecerek uygulaniyor.
Ne yapiliyor ?

Mixed Decay...
Rezonansi engelleyici fren gibi seyler.

Bu da IMS2000'in blok yapisi.
Goruldugu gibi mosfetlerin suruldugu noktada gorev yapiyor...
(http://img189.imageshack.us/img189/2052/ims4ww.jpg)

Bunun yaninda bu rezonansin surucu tarafindan algilanabilir birsey oldugudur.
Alıntı YapThe MD2S can sense and cancel this resonance to maintain smooth quiet high speed torque when enabled by DIP switch 1.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 09 Ekim 2005, 12:11:41
Kucuk Bir Soru;

Simdi elimdeki motoru biliyorsunuz. Oriental Marka NEMA23, 3.6 Ohm/Faz, 43 mH/Faz lik  5.4 Volt 1.5 Amper.

50 Voltluk beslemeyle 900 tur civarinda bir hizla donuyor ama sadece donuyor tork falan bitmis durumda.
Neden? BEMF den dolayi akim cekemiyor.

Bunalmis hocam bu motoru senin surucuye taksak daha yuksek hizlara cikabilirmiyiz? Yada 900 tur da torku daha da artabilir mi?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 09 Ekim 2005, 12:33:29
FLZ03 ne yapardı sorusuna ancak deney yaparak cevap verebilirim.
Motoru bana göndermen gerekecek.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 09 Ekim 2005, 12:41:11
Step motorun uçlarını boşta bırak ve devir sayısı ayarlanabilir bir motorla step motoru milinden çevir, 900 devirde dönerken motor uçlarında kaç volt oluşuyor onu ölç ve yorumlamaya çalış.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 09 Ekim 2005, 13:05:44
Bunalmis hocam deneyecegim.

Step motorun bi adima verdigi cevap ve iyilestirilmis hali.
(http://img370.imageshack.us/img370/6454/damper7iu.jpg)

Hocam bir adimi attirmak icin 3'e bolmuş adamlar.
Giris, Fren, ileri PALSleri...

DSP hakkaten lazim galiba :)

Bir yerde surucunun Resonans etkisini 50 kHz e kadar kaldirdigini soyluyordu. Belki de bu To ve T1 surelerinin uzunlugu kisitliyordu onu.
Olabilir mi?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 12 Ekim 2005, 14:24:18
Ne oldu deney bitmedi mi daha?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 12 Ekim 2005, 14:35:39
Deneyler Ramazan nedeniyle biraz yavaşladı.
Pzr Ekm 09, 2005 12:05  itibariyle yazmış olduğum mesajın yorumunu bekliyorum.
1 adım için boyle seyler yapılıyor mu?
Bu boyleyse değişik seyler dusunmeye başlayacağım :)
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 12 Ekim 2005, 15:27:19
Sorduğun sorunun cevabını bende merak ediyorum.

(http://img370.imageshack.us/img370/6454/damper7iu.jpg)

Yukarıdaki bilgiyi hangi siteden buldun? Belki orjinal sayfada çok kritik bir ipucu verilmiştir.

Belkide aşağıdaki gibi basit düşünmek gerekiyor.

(http://home.earthlink.net/~doncox/cnc/DriverSCH.jpg)

(http://home.earthlink.net/~doncox/cnc/DriverComplete.jpg)
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 12 Ekim 2005, 21:58:58
@Bunalmis;
Google cok korkunc bir arama motoru. Neden dersen bahsi gecen dokumani bilgisayarimda aramak yerine Google'da aradim ve bana PDF'i direkt olarak buldu.
Arama satirina "The actual response for a given motor is a" yazip arat ve dokumani bul. Gordun mu bak. Bir resimden kaynaga ulasma diye birsey ogrendik !

Bir de sunu sormak isterim. Step motor icin mekaniksel adim cevabini sekildeki gibi inceleyebilecegim bir duzenegi basitce nasil yapabilirim?
Senin boyle bir duzenegin var mi?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 12 Ekim 2005, 23:12:08
Bu arada guzel kaynaklar geciyor ama sadece birkac sayfalik, Bunlardan ornekler...
(http://img411.imageshack.us/img411/1241/untitled18yr.jpg)
Ya da
(http://img411.imageshack.us/img411/6168/untitled24mv.jpg)

Ikiside hatta ucude ayni seyden bahsediyor !
Isin ilginci Patentler soz konusu.

http://freepatentsonline.com/4584495.html (http://freepatentsonline.com/4584495.html)

Bahsi gecen kitaplarin listesi;

Digital Control Engineering  by M Gopal
Stepping Motors: A Guide to Theory and Practice by Paul Acarnely
Industrial Automation: Circuit Design and Components by David W. Pessen

h.h. biri icin e-book bulursaniz paylasiminizi bekleriz. Ben aradim bulamadim.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 13 Ekim 2005, 08:30:18
Alıntı yapılan: "Patent sahiplerinden biri"
DISCLOSURE OF INVENTION
Accordingly, it is an object of the present invention to provide a method of enhancing and improving electronic back phase damping of a stepper motor without having negative effects on any of the other characteristics of the motor, especially the holding torque and the positioning accuracy.

http://www.sdp-si.com/D220/HTML/D220T162.htm
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 13 Ekim 2005, 12:06:47
Alıntı yapılan: "Erol"Bir de sunu sormak isterim. Step motor icin mekaniksel adim cevabini sekildeki gibi inceleyebilecegim bir duzenegi basitce nasil yapabilirim?

Senin boyle bir duzenegin var mi?

Hurdacıda toz toprak içinde duran askeri bir modülde son derece sürtünmesiz ve gürültüsüz pot bulmuştum onu kullanarak yaptığım analog devrem var. Motorun yaklaşık 1 tam turuna kadar olan biten olayları inceleyebiliyorum. Motor potu çeviriyor ve potda pozisyonla orantılı gerilim üretiyor....



Sitemde sözünü ettiğim ve işlemciyi fazlasıyla yoran AδM tekniğimin sonuçları. (soldaki devrede değilken, sağdaki de devrede iken)
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 13 Ekim 2005, 12:32:01
Step motorlardan akan akımlar ihtiyacın üstüne çıktıkça adımların ilerleyişi aşırı ivmeli ve sistemde büyük titreşimler olmakta.

Şöyle düşünün herhangi bir 3 fazlı yada DC vs motor boşta iken küçük bir akım çeker, siz motoru mekanik olarak yükledikçe motor akımını atırır ve yükü çevirmeye devam etmek ister.

Aslında step motorların doğasında da bu özellik var ancak pek çok sürücü bu etkiyi yok ederek motordan sabit genlikte bir akımı mekanik yük olsun olmasın akıtmaya çalışır.

Hatırladığım kadarıyla Nasa'nın uzaya gönderdiği sistemlerde kullanılan bazı step motor sürücüler, motor yüküyle orantılı akımlar akıtıyor.

Aynı etkiye bende deney yaparak şahit oldum. Sargılardan yükü çevirebilecek minimum akımları akıttığımda hiç bir salınım olmamakta. Ancak bu akım çok kritik zira yükteki küçücük değişim ya motoru durduruyor yada salınımlar gözlenebilir hale geliyor. Bu problemi aşmak mümkün tabiki. Ancak posizyonla orantılı geri besleme elemanı gerekiyor ki sistem bir anda pahalılaşıyor.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 14 Ekim 2005, 09:09:09
Bunalmış hocam AδM tekniği ile ne kastediyorsunuz??
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 14 Ekim 2005, 10:01:14
Alıntı yapılan: "Macera"Bunalmış hocam AδM tekniği ile ne kastediyorsunuz??
AδM Bunalmiş hocam tarafından bulunarak, ismi verilmiş yuksek performanslı step motor surme teknigidir.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 14 Ekim 2005, 10:14:17
Alıntı yapılan: "bunalmis"
Sitemde sözünü ettiğim ve işlemciyi fazlasıyla yoran AδM tekniğimin sonuçları. (soldaki devrede değilken, sağdaki de devrede iken)

Şimdi anladığım kadarıyla bu hareketler motor boşta iken olan hareketler.
"Critical damped" gibi bir durumda.

Peki aynı şartlarda motor yüklendiğinde "over damped" durumuna geçilmez mi? Sistemde kaynakları yönlendiren mekanizma (veya AδM)
yüke göre birşeyler yapıyor mu? [Yani dinamik olarak karar veriyor mu?]

Yoksa yanlış mı düşünüyorum?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 14 Ekim 2005, 14:25:49
Electronic damping ile ilgili ayrıntıya sahip değilim. Sadece bir tahminde bulunabiliriz. Sargılara akıtılan akım değerleri geri okunabilir. Bunun sonucunda Supply voltajı, Sinus Genliği  ile oynanabilir. Dökümanı ayrıntılı olarak inceledikten sonra belki bir fikre varabilirim.

Passive Electronic Damping(Current Geri Beslemeli, Aiming) pdf de bazı bilgiler bulunuyor. ilgilenen arkadaşlar inceleyebilir.

http://www.freepatentsonline.com/6040676.pdf
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 15 Ekim 2005, 17:13:21
Alıntı YapYani dinamik olarak karar veriyor mu?

AδM, Adaptive δ  Modification

δ bildigimiz δ
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 15 Ekim 2005, 18:21:45
Alıntı yapılan: "bunalmis"
Alıntı YapYani dinamik olarak karar veriyor mu?

AδM, Adaptive δ  Modification

δ bildigimiz δ

δ bizim "Damping Ratio" dedigimiz sey mi?
[Turkceciler duymasin :) ]
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 15 Ekim 2005, 19:39:27
Aynen dediğin gibi. Nasıl isimlendirme yakışmış mı?

Rezonans deneyi için geliştirdiğim düzenek aşağıda.

(http://www.cncdesigner.com/resimler/rezonans.jpg)

Tahmin edeceğiniz gibi hard disk ünitesinden sökülme voicecoil sensor olarak kullanıldı. Motorun bir tam adımı civarında çok detaylı bilgi veriyor.

Sensorden elde edilen sinyali yorumlamak artık size kalmış.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 16 Ekim 2005, 00:03:26
Isim extra guzel olmuş. Kisaltmasi pek manayi anlatmiyor ama bu "Adaptive δ Modification"  kisminin sonuna bir TM (trade mark) logosu alsan cok kalite olur.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Ersin - 18 Ekim 2005, 09:47:03
Arkadaslar,
burdaki devre ne gibi avantaj ve dezavantaji var .
Bunu universal bir bipolar step surucu olarak kullanabilrmiyiz?

http://www.marelcnc.com/stepl6203.htm
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 18 Ekim 2005, 18:29:54
Alıntı yapılan: "swordman"Arkadaslar,
burdaki devre ne gibi avantaj ve dezavantaji var .
Bunu universal bir bipolar step surucu olarak kullanabilrmiyiz?

http://www.marelcnc.com/stepl6203.htm

Bipolar - chopper mantigi ile yapilmis bir surucu.
Sanirim orjinali Elektor'un bir sayisindaydi.
Bunu yapmistim. Nedense iyi bir sonuc alamadim.
Hatta yedek birkac tane kart bile bastirmistim. Istersen gonderirim
Belki bende problem vardi.

Yapmak istersen LMD18245 li olanlari tavsiye ederim. Performanslari gayet iyi. Zaten MARELCNC de de satiyorlar 90 $'a

Akim-gerilim degerleri uyduktan sonra istedigin motorla (step) kullan.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Ersin - 18 Ekim 2005, 18:41:52
merhaba,
Evet elektorun,sormamin nedeni su, elimde cikma 6 tane L6203 var o acidan.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 18 Ekim 2005, 20:51:56
@Bunalmis,

Simdi bu teknigi sadece tam adim icin mi kullaniyorsun? Yarim ve Mikro adimlar icin gerek kalmadi mi ???
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 18 Ekim 2005, 21:16:12
Motorun aniden hizlanmasi gerekiyorsa  hangi tur adimlama modu kullanilirsa kullanilsin damping gerekiyor.

Tam adimda ilerleme yapilirken, diger adimlara gore tam adim araliginda daha buyuk ivmelenme yapildigi icin rezonansa giris hizli oluyor.

Eger daha dusuk adimlamalarla  yapilirsa torkdaki ripil dustugu icin salinimlarda daha kucuk genlikli oluyor. Ancak rezonans bolgesinden hizlica gecilmez uzun sure motor rezonans frekansinda yakin yada esit pulslarla beslenirse genlikler gittikce artiyor.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 19 Ekim 2005, 12:11:12
Electronic damping ile ilgili teorik olarak bir yöntem çözüm olabilir. Ancak denemeden kesin bir sonuca varmak mümkün değil. Erol arkadaşımızın belirttiği Step-Fren ve İleri pulslerinin 1 adımı atıyor olması insanın aklına şunu getiriyor.  1 Adımı atarken normalde sürücüler kaydıracağı açıyı 180 derecede bir kerede kaydırıyor. Mesela yarım adım atacaksa 180 derece peryot sonunda yarım adım kadar sin - cos fazını kaydırarak motora akımın akmasını sağlıyorlar. ( Bu işlemde 20Khz frekanslı sample yenilemede yeterli olmaya bilir. DAC gerekebilir 50Khz veya üstü). Eğerki 40Khz de sample yenilerseniz 3000d/dk ivarlarında 180 derecede 8 sample filan çıkıyor olacaksınız. Adımı 180 dereceye bölmeniz ve aynı belirttiğin gibi Puls-Fren ve ileri olarak akım değerlerini 180 derece boyunca dinamik olarak oynatmak çöüm olabilir. Bu sistem motora adımı attırırken bir taraftanda çok kısa süreli birfrenleme ile resonans palslerinin oluşmasını engelleyebilir.  Bu yöntem adımın tamamlanması sırasında motara ufak birsürtünme yapacak ve adımlamada oluşacak titreşimleri muhtemelen kaldıracaktır.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: OG - 03 Kasım 2005, 05:12:49
İç piyasada LMD18245 satan birisi varmı?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: semotraki - 12 Kasım 2005, 19:13:16
herkese merhaba.
ben elektronikte çok yeniyim. paralel port üzerinden 4 motoru aynı anda sürecek basit bir sürücüye ihtiyacım var. yapmaya çalıştığım 8linx.com da bulunan köpük kesme makinesi. ne çok hassas ne de çok güçlü bir sürücü ihtiyacım yok. yalnızca 6 voltluk,6 uçlu muhtemelen unipolar olan bir motoru düşük süratte ve düşük torkta sürmek istiyorum. ancak karaköyden 35 milyona aldığım basit bir karttan sonuç alamadım. 4 motoru aynı anda sürecek basit bir devreyi yapmak için 150 ytl istediler. bu konuda bana yardımcı olabilirseniz sevinirim. elektroniği yavaş yavaş öğreniyorum. asıl ilgi alanım model uçaklar. ve kendi sürücümü yapacak seviyeye gelme uzun zaman alır. yardımınızı bekliyorum. saygılar.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 16 Kasım 2005, 19:20:35
@OG

LMD18245T 3A , DMOS Full Bridge Step motor sürücü entegrelerini yaptığım araştırmalar sonucu ülke içinde bulamadım. İthalatçı bazı firmalar bu malzemeyi getirselerde en az 20Adet gibi birçubuğu almak gerekiyor. Son olarak malzemeyi test amaçlı olarak digikey 'den nihayet bugün sipariş verebildim. İnşallah 2-3 gün içinde elimde olacak.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: OG - 16 Kasım 2005, 20:21:01
@mahoaga

Teşekkür ederim, ithalatçılar 1 çubuğa razı iseler yine iyi.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mihri - 29 Kasım 2005, 21:33:47
slm, elimde bipolar 2 phase bi step motor var çalışma mantığını yeni kavradım. proteusta similasyonunu yaptım ama motor yavaş dönüyo gibi görünüyo hızını arttırdığımda bi sağa bi sola dönüyo. pratikte bu motora ne kadar hız yaptırabilirim? sn de en fazla kaç tur dönebilir?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 29 Kasım 2005, 21:54:05
@mihri,
Bu basligin en basindan beri amacladigimiz step motordan yuksek performans almanin ayrintilarini anlayip aciklayabilmek.
Onun icin en bastan yavas yavas anlayarak okumani tavsiye ederim.

1 sn de kac tur attirilabilecegin falan motora ve surucuye bagli.
Ikisi de cok onemli.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mihri - 29 Kasım 2005, 22:13:52
sadece şunu öğrenmek istiyorum 5 veya 10 tur atabilirmi 1 sn de yada daha hızlı :?:
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 29 Kasım 2005, 22:28:25
5 tur/sn  dk da    300 tur/dk  yapar.
www.fromorbit.com daki surucu + elimdeki step motorla bosta 900 tur/dk dondugunu belirtmistim. Daha iyi step motorla daha yuksek hizlar elbette mumkun. Akimin yukselisi ile ilgili bir grafik vermistim. O motor konusunu nispeten acikliyor.

Daha once  yazdiklarimizi yavasca bir okusan, anlayacaksin hepsini. Gereksiz soru da olmayacak...
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 30 Kasım 2005, 11:21:49
Proteusda sistem gerçeğe ne kadar yakın?
Giriş frekansını artırdığımızda motor yeteri kadar akım çekmiyor gibi gözüküyor.
(http://img507.imageshack.us/img507/6137/l6203b3bj.jpg)
Aşağıdaki dosyada frekansı 100hz ayarladığımda sistemde problem başlıyor.100hz = 60 devir/dak eder.
http://rapidshare.de/files/8368378/l6203.DSN.html
Mikrostep ve hızlı sönümleme yapmaktayım.
Mikrostepi kaç devire kadar kullanabiliriz.
Subcircuit içindeki filtre elemanlarıyla oynadığım zaman durum değişiyor.Sense direncinden sonra nasıl bir filtreleme uygılamak gerekir?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 06 Aralık 2005, 09:10:07
Yukardaki sorunun cevabını yaklaşık olarak buldum.
http://www.st.com/stonline/products/literature/an/8700.pdf
Fırçasız DC motorlarda sensörsüz sadece ADC ile geri besleme yapmak mümkün.
Adım motorlarda yine ADC ile tork kontrollü yapabilirmiyiz?
Şöyleki boşta iken düşük genlikte bir akım ile motoru kontrol ederiz.
Tork ihtiyacı artığı takdirde akım genliğini artırırır böylece servo motorlarındaki gibi gücü efektif kullanabiliriz.Torku böyle kontrol edebilirmiyiz.?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 06 Aralık 2005, 10:22:00
Alıntı YapAslında step motorların doğasında da bu özellik var ancak pek çok sürücü bu etkiyi yok ederek motordan sabit genlikte bir akımı mekanik yük olsun olmasın akıtmaya çalışır.

Hatırladığım kadarıyla Nasa'nın uzaya gönderdiği sistemlerde kullanılan bazı step motor sürücüler, motor yüküyle orantılı akımlar akıtıyor.

Bahsettiğin gibi çalışan sürücüler var, ne kadar yük o kadar akım.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 06 Aralık 2005, 11:53:10
Peki belli bir örnek şeması varmı?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: z - 06 Aralık 2005, 12:57:50
Malesef şema zaten yok ve siteyi de hatırlamıyorum.

İnternette gezinirken sürücülerinin Nasa tarafından uzayda kullanıldığıyla övünen (haklı da) bir firmanın sitesinde görmüştüm.

Adamların grafiklerle de anlattıkları, motor mekanik olarak yüklendikçe akımının artmasına izin verildiğiydi.

Normalde step motorun zaten doğasında bu özelik var. Ancak bizler motordan sabit akım akıttığımız için motor dursa da dönsede aynı akımı çekiyor.


Bu özelliğe sahip sürücünün motorun ısınma problemi ve enerji tasarrufu iyileşmesi  haricinde başka işe yarayacağını sanmıyorum.
Başlık: Step motor Resonans önleyici
Gönderen: mahoaga - 09 Aralık 2005, 17:25:47
Kullanma amacınıza bağlı olarak resonans sizin için çözülmesi gereken bir problem olabilirde olmayabilirde. Eğer motoru Cnc, indexer tarzı bir sistemde kullanmayı düşünüyorsanız motordan ihtiyaç duyacağınız hız 750RPM in üzerinde olmayacaktır. Bu hızda bile motoru hareket ettirebilmekte zorlanabilirsiniz. Eğer hızınızı arttırmak istiyorsanız bu tür sistemler için Vidanın adımını yüksek seçersiniz resonans gibi bir şeye boşu boşuna uğraşma gereği duymamış olursunuz. Kısacası cnc yamak istiyorsanız aklınızdan resonans problemini çıkarın. Çünkü öyle bir problem bu sistemler için önemsiz. Ayrıca resonansı önlemek için motora ilave edeceğiniz elektronik sürtünmeler torkun azalmasına da neden olacaktır. Siz bir Laser projektörde ayna ları hareket ettirmeyi düşünüyorsanız o zaman uğraşabilirsiniz. Zamanınızda varsa. Ancak CNC yapmak amacıyla motor sürücü yapacak arkadaşlar kaliteli sürücü yapıcam diye boşu boşuna gereksiz bir uğraşa girmesinler. Bu tür sürücülerede boşun boşuna fazla para vermeniz gereksiz. Bu işi teknik olarak bilen arkadaşlar CNC lerde yüksek hızın hiç bir avantaj sağlayamacağını itiraf edeceklerdir. Hatta düşük hızlarda resonansı önlemeye kalkmak fazlaca bir zarar olacaktır. (Tork düşüşü)
Basit  mantıkla oluşturacağınız bir microstep sürücü Cnc sistemlerinde işinizi tamamiyle çözecektir. CNC sistemlerinde step motor resonans önleyici arabanızın altına ayna koymaktan farklı birşey değil. O ayna orada ne işe yarayacaksa.

Kısacası,resonans motorları yüksek hızda çevirmede kullanılır. Ancak motorlar 750 d/dk dan sonra çok hızlı br şekilde torkta azalma gösterirler. Bu hızlarda alınacak torkla motora bağlı bir çok sürtünme ve kaypıların olduğu bir sistemi hareket ettirebilmek oldukça zor. Kaldıki vida milinin adımını yüksek seçersiniz bu sizin için daha karlı olacaktır. Eğer cnc kullanımı için step motoru kullanmayacaksanız o zaman bu yazdıklarımı dikkate almayın. Mekanizmanız bir aynayı hareket ettiriyorsa veya çok hafif bir sisteme bağlıysa size faydası olabilir. Bazı yerlerde belirtildiği gibi yüksek hızlarda motoru süren sürücüleri almanız size hiç bir fayda sağlamayacağını, aldıktan sonra göreceksiniz Erol arkadaşımızın verdiği linkteki sürücü motorları 900d/dk yakdar çevirebiliyor. Bu hız bile sizin için fazla. Eğer konuyla uğraştıysanız söylediklerime hak vereceksinizdir.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 09 Aralık 2005, 19:02:57
http://picproje.org/upload/files/0512060064.JPG
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 10 Aralık 2005, 09:35:51
Aster hocamın verdiği linkteki resimde triger kayışıyla deviri dolayısıyla hızı düşürüp torku ve pozisyonlama hassasiyetini artırıyor.
Dizayn aşamasında mantık pozisyonlama hassasiyetini sağlıyacak şekilde sistemi kurmaktır.Mesela 0.01 hassas pozisyonlama isterseniz ve diyelimki elinizdeki sürücü motor ikilisi mikrodımlama ile tur başına 2000 adıma müsadde ediyorsa sistem tur başına 2000*0.01 = 20 mm gider.
Azami deviride 500 tur/dakikada tutarsanız buda 10m/dak ilerleme yapar.
Tahminim buda çoğu uygulama içinde yeterlidir. Sistemi devir başına ilerleme için 20 mmye ayarlarsanız elde edeceğiniz kuvvetde azalır.
M*2*pi=p*F olduğunu unutmayalım.Burda M moment , p tur başına ilerleme F de itme kuvvetini temsil etsin.1.6Nm lik örnek motorda çıkan kuvvet 500N ( 52kg ) olacaktır.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 10 Aralık 2005, 11:43:25
Macera Arkadaşmızın belirttiği gibi hız arttıkça tork düşüşü kaçınılmaz.

@Macera
M*2*pi=p*F olarak belirttiğiniz formülde sürtünme kayıpları ihmal ediliyor mu? F=520N olarak bulunan sonuca göre kayıpların olmadığını varsayarsak verilen hız ve step motor  torku ile 50 kiloyu yukarı çekebileceğimiz anlamına mı geliyor?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 10 Aralık 2005, 12:54:30
Burdaki hesap herhangi bir sürtünme olmadığı varsayılarak yapılan hesaptır.
Formül zaten yapılan iş hesabına göre (yani kuvvet çarpı mesafe )çıkmaktadır.Vidalı mil ve lineer kullanımında %90 gibi bir verim elde edilebilir.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 10 Aralık 2005, 13:46:08
Olaya biraz fantazi katsam kızmasınız sanırım  :)

(resimler büyük olduğu için link veriyorum)

http://picproje.org/upload/files/0512060072Y.JPG

biraz daha detay verelim

http://picproje.org/upload/files/0512060074.JPG

birazda motordan aktarma olayına deyinelim  :)

http://picproje.org/upload/files/0512060065.JPG
http://picproje.org/upload/files/0512060069.JPG

bu CNC sistemde motorların step olmadığı belli oluyor herhalde
kayışlar triger değil normal ama esnemeyen türden
havalı fren sistemide koymuş amcam (aklıma eski havalı Apollo magrus otobüsleri geldi)
sistem bir yatak üstünde ama motorlar resimde de belirttiğim gibi bir çelik şerite asılarak ilerliyor çelik şerit sabit
evet şimdi sıra değerli görüşlerinizde  ;)
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 10 Aralık 2005, 23:34:27
Pozisyonun bir şekilde geri dönüşü gerekmekte yoksa pozisyon kontrolünden bahsedemeyiz.Yani bir yerde lineer okuyucu gerekmekte.
Resimlerden gördüğüm kadar bir tahmin yapmaktayım.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 13 Aralık 2005, 12:23:26
okuyucu, sarı çubuk ve üstünde gezinen renishaw manyetik, cetvel her pals 0.5 um
http://picproje.com/upload/files/IMG_0007_2.JPG
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 24 Aralık 2005, 19:49:14
Bipolar adım sürücülerinde aşırı akıma yada kısa devreye karşı nasıl bir önlem alabiliriz?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: mahoaga - 21 Ocak 2006, 19:30:59
Bipolar 1/256 microstep sürücü (3 adet) indexer uğraşı sonunda sonuçlandı sayılır.( İvmelenme,Lineer interpolasyon/akım kesmeler/32 bitlik pozisyonlama .....). PC de yaptığım programla G40,G41,G42,G01,G02,G03,G17,G18.... gibi önemli tüm kodları açabiliyorum ve ekranda 3D önizleme verebilyorum. Ayrıca parça pozisyonundan referanslara kadar herşeyi görsel olarak ayarlamayıda sağladım. Buna ek olarak çok basit kullanılabilir, profilli yüzeyleride oluşturabilen ve direk makineye gönderebilen bir adet 3D tasarım programınıda tamamladım. Programlar oldukça uzun olduğu ve hızlı yazıldığı için fazlaca bug içeriyorlar. Uğraşın mekanik kısımlarıyla çalıştığım için onlara pek zamanım yok ama en kısa zamanda onlarıda temizleyecem sanırım. Bu bölümde step sürücüleri tartışıp fikir veren tüm arkadaşlara teşekkür ediyorum. Mekanik kısmı sonlandırınca daha ayrıntılı fotoları belki gönderebilirim sanırım.
Başlık: Step Motor Resonansı
Gönderen: mahoaga - 19 Şubat 2006, 14:13:57
Bu konuda elle tutulur bir deney henüz yapmadım ancak fikir bazında bazı noktalara ulaştığımı söyleyebilirim. Motor sargıları chopper tekniğinde sabit akımla yükleniyor ve bu sabit akım belirli bir süre sonra motorda osilasyono neden oluyor. Çünkü motora verilen sabit akım hız arttıkça motorda daha titrek hareketlere neden oluyor buda belirli bir devirde motorun resonansa gelmesiyle sonuçlanarak durmasına neden oluyor. Peki ne yapmalıyız ki resonansı engelleyebilelim.

Motora öyle bir değerde akım vereceğiz ki motor ne duracak nede osilasyona gelecek bu denge gerçektende çok hassas diyebilirim. Bunu ayarlamak için elbetteki bir yerlerden geri besleme almamız şart. Buda akımdan tabiki. motoru sürmediğimiz zamanlarda akımda oluşan voltajı okumamız gerekiyor. Sorunda sanırım burda çok karışık bir filtreleme gerektiği kanaatindeyim. Burada işimize yarayacak ve yaramaycak bir grup sinyal var. İçinden işimize yarayacak olanı nasıl ayıklayacağız. Fourier serileri kullanarak FFT analizörlerle bizim için gerekli beyaz gürültüyü alabilmemiz gerekli. Zira aldığımız değerler doğru olmalıki aksi halde sistem osilasyona gelecektir(yada durabilir). Eğer motorun arkasında yüksek hassasiyetli bir encoder olsaydı bir adıma gelen tepkiyi okuyabilirdik. Ama bu maliyetli olurdu. Bu salınım tabiki akım geri beslemesindeki sinyalde mevcut. Çünkü motorun pozisyonundaki bu değişim motor sargılarına da yansımakta. Özel filtreler kullanarak alacağımız geri besleme değerini PID ile işleme sokarak akıma bir ayar çekmemiz gerekiyor. Motor ne duracak nede osilasyona gelecek. Electronic damping dedileri de bu olsa gerek.

Bunlar benim tahminlerim. Bu konuda biraz daha araştırma yaparsam sonuca ulaşabilirim diye zannediyorum.

Şunu net olarak söyleyeblirimki ben anti resonans sağlayan bir sürücüyü CNC de asla kullanmam. Çünkü bu sistem motorda hataya neden olabilir. Sürücünün bir kaç motorda doğru sonuç vermesi tüm motorlarda ve ataletlerde doğru sonuç verebileceğini göstermez. Motorun bu tür sistemlerde hata yapabilmesi mümkündür. Zaten CNC ler için hızlı step motorlar ihtiyaç yok. Hatve arttırımı size ihtiyacınız olan hızı sağlayacaktır.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Erol YILMAZ - 22 Şubat 2006, 02:01:31
Alıntı yapılan: "Macera"Bipolar adım sürücülerinde aşırı akıma yada kısa devreye karşı nasıl bir önlem alabiliriz?

Akim sinirlama var zaten biraz iyi suruculerde ?  yok mu ?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 22 Şubat 2006, 08:54:53
Alıntı yapılan: "Erol"
Alıntı yapılan: "Macera"Bipolar adım sürücülerinde aşırı akıma yada kısa devreye karşı nasıl bir önlem alabiliriz?

Akim sinirlama var zaten biraz iyi suruculerde ?  yok mu ?

İdeal bağlantılarda motordan gelen  akım ölçülür
Motora giden bağlantıların kısa devre ve veya toprağa doğru iletimde olduğunu farzedelim. Bu durumda üst H köprüsünden yüksek amper geçecek vede köprünün üst transistörleri yanacaktır.
Bu kısa devreyi zamanında sezinleyebilecek devreyi nasıl yapabiliriz?
Başlık: Resonance
Gönderen: mahoaga - 08 Mart 2006, 21:38:43
Pozisyonda oluşan hatayı anlamak için akım bilgisini opamptan geçirip filtreledikten sonra, motorlara verilen akımda/palslerde oynama yaparak orta bölge resonansının alındığı bir uygulama.

Linkte daha net olarak bilgi verilmiş. Motorları yüksek hızda çevirmek isteyen arkadaşlar inceleyebilir.

http://www.freepatentsonline.com/4540928.pdf

http://www.compumotor.com/whitepages/ServoFundamentals.pdf

http://www.freshpatents.com/Method-to-reduce-midrange-resonance-during-operation-of-a-multi-phase-step-motor-dt20050428ptan20050088134.php?type=description
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Macera - 08 Mart 2006, 21:53:00
SLA7062M tanımlı entegre ile adım motor çalıştıran varmı?
Bu entegreyi stokta bulabileceğim bildiğiniz yer varmıdır?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: tayyar - 11 Mayıs 2007, 14:28:52
Bizde bütcemiz çok kısıtlı olduğu için L297-L298 sürücülerini yaptık.
ancak problemimiz L297 yi picten 5 milisaniye aralıklarla tetiklediğimizde motor max30devir/dakika hızına çıkıyor 555 ile tetiklediğimizde ise 150/180devir/dakika hızlara çıkıyor pic yardımıyla hiçbir şekilde daha yüksek hızlara çıkamadık.
motorumuz 1A ve 3.5 voltluk bir motor L298e her şekilde motor için 12V uyguluyorum pice ytazdıgım program ise;


void main()
{
 TRISB=0;
 PORTB=0;
       do
         {
         PORTB.F1=1;
         delay_ms(5);
         PORTB.F1=0;
         delay_ms(5);
         }while(1);
}



kodlar microC de yazıldı
Sizce Problem nerde olabilir?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: erkan614 - 27 Mayıs 2007, 00:07:34
arkadaşlar pic stepi yaptım ama ısınma sorunu var  ayrıca motor tıss'lıo gerçi lmdler için soğutucu kullanmadım.
ayrıca ben bu pic stepi f84 le yapmak itedim ama çalışmak yerine vızıldayıp durdu sonra Alanın yaptıgına göre yaptık 5 dk önce bitirdim ve dediim gibi lmdler ısınıo yanmasından korktuum için (malum pahallılar) tam bi denemede yapamiom
soğutucu kullanmadan çalıştırmak sakıncalımı akım ayarlama drenci 6.8 ile 56.8k arasında değişio yani 3A fazla cekmiom
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: OG - 31 Mayıs 2007, 14:39:12
Alıntı yapılan: "Erol"

www.Fromorbit.com  taki V4 surucuyu yaptim. LMD18245 onceden almistim.
Su ana kadar yaptiklarimin icinde en iyisi diyebilirim...
4 Mhz ve Standart Tork icin olan programi kullandim. Digerlerini calistiramadim.
Erol bu dosya hangisidir, ben mi bulamıyorum? Bunu yapmayı düşünüyorum.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Fixxer - 31 Mayıs 2007, 16:01:32
Slm hocam işte burada http://www.fromorbit.com/projects/picstep/

ilk bölümde  ;)
Version 4 with PMinMO.com compatible interface (No ICSP) :-
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: OG - 31 Mayıs 2007, 21:44:50
Tamamdır ozaman, standart tork gibi bir açıklama görememiştim.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Analyzer - 01 Haziran 2007, 08:54:14
Selam,

LMD18245T gerçekten pahalı bir entegre ($17) ve hata affetmiyor. IMT901 leri de deneyebilirsiniz.

Analyzer
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Fixxer - 01 Haziran 2007, 09:40:38
Hocam ben kartıda hazırlamıştım :lol:  hakketten bu 17 dolar işi kastı biraz kafadan 3 eksene 100 dolar gidio.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: KAZIMUGUR - 01 Haziran 2007, 10:01:14
Ah @Aster hocam ah.
Daha kimlerin kanına gireceksin bakalım. :D

Kim bilir ne keyifle izliyorsun.Eh hakkındır teşekkür ederiz TR forumlarda böylesi yok.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Fixxer - 01 Haziran 2007, 11:12:19
Alıntı yapılan: "KAZIMUGUR"Ah @Aster hocam ah.
Daha kimlerin kanına gireceksin bakalım. :D

Kim bilir ne keyifle izliyorsun.Eh hakkındır teşekkür ederiz TR forumlarda böylesi yok.

Kardeşim motor sürücüleri ile ilgili önerin varmı ?
sende keyifle izliyor gibisin  :lol:  :lol:
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 01 Haziran 2007, 11:13:22
Millet öğrensin hocam, öğrenmeden olmuyor bu meret

Fixxer onca yazıldı çizildi bu soru biraz abes kaçıyor.

IMT901'i ilk defa deniz içinde manyetik taşıyıcılı kesim cihazında görmüştüm, ne diyim yengeç yanında halt etmişti.  ;)
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: KAZIMUGUR - 01 Haziran 2007, 11:43:08
Aman hocam beni bu güzel havalar mahvediyor zaten birde yengeçleri karıştırma.

Geçen bende gördüm çizim masası büyüklüğünde bir tabla , tamamı lineer stepeer üstünde yataksız (sanırım sadece magnet) sport.Tıpkı nesrin topkapı.
----

Bu tip kontroller artık her yerde.Gençlerin kesinlikle hakim olması gereken bir konu.Stepler en ucuzu.El altında bir tane olursa bu arada çizim programları-kodlar-sürücüler üzerinde deney sahibi olmak kolay olur yoksa karşılarına çıkabileceklerin hepside çokkilodolarlı fiattalar.
---

@fixxer , Bu başlığın başlangıcı diğer başlıkta.@Erol hocam orada yapmaya başladı burada devam etti.
Hem orada hem burada yapılabilecek testleri gereken tüm donanımlara sahip olarak yaptı.İşin ustalarıda yorumlarını ekledi.Bunun ötesinde bana söz düşmezki bir şeyler diyeyim.

Diğer başlığın ilk sayfalarında bir yerlerde zorlanan bir arkadaşa @bunalmis in bir önerisi vardı.Mikro step falan iyide belkide daha basit şeylerde istenileni gerçekleştirebilir diyerek sadece 3-5 kapı ile bir sürücü devresi vermişti.Ayrıca eagleden cnc ye çok kıymetli ip uçları ve tecrübeler aktarmıştı (bu başka bir başlıkta idi sanki)...

Bir sözde benden.içinizde 100 doların altında bir cihazla binde bir farkı ölçebileniniz varmı (işleyen değil sadece ölçebilen).
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Fixxer - 01 Haziran 2007, 12:15:01
Alıntı yapılan: "aster"Millet öğrensin hocam, öğrenmeden olmuyor bu meret

Fixxer onca yazıldı çizildi bu soru biraz abes kaçıyor.

IMT901'i ilk defa deniz içinde manyetik taşıyıcılı kesim cihazında görmüştüm, ne diyim yengeç yanında halt etmişti.  ;)

Haklısınız hocam yazıldı çizildi neden abest kaçsın ki hani 100 dolardan aşşağı ii bir sürücü önerileri olabilir belki arkadaşların ben daha çok amatörüm. ama bizde bu forumda büyüdük hocam(çocukluğumuz burda geçti) :lol: :lol:
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: KAZIMUGUR - 01 Haziran 2007, 13:13:20
BATAN GEMİDEN İŞPORTA (http://www.4shared.com/file/17050461/b6430cd9/ucuz.html) <<<
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: erkan614 - 01 Haziran 2007, 14:25:02
ellerinize sağlık
4081'den soraki 100R'den sonraki 10k dirençler ne görevi yapıyor?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: KAZIMUGUR - 01 Haziran 2007, 14:59:45
@aster hocamı keyfinden ediyor. :) gerçi gerilim düşük olabilir ama.

İsisde bulduğum mos o.Şimdilerde xxNxx serileri bol ve ucuz.
Adı ne olursa olsun "o" tip transistörlerin gate i asla topraktan ayrılmamalı.Benzeri yazıları izlediğini sanıyorum.4,7k-10k arası...

Devre gerçek hayat da and ler olmadan da çalışıyor.Burada hem tampon hemde enable için varlar.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: OG - 01 Haziran 2007, 15:19:09
Alıntı yapılan: "Analyzer"
LMD18245T gerçekten pahalı bir entegre ($17) ve hata affetmiyor. IMT901 leri de deneyebilirsiniz.
Analyzer
Nereden alabiliriz?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Analyzer - 01 Haziran 2007, 15:39:31
Alıntı yapılan: "OG"Nereden alabiliriz?
Selam,

Karaköy esnafı adetli olunca getiriyor. Galata elektronikten Serdar bey var, sipariş yazdırırsanız getirir.

Analyzer
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: erkan614 - 01 Haziran 2007, 17:42:12
Alıntı yapılan: "KAZIMUGUR"Adı ne olursa olsun "o" tip transistörlerin gate i asla topraktan ayrılmamalı.Benzeri yazıları izlediğini sanıyorum.4,7k-10k arası...

ink! gözümden kaçmış olabilirler, hangi yazılar? yada size zahmet olmazsa bunların gateleri topraktan ayırmamamızın sebebini söyleyebilirmisiniz?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: aster - 01 Haziran 2007, 21:06:25
Bunu öğrenmenin 2 yolu var
1. 10k yı takmadan gerçek olarak devreyi kur dene (mis mis)
2. forumda niye takılması gerektiğin defalarca yazdık onları ara bul
3. bence 2 cisini boş ver senin de birkaç leşin olsun, tecrübenin zararı olmaz

Aşagıdaki resimde herşey açık gözüküyor, smd malzemenin %40 direnç %40 zener-diyot %20 si transistör den oluşuyor, bil bakalım kaç malzeme G ye bağlı ?  :)
sırtı dönük küsmüş gibi duranların ne olduğunu söylemeye gerek yok sanırım, onların G sini soruyorum

(http://img392.imageshack.us/img392/931/0705300006bx9.th.jpg) (http://img392.imageshack.us/my.php?image=0705300006bx9.jpg)
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: OG - 04 Haziran 2007, 02:21:06
Arkadaşlar asm den anlamayan biri olarak http://www.fromorbit.com/projects/picstep/ buradaki asm dosyalarını derleyemedim, hata alıyorum. Orada hex dosyaları mevcut ancak asm dosyalarını derleyerek doğrulamak istedim. Derlemede yardımcı olabilecek arkadaş varmı?

1. asm

; PICStep v2.0 Firmware - PIC based microstepping motor controller
; Copyright (C) 2004 Alan Garfield <alan@fromorbit.com>

; This program is free software; you can redistribute it and/or
; modify it under the terms of the GNU General Public License
; as published by the Free Software Foundation; either version 2
; of the License, or (at your option) any later version.

; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

title "PICStep V2.0"

 LIST R=DEC
 #INCLUDE P16F628A.INC
 
 #define TIMEOUT_ENABLED

; Registers
 UDATA 0x020
step RES 1
portA_shadow RES 1
mode RES 1
lookup RES 1
temp RES 1
timeout_reg RES 1
timeout RES 2

_w RES 1
_status RES 1
_fsr RES 1
_pclath RES 1

__CONFIG _CP_OFF & _WDT_ON & _HS_OSC & _PWRTE_ON & _LVP_OFF & _BOREN_ON & _MCLRE_OFF

 org 0
 goto Mainline ; Main line vector

 org 4
 goto Interupt ; Interupt vector
 
CODE
Interupt

; Save Current Context
movwf _w
movf STATUS, w
bcf STATUS, RP1
bcf STATUS, RP0
movwf _status
movf FSR, w
movwf _fsr
movf PCLATH, w
movwf _pclath
clrf PCLATH

; Interrupt service routine
btfsc INTCON, INTF
 call INTB0 ; Call INTBO interrupt handler
 
#ifdef TIMEOUT_ENABLED
btfsc PIR1, TMR2IF
 call TIMEOUT ; Call TIMEOUT interrupt handler
#endif

; Reset Current Context
movf _pclath, w
movwf PCLATH
movf _fsr, w
movwf FSR
movf _status, w
movwf STATUS
swapf _w, f
swapf _w, w
retfie

INTB0
; Handle interupt on RB0

#ifdef TIMEOUT_ENABLED
clrf timeout   ; Reset timeout timer and register
clrf timeout + 1
clrf timeout_reg
#endif

; Advance the index position
movlw HIGH MODE_TABLE
movwf PCLATH
movf mode, w ; Load the current mode
call MODE_TABLE ; Get the advance value for this mode
movwf lookup ; Store it for later

btfss PORTB, 1 ; Check on the direction pin (RB1)
 goto $ + 4 ; Jump over step addition

addwf step, w ; Add the current mode to the current position value
movwf step ; Update step
goto $ + 3 ; Jump over step subtraction

subwf step, w ; Subtract the current mode from the current position value
movwf step ; Update step

; Bounds check the table
movlw 0x040 ; Check if step has overflowed the edge of the table
subwf step, w
btfsc STATUS, Z
 clrf step

movf lookup, w ; Check if step has underflowed the edge of the table
sublw 0x040
subwf step, w
btfsc STATUS, C
 subwf step, f

; Process DAC A
movlw HIGH STEP_TABLE_A
movwf PCLATH
movf step, w ; Reload step into w
call STEP_TABLE_A ; Get the result from the table
movwf lookup ; Store the fetched results for later

btfss PORTB, 1 ; Check on the direction pin (RB1)
 rlf lookup, w ; Rotate to the alternate direction bit to fix a bug in LMD

xorwf PORTB, w ; Prepare the direction bit for DAC A
andlw B'10000000' ; Mask out the direction bit
xorwf PORTB, f ; Output the direction bit

movf lookup, w ; Reload the fetched table results

andlw B'00001111' ; Mask out the upper nibble
movwf PORTA ; Output the DAC results for A

; Process DAC B
movlw HIGH STEP_TABLE_B
movwf PCLATH
movf step, w ; Reload step into w
call STEP_TABLE_B ; Get the result from the table
movwf lookup ; Store the fetched results for later

btfss PORTB, 1 ; Check on the direction pin (RB1)
 rlf lookup, w ; Rotate to the alternate direction bit to fix a bug in LMD
 
xorwf PORTB, w ; Prepare the direction bit for DAC B
andlw B'01000000' ; Mask out the direction bit
xorwf PORTB, f ; Output the direction bit

rlf lookup, f ; Rotate lookup left in place
rlf lookup, w ; Rotate again but into WREG

xorwf PORTB, w
andlw B'00111100' ; Mask out the not needed bits
xorwf PORTB, f ; Output the DAC results for B  
 
bcf INTCON, INTF ; Clear RB0 Interrupt flag
return

#ifdef TIMEOUT_ENABLED

TIMEOUT
; Handle motor timeout TMR2 interrupt and return ASAP

bsf timeout_reg, 7 ; Set the timeout bit so the count can increment
bcf PIR1, TMR2IF ; Clear TMR2 Interrupt flag
return

#endif

Mainline

; Initialize Variables

clrf step
clrf mode
clrf lookup

#ifdef TIMEOUT_ENABLED
clrf timeout  
clrf timeout + 1
clrf timeout_reg
#endif

; Setup I/O ports / Timers
 
clrf PORTA ;Initialize PORTA
clrf PORTB ;Initialize PORTB

movlw (1 << CM0) | (1 << CM1) | (1 << CM2) ;Turn comparators off and
movwf CMCON ;enable pins for I/O

bcf STATUS, RP1
bsf STATUS, RP0 ;Select Bank1

movlw B'11110000' ;Set RA<0:3> as outputs
movwf TRISA ^ 0x080

movlw B'00000011' ;Set RB<2:7> as outputs
movwf TRISB ^ 0x080

movlw (1 << INTEDG) ;Setup Interupt Edge
movwf OPTION_REG ^ 0x080

#ifdef TIMEOUT_ENABLED
movlw (1 << TMR2IE) ; Enable TMR2 Interupt
movwf     PIE1 ^ 0x080

bcf STATUS, RP0 ;Select Bank0

movlw B'01111111' ; Turn on TMR2 with 1/16 pre and post scaler
movwf T2CON ^ 0x080
#endif

movlw (1 << GIE) | (1 << INTE) | (1 << PEIE) ; Enable global interupts, perph and RB0 Interupts
movwf INTCON ^ 0x080

Loop

; Clear the watchdog timer (maximum loop for entire code is ~0.18ms watchdog is 18ms plenty of time!)
clrwdt

; Monitor the mode switches
movf PORTA, w
movwf temp

rrf temp, f
rrf temp, f
rrf temp, f
rrf temp, w
andlw B'00000011'
movwf mode

#ifdef TIMEOUT_ENABLED

; Motor timeout counter

btfss timeout_reg, 7 ; Check to see if a timeout interrupt has occured
 goto Loop

; Timeout interrupt occured updated counter
bcf timeout_reg, 7 ; Reset the Interrupt flag

incfsz timeout, w ; Increment the 16 bit timeout value
decf timeout + 1, f
incf timeout + 1, f
movwf timeout
iorwf timeout + 1, w

movwf timeout ; Test if the timeout value has overflowed
btfss STATUS, Z
 goto Loop
movwf timeout + 1
btfss STATUS, Z
 goto Loop
 
incf timeout_reg, f ; Increase the timeout reg value

btfss timeout_reg, 2   ; Check we've been around the 4 times of the 16 bit counter (~5 minutes 45 seconds @ 20MHz)
 goto Loop

; Timeout!
clrf PORTA ; Reset PORTA and PORTB to turn off the motors
clrf PORTB ; The next INTB0 will awaken them again

#endif
goto Loop

org 0x100

; 1/16 Step DAC A Table
STEP_TABLE_A
 addwf PCL, 1 ;Deg DAC A
 retlw B'01000000' ;0        0.00    0 ---
 retlw B'00000001' ;5        0.10    1
 retlw B'00000010' ;11       0.20    2
 retlw B'00000100' ;16       0.29    4
 retlw B'00000101' ;22       0.38    5
 retlw B'00000111' ;28       0.47    7
 retlw B'00001000' ;33       0.56    8
 retlw B'00001001' ;39       0.63    9
 retlw B'00001010' ;45       0.71    10
 retlw B'00001011' ;50       0.77    11
 retlw B'00001100' ;56       0.83    12
 retlw B'00001101' ;61       0.88    13
 retlw B'00001101' ;67       0.92    13
 retlw B'00001110' ;73       0.96    14
 retlw B'00001110' ;78       0.98    14
 retlw B'00001110' ;84       1.00    14
 retlw B'00001111' ;90       1.00    15 ---
 retlw B'00001110' ;95       1.00    14
 retlw B'00001110' ;101      0.98    14
 retlw B'00001110' ;106      0.96    14
 retlw B'00001101' ;112      0.92    13
 retlw B'00001101' ;118      0.88    13
 retlw B'00001100' ;123      0.83    12
 retlw B'00001011' ;129      0.77    11
 retlw B'00001010' ;135      0.71    10
 retlw B'00001001' ;140      0.63    9
 retlw B'00001000' ;146      0.56    8
 retlw B'00000111' ;151      0.47    7
 retlw B'00000101' ;157      0.38    5
 retlw B'00000100' ;163      0.29    4
 retlw B'00000010' ;168      0.20    2
 retlw B'00000001' ;174      0.10    1
 retlw B'10000000' ;180      0.00    0 ---
 retlw B'11000001' ;185     -0.10   -1
 retlw B'11000010' ;191     -0.20   -2
 retlw B'11000100' ;196     -0.29   -4
 retlw B'11000101' ;202     -0.38   -5
 retlw B'11000111' ;208     -0.47   -7
 retlw B'11001000' ;213     -0.56   -8
 retlw B'11001001' ;219     -0.63   -9
 retlw B'11001010' ;225     -0.71   -10
 retlw B'11001011' ;230     -0.77   -11
 retlw B'11001100' ;236     -0.83   -12
 retlw B'11001101' ;241     -0.88   -13
 retlw B'11001101' ;247     -0.92   -13
 retlw B'11001110' ;253     -0.96   -14
 retlw B'11001110' ;258     -0.98   -14
 retlw B'11001110' ;264     -1.00   -14
 retlw B'11001111' ;270     -1.00   -15
 retlw B'11001110' ;275     -1.00   -14 ---
 retlw B'11001110' ;281     -0.98   -14
 retlw B'11001110' ;286     -0.96   -14
 retlw B'11001101' ;292     -0.92   -13
 retlw B'11001101' ;298     -0.88   -13
 retlw B'11001100' ;303     -0.83   -12
 retlw B'11001011' ;309     -0.77   -11
 retlw B'11001010' ;315     -0.71   -10
 retlw B'11001001' ;320     -0.63   -9
 retlw B'11001000' ;326     -0.56   -8
 retlw B'11000111' ;331     -0.47   -7
 retlw B'11000101' ;337     -0.38   -5
 retlw B'11000100' ;343     -0.29   -4
 retlw B'11000010' ;348     -0.20   -2
 retlw B'11000001' ;354     -0.10   -1

; 1/16 Step DAC B Table
STEP_TABLE_B
 addwf PCL, 1 ;Deg DAC B
 retlw B'01101111' ;0      -1.00 -15 ---
 retlw B'01101110' ;5      -1.00 -14
 retlw B'01101110' ;11     -0.98 -14
 retlw B'01101110' ;16     -0.96 -14
 retlw B'01101101' ;22     -0.92 -13
 retlw B'01101101' ;28     -0.88 -13
 retlw B'01101100' ;33     -0.83 -12
 retlw B'01101011' ;39     -0.77 -11
 retlw B'01101010' ;45     -0.71 -10
 retlw B'01101001' ;50     -0.63 -9
 retlw B'01101000' ;56     -0.56 -8
 retlw B'01100111' ;61     -0.47 -7
 retlw B'01100101' ;67     -0.38 -5
 retlw B'01100100' ;73     -0.29 -4
 retlw B'01100010' ;78     -0.20 -2
 retlw B'01100001' ;84     -0.10 -1
 retlw B'00100000' ;90      0.00 0 ---
 retlw B'00000001' ;95      0.10 1
 retlw B'00000010' ;101     0.20 2
 retlw B'00000100' ;106     0.29 4
 retlw B'00000101' ;112     0.38 5
 retlw B'00000111' ;118     0.47 7
 retlw B'00001000' ;123     0.56 8
 retlw B'00001001' ;129     0.63 9
 retlw B'00001010' ;135     0.71 10
 retlw B'00001011' ;140     0.77 11
 retlw B'00001100' ;146     0.83 12
 retlw B'00001101' ;151     0.88 13
 retlw B'00001101' ;157     0.92 13
 retlw B'00001110' ;163     0.96 14
 retlw B'00001110' ;168     0.98 14
 retlw B'00001110' ;174     1.00 14
 retlw B'00001111' ;180     1.00 15 ---
 retlw B'00001110' ;185     1.00 14
 retlw B'00001110' ;191     0.98 14
 retlw B'00001110' ;196     0.96 14
 retlw B'00001101' ;202     0.92 13
 retlw B'00001101' ;208     0.88 13
 retlw B'00001100' ;213     0.83 12
 retlw B'00001011' ;219     0.77 11
 retlw B'00001010' ;225     0.71 10
 retlw B'00001001' ;230     0.63 9
 retlw B'00001000' ;236     0.56 8
 retlw B'00000111' ;241     0.47 7
 retlw B'00000101' ;247     0.38 5
 retlw B'00000100' ;253     0.29 4
 retlw B'00000010' ;258     0.20 2
 retlw B'00000001' ;264     0.10 1
 retlw B'01000000' ;270     0.00 0 ---
 retlw B'01100001' ;275    -0.10 -1
 retlw B'01100010' ;281    -0.20 -2
 retlw B'01100100' ;286    -0.29 -4
 retlw B'01100101' ;292    -0.38 -5
 retlw B'01100111' ;298    -0.47 -7
 retlw B'01101000' ;303    -0.56 -8
 retlw B'01101001' ;309    -0.63 -9
 retlw B'01101010' ;315    -0.71 -10
 retlw B'01101011' ;320    -0.77 -11
 retlw B'01101100' ;326    -0.83 -12
 retlw B'01101101' ;331    -0.88 -13
 retlw B'01101101' ;337    -0.92 -13
 retlw B'01101110' ;343    -0.96 -14
 retlw B'01101110' ;348    -0.98 -14
 retlw B'01101110' ;354    -1.00 -14
 
MODE_TABLE
 addwf PCL, 1
 retlw 0x001 ; 1/16
 retlw 0x002 ; 1/8
 retlw 0x004 ; 1/4
 retlw 0x008 ; 1/2

end


ve diğerri

; PICStep v2.0 Firmware - PIC based microstepping motor controller
; Copyright (C) 2004 Alan Garfield <alan@fromorbit.com>

; This program is free software; you can redistribute it and/or
; modify it under the terms of the GNU General Public License
; as published by the Free Software Foundation; either version 2
; of the License, or (at your option) any later version.

; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.

; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

title "PICStep V2.0"

 LIST R=DEC
 #INCLUDE P16F628A.INC
 
;  #define TIMEOUT_ENABLED

; Registers
 UDATA 0x020
step RES 1
portA_shadow RES 1
mode RES 1
lookup RES 1
temp RES 1
timeout_reg RES 1
timeout RES 2

_w RES 1
_status RES 1
_fsr RES 1
_pclath RES 1

__CONFIG _CP_OFF & _WDT_ON & _HS_OSC & _PWRTE_ON & _LVP_OFF & _BOREN_ON & _MCLRE_OFF

 org 0
 goto Mainline ; Main line vector

 org 4
 goto Interupt ; Interupt vector
 
CODE
Interupt

; Save Current Context
movwf _w
movf STATUS, w
bcf STATUS, RP1
bcf STATUS, RP0
movwf _status
movf FSR, w
movwf _fsr
movf PCLATH, w
movwf _pclath
clrf PCLATH

; Interrupt service routine
btfsc INTCON, INTF
 call INTB0 ; Call INTBO interrupt handler
 
#ifdef TIMEOUT_ENABLED
btfsc PIR1, TMR2IF
 call TIMEOUT ; Call TIMEOUT interrupt handler
#endif

; Reset Current Context
movf _pclath, w
movwf PCLATH
movf _fsr, w
movwf FSR
movf _status, w
movwf STATUS
swapf _w, f
swapf _w, w
retfie

INTB0
; Handle interupt on RB0

#ifdef TIMEOUT_ENABLED
clrf timeout   ; Reset timeout timer and register
clrf timeout + 1
clrf timeout_reg
#endif

; Advance the index position
movlw HIGH MODE_TABLE
movwf PCLATH
movf mode, w ; Load the current mode
call MODE_TABLE ; Get the advance value for this mode
movwf lookup ; Store it for later

btfss PORTB, 1 ; Check on the direction pin (RB1)
 goto $ + 4 ; Jump over step addition

addwf step, w ; Add the current mode to the current position value
movwf step ; Update step
goto $ + 3 ; Jump over step subtraction

subwf step, w ; Subtract the current mode from the current position value
movwf step ; Update step

; Bounds check the table
movlw 0x040 ; Check if step has overflowed the edge of the table
subwf step, w
btfsc STATUS, Z
 clrf step

movf lookup, w ; Check if step has underflowed the edge of the table
sublw 0x040
subwf step, w
btfsc STATUS, C
 subwf step, f

; Process DAC A
movlw HIGH STEP_TABLE_A
movwf PCLATH
movf step, w ; Reload step into w
call STEP_TABLE_A ; Get the result from the table
movwf lookup ; Store the fetched results for later

btfss PORTB, 1 ; Check on the direction pin (RB1)
 rlf lookup, w ; Rotate to the alternate direction bit to fix a bug in LMD

xorwf PORTB, w ; Prepare the direction bit for DAC A
andlw B'10000000' ; Mask out the direction bit
xorwf PORTB, f ; Output the direction bit

movf lookup, w ; Reload the fetched table results

andlw B'00001111' ; Mask out the upper nibble
movwf PORTA ; Output the DAC results for A

; Process DAC B
movlw HIGH STEP_TABLE_B
movwf PCLATH
movf step, w ; Reload step into w
call STEP_TABLE_B ; Get the result from the table
movwf lookup ; Store the fetched results for later

btfss PORTB, 1 ; Check on the direction pin (RB1)
 rlf lookup, w ; Rotate to the alternate direction bit to fix a bug in LMD
 
xorwf PORTB, w ; Prepare the direction bit for DAC B
andlw B'01000000' ; Mask out the direction bit
xorwf PORTB, f ; Output the direction bit

rlf lookup, f ; Rotate lookup left in place
rlf lookup, w ; Rotate again but into WREG

xorwf PORTB, w
andlw B'00111100' ; Mask out the not needed bits
xorwf PORTB, f ; Output the DAC results for B  
 
bcf INTCON, INTF ; Clear RB0 Interrupt flag
return

#ifdef TIMEOUT_ENABLED

TIMEOUT
; Handle motor timeout TMR2 interrupt and return ASAP

bsf timeout_reg, 7 ; Set the timeout bit so the count can increment
bcf PIR1, TMR2IF ; Clear TMR2 Interrupt flag
return

#endif

Mainline

; Initialize Variables

clrf step
clrf mode
clrf lookup

#ifdef TIMEOUT_ENABLED
clrf timeout  
clrf timeout + 1
clrf timeout_reg
#endif

; Setup I/O ports / Timers
 
clrf PORTA ;Initialize PORTA
clrf PORTB ;Initialize PORTB

movlw (1 << CM0) | (1 << CM1) | (1 << CM2) ;Turn comparators off and
movwf CMCON ;enable pins for I/O

bcf STATUS, RP1
bsf STATUS, RP0 ;Select Bank1

movlw B'11110000' ;Set RA<0:3> as outputs
movwf TRISA ^ 0x080

movlw B'00000011' ;Set RB<2:7> as outputs
movwf TRISB ^ 0x080

movlw (1 << INTEDG) ;Setup Interupt Edge
movwf OPTION_REG ^ 0x080

#ifdef TIMEOUT_ENABLED
movlw (1 << TMR2IE) ; Enable TMR2 Interupt
movwf     PIE1 ^ 0x080

bcf STATUS, RP0 ;Select Bank0

movlw B'01111111' ; Turn on TMR2 with 1/16 pre and post scaler
movwf T2CON ^ 0x080
#endif

movlw (1 << GIE) | (1 << INTE) | (1 << PEIE) ; Enable global interupts, perph and RB0 Interupts
movwf INTCON ^ 0x080

Loop

; Clear the watchdog timer (maximum loop for entire code is ~0.18ms watchdog is 18ms plenty of time!)
clrwdt

; Monitor the mode switches
movf PORTA, w
movwf temp

rrf temp, f
rrf temp, f
rrf temp, f
rrf temp, w
andlw B'00000011'
movwf mode

#ifdef TIMEOUT_ENABLED

; Motor timeout counter

btfss timeout_reg, 7 ; Check to see if a timeout interrupt has occured
 goto Loop

; Timeout interrupt occured updated counter
bcf timeout_reg, 7 ; Reset the Interrupt flag

incfsz timeout, w ; Increment the 16 bit timeout value
decf timeout + 1, f
incf timeout + 1, f
movwf timeout
iorwf timeout + 1, w

movwf timeout ; Test if the timeout value has overflowed
btfss STATUS, Z
 goto Loop
movwf timeout + 1
btfss STATUS, Z
 goto Loop
 
incf timeout_reg, f ; Increase the timeout reg value

btfss timeout_reg, 2   ; Check we've been around the 4 times of the 16 bit counter (~5 minutes 45 seconds @ 20MHz)
 goto Loop

; Timeout!
clrf PORTA ; Reset PORTA and PORTB to turn off the motors
clrf PORTB ; The next INTB0 will awaken them again

#endif
goto Loop

org 0x100

; 1/16 Step DAC A Table
STEP_TABLE_A
 addwf PCL, 1 ;Deg DAC A
 retlw B'01000000' ;0        0.00    0 ---
 retlw B'00000001' ;5        0.10    1
 retlw B'00000010' ;11       0.20    2
 retlw B'00000100' ;16       0.29    4
 retlw B'00000101' ;22       0.38    5
 retlw B'00000111' ;28       0.47    7
 retlw B'00001000' ;33       0.56    8
 retlw B'00001001' ;39       0.63    9
 retlw B'00001010' ;45       0.71    10
 retlw B'00001011' ;50       0.77    11
 retlw B'00001100' ;56       0.83    12
 retlw B'00001101' ;61       0.88    13
 retlw B'00001101' ;67       0.92    13
 retlw B'00001110' ;73       0.96    14
 retlw B'00001110' ;78       0.98    14
 retlw B'00001110' ;84       1.00    14
 retlw B'00001111' ;90       1.00    15 ---
 retlw B'00001110' ;95       1.00    14
 retlw B'00001110' ;101      0.98    14
 retlw B'00001110' ;106      0.96    14
 retlw B'00001101' ;112      0.92    13
 retlw B'00001101' ;118      0.88    13
 retlw B'00001100' ;123      0.83    12
 retlw B'00001011' ;129      0.77    11
 retlw B'00001010' ;135      0.71    10
 retlw B'00001001' ;140      0.63    9
 retlw B'00001000' ;146      0.56    8
 retlw B'00000111' ;151      0.47    7
 retlw B'00000101' ;157      0.38    5
 retlw B'00000100' ;163      0.29    4
 retlw B'00000010' ;168      0.20    2
 retlw B'00000001' ;174      0.10    1
 retlw B'10000000' ;180      0.00    0 ---
 retlw B'11000001' ;185     -0.10   -1
 retlw B'11000010' ;191     -0.20   -2
 retlw B'11000100' ;196     -0.29   -4
 retlw B'11000101' ;202     -0.38   -5
 retlw B'11000111' ;208     -0.47   -7
 retlw B'11001000' ;213     -0.56   -8
 retlw B'11001001' ;219     -0.63   -9
 retlw B'11001010' ;225     -0.71   -10
 retlw B'11001011' ;230     -0.77   -11
 retlw B'11001100' ;236     -0.83   -12
 retlw B'11001101' ;241     -0.88   -13
 retlw B'11001101' ;247     -0.92   -13
 retlw B'11001110' ;253     -0.96   -14
 retlw B'11001110' ;258     -0.98   -14
 retlw B'11001110' ;264     -1.00   -14
 retlw B'11001111' ;270     -1.00   -15
 retlw B'11001110' ;275     -1.00   -14 ---
 retlw B'11001110' ;281     -0.98   -14
 retlw B'11001110' ;286     -0.96   -14
 retlw B'11001101' ;292     -0.92   -13
 retlw B'11001101' ;298     -0.88   -13
 retlw B'11001100' ;303     -0.83   -12
 retlw B'11001011' ;309     -0.77   -11
 retlw B'11001010' ;315     -0.71   -10
 retlw B'11001001' ;320     -0.63   -9
 retlw B'11001000' ;326     -0.56   -8
 retlw B'11000111' ;331     -0.47   -7
 retlw B'11000101' ;337     -0.38   -5
 retlw B'11000100' ;343     -0.29   -4
 retlw B'11000010' ;348     -0.20   -2
 retlw B'11000001' ;354     -0.10   -1

; 1/16 Step DAC B Table
STEP_TABLE_B
 addwf PCL, 1 ;Deg DAC B
 retlw B'01101111' ;0      -1.00 -15 ---
 retlw B'01101110' ;5      -1.00 -14
 retlw B'01101110' ;11     -0.98 -14
 retlw B'01101110' ;16     -0.96 -14
 retlw B'01101101' ;22     -0.92 -13
 retlw B'01101101' ;28     -0.88 -13
 retlw B'01101100' ;33     -0.83 -12
 retlw B'01101011' ;39     -0.77 -11
 retlw B'01101010' ;45     -0.71 -10
 retlw B'01101001' ;50     -0.63 -9
 retlw B'01101000' ;56     -0.56 -8
 retlw B'01100111' ;61     -0.47 -7
 retlw B'01100101' ;67     -0.38 -5
 retlw B'01100100' ;73     -0.29 -4
 retlw B'01100010' ;78     -0.20 -2
 retlw B'01100001' ;84     -0.10 -1
 retlw B'00100000' ;90      0.00 0 ---
 retlw B'00000001' ;95      0.10 1
 retlw B'00000010' ;101     0.20 2
 retlw B'00000100' ;106     0.29 4
 retlw B'00000101' ;112     0.38 5
 retlw B'00000111' ;118     0.47 7
 retlw B'00001000' ;123     0.56 8
 retlw B'00001001' ;129     0.63 9
 retlw B'00001010' ;135     0.71 10
 retlw B'00001011' ;140     0.77 11
 retlw B'00001100' ;146     0.83 12
 retlw B'00001101' ;151     0.88 13
 retlw B'00001101' ;157     0.92 13
 retlw B'00001110' ;163     0.96 14
 retlw B'00001110' ;168     0.98 14
 retlw B'00001110' ;174     1.00 14
 retlw B'00001111' ;180     1.00 15 ---
 retlw B'00001110' ;185     1.00 14
 retlw B'00001110' ;191     0.98 14
 retlw B'00001110' ;196     0.96 14
 retlw B'00001101' ;202     0.92 13
 retlw B'00001101' ;208     0.88 13
 retlw B'00001100' ;213     0.83 12
 retlw B'00001011' ;219     0.77 11
 retlw B'00001010' ;225     0.71 10
 retlw B'00001001' ;230     0.63 9
 retlw B'00001000' ;236     0.56 8
 retlw B'00000111' ;241     0.47 7
 retlw B'00000101' ;247     0.38 5
 retlw B'00000100' ;253     0.29 4
 retlw B'00000010' ;258     0.20 2
 retlw B'00000001' ;264     0.10 1
 retlw B'01000000' ;270     0.00 0 ---
 retlw B'01100001' ;275    -0.10 -1
 retlw B'01100010' ;281    -0.20 -2
 retlw B'01100100' ;286    -0.29 -4
 retlw B'01100101' ;292    -0.38 -5
 retlw B'01100111' ;298    -0.47 -7
 retlw B'01101000' ;303    -0.56 -8
 retlw B'01101001' ;309    -0.63 -9
 retlw B'01101010' ;315    -0.71 -10
 retlw B'01101011' ;320    -0.77 -11
 retlw B'01101100' ;326    -0.83 -12
 retlw B'01101101' ;331    -0.88 -13
 retlw B'01101101' ;337    -0.92 -13
 retlw B'01101110' ;343    -0.96 -14
 retlw B'01101110' ;348    -0.98 -14
 retlw B'01101110' ;354    -1.00 -14
 
MODE_TABLE
 addwf PCL, 1
 retlw 0x001 ; 1/16
 retlw 0x002 ; 1/8
 retlw 0x004 ; 1/4
 retlw 0x008 ; 1/2

end
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: e3 - 04 Haziran 2007, 12:36:51
Hocam her iki kodda da şu hatayı veriyor :
Error[149]   C:\12\2.ASM 26 : Directive only allowed when generating an object file

Bu satırı pek çözemedim maalesef. :( Ayrıca OG hocam Assembly'de  ENDIF gibi ifadeler var mıdır? Bu program da var da :roll: Basic vb. birşeyle yazılmış olabilir mi acaba?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: KAZIMUGUR - 04 Haziran 2007, 12:52:40
Microchipin kendi yazdığında da UDATA satırından dolayı hata vermişti.
Bu satır ve bu satıra bağlı CODE satırları hata veriyor.

Helplerin bir yerinde şöyle diyor.

"For help on assembly code, select Help>Topics>Lanugage Tools and then either
"MPASM Assembler" (for most PIC MCUs) or "MPLAB ASM30"
(for dsPIC DSCs and PIC24 MCUs.) Assembler help contains assembler
directive information (e.g., udata, pagesel, banksel.) "

Aradığımda pek bir şey bulamamıştım.Microchip soruma cevap vermedi.
Bir ara lisans satın almak gibi bir şeylere rastladığımda canım sıkılıp peşini bırakmıştım.
Şimdi yeniden meraklandım.
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: erkan614 - 04 Haziran 2007, 18:09:44
picstep derlerken hata verio ama hex dosyasını isis te sinyallere baktım tastamam çalışıyor
yani verilen hata programın çalışmasını engellemiyor.
tavsiyem kendinize ait bir program yazın alan'ın programından "1/16 step table" kısmını kopyalayın.

@aster ya pek belli olmuo resimden bilemiycem ama herbir g'de 10k, 68.1R, 2.2R, var gibi geri kalanını göremiom

(can sıkıntısı nelere kadir :) )
Başlık: STEPPİNG MOTOR DRİVERS
Gönderen: karacammm - 20 Kasım 2007, 21:41:19
Elimde 3 Adet 1.8 derece 1.8 Volt 4.6 Amper 1.7 NM Bipolar Stepper minebea-matsushita marka Motorlar var. Bu motorlara sürücü yapıcam fakat araştırdığım kadarı ile 4.6 A pratik bir microstep bir sürücü devresi yok. Yada var ben bulamadım. Sadece İm2000 entegresi ile L6203 birlikteliği ile yapılan bir devre var ama onuda nerde hangi firmada kaç paraya bulabileceğimi bilmiyorum. im2000 ni deneyen bir arkadaşımız varmı ? Bu konu ile ilgili bildiklerinizi paylaşırsanız sevinirim.
Başlık: STEPPİNG MOTOR DRİVERS
Gönderen: karacammm - 21 Kasım 2007, 21:06:49
Bipolar 4 kablolu tabi
Başlık: STEPPER MOTOR DRİVERS
Gönderen: karacammm - 22 Kasım 2007, 14:18:31
HOCAM ASLINDA DEDİĞİN DOĞRU 4 AMPER 1,5NM TORK SAĞLAR BANA TAM VE YARIM ADIMDA YÜK ALTINDA NE KADAR HIZA ÇIKABİLİRİM. BANA EN AZ 600 DEVİR GEREKİYOR MAKİNAMDA.
Başlık: STEPPER MOTOR DRİVERS
Gönderen: karacammm - 22 Kasım 2007, 14:24:57
BİR SORUM DAHA OLACAK MOTORLARA 3X4A=12A 36V BESLEME DÜŞÜNÜYORUM FAKAT REGÜLELİMİ OLACAK REGÜLESİZMİ OLACAK ONA KARAR VEREMEDİM.BİLDİĞİM KADARI İLE MOTORLARADA REGÜLESİZ BESLEME TERCİH EDİLİYOR. DOĞRUMU? DOĞRU İSE SWİTCH MODE KAYNAK UYGUN OLMAZ VE BENİM İÇİN SORUN OLUR ? BOYUTLARI DOLAYISI İLE MAKİNAMIN ALTINDA KOYABİLECEĞİM ÇOK UYGUN BİR YER VAR?
   TECRÜBELİ ARKADAŞLAR NASIL BİR GÜÇ KAYNAĞI TAVSİYE EDERSİNİZ.?
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: karacammm - 23 Kasım 2007, 23:09:03
x ekseni 72 cm  4 adet kızak 20mm
y ekseni 45 cm  2 adet kızak 20mm
z ekseni 30 cm  2 adet kızak 20mm
bütün eksenler 16/10 bilyalı somun
bütün gövde alüminyum sigma profil destekli
oldukça ağır
spindle 600 watt 2700dev/dak profesyonel taşlama motoru
işleyeceği en sert malzeme alüminyum levha ve pirinç malzeme olacak
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: Analyzer - 24 Kasım 2007, 09:32:38
Alıntı yapılan: "karacammm"spindle 600 watt 2700dev/dak profesyonel taşlama motoru işleyeceği en sert malzeme alüminyum levha ve pirinç malzeme olacak
Selam,

Takım çapı, ağız sayısı, soğutma biçimi, ilerleme hızına bağlı olmakla birlikte 2700 d/d lık fener mili motoruyla alüminyum işleyemezsiniz. Yani işlersiniz de istediğiniz yüzey kalitesini ve ilerlemeyi elde edemezsiniz. Ayrıca yüzeyin düzgün çıkması, talaşın takıma yapışmaması için ek önlem almak zorunda kalırsınız. (Soğutma sıvısını değiştirme, 5000 serisi al yerine pahalı 7000 serisi kullanma gibi) TeaguTec takımların internette katalogları var. Buradan incelemenizi tavsiye ederim :
http://www.taegutec.co.kr/main.asp?countryID=4
Tavsiyem en az 10.000-12.000 d/d lık bir spindle.

Analyzer
Başlık: cnc
Gönderen: karacammm - 24 Kasım 2007, 12:58:11
orda bir yazım hatası var kusura bakmayın 2700dev/dak yazmışım bir sfır eksik olmuş.makinam 12000-27000 dev /dak arasında 6 kademeli

BOSCH GGS 27C PROFESSIONAL TAŞLAMA MOTORU
Başlık: ıms2000
Gönderen: karacammm - 26 Kasım 2007, 08:44:27
bu ıms entegresini ucuza bulabileceğimiz bir yer yokmu

ben fiyat aldım adamlar uçuk fiyatlar istiyorlar

1 adet 145 dolar
3 adet 120 dolar
10 adet 65 dolar
100 adet için 36 dolar
fiyat veriyorlar.
36 dolar söz götürebilir bir fiyat ama 100 tane almak lazım
Başlık: Bipolar Step Motor Sürücü Ayrıntıları
Gönderen: hunter - 26 Kasım 2007, 16:10:52
Merhaba,

@ozancnc tüm çalışmalarınız  için sizi tebrik ederim..

Alıntı Yapx ekseni 72 cm 4 adet kızak 20mm
y ekseni 45 cm 2 adet kızak 20mm
z ekseni 30 cm 2 adet kızak 20mm
bütün eksenler 16/10 bilyalı somun
bütün gövde alüminyum sigma profil destekli
oldukça ağır
spindle 600 watt 2700dev/dak profesyonel taşlama motoru
işleyeceği en sert malzeme alüminyum levha ve pirinç malzeme olacak



45cm ve 30 cmlik kızakları sanırım birlik rulmandan alıyorsunuz.. Sormak istedigim sey, bunları kesiyorlarmı yoksa siz mi kestiyorsunuz..
Bir de bilyalı vidalı millerin bağlantısı için yine kestirmek ve sonlandırma elemanlarına takılması gerekiyor Tornacıya mı yaptırıyorsunuz yoksa satın alınan firma ücret karşılığında sizin adınıza bunları yaptırıyor mu?

İyi Çalışmalar..
Başlık: VİDALI MİL
Gönderen: karacammm - 27 Kasım 2007, 10:23:35
Ozan şu an vidalı mil almak üzereyim iki yere sordum ikiside mil başı ve sonunu sen yaptıracaksın diyor sen hangi firmadan almamızı tavsiye edersin. Çalıştığım yerde torna da tornacı da var ama bu işi kıvırabilirmi bilmiyorum. Mil sertleştirilmiş kırılma gibi bir durum olurmu. Ve yataklamada dengesizlik yaratırmı torna.