สารบัญ:

การควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino: 3 ขั้นตอน
การควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino: 3 ขั้นตอน

วีดีโอ: การควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino: 3 ขั้นตอน

วีดีโอ: การควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino: 3 ขั้นตอน
วีดีโอ: การควบคุมแขนกลหุ่นยนต์ตามแกน X Y Z แบบเบื้องต้น 2024, พฤศจิกายน
Anonim
ควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino
ควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino
ควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino
ควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino
ควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino
ควบคุมแขนหุ่นยนต์ด้วย TLV493D, จอยสติ๊ก และ Arduino

ตัวควบคุมทางเลือกสำหรับหุ่นยนต์ของคุณด้วยเซ็นเซอร์ TLV493D เซ็นเซอร์แม่เหล็กที่มีอิสระ 3 องศา (x, y, z) คุณสามารถควบคุมโปรเจ็กต์ใหม่ของคุณด้วยการสื่อสาร I2C บนไมโครคอนโทรลเลอร์และบอร์ดอิเล็กทรอนิกส์ที่ Bast Pro Mini M0 พร้อม ไมโครคอนโทรลเลอร์ SAMD21 บน Arduino IDE

วัตถุประสงค์คือการมีจอยสติกสำรองเพื่อควบคุมโปรเจ็กต์ของคุณ ในกรณีนี้ แขนหุ่นยนต์ที่มีอิสระ 3 องศา ฉันใช้ MeArm Robot Arm นี่เป็นโครงการโอเพ่นซอร์ส และคุณสามารถทำให้มันง่าย และคุณสามารถหาได้ที่นี่ สามารถสร้างแขนควบคุมของคุณเองหรือแอปพลิเคชั่นอื่น ๆ ด้วยความรู้นี้ที่ฉันยินดีที่จะแบ่งปันกับคุณ

ส่วนประกอบอิเล็กทรอนิกส์ทั้งหมดมีลิงก์สำหรับซื้อจากร้านค้า ไฟล์ไปยังเครื่องพิมพ์ 3 มิติ และรหัสสำหรับ Arduino IDE

TLV493D สามารถเป็นจอยสติ๊กได้ เซ็นเซอร์แม่เหล็ก 3 มิติ TLV493D-A1B6 ให้การตรวจจับสามมิติที่แม่นยำพร้อมการสิ้นเปลืองพลังงานที่ต่ำมากในแพ็คเกจ 6 พินขนาดเล็ก ด้วยการตรวจจับสนามแม่เหล็กในทิศทาง x, y และ z เซ็นเซอร์จะวัดการเคลื่อนที่สามมิติ เชิงเส้น และการหมุนได้อย่างน่าเชื่อถือ

แอปพลิเคชันต่างๆ ได้แก่ จอยสติ๊ก องค์ประกอบควบคุม (สินค้าสีขาว ปุ่มมัลติฟังก์ชั่น) หรือมิเตอร์ไฟฟ้า (ป้องกันการปลอมแปลง) และแอปพลิเคชันอื่นๆ ที่ต้องการการวัดเชิงมุมที่แม่นยำหรือใช้พลังงานต่ำ เซ็นเซอร์อุณหภูมิในตัวยังใช้ตรวจสอบความสมเหตุสมผลได้อีกด้วย คุณสมบัติที่สำคัญคือการตรวจจับด้วยแม่เหล็ก 3 มิติโดยสิ้นเปลืองพลังงานต่ำมากระหว่างการทำงาน

เซ็นเซอร์มีเอาต์พุตดิจิตอลผ่านอินเทอร์เฟซ I2C มาตรฐานแบบ 2 สาย สูงสุด 1 MBit/วินาที และความละเอียดข้อมูล 12 บิตสำหรับแต่ละทิศทางการวัด (การวัดสนามเชิงเส้น Bx, By และ Bz สูงสุด +-130mT) TLV493D-A1B6 3DMagnetic เป็นเครื่องแยกชิ้นส่วนแบบแยกส่วน

คุณสามารถเชื่อมต่อกับไมโครคอนโทรลเลอร์ที่คุณเลือกได้อย่างง่ายดายซึ่งเข้ากันได้กับ Arduino IDE และมีระดับลอจิก 3.3V ในโครงการนี้ เราใช้ Electronic Cats breakout และบอร์ดพัฒนาที่จะอธิบายในภายหลัง

electroniccats.com/store/tlv493d-croquette…

ข้อดีของการใช้เซ็นเซอร์ TLV493D คือใช้สายเคเบิลเพียงสองสายที่มี I2C เพื่อรับข้อมูล ดังนั้นจึงเป็นตัวเลือกที่ดีมากเมื่อเรามีหมุดบนการ์ดน้อยมาก และต้องขอบคุณ I2C ที่ทำให้เราสามารถเชื่อมต่อได้มากขึ้น เซ็นเซอร์ คุณสามารถค้นหาที่เก็บสำหรับโครงการนี้ได้ที่นี่ สำหรับโครงการนี้ เราจะใช้จอยสติ๊กที่คุณสามารถพิมพ์บนเครื่องพิมพ์ 3 มิติหรือให้พิมพ์ที่ร้านการพิมพ์ 3 มิติที่ใกล้ที่สุด

ไฟล์. STL ถูกต่อท้ายโปรเจ็กต์ การประกอบนั้นง่ายมาก คุณสามารถดูได้ในวิดีโอ

สร้างหุ่นยนต์ของคุณเอง ในกรณีนี้ ฉันสร้างหุ่นยนต์ Mearm v1 ที่คุณสามารถหาโครงการนี้ได้ในหน้าของผู้แต่งที่นี่

เป็นหุ่นยนต์ที่สร้างและควบคุมได้ง่าย เพราะมีเซอร์โวมอเตอร์ที่ 5 โวลต์ คุณสามารถสร้างหรือใช้หุ่นยนต์ใดก็ได้ตามต้องการ โปรเจ็กต์นี้จะเน้นที่การควบคุมด้วยเซ็นเซอร์ TLV493D

เสบียง:

  • x1 Bast Pro Mini M0 ซื้อใน
  • x1 รพ.แม่แตง
  • x1 วิทยาลัยอาชีวศึกษา
  • x20 ดูปองท์เคเบิ้ล
  • x1 วิทยาลัยอาชีวศึกษา
  • x2 เขื่อนรัชชประภา
  • x1 แม่เหล็ก เส้นผ่านศูนย์กลาง 5 มม. x หนา 1 มม.

ขั้นตอนที่ 1: เชื่อมต่อเซ็นเซอร์กับ Bast Pro Mini M0

การเชื่อมต่อเซ็นเซอร์กับ Bast Pro Mini M0
การเชื่อมต่อเซ็นเซอร์กับ Bast Pro Mini M0

ในการควบคุมแขนหุ่นยนต์ จะใช้บอร์ดพัฒนา Electronic Cats, Bast Pro Mini M0 พร้อมไมโครคอนโทรลเลอร์ SAMD21E ARM Cortex-M0

ชิปนี้ทำงานที่ 48MHz พร้อมหน่วยความจำการเขียนโปรแกรม 256KB, 32KB SRAM และทำงานที่แรงดันไฟฟ้า 1.6v ถึง 3.6v ด้วยคุณสมบัติเฉพาะของมัน เราจึงสามารถใช้มันเพื่อการบริโภคที่ต่ำพร้อมประสิทธิภาพที่ดีและยังตั้งโปรแกรมด้วย CircuitPython หรือภาษาอื่นๆ ที่อนุญาตให้ไมโครคอนโทรลเลอร์ได้

electroniccats.com/store/bast-pro-mini-m0/

หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับการ์ดใบนี้ ฉันจะฝากลิงก์ของพื้นที่เก็บข้อมูลไว้ให้คุณ

github.com/ElectronicCats/Bast-Pro-Mini-M0…

เพื่อควบคุมการเคลื่อนที่ของเซอร์โวมอเตอร์ จะใช้เซ็นเซอร์แม่เหล็ก TLV493D ซึ่งจะส่งสัญญาณเพื่อจัดตำแหน่งเซอร์โวมอเตอร์ให้อยู่ในองศาที่สอดคล้องกัน

ด้วยเซ็นเซอร์ตัวเดียว เราสามารถเคลื่อนย้ายเซอร์โวมอเตอร์สองตัว ในตัวอย่างนี้ เราจะใช้เซ็นเซอร์เพียงตัวเดียวและปุ่มกดเพื่อควบคุมกริปเปอร์

ข้อเสนออื่นที่คุณสามารถทำได้คือเพิ่มเซ็นเซอร์ TLV493D อีกตัวหนึ่งแล้วย้ายเซอร์โวมอเตอร์ตัวที่สามและกริปเปอร์ ถ้าคุณทำ ฝากประสบการณ์ของคุณในความคิดเห็น และฉันขอเชิญคุณแบ่งปันโครงการ

ภาพแสดงวงจรติดอาวุธบนโปรโตบอร์ด

  • เซอร์โวมอเตอร์ตัวแรกมีไว้สำหรับกริปเปอร์และเชื่อมต่อกับพิน2
  • เซอร์โวมอเตอร์ตัวที่สองใช้สำหรับฐานหุ่นยนต์และเชื่อมต่อกับพิน3
  • เซอร์โวมอเตอร์ตัวที่สามสำหรับบ่าหุ่นยนต์และเชื่อมต่อกับพิน4
  • เซอร์โวมอเตอร์ตัวที่สี่ใช้สำหรับข้อศอกของหุ่นยนต์และเชื่อมต่อกับพิน 5
  • ปุ่มกดแรกคือการหยุดการเคลื่อนที่ของหุ่นยนต์และเชื่อมต่อกับพิน 8 แบบดึงลง โดยมีความต้านทาน 2.2Kohms
  • ปุ่มกดที่สองใช้สำหรับการเปิดและปิดของกริปเปอร์ และเชื่อมต่อกับพิน 9 ในการดึงลงด้วยความต้านทาน 2.2Kohms

ในภาพวงจร เซ็นเซอร์ TLV493D ไม่ปรากฏขึ้นเนื่องจากไม่ได้ถูกเพิ่มลงใน fritzing แต่มีการเพิ่มขั้วต่อ 4 พินเพื่อจำลองขั้วต่อ VCC, GND, SCL, SDA ในรูปจะเรียงตามลำดับ

  • พินแรกเชื่อมต่อกับ 3.3 โวลต์บนบอร์ด
  • พินที่สองเชื่อมต่อกับ GND
  • พิน SCL ตัวที่สามเชื่อมต่อกับพิน A5 บนบอร์ด
  • พิน SDA ที่สี่เชื่อมต่อกับพิน A4 ของบอร์ด

ด้วยข้อได้เปรียบของชิป SAMD21 เราจึงสามารถใช้พินดิจิทัลใดๆ ของมันเป็นเอาต์พุต PWM ได้ ซึ่งจะช่วยให้เราส่งความกว้างพัลส์ที่ถูกต้องเพื่อย้ายเซอร์โวมอเตอร์

ข้อมูลสำคัญอีกชิ้นที่ต้องพิจารณาคือแหล่งจ่ายไฟภายนอกสำหรับเซอร์โวมอเตอร์ ในวงจร คุณจะเห็นขั้วต่อปลั๊กที่เชื่อมต่อกับแหล่งจ่ายไฟ 5 โวลต์ที่แหล่งกำเนิด 2 แอมป์ เพื่อหลีกเลี่ยงไม่ให้บอร์ดโอเวอร์โหลดและทำให้บอร์ดเสียหาย

นอกจากนี้ อย่าลืมรวมสัญญาณทั่วไป GND ของการ์ดและแหล่งสัญญาณภายนอก มิฉะนั้น คุณอาจมีปัญหาในการควบคุมเซอร์โวมอเตอร์เนื่องจากจะไม่มีการอ้างอิงเดียวกัน

ขั้นตอนที่ 2: การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0

การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0
การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0
การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0
การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0
การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0
การเข้ารหัส Arduino IDE เป็น Bast Pro Mini M0

สิ่งแรกคือการติดตั้งการ์ด Bast Pro Mini M0 ใน Arduino IDE ขั้นตอนสามารถพบได้ในที่เก็บ Electronic Cats และมีความสำคัญต่อการใช้งาน

github.com/ElectronicCats/Arduino_Boards_I…

เมื่อคุณพร้อม Arduino IDE แล้ว คุณจำเป็นต้องติดตั้งไลบรารีอย่างเป็นทางการของเซ็นเซอร์ TLV493D เข้าไปที่ https://github.com/Infineon/TLV493D-A1B6-3DMagnet… และไปที่ Releases

ในส่วนแรกของโค้ด ไลบรารีที่ใช้จะถูกประกาศ ในกรณีนี้คือ Servo.h สำหรับเซอร์โวมอเตอร์และ TLV493D.h สำหรับเซนเซอร์

เมื่อใช้ไลบรารี่ของ Servo.h จำเป็นต้องประกาศจำนวนเซอร์โวมอเตอร์ แม้ว่าตอนนี้หุ่นยนต์จะมี 4 ตัว แต่ใช้เพียง 3 ตัวเท่านั้น

มีการประกาศหมุดสำหรับปุ่มกดที่จะหยุดการเคลื่อนที่ของหุ่นยนต์และการเปิดและปิดของกริปเปอร์ มีการประกาศตัวแปรส่วนกลางบางตัวเพื่อรับทราบสถานะของกริปเปอร์และหากมีการเคลื่อนไหว

ในส่วนที่สองของรหัส เราจะแสดงในจอภาพแบบอนุกรมถึงค่าระดับของมอเตอร์ จุดสำคัญอีกประการหนึ่งคือการกำหนดขีด จำกัด องศาในเซอร์โวมอเตอร์ของคุณ ด้วยเหตุนี้จึงใช้ฟังก์ชัน map () เพื่อแปลงค่าการเคลื่อนที่ของเซ็นเซอร์ TLV493D เป็นช่วง 0 ถึง 180 องศาของเซอร์โวมอเตอร์

สำหรับส่วนสุดท้ายของโค้ด จะมีการกำหนดเงื่อนไขเพื่อเปิดใช้งานการเคลื่อนไหวของเซอร์โวมอเตอร์ด้วยปุ่มกด และเพื่อให้ทราบว่ากริปเปอร์อยู่ในสถานะใดสำหรับการเคลื่อนไหวครั้งต่อไปเมื่อกดปุ่มที่สอง ดังที่คุณเห็นในภาพก่อนหน้า โค้ดนี้ไม่ยากที่จะนำไปใช้และทำความเข้าใจ คุณจะพบโค้ดได้ในตอนท้ายของโปรเจ็กต์

คุณกำลังเรียนรู้การใช้ Circuit Python หรือไม่?

หากคุณสนใจที่จะเรียนรู้วิธีใช้ IDE นี้ คุณสามารถค้นหาการ์ด Bast Pro Mini M0 ในลิงก์ต่อไปนี้เพื่อดาวน์โหลด bootloader และเริ่มเขียนโปรแกรมด้วย Python

ขั้นตอนที่ 3: 3D Pieces

หากคุณสนใจที่จะทำโครงการ คุณสามารถดาวน์โหลดชิ้นส่วนใน.stl และพิมพ์ออกมา คุณจะพบไฟล์สำหรับฐานและแกนหมุน

แนะนำ: