How To Control a Track Linear Actuator with Arduino

Raylı Lineer Aktüatör Arduino ile Nasıl Kontrol Edilir

Adam Morissette
Adam Morissette
PA Engineer

PA-18 Track Lineer Aktüatör, sabit uzunluktaki en büyük aktüatörümüzdür ve genellikle özel dolapçılık, ev otomasyonu ve robotikte kullanılır. Bir Arduino kartı ile bir aktüatörü kolayca kontrol edebilirsiniz ve bu makale, uygulamanıza kolayca uyarlanabilecek Arduino kontrollü bir lineer aktüatörün nasıl inşa edilip programlanacağını gösterecek!

 

Gerekli Donanım

Aşağıdaki donanım parçaları, Arduino kontrollü bir lineer aktüatör için gereklidir ve hepsi Progressive Automations’tan satın alınabilir:

 

Sistem Bağlantıları

Bu düzende kullanılan aktüatör 12 VDC giriş gerilimi ve tam yükte 8A’ye kadar akım gerektirir. Bu değerler, bir Arduino mikrodenetleyicinin sağlayabileceğinden çok daha yüksektir ve Arduino’dan ‘sihirli’ duman çıkmasına neden olur. Arduino’ya zarar vermemek için MegaMoto Plus H-köprüsü kullanılır. H-köprüsü güç gereksinimlerini karşılayabilir ve bir aktüatörü Arduino ile kontrol etmek için kolayca kullanılabilir.

Bu sistemde Arduino’dan MegaMoto Plus H-köprüsüne ve iki butona bağlantılar vardır. Her buton, Arduino’nun mevcut GPIO pinlerinden seçilecek tek bir girişe ihtiyaç duyar. H-köprüsünün Arduino’ya dört bağlantısı vardır: üç çıkış ve bir giriş. H-köprüsünün kullandığı pinler önceden ayarlanmıştır ve değiştirilemez.

 

Blok Diyagramı

Aşağıdaki blok diyagramı, güç gereksinimlerini ve bağlantıları kısaca açıklar. Arduino 5V bir kaynakla, H-köprüsü ise 12V ile çalışır. İki ayrı güç kaynağı kullanıyorsanız, yüzen toprak senaryosundan kaçınmak için topraklarının ortaklanması önemlidir.

 

Blok diyagramı

 

Arduino Komutları

Masaüstü bir bilgisayar veya dizüstü bilgisayara Arduino IDE’yi kurmanız gerekecektir. Unutmayın ki sisteminizin kablolaması Arduino kodunuzu etkileyecektir. Bu nedenle, bağlantılarınızı iki kez kontrol etmek ve girdiğiniz kodla karşılaştırmak önemlidir.

Arduino’nun pinMode komutu, pinleri giriş veya çıkış olarak tanımlamak için kullanılır. Arduino’nun belirli bir pine hangi sinyali göndereceğini değiştirmek için digitalWrite ve analogWrite komutları kullanılır. Ayrıca, Arduino’nun belirli bir pindeki sinyali kontrol etmesi gerektiğinde digitalRead ve analogRead komutları kullanılır.

Aşağıdaki programda digitalWrite komutu, H-köprüsünü etkinleştirmek/devre dışı bırakmak ve butonlar için kullanılan pinleri yapılandırmak için kullanılır. analogWrite komutu, H-köprüsüne 0 ile 255 aralığında PWM sinyal değerini ayarlamak için kullanılır. digitalRead komutu, butonların basılıp basılmadığını kontrol etmek için kullanılır. analogRead komutu ise aktüatör motorunun çektiği akımı ölçmek için kullanılır; bu, aktüatörün vuruş mesafesinin sonunda olduğunu doğrular.

 

Arduino Kodu

Aşağıdaki bölüm, Arduino kontrollü bir lineer aktüatör için program tanımlarını, kurulumunu, ana döngüsünü ve buton fonksiyonlarını adım adım açıklar. Nasıl çalıştığını anlamak için kodu satır satır gözden geçirmek önemlidir. Bu anlayış, uygulamanıza göre ayarlamalar yapmanıza olanak tanır.

Program Tanımları

Kodun bu bölümü pin bağlantı kurulumudur. Arduino kartına yaptığınız bağlantıların girilen numaralarla eşleştiğini iki kez kontrol edin. Arduino’ya ek bileşenler bağlıyorsanız, pin bağlantılarının kaydırılmasını gerektirebileceğinden bu değerler değiştirilebilir.

Arduino kodu

Program Kurulumu

Kodun bu bölümü, bağlı pinleri giriş veya çıkış olarak yapılandırır. İki buton, nasıl bağladığınıza bağlı olarak (pull-up veya pull-down) HIGH veya LOW olacak şekilde ayarlanabilir. Arduino’nun dahili pull-up dirençleri olsa da, anahtarların seğirmesini (debounce) önlemek ve yanlış tetiklemeleri engellemek için harici bir direnç eklemek isteyebilirsiniz.

Arduino kodu #2

Ana Döngü

Ana döngü, butonlara basılıp basılmadığını sürekli kontrol eder ve buton fonksiyonundan gelen sonuca bağlı olarak belirli bir kod bölümünü çalıştırır. Girişlere (yani butonlara) göre Arduino kontrollü lineer aktüatörün ne yaptığını ve nasıl tepki vermesi gerektiğini belirlemek için bir durum makinesi bölümü dahil edilmiştir.

Arduino kodu #3
Arduino kodu #4

 

Buton Fonksiyonları

Bu fonksiyonlar, bir Arduino kullanarak bir aktüatörü kontrol etmek için butonların durumunu dijital olarak okur. Her buton fonksiyonu, yanlış tetiklemeleri ve Arduino’ya yanlış sinyal gönderilmesini önlemek için ana if ifadesi içinde bir seğirme (debounce) döngüsüne sahiptir. Bu fonksiyonların çıktısı Boolean bir değerdir. Örneğin, başlat butonuna basılırsa, startButton değerinin true olarak değişmesi gibi. Bu Boolean değer daha sonra ana döngüde ek kararlar almak için kullanılır.

Arduino kodu #5

 

Son Sözler

Bu sistemin işlevselliği, bu makalede gösterilenden daha öteye gider. Arduino mikrodenetleyici ve MegaMoto Plus H-köprüsü, çok daha karmaşık kontrol rutinlerini uygulamak için kullanılabilir. Bu kurulum, PWM sinyalini ayarlamak için analogWrite komutunu kullanarak değişken hız kontrolünü destekler. Aktüatör motor akımı, ek komutları tetiklemek üzere yük algılama için izlenebilir.

Ayrıca, gelişmiş bir Arduino kontrollü lineer aktüatör için ilave sensörler bağlanabilir. Örneğin, belirli bir mesafeye geldiğinizde motoru başlatmak/durdurmak veya bir dizi başka heyecan verici işlevi tetiklemek için bir ultrasonik sensör bağlanabilir. İmkanlar sınırsızdır. Ancak, Arduino’da pinler azalıyorsa farklı bir Arduino modeli tercih edebilirsiniz. Alternatif olarak, birden fazla Arduino birbirine zincirleme olarak (daisy-chain) bağlanarak birbirleriyle ve çeşitli bileşenlerle konuşturulabilir. Ancak bu yol kayda değer miktarda programlama deneyimi gerektirir.

Ek bilgi için lütfen bize sales@progressiveautomations.com adresinden e-posta gönderin veya 1-800-676-6123 numaralı telefondan bizi arayın.