แขนกลหุ่นยนต์. แขนหุ่นยนต์ราคาไม่แพง ตั้งโปรแกรมได้บน Arduino: หุ่นยนต์บังคับด้วยมือของคุณเอง การเคลื่อนไหวที่ราบรื่นของแขนหุ่นยนต์ทำเอง

ติดตาม
เข้าร่วมชุมชน "page-electric.ru"!
ติดต่อกับ:

สถาบันงบประมาณเทศบาล

การศึกษาเพิ่มเติม "สถานี ช่างหนุ่ม»

เมืองคาเมนสค์ ชัคตินสกี

เวทีระดับเทศบาลของการแข่งขันระดับภูมิภาค

“นักออกแบบหนุ่มแห่งดอนสำหรับสหัสวรรษที่สาม”

หมวด "หุ่นยนต์"

« แขนหุ่นยนต์ Arduino"

ครูการศึกษาเพิ่มเติม

MBU ทำ "SYUT"

    บทนำ 3

    การวิจัยและการวิเคราะห์ 4

    ขั้นตอนของหน่วยการผลิตและการประกอบหุ่นยนต์ 6

    1. วัสดุและเครื่องมือ 6

      ส่วนประกอบทางกลของหุ่นยนต์ 7

      9. การเติมหุ่นยนต์ด้วยระบบอิเล็กทรอนิกส์

    บทสรุปที่ 11

    แหล่งที่มาของข้อมูล 12

    ภาคผนวก 13

    การแนะนำ

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

ปัจจุบันการพัฒนาหุ่นยนต์ไม่ก้าวหน้า แต่ดำเนินไปล่วงหน้า ในช่วง 10 ปีแรกของศตวรรษที่ 21 เพียงแห่งเดียว มีหุ่นยนต์มากกว่า 1 ล้านตัวถูกประดิษฐ์และใช้งาน แต่สิ่งที่น่าสนใจที่สุดคือการพัฒนาในพื้นที่นี้สามารถดำเนินการได้ไม่เพียงแต่โดยทีมงานขององค์กรขนาดใหญ่ กลุ่มนักวิทยาศาสตร์ และวิศวกรมืออาชีพเท่านั้น แต่ยังรวมถึงเด็กนักเรียนทั่วไปทั่วโลกด้วย

คอมเพล็กซ์หลายแห่งได้รับการพัฒนาเพื่อศึกษาวิทยาการหุ่นยนต์ที่โรงเรียน ที่มีชื่อเสียงที่สุดคือ:

    โรโบติส ไบโอลอยด์;

    เลโก้มายด์สตอร์ม;

  • อาร์ดูโน่.

ตัวสร้าง Arduino เป็นที่สนใจอย่างมากสำหรับผู้สร้างหุ่นยนต์ บอร์ด Arduino เป็นชุดออกแบบวิทยุ เรียบง่ายมาก แต่ใช้งานได้เพียงพอสำหรับการเขียนโปรแกรมที่รวดเร็วมากในภาษา Viring (จริงๆ แล้วเป็น C++) และนำแนวคิดทางเทคนิคมาสู่ความเป็นจริง

แต่ดังที่ภาคปฏิบัติแสดงให้เห็น งานของผู้เชี่ยวชาญรุ่นเยาว์ของคนรุ่นใหม่กำลังได้รับความสำคัญเชิงปฏิบัติเพิ่มมากขึ้น

การสอนการเขียนโปรแกรมสำหรับเด็กจะมีความเกี่ยวข้องเสมอ เนื่องจากการพัฒนาหุ่นยนต์อย่างรวดเร็วนั้นสัมพันธ์กับการพัฒนาเป็นอันดับแรก เทคโนโลยีสารสนเทศและช่องทางการสื่อสาร

เป้าหมายของโครงการนี้คือการสร้างตัวสร้างวิทยุเพื่อการศึกษาโดยใช้แขนหุ่นยนต์ เพื่อสอนเด็กๆ ให้เขียนโปรแกรมในสภาพแวดล้อม Arduino ได้อย่างสนุกสนาน เพื่อเปิดโอกาสให้เด็กๆ ได้ทำความคุ้นเคยกับกิจกรรมการออกแบบด้านวิทยาการหุ่นยนต์ให้มากที่สุด

วัตถุประสงค์ของโครงการ:

    พัฒนาและสร้างแขนสอน-นักบงการด้วย ต้นทุนขั้นต่ำกองทุนที่ไม่ด้อยกว่าอะนาล็อกต่างประเทศ

    ใช้เซอร์โวเป็นกลไกหุ่นยนต์

    ควบคุมกลไกหุ่นยนต์โดยใช้ชุดวิทยุ Arduino UNO R 3

    พัฒนาโปรแกรมในสภาพแวดล้อมการเขียนโปรแกรม Arduino เพื่อควบคุมเซอร์โวตามสัดส่วน

เพื่อให้บรรลุเป้าหมายและวัตถุประสงค์ของโครงการของเรา จำเป็นต้องศึกษาประเภทของเครื่องมือจัดการที่มีอยู่ เอกสารทางเทคนิคในหัวข้อนี้ และฮาร์ดแวร์ Arduino และแพลตฟอร์มคอมพิวเตอร์

    การวิจัยและการวิเคราะห์

ศึกษา.

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

เกี่ยวกับ
คอนสตรัคเตอร์ที่เฟื่องฟู - หุ่นยนต์ติดตั้งแขนหุ่นยนต์ที่บีบอัดและคลายออก ด้วยความช่วยเหลือคุณสามารถเล่นหมากรุกได้โดยการควบคุมจากระยะไกล คุณยังสามารถใช้มือหุ่นยนต์เพื่อแจกนามบัตรได้ การเคลื่อนไหวได้แก่: ข้อมือ 120°, ข้อศอก 300°, การหมุนพื้นฐาน 270°, การหมุนพื้นฐาน 180° ของเล่นนี้ดีและมีประโยชน์มาก แต่ราคาประมาณ 17,200 รูเบิล

ต้องขอบคุณโปรเจ็กต์ “uArm” ที่ทำให้ทุกคนสามารถประกอบมินิโรบ็อตเดสก์ท็อปของตัวเองได้ “ uArm” เป็นหุ่นยนต์ 4 แกนซึ่งเป็นหุ่นยนต์อุตสาหกรรมรุ่นจิ๋ว “ ABB PalletPack IRB460” หุ่นยนต์นั้นติดตั้งไมโครโปรเซสเซอร์ Atmel และชุดเซอร์โวมอเตอร์ ราคารวมของชิ้นส่วนที่จำเป็นคือ 12,959 รูเบิล โครงการ uArm ต้องใช้ทักษะการเขียนโปรแกรมขั้นพื้นฐานและประสบการณ์ในการสร้าง Legos เป็นอย่างน้อย มินิโรบ็อตสามารถตั้งโปรแกรมได้หลายฟังก์ชั่น ตั้งแต่การเล่นไปจนถึง เครื่องดนตรีก่อนที่จะโหลดโปรแกรมที่ซับซ้อนบางตัว ขณะนี้แอปพลิเคชันกำลังได้รับการพัฒนาสำหรับ iOS และ Android ซึ่งจะช่วยให้คุณควบคุม "uArm" จากสมาร์ทโฟนได้

ผู้ควบคุม "uArm"

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

การวิเคราะห์.

เราใช้พื้นฐานของผู้ควบคุมที่นำเสนอบนเว็บไซต์ Kickstarter ซึ่งเรียกว่า "uArm" ข้อดีของการออกแบบนี้คือ แท่นสำหรับวางกริปเปอร์จะอยู่ขนานกันเสมอ พื้นผิวการทำงาน- เครื่องยนต์หนักตั้งอยู่ที่ฐาน แรงถูกส่งผ่านแท่ง เป็นผลให้หุ่นยนต์มีเซอร์โวสามตัว (อิสระสามระดับ) ซึ่งช่วยให้สามารถเคลื่อนย้ายเครื่องมือไปตามแกนทั้งสามแกนได้ 90 องศา

พวกเขาตัดสินใจติดตั้งตลับลูกปืนในส่วนที่เคลื่อนไหวของหุ่นยนต์ การออกแบบหุ่นยนต์นี้มีข้อได้เปรียบเหนือกว่าหลายรุ่นที่มีจำหน่ายอยู่ในปัจจุบัน: โดยรวมแล้ว หุ่นยนต์ใช้ตลับลูกปืน 11 ตัว: 10 ชิ้นสำหรับเพลา 3 มม. และอีก 1 ชิ้นสำหรับเพลา 30 มม.

ลักษณะของแขนหุ่นยนต์:

ความสูง: 300มม.

โซนทำงาน(โดยกางแขนออกจนสุด): รอบฐาน 140 มม. ถึง 300 มม

ความสามารถในการรับน้ำหนักสูงสุดที่ความยาวแขน: 200 กรัม

การบริโภคปัจจุบันไม่เกิน: 1A

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

การควบคุมดำเนินการโดยใช้ตัวต้านทานแบบปรับค่าได้, การควบคุมตามสัดส่วน คุณสามารถออกแบบการควบคุมแบบคัดลอกได้ เช่นเดียวกับที่นักวิทยาศาสตร์นิวเคลียร์และฮีโร่ในหุ่นยนต์ตัวใหญ่จากภาพยนตร์เรื่อง "Avatar" สามารถควบคุมได้ด้วยเมาส์ และใช้ตัวอย่างโค้ดคุณสามารถสร้างอัลกอริธึมการเคลื่อนไหวของคุณเองได้

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

    ขั้นตอนการผลิตส่วนประกอบและการประกอบหุ่นยนต์

      วัสดุและเครื่องมือ

ในการสร้างแขนหุ่นยนต์นั้น มีการใช้แผงคอมโพสิตที่มีความหนา 3 มม. และ 5 มม. เป็นวัสดุที่ประกอบด้วยแผ่นอะลูมิเนียม 2 แผ่น หนา 0.21 มม. เชื่อมต่อกันด้วยชั้นเทอร์โมพลาสติกโพลีเมอร์ มีความแข็งแกร่งดี น้ำหนักเบา และแปรรูปได้ง่าย ภาพถ่ายที่ดาวน์โหลดของโปรแกรมจัดการบนอินเทอร์เน็ตได้รับการประมวลผลโดยโปรแกรมคอมพิวเตอร์ Inkscape (โปรแกรมแก้ไขกราฟิกแบบเวกเตอร์) ภาพวาดของแขนหุ่นยนต์ถูกวาดในโปรแกรม AutoCAD (ระบบการออกแบบและเขียนแบบสามมิติที่ใช้คอมพิวเตอร์ช่วย)

ชิ้นส่วนสำเร็จรูปสำหรับหุ่นยนต์

ชิ้นส่วนฐานหุ่นยนต์ที่เสร็จแล้ว

      เนื้อหาทางกลของหุ่นยนต์

เซอร์โว MG-995 ถูกใช้เป็นฐานของหุ่นยนต์ เหล่านี้เป็นเซอร์โวดิจิตอลที่มีเกียร์โลหะและลูกปืน โดยให้แรง 4.8 กก./ซม. ตำแหน่งที่แม่นยำและความเร็วที่ยอมรับได้ เซอร์โวไดรฟ์หนึ่งตัวมีน้ำหนัก 55.0 กรัม โดยมีขนาด 40.7 x 19.7 x 42.9 มม. แรงดันไฟฟ้าจ่ายตั้งแต่ 4.8 ถึง 7.2 โวลต์

เซอร์โว MG-90S ถูกใช้เพื่อจับและหมุนมือ สิ่งเหล่านี้ยังเป็นเซอร์โวดิจิตอลที่มีเฟืองโลหะและลูกปืนบนเพลาเอาท์พุต โดยให้แรง 1.8 กก./ซม. และการควบคุมตำแหน่งที่แม่นยำ เซอร์โวไดรฟ์หนึ่งตัวมีน้ำหนัก 13.4 กรัม โดยมีขนาด 22.8 x 12.2 x 28.5 มม. แรงดันไฟฟ้าจ่ายตั้งแต่ 4.8 ถึง 6.0 โวลต์


เซอร์โวไดรฟ์ MG-995 เซอร์โวไดรฟ์ MG90S

ตลับลูกปืนขนาด 30x55x13 ใช้เพื่ออำนวยความสะดวกในการหมุนฐานแขน - หุ่นยนต์ที่มีภาระ


การติดตั้งแบริ่ง. การประกอบอุปกรณ์แบบหมุน

ฐานของแขน - ชุดประกอบหุ่นยนต์


ชิ้นส่วนสำหรับประกอบกริปเปอร์ การประกอบกริปเปอร์

      การเติมอิเล็กทรอนิกส์ของหุ่นยนต์

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

ในการทำงานร่วมกับหุ่นยนต์ เราใช้บอร์ด Arduino UNO R 3 และบอร์ดขยายที่รองรับสำหรับเชื่อมต่อเซอร์โว มีการติดตั้งตัวกันโคลง 5 โวลต์เพื่อจ่ายไฟให้กับเซอร์โว หน้าสัมผัส PLS สำหรับเชื่อมต่อเซอร์โว และขั้วต่อสำหรับเชื่อมต่อตัวต้านทานแบบแปรผัน จ่ายไฟจากบล็อก 9V, 3A

บอร์ดควบคุม Arduinoอูโน่ อาร์ 3.

แผนภาพส่วนขยายสำหรับบอร์ดควบคุม Arduinoอูโน่ อาร์ 3 ได้รับการพัฒนาโดยคำนึงถึงงานที่ได้รับมอบหมาย

แผนผังของบอร์ดขยายสำหรับคอนโทรลเลอร์

บอร์ดขยายสำหรับคอนโทรลเลอร์

เราเชื่อมต่อบอร์ด Arduino UNO R 3 โดยใช้สายเคเบิล USB A-B เข้ากับคอมพิวเตอร์ ตั้งค่าที่จำเป็นในสภาพแวดล้อมการเขียนโปรแกรม และสร้างโปรแกรม (ร่าง) สำหรับการทำงานของเซอร์โวโดยใช้ไลบรารี Arduino เรารวบรวม (ตรวจสอบ) ร่างภาพ จากนั้นโหลดลงในคอนโทรลเลอร์ ข้อมูลโดยละเอียดเกี่ยวกับการทำงานในสภาพแวดล้อม Arduino สามารถพบได้บนเว็บไซต์ http://edurobots.ru/category/uroki/ (Arduino สำหรับผู้เริ่มต้น บทเรียน)

หน้าต่างโปรแกรมพร้อมภาพร่าง

    บทสรุป

หุ่นยนต์รุ่นนี้มีความโดดเด่นด้วยต้นทุนต่ำเมื่อเปรียบเทียบกับชุดก่อสร้าง Duckrobot ธรรมดาซึ่งมีการเคลื่อนไหว 2 ครั้งและราคา 1,102 รูเบิลหรือชุดก่อสร้าง Lego "สถานีตำรวจ" ซึ่งมีราคา 8,429 รูเบิล ตัวสร้างของเราทำการเคลื่อนไหว 5 ครั้งและราคา 2,384 รูเบิล

ส่วนประกอบและวัสดุ

ปริมาณ

เซอร์โวไดรฟ์ MG-995

เซอร์โวไดรฟ์ MG90S

แบริ่ง 30x55x13

แบริ่ง 3x8x3

M3x27 ขาตั้งทองเหลืองตัวเมีย-ตัวเมีย

สกรู M3x10 แบบมีประตู ภายใต้ความสูง/น้ำหนัก

แผ่นคอมโพสิต ขนาด 0.6 ตร.ม

บอร์ดควบคุม Arduino UNO R3

ตัวต้านทานปรับค่าได้ 100 คอม

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

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

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

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

หุ่นยนต์ถูกควบคุมโดยใช้เครื่องคัดลอกผ่านช่องสัญญาณวิทยุ Bluetooth

    แหล่งข้อมูล

Gololobov N.V. เกี่ยวกับโครงการ Arduino สำหรับเด็กนักเรียน มอสโก 2554.

Kurt E.D. ความรู้เบื้องต้นเกี่ยวกับไมโครคอนโทรลเลอร์พร้อมการแปลเป็นภาษารัสเซียโดย T. Volkov 2555.

คู่มือการใช้งาน Belov A.V. สำหรับนักพัฒนาอุปกรณ์บนไมโครคอนโทรลเลอร์ AVR วิทยาศาสตร์และเทคโนโลยี, เซนต์ปีเตอร์สเบิร์ก, 2551

http://www.customelectronics.ru/robo-ruka-sborka-mehaniki/ หุ่นยนต์ที่ติดตั้งซอฟต์แวร์รวบรวมข้อมูล

http://robocraft.ru/blog/electronics/660.html หุ่นยนต์ผ่าน Bluetooth

http://robocraft.ru/blog/mechanics/583.html ลิงก์ไปยังบทความและวิดีโอ

http://edurobots.ru/category/uroki/ Arduino สำหรับผู้เริ่มต้น

    แอปพลิเคชัน

การวาดฐานหุ่นยนต์

การวาดบูมและด้ามจับของหุ่นยนต์

เรากำลังสร้างหุ่นยนต์ควบคุมโดยใช้เรนจ์ไฟนเดอร์และใช้งานแบ็คไลท์

เราจะตัดฐานจากอะคริลิก เราใช้เซอร์โวไดรฟ์เป็นมอเตอร์

คำอธิบายทั่วไปของโครงการหุ่นยนต์ควบคุมหุ่นยนต์

โครงการนี้ใช้เซอร์โวมอเตอร์ 6 ตัว สำหรับชิ้นส่วนเครื่องจักรกล ใช้อะคริลิกหนา 2 มม. ฐานจากดิสโก้บอลมีประโยชน์เหมือนขาตั้งกล้อง (มีมอเตอร์ตัวใดตัวหนึ่งติดอยู่ด้านใน) นอกจากนี้ยังใช้เซ็นเซอร์วัดระยะอัลตราโซนิกและไฟ LED 10 มม.

บอร์ดจ่ายไฟ Arduino ใช้เพื่อควบคุมหุ่นยนต์ แหล่งพลังงานนั้นคือแหล่งจ่ายไฟของคอมพิวเตอร์

โครงการนี้ให้คำอธิบายที่ครอบคลุมเกี่ยวกับการพัฒนาแขนหุ่นยนต์ ประเด็นเรื่องแหล่งจ่ายไฟของการออกแบบที่พัฒนาขึ้นจะพิจารณาแยกกัน

ส่วนประกอบหลักสำหรับโปรเจ็กต์ตัวจัดการ

มาเริ่มการพัฒนากันดีกว่า คุณจะต้องการ:

  • เซอร์โวมอเตอร์ 6 ตัว (ฉันใช้ 2 รุ่น mg946, 2 mg995, 2 futuba s3003 (mg995/mg946 มีคุณสมบัติที่ดีกว่า futuba s3003 แต่รุ่นหลังราคาถูกกว่ามาก);
  • อะคริลิคหนา 2 มม. (และชิ้นเล็กหนา 4 มม.)
  • เซ็นเซอร์วัดระยะอัลตราโซนิก hc-sr04;
  • ไฟ LED 10 มม. (สี - ขึ้นอยู่กับดุลยพินิจของคุณ);
  • ขาตั้งกล้อง (ใช้เป็นฐาน);
  • ด้ามจับอลูมิเนียม (ราคาประมาณ 10-15 ดอลลาร์)

สำหรับการขับรถ:

  • บอร์ด Arduino Uno (ใช้ในโครงการ คณะกรรมการโฮมเมดซึ่งคล้ายกับ Arduino โดยสิ้นเชิง);
  • บอร์ดจ่ายไฟ (คุณจะต้องทำเองเราจะกลับมาที่ปัญหานี้ในภายหลังต้องได้รับการดูแลเป็นพิเศษ)
  • แหล่งจ่ายไฟ (ในกรณีนี้จะใช้แหล่งจ่ายไฟของคอมพิวเตอร์)
  • คอมพิวเตอร์สำหรับตั้งโปรแกรมหุ่นยนต์ของคุณ (ถ้าคุณใช้ Arduino ในการเขียนโปรแกรมแสดงว่า Arduino IDE)

แน่นอนว่าคุณจะต้องมีสายเคเบิลและเครื่องมือพื้นฐานบางอย่าง เช่น ไขควง และอื่นๆ ตอนนี้เราสามารถไปสู่การออกแบบได้แล้ว

การประกอบเครื่องกล

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

ความยาวของส่วนแรกประมาณ 19 ซม. ที่สอง - ประมาณ 17.5; ความยาวของข้อต่อด้านหน้าประมาณ 5.5 ซม. เลือกขนาดที่เหลือตามขนาดโครงการของคุณ โดยหลักการแล้ว ขนาดของโหนดที่เหลือนั้นไม่สำคัญมากนัก

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

ในการติดตั้งเซ็นเซอร์อัลตราโซนิก จะใช้อะคริลิกหนา 2 มม. คุณสามารถติดตั้ง LED ได้ที่ด้านล่าง

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

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

หลังจากประกอบชิ้นส่วนเครื่องจักรกลแล้ว เราก็ไปยัง "สมอง" ของหุ่นยนต์ของเราได้เลย

ด้ามจับหุ่นยนต์

ในการติดตั้งกริป คุณจะต้องใช้เซอร์โวมอเตอร์และสกรูบางตัว

ดังนั้นสิ่งที่ต้องทำจริงๆ

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

หลังจากติดตั้งเซอร์โวแล้ว ให้หมุนไปที่ตำแหน่งซ้ายสุดแล้วบีบปากจับของกริปเปอร์

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

คุณสามารถเชื่อมต่อเซอร์โวไดรฟ์เข้ากับบอร์ด Arduino และตรวจสอบการทำงานของกริปเปอร์ได้

โปรดทราบว่าการทำงานของมือจับอาจมีปัญหาหากสลักเกลียว/สกรูแน่นเกินไป

การเพิ่มแสงสว่างให้กับอุปกรณ์ชี้ตำแหน่ง

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

สถานที่สำหรับติดตั้ง LED ขึ้นอยู่กับความคิดสร้างสรรค์และจินตนาการของคุณ

แผนภาพไฟฟ้า

คุณสามารถใช้โพเทนชิโอมิเตอร์ 100 kOhm แทนตัวต้านทาน R1 เพื่อปรับความสว่างด้วยตนเองได้ ตัวต้านทาน 118 โอห์มถูกใช้เป็นความต้านทาน R2

รายการส่วนประกอบหลักที่ใช้:

  • ตัวต้านทาน R1 - 100 kOhm
  • R2 - ตัวต้านทาน 118 โอห์ม
  • ทรานซิสเตอร์ bc547
  • โฟโตรีซีสเตอร์
  • ไฟ LED 7 ดวง
  • สวิตช์
  • การเชื่อมต่อกับบอร์ด Arduino

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

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

นอกจากนี้ ยังได้ติดตั้งไฟ LED แสดงสถานะพลังงานบนแผงจ่ายไฟอีกด้วย นี่เป็นเรื่องง่ายที่จะนำไปใช้ นอกจากนี้ มีการใช้ตัวต้านทาน 100 โอห์มระหว่าง 5V และกราวด์

LED ขนาด 10 มม. บนหุ่นยนต์เชื่อมต่อกับ Arduino ด้วยเช่นกัน ตัวต้านทาน 100 โอห์มเปลี่ยนจากพิน 13 ไปยังขาบวกของ LED เชิงลบ - ลงสู่พื้น คุณสามารถปิดการใช้งานได้ในโปรแกรม

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

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

โปรดทราบว่าตัวเชื่อมต่อจากเซอร์โวเชื่อมต่อกับเอาต์พุต PWM ของ Arduino ใกล้หมุดแต่ละอันบนกระดานนั้นมี เครื่องหมาย- สามารถต่อเซ็นเซอร์วัดระยะอัลตราโซนิกเข้ากับพิน 6, 7 ได้ ส่วน LED สามารถต่อเข้ากับพิน 13 และกราวด์ได้ นี่คือพินทั้งหมดที่เราต้องการ

ตอนนี้เราสามารถไปยังการเขียนโปรแกรม Arduino ได้แล้ว

ก่อนที่จะเชื่อมต่อบอร์ดผ่าน USB เข้ากับคอมพิวเตอร์ของคุณ ตรวจสอบให้แน่ใจว่าคุณได้ปิดเครื่องแล้ว เมื่อคุณทดสอบโปรแกรม ให้ปิดไฟที่แขนหุ่นยนต์ของคุณด้วย หากไม่ได้ปิดเครื่อง Arduino จะได้รับไฟ 5 โวลต์จาก usb และ 12 โวลต์จากแหล่งจ่ายไฟ ดังนั้นพลังงานจาก usb จะถ่ายโอนไปยังแหล่งพลังงานและจะ "ลดลง" เล็กน้อย

แผนภาพการเดินสายไฟแสดงให้เห็นว่ามีการเพิ่มโพเทนชิโอมิเตอร์เพื่อควบคุมเซอร์โว โพเทนชิโอมิเตอร์เป็นทางเลือก แต่โค้ดด้านบนจะไม่ทำงานหากไม่มีโพเทนชิโอมิเตอร์ โพเทนชิโอมิเตอร์สามารถเชื่อมต่อกับพิน 0,1,2,3 และ 4 ได้

การเขียนโปรแกรมและการเปิดตัวครั้งแรก

มีการใช้โพเทนชิโอมิเตอร์ 5 ตัวในการควบคุม (คุณสามารถแทนที่ด้วยโพเทนชิโอมิเตอร์ 1 อันและจอยสติ๊ก 2 อัน) แผนภาพการเชื่อมต่อกับโพเทนชิโอมิเตอร์แสดงไว้ในส่วนก่อนหน้า ภาพร่าง Arduino อยู่ที่นี่

ด้านล่างนี้คือวิดีโอการทำงานของแขนหุ่นยนต์หลายรายการ ฉันหวังว่าคุณจะเพลิดเพลิน

วิดีโอด้านบนแสดงการดัดแปลงล่าสุดของอาวุธยุทโธปกรณ์ ฉันต้องเปลี่ยนการออกแบบเล็กน้อยและเปลี่ยนชิ้นส่วนบางส่วน ปรากฎว่าเซอร์โว futuba s3003 ค่อนข้างอ่อนแอ ปรากฏว่าใช้สำหรับจับหรือหมุนมือเท่านั้น เขาเลยติดตั้ง mg995 โดยทั่วไปแล้ว mg946 จะเป็นตัวเลือกที่ยอดเยี่ยม

โปรแกรมควบคุมและคำอธิบาย

// ไดรฟ์ถูกควบคุมโดยใช้ตัวต้านทานแบบแปรผัน - โพเทนชิโอมิเตอร์

int potpin = 0; // พินอะนาล็อกสำหรับเชื่อมต่อโพเทนชิออมิเตอร์

อินท์วาล; // ตัวแปรสำหรับอ่านข้อมูลจากพินอะนาล็อก

myservo1.แนบ (3);

myservo2.แนบ (5);

myservo3.แนบ (9);

myservo4.แนบ (10);

myservo5.แนบ (11);

pinMode (นำ, เอาต์พุต);

( // เซอร์โว 1 พินอะนาล็อก 0

val = analogRead (พิน); // อ่านค่าโพเทนชิออมิเตอร์ (ค่าระหว่าง 0 ถึง 1,023)

// ปรับขนาดค่าผลลัพธ์เพื่อใช้กับเซอร์โว (รับค่าในช่วงตั้งแต่ 0 ถึง 180)

myservo1.write(วาล); // นำเซอร์โวไปยังตำแหน่งตามค่าที่คำนวณได้

ล่าช้า(15); // รอให้เซอร์โวมอเตอร์ไปถึงตำแหน่งที่ระบุ

วาล = อะนาล็อกอ่าน (potpin1); // เซอร์โว 2 บนพินอะนาล็อก 1

วาล = แผนที่ (วาล, 0, 1023, 0, 179);

myservo2.write(วาล);

วาล = อะนาล็อกอ่าน (potpin2); // เซอร์โว 3 บนพินอะนาล็อก 2

วาล = แผนที่ (วาล, 0, 1023, 0, 179);

myservo3.write(วาล);

วาล = อะนาล็อกอ่าน (potpin3); // เซอร์โว 4 บนพินอะนาล็อก 3

วาล = แผนที่ (วาล, 0, 1023, 0, 179);

myservo4.write(วาล);

วาล = อะนาล็อกอ่าน (potpin4); //serva 5 บนพินอะนาล็อก 4

วาล = แผนที่ (วาล, 0, 1023, 0, 179);

myservo5.write(วาล);

วาดภาพโดยใช้เซ็นเซอร์วัดระยะอัลตราโซนิก

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

คำอธิบายพื้นฐานของโค้ดมีดังต่อไปนี้

#กำหนดตรีโกณมิติ 7

รหัสชิ้นส่วนต่อไปนี้:

เราตั้งชื่อให้กับสัญญาณทั้งหมด 5 สัญญาณ (สำหรับ 6 ไดรฟ์) (สามารถเป็นอะไรก็ได้)

กำลังติดตาม:

อนุกรมเริ่มต้น(9600);

pinMode(ตรีโกณมิติ, เอาท์พุต);

pinMode(echoPin, อินพุต);

pinMode (นำ, เอาต์พุต);

myservo1.แนบ (3);

myservo2.แนบ (5);

myservo3.แนบ (9);

myservo4.แนบ (10);

myservo5.แนบ (11);

เราแจ้งให้บอร์ด Arduino ทราบว่าเชื่อมต่อ LED, เซอร์โวมอเตอร์ และเซ็นเซอร์วัดระยะไว้ด้วย ไม่จำเป็นต้องเปลี่ยนแปลงอะไรที่นี่

ตำแหน่งโมฆะ1())(

digitalWrite (นำ, สูง);

myservo2.writeMicroseconds(1300);

myservo4.writeMicroseconds(800);

myservo5.writeMicroseconds(1,000);

มีบางสิ่งที่คุณสามารถเปลี่ยนแปลงได้ที่นี่ ฉันกำหนดตำแหน่งและเรียกมันว่าตำแหน่ง 1 จะนำไปใช้ในโปรแกรมต่อไป หากคุณต้องการให้มีการเคลื่อนไหวที่แตกต่างกัน ให้เปลี่ยนค่าในวงเล็บจาก 0 เป็น 3000

หลังจากนั้น:

ตำแหน่งโมฆะ2())(

digitalWrite (นำ, ต่ำ);

myservo2.writeMicroseconds(1200);

myservo3.writeMicroseconds(1300);

myservo4.writeMicroseconds(1400);

myservo5.writeMicroseconds(2200);

คล้ายกับชิ้นที่แล้ว เฉพาะในกรณีนี้คือตำแหน่งที่ 2 ด้วยหลักการเดียวกันนี้ คุณสามารถเพิ่มตำแหน่งใหม่สำหรับการเคลื่อนไหวได้

ระยะเวลาที่ยาวนาน, ระยะทาง;

digitalWrite (ตรีโกณมิติ, ต่ำ);

ดีเลย์ไมโครวินาที(2);

digitalWrite (ตรีโกณมิติ, สูง);

ดีเลย์ไมโครวินาที (10);

digitalWrite (ตรีโกณมิติ, ต่ำ);

ระยะเวลา = พัลส์อิน (echoPin, สูง);

ระยะทาง = (ระยะเวลา/2) / 29.1;

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

หลังจากนั้น:

ถ้า (ระยะทาง<= 30) {

ถ้า (ระยะทาง< 10) {

myservo5.writeMicroseconds(2200); //เปิดแกร็บเบอร์

myservo5.writeMicroseconds(1,000); //ปิดตัวจับ

ตอนนี้คุณสามารถเพิ่มการเคลื่อนไหวใหม่ตามระยะทางที่วัดโดยเซ็นเซอร์อัลตราโซนิก

ถ้า(ระยะทาง<=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

ตำแหน่ง1(); // โดยพื้นฐานแล้วแขนจะคำนวณสิ่งที่คุณระบุระหว่างวงเล็บ ( )

else( // ถ้าระยะห่างมากกว่า 30 cm ให้ไปที่ตำแหน่งที่ 2

ตำแหน่ง ()2 // คล้ายกับบรรทัดก่อนหน้า

คุณสามารถเปลี่ยนระยะทางในโค้ดและทำทุกอย่างที่คุณต้องการ

รหัสบรรทัดสุดท้าย

ถ้า (ระยะทาง > 30 || ระยะทาง<= 0){

Serial.println("อยู่นอกขอบเขต"); // ส่งข้อความในมอนิเตอร์แบบอนุกรมที่เราได้เกินขอบเขตที่กำหนด

Serial.print (ระยะทาง);

Serial.println("ซม."); //ระยะห่างเป็นเซนติเมตร

ล่าช้า (500); // หน่วงเวลา 0.5 วินาที

แน่นอน คุณสามารถแปลงทุกอย่างที่นี่เป็นมิลลิเมตร เมตร เปลี่ยนข้อความที่แสดง ฯลฯ คุณสามารถเล่นกับความล่าช้าเล็กน้อยได้

นั่นคือทั้งหมดที่ เพลิดเพลิน อัปเกรดเครื่องมือจัดการของคุณเอง แบ่งปันแนวคิดและผลลัพธ์!


การเชื่อมต่อ:

หากคุณประกอบชิ้นส่วนของหุ่นยนต์ตามคำแนะนำคุณสามารถเริ่มประกอบวงจรอิเล็กทรอนิกส์ได้ เราขอแนะนำให้เชื่อมต่อเซอร์โวตัวจัดการกับ Arduino UNO ผ่าน Trerma-Power Shield และควบคุมเซอร์โวโดยใช้โพเทนชิโอมิเตอร์ Trema

  • การหมุนปุ่มของโพเทนชิโอมิเตอร์ Trema ตัวแรกจะหมุนฐาน
  • การหมุนปุ่มของโพเทนชิโอมิเตอร์ Trema ตัวที่สองจะหมุนแขนซ้าย
  • การหมุนปุ่มโพเทนชิโอมิเตอร์ Trema ตัวที่สามจะหมุนแขนขวา
  • การหมุนปุ่มโพเทนชิโอมิเตอร์ Trema ที่สี่จะขยับมือจับ

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

รหัสโปรแกรม:

หากคุณใช้กำลังก่อนการสอบเทียบ เครื่องมือจัดการอาจเริ่มเคลื่อนไหวอย่างไม่เหมาะสม! ทำตามขั้นตอนการปรับเทียบทั้งหมดให้เสร็จสิ้นก่อน

#รวม // เชื่อมต่อไลบรารีของเซอร์โวเพื่อทำงานกับเซอร์โวเซอร์โว servo1; // ประกาศวัตถุ servo1 ให้ทำงานกับเซอร์โวไดรฟ์ฐาน Servo servo2; // ประกาศวัตถุ servo2 ให้ทำงานร่วมกับเซอร์โวเซอร์โวเซอร์โวเซอร์โว 3 ไหล่ซ้าย; // ประกาศวัตถุ servo3 ให้ทำงานกับเซอร์โวแขนขวาของเซอร์โว servo4; // ประกาศวัตถุ servo4 ให้ทำงานร่วมกับการจับภาพ servo int valR1, valR2, valR3, valR4; // ประกาศตัวแปรเพื่อเก็บค่าโพเทนชิออมิเตอร์ // กำหนดพิน: const uint8_t pinR1 = A2; // กำหนดค่าคงที่จากหมายเลขเอาต์พุตของโพเทนชิออมิเตอร์ควบคุม ฐาน const uint8_t pinR2 = A3; // กำหนดค่าคงที่จากหมายเลขเอาต์พุตของโพเทนชิออมิเตอร์ควบคุม ไหล่ซ้าย const uint8_t pinR3 = A4; // กำหนดค่าคงที่จากหมายเลขเอาต์พุตของโพเทนชิออมิเตอร์ควบคุม ไหล่ขวา const uint8_t pinR4 = A5; // กำหนดค่าคงที่จากหมายเลขเอาต์พุตของโพเทนชิออมิเตอร์ควบคุม จับ const uint8_t pinS1 = 10; // กำหนดค่าคงที่ด้วยหมายเลขพินของเซอร์โวไดรฟ์ฐาน const uint8_t pinS2 = 9; // กำหนดค่าคงที่ด้วยหมายเลขพินของเซอร์โวไดรฟ์แขนซ้าย const uint8_t pinS3 = 8; // กำหนดค่าคงที่ด้วยหมายเลขพินของเซอร์โวไดรฟ์ของแขนขวา const uint8_t pinS4 = 7; // กำหนดค่าคงที่ด้วยหมายเลขพินของการตั้งค่าโมฆะไดรฟ์เซอร์โวจับภาพ ()) ( // รหัสฟังก์ชันการตั้งค่าจะดำเนินการครั้งเดียว: Serial.begin (9600); // เริ่มต้นการถ่ายโอนข้อมูลไปยังมอนิเตอร์พอร์ตอนุกรม servo1.attach (pinS1); // กำหนด servo1 ให้กับการควบคุมวัตถุของเซอร์โวไดรฟ์ 1 servo2.attach(pinS2); // กำหนดให้กับการควบคุมวัตถุ servo2 ของเซอร์โวไดรฟ์ 2 servo3.attach(pinS3); // กำหนดให้กับการควบคุมวัตถุ servo3 ของเซอร์โวไดรฟ์ 3 servo4.attach(pinS4); // กำหนดให้กับการควบคุมวัตถุ servo4 ของเซอร์โวไดรฟ์ 4) void loop())( // โค้ดฟังก์ชันลูปถูกดำเนินการอย่างต่อเนื่อง: valR1=map(analogRead(pinR1), 0 , 1024, 10, 170); servo1.write(valR1); // หมุนด้วยฐาน มุมที่ระบุในบรรทัดนี้: 10 และ 170 อาจจำเป็นต้องเปลี่ยน (ปรับเทียบ) valR2=map(analogRead(pinR2), 0, 1,024, 80, 170); // ควบคุมไหล่ซ้าย มุมที่ระบุในบรรทัดนี้: 80 และ 170 อาจต้องเปลี่ยน (ปรับเทียบ) ) valR3=map(analogRead(pinR3), 0, 1024, 60, 170); // ควบคุมไหล่ขวา มุมที่ระบุในบรรทัดนี้: 60 และ 170 อาจจำเป็นต้องเปลี่ยน (ปรับเทียบ) valR4=map(analogRead(pinR4), 0, 1024, 40, 70); servo4.write(valR4); // ควบคุมการจับ มุมที่ระบุในบรรทัดนี้: 40 และ 70 อาจจำเป็นต้องเปลี่ยน (ปรับเทียบ) Serial.println((String) "A1 = "+valR1+",\t A2 = "+valR2+",\t A3 = "+valR3+ ", \t A4 = "+valR4); // แสดงมุมบนจอภาพ)

การสอบเทียบ:

ก่อนที่คุณจะเริ่มทำงานกับเครื่องมือจัดการ จะต้องได้รับการปรับเทียบก่อน!

    การสอบเทียบประกอบด้วยการระบุค่าสุดขีดของมุมการหมุนของเซอร์โวแต่ละตัว เพื่อให้ชิ้นส่วนไม่รบกวนการเคลื่อนที่
  • ถอดเซอร์โวทั้งหมดออกจาก Trema-Power Shield อัปโหลดภาพร่างและเชื่อมต่อพลังงาน
  • เปิดมอนิเตอร์พอร์ตอนุกรม
  • จอภาพจะแสดงมุมการหมุนของเซอร์โวแต่ละตัว (เป็นองศา)
  • เชื่อมต่อเซอร์โวตัวแรก (ซึ่งควบคุมการหมุนของฐาน) เพื่อปักหมุด D10
  • การหมุนปุ่มของโพเทนชิโอมิเตอร์ Trema ตัวแรก (พิน A2) จะหมุนเซอร์โวตัวแรก (พิน D10) และจอภาพจะเปลี่ยนมุมปัจจุบันของเซอร์โวนี้ (ค่า: A1 = ...) ตำแหน่งสุดขั้วของเซอร์โวตัวแรกจะอยู่ในช่วงตั้งแต่ 10 ถึง 170 องศา (ดังที่เขียนไว้ในบรรทัดแรกของโค้ดลูป) ช่วงนี้สามารถเปลี่ยนแปลงได้โดยการแทนที่ค่าของอาร์กิวเมนต์สองตัวสุดท้ายเป็นฟังก์ชัน map() ในบรรทัดแรกของโค้ดลูปด้วยค่าใหม่ ตัวอย่างเช่น การแทนที่ 170 ด้วย 180 จะเพิ่มตำแหน่งสุดขั้วของเซอร์โวในทิศทางที่กำหนด และโดยการแทนที่ 10 ด้วย 20 คุณจะลดตำแหน่งสุดขั้วอีกอันหนึ่งของเซอร์โวตัวเดียวกัน
  • หากคุณแทนที่ค่า คุณจะต้องอัปโหลดภาพร่างอีกครั้ง ตอนนี้เซอร์โวจะหมุนภายในขีดจำกัดใหม่ที่คุณระบุ
  • เชื่อมต่อเซอร์โวตัวที่สอง (ซึ่งควบคุมการหมุนของแขนซ้าย) เพื่อปักหมุด D9
  • การหมุนปุ่มของโพเทนชิโอมิเตอร์ Trema ตัวที่สอง (พิน A3) จะหมุนเซอร์โวตัวที่สอง (พิน D9) และจอภาพจะเปลี่ยนมุมปัจจุบันของเซอร์โวนี้ (ค่า: A2 = ...) ตำแหน่งสุดขั้วของเซอร์โวตัวที่สองจะอยู่ในช่วงตั้งแต่ 80 ถึง 170 องศา (ดังที่เขียนไว้ในบรรทัดที่สองของร่างลูป) ช่วงนี้เปลี่ยนแปลงในลักษณะเดียวกับเซอร์โวตัวแรก
  • หากคุณแทนที่ค่า คุณจะต้องอัปโหลดภาพร่างอีกครั้ง
  • เชื่อมต่อเซอร์โวตัวที่สาม (ซึ่งควบคุมการหมุนของแขนขวา) เพื่อปักหมุด D8 และปรับเทียบในลักษณะเดียวกัน
  • เชื่อมต่อเซอร์โวตัวที่สี่ (ควบคุมกริปเปอร์) เพื่อปักหมุด D7 และปรับเทียบในลักษณะเดียวกัน

การสอบเทียบเพียงครั้งเดียวหลังจากประกอบหุ่นยนต์แล้ว การเปลี่ยนแปลงที่คุณทำ (ค่าของมุมจำกัด) จะถูกบันทึกไว้ในไฟล์ร่าง

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

วิดีโอแสดงการสาธิตหุ่นยนต์ของฉัน

ขั้นตอนที่ 1: รายการวัสดุ



เราจะต้อง:

  1. บอร์ดอาร์ดูโน่. ฉันใช้ Uno แต่ความหลากหลายก็จะทำงานได้ดีพอๆ กันสำหรับโปรเจ็กต์นี้
  2. เซอร์โว 4 ตัวที่ถูกที่สุดที่คุณจะพบ
  3. วัสดุที่อยู่อาศัยที่เหมาะกับรสนิยมของคุณ ไม้ พลาสติก โลหะ กระดาษแข็งมีความเหมาะสม โครงการของฉันทำจากสมุดบันทึกเก่า
  4. หากคุณไม่อยากยุ่งยากกับแผงวงจรพิมพ์ คุณจะต้องมีเขียงหั่นขนม บอร์ดขนาดเล็กจะทำ มองหาตัวเลือกที่มีจัมเปอร์และแหล่งจ่ายไฟ - อาจมีราคาถูกมาก
  5. บางอย่างสำหรับโคนแขน - ฉันใช้กระป๋องกาแฟ มันไม่ใช่ตัวเลือกที่ดีที่สุด แต่มันคือทั้งหมดที่ฉันหาได้ในอพาร์ทเมนท์
  6. ด้ายเส้นเล็กสำหรับกลไกแขนและเข็มสำหรับเจาะรู
  7. กาวและเทปเพื่อยึดทุกอย่างไว้ด้วยกัน ไม่มีอะไรที่ยึดติดกันไม่ได้ด้วยเทปพันสายไฟและกาวร้อน
  8. ตัวต้านทาน 10K สามตัว หากคุณไม่มีตัวต้านทาน ก็มีวิธีแก้ไขในโค้ดสำหรับกรณีดังกล่าว แต่ทางเลือกที่ดีที่สุดคือการซื้อตัวต้านทาน

ขั้นตอนที่ 2: มันทำงานอย่างไร



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

ขั้นตอนที่ 3: การปรับเปลี่ยนจอยสติ๊ก

สมมติว่าคุณประกอบกลไกแขนเสร็จแล้ว ฉันจะไปยังส่วนจอยสติ๊ก

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

ฉันเชื่อมต่อโพเทนชิโอมิเตอร์เข้ากับเขียงหั่นขนม แต่ละอันมีสามขั้ว หนึ่งในนั้นต้องเชื่อมต่อกับ GND ส่วนที่สองคือ +5V บน Arduino และอันตรงกลางกับอินพุต ซึ่งเราจะกำหนดในภายหลัง เราจะไม่ใช้แกน Y บนโพเทนชิออมิเตอร์ด้านซ้าย ดังนั้นเราจึงต้องการเพียงโพเทนชิออมิเตอร์เหนือจอยสติ๊กเท่านั้น

สำหรับสวิตช์ ให้เชื่อมต่อ +5V ที่ปลายด้านหนึ่ง และต่อสายไฟที่ไปยังอินพุต Arduino อีกด้านหนึ่งไปยังปลายอีกด้านหนึ่ง จอยสติ๊กของฉันมีเส้น +5V ทั่วไปสำหรับสวิตช์ทั้งหมด ฉันเชื่อมต่อเพียง 2 ปุ่ม แต่จากนั้นฉันก็เชื่อมต่ออีกปุ่มหนึ่งเพราะจำเป็น

สิ่งสำคัญคือต้องตัดสายไฟที่ไปที่ชิป (วงกลมสีดำบนจอยสติ๊ก) เมื่อคุณทำตามขั้นตอนข้างต้นทั้งหมดแล้ว คุณก็สามารถเริ่มเดินสายไฟได้

ขั้นตอนที่ 4: การเดินสายอุปกรณ์ของเรา

ภาพถ่ายแสดงการเดินสายไฟฟ้าของอุปกรณ์ โพเทนชิโอมิเตอร์เป็นคันโยกบนจอยสติ๊ก ข้อศอกเป็นแกน Y ด้านขวา ฐานเป็นแกน X ด้านขวา ไหล่เป็นแกน X ด้านซ้าย หากคุณต้องการเปลี่ยนทิศทางของเซอร์โว เพียงเปลี่ยนตำแหน่งของสาย +5V และ GND บนโพเทนชิออมิเตอร์ที่สอดคล้องกัน

ขั้นตอนที่ 5: อัปโหลดโค้ด

ณ จุดนี้ เราจำเป็นต้องดาวน์โหลดโค้ดที่แนบมาลงในคอมพิวเตอร์ของคุณแล้วอัปโหลดไปยัง Arduino

หมายเหตุ: หากคุณเคยอัปโหลดโค้ดไปยัง Arduino มาก่อน ให้ข้ามขั้นตอนนี้ไป คุณจะไม่ได้เรียนรู้อะไรใหม่ ๆ

  1. เปิด Arduino IDE แล้ววางโค้ดลงไป
  2. ใน Tools/Board ให้เลือกบอร์ดของคุณ
  3. ใน Tools/Serial Port ให้เลือกพอร์ตที่บอร์ดของคุณเชื่อมต่ออยู่ เป็นไปได้มากว่าตัวเลือกจะประกอบด้วยหนึ่งรายการ
  4. คลิกปุ่มอัปโหลด

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

หากคุณไม่ได้ใช้ตัวต้านทาน คุณจะต้องแก้ไขโค้ดที่ฉันจดบันทึกไว้

ไฟล์

ขั้นตอนที่ 6: การเริ่มต้นโครงการ

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

ต่อไปนี้เป็นวิธีตั้งโปรแกรมมือ:

  1. เปิด Serial Monitor ใน Arduino IDE ซึ่งจะทำให้ง่ายต่อการตรวจสอบกระบวนการ
  2. บันทึกตำแหน่งเริ่มต้นโดยคลิกบันทึก
  3. ย้ายเซอร์โวครั้งละหนึ่งตัวเท่านั้น เช่น ยกไหล่ขึ้น แล้วกดบันทึก
  4. เปิดใช้งานมือระหว่างก้าวเท่านั้น จากนั้นบันทึกโดยกดบันทึก การปิดใช้งานยังดำเนินการในขั้นตอนแยกต่างหาก ตามด้วยการกดบันทึก
  5. เมื่อคุณเสร็จสิ้นลำดับคำสั่ง ให้กดปุ่มเล่น หุ่นยนต์จะย้ายไปยังตำแหน่งเริ่มต้นแล้วเริ่มเคลื่อนที่
  6. หากคุณต้องการหยุด ให้ถอดสายเคเบิลหรือกดปุ่มรีเซ็ตบนบอร์ด Arduino

หากทำทุกอย่างถูกต้อง ผลลัพธ์ก็จะประมาณนี้!

ฉันหวังว่าบทเรียนจะเป็นประโยชน์กับคุณ!

มุมมองด้านในฝ่ามือของหุ่นยนต์ฮิวแมนนอยด์ RKP-RH101-3D ฝ่ามือของหุ่นยนต์ฮิวแมนนอยด์ถูกหนีบไว้ที่ 50% (ดูรูปที่ 2)

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

โดยทั่วไปแล้วนี่คือการออกแบบของตัวจัดการ RKP-RH101-3D สำหรับความซับซ้อนของงานที่หุ่นยนต์ตัวใดตัวหนึ่งซึ่งมีอุปกรณ์ควบคุมต่างๆ ที่ใช้แทนมือสามารถแก้ปัญหาได้ ส่วนใหญ่จะขึ้นอยู่กับความซับซ้อนและความสมบูรณ์แบบของอุปกรณ์ควบคุม
เป็นเรื่องปกติที่จะพูดถึงหุ่นยนต์สามรุ่น: หุ่นยนต์อุตสาหกรรม หุ่นยนต์ปรับตัว และปัญญาประดิษฐ์ แต่ไม่ว่าหุ่นยนต์ประเภทไหนจะได้รับการออกแบบมา ก็ไม่สามารถทำอะไรได้หากไม่มีมือของหุ่นยนต์เพื่อทำงานต่างๆ ลิงก์ตัวจัดการสามารถเคลื่อนย้ายได้โดยสัมพันธ์กันและสามารถดำเนินการเคลื่อนไหวแบบหมุนและการแปลได้ บางครั้งแทนที่จะหยิบสิ่งของจากหุ่นยนต์อุตสาหกรรม ข้อต่อสุดท้ายของหุ่นยนต์ (มือของมัน) คือเครื่องมือทำงานบางประเภท เช่น สว่าน ประแจ เครื่องพ่นสี หรือคบเพลิงเชื่อม หุ่นยนต์ฮิวแมนนอยด์อาจมีอุปกรณ์จิ๋วเพิ่มเติมอีกมากมายที่ปลายนิ้วของหุ่นยนต์ที่มีรูปร่างเหมือนมือ เช่น สำหรับการเจาะ การแกะสลัก หรือการวาดภาพ

มุมมองทั่วไปของหุ่นยนต์ต่อสู้ฮิวแมนนอยด์บนเซอร์โวด้วยมือ RKP-RH101-3D (ดูรูปที่ 3)

กลับ

×
เข้าร่วมชุมชน "page-electric.ru"!
ติดต่อกับ:
ฉันสมัครเป็นสมาชิกชุมชน "page-electric.ru" แล้ว