اطلاعیه

Collapse
No announcement yet.

کمک در تفسیر این کدهای کنترل موتور دی سی؟

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در تفسیر این کدهای کنترل موتور دی سی؟

    دوستان سلام

    در این آدرس تو فایل ورد کدهای مربوط به کنترل دور موتور DC با PWM هست جلوی هر خط توضیحاتش رو که بلد بودم نوشتم اما اونایی رو که ننوشتم می تونه کسی بنویسه لطفا بهم کمک کنید ؟ کلا 15 خطه هست!!
    ممنون
    http://www.4shared.com/file/OcONpzAJ/code_MotorDC.html

    #2
    پاسخ : کمک در تفسیر این کدهای کنترل موتور دی سی؟

    دوستان کمک کنید دیگه!!!!!!!!!!!!!!!!! :cry2:

    دیدگاه


      #3
      پاسخ : کمک در تفسیر این کدهای کنترل موتور دی سی؟

      با سلام،

      نکته اول، برای بررسی و تفسیر یک کد، حتما اولین اقدام مرتب کردن اون هستش تا خوانا تر بشه و دوم استفاده از یک ادیتور خوب که کد رو به شکل مناسبی رنگ بندی و خواناتر کنه و ترجیحا سطرها رو هم شماره بندی کنه!
      مثلا اینطوری :



      نهایتا، یه نسخه از دیتاشیت میکروی مورد استفاده که میتونه کاغذی و یا الکترونیکی باشه ( البته الکترونیکی اش با توجه به امکان جستجو، بهتره!!! :mrgreen: )

      و اما بعد! بر اساس شماره سطرها، اینطوری میشه :

      1 - الحاق کتابخونه مگا 16 که شامل تعاریف سخت افزاری و رجیسترهای این میکرو میشه
      2 - الحاق کتابخونه delay که توابع تاخیرهای میلی ثانیه و میکروثانیه رو در اختیار میگذاره

      4 و 5 - تعریف یک متغیر int که عمومی است و در همه توابع قابل دسترسی و ویرایش است

      7 تا 15 - تعریف تابعی جهت خواندن مقدار ADC میکرو در مد 10 بیتی، ورودی: شماره کانال - خروجی مقدار ADC
      9 - تنظیم مالتی پلکسر ورودی ADC و انتخاب کانال مورد نظر جهت خوندنش ( 0xff& اضافه است! )
      10 - مقداری تاخیر برای تثبیت تنظیمات اعمال شده به ADC در مرحله 9
      11 - صدور فرمان شروع تبدیل آنالوگ به دیجیتال
      12 - انتظار تا اتمام عملیات تبدیل آنالوگ به دیجیتال
      13 - پاک کردن فلگ اتمام عملیات تبدیل آنالوگ به دیجیتال
      14 - برگشت از روتین و بازگرداندن مقدار ADC کانال مورد نظر

      17 تا 37 - تعریف روتین اصلی برنامه ....
      19 و 20 - پیکره بندی ADC : استفاه از AVCC بعنوان رفرنس و خاموش کردن مالتی پلکسر در حال حاضر!
      فعال کردن واحد ADC و تنظیم مقسم اسیلاتور آن بر روی 8 ( 0xff& اضافه است! )

      21 و 22 - پیکره بندی تایمر یک : تنظیم تایمر یک در مد 7 ( Fast PWM, 10-bit ) و مقسم اسیلاتور بر روی 8 برای
      تولید PWM و فعال کردن پایه های OC1A/OC1B برای اعمال پالس های PWM تولید شده به پین های
      مربوطه ( PD4 و PD5 )
      24 - تعریف تمام پین های پورت B بعنوان خروجی
      25 - تعریف تمام پین های پورت D بعنوان خروجی
      26 - اعمال یک به رجیستر وضعیت ورودی پین 6 از پورت D ( این کار کلا اشتباه است!!! چون این رجیستر
      فقط خواندنی است و نمیتوان بر روی آن نوشت ... )

      28 تا 36 - حلقه بینهایت برنامه...
      30 - خواندن مقدار کانال صفر ADC و ریختن مقدار آن بر روی متغیر b
      31 - تنظیم مقدار رجیستر OCR1A برای تنظیم مقدار درصد PWM تولید شده با مقدار خونده شده از
      کانال صفر ADC
      33 - ریختن مقدار متغیر b یا همون مقدار خونده شده از کانال صفر ADC در متغی a برای محاسبات بعدی
      34 - یک عملیات ریاضی مسخره! برای آوردن مقدار خوانده شده از ADC به رنج صفر تا 10
      ( یعنی تبدیل 0 تا 1023 به 0 تا 10 )
      35 - نمایش عدد تولید شده در ردیف 34 بر روی پورت B
      مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

      Sh_Nourbakhsh@Yahoo.com

      http://s2.picofile.com/file/7170362468/_Wall_e_.jp

      دیدگاه

      لطفا صبر کنید...
      X