สารบัญ:

กระดานไวท์บอร์ดห้องเรียน Wallrides ผู้ติดตามสาย Arduino: 8 ขั้นตอน (พร้อมรูปภาพ)
กระดานไวท์บอร์ดห้องเรียน Wallrides ผู้ติดตามสาย Arduino: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: กระดานไวท์บอร์ดห้องเรียน Wallrides ผู้ติดตามสาย Arduino: 8 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: กระดานไวท์บอร์ดห้องเรียน Wallrides ผู้ติดตามสาย Arduino: 8 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: ไวท์บอร์ดออนไลน์สำหรับห้องเรียนยุคใหม่ (ใช้ง่าย ใช้ฟรี ใช้ได้จริง) | Whiteboard.chat EP.1 2024, พฤศจิกายน
Anonim
Image
Image

การเดินตามเส้นบนพื้นนั้นน่าเบื่อเกินไป!

เราได้พยายามมองผู้ติดตามสายในมุมที่ต่างออกไปและนำพวกเขาขึ้นเครื่องบินอีกลำ - ไปที่กระดานไวท์บอร์ดของโรงเรียน

ดูสิว่ามันเกิดอะไรขึ้น!

ขั้นตอนที่ 1: คุณต้องการอะไร

วิธีการประกอบ? ประกอบแชสซี
วิธีการประกอบ? ประกอบแชสซี

สำหรับหุ่นยนต์แข่งหนึ่งตัว:

กลศาสตร์:

แชสซีหุ่นยนต์ miniQ 1 x 2WD; เป็นแพลตฟอร์มอเนกประสงค์สำหรับการสร้างหุ่นยนต์สองล้ออย่างง่าย

มอเตอร์เกียร์ไมโคร 2 x 6V ที่มีอัตราส่วนลด 1:150; มอเตอร์เกียร์ที่มาพร้อมกับแพลตฟอร์มหุ่นยนต์ miniQ มีอัตราทดเกียร์ 1:50 และเร็วเกินไป ควรเปลี่ยนด้วยมอเตอร์ที่แรงกว่า เช่น อัตราทดเกียร์ 1:150 หรือสูงกว่า ยิ่งอัตราทดเกียร์สูงเท่าไร หุ่นยนต์ก็จะยิ่งขี่บนไวท์บอร์ดช้าลงเท่านั้น แต่โอกาสที่ล้อจะลื่นก็จะน้อยลง

4 x แม่เหล็กนีโอไดเมียม; คุณต้องใช้แม่เหล็กที่มีความหนา 3 มม. ขนาดเล็กที่มีเส้นผ่านศูนย์กลาง 12 มม. (สำหรับผู้ที่มีรูปร่างกลม) หรือด้าน 12 มม. (สำหรับผู้ที่มีรูปร่างเป็นสี่เหลี่ยมจัตุรัส) นอกจากนี้ แม่เหล็กควรมีรูสำหรับสกรูของเครื่องที่มีหัวจมซึ่งปกติแล้วสำหรับ M3 บางครั้งผู้ผลิตระบุความแรงของคัปปลิ้งแม่เหล็ก ควรอยู่ในช่วง 2 กก. ถึง 2.4 กก

อิเล็กทรอนิกส์:

1 x Arduino UNO; คอมพิวเตอร์ออนบอร์ด แพลตฟอร์มสร้างต้นแบบยอดนิยม

1 x โมดูลออคโตลิเนอร์; ดวงตาและไฟหน้าของบอทแข่งของคุณ Octoliner เป็นเซ็นเซอร์ Cool Line ซึ่งประกอบด้วยเซ็นเซอร์อินฟราเรดแยก 8 ตัวที่ควบคุมผ่านอินเทอร์เฟซ I2C

1 x เครื่องยนต์ โล่; เกือบทุกโมดูลเหมาะกับคุณ ฉันใช้อะนาล็อกนี้โดยใช้ชิป L298p

แบตเตอรี่ LiPo 1 x 2 เซลล์ 7.4V; มันสามารถให้กระแสขนาดใหญ่ที่มอเตอร์จำเป็นต้องเอาชนะแรงดึงดูดของแม่เหล็ก แบตเตอรี่ 2 เซลล์มีแรงดันไฟฟ้าอยู่ในช่วง 7.4V ถึง 8.4V เพียงพอสำหรับมอเตอร์ 6V และตัวควบคุมแรงดันไฟฟ้าในตัวบนบอร์ด Arduino สามารถเลือกความจุใดก็ได้ ยิ่งแบตเตอรี่มีความจุมากเท่าไหร่ หุ่นยนต์ก็จะยิ่งขับได้นานขึ้นเท่านั้น แต่โปรดทราบว่าแบตเตอรี่ที่มีความจุมากเกินไปอาจทำให้หนักได้ ความจุในช่วง 800mAh ถึง 1300mAh นั้นเหมาะสมที่สุด

เบ็ดเตล็ด:

4 x สายชาย - หญิง;

4 x M3 spacer หรือ standoff ชาย - หญิงที่มีความยาว 10 มม

3 x M3 spacer หรือ standoff ชาย - หญิงที่มีความยาว 25 มม. ขึ้นไป

สกรูหัวแบนขนาด 4 x M3x8;

1 x M3 Nylon สกรู;

1 x M3 น็อตหกเหลี่ยมไนลอน;

สกรู M3 และน็อตหกเหลี่ยม

สำหรับห้องเรียน:

กระดานไวท์บอร์ดแม่เหล็กแขวนอยู่บนผนัง

มาร์กเกอร์กระดานแม่เหล็กสีดำหนา

เครื่องชาร์จแบตเตอรี่ LiPo แบบพิเศษหรือเครื่องชาร์จหลายเครื่อง หากคุณต้องการสร้างหุ่นยนต์หลายตัวและชาร์จแยกกัน

ขั้นตอนที่ 2: วิธีการประกอบ? ประกอบแชสซี

ในตอนแรก คุณต้องประกอบมอเตอร์สำหรับเปลี่ยนล่วงหน้าของแพลตฟอร์มแชสซี miniQ จากชุดอุปกรณ์ด้วยมอเตอร์ที่ทรงพลังกว่าด้วยอัตราทดเกียร์ 1:150 อย่าลืมบัดกรีสายไฟเข้ากับหน้าสัมผัสของมอเตอร์!

ขั้นตอนที่ 3: วิธีการประกอบ? ติดตั้งแม่เหล็ก

วิธีการประกอบ? ติดตั้งแม่เหล็ก
วิธีการประกอบ? ติดตั้งแม่เหล็ก

ติดตั้งแม่เหล็กบนแพลตฟอร์ม miniQ ใช้ M3x10 standoffs, M3x8 หรือ M3x6 flat countersunk screws and M3 nuts. รูติดตั้งที่จำเป็นจะแสดงอยู่ในรูปภาพ

นั่นเป็นสิ่งสำคัญ!

ความยาวของส่วนรองควรเท่ากับ 10 มม. หลังจากติดตั้งแม่เหล็กแล้ว ให้ทดสอบแท่นชั่งบนไวท์บอร์ด แม่เหล็กทั้งสี่ตัวควรอยู่ติดกับกระดานแม่เหล็ก และยางยางบนล้อของแพลตฟอร์ม miniQ ควรโหลดไว้ล่วงหน้าและให้แรงเสียดทานกับพื้นผิวของกระดาน

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

ขั้นตอนที่ 4: วิธีการประกอบ? เพิ่มอิเล็คทรอนิคส์

วิธีการประกอบ? เพิ่มอิเล็คทรอนิคส์
วิธีการประกอบ? เพิ่มอิเล็คทรอนิคส์

ติดตั้งบอร์ด Arduino UNO บนแพลตฟอร์มโดยใช้สแตนด์ออฟ M3x25, สกรู M3 และน็อต M3 อย่าใช้การโต้เถียงสั้น ๆ ให้เว้นพื้นที่ไว้ใต้บอร์ด Arduino สำหรับสายไฟและแบตเตอรี่

ติดตั้งแผงป้องกันมอเตอร์บนบอร์ด Arduino UNO

ติดตั้งโมดูล Octoliner กดเข้ากับแท่นโดยใช้สกรูและน็อตไนลอน M3

นั่นเป็นสิ่งสำคัญ!

อย่าใช้ตัวยึดโลหะเพื่อยึด Octoliner รูยึดบางรูบนบอร์ดฝ่าวงล้อมถูกบัดกรีและใช้เป็นพิน IO เพื่อป้องกันไฟฟ้าลัดวงจร ให้ใช้สปริงยึด เช่น ไนลอน

ขั้นตอนที่ 5: วิธีการประกอบ? การเดินสายไฟ

วิธีการประกอบ? การเดินสายไฟ
วิธีการประกอบ? การเดินสายไฟ

เชื่อมโยงส่วนประกอบอิเล็กทรอนิกส์ทั้งหมดตามที่แสดงในแผนภาพ โมดูล Octoliner เชื่อมต่อผ่าน 4 สาย (GND, 5V, SDA, SCL) ไปยัง Arduino UNO ต่อมอเตอร์เข้ากับตัวป้องกันมอเตอร์ แบตเตอรี่ LiPo เชื่อมโยงกับคอนแทคแพดของแหล่งจ่ายไฟภายนอกบนแผงป้องกันมอเตอร์ เช่นเดียวกับพิน VIN บนบอร์ด Arduino แทนที่จะใช้พิน VIN คุณสามารถใช้ปลั๊กไฟขนาด 5.5 มม. x 2.1 มม. บนบอร์ดได้

นั่นเป็นสิ่งสำคัญ!

เมื่อใช้แผงป้องกันมอเตอร์ ไม่จำเป็นต้องใช้สายไฟ ช่องมอเตอร์สองช่องถูกควบคุมโดย 4 พิน 2 พิน PWM รับผิดชอบความเร็วของการหมุนในขณะที่ 2 พิน DIR สำหรับทิศทางการหมุน โดยปกติ หมุดเหล่านี้จะเชื่อมโยงกับหมุดของบอร์ด Arduino เฉพาะแล้ว และหมายเลขดัชนีอาจแตกต่างกันไปตามผู้ผลิตโล่ ตัวอย่างเช่น สำหรับมอเตอร์ชิลด์ของฉัน ตัวเลขคือ D4 D5 (DIR และ PWM สำหรับช่องสัญญาณแรก) และ D7 D6 (DIR และ PWM สำหรับช่องสัญญาณที่สอง) สำหรับชิลด์ Arduino Motor ดั้งเดิม หมายเลขพินจะสอดคล้องกับ D12 D3 (DIR และ PWM สำหรับช่องสัญญาณแรก) และ D13 D11 (DIR และ PWM สำหรับช่องสัญญาณที่สอง)

นั่นเป็นสิ่งสำคัญ!

Hobby LiPo แบตเตอรี่ไม่มีแผงป้องกันขั้วย้อนกลับ! การลัดวงจรของขั้วบวกและขั้วลบโดยไม่ได้ตั้งใจจะส่งผลให้แบตเตอรี่ขัดข้องหรือไฟไหม้อย่างถาวร

ขั้นตอนที่ 6: วิธีการโปรแกรม? XOD

การสร้างโปรแกรมสำหรับหุ่นยนต์แข่งนั้นง่ายกว่าการประกอบ

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

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

ขั้นตอนที่ 7: วิธีการโปรแกรม? ปะ

วิธีการโปรแกรม? ปะ
วิธีการโปรแกรม? ปะ

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

ดูแพตช์ด้วยโปรแกรมหุ่นยนต์ เรามาดูกันว่ามีโหนดใดบ้างและทำงานอย่างไร

octoliner-line

เป็นโหนดเริ่มต้นอย่างรวดเร็วจากไลบรารี amperka/octoliner XOD ซึ่งแสดงถึงโมดูล Octoliner ที่ติดตามบรรทัด โดยจะแสดง "ค่าการติดตามเส้น" ซึ่งอยู่ในช่วง -1 ถึง 1 ค่า 0 แสดงว่าเส้นอยู่ที่ตำแหน่งกึ่งกลางที่สัมพันธ์กับเซ็นเซอร์อินฟราเรดบนบอร์ด Octoliner (ระหว่าง CH3 และ CH4) ค่า -1 สอดคล้องกับตำแหน่งซ้ายสุด (CH0) ในขณะที่ 1 ไปทางขวาสุด (CH1) บนโหนดบูตจะเริ่มต้นเซ็นเซอร์ออปโตคัปเปลอร์และตั้งค่าพารามิเตอร์ความสว่างและความไวเริ่มต้น อินพุตสำหรับโหนดนี้คือที่อยู่ I2C ของอุปกรณ์ (ADDR สำหรับบอร์ด Octoliner คือ 0x1A) และอัตราการอัปเดตค่าการติดตามสาย (UPD) ฉันตั้งค่าอย่างต่อเนื่อง

ค่าการติดตามบรรทัดจะถูกป้อนโดยตรงไปยังโหนด pid-controller

pid-controller

โหนดนี้ใช้งาน PID-controller ใน XOD ค่าเป้าหมาย (TARG) สำหรับมันคือ 0 ซึ่งเป็นสถานะเมื่อเส้นอยู่ตรงกลางใต้หุ่นยนต์พอดี หากค่าการติดตามสายเป็น 0 ตัวควบคุม PID จะรีเซ็ตผ่านพิน RST หากค่าการติดตามสายแตกต่างจาก 0 ตัวควบคุม PID จะแปลงโดยใช้ค่าสัมประสิทธิ์ Kp, Ki, Kd เป็นค่าความเร็วมอเตอร์ เลือกค่าสัมประสิทธิ์ในการทดลองและเท่ากับ 1, 0.2 และ 0.5 ตามลำดับ อัตราการอัพเดต (UPD) ของตัวควบคุม PID ถูกตั้งค่าเป็นแบบต่อเนื่อง

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

h-สะพาน-dc-motor

โหนดสองโหนดเหล่านี้มีหน้าที่ควบคุมมอเตอร์หุ่นยนต์ด้านซ้ายและขวา ที่นี่ตั้งค่าพิน PWM และ DIR ที่ตัวป้องกันมอเตอร์ของคุณทำงาน

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

โปรแกรมที่เสร็จแล้วสามารถพบได้ในห้องสมุด gabbapeople/whiteboard-races

ขั้นตอนที่ 8: ตู้โชว์และเคล็ดลับ

แนะนำ: