Arşiv: 'Elektronik'

Step Motor Kontrolü

Bu projede, 4×20 LCD, PIC16F877A, 4×3 Tuş Takımı ile hazırlanan devre ile bir adet unipolar step motorun kontrolü gerçekleştiriliyor.
Bu proje beni biraz uğraştırdı aslında. printf() komutunun ve eeprom ile ilgili komutların ( ccs c ) çok sık kullanımı ve tuş takımından veri alınması, rom kullanımını oldukça yüksek değerlere çıkarıyordu ve bir yerden sonra program devam ettirilemiyordu ( yazım işlemi ). Uğraştırdı, kodları yeniden modifiye etmem gerekti. Ama sonunda güzel bir proje ortaya çıktı.

Fotoğraflar:

Proteus simülasyonuna ve hex dosyasına buradan erişebilirsiniz.

Işığa Duyarlı Araba

Yrd.Doç.Dr. Yavuz EROL hocamızın Bilim ve Teknik dergisinde yayımladığı yazısında, ışığa doğru hareket eden arabanın sıfırdan yapım aşamaları mevcuttu. Ben de o yazıda yer alan arabadan yapayım dedim ve anlatılanları aynen yaptım. Oldukça güzel bir sonuç elde ettim. Araba kısmı ile devre kısmını ayrı ayrı yaptım. Aradaki tek bağlantı, motorların devreye olan bağlantısı.
Bu şekilde ayrı ayrı yapmam, araba kısmının daha başka arabalı projelerde kullanılmasını sağlıyor. Bu araba kısmını daha sonra yapacağım “önündeki cismi izleyen araba, engeli görünce duran araba, önündeki cismi belirli mesafeden takip eden araba, uzaktan kumandalı araba, çizgi izleyen araba…” şeklinde projelerde kullanacağım. Yakında bu projelere de sitem üzerinden erişebileceksiniz.
Projenin yapımı ve çalışması ile ilgili videoyu aşağıda izleyebilirsiniz.

Get the Flash Player to see this content.

Projenin sayfasına buradan erişebilirsiniz.

PIC16F877A, Servo Motor ve LCD!

Yeniden merhaba!
Bir süredir ne yazacağımı bulamadığım için birşeyler yazamadım. Ancak bu süre içerisinde de okula gidip geldim :) Ayrıca PIC ile de uğraştim. Bu aralar en çok uğraştığım şey, yeni almış olduğum hobi servo motorum. O kadar küçük ki ( 9 gr, 21×12×22 mm ), kargoyla geldiği anda çok şaşırdım, “bu kadar küçük bir motor muydu verdiğim sipariş!” diye. Ancak devremi tasarlayıp çalıştırdığımda, küçük boyutuna rağmen hakkını veriyordu, yaptırdığım işin.

Özellikleri ise şöyle :
Model : HXT900
Boyut : 21×12×22 mm / 0.74×0.42×0.78 in
Çalışma Gerilimi : 3v ~ 6v
Ağırlık : 9g / 0.32oz
Hız : 0.12 saniye/60(4.8V)
Tork : 1.6 kg-cm
Çalışma Sıcaklığı : -30C~60C

Öncelikle ilk geldiğinde, sadece 3 buton ile sağ, sol ve orta pozisyonlara getirmeyi denedim. Güzel de çalıştı. Daha sonra, “istediğim açıyı yapabilir mi?” diye düşündüm ve biraz da bu fikri geliştirerek, CCS C ile programımı yazdım ve devremi hazırladım. Oldukça güzel çalıştı.

Projenin fotoğraflarına ve videosuna aşağıdan ulaşabilirsiniz.Servo 1Servo 2

Servo 3

Video :

Get the Flash Player to see this content.

LM35, LCD ve PIC16F877!

Yine bir elektronik devre, yine bir LM35, yine bir PIC16F877 ve yine ben! :)

Yeni bir proje ile geldim. Bu projeyi, saygıdeğer arkadaşım Ahmet KADİFECİ için hazırladım. Bu projede amaç, sıcaklık bilgisini LCD’de göstermek. Bunu yapmak ta oldukça kolay oldu. LM35′ten alınan sıcaklık bilgisini, LCD’ye yazdirdim! Bu kadar basit :)

Bu projede LCD’yi 4-bit sürerek kullandım. Bu, yerden kazanç sağlanmak isteniyorsa ideal bir yol ( 4 bacak az kullanılmış olur ). Ben de LCD’yi bu şekilde sürdüm. Aldığım sıcaklık bilgisini yüzler, onlar ve birler basamaklarına ayırıp, tablodan değerlerini getirttim ve yazdırdım. Daha kolay yolları olabilir, ancak benim yaptığım bu.

Aşağıda proje ile ilgili fotoğrafları bulabilirsiniz.

Sıcaklık Ölçümü 1Sıcaklık Ölçümü 2

Bu defa 16F84A! Sıvı seviyesine göre çalışalım!

Bir şeyleri başarmak, insana haz veriyor. Öyle ki, en son yaptığım sıvı seviyesine göre kapak açıp kapayacak olan projenin çalışmasının verdiği haz, hiçbir yerde yok. Sıvının seviyesine göre açma ya da kapama işlemi yapacak olan bu proje, 16F84A ile yapıldı. Devre, suyun iletkenliği kullanılarak, sudan akan mikroamperler seviyesindeki ( hatta nanoamperler seviyesindeki ) akımı, kazancı yüksek bir transistör aracılığı ile yükseltip, bir direnç üzerinde gerilime çevirerek, PIC’in ilgili bacağina uygulamak suretiyle çalışmakta. Suyun iletkenliğini kullanarak, ilk defa böyle bir projeyi çaliştirabildim. Bunun için, oldukça mutluyum :)
Aşağıda ilgili projenin fotoğrafları ve videosu bulunmakta.
Fotoğraflar:

Sıvı Seviyesi 1Sıvı Seviyesi 2

Get the Flash Player to see this content.

Projenin ASM kodları ve Proteus simülasyon dosyası : http://www.bicers.com/projects/sivi_seviye.rar

Yine, yeni, yeniden PIC! Bu defa 16F877A!

Ne farkı var derseniz, içeriğine pek bakmadım ama programın yüklenmesi, 16F877′ye göre gayet ve memnun edici derecede hızlı:) Bu defa yakmadan devam edebiliyorum! Ama LM35 ile yaptığım fan kontrolü devresinde bir sorunum var ve hala düsünüyorum, çözemedim. Nedense herkes assembly dilini birakip C, Basic ya da JAL gibi dillere dönmüs. Ben ise hala assembly dilinin yalnız bırakılan 35 komutuyla birşeyler yapmaya çalışıyorum. İste bu LM35′li fan kontrol devresi de bunlardan biri.

Sorunum ne mi? Sıcaklığı 24 dereceye kadar doğru ölçüyorum. 25 dereceye gelince, devre 25 değil 26 derece gösteriyor. 66 dereceye kadar bu böyle 1 derece fazla göstererek gidiyor. 66 derecede 1 derece daha ekleniyor. 104 dereceye kadar böyle 2 derece fazla olacak şekilde gidiyor ve yine 104 derecede 1 derece daha ekleniyor. Ve en son değer olan 150 derece, 154 olarak görünüyor. Bu nasıl bir iştir, anlam veremiyorum. İşin enteresan tarafı, LM35′in çıkışı lineer olmasına rağmen, 16F877A’nin ADC dönüştürücüsü, bu işi bu hale getiriyor. Bu sorunu hala çözebilmiş değilim. Çözebilirsem daha da güzel olacak.

Yine enteresan bir durum oluşturdum. Ne becerikliyim ben (!). LM35′i, ilk başta datasheet’e ( kullanım klavuzu / veri sayfası ) bakarak bağladım. Ancak altındaki ufak yazıyı okumamış ve ters baslamışım. Devreyi enerjilendirdiğimde sıcaklık birden 100′ün üzerine çıktı. Hatta biraz beklediğimde 280 dereceyi geçti(!) ve ben hemen enerjisini kestim. LM35′e bir dokundum: cisss! Acayip bir sıcaklık mevcuttu. Ama devrede bir sorun olmadı, baglantıyı düzelttim :)

Şuan, sıcaklığı biraz fazla gösterse de, çalışıyor :)

Bu arada, yazıya başladıktan sonra , bu satıra gelene kadar sitem ettim. Sonra dedim devreye bir daha bakayım. Baktım ki ne göreyim :) regülatör çikisina 100nF’lik o güzelim elektrolit kondansatörü koymamışım ve ondan dolayı istenmeyen şeyleri yapıyormus. Şimdi değerler biraz daha normal ve biraz daha düzgün. İşte size projemin videosu ve fotoğrafı!( Not : Fotoğraftaki çakmağın amacı, LM35′i ısıtmaktır, yanlış anlaşılmasın :) )

Termometre 1Termometre 2

Get the Flash Player to see this content.

Projenin ASM kodlari ve Proteus simulasyon dosyasi : http://www.bicers.com/projects/fan_kontrol.rar

PIC16F877 ve psikoloji!

PIC16F87715 Kasım itibari ile ikinci PIC16F877‘mi yakmış bulunmaktayım. Artık kendisine uzun uzun PIC16F877 demek yerine, lakabı olan, PIC diyeceğim. Bu PIC ki, herşeye kadir. Programladığınız taktirde mümkün mertebe her işinize koşuyor, her işinizi yapıyor. Motor mu döndüreceksiniz? Döndürüyor. LCD’ye yazı mı yazacaksınız? Yazıyor. E ne istiyorsanız, onu yapması için programlamanız yeterli. Haliyle bu işleri yapabilen birsey, pek ucuz değil. Tanesi şuan 12YTL. Evet, bazılarınız “bu kadarcık mı?” diyebilir. Ancak bu PIC‘in bu iyi özelliklerinin yanında kötü özellikleri de var. Bu kötü özelliklerin en büyüğü, kız gibi (!) olmasi. Yani çok nazlı bir yapıya sahip olması. Eğer kaba(!) bir insansanız, board’a yerleştirirken bacaklarına hasar verebilir, kırabilirsiniz. Bunu da geçersek, en ufak bir kısa devrede tamamen size küsüyor! Hem de ömür boyu. Hayatınızdan çekip gidiyor. Yapmanız gereken, yenisini almak.
İkinci PIC‘i de yaktım. O gün o kadar sinirlendim ki, ögrenci halimle yeni bir PIC daha almam gerekti, zarara girerek. Ve 17 Kasım itibariyle üçüncü ve umarım sonuncu PIC‘imi almış bulunmaktayım.
PIC, doğru çalışırken psikolojiyi düzeltiyor ancak yandığı zaman da psikoloji dibe vuruyor.
Psikolojinizin herhangi bir şekilde bozulmasını ve deforme olmasını istemiyorsanız, ya devrenizi 10 kez kontrol edip 1 kez çalıştırın, ya da PIC‘ten uzak durun!

Get Adobe Flash playerPlugin by wpburn.com wordpress themes