Merhabalar,
Bu uygulamamızda ise Arduino kullanarak Brushless yani fırçasız motorumuza hareket vermeye çalışacağız.
Gerekli malzemeler:
- Brushless DC Motor
- Electronic Speed Controller (ESC)
- Potansiyometre
- Bağlantı Kabloları
- Güç Kaynağı (Kaynak olmadan da Arduino besleyebiliyor fakat motor devri çok düşük kalıyor)
- Ve tabi ki Arduino :)
Bağlantılarımızı aşağıdaki resmide belirtildiği şekilde yapmalıyız:
Bağlantıları yaptıktan sonra sıra Arduino'yu programlamaya geliyor:
Koda direkt ulaşmak için:
const int potpin = A0;
const int escpin = 9;
int val;
void setup(){
pinMode(potpin, INPUT);//Potansiyometre pinimizi input olarak tanımladık.
pinMode(escpin, OUTPUT);//ESC pinimizi output olarak tanımlandık.
}
void loop(){
val = analogRead(potpin); //İnputumuzun Analog input
val = map(val, 0, 1023, 0, 179);
analogWrite(escpin,val);
delay(15);
}
potansiyometre kaçlık belirtmemişsiniz?
ReplyDeleteKodda gördüğünüz map fonksiyonu ile 0-1023 değerini 0-179 'a sıkıştırmışız. 0-1023 pot değerini gösteriyor. 1k'lık potansiyometre kullanmışım.
Deletehocam devredeki elemanların güçlerini istesek sizden
ReplyDeleteEsc ye analog sinyal göndermek fırçasız motor sürmek mi oluyor? Esc nin yaptığı şeyi arduino ile yaparsanız başlığı hak edersiniz anca.
ReplyDeleteDostum o motor ESC den kaç amper çekiyor biliyor musun acaba? Sadece arduino ile bunu sağlayamazsın yanar gider.
Deletekadirçalışka a katılıyorum arduino bu iş için yapılmamış. transistör ve ilave bir entegre kullanılmalı. vakti olup uğraşmak isteyene;https://simple-circuit.com/arduino-brushless-dc-motor-control-l6234/
DeleteKaç Hz pwm
ReplyDeletehocam bazen çalışıyo baazen çalışmıyo ve servolarla birlikte çalıştırınca belli bi süreden sonra herşey bırbirine giriyo. acaba esc mi bozuk bi türlü bulamadım
ReplyDeletetesekkurler guzel bir paylasim👍👍👍👌
ReplyDeleteNeden 0 ile 179 arasına sıkıştırdınız? Neden 255 değil?
ReplyDeleteben bu motoru belırlı bır yuksek hızda duz ve ters döndermek iştiyorum bunun için ne yapmalıyım
ReplyDeletepotansiyometre kullanmadan , arduino kart üzerinden devir ayarı yapabileceğimiz kod dizini nedir acaba ?
ReplyDeleteyardımlarınız için tşkler .
arayüz oluşturmak gerekiyor. serial ekrandan komutta verilebilir ama bu her defasında komutu enter ile tamamlaman demek.
Deletejava arayüzler için http://johnny-five.io/examples/motor-directional/
Deletereis 8 tane motoru nasıl kontrol edeceğiz klavye üzerinden mesela w ya bastığında motor hızlansın s ye bastığında yavaşlasın
ReplyDelete