ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 2 از 2
  1. #1
    2014/07/26
    58
    6

    مشکل در برنامه نویسی آردوینو مگا

    سلام خدمت دوستان عزیز ...
    من توی برنامه نویسی با یه مشکل رو به رو هستم ... که شرحش یکم طولانیه . اگه می تونید کمکم کنید خیلی ضروریه

    من در حال ساخت یه کنترل کننده pid هستم . و میخوام دمای یک لامپ رو باهاش کنترل کنم . و روی یک lcd کارکتری نشون بدم. دما رو از طریق سنسور lm35 می خونم که به ازای هر درجه سانتی گراد یک میلی ولت خروجی داره . از طریق یک پتانسیومتر هم ست پوینت رو به آردوینو می دم .
    پس من با آردوینو دوتا ولتاژ می خونم یکی خروجی lm35 و یکی هم خروجی پتانسیومتر.خب حالا این دو عدد خونده شده با توجه به دقت adc آردوینو ، مقداری بین 0 تا 1023 دارن . من میخوام این مقدار رو به دما تبدیل کنم ... از رابطه های زیر استفاده می کنم :
    (5/1023)*100*عدد خوانده شده توسط آردوینو از lm35
    (5/1023)*20*عدد خوانده شده توسط آردوینو از پتانسیومتر
    حالا این دو عدد دمای خوانده شده و دمای مطلوب(ست پوینت) من هستن.
    من حالا این دو عدد رو از هم کم می کنم تا خطا به دست بیاد و بعد هم یکسری اعمال ریاضی برای به دست آوردن مشتق و انتگرال و در نهایت ساخته شدن فرمان کنترلی pid . حالا باید این فرمان رو به سیستمی که می خوام کنترلش کنم بفرستم ...

    مشکل اساسی این جاست :
    چون می خوام از دستور analogWrite استفاده کنم مقدار سیگنال pid من باید بین 0 تا 255 باشه . اما اولا مقدار pid معلوم نیست که چه قدر هستش و ثانیا اصلا مقدار صحیحی نیست و مقداری اعشاری داره . چون سیگنال pid ما حاصل کلی ضرب و تقسیم و انتگرال و مشتق هستش که روی خطا انجام شده. به نظر شما برای اینکه از دستور analogWrite استفاده کنم باید چی کار کنم که موج pwm من درست ایجاد بشه ؟
  2. #2
    2010/08/19
    کردستان
    1,925
    896

    پاسخ : مشکل در برنامه نویسی آردوینو مگا

    خب اگر اطلاع داشته باشید اعداد بین 0 تا 255 یعنی 8 بیت بودن سیگنال PWM خروجی. اگر به صورت دستی و با تنظیمات رجیستری اقدام به کانفیگ ماژول های تراشه بکنید میشه همونطور که ADC 10 بیت هست، رزولوشن PWM رو با استفاده از تایمر 16 بیتی(حالا با توجه به میکروکنترلرهای مختلف فرق داره و باید به دیتاشیت رجوع کنید) در مد 10 بیت قرار بدین. با این کار و بعد از گرد کردن منطقی دیتای نهاییتون می تونید دقت رو بالا ببرید.
    البته با همون 8 بیت هم میشه ولی دقت قطعا با الان خیلی تفاوت خواهد داشت.
    اینا قسمت های تئوری بود و باید در عمل تست کنید تا ببینید نتیجه نهایی چطور میشه.
    چرا ناراحتی پاتریک!
    + امروز ی بچه دیدم سرچهارراه گل میفروخت
    - از دیدنش ناراحت شدی؟
    + نه
    پس چی ناراحتت کرده
    + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
    ------------------------------------------------------------------------------------------------------
    تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
نمایش نتایج: از 1 به 2 از 2

موضوعات مشابه

  1. برنامه نویسی برای FPGA با آردوینو امکان پذیر است
    توسط فکر در انجمن PLD , SPLD , GAL , CPLD , FPGA
    پاسخ: 2
    آخرين نوشته: 2016/02/20, 15:25
  2. زبان برنامه نویسی آردوینو؟
    توسط QICS در انجمن خانواده Arduino
    پاسخ: 3
    آخرين نوشته: 2015/08/10, 15:51
  3. برنامه نویسی آردوینو
    توسط haunting در انجمن خانواده Arduino
    پاسخ: 21
    آخرين نوشته: 2015/04/17, 17:28

کلمات کلیدی این موضوع

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

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

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •