สารบัญ:
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
วันนี้เราจะพูดถึงสองประเด็น อันแรกคือ DAC (Digital-to-Analog Converter) ฉันคิดว่ามันเป็นสิ่งสำคัญเพราะตัวอย่างเช่นเราสร้างเอาต์พุตเสียงใน ESP32 ปัญหาที่สองที่เราจะกล่าวถึงในวันนี้คือออสซิลโลสโคป จากนั้นเราจะรวบรวมรหัส DAC พื้นฐานใน ESP32 และเห็นภาพด้วยออสซิลโลสโคปสัญญาณรูปคลื่นแอนะล็อกที่สร้างโดยไมโครคอนโทรลเลอร์
การชุมนุมวันนี้เรียบง่ายมากจนฉันไม่ได้บันทึกการสาธิต เข้าใจได้ง่ายเพียงแค่วางรูปภาพไว้ที่นี่ โดยพื้นฐานแล้ว เรามี ESP32 ซึ่งจะสร้างรูปคลื่นได้หลายประเภทผ่านโปรแกรม
เราใช้ GPIO25 เป็นเอาต์พุต และ GND เป็นข้อมูลอ้างอิง
ขั้นตอนที่ 1: ทรัพยากรที่ใช้
• ESP32
• ออสซิลโลสโคป
• โปรโตบอร์ด (ไม่จำเป็น)
• จัมเปอร์
ขั้นตอนที่ 2: ใช้ต้นสน
ในตัวอย่างนี้ เราจะใช้ GPIO 25 ซึ่งสอดคล้องกับ DAC_1
อีกตัวอย่างหนึ่งที่สามารถใช้ได้คือ GPIO 26 ซึ่งสอดคล้องกับ DAC_2
ขั้นตอนที่ 3: รหัส ESP32 - Wave Matrix
เรามีซอร์สโค้ดที่จะสร้างรูปคลื่นสี่ประเภท
ขั้นแรก เราประกอบเมทริกซ์สองมิติ
ที่นี่ ฉันระบุรูปร่างของคลื่นไซน์และสามเหลี่ยม
ในภาพ ฉันแสดงรูปร่างของฟันเลื่อยและสี่เหลี่ยมจัตุรัส
สำหรับซอร์สโค้ด ไม่จำเป็นต้องดำเนินการใดๆ ในการตั้งค่า ในลูป ฉันกำหนดตำแหน่งเมทริกซ์ที่สอดคล้องกับประเภทคลื่นและใช้ตัวอย่างคลื่นสี่เหลี่ยม เราเขียนข้อมูลที่เก็บไว้ในเมทริกซ์บนพิน 25 ตรวจสอบว่า "i" อยู่ในคอลัมน์สุดท้ายของอาร์เรย์หรือไม่ ถ้าเป็นเช่นนั้น "i" จะถูกรีเซ็ตและเรากลับไปที่จุดเริ่มต้น
ฉันต้องการทำให้ชัดเจนว่า DAC นี้ภายใน ESP32 ของ STM32 ซึ่งก็คือชิปโดยทั่วไปมีความจุน้อย มีไว้สำหรับการใช้งานทั่วไปมากขึ้น ในการสร้างคลื่นความถี่สูง มีชิป DAC เอง ซึ่งให้บริการโดย Texas หรือ Analog Devices เป็นต้น
การตั้งค่าเป็นโมฆะ () { //Serial.begin (115200); } // ทดสอบตำแหน่ง SEM (ความถี่ MAIOR) / * วงเป็นโมฆะ () { dacWrite (25, 0xff); ///25 ถึง 26 dacWrite(25, 0x00); ///25 ou 26 //delayMicroseconds(10); } */ // TESTE COM POSICIONAMENTO (ความถี่ MENOR) วงเป็นโมฆะ () { ไบต์ wave_type = 0; // ไซน์ // ไบต์ wave_type = 1; // สามเหลี่ยม // ไบต์ wave_type = 2; // ฟันเลื่อย // ไบต์ wave_type = 3; // สแควร์ dacWrite (25, WaveFormTable[wave_type]); ///25 อู 26 ผม++; ถ้า (i >= Num_Samples) i = 0; }
รหัสอ้างอิง:
ขั้นตอนที่ 4: เครื่องมือสร้างมืออาชีพ
ฉันนำตัวอย่างเครื่องกำเนิดไฟฟ้าแบบมืออาชีพมาให้คุณ เพื่อให้คุณได้ทราบถึงต้นทุนของอุปกรณ์นี้ สามารถใช้ ตัวอย่างเช่น เพื่อจำลองแหล่งที่มาและสร้างข้อขัดข้อง เราสามารถฉีดสัญญาณรบกวนทางไฟฟ้าลงในไมโครคอนโทรลเลอร์ STM เพื่อวิเคราะห์ว่าเสียงจะรบกวนชิปมากน้อยเพียงใด รุ่นนี้มีฟังก์ชั่นอัตโนมัติเพื่อสร้างสัญญาณรบกวนทางไฟฟ้า
ขั้นตอนที่ 5: Hantek DSO 4102C 100mhz Oscilloscope พร้อมตัวสร้างฟังก์ชันโดยพลการ
นี่คือเคล็ดลับเกี่ยวกับตัวเลือกอุปกรณ์ราคาถูก มีค่าใช้จ่ายประมาณ $ 245 ใน Aliexpress ฉันชอบมันเพราะมันมีตัวสร้างฟังก์ชัน ไม่ต้องพูดถึงว่ามันอำนวยความสะดวกในตำแหน่งของข้อผิดพลาดในวงจร
ขั้นตอนที่ 6: คลื่นที่ได้รับด้วยออสซิลโลสโคป:
ก่อนอื่นเราจับคลื่นในรูปแบบไซน์ สามเหลี่ยม ฟันเลื่อย และสุดท้ายคือสี่เหลี่ยม
ขั้นตอนที่ 7: ดาวน์โหลดไฟล์:
ไฟล์ PDF
ฉันไม่