Picproje Elektronik Sitesi

SERBEST BÖLGE => Programlama ve Algoritma => Konuyu başlatan: gokhangokcen - 05 Mayıs 2022, 17:44:31

Başlık: Çok sayıda encoderi aynı anda okumak
Gönderen: gokhangokcen - 05 Mayıs 2022, 17:44:31
Merhabalar,
Şu aralar encoder okumayla ilgili ilgileniyorum. Şu ana dek en fazla 3 adet encoderi aynı anda okumuşluğum var. Fakat şu an 20 adet A-B pulse üreten (incremental) encoderi aynı anda okuyup belli bir işlemlerden geçireceğim. Her bir encoderin pulse'i maksimum olarak 100hz mertebesinde. Aynı zamanda ethernet ve ekran olacak kart üzerinde.
Şimdi ekran ve ethernet kısımlarında bir sorun yaşayacağımı sanmıyorum. Ama encoder kısmı beni biraz düşündürüyor. Donanımsal olarak bu kadar fazla encoder girişi olan bir işlemci yok. Harici kesme ile okuyayım diyeceğim ama aynı anda oluşan kesmelerden dolayı bir sıkıntı yaşama ihtimalim var mıdır?

Aklıma gelen bir kaç seçenek;
-Farklı slave kartlar ile 2-3 civarı encoder oku, master kart üzerinden slavelerden bu bilgileri oku ve aynı zamanda ethernet ile ekran işlerini yürüt.
-Her şeyi tek kart ile hallet (RTOS bu işlerin hakkından gelebilir diye düşünüyorum frekans çok yüksek değil)
...

Siz olsanız bu durumda nasıl bir yol çizerdiniz?
Farklı bakış açılarınız olabilir, fikirlerinizi bildirirseniz memnun olurum.
Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: z - 05 Mayıs 2022, 17:56:08
Encoder frekansin dusuk olduuna gore 10Khz de timer int ile int rutininde portlari tarayip soft olarak halledebilirsin.

Yada HP nin hazir cipleri var.

Yada CPLD ile cozersin.
Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: ziyaretci - 05 Mayıs 2022, 20:01:10

Tek kanal ADC ile iş çözülür.  8-)

Not: Evde denemeyiniz.   :D

Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: Tagli - 05 Mayıs 2022, 20:03:46
Ben olsam maliyeti biraz arttırmayı göz önüne alarak her encoder için ayrı bir işlemci kullanırdım. Bulabileceğin en ucuz STM32 yeterli olacaktır. Sonra da bunları Modbus veya CAN Bus ile ana karta bağlarsın. Hem modüler olur, hem ana işlemciyi yormaz, hem de encoder'ları uzak mesafelere daha kolay konumlandırabilirsin. Üstelik gelecekte daha yüksek frekansta dönmeleri de tespit edebilirsin.

Fantezi yapmak istiyorsan CANopen CiA 406 (https://www.can-cia.org/can-knowledge/canopen/cia406/) destekli bir ürün tasarlama işine de girebilirsin tabi :)
Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: gokhangokcen - 05 Mayıs 2022, 20:19:41
Alıntı yapılan: Tagli - 05 Mayıs 2022, 20:03:46Ben olsam maliyeti biraz arttırmayı göz önüne alarak her encoder için ayrı bir işlemci kullanırdım. Bulabileceğin en ucuz STM32 yeterli olacaktır. Sonra da bunları Modbus veya CAN Bus ile ana karta bağlarsın. Hem modüler olur, hem ana işlemciyi yormaz, hem de encoder'ları uzak mesafelere daha kolay konumlandırabilirsin. Üstelik gelecekte daha yüksek frekansta dönmeleri de tespit edebilirsin.

Fantezi yapmak istiyorsan CANopen CiA 406 (https://www.can-cia.org/can-knowledge/canopen/cia406/) destekli bir ürün tasarlama işine de girebilirsin tabi :)

İlerleyen süreçte amacım böyle bir şey yapmak @Tagli hocam. Ama şu an için bunu yapabilecek CanOpen bilgim yeterli değil diye düşünüyorum. Her encoder için ayrı modül çözümüde mantıklı ama 20 adet ayrı kart ve bir master biraz maliyetli olacak gibi bunuda değerlendireyim

@z hocamın dediği çözüm biraz daha basit çözüm olacak gibi.

Yanıtlarınız için teşekkür ediyorum.
Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: Emre_Tuncay_ - 05 Mayıs 2022, 20:25:38
@erkantr67 çözümünüz hakkında bir sorum olacak. Yönteminizin ilk girişinde yani pwm modülatörünün girişine verdiğimiz enkoder bilgisini ne ile okuyup vereceğiz. Yönteminiz için tekrardan 20 adet enkoder okuyucusuna ihtiyaç var.  :)

Ben olsam @Tagli 'nin dediği gibi her enkoder için veya birden fazla enoder için okuyucu cihazlar geliştirir bunları ana bir cihaz ile haberleştirirdim.

Belkide fpga kullanılabilir. Maliyet veya mühendislik süreçleri tabi tartışmalı olacaktır.
Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: ziyaretci - 05 Mayıs 2022, 21:03:04
Alıntı yapılan: Emre_Tuncay_ - 05 Mayıs 2022, 20:25:38@erkantr67 çözümünüz hakkında bir sorum olacak. Yönteminizin ilk girişinde yani pwm modülatörünün girişine verdiğimiz enkoder bilgisini ne ile okuyup vereceğiz. Yönteminiz için tekrardan 20 adet enkoder okuyucusuna ihtiyaç var.  :)

Ben olsam @Tagli 'nin dediği gibi her enkoder için veya birden fazla enoder için okuyucu cihazlar geliştirir bunları ana bir cihaz ile haberleştirirdim.

Belkide fpga kullanılabilir. Maliyet veya mühendislik süreçleri tabi tartışmalı olacaktır.

Tamam, aklınızdaki dönüşümün maliyetini  düşüreyim biraz; bir diyot, bir R(C//R).

İlk iki maddeden kurtardım sizi, hadi yine iyisiniz.  :P

Not: Ters orantı almayı unutmayın!

Dipnot: Ta**akta geçilmiyor bunlarla. Nasıl yaşıyorsunuz bu dünyada? Hea!?

Sizin yüzünüzden sanat gelişmiyor bu ülkede.  >:(

Robotlar sizin gibileri ele geçirecek, aklınız fikriniz var-yok sistemlerde. 

Hııh!  ;D

 Düzeltme 3: Orantı diyotun yönüne göre değişir.

Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: Emre_Tuncay_ - 05 Mayıs 2022, 22:12:01
@erkantr67 taştaş'ta geçilmiyor demişsiniz ama benim taştaş geçtiğimi anlamamışsınız. Tamam sizsiniz. ;D
Başlık: Ynt: Çok sayıda encoderi aynı anda okumak
Gönderen: ziyaretci - 05 Mayıs 2022, 22:19:04
Alıntı yapılan: Emre_Tuncay_ - 05 Mayıs 2022, 22:12:01@erkantr67 taştaş'ta geçilmiyor demişsiniz ama benim taştaş geçtiğimi anlamamışsınız. Tamam sizsiniz. ;D
Dıdısının dıdısı... :P