
สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-23 15:12




เครื่องกำเนิดฟังก์ชันเป็นเครื่องมือที่มีประโยชน์มาก โดยเฉพาะอย่างยิ่งเมื่อเราพิจารณาทดสอบการตอบสนองของวงจรของเราต่อสัญญาณบางอย่าง ในคำแนะนำนี้ ฉันจะอธิบายลำดับการสร้างเครื่องกำเนิดฟังก์ชันแบบพกพาขนาดเล็ก ใช้งานง่าย
คุณสมบัติของโครงการ:
- การควบคุมแบบดิจิตอลทั้งหมด: ไม่จำเป็นต้องใช้ส่วนประกอบแอนะล็อกแบบพาสซีฟ
- การออกแบบโมดูลาร์: ทุกวงจรย่อยเป็นโมดูลที่ใช้งานง่ายที่กำหนดไว้ล่วงหน้า
- ความถี่เอาต์พุต: ช่วงที่มีตั้งแต่ 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

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


เรามีอุปกรณ์พร้อมใช้ ขั้วต่อ mini-USB ทำหน้าที่เป็นทั้งอินพุตของโปรแกรมเมอร์และอินพุตที่ชาร์จภายนอก ดังนั้นอุปกรณ์จึงสามารถตั้งโปรแกรมได้เมื่อประกอบเสร็จสรรพ
หวังว่าคุณจะพบว่าคำแนะนำนี้มีประโยชน์
ขอบคุณที่อ่าน!;)
แนะนำ:
Portable Disco V2 - LED ควบคุมเสียง: 11 ขั้นตอน (พร้อมรูปภาพ)

Portable Disco V2 -Sound Controlled LED's: ฉันมาไกลกับการเดินทางด้วยอุปกรณ์อิเล็กทรอนิกส์ของฉันตั้งแต่ฉันสร้างดิสโก้แบบพกพาครั้งแรก ในบิลด์ดั้งเดิม ฉันแฮ็กวงจรบนบอร์ดต้นแบบเข้าด้วยกัน และจัดการเพื่อสร้างพ็อกเก็ตดิสโก้ขนาดเล็กที่เรียบร้อย คราวนี้ฉันออกแบบ PCB ของตัวเองและ
DIY Function/Waveform Generator: 6 ขั้นตอน (พร้อมรูปภาพ)

DIY Function/Waveform Generator: ในโครงการนี้ เราจะมาทำความรู้จักกับฟังก์ชันเชิงพาณิชย์/เครื่องกำเนิดสัญญาณรูปคลื่นในเชิงพาณิชย์ เพื่อพิจารณาว่าคุณลักษณะใดมีความสำคัญสำหรับเวอร์ชัน DIY หลังจากนั้น ผมจะแสดงวิธีสร้างเครื่องกำเนิดฟังก์ชันอย่างง่าย แอนะล็อกและตัวเลข
Arduino Waveform Generator: 5 ขั้นตอน (พร้อมรูปภาพ)

Arduino Waveform Generator: อัปเดต กุมภาพันธ์ 2021: ลองดูเวอร์ชันใหม่ที่มีอัตราการสุ่มตัวอย่าง 300x ตาม Raspberry Pi Pico ในห้องแล็บ มักต้องการสัญญาณซ้ำของความถี่ รูปร่าง และแอมพลิจูดที่แน่นอน อาจเป็นการทดสอบเครื่องขยายเสียง ตรวจสอบวงจร
Arduino Yún Morse Generator: 4 ขั้นตอน (พร้อมรูปภาพ)

Arduino Yún Morse Generator: เคยอยู่ในบาร์ที่คุณคุยกับเพื่อนไม่ได้เพราะเสียงเพลงดังเกินไปหรือเปล่า ทีนี้คุณสามารถขอเบียร์จากเขาด้วยรหัสมอร์สได้แล้ว! มาเริ่มกันเลย
DIY HANDBULT PORTABLE BOOMBOX: 20 ขั้นตอน (พร้อมรูปภาพ)

DIY HANDBUILT PORTABLE BOOMBOX: สวัสดีทุกคนในคำแนะนำนี้ฉันจะแสดงให้คุณเห็นว่าฉันสร้าง boombox แบบง่าย ๆ โดยใช้ไม้อัดโดยใช้เครื่องมือไฟฟ้าแบบใช้มือถือสองสามตัวสร้างลำโพงรวมถึงโครงการเล็ก ๆ อื่น ๆ ที่ฉันสามารถใช้งานได้จริง วันต่อวัน