สารบัญ:

แฮ็ก Vernier Caliper ดิจิตอลโดยใช้ Arduino: 7 ขั้นตอน
แฮ็ก Vernier Caliper ดิจิตอลโดยใช้ Arduino: 7 ขั้นตอน

วีดีโอ: แฮ็ก Vernier Caliper ดิจิตอลโดยใช้ Arduino: 7 ขั้นตอน

วีดีโอ: แฮ็ก Vernier Caliper ดิจิตอลโดยใช้ Arduino: 7 ขั้นตอน
วีดีโอ: Digital read out (DRO) using an Arduino and a digital caliper 2024, พฤศจิกายน
Anonim
แฮ็ก Vernier Caliper ดิจิตอลโดยใช้ Arduino
แฮ็ก Vernier Caliper ดิจิตอลโดยใช้ Arduino

แล้วการวัดขนาดด้วย Digital Vernier Caliper ของคุณและการให้ Arduino ของคุณทำงานกับการวัดเหล่านี้ล่ะ? อาจบันทึก ทำการคำนวณตามหรือเพิ่มการวัดเหล่านี้ไปยังลูปป้อนกลับจากอุปกรณ์ทางกลของคุณ ในคำแนะนำนี้ เราจะถอดแยกชิ้นส่วน Digital Vernier Caliper ต่อสายไฟและเชื่อมต่อ Caliper กับ Arduino เข้ากับ แสดงค่าที่วัดได้บน Arduino Serial Monitor

ขั้นตอนที่ 1: สามารถทำได้อย่างไร

มันสามารถทำได้อย่างไร
มันสามารถทำได้อย่างไร

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

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

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

เราจะไปที่:

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

สิ่งที่คุณต้องการ:

  • เวอร์เนียคาลิปเปอร์ดิจิตอล
  • Arduino (ประเภทใดก็ได้จะทำงาน)
  • Logic Converter Board (ฉันจะแนบแผนผังให้)
  • หัวแร้งหัวแร้งที่สะอาด
  • ลวดบัดกรีแบบบาง
  • สายจัมเปอร์บางส่วน

ขั้นตอนที่ 2: ถอด Caliper

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

หลังจากนั้น คุณจะเห็นว่า PCB ติดตั้งอยู่ที่แผงด้านหน้าด้วยสกรูสี่ตัว คุณต้องค่อยๆ คลายเกลียวออกโดยใช้ไขควงปากแบนของ Philips

ระวังอย่าขีดข่วนหรือตัดรอยใดๆ บน PCB ทั้งสองด้าน

  • ตอนนี้หลังจากถอดสกรูทั้งหมดออกแล้วใส่ในที่ปลอดภัยแล้วจะไม่หาย:),
  • คุณต้องยก PCB อย่างระมัดระวังเนื่องจากจอแสดงผลและปุ่มยางสามปุ่มอาจแยกออกจากกัน
  • ณ จุดนี้ คุณสามารถดึงจอแสดงผลและปุ่มต่างๆ จาก PCB แล้วใส่ด้วยสกรูและทำงานต่อด้วย PCB เปล่า

ขั้นตอนที่ 3: ค้นหาแผ่นที่จำเป็นเพื่อประสานซ็อกเก็ต

ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต
ค้นหาแผ่นรองที่จำเป็นในการบัดกรีซ็อกเก็ต

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

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

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

และนี่คือตอนที่กล่องเต็มรูปแบบของฉันเพียงแค่นั่งรอบ ๆ PCBs ก็ใช้งานได้ดี

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

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

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

ขั้นตอนที่ 4: ระบุพินเอาต์ของตัวเชื่อมต่อ

ระบุพินเอาต์ของตัวเชื่อมต่อ
ระบุพินเอาต์ของตัวเชื่อมต่อ
ระบุพินเอาต์ของตัวเชื่อมต่อ
ระบุพินเอาต์ของตัวเชื่อมต่อ
ระบุพินเอาต์ของตัวเชื่อมต่อ
ระบุพินเอาต์ของตัวเชื่อมต่อ

หลังจากพบแผ่นรองที่จำเป็นแล้ว เราจำเป็นต้องรู้ว่าแต่ละแผ่นเชื่อมต่อกับอะไร

มีอยู่แล้วในโครงการวิศวกรรมย้อนกลับอื่น ๆ สำหรับเครื่องวัดเส้นผ่าศูนย์กลางเหล่านี้และส่วนใหญ่มีการกำหนดค่าเดียวกัน (GND, DATA, CLOCK, VCC)

ในการกำหนดค่าด้วยตัวคุณเอง:

ถอดแบตเตอรี่

  • ตั้งค่ามัลติมิเตอร์ของคุณในสถานะ Buzzer (การทดสอบความต่อเนื่อง)
  • เริ่มต้นด้วยการเชื่อมต่อโพรบหนึ่งเข้ากับขั้วแบตเตอรี่ -VE (GND) และค้นหาว่าพินใดบนขั้วต่อที่เชื่อมต่อกับกราวด์โดยใช้โพรบอื่น
  • ทำเช่นเดียวกันกับขั้วแบตเตอรี่ +VE

คุณสามารถให้หมุดอีกสองตัวที่เชื่อมต่อกับชิปชื่อใดก็ได้ (EX: D0 และ D1) เนื่องจากเราจะทราบหน้าที่ของหมุดเหล่านี้ในภายหลังในขั้นตอนวิศวกรรมย้อนกลับ

หากคุณไม่ต้องการกำหนดค่าพินเอาต์ คุณสามารถประมาณการพินเอาต์ของตัวเชื่อมต่อได้ดังนี้:

(GND, ข้อมูล, นาฬิกา, VCC)

GND เป็นแพดที่ใกล้ที่สุดกับจอแสดงผล

VCC เป็นแผ่นที่ใกล้ที่สุดกับขอบ PCB

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

ขั้นตอนที่ 5: วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร

วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร
วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร
วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร
วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร
วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร
วิศวกรรมย้อนกลับโปรโตคอลการสื่อสาร

หลังจากตรวจสอบสัญญาณพินเอาต์พุตดิจิตอลทั้งสองด้วยออสซิลโลสโคปแล้วนี่คือสิ่งที่ดูเหมือน

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

ปรากฎว่า: - ข้อมูลถูกส่งในระดับลอจิก 1.5 โวลต์ (ฟังดูมีเหตุผลเพราะเป็นแรงดันเดียวกันกับเวอร์เนียร์แบตเตอรี) - ส่งข้อมูลเป็น 6 nibbles (6 x 4 bits) รวมเป็น 24 บิต - มี ประมาณ 200 mS ระหว่างจุดสิ้นสุดของแพ็กเก็ตข้อมูลแต่ละแพ็กเก็ตและจุดเริ่มต้นของแพ็กเก็ตอื่นๆ

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

ดังนั้นหลังจากศึกษาข้อมูลที่จับได้:

- ในโหมด มม.: บิตที่ 1 ถึง 16 เป็นเลขฐานสองสำหรับตัวเลขที่แสดงบนคาลิปเปอร์ (คูณด้วย 100)- ในโหมด (นิ้ว): บิตที่ 2 ถึง 17 เป็นเลขฐานสองสำหรับตัวเลขที่แสดงบน คาลิปเปอร์ (คูณด้วย 1,000)

- บิตที่ 21 แทนเครื่องหมายลบ (1 หากตัวเลขที่แสดงเป็นค่าลบและ 0 หากเป็นค่าบวก)

- บิตหมายเลข 24 หมายถึงหน่วยวัด (1 ถ้าหน่วยเป็น (นิ้ว) และ 0 ถ้าหน่วยเป็น (มม.))

- ในโหมด (นิ้ว): บิตที่ 1 หมายถึงส่วน 0.5 ไมล์ (1 หากถูกเพิ่มและ 0 ถ้าไม่ใช่)

ขั้นตอนที่ 6: การสร้างตัวแปลงลอจิก

การทำตัวแปลงลอจิก
การทำตัวแปลงลอจิก
การทำตัวแปลงลอจิก
การทำตัวแปลงลอจิก

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

ขั้นตอนที่ 7: รหัส Arduino

รหัส Arduino
รหัส Arduino

และตอนนี้คุณก็พร้อมที่จะเชื่อมต่อกับ Arduino แล้ว คุณสามารถหาโค้ดที่แนบมาได้ เชื่อมต่อพินนาฬิกากับพิน 2 หรือ 3 บน Arduino uno, nano หรือ pro-mini (คุณจะต้องมีพินที่สามารถขัดจังหวะได้) เชื่อมต่อดาต้าพินกับ พินอื่น ๆ อัปโหลดรหัสและเปิดจอภาพอนุกรมเพื่อดูข้อมูลที่วัดได้

รหัสสามารถตรวจจับโหมดที่คาลิปเปอร์ทำงานโดยอัตโนมัติโดยการสแกนบิตข้อมูลที่ 24

แนะนำ: