สารบัญ:

พืชหุ่นยนต์: 10 ขั้นตอน
พืชหุ่นยนต์: 10 ขั้นตอน

วีดีโอ: พืชหุ่นยนต์: 10 ขั้นตอน

วีดีโอ: พืชหุ่นยนต์: 10 ขั้นตอน
วีดีโอ: หุ่นยนต์ปลูกพืชผักระบบอัตโนมัติ IPART : miniature innovation 2024, กรกฎาคม
Anonim
Image
Image
หุ่นยนต์พืช
หุ่นยนต์พืช

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

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

โครงการนี้เป็นส่วนหนึ่งของ Bruface Mechatronics และได้รับรู้โดย:

เมอร์เซเดส อาเรวาโล ซัวเรซ

แดเนียล บลังเกซ

โบดูอิน คอร์เนลิส

คัท ลีมานส์

มาร์กอส มาร์ติเนซ จิเมเนซ

Basile Thisse

(กลุ่ม 4)

ขั้นตอนที่ 1: รายการช้อปปิ้ง

รายการช้อปปิ้ง
รายการช้อปปิ้ง
รายการช้อปปิ้ง
รายการช้อปปิ้ง
รายการช้อปปิ้ง
รายการช้อปปิ้ง

นี่คือรายการของทุกผลิตภัณฑ์ที่คุณต้องการเพื่อสร้างหุ่นยนต์ตัวนี้ สำหรับชิ้นส่วนที่ขีดเส้นใต้ทุกลิงก์มีให้:

มอเตอร์พิมพ์ 3 มิติรองรับ X1 (คัดลอกในรูปแบบ 3 มิติ)

ล้อพิมพ์ 3 มิติ + การเชื่อมต่อมอเตอร์ล้อ X2 (ทำสำเนา 3 มิติ)

แบตเตอรี่ AA Nimh X8

ม้วนกระดาษทราย X1

Arduino Mega X1

ลูกล้อลูกล้อ X1

ที่ใส่แบตเตอรี่ X2

เขียงหั่นขนมสำหรับการทดสอบ X1

เขียงหั่นขนมเพื่อบัดกรี X1

มอเตอร์กระแสตรง (พร้อมตัวเข้ารหัส) X2

บานพับ X2

ไฮโกรมิเตอร์ X1

ตัวต้านทานที่ขึ้นกับแสง X3

จัมเปอร์ชาย-ชาย & ชาย-หญิง

มอเตอร์ชิลด์ X1

Plant X1 (ขึ้นอยู่กับคุณ)

กระถางต้นไม้ X1

โรงงานรองรับ X1 (พิมพ์ 3D)

หลอดพลาสติก X1

ตัวต้านทานที่มีค่าต่างกัน

กระดาษขูด X1

สกรู

เซนเซอร์ชาร์ป X3 (GP2Y0A21YK0F 10-80 ซม.)

สวิตช์ X1

ปั๊มน้ำ X1

ถังเก็บน้ำ (ทัปเปอร์แวร์เล็ก) X1

สายไฟ

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

คำอธิบายของทางเลือกที่แตกต่างกัน

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

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

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

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

1) คำนวณรอบต่อนาที

หุ่นยนต์ตัวนี้ไม่จำเป็นต้องทำลายกำแพงเสียง เพื่อที่จะตามแสงหรือตามใครบางคนในบ้าน ความเร็ว 1 m/s หรือ 3.6 km/h ดูสมเหตุสมผล ในการแปลเป็น rpm เราใช้เส้นผ่านศูนย์กลางของล้อ: 9 ซม. rpm กำหนดโดย: rpm = (60*speed(m/s))/(2*pi*r) = (60*1)/(2*pi*0.045) = 212 rpm.

2) คำนวณแรงบิดสูงสุดที่ต้องการ

เนื่องจากหุ่นยนต์ตัวนี้จะมีวิวัฒนาการในสภาพแวดล้อมที่ราบเรียบ แรงบิดสูงสุดที่จำเป็นคือหุ่นยนต์เริ่มเคลื่อนที่ หากเราพิจารณาว่าน้ำหนักของหุ่นยนต์กับโรงงานและส่วนประกอบทั้งหมดอยู่ที่ประมาณ 3 กิโลกรัม และใช้แรงเสียดทานระหว่างล้อกับพื้น เราจะสามารถหาแรงบิดได้ง่าย พิจารณาค่าสัมประสิทธิ์แรงเสียดทาน 1 ระหว่างพื้นและล้อ: แรงเสียดทาน (Fr) = ค่าสัมประสิทธิ์แรงเสียดทาน * N (โดยที่ N คือน้ำหนักของหุ่นยนต์) สิ่งนี้ทำให้เรา Fr = 1 * 3 * 10 = 30 N แรงบิดสำหรับมอเตอร์แต่ละตัวสามารถหาได้ดังนี้: T = (Fr * r)/2 โดยที่ r คือ รัศมีของล้อ ดังนั้น T = (30*0.045)/2 = 0.675 Nm = 6.88 kg cm.

นี่คือลักษณะของมอเตอร์ที่เราเลือก: ที่ 6V 175 rpm และ 4 กก. ซม. ที่ 12V 350 rpm และ 8 กก. ซม. เมื่อรู้ว่าจะใช้พลังงานระหว่าง 9.6 ถึง 12V โดยทำการประมาณค่าเชิงเส้น ปรากฏชัดเจนว่าจะเป็นไปตามข้อจำกัดข้างต้น

เซ็นเซอร์วัดแสง: เราเลือกตัวต้านทานแบบพึ่งพาแสง (LDR) เนื่องจากความต้านทานของตัวต้านทานจะแปรผันอย่างรวดเร็วตามแสง และสามารถวัดแรงดันไฟฟ้าบน LDR ได้อย่างง่ายดายโดยใช้แรงดันคงที่บนตัวแบ่งแรงดันไฟฟ้าที่มี LDR

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

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

ไฮโกรมิเตอร์: ไฮโกรมิเตอร์เป็นเซ็นเซอร์ความชื้นที่จะวางบนพื้น จำเป็นเนื่องจากหุ่นยนต์จำเป็นต้องทราบเมื่อหม้อแห้งเพื่อส่งน้ำไป

ขั้นตอนที่ 2: การออกแบบเครื่องกล

การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล
การออกแบบเครื่องกล

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

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

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

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

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

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

ขั้นตอนที่ 3: การผลิตชิ้นส่วน

ชิ้นส่วนการผลิต
ชิ้นส่วนการผลิต
ชิ้นส่วนการผลิต
ชิ้นส่วนการผลิต
ชิ้นส่วนการผลิต
ชิ้นส่วนการผลิต

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

ชิ้นส่วนตัดด้วยเลเซอร์:

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

ชิ้นส่วนที่พิมพ์ 3 มิติ:

ล้อมาตรฐานสองล้อที่วางอยู่ที่ด้านหลังของหุ่นยนต์ได้รับการพิมพ์แบบ 3 มิติใน PLA เหตุผลก็คือวิธีเดียวที่จะหาล้อที่ตรงกับความต้องการทั้งหมด (พอดีกับมอเตอร์ DC, ขนาด, น้ำหนัก…) คือการออกแบบล้อเอง การตรึงมอเตอร์ยังถูกพิมพ์ 3 มิติด้วยเหตุผลด้านงบประมาณ จากนั้นฐานรองรับกระถางต้นไม้ เสาที่รองรับ Arduino และมุมที่รองรับเขียงหั่นขนมก็ถูกพิมพ์ 3 มิติเช่นกันเพราะเราต้องการรูปร่างที่เหมาะสมในหุ่นยนต์ของเรา

ขั้นตอนที่ 4: อิเล็กทรอนิกส์

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

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

เซ็นเซอร์วัดแสง: เซ็นเซอร์วัดแสงจำเป็นต้องมีวงจรเล็กน้อยจึงจะสามารถทำงานได้ LDR ถูกจัดเรียงเป็นอนุกรมด้วยตัวต้านทาน 900 kOhm เพื่อสร้างตัวแบ่งแรงดันไฟฟ้า กราวด์เชื่อมต่อที่พินของตัวต้านทานที่ไม่ได้เชื่อมต่อกับ LDR และ 5V ของ Arduino เชื่อมต่อกับพินของ LDR ที่ไม่ได้เชื่อมต่อกับตัวต้านทาน พินของตัวต้านทานและ LDR ที่เชื่อมต่อซึ่งกันและกันนั้นต่อเข้ากับพินอะนาล็อกของ Arduino เพื่อวัดแรงดันไฟฟ้านี้ แรงดันไฟฟ้านี้จะแปรผันระหว่าง 0 ถึง 5V โดยที่ 5V สอดคล้องกับแสงเต็มและใกล้กับศูนย์ที่สอดคล้องกับความมืด จากนั้นวงจรทั้งหมดจะถูกบัดกรีบนเขียงหั่นขนมชิ้นเล็ก ๆ ที่สามารถใส่ในไม้กระดานด้านข้างของหุ่นยนต์

แบตเตอรี่: แบตเตอรี่ประกอบด้วย 4 กอง ระหว่าง 1.2 ถึง 1.5 V แต่ละก้อนอยู่ระหว่าง 4.8 ถึง 6V โดยการวางที่ยึดเสาเข็มสองอันในอนุกรม เรามีระหว่าง 9.6 ถึง 12 โวลต์

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

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

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

ขั้นตอนที่ 5: การเขียนโปรแกรม

การเขียนโปรแกรม
การเขียนโปรแกรม

ผังงานโปรแกรม:

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

1) ในสถานะที่ 2: พืชมีน้ำเพียงพอกับฟังก์ชั่น moisture_level หรือไม่? หากระดับความชื้นที่วัดโดยไฮโกรมิเตอร์ต่ำกว่า 500 ปั๊มจะทำงานจนกว่าระดับความชื้นจะสูงกว่า 500 เมื่อโรงงานมีน้ำเพียงพอ หุ่นยนต์จะเข้าสู่สถานะ 3

2) ในสถานะที่ 3: ค้นหาทิศทางที่มีแสงมากที่สุด ในสภาวะนี้พืชมีน้ำเพียงพอและจำเป็นต้องปฏิบัติตามทิศทางด้วยแสงมากที่สุดโดยหลีกเลี่ยงสิ่งกีดขวาง ฟังก์ชัน light_direction ให้ทิศทางของเซ็นเซอร์วัดแสงสามตัวที่ได้รับแสงมากที่สุด จากนั้นหุ่นยนต์จะสั่งงานมอเตอร์ให้เป็นไปตามทิศทางนั้นด้วยฟังก์ชัน follow_light หากระดับแสงสูงกว่าเกณฑ์ที่กำหนด (ไฟเพียงพอ) หุ่นยนต์จะหยุดตามแสงเนื่องจากมีเพียงพอที่ตำแหน่งนี้ (stop_motors) เพื่อหลีกเลี่ยงสิ่งกีดขวางที่ต่ำกว่า 15 ซม. ขณะกำลังตามแสง จึงมีการดำเนินการสิ่งกีดขวางเพื่อกลับทิศทางของสิ่งกีดขวาง เพื่อหลีกเลี่ยงสิ่งกีดขวางอย่างถูกต้อง ฟังก์ชันหลีกเลี่ยงสิ่งกีดขวางได้ถูกนำมาใช้ ฟังก์ชันนี้ควบคุมมอเตอร์โดยรู้ว่ามีสิ่งกีดขวางอยู่ที่ใด

ขั้นตอนที่ 6: ประกอบ

การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ
การประกอบ

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

ขั้นตอนที่ 7: การทดลอง

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

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

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

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

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

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

นี่คือวิดีโอเกี่ยวกับวิธีการทำงานของหุ่นยนต์ในที่สุด หวังว่าคุณจะสนุกกับมัน!

ขั้นตอนที่ 9: เราได้เรียนรู้อะไรจากโครงการนี้บ้าง

แม้ว่าผลตอบรับโดยรวมของโครงการนี้จะดีมากเพราะเราได้เรียนรู้มากมาย แต่เราค่อนข้างเครียดเมื่อสร้างโครงการเนื่องจากกำหนดส่ง

ปัญหาที่พบ

ในกรณีของเรา เรามีปัญหาหลายอย่างในระหว่างกระบวนการ บางรายการแก้ไขได้ง่าย เช่น เมื่อการจัดส่งส่วนประกอบล่าช้า เราแค่มองหาร้านค้าในเมืองเพื่อซื้อได้ คนอื่นต้องการความคิดมากกว่านี้

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

การปรับปรุงเพิ่มเติม

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

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

- เพิ่มเซ็นเซอร์น้ำที่บอกผู้ใช้ว่าควรเติมอ่างเก็บน้ำเมื่อใด (เซ็นเซอร์ความสูงน้ำ)

- การสร้างอินเทอร์เฟซเพื่อให้หุ่นยนต์สามารถส่งข้อความไปยังผู้ใช้ได้

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

ขั้นตอนที่ 10: จะทำให้หุ่นยนต์ติดตามผู้คนได้อย่างไร

Image
Image
จะทำให้หุ่นยนต์ติดตามผู้คนได้อย่างไร
จะทำให้หุ่นยนต์ติดตามผู้คนได้อย่างไร
จะทำให้หุ่นยนต์ติดตามผู้คนได้อย่างไร
จะทำให้หุ่นยนต์ติดตามผู้คนได้อย่างไร

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

เครื่องส่ง

สำหรับเครื่องส่ง เราต้องการรอบการทำงาน 50% ในการทำเช่นนี้ คุณต้องใช้ตัวจับเวลา 555 เราใช้ NE555N ในภาพจะเห็นได้ว่าวงจรควรจะสร้างอย่างไร แต่คุณจะต้องเพิ่มตัวเก็บประจุพิเศษที่เอาต์พุต 3, 1µF เป็นต้น ตัวต้านทานและตัวเก็บประจุคำนวณโดยใช้สูตรต่อไปนี้ (ภาพที่ 1 & 2)

เนื่องจากต้องการรอบการทำงาน 50% t1 และ t2 จะเท่ากัน ดังนั้นด้วยเครื่องส่งสัญญาณ 40 kHz t1 และ t2 จะเท่ากับ 1.25*10-5 s เมื่อคุณใช้ C1 = C2 = 1 nF สามารถคำนวณ R1 และ R2 ได้ เราใช้ R1= 15 kΩ และ R2= 6.8 kΩ ตรวจสอบให้แน่ใจว่า R1>2R2!

เมื่อเราทดสอบสิ่งนี้ในวงจรบนออสซิลโลสโคปเราได้รับสัญญาณดังต่อไปนี้ มาตราส่วนคือ 5 µs/div ดังนั้นความถี่ในความเป็นจริงจะอยู่ที่ประมาณ 43 kHz (ภาพที่ 3)

ผู้รับ

สัญญาณอินพุตของเครื่องรับจะต่ำเกินกว่าที่ Arduino จะประมวลผลได้อย่างแม่นยำ จึงต้องขยายสัญญาณอินพุต สิ่งนี้จะทำได้โดยการสร้างเครื่องขยายเสียงกลับด้าน

สำหรับ opamp เราใช้ LM318N ซึ่งเราขับเคลื่อนด้วย 0 V และ 5 V จาก Arduino ในการทำเช่นนี้ เราต้องเพิ่มแรงดันไฟฟ้ารอบสัญญาณที่แกว่ง ในกรณีนี้ การเพิ่มเป็น 2.5 V จะสมเหตุสมผล เนื่องจากแรงดันไฟจ่ายไม่สมมาตร เราจึงต้องวางตัวเก็บประจุไว้หน้าตัวต้านทาน ด้วยวิธีนี้ เราจึงได้สร้างตัวกรองความถี่สูง ด้วยค่าที่เราใช้ ความถี่ต้องสูงกว่า 23 kHz เมื่อเราใช้การขยายสัญญาณ A=56 สัญญาณจะเข้าสู่ความอิ่มตัวซึ่งไม่ดี ดังนั้นเราจึงใช้ A=18 แทน นี้จะยังคงเพียงพอ (ภาพที่ 4)

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

ตัวเก็บประจุแบบขนานจะต้องมีค่าสูง ดังนั้นมันจะคายประจุได้ช้ามาก และเรายังคงเห็นค่าพีคแบบเดียวกับค่าจริง ตัวต้านทานจะถูกวางขนานกันและจะไม่ต่ำเกินไปเพราะไม่เช่นนั้นการคายประจุจะใหญ่ขึ้น ในกรณีนี้ 1.5µF และ 56 kΩ ก็เพียงพอแล้ว (ภาพที่ 5)

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

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

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

แนะนำ: