สำหรับโครงการที่จำเป็นต้องมีการแปลงสัญญาณอนาล็อกเป็นดิจิตอลและไมโครคอนโทรลเลอร์ที่ใช้ไม่มีความสามารถนี้เป็นเรื่องที่น่าสนใจที่จะมีประเภทนี้ โมดูล ADS1115ซึ่งให้ความสามารถในการแปลง ADC ที่มีความแม่นยำ 16 บิต
นอกจากนี้ยัง ส่วนประกอบอิเล็กทรอนิกส์ การขยายไฟล์ ความสามารถในการแปลงแม้ว่าไมโครคอนโทรลเลอร์ที่คุณใช้สำหรับโครงการของคุณจะมีความสามารถดังกล่าว แต่คุณต้องการอย่างอื่น
ตัวแปลง A / D และ D / A
มีสองประเภทคือ ตัวแปลงสัญญาณ พื้นฐานแม้ว่าจะมีชิปอื่น ๆ ที่สามารถทำการแปลงทั้งสองประเภทในเวลาเดียวกันได้ เหล่านี้คือ:
- CAD (ตัวแปลงอนาล็อกเป็นดิจิตอล) หรือ ADC (ตัวแปลงอนาล็อกเป็นดิจิตอล): เป็นอุปกรณ์ประเภทหนึ่งที่แปลงสัญญาณแอนะล็อกเป็นสัญญาณดิจิทัล ในการทำเช่นนี้คุณสามารถใช้รหัสไบนารีที่เข้ารหัสสัญญาณแอนะล็อก ตัวอย่างเช่นการเชื่อมโยงค่าไบนารีกับค่าแรงดันไฟฟ้าหรือค่ากระแสเฉพาะ ตัวอย่างเช่นด้วยความละเอียด 4 บิตสามารถเปลี่ยนจาก 0000 ถึง 1111 และสามารถสอดคล้องกับ 0v และ 12v ตามลำดับ แม้ว่าจะใช้บิตเครื่องหมาย แต่ก็สามารถวัดค่าลบและค่าบวกได้
- CDA (ตัวแปลงดิจิตอลเป็นอนาล็อก) หรือ DAC (ตัวแปลงดิจิตอลเป็นอนาล็อก): เป็นอุปกรณ์ที่ทำตรงกันข้ามกับข้างต้นนั่นคือมันจะแปลงข้อมูลไบนารีเป็นสัญญาณกระแสหรือแรงดันไฟฟ้าแบบอะนาล็อก
ด้วยตัวแปลงเหล่านี้คุณสามารถส่งผ่านสัญญาณประเภทหนึ่งไปยังอีกประเภทหนึ่งได้ดังที่คุณจะเห็นในกรณีของ ADS1115ซึ่งจะสอดคล้องกับกรณีแรก
เกี่ยวกับ ADS1115
ADS1115 เป็นโมดูลแปลงสัญญาณ สิ่งที่ทำคือ แปลงจากอนาล็อกเป็นดิจิตอล. คุณอาจคิดว่าบอร์ดพัฒนา Arduino นั้นมี ADC ภายในอยู่แล้วเพื่อให้สามารถทำงานนี้ได้เมื่อใช้อินพุตอะนาล็อกและสามารถใช้งานร่วมกับสัญญาณไมโครคอนโทรลเลอร์ได้
ใช่มันเป็นความจริงพวกเขามี 6 ADCs ที่มีความละเอียด 10 บิตใน UNO, Mini และ Nano แต่ด้วย ADS1115 คุณจะเพิ่มไฟล์ ความละเอียด 16 บิตเหนือกว่า Arduino นอกเหนือจากความสามารถในการปลดปล่อยเคส Arduino สิบห้าตัวมีไว้สำหรับการวัดและบิตสุดท้ายสำหรับสัญลักษณ์ของสัญญาณแอนะล็อกเนื่องจากอย่างที่คุณทราบสัญญาณแอนะล็อกอาจเป็นลบหรือบวกได้
นอกจากนี้โมดูลนี้ยังมีทุกสิ่งที่คุณต้องการดังนั้นการใช้งานจึงง่ายมาก เพื่อเชื่อมต่อกับ Arduino ของคุณ คุณสามารถใช้ I2Cดังนั้น มันง่ายมาก. นอกจากนี้ยังมีหมุดที่ทำเครื่องหมาย ADDR ซึ่งคุณสามารถเลือกหนึ่งใน 4 ที่อยู่ที่มีให้สำหรับส่วนประกอบนี้
ในทางกลับกันคุณต้องเข้าใจว่า ADS1115 มีโหมดการวัดสองโหมดโหมดหนึ่งคือ ดิฟเฟอเรนเชียลและอีกอันเดียวจบลง:
- ดิฟเฟอเรนเชียล: ใช้ ADC สองตัวสำหรับการวัดแต่ละครั้งลดจำนวนช่องสัญญาณเหลือ 2 ช่อง แต่ให้ข้อดีที่ชัดเจนคือสามารถวัดแรงดันไฟฟ้าติดลบได้และไม่เสี่ยงต่อเสียงรบกวน
- โสดจบ: มีสี่ช่องโดยไม่ใช้ทั้งสองอย่างในกรณีก่อนหน้านี้ แต่ละช่อง 15 บิต
นอกจากโหมดเหล่านี้แล้วยังมีโหมดเปรียบเทียบที่สร้างการแจ้งเตือนผ่านไฟล์ ALRT พิน เมื่อช่องใด ๆ เกินค่าเกณฑ์ที่สามารถกำหนดค่าได้ในซอร์สโค้ดของร่าง
หากคุณต้องการที่จะทำ วัดน้อยกว่า 5vแต่ด้วยความแม่นยำที่สูงขึ้นคุณควรทราบว่า ADS1115 มี PGA ที่สามารถปรับแรงดันไฟฟ้าได้ตั้งแต่ 6.144v ถึง 0.256v พึงระลึกไว้เสมอว่าแรงดันไฟฟ้าสูงสุดที่สามารถวัดได้ไม่ว่าในกรณีใด ๆ จะเป็นแรงดันไฟฟ้าที่ใช้ (5v)
Pinout และแผ่นข้อมูล
หากคุณต้องการดูรายละเอียดทางเทคนิคทั้งหมดของ ADS1115 เพื่อทราบขีด จำกัด ในระดับอิเล็กทรอนิกส์หรือเงื่อนไขที่สามารถใช้งานได้ตามคำแนะนำของผู้ผลิตคุณสามารถใช้ เอกสารข้อมูล ที่คุณสามารถหาได้จากอินเทอร์เน็ต ตัวอย่างเช่นคุณสามารถทำได้ ดาวน์โหลดจาก TI (เครื่องดนตรีเท็กซัส).
ไปยัง pinout และเชื่อมต่อก่อนหน้านี้ฉันได้แสดงความคิดเห็นบางอย่างเกี่ยวกับสัญญาณ ALRT ที่มีเกี่ยวกับ ADDR ด้วย แต่มันมีพินอื่น ๆ ที่คุณควรรู้สำหรับการรวมที่ถูกต้องกับบอร์ด Arduino ของคุณหรือสำหรับกรณีอื่น ๆ หมุดที่มีอยู่ในโมดูล ADS1115 ได้แก่ :
- VDD: จ่ายด้วย 2v ถึง 5.5v. คุณสามารถจ่ายไฟได้โดยเชื่อมต่อกับ 5v จากบอร์ด Arduino ของคุณ
- GND: กราวด์ที่คุณสามารถเชื่อมต่อกับ GND ของบอร์ด Arduino ของคุณ
- SCL และ SDA: หมุดสื่อสารสำหรับ I2C ในกรณีนี้พวกเขาต้องไปที่หมุดที่เหมาะสมตาม โมเดล arduino ของคุณ.
- อดีอาร์: ปักหมุดสำหรับที่อยู่ โดยค่าเริ่มต้นจะเชื่อมต่อกับ GND ซึ่งให้ที่อยู่ 0x48 แต่คุณสามารถเลือกที่อยู่อื่นได้:
- เชื่อมต่อกับ GND = 0x48
- เชื่อมต่อกับ VDD = 0x49
- เชื่อมต่อกับ SDA = 0x4A
- เชื่อมต่อกับ SCL = 0x4B
- แจ้งเตือน: PIN การแจ้งเตือน
- A0 ถึง A3: หมุดอะนาล็อก
หากคุณต้องการใช้ ปลายเดียว คุณสามารถเชื่อมต่อกระแสอนาล็อกหรือแรงดันไฟฟ้าที่คุณต้องการวัดระหว่าง GND และหนึ่งใน 4 พินอนาล็อกที่มีอยู่
สำหรับการเชื่อมต่อ ปลายเดียวเราเพียงแค่เชื่อมต่อโหลดที่จะวัดระหว่าง GND และหนึ่งใน 4 พินที่มีอยู่ สำหรับโหมดดิฟเฟอเรนเชียลคุณสามารถเชื่อมต่อโหลดที่จะวัดระหว่าง A0 และ A1 หรือระหว่าง A2 และ A3 ขึ้นอยู่กับช่องสัญญาณที่คุณต้องการใช้
เป็นตัวอย่างของการเชื่อมต่อในกรณีของ โหมดการอ่านที่แตกต่างกันคุณสามารถดูภาพด้านบน ในกรณีนี้ใช้แบตเตอรี่ 1.5 ก้อนโดยเพิ่ม 3v ที่เชื่อมต่อระหว่าง A0 และ A1 ในกรณีนี้เพื่อให้บอร์ด Arduino สามารถวัดค่าแรงดันไฟฟ้าที่ได้รับในแต่ละช่วงเวลาผ่าน I2C เห็นได้ชัดว่าคุณสามารถใช้สัญญาณอื่นในการวัดได้ในกรณีนี้คือแบตเตอรี่ แต่อาจเป็นอะไรก็ได้ที่คุณต้องการ ...
หาซื้อ ADS1115 ได้ที่ไหน?
ถ้าคุณต้องการ ซื้อ ADS1115คุณควรทราบว่าคุณมีโมดูลที่เตรียมไว้เพื่อรวมเข้ากับ Arduino ในราคาที่ค่อนข้างถูก คุณสามารถหาซื้อได้ในร้านขายเครื่องใช้ไฟฟ้าเฉพาะทางมากมายรวมทั้งใน eBay, Aliexpress และ Amazon ตัวอย่างเช่น:
บูรณาการกับ Arduino
ในการเริ่มต้นสิ่งแรกคือ ติดตั้งไลบรารี ที่สอดคล้องกันใน Arduino IDE ของคุณ สำหรับสิ่งนี้คุณสามารถใช้สิ่งที่มีชื่อเสียงที่สุดนั่นคือ Adafruit. โดยทำตามขั้นตอนต่อไปนี้:
- เปิด Arduino IDE
- ไปที่เมนู Sketch
- จากนั้นเพื่อรวมไลบรารี
- จัดการไลบรารี
- ในเครื่องมือค้นหาคุณสามารถค้นหา Adafruit ADS1X15
- คลิกที่ติดตั้ง
ตอนนี้คุณพร้อมที่จะเริ่มแล้วคุณสามารถเข้าถึงรหัสของไลบรารีที่ติดตั้งหรือไฟล์ มีตัวอย่าง ใน:
- เปิด Arduino IDE
- ไปที่ไฟล์
- ตัวอย่าง
- และในรายการให้มองหาสิ่งที่อยู่ในไลบรารีนี้ ...
ในตัวอย่างที่คุณจะเห็นทั้งสองสำหรับไฟล์ โหมดเปรียบเทียบโหมดดิฟเฟอเรนเชียลและโหมดปลายเดียว. คุณสามารถดูตัวอย่างเพื่อเริ่มใช้งานและปรับเปลี่ยนได้ตามความต้องการของคุณหรือเขียนโค้ดที่ซับซ้อนขึ้น สำหรับข้อมูลเพิ่มเติมฉันขอแนะนำให้คุณ หลักสูตรเบื้องต้นฟรีในรูปแบบ PDF.
ในโหมดดิฟเฟอเรนเชียลฉันสามารถใช้มันเพื่อวัดระหว่าง + 5V และ - 5V ได้หรือไม่?