PIC18f452 CCS C İle Devremde 4 Adet Encoder Okuma

Başlatan stronger_ht, 25 Kasım 2010, 15:48:12

stronger_ht

iyildirim, çok özür dilerim, sorunumu anlatamadım bile :)
Şuan sistemde değişikler söz konusu, o minik encoder'ları kullanmama kararı aldım, normal encoder kullanacağım.
Bunun yanında birkaç değişiklik daha var, henüz denemeler aşamasındayım, başka sorunlarla karşılaşırsam yardım isteyeceğim, sorun çıkmaz ise, son aşamayı burada detaylı paylaşırım....Kolay gelsin.

frkcn

#61
ben senin derdini anladım aslında tahminime göre rüzgarın yönünü rüzgar gülünle tayin edip elektriği üreteceğin ana mekanızmanı bu yöne çevirmek istiyosun. Tabi bu senin verdiğin kod örneğinde bu işllem zor. Port değişiklik kesmesi farklılık olduğunda devreye girecek ve rutin çalışacaktır. Ama enkoder bilgisi gelmediğinde bu rutine girme işlemi gerçekleşmeyecek. Dolayısıyla interrupt rutuninden çıkarken elde ettiğin enkoder bilgisini ana program döngün içerisinde belirli zamanlarda eski değişkenle b4-b7 pinlerini tekrar okuyarak karşılaştırman gerekecek. eğer fark yoksa zaten yön değişmemiştir. fark olduysa yön değişkeninden  ve enkoderden aldığın bilgiyle ana mekanızmanı gerekli yönde döndürebilirsin. 

sanırım atama yaptığın yer int. rutuninde doğru yerde
Bugün ömrümün geride kalan son günü...

stronger_ht

Arkadaşlar, basit bir öneri sorusu soracağım.
Şimdi bendeki rotary encoder 12V'luk bir çıkış veriyor. Benim bunu pic ile okumam için lojik seviyesine düşürmem gerekiyor.
Ben normalde LM324 ile bir devre gerçekleştirdim. Rotary encoder çok hassas olduğu için, sizde bu devre yeterli seviyede iş görür mü?

[IMG]http://img255.imageshack.us/img255/5581/91533954.jpg[/img]

Uploaded with ImageShack.us

Denemek için encoder'a hemen 12v verdim, ölçü aleti ile de adım değiştikçe voltajı ölçtüm, 10V gibi bir voltaj çıkıyor, ama tabi çok hassas olduğu için LM324 ile sağlıklı okuma yapabilir miyim. Yoksa başka bir yöntem mi denemeli?

fatihbarut

Merhaba
Bence rüzgar yönü için enkoder kullanmayın.
Kendiniz yön belirleyici sensör yapın. Ana hatları vereyim.
Eskiden filimlerde görünen ecnebi evlerinin üstünde horoz şeklinde rüzgarın yönünü gösteren bir düzenek vardı. Ona benzer bir düzenek kurun.
çizgili silindir şekerler vardır ya. onlardan birini düşünün üstünde sadece bir çizgi olsun. Siz de aynı şekilde düzeneğin yuvarlak milinin üstüne böyle bir çizgi şeklinde 5v bağlı bir tel koyun.

Sistemin milini daire şeklinde bir deliğe oturtun.
Bir PIC'in 8 pinini aynı deliğin çevresine belli aralıklarla bağladığınız 8 adet (4 ana 4 ara yön) iletkene bağlayın.

Mil ne tarafa dönerse o taraftaki pine high sinyali gönderecek ve siz yönü anlayacaksınız. Benzer mantıkla 8 yerine daha fazla alıcı kullanarak hassasiyet arttırılabilir.

stronger_ht

fatihbarut, tavsiyen için teşekkürler. Ancak şöyle bir sorunumuz var.
Döner mekanizma 360 derece dönmemesi gerekiyor. Bu mekanizmanın hareket alanı maximum 350 derece. Bu yüzden, encoder'den gelen bilgiyi, tur ve yön olarak pic ile alacağım, sonrasında gövdeyi ona göre hareket ettireceğim.

Ancak sorunum şu.
Encoder'i okuyabiliyorum. Yalnız encoder'in eski değerini alamıyorum. Eski değeri almam gerekiyor ki, o an döndüğünde kaç tur dönmüş farkını alabileyim. Bu sorunu nasıl çözebilirim?

mufitsozen

sparkfun sitesindeki bu wind vane/anemometre gibi bir kiti alsaniz hem daha kolay hemde daha ucuz olmazmi?

http://www.robitshop.com/Weather-Meters,PR-164.html

ikinci ve ucunculer gerekirse kendiniz yaparsiniz. Tecrube edinirken sarf edeceginiz zaman ve parayi malzemeye vermis olursunuz.

buda benim nacizane fikrim tabiiki! :-)

bu arada wind vane diye googleda ararsaniz cok fazla faydali bilgi var.

kolay gelsin.

Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

stronger_ht

Bu ürün 209 TL'ye geliyor :)
Daha pahalı olmuş olacak bana.
Diğer türlü 80 TL'lik rotart encoder ile basit bir düzenek işin donanımsal kısmını çözmüş oluyor zaten.

Ancak program kısmındaki olayı çözmem gerekiyor.

Encoder'i okuyabiliyorum şimdi.
Ancak encoder pals saydı saydı durdu, tekrar saymaya başladı diyelim, resetlemeyi yapamıyorum.
Yani bir önceki hareketinde kaç tur saydı bulamıyorum. Sorunum tam da burada başlıyor aslında...

KAZIMUGUR

Başka forumlardan da izlediklerimden gördüğüm o ki , rüzgarcılar bir ,  perendevciler iki , dedektörcüler üç , hiç laf dinlemiyorlar.
Kendi istediklerinden başka şey söyleyenleri takmıyorlar.
O yüzden basit sorunlar bile sayfalar dolusu .....

Bu forumda biraz arasan internette olabilecek en iyi kodları bulabilirdin.
@ETE hocam o işi çözeli çok oldu , sağolsun .

Baştan itibaren konuyu gözden geçir ve başka yerde duyduklarını bir kenara bırakıp buradaki alternatif çözümleri iyice düşün-araştır.
Saat pandülü bile çözüm için fikir verebilir , belli mi olur ? ::)