İnternette biyerde PIC için yapılan deneme kartı modülleri gördüm. Herşey için deneme modülü yapmışlardı. PIC için, PLC için vs.. hepsinde klemens bağlantısı vardı. Çok güzel bir fikir, hemen bende kendim için bir adet PIC deneme boardı yapmaya karar verdim. Bir tane ZIF SOCKET ve bir sürü klemens aldım kadıköyden.
Birde kalın delikli pertenaks aldım. Bazı pertankların delikleri ince oldugu için klemens sığmıyor.
öncelikle Pic in hangi ayaklarının hangi PORT lara ait olduğunu öğrenmek için 16F877 nin devre şemasını buldum ve kabloları portlar sırayla yan yana gelecek şekilde dizdim.
daha sonra klemens ve Zif soketi yerleştirip lehimleme işini gerçekleştirdim.
tabi birde Pic in çalışması için gerekli olan condansatör ve kristalide doğru baçaklara bağladım. birde güç beslemesi için regülatör devresinide yaptım ve bitti.
Hadi hayırlı uğurlu olsun.
Aslında bütün herşey için böyle klemensli modüller hazırlamak çok mantıklı ve pratik bence. Başka neler için böyle modül yaparsınız gerisi size kalmış artık :)
Ben aşağıda gördüğünüz 8*8 matrix displayli kayan yazı devremide bu mantıkla geliştirdim. Denemeleri yaparken bu şekilde olması bana baya bir fayda sağlamıştır.
Tak çıkar yaparken felan çok faydalı oluyor bu tür klemenslerin olması.
Son halide aşağıdaki gibidir. PIC inde üzerine monte edilmiş halini görebilirsiniz.
Selim Göktaş
10 Ekim 2008 Cuma
PIC BASIC ile servo motor kontrolu
Merhabalar
Gittigidiyor.com dan satın aldığım servo motorlarıma kavuştum ve hemen denemeye koyuldum. Yaptığım uzun araştırmalar sonunda Robot Kolu projesi için en uygun motorların Metal Gear özelliği olan yani metal çarklı servo motorlar olduğuydu.
Normal plastik çarklar zamanla deforme oluyormuş. O yüzden normalde çok pahalı olan metal çarklı servolardan gittigidiyor.com da 25-30 liraya, standard servo fiyatına bulunca hemen 2 tane sipariş verdim. Önce bir deniyim güzelse 3-4 tane daha alırım mantığıyla hareket ettim.
Sonuç olumlu, 4 tane daha siparş verecem, robot kolu projemi tamamlamak için.
Gelelim Servoların PIC basic ile kontrol edilmesine. İşlem çok basit Servonun kırmızı uçu Artı , kahverengi ucu Eksi ve truncu ucu ise Data olarak kabul edilir. Bu şekilde elektrik bağlantısı yaptım ve data ucunu PIC16f877 me bağladım.
Geriye kalan tek şey PIC basicteki Servo komutuyla açıyı belirlemeye.
Ben burda birde daha iyi anlaşılması açısından devreye buttonda bağladım. B Portuna 5 tane buton ve A.0 portunada servo motorumu taktım. Bende TEKOPIC2 deney seti olduğu için deney boardımdaki hazır buttonlar işimi kolaylaştırdı.
SERVO komutu iki tane parametre alıyor.
servo porta.0 , 500
Birincisi port numarı, ikinicisi açı bilgisi. Eğer 500 yollarsanız en sola gidiyor. Eğer 2500 yollarsanız en sağa gidiyor. Eğer ortada durmasını isterseniz 1300 yollamanız gerekiyor. Servo motorların 180 dereceden fazla dönemediklerini hesaba katmayı unutmayınız.
işte benim devrem için yaptığım örnek PIC Basic programım. PortB buton girişleri için, PortA.0 ise servo motoruma sinyal yollamak için kullanıldı.
device 16f877a
input portb
output porta
loop:
if portb.0=1 then
servo porta.0 , 500
delayms 15
end if
if portb.1=1 then
servo porta.0 , 2400
delayms 15
end if
if portb.2=1 then
servo porta.0 , 500
delayms 500
servo porta.0 , 600
delayms 500
servo porta.0 , 700
delayms 500
servo porta.0 , 800
delayms 500
servo porta.0 , 900
delayms 500
servo porta.0 , 1000
delayms 500
servo porta.0 , 1100
delayms 500
servo porta.0 , 1200
delayms 500
servo porta.0 , 1300
delayms 500
servo porta.0 , 1400
delayms 500
servo porta.0 , 1500
delayms 500
servo porta.0 , 1600
delayms 500
servo porta.0 , 1700
delayms 500
servo porta.0 , 1800
delayms 500
servo porta.0 , 1900
delayms 500
servo porta.0 , 2000
delayms 500
servo porta.0 , 2100
delayms 500
servo porta.0 , 2200
delayms 500
servo porta.0 , 2300
delayms 500
servo porta.0 , 2400
delayms 500
end if
if portb.3=1 then
servo porta.0 , 1000
delayms 15
end if
if portb.4=1 then
servo porta.0 , 2000
delayms 15
end if
goto loop
Gittigidiyor.com dan satın aldığım servo motorlarıma kavuştum ve hemen denemeye koyuldum. Yaptığım uzun araştırmalar sonunda Robot Kolu projesi için en uygun motorların Metal Gear özelliği olan yani metal çarklı servo motorlar olduğuydu.
Normal plastik çarklar zamanla deforme oluyormuş. O yüzden normalde çok pahalı olan metal çarklı servolardan gittigidiyor.com da 25-30 liraya, standard servo fiyatına bulunca hemen 2 tane sipariş verdim. Önce bir deniyim güzelse 3-4 tane daha alırım mantığıyla hareket ettim.
Sonuç olumlu, 4 tane daha siparş verecem, robot kolu projemi tamamlamak için.
Gelelim Servoların PIC basic ile kontrol edilmesine. İşlem çok basit Servonun kırmızı uçu Artı , kahverengi ucu Eksi ve truncu ucu ise Data olarak kabul edilir. Bu şekilde elektrik bağlantısı yaptım ve data ucunu PIC16f877 me bağladım.
Geriye kalan tek şey PIC basicteki Servo komutuyla açıyı belirlemeye.
Ben burda birde daha iyi anlaşılması açısından devreye buttonda bağladım. B Portuna 5 tane buton ve A.0 portunada servo motorumu taktım. Bende TEKOPIC2 deney seti olduğu için deney boardımdaki hazır buttonlar işimi kolaylaştırdı.
SERVO komutu iki tane parametre alıyor.
servo porta.0 , 500
Birincisi port numarı, ikinicisi açı bilgisi. Eğer 500 yollarsanız en sola gidiyor. Eğer 2500 yollarsanız en sağa gidiyor. Eğer ortada durmasını isterseniz 1300 yollamanız gerekiyor. Servo motorların 180 dereceden fazla dönemediklerini hesaba katmayı unutmayınız.
işte benim devrem için yaptığım örnek PIC Basic programım. PortB buton girişleri için, PortA.0 ise servo motoruma sinyal yollamak için kullanıldı.
device 16f877a
input portb
output porta
loop:
if portb.0=1 then
servo porta.0 , 500
delayms 15
end if
if portb.1=1 then
servo porta.0 , 2400
delayms 15
end if
if portb.2=1 then
servo porta.0 , 500
delayms 500
servo porta.0 , 600
delayms 500
servo porta.0 , 700
delayms 500
servo porta.0 , 800
delayms 500
servo porta.0 , 900
delayms 500
servo porta.0 , 1000
delayms 500
servo porta.0 , 1100
delayms 500
servo porta.0 , 1200
delayms 500
servo porta.0 , 1300
delayms 500
servo porta.0 , 1400
delayms 500
servo porta.0 , 1500
delayms 500
servo porta.0 , 1600
delayms 500
servo porta.0 , 1700
delayms 500
servo porta.0 , 1800
delayms 500
servo porta.0 , 1900
delayms 500
servo porta.0 , 2000
delayms 500
servo porta.0 , 2100
delayms 500
servo porta.0 , 2200
delayms 500
servo porta.0 , 2300
delayms 500
servo porta.0 , 2400
delayms 500
end if
if portb.3=1 then
servo porta.0 , 1000
delayms 15
end if
if portb.4=1 then
servo porta.0 , 2000
delayms 15
end if
goto loop
Kaydol:
Kayıtlar (Atom)