امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
تولید موج pwm
نویسنده پیام
علي برقي آفلاین
كاربر دو ستاره
**

ارسال‌ها: 209
موضوع‌ها: 25
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 477
( 406 تشکر در 166 ارسال )
ارسال: #12
RE: تولید موج pwm
سلام علي آقا
برنامشو با كدويژن نوشتم.خيلي سادس ، فكر كنم خودتون متوجه بشين چيكار كردم .
درضمن فايل شبيه سازيشو براتون گذاشتم.
کد:
#include <mega32.h> //يا 16
#include <delay.h>
#define ADC_VREF_TYPE 0x20

unsigned char read_adc(unsigned char adc_input)
{
ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
delay_us(10);
ADCSRA|=0x40;
while ((ADCSRA & 0x10)==0);
ADCSRA|=0x10;
return ADCH;
}


void main(void)
{
unsigned int PWM;

PORTA=0x00;
DDRA=0x00;

PORTB=0x00;
DDRB=0x08;

PORTD=0x00;
DDRD=0xB0;

TCCR0=0x69;
TCNT0=0x00;
OCR0=0x00;

TCCR1A=0xA1;
TCCR1B=0x09;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

ASSR=0x00;
TCCR2=0x69;
TCNT2=0x00;
OCR2=0x00;

ADMUX=ADC_VREF_TYPE & 0xff;
ADCSRA=0x81;

while (1)
      {
      PWM=read_adc(0);
      OCR1A=PWM;
      OCR1B=PWM;
      OCR2=0.9*PWM;
      OCR0=0.9*PWM;

      }
}


فایل‌(های) پیوست شده
.zip   PWM.zip (اندازه: 14.47 KB / تعداد دفعات دریافت: 98)

من تو را دوست دارم.. دیگری تو را دوست دارد.. دیگری دیگری را دوست دارد.. و این چنین است که ما تنهاییم..
۱۸-آبان-۱۳۹۰, ۲۲:۴۲:۰۰
ارسال‌ها
پاسخ
تشکر شده توسط : Pardazesh-Gar, mhpc2009, رسول, rdscience
Pardazesh-Gar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 457
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۶

تشکرها : 330
( 630 تشکر در 286 ارسال )
ارسال: #13
RE: تولید موج pwm
برنامه رو علی آقا(برقی) زحمت کشیدن، دیگه مشکلی نباید باشه!
منظور دوستان از فیلتر پایین گذر این بود
[تصویر:  Pwm1.gif]
حالا که اطمینان دارید خروجی PWM هست قبل از این که خروجی فرمان رو به ADC میکرو بدید، باید از این فیلتر عبور بدید تا یک ولتاژ آنالوگ به دست بیاد.
این صفحه هم یک ابزار کمکی برای محاسبه مقادیر فیلتر RC هست.

پیروز باشی

---------------------------------------------------------------------------
تیـــز دوم، تیز دوم، تا به سواران برسم
--------------------------------------
۱۸-آبان-۱۳۹۰, ۲۳:۰۳:۲۷
ارسال‌ها
پاسخ
تشکر شده توسط : h0x00i, mhpc2009, فروم باز, رسول, علي برقي, rdscience, keivanjan
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #14
RE: تولید موج pwm
دو تا سوال دیگه AREF و AVCC چرا به تغذیه وصل شده؟ و فرق OCR1 که A و B داره با اون دو تای دیگه چیه؟

--------------------
علی شیرمحمدی
--------------------
(آخرین ویرایش در این ارسال: ۱۹-آبان-۱۳۹۰, ۱۷:۴۴:۱۸، توسط فروم باز.)
۱۹-آبان-۱۳۹۰, ۱۷:۳۷:۲۱
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #15
RE: تولید موج pwm
براي توليد PWM نيازي به AREF و AVCC نيست ... ، اما معمولا AVCC رو هميشه با VCC به منبع تغذيه وصل مي كنن ...
البته من اين كار رو نمي كنم !

هر تايمري كه توانايي توليد PWM رو داره ، خروجيه PWM رو از كانال هاي OCR مي دهه ...
بعضي ها 1 كانال ، بعضي ها 2 كانال و بعضي ها 3 كانال مي دن ..
اون A ,B داره وجود 2 كانال رو مشخص مي كنه و اون 1 ميگه كه اين كانال مربوط به timer 1 هست ...

موفق باشي.
يا علي.

۱۹-آبان-۱۳۹۰, ۱۸:۴۲:۱۳
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : علي برقي, فروم باز, رسول, rdscience, general1368
علي برقي آفلاین
كاربر دو ستاره
**

ارسال‌ها: 209
موضوع‌ها: 25
تاریخ عضویت: اردیبهشت ۱۳۹۰

تشکرها : 477
( 406 تشکر در 166 ارسال )
ارسال: #16
RE: تولید موج pwm
(۱۹-آبان-۱۳۹۰, ۱۷:۳۷:۲۱)فروم باز نوشته است: دو تا سوال دیگه AREF و AVCC چرا به تغذیه وصل شده؟ و فرق OCR1 که A و B داره با اون دو تای دیگه چیه؟
سلام براي اينكه ولتاژ رفرنسمو aref گرفتم (براي adc). به خاطر همين بايد به vcc وصل ميكردم.
در مورد تايمر هم آقا شارين توضيح دادن.
در ضمن كافيه كه به جاي پتانسيومتر همون خروجي فيلترو بزاري . ولتاژ 0 درصد و 100 درصد رو بين دوتا ولتاژ مثلا a و b بزاري كافيه كه تو برنامه متغيير PWM رو به صورت پايين تغيير بدي:
کد:
PWM=(PWM-51*a)*5/(b-a)

من تو را دوست دارم.. دیگری تو را دوست دارد.. دیگری دیگری را دوست دارد.. و این چنین است که ما تنهاییم..
(آخرین ویرایش در این ارسال: ۱۹-آبان-۱۳۹۰, ۲۰:۰۰:۵۰، توسط علي برقي.)
۱۹-آبان-۱۳۹۰, ۱۸:۵۴:۱۹
ارسال‌ها
پاسخ
تشکر شده توسط : فروم باز, رسول, rdscience
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #17
RE: تولید موج pwm
سلام

بهتره یه توضیح در باره ی پروژه ام بدم.
من دارم رو یه پروژه هواپیما با کنترل از راه دور کار میکنم یه ماژول گرفتم برای کنترل موتور ها ولی این ماژول برای یه موتور طراحی شده یعنی یه pwm از کنترلر هواپیما میاد و مورد استفاده قرار میگیره ولی هواپیمای من چهار تا موتور داره حالا من میخوام خروجی pwm که این مدار به من میده و یکی هست رو چهار تا کنم به طوری که از طریق کد خودم بتونم روی pwm ها کنترل داشته باشم یعنی چهار تا pwm مجزا. IC استفاده شده هم Atmega2056 هست.
امیدوارم که توضیحات کافی بوده باشه.

حالا چند تا سوال :
1- ولتاژ 0 درصد و 100 درصد رو بين دوتا ولتاژ مثلا a و b بزاري یعنی چی؟
2- با این کد که ولتاژ رفرنسو aref گرفتید ولتاژ خروجی pwm اندازه ی ولتاژ ورودی pwm خواهد بود؟
3- همین کدی که گذاشتید به درد این کار میخوره یا باید تغییرتی توش داده بشه؟

با تشکر فراون.

--------------------
علی شیرمحمدی
--------------------
(آخرین ویرایش در این ارسال: ۲۵-آذر-۱۳۹۰, ۲۰:۰۸:۴۹، توسط فروم باز.)
۲۵-آذر-۱۳۹۰, ۲۰:۰۷:۴۰
ارسال‌ها
پاسخ
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #18
RE: تولید موج pwm
از دوستان کسی نظری نداره؟

--------------------
علی شیرمحمدی
--------------------
۲۶-آذر-۱۳۹۰, ۱۷:۳۲:۰۷
ارسال‌ها
پاسخ
sharin آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 2,053
موضوع‌ها: 28
تاریخ عضویت: مرداد ۱۳۸۹

تشکرها : 3714
( 8171 تشکر در 2772 ارسال )
ارسال: #19
RE: تولید موج pwm
سلام.

نقل قول: از دوستان کسی نظری نداره؟

بنظرم بهترين كاري كه مي توني انجام بدي اينه ...

1- اول مطلب آموزشي درست و حسابي براي PWM گير بيار و خوب بخون.
2- سعي كن با استفاده از PWM نور يه LED رو به صورت عملي كنترل كني ( شدت نور رو كم و زياد كني ... ).
3- ديتاشيت Atmega2056 رو بخوني ( قسمت PWM )
4- با خيال راحت پروژه ي فعليت رو دنبال كن.

ان شاء الله زودتر به نتيجه مي رسي ...

موفق باشي.
يا علي.

۲۶-آذر-۱۳۹۰, ۲۲:۰۹:۰۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : rdscience, فروم باز, رسول
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #20
RE: تولید موج pwm
نور led رو کم و زیاد میتونم بکنم دیتا شیت آی سی رو هم خوندم
ولی در مورد این پروژه همون طور که توضیح دادم میخوام یه pwm رو بکنم 4 تا و این آی سی که گفتم صد در صد این قابلیت رو داره فقط تو کد نویسیش مشکل دارم که ممنون میشم کمکم کنید.

با تشکر.

--------------------
علی شیرمحمدی
--------------------
۲۷-آذر-۱۳۹۰, ۱۰:۵۹:۰۴
ارسال‌ها
پاسخ
Pardazesh-Gar آفلاین
مدیر بازنشسته
*****

ارسال‌ها: 457
موضوع‌ها: 6
تاریخ عضویت: اردیبهشت ۱۳۸۶

تشکرها : 330
( 630 تشکر در 286 ارسال )
ارسال: #21
RE: تولید موج pwm
Atmega2056 پیداش نکردم. با چه برنامه کار می کنید. تو AVRstudio5.0.1163 هم ندیدم.
برای تنظیم PWM چند تا ریجستر هست که با توجه به DATAsheet میشه اون ها رو مقدار دهی کرد. و ازش تو هر برنامه ی با ASM خروجی گرفت. باید دیتاشیت رو بررسی کنید.

---------------------------------------------------------------------------
تیـــز دوم، تیز دوم، تا به سواران برسم
--------------------------------------
۲۷-آذر-۱۳۹۰, ۱۱:۲۵:۵۸
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, فروم باز
فروم باز آفلاین
در حال پیشرفت
***

ارسال‌ها: 480
موضوع‌ها: 122
تاریخ عضویت: دى ۱۳۸۷

تشکرها : 321
( 107 تشکر در 72 ارسال )
ارسال: #22
RE: تولید موج pwm
برگشتیم سر خونه ی اول اگه پست قبلی من رو نگاه کنید توضیح دادم که من تو نوشتن کدش مشکل دارم نه اینکه کلا بلد نباشم من روی کدی که علی آقا زحمتش رو کشیدن چند تا سوال پرسیدم و اون هم اینه که :

1- ولتاژ 0 درصد و 100 درصد رو بين دوتا ولتاژ مثلا a و b بزاري یعنی چی؟
2- با این کد که ولتاژ رفرنسو aref گرفتید ولتاژ خروجی pwm اندازه ی ولتاژ ورودی pwm خواهد بود؟

من دقیقا میخوام pwm های خروجی کپی pwm های ورودی باشند از آی سی های دیگه هم استفاده نکردم چون میخوام اگر که خواستم و یه موقعی احتیاج شد روی pwm ها کنترل داشته باشم بتونم این کار رو انجام بدم.

ان شا الله که این دفعه توسته باشم منظورم رو برسونم

با تشکر.

--------------------
علی شیرمحمدی
--------------------
۲۷-آذر-۱۳۹۰, ۱۴:۴۹:۲۵
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  انتخاب روش تولید موج سینوسی cortex-m3 0 1,885 ۱۱-فروردین-۱۳۹۳, ۱۰:۴۴:۴۱
آخرین ارسال: cortex-m3
  تولید pwm با فرکانس 72 کیلو هرتز فروم باز 0 2,688 ۲۵-فروردین-۱۳۹۱, ۰۸:۵۰:۴۲
آخرین ارسال: فروم باز
  تولید 1000 ولت ac walerian 10 8,601 ۲۳-خرداد-۱۳۸۸, ۰۹:۲۹:۴۵
آخرین ارسال: walerian

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 6 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS