İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
TLV493D sensörlü robotunuz için alternatif bir kontrolör, 3 serbestlik dereceli (x, y, z) manyetik sensörlü bunlar ile mikrodenetleyicileriniz üzerinde I2C haberleşmesi ile yeni projelerinizi kontrol edebilirsiniz ve Bast Pro Mini M0 ile elektronik kart. Arduino IDE üzerinde SAMD21 mikrodenetleyici.
Amaç, projelerinizi kontrol etmek için alternatif bir joystick'e, bu durumda 3 derece serbestliğe sahip bir robot kola sahip olmaktır. MeArm Robot Kol kullandım bu açık kaynaklı bir projedir ve bunu kolaylaştırabilir ve burada bulabilirsiniz. Sizlerle paylaşmaktan mutluluk duyduğum bu bilgi ile kendi kumanda kolunuzu veya başka bir uygulamanızı yapabilirsiniz.
Tüm elektronik bileşenlerin mağazada edinilecek bağlantıları, 3d yazıcıya giden dosyalar ve Arduino IDE kodu vardır.
TLV493D bir Joystick olabilir 3D manyetik sensör TLV493D-A1B6, 6 pinli küçük bir pakette son derece düşük güç tüketimi ile doğru üç boyutlu algılama sunar. X, y ve z yönündeki manyetik alan algılama özelliği ile sensör, üç boyutlu, doğrusal ve dönüş hareketlerini güvenilir bir şekilde ölçer.
Uygulamalar arasında joystickler, kontrol elemanları (beyaz eşya, çok işlevli düğmeler) veya elektrik sayaçları (kurcalamaya karşı koruma) ve doğru açısal ölçümler veya düşük güç tüketimi gerektiren diğer uygulamalar bulunur. Entegre sıcaklık sensörü ayrıca makullük kontrolleri için kullanılabilir. Anahtar özellikler, operasyonlar sırasında çok düşük güç tüketimi ile 3D manyetik algılamadır.
Sensör, 2 telli tabanlı standart I2C arayüzü üzerinden 1 MBit/sn'ye kadar dijital çıkışa ve her biri için 12 bit veri çözünürlüğüne, ölçüm yönüne (+-130mT'ye kadar Bx, By ve Bz doğrusal alan ölçümü) sahiptir. TLV493D-A1B6 3DMagnetic, bağımsız bir dıştan takmalı motordur.
Arduino IDE uyumlu ve 3.3V mantık seviyesine sahip dilediğiniz mikrodenetleyiciye kolayca bağlayabilirsiniz. Bu projede Electronic Cats breakout ve daha sonra anlatacağım bir geliştirme kartı kullanıyoruz.
electroniccats.com/store/tlv493d-croquette…
TLV493D sensör kullanmanın avantajı, bilgiyi almak için sadece I2C'li iki kablonun kullanılmasıdır, bu nedenle kartta çok az sayıda pin bulunduğunda çok iyi bir seçenektir, ayrıca I2C'nin faydaları sayesinde daha fazla bağlayabiliriz. sensörler. Bu projenin deposunu burada bulabilirsiniz. Bu proje için 3D yazıcıda yazdırabileceğiniz veya size en yakın 3D baskı mağazasında yazdırabileceğiniz bir joystick kullanacağız.
. STL dosyaları projenin sonuna eklenmiştir. Montajı çok basittir, videoda görebilirsiniz.
Kendi robotunuzu oluşturun Bu durumda yazarın sayfasında bulabileceğiniz Mearm v1 robotunu yapıyorum
Bu, 5 voltta servo motorlara sahip olduğu için yapımı ve kontrolörü kolay bir robottur. İstediğiniz herhangi bir robotu yapabilir veya kullanabilirsiniz, bu proje TLV493D sensörü ile kontrole odaklanacaktır.
Gereçler:
- x1 Bast Pro Mini M0 Satın Al
- x1 Kroket TLV493D Satın Al
- x1 Kit MeArm v1
- x20 Dupont Kabloları
- x1 Anakart
- x2 Buton
- x1 Mıknatıs 5mm çap x 1mm kalınlık
Adım 1: Sensörü Bast Pro Mini M0 ile Bağlama
Robot kolunu kontrol etmek için bir Electronic Cats geliştirme kartı, SAMD21E ARM Cortex-M0 mikro denetleyicili bir Bast Pro Mini M0 kullanılır.
Bu çip, 48MHz'de, 256KB programlama belleği, 32KB SRAM ile çalışır ve 1.6v ila 3.6v arasında bir voltajda çalışır. Özellikleri sayesinde iyi performansla düşük tüketim için kullanabilir ve ayrıca CircuitPython veya mikrodenetleyicilere izin veren başka bir dille programlayabiliriz.
electroniccats.com/store/bast-pro-mini-m0/
Bu kart hakkında daha fazla bilgi edinmekle ilgileniyorsanız, size kart deposunun bağlantısını bırakacağım.
github.com/ElectronicCats/Bast-Pro-Mini-M0…
Servo motorların hareketini kontrol etmek için, servo motoru ilgili derecelere konumlandırmak için sinyali gönderecek olan manyetik sensör TLV493D kullanılır.
Tek bir sensör ile iki servo motoru hareket ettirebiliriz, bu örnekte tutucuyu kontrol etmek için sadece tek bir sensör ve bir buton kullanacağız.
Yapabileceğiniz bir diğer öneri ise başka bir TLV493D sensör ekleyerek üçüncü servo motoru ve tutucuyu hareket ettirmektir. Bunu yaparsanız, deneyiminizi yorumlarda bırakın ve sizi projeyi paylaşmaya davet ediyorum.
Resim, bir protoboard üzerindeki silahlı devreyi göstermektedir.
- İlk servo motor tutucu içindir ve pim 2'ye bağlanır
- İkinci servo motor robot tabanı içindir ve pin 3'e bağlanır
- Üçüncü servo motor robot omzu içindir ve pim 4'e bağlanır
- Dördüncü servo motor robot dirseği içindir ve pim 5'e bağlanır
- İlk buton robotun herhangi bir hareketini durdurmaktır ve 2.2Kohm'luk bir dirençle aşağı çekmede pim 8'e bağlanır.
- İkinci basmalı düğme, tutucunun açma ve kapama hareketi içindir ve 2.2Kohm'luk bir dirençle aşağı çekmede pim 9'a bağlanır.
Devre görüntüsünde TLV493D sensörü fritzlemeye eklenmediği için görünmüyor ancak VCC, GND, SCL, SDA konnektörlerini simüle etmek için 4 pinli konnektör eklendi. Resimde, aynı sırayla yerleştirilirler.
- İlk pin, karttaki 3.3 volta bağlanır
- İkinci pin GND'ye bağlanır
- Üçüncü SCL pini, kart üzerindeki A5 pinine bağlanır
- Dördüncü SDA pini, kartın A4 pinine bağlanır
SAMD21 çipinin avantajı sayesinde, servo motoru hareket ettirmek için doğru darbe genişliğini göndermemize hizmet edecek olan dijital pinlerinden herhangi birini PWM çıkışı olarak kullanabiliriz.
Dikkate alınması gereken bir diğer önemli bilgi ise servo motorlar için harici güç kaynağı, devrede 2Amp kaynağında 5 volta bağlanan bir fiş konektörü görebilirsiniz, karta aşırı yüklenmemesi ve zarar görmemesi için.
Ayrıca kartın ve harici kaynağın ortak sinyali GND'yi birleştirmeyi de unutmayın, aksi takdirde aynı referansa sahip olmayacakları için servo motorları kontrol etmekte sorun yaşarsınız.
Adım 2: Arduino IDE'yi Bast Pro Mini M0'a Kodlamak
İlk iş Arduino IDE'ye Bast Pro Mini M0 kartını kurmak olacak, adımlar Electronic Cats deposunda bulunabilir ve çalışması için önemlidir.
github.com/ElectronicCats/Arduino_Boards_I…
Arduino IDE'yi hazır hale getirdiğinizde, TLV493D sensörünün resmi kitaplığını kurmanız gerekir, https://github.com/Infineon/TLV493D-A1B6-3DMagnet… adresine girin ve Sürümler'e gidin.
Kodun ilk bölümünde, kullanılan kitaplıklar bildirilir, bu durumda servo motorlar için Servo.h ve sensör için TLV493D.h.
Servo.h kitaplığını kullanırken, robotun şu anda 4'ü olmasına rağmen, servo motorların sayısını belirtmek önemlidir.
Pimler, robotun herhangi bir hareketini ve tutucunun açılıp kapanmasını durduracak olan basma butonları için belirtilmiştir. Tutucunun durumunu ve hareket olup olmadığını bilmeye hizmet edecek bazı global değişkenler bildirilir.
Kodun ikinci bölümünde, motorların bulunduğu derecenin değerini seri monitörde göstereceğiz. Bir diğer önemli nokta ise servo motorlarınızdaki derecelerin limitini belirlemektir bunun için TLV493D sensörünün hareketlerinin değerini servo motorun 0 ile 180 derece aralığına çeviren map() fonksiyonu kullanılır.
Kodun son kısmı için, servo motorların buton ile hareketini etkinleştirmek ve ikinci butona basıldığında tutucunun bir sonraki hareketi için hangi durumda olduğunu bilmek için koşullar oluşturulmuştur. Önceki görsellerde de görebileceğiniz gibi kodun uygulanması ve anlaşılması zor değil, proje sonunda kodu bulabilirsiniz.
Circuit Python'u kullanmayı mı öğreniyorsunuz?
Bu IDE'yi nasıl kullanacağınızı öğrenmekle ilgileniyorsanız, aşağıdaki linkte Bast Pro Mini M0 kartını bulabilir ve bootloader'ı indirebilir ve Python ile programlamaya başlayabilirsiniz.
3. Adım: 3B Parçalar
Projeyi yapmakla ilgileniyorsanız, parçaları.stl formatında indirebilir ve yazdırabilirsiniz. Taban ve döner çubuk için dosyaları bulacaksınız.