Blog yazıları: Arduino veya Raspberry Pi, Hall etkisi aktüatörümüz PA-04-HS ile nasıl iletişim kuruyor?

Arduino veya Raspberry Pi, Hall Etkisi Aktüatörümüzle Nasıl İletişim Kurar: PA-04-HS

Guest Writer
Guest Writer
PA Engineer

Progressive Automations’ın bir başka teknik bloguna daha hoş geldiniz! Bugün, bir Arduino’nun PA-04-HS modelimizle nasıl iletişim kurabileceğini ana hatlarıyla anlatacağız.

Hall etkisi sensörü, bir lineer aktüatörün hassas şekilde kontrol edilmesini sağlayan elektronik bir bileşendir. Genellikle dişli kutusunun içinde, manyetik bir diskle birlikte konumlandırılır. Lineer aktüatör hareket ederken manyetik disk döner ve Hall etkisi sensöründen geçen bir manyetik alan oluşturur. Bu da, lineer aktüatörün konumunu, hızını veya yönünü belirlemek için sayılabilen bir gerilim darbesi üretir. Ancak bu sinyallerden yararlanmak için Arduino veya Raspberry Pi gibi bir mikrodenetleyici kullanılmalıdır. Bu yazıda, bir Raspberry Pi için bir aktüatörün nasıl kullanılacağına ve bir lineer aktüatörün Arduino ile nasıl kontrol edileceğine değineceğiz. Belirtildiği gibi, her iki mikrodenetleyici de Progressive Automations’ın PA-04-HS Hall Etkili Lineer Aktüatörü ile gösterilecektir.

PA-04-HS, entegre Hall etkisi geri beslemeyle birlikte gelir!

Konum, Hız ve Yön Hesaplamaları

Özel ayrıntılara girmeden önce, Hall etkisi sensöründen gelen sinyallerin bir lineer aktüatörün konumunu, hızını ve yönünü hesaplamak için nasıl kullanıldığını anlamak gerekir. PA-04-HS’te Hall etkisi sensörü, iki ikili durumda (açık veya kapalı) iki sinyal üretecek şekilde tasarlanmıştır. Bu iki sinyal, aralarında 90 derecelik faz farkı olacak şekilde elektrik Motor döndükçe yükselir ve düşer. Bu sinyallerin bir mikrodenetleyici tarafından okunabilecek koda nasıl uygulanacağını bilmiyorsanız endişelenmeyin; bunu yazının ilerleyen bölümlerinde vereceğiz.

Konum

Lineer aktüatörün konumu, Hall etkisi sinyalleri ve aktüatörün bazı ölçümleri kullanılarak yapılan birkaç hesaplama gerektirir. Aktüatör çubuğunun konumu için eşitlik, aktüatörün vuruş mesafesini ve tamamen geri çekilmeden tamamen uzamaya kadar algılanan toplam kenar sayısını gerektirir. Bu ölçümlerle aşağıdaki eşitlik kullanılabilir:

Denklem 1

 

Yukarıdaki eşitlikte, tamamen geri çekildikten sonra algılanan kenarlar sıfırdan başlar; ileri yönde bir kenar algılandığında bir artar, geri yönde bir kenar algılandığında ise bir azalır.

 

Hız

Bir aktüatörün hızı, programa bir zamanlayıcı yerleştirilerek Hall etkisi sinyalleri kullanılarak ölçülebilir. Bu zamanlayıcı, algılanan kenarlar arasındaki süreyi ölçmek için kullanılır. Ayrıca, algılanan kenar başına vuruş mesafesindeki değişimin hesaplanan değeri gereklidir. Bu değerlerle aşağıdaki eşitlik kullanılabilir:

Denklem 2

 

Yön

Bir aktüatörün hareket yönü, iki sinyalin (A ve B sinyali) mevcut durumuna bakılarak ve bu durumun önceki durumla karşılaştırılmasıyla belirlenebilir. Bunun nedeni, aktüatörün hareket yönüne bağlı olarak hangi sinyalin önde, hangisinin geride olduğunun değişmesidir.

İki sinyalin durumunun şeması (Sinyal A ve B)

 

İki sinyalin durumunun tablosu (Sinyal A ve B)

 

Hangisi Daha İyi: Arduino mu Raspberry Pi Mikrodenetleyici mi?

Genel olarak hangisinin daha iyi olduğu değil, amacınıza yönelik uygulamanız için hangisinin daha iyi olduğu önemlidir. Uygulamanızın ana görevi Hall etkisi sensöründen veri okumak ve belirli bir komut seti döndürmekse Arduino tercih etmek daha iyi olacaktır.

Öte yandan, bir kişisel bilgisayarda gerçekleştirilecek görevleri çözmek söz konusu olduğunda Raspberry Pi daha pratik olacaktır. Ayrıca, Raspberry Pi; internete bağlanma veya bir mobil cihaz üzerinden lineer aktüatörü kontrol etme gibi çeşitli senaryolarda iş akışı yönetimini basitleştirir.

Farklı görevleri çözmek için her iki mikrodenetleyiciyi birden kullanmak da uygun olabilir. Raspberry Pi, koda erişip çeşitli parametreleri ayarlayabilir ve bu parametreler bir Arduino’ya gönderilerek topladığı bilgilere dayanarak lineer aktüatör kontrol edilebilir.

Şimdi ayrıntılara dalalım ve Arduino ile bir lineer aktüatörü nasıl kontrol edeceğinizi gösterelim.

 

Lineer Aktüatörlerle Arduino

Arduino Uno Rev3

 

Yine, uygulamanıza bağlı olarak, dijital sinyallerle çalışırken bir mikrodenetleyicide yoklama (polling) yöntemi veya kesme (interrupt) arasında seçim yapabilirsiniz. Yoklama, bir mikrodenetleyicinin bir girişin durumunu periyodik olarak kontrol ederek değişiklik olup olmadığını görmesini sağlayan programlı bir yöntemdir. Kesmeler, bir girişteki durum değiştiğinde mikrodenetleyicinin programının odağını derhal değiştiren donanımsal bir mekanizmadır.

Gösterim amacıyla, bir sinyalin durum değiştirdiği tam anı bilmek için kesme yöntemini tercih edeceğiz. Bir Arduino mikrodenetleyicide kesme, bir Kesme Servis Rutini (ISP) oluşturularak kullanılır.

İhtiyacınız olanlar:

 

Arduino ve Shield Bileşenlerinin Bağlantısı

Hall etkisi sensörlerinin 4 kablosu vardır: 5V, GND ve 2 adet sinyal kablosu. Her sinyal kablosu, motor dönerken darbeler verir. MegaMoto’ya bağlanması gereken iki aktüatör kablosu da vardır. Hall etkisi sinyallerinden yalnızca birini kullanacağız.

Lineer aktüatörü Arduino ve MegaMoto’ya aşağıdaki gibi bağlayın:

  • Kırmızı sensör kablosu Arduino 5V pinine.
  • Siyah sensör kablosu Arduino GND pinine.
  • Sarı/Turuncu kablo Arduino pin 2 veya 3’e (farklı bir Arduino kullanıyorsanız, pinlerin kesme destekli olduğundan emin olun).
  • Kırmızı aktüatör kablosu MegaMoto’nun MOTA’sına.
  • Siyah aktüatör kablosu MegaMoto’nun MOTB’sine.

Motorlar kartlara doğru şekilde bağlandıktan sonra, güç kaynağını şu şekilde bağlayın:

  • 12V’u BAT+’a bağlayın.
  • GND’yi BAT-’a bağlayın.
  • 12V’u Arduino’daki Vin’e bağlayın.
  • Arduino üzerinde 7 ve 8 numaralı pinler arasına iki buton bağlayın ve bunları GND’ye bağlayın.

Kesme için 4 tetik türü vardır: Yükselen, Düşen, Yüksek ve Düşük. Tetik türünü değiştirerek kesmenin ne zaman gerçekleşeceğini ayarlayabilirsiniz. Yükselen, pinin düşükten yükseğe geçiş görmesi; Düşen, yüksekten düşüğe geçiş görmesi; Düşük, pinin düşük olduğu; Yüksek ise pinin yüksek olduğu durumdur.

Tam Arduino kodu için buradaki rehberimizi ziyaret edin: Hall Etkili Lineer Aktüatör Arduino Kodu

Kod, pin 7 veya 8’deki düğmelere bastığınızda aktüatörü belirli bir miktarda ileri veya geri hareket ettirir (aktif LOW). Ayrıca bir referans (homing) rutini içerir. Bu önemlidir; çünkü motoru uzun süre ileri geri çalıştırırsanız yer yer sayım kaybedebilir ve konumunuzu yavaş yavaş şaşırabilirsiniz. Referans rutini, sayacın sıfırlanabilmesi için lineer aktüatörü bilinen bir konuma geri taşır.

 

Raspberry Pi Aktüatör

Peki, bir aktüatör bir Raspberry Pi 2, 4 veya daha yeni bir modele nasıl bağlanır? Bir lineer aktüatörü Raspberry Pi ile kontrol etmek basittir ve internet üzerinden yapılabilir; bu da kablosuz kontrol sağlar. Nasıl yapıldığını adım adım görmek için şu rehberdeki adımları uygulayın: Raspberry Pi Lineer Aktüatör Kontrolü.

Raspberry Pi 4, sunucu yazılımını çalıştırmak ve lineer aktüatörün kontrolü için komutları almak üzere kullanılır. Ancak bu rehber, Hall etkisi sensörü kullanmaz. Bunu yapmak için, bir Arduino kartı lineer aktüatöre ve Raspberry Pi’a bağlanarak verilerin kablosuz gönderilip alınması sağlanabilir. Raspberry Pi da tıpkı Arduino gibi sensör verilerini doğrudan okumak için kullanılabilse de yalnızca birkaç lineer aktüatörü kontrol ediyorsanız bu aşırı olabilir.

 

Birden Fazla Lineer Aktüatörü Kontrol Etme

Hall Etkisi Sensörlü Aktüatör IP66 Model: PA-04-HS

 

Birden fazla lineer aktüatörü Raspberry Pi veya Arduino ile kontrol etmeniz gerekiyorsa, birkaç ek bileşene ihtiyaç duyulur ve kodun uyarlanması gerekir. İki veya daha fazla lineer aktüatör, Hall etkisi sensörü sayımları izlenerek senkronize edilebilir; lineer aktüatörlerin sayımları birbirinden fazla uzaklaşırsa, konumları eşitlemek için her bir lineer aktüatör yavaşlar.

Tam talimat setini burada görüntüleyin: Bir Mikrodenetleyici ile Birden Fazla Lineer Aktüatörü Kontrol Etme

Alternatif olarak, senkronizasyon uygulamanızın bir parçası değilse, mevcut kesme pinlerinin sayısına bağlı olarak bir veya iki aktüatör için basitçe bir Arduino kullanın. Daha fazla aktüatörü kontrol etmek için ya daha fazla Arduino kartı kullanabilir ya da daha fazla kesme pini olan bir Arduino shield edinebilirsiniz.

Üstün aktüatör kontrolü için mikrodenetleyici yelpazemizi inceleyin!

Sonuç

Zorluğa hazırsanız, Arduino ile lineer aktüatörlerin hareketini kontrol etmek için deneyebileceğiniz ek yöntemler vardır; örneğin burada görebileceğiniz kullanışlı bir PID kodu gibi: Lineer Aktüatör PID Kontrolü. PA-04-HS gibi, lineer aktüatörün içine yerleştirilmiş bir Hall etkisi sensörü, Arduino veya Raspberry Pi’ın yardımıyla kolayca kurulabilen ek bir kontrol seviyesi sağlar. Uygulamanız yalnızca sensör verilerini okumayı gerektirsin ya da lineer aktüatörünüzü çevrimiçi hâle getirerek bir sonraki seviyeye taşımak isteyin; bir Hall etkisi sensörü, seçtiğiniz bir mikrodenetleyiciyle birlikte doğru yoldur.

Bu makalenin içeriği hakkında herhangi bir sorunuz varsa veya olası ürün çözümlerini görüşmek istiyorsanız lütfen bizimle iletişime geçin; size yardımcı olmaktan memnuniyet duyarız.