สารบัญ:

เพิ่ม Optical Tachometer แบบ Arduino ให้กับเราเตอร์ CNC: 34 ขั้นตอน (พร้อมรูปภาพ)
เพิ่ม Optical Tachometer แบบ Arduino ให้กับเราเตอร์ CNC: 34 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เพิ่ม Optical Tachometer แบบ Arduino ให้กับเราเตอร์ CNC: 34 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: เพิ่ม Optical Tachometer แบบ Arduino ให้กับเราเตอร์ CNC: 34 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Optical Tachometer build for LongMill CNC 2024, กรกฎาคม
Anonim
Image
Image
เพิ่มเครื่องวัดวามเร็วแบบออปติคัลบน Arduino ให้กับเราเตอร์ CNC
เพิ่มเครื่องวัดวามเร็วแบบออปติคัลบน Arduino ให้กับเราเตอร์ CNC

สร้างตัวบ่งชี้ RPM แบบออปติคัลสำหรับเราเตอร์ CNC ของคุณด้วย Arduino Nano, เซ็นเซอร์โฟโตไดโอด IR LED/IR และจอแสดงผล OLED ในราคาต่ำกว่า 30 ดอลลาร์ ฉันได้รับแรงบันดาลใจจาก Measure RPM - Optical Tachometer Instructable ของ eletro18 และต้องการเพิ่มเครื่องวัดวามเร็วให้กับเราเตอร์ CNC ของฉัน ฉันลดความซับซ้อนของวงจรเซ็นเซอร์ ออกแบบฉากยึดที่พิมพ์ 3 มิติแบบกำหนดเองสำหรับเราเตอร์ Sienci CNC ของฉัน จากนั้นฉันก็เขียนร่าง Arduino เพื่อแสดงทั้งหน้าปัดดิจิตอลและแอนะล็อกบนจอแสดงผล OLED

ส่วนประกอบง่ายๆ ไม่กี่ส่วนและใช้เวลาสองสามชั่วโมง และคุณสามารถเพิ่มจอแสดงผล RPM แบบดิจิตอลและอนาล็อกไปยังเราเตอร์ CNC ของคุณได้

นี่คือรายการอะไหล่สำหรับการจัดส่งภายใน 2 วัน คุณอาจจะหาแหล่งชิ้นส่วนได้น้อยลงหากคุณยินดีที่จะรอนานขึ้น

ส่วนรายการ

$6.99 Arduino นาโน

$5.99 IR LED/IR Photodiode (5 คู่)

$7.99 จอแสดงผล OLED 0.96 สีเหลือง/น้ำเงิน I2C

สายจัมเปอร์ $4.99

1.00 USD 30 นิ้ว (75 ซม.) ลวดเกลียว 3 ตัวนำ สามารถซื้อได้จากร้านจำหน่ายอุปกรณ์เกี่ยวกับบ้านใกล้บ้านคุณ (Home Depot, Lowes) ในส่วนการซื้อด้วยตนเอง

ตัวต้านทาน 220 โอห์ม $0.05 ($ 6.99 ถ้าคุณต้องการตัวต้านทานคละ 750 ตัว)

ท่อหดแบบใช้ความร้อน $0.50 ($5.99 หากคุณต้องการอุปกรณ์ครบชุด)

วงเล็บพิมพ์ 3 มิติ

Arduino IDE (ฟรี)

หมายเหตุ: ตอนแรกฉันเพิ่มตัวเก็บประจุ.01μF หลังจากที่ฉันยึดสายไฟทั้งหมดแล้ว และสังเกตเห็นค่า RPM ที่ไม่แน่นอนบางอย่างเมื่อ CNC กำลังเคลื่อนที่ ตัวเก็บประจุทำงานได้ดีสำหรับ RPM ที่ต่ำกว่า <20K แต่ปรับสัญญาณให้เรียบมากเกินไปสำหรับสิ่งที่สูงกว่า ฉันติดตามเสียงรบกวนเพื่อเปิดใช้งานนาโนและแสดงผลโดยตรงจากชิลด์ซีเอ็นซี แหล่งจ่ายที่แยกต่างหากใช้ได้กับ RPM ทั้งหมด ฉันออกจากขั้นตอนแล้วในตอนนี้ แต่คุณควรใช้แหล่งพลังงาน USB แยกต่างหาก

ขั้นตอนที่ 1: พิมพ์ 3D Bracket

พิมพ์ 3D Bracket
พิมพ์ 3D Bracket

พิมพ์วงเล็บ 3D เพื่อเก็บ IR LED และ IR Photodiodes ไฟล์ 3D อยู่ที่นี่และบน Thingiverse

www.thingiverse.com/thing:2765271

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

ขั้นตอนที่ 2: เลือกพิมพ์ 3D ที่ใส่จอแสดงผล OLED และกล่องใส่อิเล็กทรอนิกส์

ทางเลือกการพิมพ์ 3D ที่ใส่จอแสดงผล OLED และกล่องใส่อิเล็กทรอนิกส์
ทางเลือกการพิมพ์ 3D ที่ใส่จอแสดงผล OLED และกล่องใส่อิเล็กทรอนิกส์

ฉันเลือกที่จะติด OLED เข้ากับที่ยึดจอแสดงผลแบบทำมุมที่ฉันขันไว้ด้านบนของ Sienci Electronics Enclosure

นี่คือลิงค์ไปยังชิ้นส่วนที่พิมพ์ 3 มิติที่ฉันใช้

Sienci Electronics Enclosure 3D Part

ขายึดจอแสดงผล OLED ขนาด 0.96"

ตู้เป็นสถานที่ที่ดีในการติดตั้งขายึดจอแสดงผล OLED และยึด Arduino Nano ไว้อย่างดี อีกทั้งยังพอดีกับด้านหลังของ Sienci Mill ฉันเจาะรูสองสามรูที่ด้านบนของกล่องหุ้มเพื่อติดขายึด OLED

ฉันยังเจาะรูสองสามรูที่ด้านล่างเพื่อร้อยซิปเล็กๆ ผ่านเพื่อติดสายรัดให้แน่น

ขั้นตอนที่ 3: สร้างชุดประกอบลวดเซ็นเซอร์ IR

สร้างชุดสายไฟเซนเซอร์ IR
สร้างชุดสายไฟเซนเซอร์ IR

ลวด 3 ตัวนำจะใช้เพื่อต่อเซ็นเซอร์ ลวดหนึ่งเส้นจะเป็นกราวด์ทั่วไปสำหรับทั้ง IR LED และ IR Photodiode โดยที่อีกสองเส้นจะไปยังส่วนประกอบที่เกี่ยวข้องกัน

ขั้นตอนที่ 4: เพิ่มตัวต้านทานการจำกัดกระแสสำหรับ IR LED

เพิ่มตัวต้านทานจำกัดกระแสสำหรับ IR LED
เพิ่มตัวต้านทานจำกัดกระแสสำหรับ IR LED

IR LED ต้องใช้ตัวต้านทานจำกัดกระแส วิธีที่ง่ายที่สุดคือการรวมตัวต้านทานเข้ากับชุดสายไฟ

ดัดปลายแต่ละอันให้เป็นรูปตัว U แล้วประสานเข้าด้วยกัน จีบด้วยคีมคู่แล้วประสานเข้าด้วยกัน

ขั้นตอนที่ 5: ต่อสายจัมเปอร์

สายจัมเปอร์ประกบ
สายจัมเปอร์ประกบ
สายจัมเปอร์ประกบ
สายจัมเปอร์ประกบ

คุณสามารถต่อสายจัมเปอร์เพื่อเชื่อมต่อกับหมุดส่วนหัวของ Arduino

ตัดท่อหดด้วยความร้อนแล้วเลื่อนผ่านลวดก่อนเชื่อมต่อ

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

ขั้นตอนที่ 6: กำหนด IR LED และ Photodiode Leads

กำหนด IR LED และโฟโตไดโอด Leads
กำหนด IR LED และโฟโตไดโอด Leads

ทั้ง IR LED และ IR Photodiode มีลักษณะคล้ายกัน โดยแต่ละอันมีตะกั่วยาว (ขั้วบวกหรือขั้วบวก) และสายสั้น (ขั้วลบหรือขั้วลบ)

ขั้นตอนที่ 7: ใส่ไดโอดลงในตัวยึด

ใส่ไดโอดลงในตัวยึด
ใส่ไดโอดลงในตัวยึด

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

นำโฟโตไดโอดอินฟราเรด (ไดโอดมืด) แล้วใส่เข้าไปในรูอีกช่องหนึ่ง หมุนโฟโตไดโอดให้ตะกั่วยาวอยู่ตรงกลาง

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

นำเส้นใย 1.75 ชิ้นเล็กๆ มาสอดไว้ด้านหลังไดโอด วิธีนี้จะล็อคไดโอดให้เข้าที่และป้องกันไม่ให้หมุนหรือหลุดออกมา

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

ขั้นตอนที่ 8: หลอมรวมเส้นใยล็อคเข้ากับตัวยึด

หลอมรวมเส้นใยล็อคเข้ากับตัวยึด
หลอมรวมเส้นใยล็อคเข้ากับตัวยึด

คุณจะต้องตัดส่วนล็อคของเส้นใยให้ยาวกว่าความกว้างของที่ยึดเพียงเล็กน้อย

อุ่นเล็บสักสองสามวินาทีด้วยคีมจับหรือจับด้วยคีม

ขั้นตอนที่ 9: กดเส้นใยลงกับหัวเล็บที่อุ่น

กดเส้นใยลงกับหัวเล็บที่อุ่น
กดเส้นใยลงกับหัวเล็บที่อุ่น

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

ขั้นตอนที่ 10: ตัวยึดไดโอดสำเร็จรูป

ตัวยึดไดโอดสำเร็จรูป
ตัวยึดไดโอดสำเร็จรูป

ล้างแล้วเรียบร้อย

ขั้นตอนที่ 11: แนบชุดสายไฟเข้ากับไดโอด

ติดชุดสายไฟเข้ากับไดโอด
ติดชุดสายไฟเข้ากับไดโอด
ติดชุดสายไฟเข้ากับไดโอด
ติดชุดสายไฟเข้ากับไดโอด

ตัดลวดให้ยาวเพื่อการใช้งานของคุณ สำหรับ Sienci Mill คุณจะต้องมีทั้งหมดประมาณ 30 นิ้ว (~75 ซม.) (ลวด + จัมเปอร์) และต้องหย่อนเพื่อให้เราเตอร์เคลื่อนที่ได้

ดัดลวดและปลายตะกั่วให้เป็นรูปตัว U เพื่อเชื่อมประสานและทำให้บัดกรีง่ายขึ้น

นำท่อหดด้วยความร้อนบางๆ มาตัดเป็นชิ้นสั้นสองชิ้นและอีกสองชิ้นที่ยาวกว่าเล็กน้อย เลื่อนชิ้นที่สั้นกว่าไว้เหนือสายนำไดโอดภายนอก เลื่อนชิ้นที่ยาวกว่าไว้เหนือสายนำกลางทั้งสอง

การมีความยาวต่างกันสองแบบจะชดเชยข้อต่อประกบและชดเชยข้อต่อที่หนากว่าออกจากกันเพื่อลดขนาดเส้นผ่านศูนย์กลางของสายไฟ นอกจากนี้ยังช่วยป้องกันการลัดวงจรระหว่างรอยต่อต่างๆ อีกด้วย

ตัดท่อหดด้วยความร้อนที่มีเส้นผ่านศูนย์กลางใหญ่กว่าเล็กน้อยสามชิ้นแล้ววางไว้บนสายไฟทั้งสามเส้นในชุดมัดสายไฟ

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

ขั้นตอนที่ 12: ตรวจสอบให้แน่ใจว่าได้ต่อสายไฟที่มีตัวต้านทานเข้ากับตะกั่วยาวของ IR LED

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

ประสานการเชื่อมต่อเพื่อให้ถาวร

ขั้นตอนที่ 13: หดท่อหดความร้อน

หดท่อหดความร้อน
หดท่อหดความร้อน

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

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

หลังจากที่ลีดไดโอดหดตัวแล้ว ให้เลื่อนท่อหดความร้อนที่ใหญ่กว่าเล็กน้อยจากสายไฟ เหนือข้อต่อแล้วทำซ้ำการหดตัว

ขั้นตอนที่ 14: เตรียม Mounting Block

เตรียมแท่นยึด
เตรียมแท่นยึด

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

ใช้น็อต M2 และสกรู M2 ขันน็อตเข้าไปจนสุดปลายสกรู

พลิกบล็อกการติดตั้งและทดสอบว่าใส่น็อต M2 เข้าไปในรู

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

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

ขั้นตอนที่ 15: ตรวจสอบให้แน่ใจว่าสกรู M2 มีความยาวที่เหมาะสม

ตรวจสอบให้แน่ใจว่าสกรู M2 มีความยาวที่เหมาะสม
ตรวจสอบให้แน่ใจว่าสกรู M2 มีความยาวที่เหมาะสม

ตรวจสอบให้แน่ใจว่าสกรูไม่ยาวเกินไป มิฉะนั้นเซ็นเซอร์จะไม่ขันแน่นกับบล็อกการติดตั้ง สำหรับบล็อกการติดตั้งแบบเข้ามุม ตรวจสอบให้แน่ใจว่าสกรู M2 มีขนาด 9 มม. หรือสั้นกว่านั้นเล็กน้อย

ขั้นตอนที่ 16: แนบ Mounting Block กับ CNC Router

แนบ Mounting Block กับ CNC Router
แนบ Mounting Block กับ CNC Router

สำหรับ Sienci Mill ให้ติดบล็อกการติดตั้งแบบทำมุมเข้ากับด้านล่างของด้านในของ Z Rail ด้วยกาวซุปเปอร์กาวสองสามหยด

ขั้นตอนที่ 17: ติดเซ็นเซอร์เข้ากับ Mounting Block

ติดเซ็นเซอร์เข้ากับบล็อกการติดตั้ง
ติดเซ็นเซอร์เข้ากับบล็อกการติดตั้ง

วางแขนที่ปรับได้ในบล็อกการติดตั้ง

ใส่สกรู M2 พร้อมแหวนรองผ่านสล็อตในแขนยึดแบบปรับได้ และขันให้เข้ากับน็อต

เลื่อนแขนที่ปรับได้จนกว่า LED และโฟโตไดโอดจะเท่ากันกับน็อตปลอกรัดของเราเตอร์

ขันสกรูให้แน่น

ขั้นตอนที่ 18: เพิ่มเทปสะท้อนแสงที่ด้านหนึ่งของ Collet Nut

เพิ่มเทปสะท้อนแสงที่ด้านหนึ่งของ Collet Nut
เพิ่มเทปสะท้อนแสงที่ด้านหนึ่งของ Collet Nut

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

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

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

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

ขั้นตอนที่ 20: เรียกใช้สายเซนเซอร์ตามด้านในของราง Z

เรียกใช้สายเซนเซอร์ตามด้านในของราง Z
เรียกใช้สายเซนเซอร์ตามด้านในของราง Z

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

ขั้นตอนที่ 21: แนบเซ็นเซอร์กับ Arduino Nano

ติดเซ็นเซอร์เข้ากับ Arduino Nano
ติดเซ็นเซอร์เข้ากับ Arduino Nano

ต่อสายไฟเข้ากับ Arduino ดังนี้:

  • IR LED (พร้อมตัวต้านทานในตัว) -> ขา D3
  • โฟโตไดโอด IR -> พิน D2
  • สายสามัญ -> ปักหมุด GND

ขั้นตอนที่ 22: ต่อสายจัมเปอร์เข้ากับจอแสดงผล OLED

ติดสายจัมเปอร์เข้ากับจอแสดงผล OLED
ติดสายจัมเปอร์เข้ากับจอแสดงผล OLED

ดึงชุดสายจัมเปอร์ 4 สายออก

เสียบสายไฟเข้ากับ 4 พินสำหรับอินเทอร์เฟซ I2C:

  • VCC
  • GND
  • SCL
  • SDA

ขั้นตอนที่ 23: แนบจอแสดงผล OLED กับ Arduino

แนบจอแสดงผล OLED เข้ากับ Arduino
แนบจอแสดงผล OLED เข้ากับ Arduino
แนบจอแสดงผล OLED กับ Arduino
แนบจอแสดงผล OLED กับ Arduino

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

  • VCC -> พิน 5V
  • GND -> ปักหมุด GND
  • SCL -> ปักหมุด A5
  • SDA -> ปักหมุด A4

ขั้นตอนที่ 24: แนบจอแสดงผล OLED เข้ากับตัวยึด

ติดจอแสดงผล OLED เข้ากับตัวยึด
ติดจอแสดงผล OLED เข้ากับตัวยึด

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

จากนั้นติดจอแสดงผลเข้ากับเฟรม CNC

ขั้นตอนที่ 25: เตรียม Arduino IDE สำหรับการโหลด Arduino Sketch

เตรียม Arduino IDE สำหรับการโหลด Arduino Sketch
เตรียม Arduino IDE สำหรับการโหลด Arduino Sketch

โปรแกรมสำหรับ Arduino เรียกว่าสเก็ตช์ Integrated Development Environment (IDE) สำหรับ Arduinos นั้นฟรีและต้องใช้เพื่อโหลดโปรแกรมเพื่อตรวจจับเซ็นเซอร์และแสดง RPM

หากคุณยังไม่มี นี่คือลิงค์สำหรับดาวน์โหลด Arduino IDE เลือกเวอร์ชันที่สามารถดาวน์โหลดได้ 1.8.5 หรือสูงกว่า

ขั้นตอนที่ 26: เพิ่มไลบรารี OLED ที่จำเป็น

เพิ่มไลบรารี OLED ที่จำเป็น
เพิ่มไลบรารี OLED ที่จำเป็น

ในการเรียกใช้จอแสดงผล OLED คุณจะต้องมีไลบรารีเพิ่มเติมสองสามไลบรารี ไลบรารี Adafruit_SSD1306 และ Adafruit-GFX-Library ห้องสมุดทั้งสองนั้นฟรีและพร้อมใช้งานผ่านลิงก์ที่ให้ไว้ ทำตามบทช่วยสอนของ Adafruit เกี่ยวกับวิธีติดตั้งไลบรารีสำหรับคอมพิวเตอร์ของคุณ

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

ไลบรารี Wire.h และ Math.h เป็นไลบรารีมาตรฐานและรวมอยู่ในการติดตั้ง IDE ของคุณโดยอัตโนมัติ

ขั้นตอนที่ 27: เชื่อมต่อ Arduino กับคอมพิวเตอร์ของคุณ

ใช้สาย USB มาตรฐานเชื่อมต่อ Arduino Nano กับคอมพิวเตอร์ของคุณด้วย Arduino IDE

  1. เปิดตัว IDE
  2. จากเมนูเครื่องมือ เลือกบอร์ด | Arduino นาโน
  3. จากเมนูเครื่องมือ เลือกพอร์ต |

ตอนนี้คุณพร้อมที่จะโหลดภาพสเก็ตช์ คอมไพล์แล้วอัปโหลดไปยัง Nano

ขั้นตอนที่ 28: ดาวน์โหลด Arduino Sketch

มีการแนบรหัส Arduino Sketch และมีอยู่ในหน้า GitHub ของฉันซึ่งจะมีการโพสต์การปรับปรุงในอนาคต

ดาวน์โหลดไฟล์ OpticalTachometerOledDisplay.ino และวางลงในไดเร็กทอรีงานที่มีชื่อเดียวกัน (ลบ.ino)

จาก Arduino IDE ให้เลือก File | เปิด…

ไปที่ไดเร็กทอรีงานของคุณ

เปิดไฟล์ OpticalTachometerOledDisplay.ino.ino

ขั้นตอนที่ 29: รวบรวม Sketch

รวบรวม Sketch
รวบรวม Sketch
รวบรวม Sketch
รวบรวม Sketch

คลิกปุ่ม 'ตรวจสอบ' หรือเลือก Sketch | ตรวจสอบ/รวบรวมจากเมนูเพื่อรวบรวมภาพร่าง

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

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

หากยังไม่สามารถแก้ไขปัญหาได้ ให้ตรวจสอบคำแนะนำในการติดตั้งไลบรารีแล้วลองอีกครั้ง

ขั้นตอนที่ 30: อัปโหลดไปยัง Nano

อัปโหลดไปยัง Nano
อัปโหลดไปยัง Nano

กดปุ่ม 'ลูกศร' หรือเลือก Sketch | อัปโหลดจากเมนูเพื่อรวบรวมและอัปโหลดภาพร่าง

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

ณ จุดนี้ จอแสดงผล OLED ควรมีชีวิตชีวาด้วยจอแสดงผล RPM: 0 โดยที่หน้าปัดเป็นศูนย์

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

ยินดีด้วย!

ขั้นตอนที่ 31: ใช้แหล่งพลังงานเฉพาะ

ใช้แหล่งพลังงานเฉพาะ
ใช้แหล่งพลังงานเฉพาะ
ใช้แหล่งพลังงานเฉพาะ
ใช้แหล่งพลังงานเฉพาะ

หมายเหตุ: นี่คือที่มาของสัญญาณรบกวนที่ทำให้เกิดการแสดง RPM ที่ไม่แน่นอน ฉันกำลังตรวจสอบการใส่ฝาครอบตัวกรองบนจัมเปอร์จ่ายไฟ แต่ตอนนี้ คุณจะต้องจ่ายไฟผ่านสาย USB แยกต่างหาก

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

คุณมีสองทางเลือก คุณสามารถรับเครื่องชาร์จ USB แบบมาตรฐานและเรียกใช้ Arduino ได้

หรือคุณสามารถเรียกใช้ Arduino ได้โดยตรงจากอุปกรณ์อิเล็กทรอนิกส์เราเตอร์ CNC ของคุณ จอแสดงผล Arduino/OLED ดึงกระแสไฟได้เพียง 0.04 แอมป์ ดังนั้นจึงไม่ทำให้อุปกรณ์อิเล็กทรอนิกส์ที่มีอยู่ของคุณทำงานหนักเกินไป

หากคุณมีอุปกรณ์อิเล็กทรอนิกส์ Arduino/CNC Router Shield (เช่น Sienci Mill) คุณสามารถใช้พินที่ไม่ได้ใช้สองสามพินเพื่อดึงพลังงาน 5 โวลต์ที่จำเป็น

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

ขั้นตอนที่ 32: เชื่อมต่อ Arduino กับ Power Jumpers

เชื่อมต่อ Arduino กับ Power Jumpers
เชื่อมต่อ Arduino กับ Power Jumpers
เชื่อมต่อ Arduino กับ Power Jumpers
เชื่อมต่อ Arduino กับ Power Jumpers

อันนี้ง่ายแต่ไม่ได้ติดป้ายไว้อย่างสวยงาม

บน Arduino Nano มีชุดพิน 6 ตัวที่ส่วนท้ายของบอร์ด พวกเขาไม่ได้ติดป้ายกำกับ แต่ฉันได้รวมไดอะแกรมพินเอาต์ไว้และคุณจะเห็นว่าพินภายนอกสองตัวที่อยู่ใกล้กับไฟ LED แสดงสถานะมากที่สุดนั้นติดป้ายกำกับ GND และ 5V บนไดอะแกรม

เชื่อมต่อจัมเปอร์จากพิน 5V บนชิลด์ CNC กับพินที่ใกล้กับ VIN ที่ติดฉลากมากที่สุด (อย่าเชื่อมต่อกับ VIN แต่กับพินที่มุมด้านในของกลุ่มพิน 6 พิน) VIN ใช้สำหรับจ่ายไฟให้นาโนด้วยกำลังไฟ 7V-12V

เชื่อมต่อจัมเปอร์จากพิน GND บนชิลด์ CNC กับพินที่ใกล้ที่สุดกับพิน TX1

ตอนนี้เมื่อคุณเปิดอุปกรณ์อิเล็กทรอนิกส์เราเตอร์ CNC จอแสดงผล OLED RPM ก็จะสว่างขึ้นเช่นกัน

ขั้นตอนที่ 33: หมายเหตุทางเทคนิคเกี่ยวกับวงจร

หมายเหตุทางเทคนิคเกี่ยวกับวงจร
หมายเหตุทางเทคนิคเกี่ยวกับวงจร

วงจรเซ็นเซอร์ใช้คู่ IR LED/IR Photodiode

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

IR Photodiode ทำงานเหมือนกับไดโอดอื่นๆ (รวมถึง Light Emitting Diodes LEDs) ที่นำไฟฟ้าในทิศทางเดียวเท่านั้น โดยปิดกั้นกระแสไฟฟ้าในทิศทางตรงกันข้าม นั่นเป็นเหตุผลสำคัญที่จะต้องปรับขั้วให้ถูกต้องเพื่อให้ LED ทำงานได้

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

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

การเปลี่ยนแปลงสถานะบนพิน Arduino นี้ใช้ในแบบร่างเพื่อนับการปฏิวัติ

แถบเทปอะลูมิเนียมบนน็อตปลอกรัด สะท้อนแสง IR จาก IR LED ที่เปิดตลอดเวลากลับไปยังโฟโตไดโอด IR ทุกครั้งที่หมุนผ่านเซ็นเซอร์

ขั้นตอนที่ 34: หมายเหตุทางเทคนิคเกี่ยวกับ Arduino Sketch

ภาพร่าง Arduino ขับเคลื่อนจอแสดงผล OLED และตอบสนองต่อเซ็นเซอร์ IR LED/IR Photodiode พร้อมกัน

Sketch เริ่มต้นการแสดงผล OLED ตลอดโปรโตคอล I2C (Inter-integrated Circuit) โปรโตคอลนี้อนุญาตให้จอแสดงผล/เซ็นเซอร์หลายตัวแชร์การเชื่อมต่อ และสามารถอ่านหรือเขียนไปยังอุปกรณ์ที่เชื่อมต่อเฉพาะด้วยสายไฟขั้นต่ำ (4) การเชื่อมต่อนี้ช่วยลดจำนวนการเชื่อมต่อระหว่าง Arduino และจอแสดงผล OLED

จากนั้นเปิด IR LED โดยตั้งค่าให้พิน HIGH โดยให้ 5V ที่จำเป็นสำหรับ LED

มันแนบฟังก์ชันขัดจังหวะกับพินที่ถูกเรียกเมื่อตรวจพบการเปลี่ยนแปลงสถานะของพินนั้น ในกรณีนี้ ฟังก์ชัน incrementRevolution() จะถูกเรียกเมื่อใดก็ตามที่ตรวจพบขอบ FALLING บนพิน 2

ฟังก์ชันอินเตอร์รัปต์ทำหน้าที่ตามความหมายเท่านั้น มันขัดจังหวะทุกอย่างที่กำลังดำเนินการอยู่ เรียกใช้ฟังก์ชันแล้วกลับมาทำงานต่อในตำแหน่งที่ถูกขัดจังหวะ ฟังก์ชันขัดจังหวะควรสั้นที่สุดเท่าที่จะเป็นไปได้ ในกรณีนี้ก็แค่เพิ่มตัวแปรตัวนับหนึ่งตัว Arduino Nano ตัวเล็กทำงานที่ 16Mhz - 16 ล้านรอบต่อวินาที ซึ่งเร็วมากพอที่จะรองรับการขัดจังหวะที่ 30,000 รอบต่อนาที ซึ่งทำได้เพียง 500 รอบต่อวินาที

ฟังก์ชัน Loop() เป็นฟังก์ชันการทำงานหลักสำหรับสเก็ตช์ Arduinoมีการเรียกอย่างต่อเนื่อง ซ้ำแล้วซ้ำเล่า ตราบใดที่ Arduino มีกำลัง รับเวลาปัจจุบัน ตรวจสอบเพื่อดูว่าผ่านช่วงเวลาที่ระบุหรือไม่ (1/4 วินาที = 250 มิลลิวินาที) ถ้าเป็นเช่นนั้น จะเรียกใช้ฟังก์ชัน updateDisplay() เพื่อแสดงค่า RPM ใหม่

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

ฟังก์ชัน updateDisplay() จะเรียกใช้ฟังก์ชัน calcRpm() ฟังก์ชันดังกล่าวจะนับจำนวนรอบที่ฟังก์ชันขัดจังหวะได้เพิ่มขึ้นอย่างต่อเนื่องและคำนวณ RPM โดยกำหนดอัตราของการปฏิวัติต่อช่วงเวลาและประมาณค่าดังกล่าวเป็นจำนวนรอบต่อนาที

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

ค่าคงที่ที่ด้านบนของแบบร่างสามารถแก้ไขได้ หากคุณต้องการแป้นหมุน RPM ที่มีค่าหลักและค่ารองต่างกัน

ช่วงเวลาการอัปเดตและช่วงเวลาเฉลี่ยสามารถแก้ไขได้

แนะนำ: