ايران ويج

نسخه‌ی کامل: راه اندازي موتور dc به صورت چپ گرد و راست گرد و كنترل سرعت و همچنين .....
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
دوستان سلام

من براي 1 پروژه نياز دارم اين مدار را پياده سازي كنم ...
مدار به اين صورت است كه بايد 1 موتور dc را با ميكرو كنترل كنم..
به صورت چپ گرد و راست گرد --- كنترل سرعت --- همچنين نشان دادن سرعت موتور به صورت Rpm روي ال سي دي هاي كاراكتري

ممنون ميشم اگه بهم كمك كنيد .

1 چيزايي را بلدم مثلا اينكه براي كنترل سرعت از Pwm استفاده كنم يا براي چپ گرد و راست گرد خروجي هاي موتور را به صورت 0 . 1 و 1 . 0 تنظيم كنم تا موتور به چپ و راست بچرخه . احتياج به 1 جرقه قوي دارم تا راه بيفتم خواهشا اگه كمكي از دستتون برمياد كوتاهي نكنين . من توي سايت سرچ كردم چيزي گيرم نيومد

با تشكر
این جرقه قوی رو واسه چی می خوای ؟

این مقاله در مورد کنترل سرعت و pwm ببین :
http://www.iranled.com/forum/attachment.php?aid=1695

اینم یه پروژوه کامل دور موتور سنج :
http://www.iranled.com/forum/showthread.php?tid=18370
مرسي داداش از كمكت.

جرقه را براي راه افتادن توي برنامه نويسي ميخوام
مقاله اولت را ديدم مرسي ولي به زيان c هست منم زياد بلد نيستم ميخوام با بسكام بنويسم كه هم راحت تره هم بتونم زود ياد بگيرم.

پروژه دوم هم قبلا ديدمش 1 خورده پيچيدست اخه من فقط ميخوام سرعت موتور را روي ال سي دي نشون بده . در عمل هم بتونم چپ گرد و راست گردش كنم 1 برنامه هست به نظرم مشكل داره ببين ميتونيم توي همين راش بندازيم :
کد:
$regfile = "M8DEF.dat"
$crystal = 1000000
Config Lcdpin = Pin , Db4 = Pinb.3 , Db5 = Pinb.2 , Db6 = Pinb.1 , Db7 = Pinb.0 , E = Pinb.4 , Rs = Pinb.5
Config Lcd = 16 * 2
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Up , Compare B Pwm = Clear Down , Prescale = 1
Dim W As Word
Ddrc = 255

Start Timer1
Pwm1a = 100
Pwm1b = 200
Config Portd = Input
Portd = 255
Config Portc = Output

Do

If Pind.0 = 0 Then
W = Pwm1a
W = W + 5
Pwm1a = W
Waitms 100
End If
If Pind.1 = 0 Then
W = Pwm1a
W = W - 5
Pwm1a = W
Waitms 100
End If
If Pind.2 = 0 Then
Portc.0 = 0
Portc.1 = 1
End If
If Pind.3 = 0 Then
Portc.0 = 1
Portc.1 = 0
End If
If Pind.2 = 1 And Pind.3 = 1 Then
Portc.0 = 0
Portc.1 = 1
End If

Loop
End 'end program

برنامه چطوره ؟ كار ميكنه ؟
راستي توي اون پروژه دومي كه دادي بايد بهش موج مربعي بدي تا بهت بگه موتور چه سرعتي داره . درسته ؟ موج مربعي از كجا بيارم ؟ خروجي موتور را بهش بدم ؟
این برنامه که گذاشتی فقط سرعت موتور رو کم و زیاد می کنه و البته فیدبک نداره !!!
برنامه درسته ولی میشه بهترش کرد !


اون شکل موج واسه تست پروتئوسه !
تو عمل خروجی انکودر هستش !!!
(۲۷-آبان-۱۳۸۹, ۱۶:۴۲:۳۰)Gawky نوشته است: [ -> ]این برنامه که گذاشتی فقط سرعت موتور رو کم و زیاد می کنه و البته فیدبک نداره !!!
برنامه درسته ولی میشه بهترش کرد !


اون شکل موج واسه تست پروتئوسه !
تو عمل خروجی انکودر هستش !!!

چپ گرد راست گرد هم داره دو تا كليد a2 و a3 . فيدبك براي چي ؟ خب اگه ميشه بهترش كرد پس بسم ا... بيا راهنمايي كن تا بتونم بهترش كنم .

خروجي انكودر يعني چي ؟به كجا بايد وصل شه پسر ؟ زير ديپلم حرف بزن ما هم بفهميم
آره !

منظورم اینه اگه لفرضا بر اثر فشار و یا قدرت کم و یا هرچیزی دیگه سرعت کمتر شد برنامه خودش pwm رو افزایش بده تا سرعت یه نواخت بشه !
مثلا شما سرعت 1000 دور رو تنظیم می کنی !
انتظار داری با سرعت 1000 بچرخه ولی خوب ممکنه تحت بار این سرعت کمتر بشه !!
حالا یه چیزی می خوایم که این سرعت رو بسنجه که همون انکودر ماست !
تو همون پروژه هم یه انکودر خیلی ساده رو استفاده کردیم !!! ( همون مادون قرمز و .. )
حالا انکودر میگه سرعت چنده و میکرو می فهمه سرعت موتور کمتر از اونن سرعت تنظیم شده است و باید سرعت رو افزایش بده !
برعکسش هم ممکنه و ممکنه سرعت بیشتر باشه که خوب باید pwm رو کم کنه تا با سرعت تنظیم شده یکی باشه !


اگه تو برنامه شما سرعت رو وسط تعیین کنی و با یه چیزی موتور بگیری سرعت کم میشه و خوب برنامه متوجه نمیشه !!

البته این کارهایی که گفتم هم برنامه و هم سخت افزار رو پیچیده تر می کنه !
مرسي .

اين پروژه دور موتور سنج خيلي خوبه و كامل . اما من زياد ازش سردر نميارم اگه ميتونستم چيزي ازش بفهمم با كمك شما كنترل موتور هم به همون برنامه اضافه ميكردم و تموم ، اما خب سردر نميارم.

اگه بخوام فقط قسمت دور موتور سنج را از اون برنامه بردارم خوب ميشه نه ؟ از اون بردارم به اين برنامه خودم اضافه كنم
حالا نميدونم چه چيزهايي را بايد از اون برنامه بردارم شما زحمتشو برام ميكشي يا حداقل كمكم كني همون برنامه را بفههمم ؟
مهندس دورسنج شبیه یه فرکانس متره !
همین !!

مهندس این کاری که می خوای بکنی کل برنامه رو عوض می کنه و می ره جز کارای کنترلی !
pid و از این چیزا !!!

کجای برنامه رو مشکل داری !
بگو توضیحاتش رو بدم !
(۲۸-آبان-۱۳۸۹, ۰۲:۲۳:۳۷)Gawky نوشته است: [ -> ]مهندس دورسنج شبیه یه فرکانس متره !
همین !!

مهندس این کاری که می خوای بکنی کل برنامه رو عوض می کنه و می ره جز کارای کنترلی !
pid و از این چیزا !!!

کجای برنامه رو مشکل داری !
بگو توضیحاتش رو بدم !


اگه حقيقتش را بخواي كل برنامه را زياد نفهميدم اخه همونطور كه گفتم تازه كارم .
اگه بتوني 1 توضيح كوچولو در باره كل برنامه بدي ممنون ميشم .
مثلا دستورات تايمر و اينتراپت را براي چي استفاده كردي يا برنامه را برام جدا كني مثلا اون قسمت هايي را كه مربوط به ساعت جدا كن اون قسمت هاي دما را جدا كن اينجوري كمك كم سعي كنم متوجه ميشم بازم از توضيحاتت ممنون
مهندس پیشنهاد می کنم خودت یه برنامه فرکانس متر بنویسی و یا اصولش رو بخونی !!!

حالا خروجی اینکودر دقیقا مثل فرکانس می مونه و اگه در یه عدد ضرب بشه میشه دور موتور !
همین !!!
سلام منم سوالم همینه دقیفا کجا یه فید بک بذارم؟ می خام مثلا یه سرعت دلخواه با یه کی پد به موتور بدم به عنوان set pointو به یه کلید سرعتو کم یا زیاد کنم و در نهایت دوباره بیاد رو همون set point
صفحه‌ها: 1 2