Hall Etkisi Sensörü
Hall etkisi sensörleri, manyetik alanın varlığını tespit edebilir ve tespit edildiğinde bir çıkış voltajı üretebilir. Hall etkisi sensörleri, birlikte kullanıldığındalineer aktüatörler, genellikle aktüatörün dişli kutusunun içine manyetik bir diskle birlikte yerleştirilir. Doğrusal aktüatör uzadıkça veya geri çekildikçe, bu disk Hall etkisi sensörünü geçerek döner ve bu da sensörün voltaj darbesi şeklinde bir dijital çıkış üretmesine neden olur. Bu darbeler sayılabilir ve aktüatörün ne kadar hareket ettiğini belirlemek için kullanılabilir.
Hall Etkisi Sensöründen Konumsal Geri Bildirim
Konumsal geri bildirim için hall etkisi sensörü kullanmanın dezavantajı, mutlak bir konumu ölçmemeleridir. Bunun yerine, aktüatörün ne kadar hareket ettiğini belirlemek için sayılabilen darbeler üretirler. Bu darbeleri konumsal geri bildirim amacıyla kullanmak için bir mikro denetleyici Üretilen darbeleri saymak için. Bunu yapmak için, bu darbeleri meydana geldikçe saymak için mikro denetleyicinizin harici kesme pinlerini kullanmanız gerekir. Harici kesintiler, voltajdaki bir değişikliği algılayan pinlerdir ve bizim durumumuzda hall etkisi sensöründen gelen voltaj darbesini algılamak için kullanılabilir. Mikro denetleyicinizin hangi pinlerinin kesme pinleri olarak kullanılabildiğinden emin olmak için mikro denetleyicinizin veri sayfasına başvurmanız gerekecektir. Bir kullanarak Arduino Uno örneğin, harici kesintiler için pin 2 ve 3 kullanılabilir. Uygun bir kesme pini seçtikten sonra, hall effect sensör çıkışının kablosunu bu pin'e bağlayabileceğiniz gibi giriş voltajını 5V'a ve toprağı da toprak pinine bağlayabilirsiniz.
Aşağıdaki kod örneği, voltaj darbesinin yükselen kenarında kesintinin tetikleneceği Arduino IDE'de bir kesintinin nasıl ayarlanacağını gösterir. Kesmenizi voltaj değişiminde farklı noktalarda tetiklenecek şekilde ayarlayabilirsiniz ve mevcut seçenekleri belirlemek için mikro denetleyicinizin veri sayfasına başvurmalısınız. Kesmenizi ayarlamak için yapmanız gereken son husus, kesme hizmeti rutininizi yazmaktır; bu, kesme her tetiklendiğinde kodun çalıştıracağı işlevdir. Bu işlev kısa olmalı ve yalnızca hall efekt sensörümüzden gelen darbe sayısını saymak gibi basit görevleri yerine getirmelidir. Aşağıdaki kod örneğindeki countSteps() işlevi, hall etkisi sensöründen gelen darbelerin sayısını saymak için kullanılır.
Konumsal bir değer belirlemek amacıyla bu darbeleri kullanmak için, doğrusal aktüatörün önceki konumunu ve doğrusal aktüatörün hareket ettiği yönü bilmeniz gerekir. Mikro denetleyiciniz, doğrusal aktüatörünüzü hangi yöne sürdüğünüzü zaten bilecektir. böylece kodunuzdaki aktüatörün yönünü izlemek için bir değişken ayarlayabilirsiniz; bu değişken, darbeleri önceki konumunuza ekleyip çıkarmayacağınızı belirlemek için kullanılacaktır. Konumunuzu güncelledikten sonra sayılan darbeleri sıfıra sıfırlamanız gerekecektir. Aşağıdaki kod örneği, sayılan darbe sayısına göre konumu güncelleyen bir işlevi gösterir. Darbe cinsinden bir konuma sahip olduğunuzda, doğrusal aktüatörünüzün inç başına darbe özelliğini kullanarak inç'e dönüştürebilirsiniz. Aşağıdaki kod örneğinde inç başına darbe 3500'dür.
Lineer Aktüatörünüzün Hedeflenmesi
Hall etkisi sensöründen gelen konumsal geri bildirimi doğru bir şekilde kullanmak için doğrusal aktüatörünüzün başlangıç konumunu her zaman bilmeniz gerekir. Ancak sisteminizi ilk açtığınızda mikro denetleyiciniz aktüatörün uzatılıp uzatılmadığını anlayamayacaktır. Bu, doğrusal aktüatörünüzü bilinen bir konuma getirmenizi gerektirecektir. Doğrusal aktüatörünüzü dengelemek için, onu tamamen geri çekilmiş gibi bilinen bir konuma getirmeniz gerekecektir. Şunlardan da yararlanabilirsiniz harici limit anahtarları Bilinen konumunuzu tamamen uzatılmış veya geri çekilmiş konum dışında bir yere ayarlamak için. Aşağıdaki Arduino kodunu örnek olarak kullanarak, doğrusal aktüatörümüzü bilinen konumunuza doğru yönlendirecek, bu durumda tamamen geri çekilmiş bir WHILE döngüsü kurmak isteyeceğiz. Hall etkisi sensörünün kesintisi tetiklenmeyeceği için bilinen konumumuzda olduğunuzu biliyoruz. Bu durumda, kesmenin tetiklenip tetiklenmediğini belirlemek için adımlar değişkeninin değişip değişmediğini kontrol ederiz. Ayrıca kesmenin tetiklenmesini beklemek için yeterli sürenin geçtiğinden emin olmamız gerekir, bunun için kodun başlamasından bu yana geçen süreyi milisaniye cinsinden çıkaran millis() işlevini kullanırız ve bunu önceki zaman damgasıyla karşılaştırırız. . Doğrusal aktüatörün ana konumumuzda olduğunu belirledikten sonra aktüatörü sürmeyi durdururuz, adım değişkenini sıfırlarız ve WHILE döngüsünden çıkarız.
Yanlış Tetikleyicilerle Başa Çıkmak
Hall etkisi sensörleri elektriksel gürültüye potansiyometre kadar duyarlı olmasa da, elektriksel gürültü yine de çıkış sinyalini etkileyebilir. Anahtarın sıçraması, sayılacak yanlış darbeleri tetikleyebilecek, mikro denetleyicinizin doğrusal aktüatörünüzün ne kadar hareket ettiğini düşündüğünü etkileyebilecek hall etkisi sensörleriyle ilgili bir sorun da olabilir. İnç başına 1000'lerce darbe olduğundan fazladan birkaç darbe konumlandırmayı çok fazla etkilemez, ancak zamanla daha büyük bir sorun olabilir. Yanlış tetikleyicileri filtrelemek için dahili bir zamanlayıcı kullanarak bu sorunlarla mücadele edebilirsiniz. Yeni darbelerin ne sıklıkta algılanmasını bekleyebileceğinizi belirleyebileceğiniz gibi, kesintinin gürültü tarafından ne zaman tetiklendiğini filtreleyebilirsiniz. Aşağıdaki kod örneğinde trig-Delay, her darbe arasındaki zaman gecikmesidir. Eğer kesinti bu gecikmeden önce tetiklendiyse darbe sayılmaz.
Bu gecikmenin süresi uygulamanıza bağlı olarak değişecektir ancak çok kısa olması gürültüyü düzgün bir şekilde filtrelemeyecektir ve çok uzun olması durumunda doğrusal aktüatörden gelen gerçek darbeleri kaçıracaktır. Doğrusal aktüatörün hızı da bu gecikmeyi etkileyecektir ve eğer hızı ayarlamak isterseniz, bu değişkenin beklenen darbelerin yeni frekansına ayarlanması için değişmesi gerekebilir. Her darbe arasındaki kesin gecikmeyi doğru bir şekilde belirlemek için, hall etkisi sensöründen gelen gerçek sinyali görüntülemek üzere bir mantık analizörü kullanabilirsiniz. Çoğu uygulamada bu gerekli olmasa da çok kesin konumlandırmaya ihtiyacınız varsa kesin bir gecikme belirlemek isteyebilirsiniz.
Yanlış tetikleyicilerle mücadele etmenin bir başka yolu da aktüatörün bilinen bir konuma ulaştığı her seferde konum değerini düzeltmektir. Doğrusal aktüatörün hedeflenmesi gibi, doğrusal aktüatörü tamamen geri çekilmiş veya uzatılmış bir konuma sürdüyseniz veya harici limit anahtarlarıaktüatörün ne kadar hareket ettiğini bileceksiniz. Hall etkisi sensörünün bilinen konumunuza ulaşmak için kaç adım göndermesi gerektiğini bildiğiniz için, bu değere ulaştığımızda kolayca düzeltebilirsiniz. Aşağıdaki kod örneğinde bu, tamamen uzatılmış ve tamamen geri çekilmiş konumlar için yapılır. Aktüatör bu konumlardan birine ulaştığında hareket etmeyeceğinden, aktüatörü sürmeye çalışırsak ve konum değeri değişmezse sınırda olduğumuzu anlarız. Bu yöntem, özellikle çalışma sırasında bir noktada aktüatörünüzü tamamen geri çekiyorsanız veya tamamen uzatıyorsanız, konum değerinizin doğru kalmasını sağlamak için pratik bir çözüm sunar. Bu yöntemi, konumsal değerinizin doğruluğunu korumaya yardımcı olacak, yukarıda açıklanan yöntemle birlikte kullanabilirsiniz.
Özet
Konumsal geri bildirim için hall etkisi sensörünün kullanılması, potansiyometreden gelen geri bildirime kıyasla çok daha yüksek çözünürlük sağlar. Hareketin inç başına 1000'lerce darbe olabileceğinden, hall etkisi sensörleri doğrusal aktüatörünüzün konumlandırılmasında hassasiyet ve güvenilirlik sağlar. Hall etkisi sensörleri ayrıca, darbe sayımları potansiyometrenin değişen voltajından daha doğru olduğundan, birden fazla doğrusal aktüatörün aynı anda birlikte hareket etmesini sağlamak için daha fazla yetenek sağlar. Bizim kullanımımız FA-SYNC-X Aktüatör kontrolörü sayesinde, aktüatörlerin yükten bağımsız olarak uyum içinde hareket etmesini bile sağlayabilirsiniz. DIY meraklıları için, bir Arduino kullanarak aktüatörlerinizin uyum içinde hareket etmesini nasıl sağlayacağınızı kontrol edebilirsiniz. Burada.
Aşağıda bu blogda kullanılan örnek kodun tamamı yer almaktadır ve 14 inçlik bir vuruş uzunluğunu kontrol etmek için oluşturulmuştur Bullet Serisi 36 Kal. Lineer Aktüatör. Doğrusal aktüatör bir kullanılarak tahrik edilir motor sürücüsünasıl kurulacağını öğrenebileceğiniz Burada.
[1] Monari, G. (Haziran, 2013) Optik ve Manyetik Kodlayıcılarda Çözünürlüğü Anlamak. Alınan: https://www.electronicdesign.com/technologies/components/article/21798142/understanding-resolution-in-optical-and-magnetic-encoders