สารบัญ:

OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมการควบคุม Bluetooth: 19 ขั้นตอน (พร้อมรูปภาพ)
OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมการควบคุม Bluetooth: 19 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมการควบคุม Bluetooth: 19 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมการควบคุม Bluetooth: 19 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Hoverboard via aerial drone footage 2024, กรกฎาคม
Anonim
OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมระบบควบคุม Bluetooth
OmniBoard: สเก็ตบอร์ดและโฮเวอร์บอร์ดไฮบริดพร้อมระบบควบคุม Bluetooth

OmniBoard คือ Electric Skateboard-Hoverboard Hybrid ที่ควบคุมได้ผ่านแอพพลิเคชั่นสมาร์ทโฟน Bluetooth มันสามารถเคลื่อนที่ได้โดยอิสระทั้งสามระดับที่สามารถทำได้โดยกระดานทั้งสองรวมกัน ไปข้างหน้า หมุนรอบแกนของมัน และกราดยิงไปด้านข้าง

วิธีนี้ช่วยให้คุณเคลื่อนที่ไปในทิศทางใดก็ได้ตามต้องการ รวมทั้งทำกลอุบายเจ๋ง ๆ ที่คุณไม่สามารถทำได้ด้วยวิธีการขนส่งทั่วไป เช่น สเกตบอร์ด (ไฟฟ้า) โฮเวอร์บอร์ด รถยนต์ จักรยาน ฯลฯ

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

ขั้นตอนที่ 1: เครื่องมือและวัสดุ

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

ระบบขับเคลื่อน

  • (4) Omni Wheels
  • (4) 60 ฟันรอก
  • (4) ลูกรอกฟัน 20 ซี่
  • (4) GT2 Timing Belt (เราใช้ 140 ฟัน)
  • (8) ID 7 มม., ตลับลูกปืน OD 19 มม. *
  • (20) สกรูเครื่อง M5 (หรือขนาดใกล้เคียงกัน) ยาวประมาณ 25 มม.*
  • (28) น๊อต ขนาดเดียวกับสกรูเกลียวปล่อย*
  • (32) สกรูไม้เบอร์ 2 ยาว 3/8"*
  • (16) ขายึดมุม ควรมีสี่รู อย่างน้อย 1/2" จากมุมหนึ่งถึงรูสกรู*
  • แผ่นไม้อัด 1'x2'*
  • พื้นผิวสเก็ตบอร์ด

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

ระบบขับเคลื่อน

  • (4) มอเตอร์กระแสตรง
  • (4) ตัวควบคุมความเร็วแบบอิเล็กทรอนิกส์ (ESC)
  • คณะกรรมการจำหน่ายไฟฟ้า (PDB)
  • สายซิลิโคน 16AWG - สีแดงและสีดำ
  • XT90 Connector ตัวแยกสัญญาณแบบขนาน
  • ขั้วต่อ XT90 ตัวผู้พร้อมหาง
  • (8 คู่) ขั้วต่อกระสุน 4 มม.
  • (4 คู่) คอนเนคเตอร์ XT60
  • (2) แบตเตอรี่ LiPo

รีโมท

  • กระดาน Perf สองด้าน*
  • LM7805 ตัวควบคุมแรงดันไฟฟ้า*
  • สายไฟแกนแข็ง 24AWG - คละสี*
  • โมดูลบลูทูธ HC-05*
  • Arduino Uno v3*
  • (32 พิน) ส่วนหัวพินตัวผู้แบบสองด้าน*
  • (12 พิน) หัวเข็มเบียร์ด้านเดียว*

เครื่องมือ:

  • สถานีบัดกรีและบัดกรี
  • เครื่องตัดลวด
  • เครื่องปอกสายไฟ
  • คีม
  • กรรไกร
  • ดอกสว่าน:1-3/8", 3/4", 1/4"

อุปกรณ์

  • เครื่องพิมพ์ 3 มิติ
  • เครื่องตัดเลเซอร์
  • เลื่อยวงเดือน
  • สว่านกด

*ได้มาจากร้านขายเครื่องใช้ไฟฟ้าในท้องถิ่นหรือร้านฮาร์ดแวร์

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

มันทำงานอย่างไร
มันทำงานอย่างไร

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

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

ขั้นตอนที่ 3: การประกอบเพลาล้อ Omni

การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni
การประกอบเพลาล้อ Omni

ชิ้นส่วนที่จำเป็นสำหรับการประกอบเพลาคือ:

  • (8) ตัวเว้นวรรคแบริ่งพิมพ์ 3 มิติ
  • (4) สเปเซอร์รอกขนาดใหญ่ที่พิมพ์ 3 มิติ
  • (8) แบริ่ง
  • (4) Omni wheel
  • (4) ลูกรอกขนาดใหญ่
  • (4) คีย์สต็อค 3x3x80 มม.

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

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

ขั้นตอนที่ 4: การตัดและเจาะ Omni Wheel Trucks

Image
Image
การตัดและเจาะรถบรรทุก Omni Wheel
การตัดและเจาะรถบรรทุก Omni Wheel
การตัดและเจาะรถบรรทุก Omni Wheel
การตัดและเจาะรถบรรทุก Omni Wheel
การตัดและเจาะรถบรรทุก Omni Wheel
การตัดและเจาะรถบรรทุก Omni Wheel

นี่คือที่ที่เครื่องตัดเลเซอร์และไม้อัดหนา 3/8 ของคุณมีประโยชน์! CAD สำหรับการตัดด้วยเลเซอร์เฟรมอยู่ในรูปแบบ.dxf

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

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

ขั้นตอนที่ 5: การประกอบ Omni Wheel Trucks

การประกอบ Omni Wheel Trucks
การประกอบ Omni Wheel Trucks
การประกอบ Omni Wheel Trucks
การประกอบ Omni Wheel Trucks
การประกอบ Omni Wheel Trucks
การประกอบ Omni Wheel Trucks

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

  • (4) สายพานราวลิ้น
  • (4) ตัวเว้นระยะรอกขนาดเล็กที่พิมพ์ 3 มิติ
  • (4) ลูกรอกเล็ก
  • (4) มอเตอร์

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

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

ต่อไปเราจะใส่มอเตอร์เข้าไป รูขนาด 1-3/8 นั้นเล็กไปหน่อย ดังนั้นให้ทรายวงในด้วย Dremel อย่างช้าๆ จนกว่ามอเตอร์จะเข้าไปพอดีข้างใน ระวังอย่าให้มอเตอร์เข้าและทำให้เสียรูป ตัวเรือน เมื่อมอเตอร์อยู่ในตำแหน่งแล้ว ให้สอดเข็มขัดไว้เหนือรอกขนาดเล็ก จากนั้น รอกขนาดเล็กทับตัวเว้นระยะและเข้ากับแกนมอเตอร์ 3.175 มม. ขันสกรูชุดให้แน่น

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

ขั้นตอนที่ 6: ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด

ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด
ติดตั้งบนแพลตฟอร์มสเก็ตบอร์ด

ตอนนี้เรากำลังจะติดรถบรรทุกเข้ากับแพลตฟอร์มสเก็ตบอร์ด คุณสามารถสร้างของคุณเองจากไม้อัดและกริปเทป ของเราถูกพรากไปจากสเกตบอร์ดเก่า

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

ขั้นตอนที่ 7: การบัดกรีมอเตอร์

Image
Image
การบัดกรีมอเตอร์
การบัดกรีมอเตอร์

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

เคล็ดลับ: บัดกรีสายไฟเข้ากับขั้วต่อกระสุนก่อนแล้วจึงบัดกรีกับมอเตอร์ได้ง่ายกว่าวิธีอื่น

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

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

ขั้นตอนที่ 8: การบัดกรีขั้วต่อแบตเตอรี่ ESC

การบัดกรีขั้วต่อแบตเตอรี่ ESC
การบัดกรีขั้วต่อแบตเตอรี่ ESC
การบัดกรีขั้วต่อแบตเตอรี่ ESC
การบัดกรีขั้วต่อแบตเตอรี่ ESC

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

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

คำเตือน: ตัดสาย ESC ทีละเส้นเท่านั้น เนื่องจากมีตัวเก็บประจุที่อาจมีประจุระหว่างขั้วบวกและขั้วลบ ซึ่งจะลัดวงจรหากกรรไกรหรือเครื่องตัดลวดตัดผ่านทั้งสองอย่างพร้อมกัน

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

ทำซ้ำกับสายไฟที่เหลือของขั้วต่อแบตเตอรี่ของ ESC

ขั้นตอนที่ 9: การบัดกรีบอร์ดจ่ายไฟ (PDB)

การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)
การบัดกรีบอร์ดจ่ายไฟ (PDB)

PDB จะรับอินพุตจากแบตเตอรี่ลิเธียมโพลิเมอร์ (LiPo) สองก้อนที่มีแรงดันไฟฟ้ารวมและกระแสไฟ 11.1V และ 250A ตามลำดับ และแจกจ่ายไปยัง ESC สี่ชุด

เคล็ดลับ: ง่ายกว่าในการบัดกรีขั้วต่อ XT90 ตัวผู้ที่นำไปสู่แผ่น PDB ก่อน จากนั้นจึงต่อสาย AWG จำนวน 16 เส้นเข้ากับ ESC ตามด้วยขั้วต่อ XT60 เข้ากับสายไฟเหล่านี้

ก่อนบัดกรีสายไฟ ตัดความร้อนหดให้พอดีกับสายไฟแต่ละเส้น เพื่อให้สามารถเสียบปลายบัดกรีที่สัมผัสได้ในภายหลัง เพื่อป้องกันไฟฟ้าลัดวงจร

ในการประสานสายไฟเข้ากับแผ่นรอง PDB ฉันพบว่ามันง่ายที่สุดที่จะใช้มือช่วยจับสายไฟให้ตั้งตรง (โดยเฉพาะสาย XT90 ขนาดใหญ่) แล้ววางไว้บน PDB ที่วางอยู่บนโต๊ะ จากนั้นประสานลวดรอบแผ่น PDB จากนั้นเลื่อนแผ่นลดความร้อนลงและให้ความร้อนเพื่อป้องกันวงจร

ทำซ้ำสำหรับส่วนที่เหลือของสาย ESC

ในการบัดกรี XT60 ให้ทำตามขั้นตอนก่อนหน้าเกี่ยวกับวิธีการเปลี่ยนขั้วแบตเตอรี่ ESC ด้วย XT60

ขั้นตอนที่ 10: การเชื่อมต่อสายไฟ

การต่อสายไฟ
การต่อสายไฟ

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

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

#รวม

เซอร์โวมอเตอร์;

ไบต์ตามเข็มนาฬิกาความเร็ว = 110; ช่วงยาวที่ไม่ได้ลงนาม = 1500; int motorPin = 9;

การตั้งค่าเป็นโมฆะ ()

{ Serial.begin(9600); motor.attach (motorPin); Serial.println("การทดสอบเริ่มต้น"); }

วงเป็นโมฆะ ()

{ motor.write (ความเร็วตามเข็มนาฬิกา); Serial.println ("หยุดมอเตอร์ไม่ให้หมุน"); ล่าช้า(ช่วงเวลา); }

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

ขั้นตอนที่ 11: การเปลี่ยนโหมด ESC

การเปลี่ยนโหมด ESC
การเปลี่ยนโหมด ESC

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

ในการเข้าถึงโหมดนี้ ให้เชื่อมต่อ ESC กับ Arduino โดยเสียบพินสัญญาณสีขาวจาก ESC ไปที่พิน 9 และพินกราวด์สีดำเข้ากับพิน GND บน Arduino จากนั้นอัปโหลดและรันโปรแกรมต่อไปนี้ไปยังบอร์ด Arduino:

#รวม

เซอร์โวมอเตอร์;

ไบต์หยุดความเร็ว = 90; ช่วงยาวที่ไม่ได้ลงนาม = 1500; int motorPin = 9;

การตั้งค่าเป็นโมฆะ ()

{ Serial.begin(9600); motor.attach (motorPin); Serial.println("การทดสอบเริ่มต้น"); }

วงเป็นโมฆะ ()

{ motor.write (หยุดความเร็ว); Serial.println ("หยุดมอเตอร์ไม่ให้หมุน"); ล่าช้า(ช่วงเวลา); }

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

ขั้นตอนที่ 12: การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์

การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์
การเชื่อมต่อกับโมดูล Bluetooth และโทรศัพท์

โมดูลบลูทูธ HC-05 ช่วยให้ Arduino สามารถเชื่อมต่อกับโทรศัพท์เพื่อให้สามารถควบคุมสเก็ตบอร์ดแบบไร้สายผ่านแอปได้ เนื่องจากฉันพบปัญหาบางอย่างเกี่ยวกับอินเทอร์เฟซโมดูล Bluetooth ที่ผิดพลาด จึงควรทดสอบก่อนก่อนที่จะบัดกรีวงจรสุดท้าย

เราจะใช้ 4 จาก 6 พินบนโมดูล Bluetooth เหล่านี้คือ: Tx (ส่ง), Rx (รับ), 5V และ GND (กราวด์) เชื่อมต่อหมุด Tx และ Rx จากโมดูล Bluetooth HC-05 กับหมุด 10 และ 11 บน Arduino ตามลำดับ จากนั้นเชื่อมต่อพิน 5V และพิน GND เข้ากับพินที่มีป้ายกำกับเหมือนกันบน Arduino

ในแอป Blynk ให้เพิ่มบลูทูธและวิดเจ็ตปุ่มดังที่แสดงในภาพด้านบน จากนั้นกำหนดพินดิจิตอล D13 ซึ่งเชื่อมต่อกับ LED ในตัวบน Arduino Uno ให้กับปุ่ม

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

#define BLYNK_PRINT ซีเรียล

#รวม

#รวม

// คุณควรได้รับ Auth Token ในแอป Blynk

// ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "โทเค็นการตรวจสอบสิทธิ์ของคุณ";

ซอฟต์แวร์Serial SerialBLE(10, 11); // RX, TX

BLYNK_WRITE(V1)

{ int pinValue = param.asInt (); // กำหนดค่าขาเข้าจากพิน V1 ให้กับตัวแปร }

การตั้งค่าเป็นโมฆะ ()

{ Serial.begin(9600); // ดีบักคอนโซล SerialBLE.begin(9600); Blynk.begin(SerialBLE, รับรองความถูกต้อง); Serial.println("กำลังรอการเชื่อมต่อ…"); }

วงเป็นโมฆะ ()

{ Blynk.run(); }

ขั้นตอนที่ 13: การบัดกรี Arduino Shield

การบัดกรี Arduino Shield
การบัดกรี Arduino Shield
การบัดกรี Arduino Shield
การบัดกรี Arduino Shield
การบัดกรี Arduino Shield
การบัดกรี Arduino Shield
การบัดกรี Arduino Shield
การบัดกรี Arduino Shield

เพื่อทำความสะอาดวงจรและสายจัมเปอร์หลวมจากต้นแบบ เราจะทำการบัดกรี Arduino shield ที่เชื่อมต่อกับ ESC และโมดูล Bluetooth แต่ละตัว ตลอดจนแหล่งจ่ายไฟไปยัง Arduino

ประสานแผนผังต่อไปนี้บนบอร์ด perf สองด้าน

ขั้นแรกฉันปรับขนาดและเสียบส่วนหัวพินตัวผู้แบบสองด้านเข้ากับส่วนหัวของ Arduino ตัวเมีย จากนั้นบัดกรีไปที่ด้านบนของบอร์ดประสิทธิภาพสำหรับทั้งสองด้าน เมื่อบัดกรีเสร็จแล้ว ผมก็ถอดออกจากบอร์ด Arduino เพื่อประสานส่วนล่างของบอร์ด จากนั้นฉันก็บัดกรีหัวเข็มหมุดตัวผู้ ESC ด้านเดียวใน 4 ชุด 3 ชุดที่ด้านล่างสุดของบอร์ดประสิทธิภาพ หลังจากนั้น ฉันวางโมดูลบลูทูธ HC-05 ตั้งตรงและบัดกรีตัวเชื่อมต่อที่ด้านล่างของบอร์ดประสิทธิภาพเช่นกัน

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

หมุดของ LM7805 ถูกบัดกรีที่ด้านล่างของบอร์ด perf โดยมีส่วนประกอบควบคุมแรงดันไฟฟ้านั่งอยู่บนบอร์ดประสิทธิภาพดังแสดงในภาพด้านบน ฉันบัดกรีการเชื่อมต่อพลังงานทั้งหมดไปยังส่วนประกอบแต่ละส่วนและส่วนหัวของหมุด ESC และโมดูล Bluetooth HC-05 ตามที่อธิบายไว้ในแผนผัง เอาต์พุต 12V ของ PDB ถูกบัดกรีเข้ากับอินพุต VCC (ซ้ายสุด) และพินกราวด์ (ตรงกลาง) ของตัวควบคุมแรงดันไฟฟ้า LM7805 สุดท้าย ส่วนหัวของหมุดสัญญาณ ESC และโมดูลบลูทูธ HC-05 หมุด Tx และ Rx ไปยังหมุดดิจิทัล Arduino ผ่านส่วนหัวของหมุดตัวผู้แบบสองด้านตามที่แสดงในแผนผัง

ขั้นตอนที่ 14: การสร้างแอพผ่าน Blynk

การสร้างแอพผ่าน Blynk
การสร้างแอพผ่าน Blynk

Omniboard จะถูกควบคุมผ่าน Bluetooth โดยใช้สมาร์ทโฟนเครื่องใดก็ได้ผ่านแอพ Blynk Blynk เป็นแอป Android และ iOS ที่อนุญาตให้ใช้โมดูลและวิดเจ็ตที่สามารถเชื่อมต่อกับไมโครคอนโทรลเลอร์หลายตัวที่มี Bluetooth หรือความสามารถไร้สาย หรือ Bluetooth / โมดูลไร้สาย เช่น HC-05

1. ติดตั้ง Blynk ลงในโทรศัพท์ของคุณ

2. สร้างบัญชีและเข้าสู่ระบบ

3. สร้างโครงการใหม่และตั้งชื่อ ฉันตั้งชื่อของฉันว่า " ตัวควบคุม Omniboard " เลือก Arduino Uno เป็นไมโครคอนโทรลเลอร์ และเลือก Bluetooth เป็นประเภทอินเทอร์เฟซ

4. ลากและวางวิดเจ็ตต่อไปนี้บนหน้าจอ: Bluetooth, แผนที่, 2 ปุ่ม และจอยสติ๊ก

ขั้นตอนที่ 15: เชื่อมต่อวิดเจ็ตกับ Arduino

การเชื่อมต่อวิดเจ็ตกับ Arduino
การเชื่อมต่อวิดเจ็ตกับ Arduino
การเชื่อมต่อวิดเจ็ตกับ Arduino
การเชื่อมต่อวิดเจ็ตกับ Arduino
การเชื่อมต่อวิดเจ็ตกับ Arduino
การเชื่อมต่อวิดเจ็ตกับ Arduino

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

การตั้งค่าจอยสติ๊ก:

เลือก "ผสาน" สำหรับประเภทเอาต์พุตและกำหนดให้กับพินเสมือน V1

การตั้งค่าปุ่ม:

  • ตั้งชื่อปุ่มแรกว่า "Hover Mode" และปุ่มที่สอง "Cruise Control"
  • กำหนดเอาต์พุตของปุ่มแรกให้กับ Virtual pin V2 และเปลี่ยนโหมดเป็น "Switch"
  • กำหนดเอาต์พุตของปุ่มที่สองให้กับ Virtual pin V3 และเปลี่ยนโหมดเป็น "Switch"
  • เปลี่ยนชื่อสลับของปุ่มแรกเป็น "Hover" และ "Skate" และคง "ON" และ "OFF"

การตั้งค่าแผนที่:

กำหนดให้อินพุตเป็น V4

การตั้งค่าบลูทูธ:

เลือกวิดเจ็ต Bluetooth ในแอป Blynk และเชื่อมต่อกับโมดูลของคุณ รหัสผ่านเริ่มต้นสำหรับโมดูลบลูทูธคือ '1234'

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

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

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

#define BLYNK_PRINT ซีเรียล

#รวม

#รวม

#รวม

เซอร์โวมอเตอร์FR; เซอร์โวมอเตอร์ FL; เซอร์โวมอเตอร์BR; เซอร์โวมอเตอร์BL;

bool motorFRrev = จริง;

บูล motorFLrev = จริง; bool motorBRrev = จริง; บูล motorBLrev = จริง;

ลอย motorFRang = 330.0*PI/180.0;

ลอย motorFLang = 30.0*PI/180.0; ลอย motorBRang = 210.0*PI/180.0; ลอย motorBLang = 150.0*PI/180.0;

มอเตอร์ลอยFRspeedT;

มอเตอร์ลอย FLspeedT; มอเตอร์ลอยBRspeedT; มอเตอร์ลอยBLspeedT;

มอเตอร์ลอยFRspeedR;

มอเตอร์ลอย FLspeedR; มอเตอร์ลอยBRspeedR; มอเตอร์ลอยBLspeedR;

ลอย maxAccel = 10;

ไบต์ไปข้างหน้าความเร็ว = 110;

ไบต์ backSpeed = 70; ไบต์หยุดความเร็ว = 90; // เปลี่ยนเป็นตัวเลข deternmid ทดลอง

int cruiseControl;

int yawMode;

// คุณควรได้รับ Auth Token ในแอป Blynk

// ไปที่การตั้งค่าโครงการ (ไอคอนน็อต) char auth = "8523d5e902804a8690e61caba69446a2";

ซอฟต์แวร์Serial SerialBLE(10, 11); // RX, TX

BLYNK_WRITE(V2) {cruiseControl = param.asInt();}

BLYNK_WRITE (V3) {yawMode = param.asInt ();} WidgetMap myMap (V4);

BLYNK_WRITE(V1)

{ int x = พารามิเตอร์[0].asInt(); int y = พารามิเตอร์[1].asInt();

ถ้า (!cruiseControl) calcTranslation(x, y);

ถ้า (yawMode) calcRotation(x, y); อย่างอื่น { motorFRspeedR = 0; motorFLspeedR = 0; มอเตอร์BRspeedR = 0; มอเตอร์BLspeedR = 0; } writeToMotors(); }

การตั้งค่าเป็นโมฆะ ()

{ motorFR.attach(9); motorFL.attach(6); motorBR.แนบ(5); motorBL.attach(3); ล่าช้า (1500); // รอให้มอเตอร์เริ่มต้น // Debug console Serial.begin(9600);

SerialBLE.begin(9600);

Blynk.begin(SerialBLE, รับรองความถูกต้อง);

Serial.println("กำลังรอการเชื่อมต่อ…");

// หากคุณต้องการลบจุดทั้งหมด:

//myMap.clear();

ดัชนี int = 1;

ลอยละติจูด = 43.653172; ลอยลอย = -79.384042; myMap.location(ดัชนี, lat, lon, "ค่า"); }

วงเป็นโมฆะ ()

{ Blynk.run(); }

เป็นโมฆะ CalcTranslation (int joyX, int joyY)

{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 127.0)/128.0; motorFRspeedT = (normY*cos(motorFRang) + normX*sin(motorFRang))*(1 - 2*motorFRrev); motorFLspeedT = (normY*cos(motorFLang) + normX*sin(motorFLang))*(1 - 2*motorFLrev); motorBRspeedT = (ปกติY*cos(มอเตอร์BRang) + normX*sin(มอเตอร์BRang))*(1 - 2*มอเตอร์BRrev); motorBLspeedT = (ปกติY*cos(มอเตอร์BLang) + normX*sin(motorBLang))*(1 - 2*motorBLrev); }

โมฆะ calcRotation (int joyX, int joyY)

{ float normX = (joyX - 127.0)/128.0; float normY = (joyY - 127.0)/128.0; motorFRspeedR = joyX*(1 - 2*มอเตอร์FRrev); motorFLspeedR = -joyX*(1 - 2*มอเตอร์FLrev); motorBRspeedR = -joyX*(1 - 2*มอเตอร์BRrev); motorBLspeedR = joyX*(1 - 2*มอเตอร์BLrev); }

เป็นโมฆะ writeToMotors()

{ มอเตอร์ลอย FRspeed = motorFRspeedT + motorFRspeedR; ลอย motorFLspeed = motorFLspeedT + motorFLspeedR; มอเตอร์ลอยBRspeed = มอเตอร์BRspeedT + มอเตอร์BRspeedR; มอเตอร์ลอยBLspeed = motorBLspeedT + motorBLspeedR;

motorFRmapped ยาว = map((long) (100*motorFRspeed), -100, 100, backSpeed, forwardSpeed);

motorFLmapped ยาว = map((long) (100*motorFLspeed), -100, 100, backSpeed, forwardSpeed); motorBRmapped แบบยาว = map((long) (100*motorBRspeed), -100, 100, backSpeed, forwardSpeed); motorBLmapped ยาว = แผนที่ ((ยาว) (100 * motorBLspeed), -100, 100, backSpeed, forwardSpeed); motorFR.write (motorFRmapped); motorFL.write (motorFLmapped); motorBR.write(motorBRmapped); motorBL.write(motorBLแมป); }

ขั้นตอนที่ 17: การติดตั้งเคสอิเล็กทรอนิกส์

การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์
การติดตั้งเคสอิเล็กทรอนิกส์

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

ขั้นตอนที่ 18: จิตรกรรม

จิตรกรรม
จิตรกรรม
จิตรกรรม
จิตรกรรม
จิตรกรรม
จิตรกรรม

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

ฉันสนับสนุนให้คุณปรับแต่งการออกแบบสำหรับ Omniboard ของคุณเองและใช้อิสระในการสร้างสรรค์ของคุณ

ขั้นตอนที่ 19: ทดสอบและสาธิต

Image
Image

รางวัลที่สองในการประกวดล้อ 2017

การประกวดการควบคุมระยะไกล 2017
การประกวดการควบคุมระยะไกล 2017

รางวัลที่ 1 การแข่งขันการควบคุมระยะไกล 2017

แนะนำ: