Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
Share Thread:
[Soru] Raspberry pi ile titreşim motorunu çalıştırma yöntemi?
#1
Merhabalar, genel olarak forumda sorulan sorulara pek cevap verilmemiş gördüğüm kadarıyla ancak ben yine de şansımı denemek istiyorum Smile Bitirme tezim bunun üzerine, lütfen bilenler cevap versin.
mini-titresim-motoru-2-7mm-mini-vibratio...00x500.jpg 
Yukarıdaki fotoğrafta gördüğünüz gibi 16 mini titreşim motorunu gelecek verilere göre farklı değerlerde titreştirmem gerekiyor.Burada PWM giriyor işin içine bunu yazılım ve ya harici bir shield ile çözmeyi düşünüyorum. Ancak raspberry pi'nin GPIO'su bunları çalıştırmak için yetersizmiş sanırım. Bunun için transistor kullanmam gerektiğini söylediler ama bunları nasıl birbirine bağlayacağımı veya hangisini almam gerektiğini bilemiyorum. Bilgi verebilecek biri var mı? Nette bayağı aradım ancak genelde transistör almalısın deyip geçilmiş.
Ara
Cevapla
#2
Ya spi arayüze sahip bir sürücü şunun gibi :

http://ww1.microchip.com/downloads/en/de...21952a.pdf

Ya da bir mcu ile sen yapacaksın. Fet ile sürersin daha sağlıklı olur. mcu ile kabaca şöyle yapabilirsin.

her kanal için uart üzerinden bir numara gönderirisin mesela 1. motor "a" olur raspi üzerinden "a" verisini gönderirsin. mcu tarafında da gelen verileri bir dizi içine atar karşılaştırırsın. ardından "a" için atadığın port mesela rb0 olsun aktif edersin ardından "50" verisini gönderirsin yazılımsal pwm ile 50 verisini rb0 a yüklerisin..

Tabi 16 kanal olunca hüksek hızlarda çalışan bir mcu seçmek lazım

yazılımsal pwm'e örnek

http://320volt.com/mikroc-dersleri-12/

Kod:
   Void PWM_YAZILIM(unsigned short PWM_DEGER){
   For(i=0;i Delay_us(1);
   PORTB.RB0=1; yada PORTB= 0B10000000 (YA DA hex değer)
   }
   For(i=0;i<255-PWM_DEGER;i++){
   Delay_us(1);
   PORTB.RB0=0; yada PORTB= 0B00000000
   }

   }
Mikro c ile hazırlanmış.

rbo yerine bir değişken atar gelen veriye göre yönlendirme yaparsın.
Ara
Cevapla
#3
(02-13-2016, 01:14 AM)100_metre_otede Nickli Kullanıcıdan Alıntı: Ya spi arayüze sahip bir sürücü şunun gibi :

http://ww1.microchip.com/downloads/en/de...21952a.pdf

Ya da bir mcu ile sen yapacaksın. Fet ile sürersin daha sağlıklı olur. mcu ile kabaca şöyle yapabilirsin.

her kanal için uart üzerinden bir numara gönderirisin mesela 1. motor "a" olur raspi üzerinden "a" verisini gönderirsin. mcu tarafında da gelen verileri bir dizi içine atar karşılaştırırsın. ardından "a" için atadığın port mesela rb0 olsun aktif edersin ardından "50" verisini gönderirsin yazılımsal pwm ile 50 verisini rb0 a yüklerisin..

Tabi 16 kanal olunca hüksek hızlarda çalışan bir mcu seçmek lazım

yazılımsal pwm'e örnek

http://320volt.com/mikroc-dersleri-12/

Kod:
   Void PWM_YAZILIM(unsigned short PWM_DEGER){
   For(i=0;i Delay_us(1);
   PORTB.RB0=1; yada PORTB= 0B10000000 (YA DA hex değer)
   }
   For(i=0;i<255-PWM_DEGER;i++){
   Delay_us(1);
   PORTB.RB0=0; yada PORTB= 0B00000000
   }

   }
Mikro c ile hazırlanmış.

rbo yerine bir değişken atar gelen veriye göre yönlendirme yaparsın.

Teşekkür ederim cevap için. Peki motor sürücü olarak hangi motor sürücü almamı tavsiye edersin? Motor sürücü almayı düşünüyorum da bunun için.
Ara
Cevapla


Hızlı Menü:


Konuyu Okuyanlar: 1 Ziyaretçi