ماژول منبع تغذیه تنظیم‌پذیر با رگولاتور LM317

منبع تغذیه دقیق و پایدار برای تمام پروژه‌های الکترونیکی

ماژول رگولاتور LM317 یک منبع تغذیه تنظیم‌پذیر با دقت بالا است که با استفاده از آیسی معروف LM317 طراحی شده است. این ماژول قابلیت تنظیم ولتاژ خروجی از 1.25V تا 37V را با جریان حداکثر 1.5 آمپر فراهم می‌کند و انتخاب ایده‌آلی برای آزمایشگاه‌های الکترونیک، پروژه‌های دانشجویی و کاربردهای صنعتی سبک می‌باشد.


ویژگی‌های کلیدی

  • ولتاژ خروجی کاملاً تنظیم‌پذیر: از 1.25 ولت تا 37 ولت (بسته به ورودی)

  • جریان خروجی بالا: تا 1.5 آمپر پیوسته (با هیت‌سینک مناسب)

  • پایداری عالی: دارای رگولاسیون خطی و رگولاسیون بار عالی

  • محافظت داخلی: شامل محافظت در برابر اُورکارنت (Overcurrent) و اورهیت (Overheat)

  • نویز پایین: خروجی کاملاً فیلترشده و بدون ریپل

  • نمایشگر ولتاژ: در برخی مدل‌ها مجهز به ولت‌متر دیجیتال

  • پتانسیومتر تنظیم دقیق: برای تنظیم ظریف ولتاژ خروجی

  • قابلیت اضافه کردن خازن: برای فیلتراسیون بهتر و پاسخ‌دهی سریع‌تر


مشخصات فنی

  • آیسی رگولاتور: LM317 (یا LM317T)

  • رنج ولتاژ ورودی: 4.2V تا 40V DC

  • رنج ولتاژ خروجی: 1.25V تا 37V DC (قابل تنظیم)

  • حداکثر جریان خروجی: 1.5A (با هیت‌سینک مناسب)

  • رگولاسیون خطی: 0.01% (تیپیکال)

  • رگولاسیون بار: 0.1% (تیپیکال)

  • دمای کاری: -40°C تا +125°C

  • تجهیزات جانبی: هیت‌سینک آلومینیومی، پتانسیومتر، ترمینال پیچی


کاربردهای اصلی

  • منبع تغذیه آزمایشگاهی برای تست و عیب‌یابی مدارات

  • شارژر باتری تنظیم‌پذیر برای باتری‌های سربی، لیتیوم و NiMH

  • درایور LED با جریان ثابت (با تنظیم مناسب)

  • منبع تغذیه پروژه‌های آردوینو و رزبری‌پای

  • تأمین برق سنسورها و ماژول‌های حساس

  • پروژه‌های دانش‌آموزی و دانشگاهی الکترونیک

  • تعمیرات تجهیزات الکترونیکی


فرمول محاسبه ولتاژ خروجی

Vout = 1.25V × (1 + R2/R1)

که در آن:
- 1.25V ولتاژ رفرنس داخلی LM317 است
- R1 مقاومت ثابت بین پایه Adj و Out (معمولاً 240Ω)
- R2 مقاومت متغیر (پتانسیومتر) بین Adj و GND

مثال: با R1=240Ω و R2=720Ω
Vout = 1.25 × (1 + 720/240) = 1.25 × 4 = 5V


پیکربندی پایه‌های LM317

پایه 1 (Adjust): به وسط پتانسیومتر متصل می‌شود
پایه 2 (Output): ولتاژ خروجی تنظیم‌شده
پایه 3 (Input): ولتاژ ورودی DC (بالاتر از خروجی موردنظر)

راهنمای تنظیم ولتاژ

  1. انتخاب منبع ورودی: یک منبع DC با ولتاژی حداقل 3V بالاتر از حداکثر ولتاژ خروجی موردنظر انتخاب کنید.

  2. اتصال هیت‌سینک: هیت‌سینک را به پین‌های مخصوص روی برد یا مستقیم به آیسی متصل کنید.

  3. تنظیم ولتاژ: با پیچ گوشتی، پتانسیومتر را بچرخانید تا ولتاژ موردنظر روی ولت‌متر نمایش داده شود.

  4. اتصال بار: پس از تنظیم ولتاژ، بار خود را به ترمینال‌های خروجی متصل کنید.

  5. نظارت بر دما: در جریان‌های بالا (بیش از 500mA) دمای هیت‌سینک را کنترل کنید.


کد آردوینو برای کنترل دیجیتال ولتاژ (با استفاده از DAC)

// آردوینو - کنترل دیجیتال ولتاژ LM317 با DAC MCP4725
// نیاز به ماژول DAC MCP4725 و مدار اضافی

#include <Wire.h>
#include <Adafruit_MCP4725.h>

Adafruit_MCP4725 dac;
const float vref = 1.25; // ولتاژ رفرنس LM317
const int r1 = 240;      // مقاومت R1 (اهم)

// تابع محاسبه ولتاژ خروجی بر اساس DAC
float calculateOutputVoltage(uint16_t dacValue) {
  // دامنه DAC: 0-4095对应0-5V
  float vadj = (dacValue * 5.0) / 4095.0;
  float vout = vref * (1 + (vadj / (vref / (r1 / 1000.0))));
  return vout;
}

void setup() {
  Serial.begin(9600);
  dac.begin(0x60); // آدرس I2C ماژول DAC
  
  Serial.println("LM317 Digital Voltage Controller");
  Serial.println("================================");
  Serial.println("Commands: ");
  Serial.println("  set V<voltage> - e.g., 'set V5.0'");
  Serial.println("  get - show current voltage");
}

void loop() {
  if (Serial.available()) {
    String command = Serial.readStringUntil('\n');
    command.trim();
    
    if (command.startsWith("set V")) {
      float targetVoltage = command.substring(5).toFloat();
      
      if (targetVoltage >= 1.25 && targetVoltage <= 12.0) {
        // محاسبه مقدار DAC مورد نیاز
        uint16_t dacValue = map(targetVoltage * 100, 125, 1200, 0, 4095);
        dac.setVoltage(dacValue, false);
        
        Serial.print("Voltage set to: ");
        Serial.print(targetVoltage, 2);
        Serial.println("V");
      } else {
        Serial.println("Error: Voltage must be between 1.25V and 12.0V");
      }
    }
    else if (command == "get") {
      uint16_t currentDacValue = dac.getVoltage();
      float currentVoltage = calculateOutputVoltage(currentDacValue);
      
      Serial.print("Current output: ");
      Serial.print(currentVoltage, 2);
      Serial.println("V");
    }
  }
  
  delay(100);
}

پروژه عملی: منبع تغذیه آزمایشگاهی با نمایشگر

// آردوینو - منبع تغذیه هوشمند با نمایشگر LCD و محافظت
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16, 2); // آدرس I2C نمایشگر

const int voltagePin = A0;    // خواندن ولتاژ خروجی
const int currentPin = A1;    // خواندن جریان (با سنسور جریان)
const int potPin = A2;        // پتانسیومتر تنظیم ولتاژ
const int relayPin = 8;       // رله قطع/وصل خروجی
const int buzzerPin = 9;      // بوق هشدار

float outputVoltage = 0;
float outputCurrent = 0;
float setVoltage = 5.0;       // ولتاژ تنظیم‌شده
const float maxCurrent = 1.2; // محدودیت جریان (آمپر)

void setup() {
  Serial.begin(9600);
  lcd.init();
  lcd.backlight();
  
  pinMode(relayPin, OUTPUT);
  pinMode(buzzerPin, OUTPUT);
  digitalWrite(relayPin, LOW); // خروجی قطع
  
  lcd.setCursor(0, 0);
  lcd.print("LM317 PSU v1.0");
  delay(2000);
  lcd.clear();
}

void loop() {
  // خواندن ولتاژ تنظیم‌شده از پتانسیومتر
  int potValue = analogRead(potPin);
  setVoltage = map(potValue, 0, 1023, 125, 1200) / 100.0; // 1.25V to 12V
  
  // خواندن ولتاژ واقعی خروجی
  int voltageRaw = analogRead(voltagePin);
  outputVoltage = (voltageRaw * 5.0 / 1023.0) * 5; // با فرض تقسیم‌کننده 5:1
  
  // خواندن جریان
  int currentRaw = analogRead(currentPin);
  outputCurrent = (currentRaw * 5.0 / 1023.0) / 0.1; // با فرض سنسور 0.1V/A
  
  // نمایش روی LCD
  lcd.setCursor(0, 0);
  lcd.print("V:");
  lcd.print(outputVoltage, 2);
  lcd.print("V ");
  
  lcd.setCursor(9, 0);
  lcd.print("I:");
  lcd.print(outputCurrent, 2);
  lcd.print("A");
  
  lcd.setCursor(0, 1);
  lcd.print("Set:");
  lcd.print(setVoltage, 2);
  lcd.print("V ");
  
  // بررسی شرایط ایمنی
  if (outputCurrent > maxCurrent) {
    lcd.setCursor(9, 1);
    lcd.print("OVR I!");
    digitalWrite(relayPin, HIGH); // قطع خروجی
    digitalWrite(buzzerPin, HIGH);
    delay(500);
    digitalWrite(buzzerPin, LOW);
  } else {
    lcd.setCursor(9, 1);
    lcd.print("OK    ");
    digitalWrite(relayPin, LOW); // وصل خروجی
  }
  
  delay(500);
}

نکات ایمنی و نگهداری

  1. تفاوت ولتاژ ورودی و خروجی: همیشه حداقل 3V اختلاف بین ورودی و خروجی حفظ کنید.

  2. خنک‌کاری: برای جریان‌های بالای 500mA حتماً از هیت‌سینک استفاده کنید.

  3. خازن‌های بای‌پس: خازن‌های 0.1μF در ورودی و 10μF در خروجی نویز را کاهش می‌دهند.

  4. دیود محافظ: برای بارهای سلفی (مانند موتورها) از دیود فلای‌بک استفاده کنید.

  5. افزایش جریان: برای جریان‌های بالاتر از 1.5A می‌توان از ترانزیستورهای پاور استفاده کرد.


مزایای LM317 نسبت به سایر رگولاتورها

ویژگیLM317رگولاتور ثابت (78xx)سوییچینگ
قابلیت تنظیم✅ بله❌ خیر✅ بله
راندمانمتوسط (60-70%)پایین (40-50%)بالا (85-95%)
نویز خروجیبسیار پایینپایینمتوسط تا بالا
قیمتاقتصادیبسیار اقتصادیگران‌تر
پیچیدگی مدارسادهبسیار سادهپیچیده

پکیج خرید

  • برد رگولاتور LM317 با هیت‌سینک

  • پتانسیومتر تنظیم ولتاژ با دسته‌گرد

  • ترمینال پیچی برای ورودی/خروجی

  • خازن‌های نصب‌شده روی برد

  • راهنمای کاربری فارسی

  • دیاگرام اتصالات و مثال‌های عملی


کاربردهای ویژه

1. منبع جریان ثابت برای LED

// تنظیم جریان ثابت = 1.25V / Rset
// برای 350mA: R = 1.25 / 0.35 = 3.57Ω

2. شارژر باتری 12V

// تنظیم ولتاژ روی 14.4V برای شارژ کامل

3. منبع تغذیه متغیر 0-30V

// با مدار اضافی برای شروع از 0V

خرید ماژول رگولاتور LM317

این ماژول با گارانتی عملکرد و پشتیبانی فنی رایگان در فروشگاه ما موجود است. برای خرید، دریافت مدارهای کمکی یا مشاوره در طراحی منابع تغذیه سفارشی با ما تماس بگیرید.

سؤالات متداول:

  • حداکثر توان قابل تحمل چقدر است؟

    • بدون هیت‌سینک: حدود 1-2 وات | با هیت‌سینک خوب: تا 20 وات

  • آیا می‌توانم دو LM317 را موازی کنم؟

    • بله، با استفاده از مقاومت‌های بالانس‌کننده جریان (0.1-0.2Ω)

  • چگونه ولتاژ را از 0V شروع کنم؟

    • با اضافه کردن یک منبع ولتاژ منفی به پایه Adjust

  • آیا برای شارژ باتری لیتیوم مناسب است؟

    • بله، به شرط اضافه کردن مدار قطع در ولتاژ مشخص (4.2V برای هر سل)