به نظر می رسد که شما عضو سایت نیستید و یا وارد نشده اید, امکان ارسال مطلب و دانلود فایل و همچنین دسترسی به انجمن هایی که فقط اعضا ثبت نام شده امکان دسترسی به آن را دارند از امتیازات ثبت نام در سایت میباشد.

لطفا از طریق این لینک برای ثبت نام اقدام نمایید.

    
You have (1) Unread PM; Click The Icon To Read It You have a new PM
جدیدترین موضوعات انجمنها


بازگشت   متارو > ميكروكنترلر > AVR

پایه های atmega 128

AVR

پاسخ
 
LinkBack ابزارهای موضوع نحوه نمایش
قدیمی 12-09-2011, 10:24 AM   #11
پیش فرض پاسخ : پایه های atmega 128

من رفتم و این رو پیدا کرم

مثلاً اگر میخواهید به OCR1A مقدار 500 بدید ، اگر به صورت هشت بیتی بخواهید مقدار بدید باید بنویسید:

OCR1AL=0XF4;
OCR1AH=0x01;

ولی اگر 16 بیتی کارکنید دوخط بالا رو پاک میکنید و خیلی راحت مینویسید:
OCR1A=500;



حالا مشکل من اینجاست که من این تنظیمات رو وارد کردم:


کد:
// Timer/Counter 3 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Ph. correct PWM top=03FFh
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// OC1C output: Discon.
و این رو مینویسم:


OCR3AL=0XFF;
OCR3AH=0xFF;

و پایه های تایمر سه رفته به Enable موتورهام

اونوقت هنوز سرعت موتوهام کمه انگار هنوز تایمر به حداکثر خودش نمیرسه


چکار کنم؟

ویرایش توسط alime : 12-09-2011 در ساعت 04:19 PM.
alime آنلاین نیست.   پاسخ با نقل قول
قدیمی 12-09-2011, 04:05 PM   #12
پیش فرض پاسخ : پایه های atmega 128

الان top=3ff=1023 هست...یعنی دقتت 10 بیتی نه 16 بیتی.. پس اگه می خوای به حداکثر برسه باید
OCR1AH=0x03;
OCR1Al=0xff;
فرکانستون هم خیلی زیاده
بعد اول باید Highbyte را عدد دهی بعد lowbyte
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try


saeebrobotic.blogfa.com
________________________
We Are OpenSource
mohamad.nasr آنلاین نیست.   پاسخ با نقل قول
اين کاربران از mohamad.nasr به خاطر این مطلب مفید تشکر کرده اند
قدیمی 12-09-2011, 04:18 PM   #13
پیش فرض پاسخ : پایه های atmega 128

خدا عمرت بده کجا بودی تا الان برادر!
قربون کمکت ، روشنم کردی خدا چراغتو روشن نگه داره!


چجوری در مبنای 10 میشه؟ من در مبنای 16 حساب کردم درسته
1*15
+
16*15
+
16*16*3
=
1023


و اینکه منظورت از اینکه فرکانسم زیاده چیه؟ این مشکل بحساب می آد؟

ویرایش توسط alime : 12-09-2011 در ساعت 04:51 PM.
alime آنلاین نیست.   پاسخ با نقل قول
قدیمی 12-10-2011, 01:43 PM   #14
پیش فرض پاسخ : پایه های atmega 128

نوشته اصلی توسط alime نمایش پست ها
خدا عمرت بده کجا بودی تا الان برادر!
قربون کمکت ، روشنم کردی خدا چراغتو روشن نگه داره!


چجوری در مبنای 10 میشه؟ من در مبنای 16 حساب کردم درسته
1*15
+
16*15
+
16*16*3
=
1023


و اینکه منظورت از اینکه فرکانسم زیاده چیه؟ این مشکل بحساب می آد؟
اگه فرکانست زیاد باشه تغییرات pwm دیگه روی موتور تاثیری نداره و اگه هم از یه حدی کمتر باشه باعث ضربه زدن موتور میشه

10 بیتی یا 16 بیتی ربطی به مبنا نداره --0x3ff=1023=10bit
اوکی؟
__________________
We fight through the hurt ... And we live and we learn ...
And we Try and Try And Try


saeebrobotic.blogfa.com
________________________
We Are OpenSource
mohamad.nasr آنلاین نیست.   پاسخ با نقل قول
قدیمی 12-10-2011, 11:00 PM   #15
پیش فرض پاسخ : پایه های atmega 128

اوکی. زیاد سوال پرسیدم نه؟

بازم شرمنده این درسته؟

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Ph. correct PWM top=01FFh
// OC1A output: Non-Inv.
// OC1B output: Non-Inv.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off


اصلا کلن کارم تو pwm واسه موتورهام درسته؟
alime آنلاین نیست.   پاسخ با نقل قول
پاسخ

علاقه مندی ها (Bookmarks)

« موضوع قبلی | موضوع بعدی »
ابزارهای موضوع
نحوه نمایش

انتخاب سریع یک انجمن

موضوعات مشابه for: پایه های atmega 128
موضوع نویسنده موضوع انجمن پاسخ ها آخرين نوشته
اشکال پروگرامر کردن Atmega 128 sadra AVR 9 02-23-2011 10:01 PM


اکنون ساعت 03:59 AM برپایه ساعت جهانی (GMT - گرینویچ) +4.5 می باشد.


تمامي حقوق مادي و معنوي اين مجموعه متعلق به شركت ربات گستران آپادانا مي‌باشد Persian Skin By : Vbskin