سبد خرید
نمایش فاکتور و پرداخت

پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32

menuordersearch
پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32
سبد خرید شما خالی است !
تومان
اخبار
پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32
پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32
۱۴۰۴/۸/۲۹ پنجشنبه
(0)
(0)

پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32

مقدمه

در دنیای الکترونیک مدرن، کنترل دقیق سرعت موتور، شدت نور LED یا تولید سیگنال‌های آنالوگ، همگی به کمک PWM انجام می‌شود. خانواده STM32 به‌دلیل داشتن تایمرهای پیشرفته، یکی از بهترین انتخاب‌ها برای پروژه‌های PWM است.
در این مقاله، یک پروژه ساده اما کاربردی طراحی می‌کنیم که در آن شدت نور LED با استفاده از PWM و یک پتانسیومتر کنترل می‌شود.


تجهیزات مورد نیاز

  • برد STM32F103C8T6 (Blue Pill)

  • LED + مقاومت 330 اهم

  • پتانسیومتر 10K

  • بردبورد و سیم جامپر

  • ST-Link (برای پروگرام)


شرح عملکرد پروژه

در این پروژه خروجی PWM از پایه PA8 (TIM1_CH1) گرفته می‌شود.
ولتاژ خروجی پتانسیومتر با ADC خوانده شده و مقدار PWM مطابق آن تغییر می‌کند.
در نتیجه با چرخاندن پتانسیومتر، شدت نور LED کم و زیاد می‌شود.


مدار پروژه

اتصالات:

  • پایه میانی پتانسیومتر → PA0 (ADC IN0)

  • یکی از پایه‌های پتانسیومتر → 3.3V

  • پایه دیگر → GND

  • پایه مثبت LED → PA8 (PWM Output)

  • پایه منفی LED → مقاومت 330 اهم → GND


راه‌اندازی PWM در CubeMX

  1. فعال‌سازی Timer1

    • Mode → PWM Generation CH1

  2. تنظیم فرکانس PWM

    • Prescaler = 72-1

    • Counter Period = 1000
      → نتیجه: فرکانس PWM = 1kHz

  3. فعال‌سازی ADC

    • ADC1 → IN0

  4. فعال‌سازی GPIO

    • PA8 → Alternate Function Push-Pull

    • PA0 → Analog


کد کامل پروژه (HAL)

uint16_t adc_value = 0;
uint16_t pwm_value = 0;
HAL_ADC_Start(&hadc1);
while (1)
{
// Read ADC value
HAL_ADC_PollForConversion(&hadc1, 10);
adc_value = HAL_ADC_GetValue(&hadc1);
// Map ADC (0-4095) to PWM (0-1000)
pwm_value = (adc_value * 1000) / 4095;
// Set PWM duty
__HAL_TIM_SET_COMPARE(&htim1, 
TIM_CHANNEL_1, pwm_value);
HAL_   delay   (1);
}

تحلیل عملکرد

  • وقتی مقدار ADC افزایش پیدا می‌کند، مقدار PWM نیز بیشتر شده و LED پرنورتر می‌شود.

  • زمانی که ADC مقدار کم‌تری دارد، PWM در حالت LOW بیشتر بوده و LED کم‌نور می‌شود.

این پروژه پایه‌ای برای کاربردهای زیر است:

  • کنترل نور پروژکتورها و LEDهای توان بالا

  • کنترل سرعت موتور

  • کنترل سیگنال‌های صوتی و تولید موج

  • ساخت درایورهای قدرت


نکات مهم در پیاده‌سازی

  • حتماً ورودی ADC را با ولتاژ 3.3V تغذیه کنید (نه 5V).

  • اگر از موتور استفاده می‌کنید باید درایور مثل L298N اضافه شود.

  • برای LEDهای توان بالا از MOSFET استفاده کنید.


جمع‌بندی

در این پروژه یاد گرفتیم چگونه با STM32 شدت نور LED را با استفاده از PWM کنترل کنیم. این پروژه یکی از پایه‌ای‌ترین و مهم‌ترین پروژه‌ها برای ورود به دنیای ARM و STM32 است و می‌تواند اساس پروژه‌های پیچیده‌تر باشد.

 پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32مقدمه
پروژه کنترل شدت نور LED با PWM در میکروکنترلر STM32 مقدمه
برچسب ها :
 share network
نظرات کاربران
*به این مطلب امتیاز دهید
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

بستن
*به این نظر امتیاز دهید
*نام و نام خانوادگی
* پست الکترونیک
* متن پیام

0 نظر
خانهورودسبد خرید

آدرس دفتر مرکزی :شیراز-صدرا -خیابان سهند -مجتمع قائم -بلوکD21

شماره :09012057703ثابت:36419306_071

دنیای ورودبه الکترونیک وبرنامه نویسی میکروبایت.
اینجا دنیایی نو وجدید هست
دنیایی پراز ایده های الکترونیک وپروژه های الکترونیک
دنیایی با قوانین طبیعت

تمامی پروژه ها و مقالات تحت نظارت افراد کاملا حرفه ای و متخصص انجام میشود.
تمامی پروژه ها در میکروبایت کاملا تست شده و بدون ابهام آموزش داده میشود.

جستجو