13 Mart 2010 Cumartesi

Entegreli Adım Motor Sürücü Devresi


Adim motorun kablolarindan bir veya iki tanesi ortaktir (vMotor). Yaptigimiz islem basit olarak bu ortak kabloya sürekli +12 Volt göndermek ve diger uçlari ise belli bir sirada topraga göndererek bir adim hareketi elde etmek. Bunu iki farkli sekilde yapabiliriz. Bunlardan bir tanesi geçen ayki yazimizda kullandigimiz 12 Voltluk röle devresine benzer bir devrenin 4 transistörlüsü ile bu sinyalleri göndermek. Bir diger yolu ise içerisinde bu transistörleri hali hazirda bulunduran bir entegre kullanmak. Ben her iki yöntemide anlatacagim. Yine de benim kolaylik açisindan tavsiyem, entegreli devreyi uygulamaniz.Adim motorlarin, endüstriyel ve elektronik uygulamalarda kullanimioldukça fazladir. En basitinden, bilgisayarimizdaki floppy disketsürücüsünde ve hard diskler de bu teknolojiye basvurulmustur. Adim motorlar, girislerine uygulanan lojik sinyalleri dönme hareketine çevirirler. Istediginiz yönde ve derecede döndürebileceginiz adim

Adim motor entegreli sürücü devresi malzemeleri:

1 X ULN2003 Entegre
1 X 1N4001 Diyot
1 X 12 Volt 5 Cable Step Motor
Adim motor sürücüsü olarak ULN2003 entegresini kullaiyoruz. Bu entegreyi bundan sonraki uygulamalarimizda bol bol kullanacagiz. Sürücü devresi olarak kullanilan ULN2003 Içerisinde 7 adet NPN transistör ve dahili diod barindirmaktadir. Haliyle bizi transistör bacaklariyla ugrasmaktan kurtarmaktadir. Kullanimi ise oldukça kolaydir. Devre semasindan da anlasilabilecegi gibi 9 numarali bacagina +12 Volt ve 8 numarali bacaginada Toprak (ground) uyguluyoruz. Daha sonra 3 ve 6 numarali bacaklarada paralel portun DATA pinlerinden gelen +5 Voltluk degerleri uygulayacagiz. Bu sayede örnegin 3 numarali bacaga +5 Volt (lojik voltaj) uyguladigimizda 14 numarali bacak toprak olacaktir. Ayni sekilde sirayla 4 için 13, 5 için 12, 6 için ise 11 numarali bacaklar toprak olacaktir.
Herseyden önce bir adim motora ihtiyacimiz var. Isimize en çok yarayacak olan adim motorunu eski 5 ¼ disket sürücülerinden kolayca sökebilirsiniz. Tabi bundan önce parçalayabilecek bir sürücü bulabilmeniz gerekli. Eger bulamiyorsaniz adim motor için sanirim biraz elektronikçi dolasmaniz gerekecektir. Bulacaginiz adim motoru 4,5 yada 6 kablolu olabilir. Ama benim en sik rastladigim 5 kablolu olani oldugundan, uygulamamizda 5 kablolu adim motoru kullanacagiz. Çalisma prensipleri ayni oldugundan kablo sayisinin degismesi yazacagimiz programin mantiginin degismesi anlamina gelmeyecektir.5 kablolu adim motorunun kablolarindan bir tanesi vMotor dedigimiz ortak kablodur. Önemli olan bu kablonun hangisi oldugunu bulmaktir. Bunun için avometreninizi OHM ölçere getirin ve kablolarin uçlarini ikiser ikiser ölçün. Tüm uçlar ile arasindaki direnç ayni olan kablo ortak vMotor kablosudur. Biraz deneyerek bulabileceginizden eminim. Sekilde gözüktügü gibi, diger 4 kablo motor kömürlerine (coil) gitmektedir. Bu 4 kablonunda bir sirasi vardir. Bu sirayida deneme yanilma yöntemiyle bulmak mümkün olacaktir. Eger bu kablolari yanlis sirada baglarsaniz, motor dönmek yerine sadece titreme yapacaktir. Yukaridada bahsettigim gibi motora adim attirmak için yapmamiz gereken, vMotor kablosuna +12 Volt verirken, diger kömürlere bagli kablolara belli bir sira ile toprak göndermek.Yukarida bahsettigimiz bu 4 kabloya toprak sinyalini göndermek için entegrenin 3,4,5 ve 6. bacaklarina sira ile +5 Volt göndermemiz gerekiyor. Haliyle bu + 5 Voltu paralel portun seklinde görülen DATA pinlerinden çekecegiz. Paralel portun seklini bundan sonraki her yazima ekleyecegim. Okurken size kolaylik saglayacaktir.Herzamanki gibi DATA pinlerinden çikis almak için OUT komudunu kullaniyoruz. Çokta kisa olsa yaziyi ilkkez okuyanlar için OUT komudu ile nasil DATA pinlerini + 5 Volt yapacagimiza deginecegim. DATA portundan 8 bitlik veri çikisi alabiliyoruz. DATA portuna hiçbir veri göndermedigimiz zaman ki degeri "00000000" dir. Dikkat ederseniz 8 tane "0" var. Örnegin data portuna 25 degerini gönderelim. 25 degerinin ikilik sayi sisteminde karsiligi "00011001" dir.&nbspBu durumda D4, D3 ve D0 pinlerine karsilik gelen lojik degerler "1" oldugundan o pinler +5 Volt olacaktir.Örnek : OUT &h378,25 Buradaki &h378 ise paralel portunuzun taban adresidir. Biz sekilde D0, D1, D2, D3 ile gösterilen ilk dört data pinini kullanacagiz. Burada OUT komutlarini pespese kullanamayiz. Çünkü veriyi DATA pinlerine ufakta olsa belli zaman araliklari ile göndermemiz gerekiyor. Bunun için her OUT komudunun arasina bekletmek için çok eski yöntemlerden biri olan FOR-NEXT döngüsünü yaziyoruz. Fakat dikkat etmeniz gereken nokta FOR-NEXT döngüsünü bitirdiginiz sayi. Ben burada "2000" kullandim. Pentium bir PC için yeterli beklemeyi sagliyor. Sizde sisteminizin hizina göre buradaki sayiyi degistirmelisiniz. Örnegin 486 bir PC için "500" yeterli olacaktir. Asagidaki Visual Basic program örnegi D0, D1, D2 ve D3 pinlerini sira ile +5 Volt yapacak ve entegrenin bu pinlerine bagli olan bacaklarinin karsiliklarini topraga çekecektir. Neticede motorunuz bir adim atmis olacaktir.ADIM MOTOR


KONTROLÜ (Dalga Sürüm) – Visual Basic kodu
Sub bekle(sayi as long)
Dim i as long
For i=1 to sayi:next i
End sub
Command1_Click()
‘ Bu örnek program, dalga sürümü sinyallerini, motora göndermektedir.
Dim adres as integer
Adres=amp;h378
OUT adres, 0 ‘Tüm data pinlerinin degerlerini “0” olacaktir
Bekle 2000
OUT adres,1 ‘D0 pininin lojik degeri “1” olacak ve +5 Volt yüklenecek.
Bekle 2000 ‘Tanimladigimiz BEKLE fonksiyonu ile bir sürelik gecikme sagliyoruz.
OUT adres,2 ‘D1 pininin lojik degeri “1” olacak ve +5 Volt yüklenecek.
Bekle 2000 ‘Tanimladigimiz BEKLE fonksiyonu ile bir sürelik gecikme sagliyoruz.
OUT adres,4 ‘D2 pininin lojik degeri “1” olacak ve +5 Volt yüklenecek.
Bekle 2000 ‘Tanimladigimiz BEKLE fonksiyonu ile bir sürelik gecikme sagliyoruz.
OUT adres,8 ‘D3 pininin lojik degeri “1” olacak ve +5 Volt yüklenecek.
Bekle 2000 ‘Tanimladigimiz BEKLE fonksiyonu ile bir sürelik gecikme sagliyoruz.
End Sub

Benim kullandigim adim motorlar 1.8 derecelikti. Bu, motora attiracaginiz her normal adimda 1.8 derecelik bir dönme elde edeceginiz demek oluyor. Bu da motorun bir tur atmasi için 200 normal adim atmasi gerektigi anlamina geliyor. Motorun vMotor disinda kalan diger 4 kablosuna göndereceginiz sinyallere göre bu adimin yönünü ve açisini degistirmeniz mümkün olacaktir. En basitinden motora ters adim attirmak için, sinyalleri D3 ten D0 a dogru göndermeniz yeterli olacaktir. Çok hassas çalismadigimizi ve motorumuzun 2 derece oldugunu ve 45 derecelik bir dönme gerçeklestirmek istedigimizi düsünelim. Bunun için yukarida anlattigim normal adim sinyalleri yeterli olmayacaktir. Bu durumda motoru 1 er derecelik açilarla döndürebilmemiz gerekmektedir. Yarim adim attirma metodu ile bu isi kolayca yapmamiz mümkündür. Bir diger metod ise dalga sürümü sinyalleridir. Hassas hareketler üzerinde çalismayacaksaniz dalga sinyallerini kullanabilirsiniz. Asagidaki tablolarda tam adim, yarim adim ve dalga sürümü için uçlara göndermeniz gereken sinyal çesitlerini ve OUT komudu ile göndermeniz gereken degerleri yaziyorum. Degerlerin ikilik sistemdeki karsiliklari D3-D0 sütunlarini soldan saga dogru okudugumuzda ki degerlerine esit olduguna dikkatinizi çekmek istiyorum. Eger ters yönde dönüs elde etmek istiyorsaniz, sinyalleri ters yönde göndermeniz gerekir.
Yarim Adim Metodu
Deger D3 D2 D1 D0
9         1   0    0   1
1         0   0    0   1  
2         0   0    1   0
6         0   1    1   0
4         0   1    0   0
2         0   0    1   0
12       1   1    0   0
8         1   0    0   0

Tam Adim Metodu
Deger D3 D2 D1 D0
 9        1   0    0    1
 3        0   0    1    1
 6        1   1    1    0
12       1   1    0    0

Dalga sürümü Adim Metodu
Deger D3 D2 D1 D0
 1        0    0   0    1
 2        0    0   1    0
 4        0    1   0    0
 8        1    0   0    0

Bir diger olayda adim motorun referans noktasini nasil bulacagi. Yani motorun durdugu en son pozisyonun ne oldugunu nerden bilecegiz? Döndürme islemine basladigimiz noktayi biliyorsak bu çok fazla sorun olmayacaktir. Fakat motoru daha döndürmeye baslamadan, elimizle biraz çevirdigimizi düsünelim. Bu durumda baslangiç noktasi kayacak ve motoru istedigimiz pozisyona getiremeyecegiz. Disket sürücülerde kullanilan yöntem oldukça ilkel ama geçerli bir yöntemdir. Disket sürücü bir sekilde diski okuyan kafanin nerede oldugunu bilmek zorundadir. Bunun için motoru bir yönde sürekli döndürerek, kafanin en basa dayanmasini saglar. Bu gelinen noktaya referans noktasi denir. Bu sebeple bazi adim motorlarin kendi etrafinda sürekli olarak dönmesini engelleyecek bir tirnak vardir. Motoru referans noktasina dayamak için bu tirnaktan yararlanilir. Biz simdilik hassas hareket yaptirmayacagimizdan varsa bu tirnagi sökebilirsiniz.
Adim motor transistörlü sürücü devresi malzemeleri:
4 X BC547B Transistör
4 X 1N4001 Diyot
1 X 12 Volt 5 Cable Step Motor

Her iki devrede de kullandigimiz diyotun degerinin herhangi bir önemi yoktur. Motorda adim attiktan sonra olusacak ters EMK bu diyot sayesinde absorbe edilebilir. Yine benim tavsiyem entegreli sürücü devresini kullanin. Bu entegrenin nasil çalistigini iyi anlarsaniz, bir çok uygulamada transistörler ile ugrasmak zorunda kalmadan 12 Voltu kontrol edebilirsinizTransistörlü sürücü devresi, geçen ayki RÖLE devremize benzemektedir. Bu sefer +12 Voltluk akim vMotor kablosuna baglidir. Motorun diger kablolarini sira ile topraga göndermemiz gerekmektedir. Transistörün BEYZ ucuna uygulayacagimiz data pininden gelen +5Volt sayesinde transistör tetiklenecek ve kollektör-emitör (CE) iletime geçecektir. Dolayisi ile transistörün C ucuna bagli kablolar topraga ulasabilecektir. Transistörün uçlarini bulmak biraz zor oldugundan, BC547 transistörünün, alttan bakildigindaki bacak baglantilarini veriyorum.

Hiç yorum yok:

Yorum Gönder

İzleyiciler

LED DİRENÇ HESAPLAMA

All LEDs require current limiting, without a current limiting mechanism the LED will usually burn out in under a second. Adding a simple resistor is the easiest way to limit the current. Use the calculator below to find out the value of resistor you require.

For example if you are wanting to power one of our_blank">red LEDs in an automotive application you would see that the typical forward voltage is 2.0 Volts and the maximum continuous forward current is 30mA. Therefore you would enter 14.5, 2.0 and 30 into the Single LED calculation box. After calculating you get 470ohm 1 watt as the result. Here is a that allows you to enter a resistor value and generate the corresponding color code.

Note: For automotive applications use the actual system voltage, not 12 Volts. Most 12 Volt system actually operate at around 14.5 Volts.

Supply Voltage
VOLTS
Voltage Drop Across LED
VOLTS
Desired LED Current
MILLIAMPS



Calculated Limiting Resistor
OHMS
Nearest higher rated 10% resistor

Calculated Resistor Wattage
WATTS
Safe pick is a resistor with
power rating of (common values are .25W, .5W, and 1W)
WATTS

LEDs in series

Several leds in series with one resistor
Supply Voltage
VOLTS
Voltage Drop Across LED
VOLTS
Desired LED Current
MILLIAMPS
How many LEDs connected




Calculated Limiting Resistor
OHMS
Nearest higher rated 10% resistor

Calculated Resistor Wattage
WATTS
Safe pick is a resistor with
power rating of (common values are .25W, .5W, and 1W)
WATTS
LM317 UYGULAMA DEVRELERİ HESAPLAMASI

 




Çıkış Voltajı
R1 resistor

R2 resistor

R1 resistor
R2 resistor

Çıkış Voltajı


Lm317 uygulama devreleri ve detayli bilgiye Buradan ulasabilirsiniz

LM555 - ASTABLE OSCILLATOR CALCULATOR

LM555 - ASTABLE OSCILLATOR CALCULATOR
Value Of R1 Ohms Value Of R2 Ohms
Value Of C1 Microfarads
Output Time HIGH SECONDS Output Time LOW SECONDS Output Period HIGH + LOW SECONDS Output Frequency HERTZ Output Duty Cycle PERCENT
Resistor values are in Ohms (1K = 1000) - Capacitor values are in Microfarads (1uF = 1)

NOTE: The leakage currents of electrolytic capacitors will affect the actual output results of the timers. To compensate for leakage it is often better to use a higher value capacitor and lower value resistances in the timer circuits.

LM555 Astable Oscillator Circuit Diagram


LM555 - ASTABLE CAPACITOR CALCULATOR

The next calculator can find the capacitance needed for a particular output frequency if the values of R1 and R2 are known.

Value Of R1 Ohms Value Of R2 Ohms
Frequency Desired Hertz
Capacitance uF
s

VOLT AMPER OHM ve WATT HESAPLAMA

Current:
kA (kiloamps) A (amps) mA (milliamps) µA (microamps)
Voltage:
kV (kilovolts) V (volts) mV (millivolts) µV (microvolts)