Arduino ile Motor Sürücü Hız Kontrolü

Bu örnekte, bir Arduino ve motor sürücüsü ile bir lineer aktüatörün hızını kontrol edeceğiz.

Not: Bu eğitim, temel elektronik ilkeler, Arduino donanımı ve yazılımı ile ilgili ön bilgileri varsayar. Arduino'yu ilk kez kullanıyorsanız, Google ve YouTube aramalarında bulabileceğiniz birçok harika başlangıç ​​eğitiminden birinden temel bilgileri öğrenmenizi öneririz. Lütfen, özel uygulamalar için teknik destek sağlayacak kaynaklara sahip olmadığımızı ve bu genel kullanıma açık eğitimlerin dışında kod veya kablolama şemalarında hata ayıklamayacağımızı, düzenlemeyeceğimizi, sağlamayacağımızı unutmayın.

Bileşenler

Kablolama

Arduino ile Motor Sürücü Hız Kontrolü

Donanım ve yazılıma genel bakış

Doğrusal aktüatörlerdeki DC motorlar, yüksek bir akım (5A'ya kadar) gerektirir, eğer doğrusal aktüatörü doğrudan Arduino'ya bağlasaydık, bu yüksek akım çekimi, Arduino dijital pinlerini yalnızca 40mA olarak derecelendirildikleri için yok ederdi. Bu nedenle, Arduino kartından düşük akımlı bir PWM (darbe genişlik modülasyonu) sinyali alabilen ve doğrusal aktüatöre yüksek akımlı bir PWM sinyali gönderebilen bir motor sürücüsü kullanıyoruz.

Motor sürücüsü iki PWM dijital pinine bağlıdır (Arduino Uno'daki 10 ve 11 numaralı pinler). Bu pimlerden birini DÜŞÜK ve diğerini YÜKSEK (aşağıdaki kodda 18. ve 19. satıra bakın) ayarlayarak aktüatörü maksimum hızda uzatabiliriz. Aktüatörü durdurmak için her iki pimi de DÜŞÜK olarak ayarladık (aşağıdaki kodda satır 21 ve 22'ye bakın) ve hareket yönünü tersine çevirmek için YÜKSEK ve DÜŞÜK pimlerin sırasını tersine çevirebiliriz (aşağıdaki kodda 24 ve 25 satırlarına bakın). "Hız" değişkenini [0, 255] aralığında herhangi bir değere değiştirerek hızı da ayarlayabiliriz; aşağıdaki kodda 17. satıra bakın.

Kod

https://gist.github.com/Will-Firgelli/c0ef0871dc1946d75257e0c29dccae2a

Potansiyometre ile değişken hız kontrolü

Yukarıdaki örnekte, hızı kodun 17. satırında manuel olarak ayarladık. Bununla birlikte, aktüatörün hızını zaman içinde değiştirmek istediğimiz durumlarda ortaya çıkabilir. Bunu başarmanın en kolay yolu bir potansiyometre kullanmaktır. Bir potansiyometrevoltaj bölücü olarak hareket edebilen üç terminalli değişken direnç. Potansiyometrenin düğmesini döndürerek çıkış voltajı değişecektir ve bunu değişken bir hız ayarlamak için bir Arduino'daki analog pime bağlayabiliriz.

Kablolama

Arduino ile Motor Sürücü Hız Kontrolü

Donanım ve yazılıma genel bakış

Yukarıda belirtildiği gibi, potansiyometre, düğme döndürüldüğünde direnci değiştiren döner bir cihazdır. Potansiyometrenin iki dış pini 5V ve GND'ye ve orta pini Arduino analog pini A0'a bağlayarak bir voltaj bölücü oluşturulur. Düğme döndürüldüğünde, Arduino [0, 1023] arasında değişen analog okumaları okuyacaktır.

[512, 1023] aralığındaki değerler için aktüatörün uzatmasını ve [0, 511] değerleri için aktüatörün geri çekilmesini istiyoruz, bu, 22 ve 28. satırlarda basit bir if () / else ifadesiyle sağlanabilir. aşağıdaki kod. Daha sonra map () fonksiyonunu kullanarak (aşağıdaki kodda 23 ve 29. satırlar) bunu aktüatörün hem hızını hem de yönünü kontrol edecek bir PWM sinyaline dönüştürebiliriz.

Kod

https://gist.github.com/Will-Firgelli/d2cdf69edc829974885984b3fb8e4856

Share This Article
Tags:

Need Help Finding the Right Actuator?

We precision engineer and manufacture our products so you get direct manufacturers pricing. We offer same day shipping and knowledgeable customer support. Try using our Actuator Calculator to get help picking the right actuator for your application.