-
1 فایل پیوست
سلام.من هر روز حداقل 2 یا سه بار به اینجا سر می زنم.به امید اینکه شما هم پیغامی داده باشید !!!!
برنامه ای رو که تو پست قبلی قرار دادم خودم به زبان بیسیک نوشتم.البته بدون کیپد وتغییر مقدار ست پوینت با کیپد.ولی 4 الی 6 درجه از مقدار set point دما بالا تر میره .به نظر شما علت چیه؟
-
با سلام به شما دوستان عزيزم
ببخشيد اين يه هفته تو سفر بودم و نتونستم به انجمن سر بزنم از همتون معذرت ميخوام:hi:.
در حال خوندن پست هاي قبلي هستم.
-
:oخیلی خوشحال شدم که اومدین.:wink:
-
خوب عاليه كه تونستيد تمام كارهارو با يه ميكرو انجام بديد. در مورد پست شماره 139 كه شما نوشتيد ممكنه شركتا يه برنامه مستقل و بدون استفاده از Labview نوشته باشن و اين برنامه تمام قسمتارو به صورت گرافيكي نشون بده و تحت كنترل داشته باشه.
در مورد پست شماره 140 بيشتر توضيح بديد كه دقيقا با PID ميخوايد چيكار كنيد؟
در كل لطفا دقيقتر توضيح بديد.
________________________
[Dear Guest/Member you can't see link before replyclick here to register]
________________________
-
2 فایل پیوست
می خوام وقتی کامپیوتر خاموش میشه(منظورم تو همون پروژه کنترل دمای دستگاه جوجه کشی با لبویو و میکرو مگا 32 هست).وقتی برق میره یا کامپیوتر خاموش میشه میکرو بره رو حالت اتوماتیک و به صورت کنترلر pid دما رو رو set point ثابت نگه داره(.گرچه بدون pid هم میشه).و مقدار set point هم قابل کم و زیاد شدن باشه با دوتا میکرو سویچ.
حالا تو پستهای قبلی پروژه کنترل دما با pid رو که به زبان c هست قرار دادم.البته به زبان بیسیک هم که خودم دستو پاشکسته از روی همون c نوشتم قرار دادم.اما همون که تو پست مربوطه نوشتم اختلاف 4 الی 6 درجه با ست پوینت تو نتیجه وجود داره .می خوام ببینم به نظرتون مشکل برنامه بیسیک کجاست؟ممنون(البته تو واقعیت ضرایب خیلی فرق میکنه ولی فعلا تو پروتئوس هم جواب بده کافیه)
-
با سلام
چرا تو برنامه اي كه نوشتيد اعداد رو تغيير داديد؟ چرا از همون اعدادي كه تو برنامه نوشته شده به زبان c وجود داره ، استفاده نكرديد؟ دليل خاصي داره؟ يعني تنها مشكل فعلا اختلاف 4 الي 6 درجه هستش؟
-
کدوم اعداد رو میگید؟ من فقط مقادیر ضرایب رو کم و زیاد کردم تا ببینم با چه ضرایبی بهتر عمل می کنه.بعدشم تو برنامه همون اصلیها رو گذاشتم.
اولین بار که برنامه رو نوشتم مقدار ocr2 رو برابر d قرار دادم که مقدار اختلاف به 25 درجه حتی می رسید بعد
با دستکاری این قسمت برنامه
E = Highd + Lowd
E = E / 4
Ocr2 = E
اختلاف رو به 4 الی 6 درجه رسوندم.می دونم علمی نیست.
الانم دارم برنامه رو یه جور دیگه تغییر میدم که توش از تایمر 1 استفاده شده و هم highd ,lowd باهم موج
pwm رو کنترل میکنن.
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 256
نتیجه رو اعلام خواهم کرد.البته الان دیگه ساعت 1:10 هست و دیگه مخم جز خواب چیزی توش فرو نمیره.فردا اگه خدا عمری داد در خدمتتون خواهم بود
-
با سلام
منو ببخشيد كه ديگه نتونستم به شما كمك كنم. تو قسمت برنامه نويسي مطمئن باشيد به نتيجه مي رسيد با توجه به وقتي كه شما روش گذاشتين. ممكنه يه مقدار زمان بر باشه. لطفا منو هم تو جريان كارا و نتايجي كه بدست مياريد قرار بديد.
-
خواهش می کنم این حرف ها چیه .همین که سر می زنید باعث دلگرمیه منه.حتما شمارو در جریان می زارم
-
سلام مجدد .بالاخره میتونم بگم درست شد.
با همین دستوری که تو پست قبلی گفتم
Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear
Up , Compare B Pwm = Clear Down , Prescale = 256
حالا مونده بقیه پارامتر ها و تنظیمات !!!!
-
راستی یه سوالی برام پیش اومده اونم اینکه یعنی همون سوالی که قبلا گفته بودم.
وقتی برق میره یا کامپیوتر خاموش میشه میکرو با چه دستوری از قسمت برنامه ای که وظیفه ی اریال و دریافت اطلاعات از کامپیوتر رو داشت خارج بشه و بره رو حالت اتوماتیک ( به صورت کنترلر pid دما رو رو set point ثابت نگه داره)؟
-
با سلام
من دقيقا از جزئيات برنامه اي كه نوشتيد مطلع نيستم. برنامتون رو قرار بديد تا ببينم كجاش رو بايد تغيير بدين يا چه دستوري به برنامتون اضافه كنيد.
البته چيزي كه مشخصه وقتي برق ميره ميكرو بايد از باتري پشتيبان(Backup) استفاده كنه و همچنين جريان ارسال داده از كامپيوتر به طرف ميكرو قطع ميشه.
البته يه مسئله جالب ايجاس من نميدنم چرا بقيه اعضاي انجمن تو بحثمون شركت نكردن و ما نتونستيم از نظرشون استفاده كنيم.
-
سلام دوست من.منظورم این بود که برق و باتری واسه میکرو داریم فقط می خوایم وقتی کامپیوتر رو خاموش کردیم بره رو حالت اتوماتیک.رفتن برق رو در نظر نگیرید.دقیقا حق با شماست.حتی یه نفر غیر شما تو این پستها چیزی ننوشت یا راهنمایی نکرد.در عوض وقتی برنامه pid کنترلر رو گذاشتم 15 نفر تواین تاپیک و 50 نفر هم تو این ادرس (روش کلیک کنید باز میشه)
[Dear Guest/Member you can't see link before replyclick here to register] )
دانلودش کردن وفقط یکنفر به نام [Dear Guest/Member you can't see link before replyclick here to register] راهنماییم کرد (همینجا جا داره از شما و ایشون تشکر کنم) برای همینم بهتر میدونم برنامه هایی که میفرستم تو پیغام خصوصی براتون ارسال کنم.
-
سلام مجدد یه مشلی برام پیش اومده .من تو برنامه اندازه گیری دما از timer1 وتو قسمت کنترلر pid هم از timer1 واسه pwm استفاده کردم .حالا اگه بخوام دوتا برنامه رو با هم تو یجا بکار ببرم به نظر نمیشه واسه هردو از یه timer استفاده کرد.واسه همین من از timer2 استفاده کردم.ولی برای هر کدوم که این timer2 رو استفاده می کنم .اصلا دقت خوبی ندارن.نه میتونم باهاش دما رو دقیق بخونم نه pwm دقیق باهاش درست کنم.این طور که معلوم شد atmega32 متاسفانه timer3 نداره .که اگه داشت همه چی حل بود.به نظر شما باید چیکار کنم؟(برنامه ها یکیش همونیه که برای کنترلر pid به زبان بیسیک نوشتم .برنامه دوم هم برنامه ایهکه تو پستای اول به نام smt160 گذاشته بودم .براتون می فرستمشون)
-
سلام متوجه شدم چیکار کنم از یه کلید استفاده میکنم و دوتا برنامه رو مثل ساختار ساده ای که پایین نوشتم می نویسم
W:
Do
Debounce Pina.7 , 1 , Q
Lcd "on"
Waitms 300
Cls
Loop
End
Q:
Do
Debounce Pina.7 , 0 , W
Lcd "off"
Waitms 300
cls
Loop
End
-
با سلام
براي چي از كليد استفاده كرديد؟ من هنوز برنامه رو نديدم.
-
یه کلید دوحالته که رو یه حالت که مثلا پورت pina.7 رو یک میکنه برنامه اندازه گیری دما و ارتباط با laview اجرا میشه .و رو حالت دوم که pina.7 رو صفر میکنه برنامه pid کنترلر اجرا میشه
-
1 فایل پیوست
-
منظورتون اينه كه هر موقع متوجه شديد برق رفته خودتون به صورت دستي حالت مدار رو تغيير بدين. نميدونم قصد دارين كه مدار رو به صورت اتوماتيك هم بسازين؟ راستي فايل hex برنامه رو همراه فايل ضميمه شده تو پست قبل قرار بدين.
-
1 فایل پیوست
سلام.بله می خوام دستی ببرمش رو حالت دوم.فعلا نمی خوام خودش بفهمه که کامپیوتر خاموش شده یا برق رفته.گرچه اگه اتوماتیک می شد مطمئنا خیلی جالبتر بود.
توی این برنامه به جای اینکه فقط اسم دوتا برنامه رو رو ال سی دی نشون بده میشه خود برنامه ها رو گذاشت