สารบัญ:

Portable Function Generator บน Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
Portable Function Generator บน Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Portable Function Generator บน Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Portable Function Generator บน Arduino: 7 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: Arduino Dual Function Generator with AD9833 2024, กรกฎาคม
Anonim
Image
Image
เครื่องกำเนิดฟังก์ชันแบบพกพาบน Arduino
เครื่องกำเนิดฟังก์ชันแบบพกพาบน Arduino
เครื่องกำเนิดฟังก์ชันแบบพกพาบน Arduino
เครื่องกำเนิดฟังก์ชันแบบพกพาบน Arduino

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

คุณสมบัติของโครงการ:

  • การควบคุมแบบดิจิตอลทั้งหมด: ไม่จำเป็นต้องใช้ส่วนประกอบแอนะล็อกแบบพาสซีฟ
  • การออกแบบโมดูลาร์: ทุกวงจรย่อยเป็นโมดูลที่ใช้งานง่ายที่กำหนดไว้ล่วงหน้า
  • ความถี่เอาต์พุต: ช่วงที่มีตั้งแต่ 0Hz ถึง 10MHz
  • ควบคุมง่าย: เครื่องเข้ารหัสแบบหมุนเดี่ยวพร้อมปุ่มกดในตัว
  • แบตเตอรี่ Li-ion สำหรับการใช้งานแบบพกพาพร้อมความสามารถในการชาร์จภายนอก
  • คัปปลิ้ง AC และ DC สำหรับรูปคลื่นเอาท์พุต
  • การควบคุมความสว่าง LCD เพื่อลดการใช้พลังงาน
  • ไฟแสดงสถานะการชาร์จแบตเตอรี่
  • การควบคุมแอมพลิจูดแบบดิจิตอล
  • สามรูปคลื่นที่ใช้ได้: ไซน์ สามเหลี่ยม และสี่เหลี่ยม

ขั้นตอนที่ 1: ไอเดีย

ความคิด
ความคิด
ความคิด
ความคิด
ความคิด
ความคิด

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

การจ่ายไฟให้กับบอร์ด: อุปกรณ์มีขั้วต่อ mini-USB ตัวเดียวที่รับ 5V จากแหล่งจ่ายไฟภายนอก ซึ่งอาจเป็น PC หรือที่ชาร์จ USB ภายนอก วงจรที่ออกแบบในลักษณะที่เมื่อเชื่อมต่อแหล่งจ่าย 5V DC แบตเตอรี่ Li-ion จะถูกชาร์จโดยโมดูลเครื่องชาร์จ TP4056 ที่ต่ออยู่กับวงจรจ่ายไฟ (หัวข้อจะขยายเพิ่มเติมในขั้นตอนต่อไปนี้)

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

จอแสดงผล: เป็นจอ LCD พื้นฐานขนาด 16x2 ซึ่งน่าจะเป็นจอแสดงผลคริสตัลเหลวที่ได้รับความนิยมมากที่สุดในหมู่ผู้ใช้ Arduino เพื่อลดการใช้พลังงาน มีตัวเลือกในการปรับไฟหลังจอ LCD ผ่านสัญญาณ PWM จากพิน "แอนะล็อก" ที่กำหนดไว้ล่วงหน้าของ Arduino

หลังจากแนะนำสั้น ๆ นี้ เราสามารถดำเนินการสร้างได้

ขั้นตอนที่ 2: ชิ้นส่วนและเครื่องมือ

ชิ้นส่วนและเครื่องมือ
ชิ้นส่วนและเครื่องมือ

1: ชิ้นส่วนอิเล็กทรอนิกส์:

1.1: โมดูลรวม:

  • บอร์ด Arduino นาโน
  • 1602A - จอแสดงผลคริสตัลเหลวทั่วไป
  • CJMCU - AD9833 โมดูลกำเนิดฟังก์ชัน
  • TP4056 - โมดูลเครื่องชาร์จแบตเตอรี่ Li-ion
  • โมดูลแปลง DC-DC Step-Up: ตัวแปลง 1.5V-3V ถึง 5V

1.2: วงจรรวม:

  • SRD=05VDC - รีเลย์ 5V SPDT
  • X9C104P - โพเทนชิโอมิเตอร์ดิจิตอล 8 บิต 100KOhm
  • EC11 - ตัวเข้ารหัสแบบหมุนพร้อมสวิตช์ SPST
  • 2 x 2N2222A - NPN วัตถุประสงค์ทั่วไป BJT

1.3: ส่วนแบบพาสซีฟและไม่จำแนกประเภท:

  • 2 x 0.1uF -ตัวเก็บประจุแบบเซรามิก
  • 2 x 100uF - ตัวเก็บประจุด้วยไฟฟ้า
  • 2 x 10uF - ตัวเก็บประจุด้วยไฟฟ้า
  • ตัวต้านทาน 3 x 10KOhm
  • ตัวต้านทาน 2 x 1.3KOhm
  • 1 x 1N4007 วงจรเรียงกระแสไดโอด
  • 1 x SPDT สวิตช์สลับ

1.4: ตัวเชื่อมต่อ:

  • 3 x 4-pin JST 2.54mm pitch connectors
  • 3 x 2-pin JST 2.54mm pitch connectors
  • 1 x ขั้วต่อเต้ารับ RCA

2: ชิ้นส่วนเครื่องกล:

  • กล่องพลาสติก 1 x 12.5 ซม. x 8 ซม. x 3.2 ซม.
  • สกรูดึง 6 x KA-2mm
  • สกรูเจาะ KA-8mm 4 ตัว
  • 1 x ปุ่มเข้ารหัส (ฝา)
  • บอร์ดต้นแบบ 1 x 8 ซม. x 5 ซม.

3. เครื่องมือและซอฟต์แวร์:

  • สถานีบัดกรี/เตารีด
  • ไขควงไฟฟ้า
  • ไฟล์เจียรขนาดต่างๆ
  • มีดคม
  • ดอกสว่าน
  • ดอกไขควง
  • ปืนกาวร้อน
  • สาย Mini-USB
  • Arduino IDE
  • คาลิปเปอร์/ไม้บรรทัด

ขั้นตอนที่ 3: คำอธิบายแผนผัง

คำอธิบายแผนผัง
คำอธิบายแผนผัง
คำอธิบายแผนผัง
คำอธิบายแผนผัง
คำอธิบายแผนผัง
คำอธิบายแผนผัง

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

1. Arduino นาโนวงจร:

โมดูล Arduino Nano ทำหน้าที่เป็น "สมองหลัก" สำหรับอุปกรณ์ของเรา ควบคุมโมดูลอุปกรณ์ต่อพ่วงทั้งหมดบนอุปกรณ์ ทั้งในโหมดการทำงานแบบดิจิทัลและแบบแอนะล็อก เนื่องจากโมดูลนี้มีขั้วต่ออินพุต mini-USB ของตัวเอง จึงจะใช้เป็นทั้งอินพุตของแหล่งจ่ายไฟและอินพุตอินเทอร์เฟซการเขียนโปรแกรม ด้วยเหตุนี้ J1 - ขั้วต่อ mini-USB จึงแยกออกจากแผนผังของ Arduino Nano (U4)

มีตัวเลือกสำหรับการใช้พินอะนาล็อกเฉพาะ (A0.. A5) เป็น I/O วัตถุประสงค์ทั่วไป ดังนั้นพินบางตัวจึงใช้เป็นเอาต์พุตดิจิตอล เพื่อสื่อสารกับ LCD และการเลือกคัปปลิ้ง AC/DC ของเอาต์พุตของอุปกรณ์ พินอะนาล็อก A6 และ A7 เป็นพินอินพุตแบบอะนาล็อกโดยเฉพาะ และสามารถใช้เป็นอินพุต ADC ได้เท่านั้น เนื่องจากแพ็คเกจ Arduino Nano ไมโครคอนโทรลเลอร์ ATMEGA328P TQFP ตามที่กำหนดไว้ในแผ่นข้อมูล ขอให้สังเกตว่าสายแรงดันแบตเตอรี่ VBAT ต่ออยู่กับขาอินพุตแบบอะนาล็อก A7 เนื่องจากเราจำเป็นต้องได้รับค่าของมันเพื่อกำหนดสถานะแบตเตอรี่ต่ำของแรงดันแบตเตอรี่ Li-ion

2. พาวเวอร์ซัพพลาย:

วงจรจ่ายไฟขึ้นอยู่กับการจ่ายไฟให้กับอุปกรณ์ทั้งหมดผ่านแบตเตอรี่ Li-ion 3.7V ที่แปลงเป็น 5V SW1 เป็นสวิตช์สลับ SPST ที่ควบคุมการไหลของพลังงานในวงจรทั้งหมด ดังที่เห็นได้จากแผนผัง เมื่อเชื่อมต่อแหล่งจ่ายไฟภายนอกผ่านขั้วต่อ micro-USB ของโมดูล Arduino Nano แบตเตอรี่จะถูกชาร์จผ่านโมดูล TP4056 ตรวจสอบให้แน่ใจว่ามีตัวเก็บประจุบายพาสหลายค่าอยู่บนวงจร เนื่องจากมีสัญญาณรบกวนการสลับบูสต์คอนเวอร์เตอร์ DC-DC บนกราวด์และมีศักย์ 5V ของวงจรทั้งหมด

3. AD9833 และเอาต์พุต:

วงจรย่อยนี้มีรูปคลื่นสัญญาณเอาท์พุตที่เหมาะสม ซึ่งกำหนดโดยโมดูล AD9833 (U1) เนื่องจากอุปกรณ์มีแหล่งจ่ายไฟเพียงตัวเดียว (5V) จึงจำเป็นต้องต่อวงจรการเลือกคัปปลิ้งเข้ากับเอาต์พุตคาสเคด ตัวเก็บประจุ C1 เชื่อมต่อแบบอนุกรมกับสเตจการเลือกแอมพลิจูด และสามารถปิดเสียงได้ผ่านการขับกระแสบนตัวเหนี่ยวนำรีเลย์ ซึ่งจะทำให้สัญญาณเอาต์พุตถูกลากไปยังสเตจเอาต์พุตโดยตรง C1 มีค่าเท่ากับ 10uF ซึ่งเพียงพอสำหรับรูปคลื่นแม้ในความถี่ต่ำที่จะผ่านตัวเก็บประจุโดยไม่เกิดการบิดเบี้ยว ซึ่งได้รับผลกระทบจากการนำ DC ออกเท่านั้น Q1 ใช้เป็นสวิตช์ BJT อย่างง่ายที่ใช้เพื่อขับกระแสผ่านตัวเหนี่ยวนำของรีเลย์ ตรวจสอบให้แน่ใจว่าไดโอดเชื่อมต่อในการจัดสรรแบบย้อนกลับกับตัวเหนี่ยวนำรีเลย์ เพื่อหลีกเลี่ยงแรงดันไฟกระชากที่อาจทำให้วงจรของอุปกรณ์เสียหายได้

ขั้นตอนสุดท้ายแต่ไม่ท้ายสุดคือการเลือกแอมพลิจูด U6 เป็น IC โพเทนชิออมิเตอร์แบบดิจิตอล 8 บิต ซึ่งทำหน้าที่เป็นตัวแบ่งแรงดันไฟสำหรับรูปคลื่นเอาต์พุตที่กำหนด X9C104P เป็นโพเทนชิโอมิเตอร์แบบดิจิตอล 100KOhm พร้อมการปรับตำแหน่งไวเปอร์อย่างง่าย: อินพุตดิจิตอล 3 พินสำหรับปรับตำแหน่งที่เพิ่มขึ้น/ลดลงของไวเปอร์

4. จอแอลซีดี:

จอแสดงผลคริสตัลเหลวขนาด 16x2 เป็นส่วนต่อประสานกราฟิกระหว่างผู้ใช้กับวงจรของอุปกรณ์ เพื่อลดการใช้พลังงาน ขาแคโทดไฟหลังจอ LCD เชื่อมต่อกับ Q2 BJT ที่เชื่อมต่อเป็นสวิตช์ ซึ่งควบคุมโดยสัญญาณ PWM ที่ขับเคลื่อนโดย Arduino analogWrite ความสามารถ (จะอธิบายไว้ในขั้นตอนโค้ด Arduino)

5. ตัวเข้ารหัส:

วงจรเอ็นโค้ดเดอร์เป็นอินเทอร์เฟซควบคุม ซึ่งกำหนดการทำงานของอุปกรณ์ทั้งหมด U9 ประกอบด้วยตัวเข้ารหัสและสวิตช์ SPST ดังนั้นจึงไม่จำเป็นต้องเพิ่มปุ่มเพิ่มเติมในโปรเจ็กต์ ตัวเข้ารหัสและหมุดสวิตช์ควรดึงขึ้นโดยตัวต้านทาน 10KOhm ภายนอก แต่สามารถกำหนดผ่านโค้ดได้เช่นกัน ขอแนะนำให้เพิ่มตัวเก็บประจุ 0.1uF ขนานกับพินตัวเข้ารหัส A และ B เพื่อหลีกเลี่ยงไม่ให้สายอินพุตเหล่านี้กระเด้ง

6. ตัวเชื่อมต่อ JST:

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

  • J3, J4: LCD
  • J5: ตัวเข้ารหัส
  • J6: แบตเตอรี่
  • J7: สวิตช์สลับ SPST
  • J8: ขั้วต่อเอาต์พุต RCA

ขั้นตอนที่ 4: การบัดกรี

บัดกรี
บัดกรี
บัดกรี
บัดกรี
บัดกรี
บัดกรี

เนื่องจากการออกแบบโมดูลาร์ของโปรเจ็กต์นี้ ขั้นตอนการบัดกรีจึงกลายเป็นเรื่องง่าย:

A. การบัดกรีกระดานหลัก:

1. ก่อนอื่น จำเป็นต้องครอบตัดบอร์ดต้นแบบให้มีขนาดเท่ากับขนาดตู้ที่ต้องการ

2. การบัดกรีโมดูล Arduino Nano และทดสอบการทำงานเบื้องต้น

3. บัดกรีวงจรแหล่งจ่ายไฟและการตรวจสอบค่าแรงดันไฟฟ้าทั้งหมดเป็นไปตามข้อกำหนดของอุปกรณ์

4. การบัดกรีโมดูล AD9833 พร้อมวงจรต่อพ่วงทั้งหมด

5. บัดกรีตัวเชื่อมต่อ JST ทั้งหมด

B. ส่วนประกอบภายนอก:

1. บัดกรีสายไฟตัวเชื่อมต่อ JST ตัวผู้กับพิน LCD ในลำดับที่แน่นอนตามที่วางแผนไว้ในกระดานหลัก

2. การบัดกรีสายไฟตัวเชื่อมต่อ JST Male กับตัวเข้ารหัสคล้ายกับขั้นตอนก่อนหน้า

3. สวิตช์สลับการบัดกรีเป็นสาย JST

4. การบัดกรีสายไฟ JST เข้ากับแบตเตอรี่ (หากจำเป็นเลย แบตเตอรี่ Li-ion บางตัวที่มีจำหน่ายบน eBay จะได้รับการบัดกรีล่วงหน้าด้วยขั้วต่อ JST ของตัวเอง)

ขั้นตอนที่ 5: สิ่งที่แนบมาและการประกอบ

สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ
สิ่งที่แนบมาและการประกอบ

หลังจากการบัดกรีเสร็จสิ้น เราสามารถดำเนินการตามลำดับการประกอบอุปกรณ์:

1. นึกถึงการจัดวางชิ้นส่วนภายนอกของอุปกรณ์: ในกรณีของฉัน ฉันต้องการวางตัวเข้ารหัสไว้ด้านล่าง LCD เมื่อสวิตช์สลับและขั้วต่อ RCA วางอยู่บนด้านที่แยกจากกันของกล่องหุ้ม

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

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

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

3. Encoder: มีเพียงชิ้นส่วนโรตารี่บนแพ็คเกจเท่านั้น เจาะพื้นที่ตามเส้นผ่านศูนย์กลางสิ่งที่แนบมาแบบหมุนของตัวเข้ารหัส ใส่จากด้านในแล้วขันด้วยปืนกาวร้อน วางฝาครอบบนสิ่งที่แนบมาแบบหมุน

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

5. ขั้วต่อเอาต์พุต RCA: เจาะรูขนาดเส้นผ่านศูนย์กลางที่เหมาะสมสำหรับขั้วต่อเอาต์พุต RCA ที่ด้านล่างสุดของตัวเครื่อง ยึดด้วยปืนกาวร้อน

6. เมนบอร์ดและแบตเตอรี่: วางแบตเตอรี่ Li-ion ที่ด้านล่างของตัวเครื่อง สามารถยึดแบตเตอรี่ด้วยปืนกาวร้อน กระดานหลักควรเจาะ 4 ตำแหน่งโดยใช้สกรู 4 ตัวที่มุมกระดานหลักแต่ละมุม ตรวจสอบให้แน่ใจว่าอินพุต Arduino mini-USB อยู่ใกล้กับขอบเขตของตู้มากที่สุด (เราจะต้องใช้เพื่อการชาร์จและการเขียนโปรแกรม)

7. Mini-USB: ตัดพื้นที่ที่ต้องการสำหรับ Arduino Nano micro-USB ด้วยไฟล์บด ทำให้สามารถเชื่อมต่อแหล่งจ่ายไฟภายนอก/PC เข้ากับอุปกรณ์เมื่อประกอบเสร็จ

8. ขั้นสุดท้าย: เชื่อมต่อตัวเชื่อมต่อ JST ทั้งหมด แนบทั้งสองส่วนของกล่องหุ้มด้วยสกรู 8 มม. สี่ตัวที่แต่ละมุมของกล่องหุ้ม

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

รหัส Arduino
รหัส Arduino

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

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

การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย
การทดสอบขั้นสุดท้าย

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

หวังว่าคุณจะพบว่าคำแนะนำนี้มีประโยชน์

ขอบคุณที่อ่าน!;)

แนะนำ: