การแปลงสัญญาณอะนาล๊อก เป็นดิจิทัล (ADC : Analog to Digital Converter)

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

ESP32 ADC

ADC ของ ESP32 มีจำนวน 16 ช่อง ช่องละ 12 บิต สามารถใช้อ่านค่าแรงดันอะนาล๊อกตั้งแต่ 0 - 3.3 V จึงสามารถแปลงเป็นค่าดิจิทัลตั้งแต่ 0 ถึง 4095 (2^12)
โดยสามารถคำนวณหาค่า resolation หรือค่าความละเอียดของแรงดันไฟฟ้าด้านอะนาล๊อก ต่อการเปลี่ยนแปลงดิจิทัล 1 ค่า



เมื่อทราบค่า Resolution แล้วสามารถคำนวณหาค่าดิจิทัล ที่จะถูกแปลงจากสัญญาณอะนาล๊อกได้จากสมการ



ADC Pins ของ ESP32



จำนวน ADC ของ ESP32 มีจำนวน 16 ช่อง แต่ละช่องขนาด 12 บิต มีแรงดันอ้างอิง (Vref) 3.3V โดยตำแหน่งขา ADC ดังรูปด้านบน


การอ่าน ADC ของแต่ละช่อง จะใช้คำสั่ง analogRead(pin) โดยสามารถกำหนดขาหรือช่อง

analogRead(pin);
โดย pin คือ หมายเลขขา ADC ที่ต้องการอ่าน เช่น analogRead(A0);
หมายถึงต้องการอ่านค่าดิจิทัล จากขา ADC ช่อง A0 ซึ่งจะให้ค่าระหว่าง 0-4095


วงจรการทดลอง อ่านค่า ADC จากขา A0



การทดลองจะใช้ Wokwi เพื่อจำลองการอ่านค่าจาก A0 (VP) โดยใช้อุปกรณ์ Potentiometer เป็นความต้านทานปรับค่าได้





นำโค้ดตัวอย่างไปวางใน Editor ของ Wokwi แล้วทดลองรัน จะเห็นข้อความแสดงค่าดิจิทัลทีอ่านได้จากขา A0 ปรากฏที่ Serial Monitor
ให้ทดลองปรับหมุนค่า Potentiometer แล้วสังเกตตัวเลขที่ Serial Monitor




ให้ทดลองเปลี่ยน Potentiometer เป็น Sensor วัดอุณหภูมิ ชนิด NTC Thermistor ซึ่งจะให้ค่าอุณหภูมิออกมาเป็นแรงดันไฟฟ้าที่ผันแปรกับความต้านทาน ต่อวงจรดังรูป



และให้คัดลอกโค้ดไปใส่ใน editor ของ Wokwi



















Reference

ADC of ESP32
ESP32 With NTC Thermistor





Link
[ กสทช. ] [ บริษัทโทรคมนาคมแห่งชาติ จำกัด (NT)] [ สถานบันคุณวุฒิวิชาชีพ ] [บริษัทวิทยุการบินแห่งประเทศไทย จำกัด] [ THAICOM ] [ PTEC ] [ Hobby Project ]
[ Elec Blog ] [ Project Elec ] [ Elec Project ] [ วิทยุสมัครเล่น ] [ ลิ้งแหลก ] [ Electronic Source ] [ Prototype Elec ]
[ Thai Micron ] [ ทำ PCB ด้วย Dry Fllim ] [ Wara PCB ] [ อิเล็กทรอนิกส์ คิท ] [ ฟิวเจอร์ คิท ] [ ไทยแลนด์ คิท ] [ สร้างเวปHTML ]