Tek PIC ile 2 adet Rotary Encoder Kontrolü

Başlatan blueboard, 26 Kasım 2025, 20:45:11

blueboard

Ete Hocam, iyi akşamlar. Yardımınıza ihtiyacım var. Yapmak istediğim şu: Eğer mümkünse 16F628A ile 2 adet rotary encoderi kontrol etmek istiyorum. Devre şemasını ve kodları ekledim. Devrede rotary Encoderlerden yanlızca 1 tanesi döndürülebiliyor. Aynı anda 2 rotary Encoder döndürülmüyor. Bu duruma göre 1. Rotary  Encoder dönüyorsa farklı 2 ledten biri  dönüş yönüne göre belirli bir süre yanıp sönecek.    2. Rotary Encoder dönüyorsa yine farklı  2 ledten biri dönüş yönüne göre belirli bir süre yandıktan sonra sönecek.
Özellikle kesmede hatam olduğunu düşünüyorum. Yardımınızı rica ediyorum.


ete

Mantıklı düşünecek olursan iki encoderi aynı anda döndürürsen sistem encoderleri okuyamaz.
Her bir encoder dönüşünü belirli bir kod parçası değerlendiriyor. İşlemci bu kod parçalarını aynı anda nasıl değerlendirsin.
Ancak encoder değerlendirilmesi işlemci tarafından çok hızlı yapılabildiği için aynı anda döndürsende önce birini sonra ikincisini değerlendirerek aynı anda yapıyormuş gibi algılayabilirsin.

Yazdığın kodları olması gerektiği şekilde düzelttim. Bu şekilde çalışıyor.

Ete

ete

#2
Biraz daha eş zamanlı çalışması için ufak bir değişiklik yaptım.
İlişikteki programda bir encoder yöntespiti yaparken diğeride dönüyor ise ikisi birden yön tespiti yapabiliyor.
Simulasyonda biraz gecikme hissediliyor ama gerçek devresinde daha hızlı çalışacağından eminim.

Açıkçası ledlerin bir müddet sonra söndürülmesi işine fazla kafa yormadım. Kolaylıkla halledilebilecek bir konu. Burada önemli olan encoderlerin dönmediği anı tespit edip sonra bir süre bekleyip ledleri söndürmek. Yapamaz isen onuda hallederim.

Ete

blueboard

Ete Hocam, programda ledin bir süre sonra sönmesi için 250 ms bekleme verip ledi söndürdüm.Ancak simulasyonda switch'e dokunup hemen çektiğimde encoder dönmeye başladığında ilgili led yanıyor. Buraya kadar sorun yok. Bekleme süresi olarak verdiğim 250 ms sonunda sönüyor. Fakat bir daha  switch'e basmadığım halde len 2 defa daha yanıp sönüyor. Sonra  tamamen sönük kalıyor. Burada hatam mı var? Yoksa simulasyon mu yanıltıyor? Programı ekliyorum.

ete

Pause ler işi bozuyor. İlişiktekini dene.
Ete

Powered by EzPortal
▲