18f45k22 ile Capture/Compare/PWM Modules (CCP)ile motor turunu ölçmek

Başlatan F®T, 20 Mayıs 2013, 23:56:48

F®T

arkadaşalar 18f45k22 ile hardware olarak 2 ayrı motorun attığı turu ayrı ölçmek istiyorum.motorlar yaklaşık toplamda 0 ile 2000 tur ölçüm yapacam.bu işlemcide 2 adet ccp 3 adette eccp var.bu özelliklerin hardware olarak kullanabilmek için  ne gibi registerlerin ayarlanması gerekiyor.
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Kullanmadığım bir işlemci bu. Bu nednele data sheet'e baktım. Ortaya çıkan sonuç şöyle;

1. Öncelikle CCP1 ve CCP2 pinleri giriş olarak ayarlanacak. Motorların puls girişleri bu pinlerden yapılacak.

2. Her bir kanal için bir Timer modülü kullanılması gerekiyor. Bunlar TMR1 - TMR3 ve TMR5 olabiliyor.  Seçim işi CCPTMRS0 ve CCPTMRS1 registerleri ile yapılmaktadır.

3. CCP1CON ve CCP2CON registerleri Capture için ayarlanacak.  (3-0 bitleri ile)

4. Capture sayaçları CCPRxH:CCPRxL registerleri dir. Belirli bir süre tutup sonra bu registerlerden captur sayıları okunacaktır.
   
5. Bu iş için ksme kullanılacak ise hangi timer kullanılmış ise ona ait PIRx registerinin CCPxIF biti set edilir.
   İşe başlarkan yanlış kesmeyi önlemek için bu bit sıfırlanmalıdır.
   Ayrıca kullanılan timer modülüne göre PIEx registeri kesme için ayarlanmalı ve global kesmeler ile Peripheral kesmeler aktif edilmelidir.

Ete

       

F®T

Ete hocam selamlar.ilginiz için teşekkür ediyorum.isis devresini hazırlayıp programda denicem.fakat bu motorun durana kadar yapmış olduğu toplam turu ölçecem.her turu dişli çıkışında oluşan mesafe ile çarpıp yapılan yol kaç mm veya cm ise onu bulucam.burda bu tip uygulamalarda genelde devir/dakika bulmak için işlem yapılıyor.bu ayarlarla dediğim işlemi sıkıntısız yapma şansım varmı?
"Hakk" şerleri hayr eyler Zannetme ki gayr eyler Ârif anı seyreyler Mevlâ görelim neyler Neylerse güzel eyler.

ete

Öyle veya böyle bu sistem oyomatik puls sayar. 16 bit timer kullandığı için 65535 e kadar saydırabiirsin. Bir turda bından fazla sayıyor ise bölme oranını değiştirip örneğin 4x65535 saydırabilirsin. Tabiiki bölme kullanınca sonucu bulmak için bölme oranı ile çarpman gerekir.
Ete

Powered by EzPortal