مبدل 12 بیتی دیجیتال به آنالوگ DAC با تراشه MCP4725
ماژول mcp4725 مبدل دیجیتال به آنالوگ 12 بیتی
ماژول MCP4725 یک ماژول تبدیل دیجیتال به آنالوگ (DAC) است که توسط شرکت Microchip تولید میشود. این ماژول قابلیت تولید سیگنال آنالوگ با دقت 12 بیت را داراست و با استفاده از پروتکل I2C قابلیت ارتباط با میکروکنترلرها و سایر اجزا را فراهم میکند. این ماژول از ولتاژ کاری 2.7 تا 5.5 ولت پشتیبانی میکند و دارای پین های VDD، GND، SDA، SCL و ADD است. پین ADD به منظور تنظیم آدرس ماژول در شبکه I2C وجود دارد و این امکان را به کاربر میدهد تا تا 8 ماژول MCP4725 را به صورت همزمان در یک شبکه I2C استفاده کند. این ماژول به دلیل داشتن خروجی آنالوگ با دقت بالا و پشتیبانی از پروتکل I2C در کنترل موتورها، کنترل نورپردازی و کنترل ترموستاتها و سایر انواع سنسورها مورد استفاده قرار میگیرد.
مشخصات فنی مبدل دیجیتال به آنالوگ MCP4725
مبدل دیجیتال به آنالوگ MCP4725 یک IC کوچک با پکیج SOT-23 و ولتاژ کاری 2.7 تا 5.5 ولت است. برای اتصال به میکروکنترلر یا برد آردوینو از ارتباط I2C استفاده میکند. برخلاف بسیاری از مبدلهای دیجیتال به آنالوگ، این مبدل قابلیت تنظیم ولتاژ خروجی را دارد و به آسانی قابل برنامهریزی است. مشخصات فنی مهم این مبدل عبارتند از:
ولتاژ کاری: 2.7 تا 5.5 ولت
رزولوشن: 12 بیت
رابط ارتباطی: I2C
محدوده ولتاژ خروجی: 0 تا Vref
دمای کاری: -40 تا +125 درجه سانتیگراد
دارای توانایی ذخیره تنظیمات خروجی در داخل خود IC و بازیابی آنها بعد از ریست سیستم. این مبدل به دلیل سادگی و قابلیت برنامهریزی آسان، بسیار در پروژههای الکترونیکی مختلفی از جمله رباتیک، سیستمهای کنترل دما و بسیاری از سیستمهای خودکار استفاده میشود.
پایه های pinout مبدل دیجیتال به آنالوگ MCP4725
ماژول MCP4725 یک مبدل دیجیتال به آنالوگ با دقت 12 بیتی است. این ماژول دارای 6 پایه است.
VCC: ولتاژ تغذیه ماژول که باید با ولتاژ مناسب برای ماژول (معمولا 3.3 ولت یا 5 ولت) تغذیه شود.
GND: پایه اتصال به زمین ماژول
SDA: پایه داده سریال (SDA) مورد استفاده برای ارتباط با ماژول با استفاده از پروتکل I2C
SCL: پایه ساعت سریال (SCL) مورد استفاده برای ارتباط با ماژول با استفاده از پروتکل I2C
OUT: پایه خروجی آنالوگ ماژول که می توانید به مدار خارجی خود متصل کنید.
ADDR: پایه آدرس I2C ماژول (معمولا به زمین متصل می شود در صورت عدم استفاده از قابلیت تعیین آدرس)
به همراه مبدل دیجیتال به آنالوگ MCP4725 چه اقلامی باید خریداری شود؟
1- برد میکروکنترلری مانند آردوینو، ESP32 یا RP2040
2- منبع تغذیه (برای تامین ولتاژ به ماژول MCP4725)
3- کابل های ارتباطی (معمولاً کابل USB برای اتصال بین برد میکروکنترلری و کامپیوتر و کابل های جمع کننده برای اتصال بین برد و ماژول MCP4725)
4- مقاومت ها و خازن های مورد نیاز برای پروژه شما (بسته به نیازهای خاص پروژه ممکن است به مقاومت ها و خازن های اضافی نیاز داشته باشید)
راه اندازی مبدل دیجیتال به آنالوگ MCP4725 با آردوینو
برای راه اندازی مبدل دیجیتال به آنالوگ MCP4725 با استفاده از برد آردوینو، می توانید طبق توضیحاتی که در ادامه میآید عمل کنید. نرمافزار آردوینو را باز کنید و از قسمت Sketch گزینه Include Library و سپس گزینه Manage Libraries را انتخاب کنید. در صفحهای که باز میشود، در قسمت Search با کلیدواژه MCP4725 جستجو کنید. سپس کتابخانه Adafruit MCP4725 Library را پیدا کرده و نصب کنید. سپس ماژول MCP4725 را به برد آردوینو خود متصل کنید. برای این کار پایههای VCC، GND، SDA و SCL ماژول را به پایههای 5V، GND، A4 و A5 برد متصل کنید. کد زیر را در نرمافزار آردوینو تایپ کرده و روی برد آپلود کنید.
#include <Wire.h>
#include <Adafruit_MCP4725.h>
Adafruit_MCP4725 dac;
void setup(void) {
Serial.begin(9600);
Serial.println("MCP4725 test!");
// Initialize the MCP4725.
dac.begin(0x60);
}
void loop(void) {
uint16_t output;
// Loop from 0 to 4095 to output a full range of values.
for (output = 0; output < 4096; output++) {
// Output the value on the DAC.
dac.setVoltage(output, false);
Serial.println(output);
delay(10);
}
}
در این کد، کتابخانه Wire برای ارتباط با مبدل دیجیتال به آنالوگ MCP4725 و کتابخانه Adafruit_MCP4725 برای کنترل مبدل استفاده شده است. پس از آپلود کد، با استفاده از سریال مانیتور، میتوانید ولتاژ خروجی را بررسی کنید. توجه داشته باشید که در این مثال، ولتاژ خروجی به صورت متصل به یک مقاومت 10 کیلو اهم به زمین متصل شده است. بنابراین، برای خواندن دقیق ولتاژ خروجی، میتوانید از یک ولتمتر استفاده کنید.
راه اندازی مبدل دیجیتال به آنالوگ MCP4725 با میکروپایتون و esp32
برای راه اندازی مبدل دیجیتال به آنالوگ MCP4725 با میکروپایتون و ESP32، میتوانید طبق توضیحاتی که در ادامه آمده است، عمل کنید. ابتدا اتصال مدار را برقرار کنید.
پایه VCC به منبع تغذیه ۳٫۳ ولت متصل میشود.
پایه GND به زمین متصل میشود.
پایه SDA به پایه دیجیتال دوم برد ESP32 متصل میشود.
پایه SCL به پایه دیجیتال سوم برد ESP32 متصل میشود.
پایه OUT به مداری که میخواهید ولتاژ آنالوگ را به آن اعمال کنید متصل میشود.
نصب کتابخانه: قبل از شروع به برنامهنویسی، باید کتابخانه MCP4725 را به پروژه خود اضافه کنید. برای این کار میتوانید از مدیر بسته پایتون (pip) استفاده کنید و کد pip install adafruit-circuitpython-mcp4725 را اجرا کنید. کد برنامه: حال میتوانید با استفاده از کتابخانهی نصب شده، کد برنامه را برای تنظیم ولتاژ آنالوگ تولید شده توسط MCP4725 نوشته و به برد ESP32 ارسال کنید. کد زیر به عنوان مثال، یک ولتاژ ۲ ولتی را تنظیم و برای مدت ۵ ثانیه به مدار متصل شده اعمال میکند.
import board
import busio
import adafruit_mcp4725
import time
i2c = busio.I2C(board.SCL, board.SDA)
dac = adafruit_mcp4725.MCP4725(i2c)
# تنظیم ولتاژ ۲ ولتی
dac.value = 20000
# اعمال ولتاژ به مدار
time.sleep(5)
# قطع اتصال
dac.value = 0
راه اندازی مبدل دیجیتال به آنالوگ MCP4725 با میکروپایتون و rp2040
برای راه اندازی مبدل دیجیتال به آنالوگ MCP4725 با میکروپایتون و rp2040، میتوانید به دو روش زیر عمل کنید.
روش اول استفاده از کتابخانه adafruit_mcp4725 در این روش، از کتابخانه adafruit_mcp4725 برای کنترل مبدل دیجیتال به آنالوگ MCP4725 استفاده میشود. این کتابخانه در پلتفرم rp2040 موجود است. ابتدا باید کتابخانه adafruit_mcp4725 را در پایتون نصب کنید. برای این کار، میتوانید از دستور pip install adafruit-circuitpython-mcp4725 در ترمینال استفاده کنید. سپس برای استفاده از کتابخانه، کافیست کد زیر را در پایتون بنویسید. در این کد، ابتدا شیء I2C و سپس شیء mcp4725 ایجاد میشوند. سپس با تنظیم مقدار value میتوانید ولتاژ خروجی را تنظیم کنید.
import board
import busio
import adafruit_mcp4725
# ایجاد شیء I2C
i2c = busio.I2C(board.SCL, board.SDA)
# ایجاد شیء mcp4725
mcp4725 = adafruit_mcp4725.MCP4725(i2c)
# تنظیم ولتاژ خروجی
mcp4725.value = 32767
روش دوم استفاده از کتابخانه RP2040 در این روش، از کتابخانه پایتون برای پلتفرم RP2040 برای کنترل مبدل دیجیتال به آنالوگ MCP4725 استفاده میشود. این کتابخانه با نام machine در پایتون برای پلتفرم RP2040 موجود است.
import machine
# ایجاد شیء I2C
i2c = machine.I2C(0, scl=machine.Pin(9), sda=machine.Pin(8))
# تنظیم آدرس مبدل MCP4725
address = 0x60
# تنظیم ولتاژ خروجی
data = bytearray([0x40, 0xFF, 0xFF])
i2c.writeto(address, data)
مشخصات
- کاربری
- کاربردی - فنی
- نوع ماژول
- مبدل
- ابعاد فیبر
- 1.5 * 1.5 * 0.2 سانتی متر
- تعداد فیبر
- 1 عدد
- سطح تجربه مورد نیاز
- پیشرفته
- ولتاژ مورد نياز
- 2.7 تا 5.5 ولت DC
- دمای کاری
- 40 - تا 125 + درجه سانتی گراد
- چاپ مس
- دارای چاپ قرمز
- تعداد پایه ها
- 6 پایه
- ترتیب پایه ها
- OUT - GND - SCL - SDA - VCC - GND
- کشور سازنده
- چین
- باتری
- 5 گرم
- نوع کانکتور
- پین هدر
- پروتکل ارتباطی
- I2C
- کد تجاری
- CJMCU-MCP4725
- فن آوری
- 12 بیتی
توسط همین ماژول هم میتوانید اقدام به اجرای درخواستتان کنید. البته اگر فقط بخواهید یک سلول باتری لیتیومی را مدیریت شارژ کنید، همان گزینه ماژول TP4056 مناسب خواهد بود.
امکان راه اندازی چند سنسور DHT با ESP8266 با استفاده از MicroPython وجود دارد. سنسورهای DHT با پروتکل دیجیتال و از طریق پایههای GPIO قابل اتصال به میکروکنترلرها هستند.
برای ساخت یک سیستم کنترل دما با برد میکروکنترلر ESP32، به موارد زیر نیاز دارید:
یک برد میکروکنترلر ESP32
یک سنسور دما مثل DHT DS18B20
یک المان سرد کننده
با استفاده از کتابخانه DHT.h، میتوانید از سنسور دما برای خواندن دمای محیط استفاده کنید. سپس، میتوانید از این دما برای کنترل المان گرمایشی یا سرمایشی استفاده کنید.
در خصوص برنامه نویسی از کتابخانه DHT و در صورت نیاز کتابخانه وای فای برای ارسال دادهها به پلتفرم IoT باید استفاده کنید.