PDA

مشاهده نسخه کامل : درخواست آموزش کنترل دور موتور DC با PWM



rostamiani
2009-Jul-27, 08:03
سلام
من می خوام دور موتور DC رو با PIC16F877A کنترل کنم
برای تولید کردن پالس PWM نتونستم آموزشی پیدا کنم ):

لطفا راهنمایی کنید یا مرجعی برای آموزش معرفی کنید.اگه آموزش با PICC باشه بهتره

خیلی متشکرمd:

rostamiani
2009-Jul-28, 11:24
کسی نیست ؟
فقط یک مثال از راه انداختن PWM توی PICC بزنید.

اديبان
2009-Jul-30, 20:05
گرچه دير اين تاپيك رو ديدم
اما شايد لينك دانلود زير بهه دردتون بخوره

http://dlc.eca.ir/index.php?act=view&id=74

zand66
2009-Aug-22, 10:44
این هم لینک مدار کنترل PWM موتور DC با آی سی 4093
http://forum.daneshpajooh.ir/index.php/topic,460.0.html
در یکی از سایتها دیدم بهتر دیدم برای دوستان هم قرار دهم شاید روزی به کار آمد

mekaro
2009-Dec-28, 16:01
سلام خسته نیاشید میدونم یکم دیر جوابتون رو دارم میدم چون من تازه عضو این سایت شدم
اما واسه جواب سوالتون اگه از نرم افزار کد ویزن استفاده میکنید میتونید تنظیمات زیر رو در timer1به شرط اینکه پایه enabeleدرایورتون رو به اونوصل کرده باشید انجام بدید اون وقت فقط مقدار OCR راتغییر رو میدی به همین راحتی
mode:fast pwm top=03ffh
out a:non- inv out b=non-inv

علی آرین
2010-Feb-12, 23:51
برای اینکه کنترل سرعت انجام بدید ، باید بتونید فیدبک ببندید ، مثلا با یک شفت انکودر ، که به شفت موتور کوپل شده . در مرحله بعد شما تعداد پالس هایی که شفت انکودر میزنه رو میخونید ( با میکرو ) و سرعت موتور در هر لحظه رو بدست میارید.
فرض کنید که شفت موتور شما در هر دقیقه 1800 دور میزنه ، یعنی 30 دور در ثانیه ( حداکثر ) و شما یک شفت انکودر که در هر دور 1000 پالس تولید میکنه دارید . در این صورت در هر ثانیه 30*1000 یعنی 30 کیلو پالس دارید و انتظار دارید که این عدد رو ببینید.
در مرحله بعدی باید یک PID دیجیتال در میکروتون بنویسید که بتونید به وسیله اون با تغییر عرض پالس PWM که به درایور موتور اعمال میکنید سرعت موتور رو به سرعت دلخواه برسونید.
و در هر لحظه سرعت لحظه ایی رو با انکودری که بسته اید بدست بیاورید و برای تولید یگنال خطا در PID ازش استفاده کنید
اینها توضیحات کلی بود ، با کمی تلاش میتونید پیاده اش کنید.

ICE
2010-Mar-18, 22:57
دنبال یه اینکودر برای بدست آوردن سرعت یه موتور DC هستم به من استفاده از اینکدر نوری رو پیشنهاد کردند که زیاد به نظرم جالب نیومد:01:

لطفا توضیحی در مورد این اینکودر (شفت اینکودر) بدید یا لینک بزارید

با سپاس

hadi elec
2010-Mar-20, 04:43
سلام دوست عزیز
احتمالا تا الان مدارتو ساختیو گذاشتیش کنار((:((:
(-Bشما حتما می دونید که موج pwm در واقع پالسهای مربعی هستند که با یک فرکانس و یک دیوتی سایکل (duty cycle) خاص تولید می شوند
برای کنترل موتور dc با این موج شما با دامنه و duty cycle سرو کار دارید
سرعت موتور به ولتاژ اعمال شده به دو سر موتور بستگی داره و گشتاور هم به میزان جریان بار
در واقع شما با کنترل ولتاژ و جریان میتونید خیلی راحت موتور رو کنترل کنید
برای کنترل سرعت میتونید با سری کردن یک رئوستا با موتور و تغییر ولتاژ استفاده کنید یا راه خیلی بهتر اینکه با زمان duty cycle این کار رو انجام بدید به این صورت که هر چه duty cycle بیشتر بشه سر عت بیشتر و با کمتر شدن آن سرعت کمتر میشه
برای تنظیم گشتاور هم با کنترل عرض پالس ها توان اعمال شده به بار رو میتونید کنترل کنید (توان با مجذوری از ولتاژ اعمال شده است)
موفق باشید:04:

ICE
2010-Mar-20, 12:28
سلام دوست عزیز
احتمالا تا الان مدارتو ساختیو گذاشتیش کنار((:((:
(-Bشما حتما می دونید که موج pwm در واقع پالسهای مربعی هستند که با یک فرکانس و یک دیوتی سایکل (duty cycle) خاص تولید می شوند
برای کنترل موتور dc با این موج شما با دامنه و duty cycle سرو کار دارید
سرعت موتور به ولتاژ اعمال شده به دو سر موتور بستگی داره و گشتاور هم به میزان جریان بار
در واقع شما با کنترل ولتاژ و جریان میتونید خیلی راحت موتور رو کنترل کنید
برای کنترل سرعت میتونید با سری کردن یک رئوستا با موتور و تغییر ولتاژ استفاده کنید یا راه خیلی بهتر اینکه با زمان duty cycle این کار رو انجام بدید به این صورت که هر چه duty cycle بیشتر بشه سر عت بیشتر و با کمتر شدن آن سرعت کمتر میشه
برای تنظیم گشتاور هم با کنترل عرض پالس ها توان اعمال شده به بار رو میتونید کنترل کنید (توان با مجذوری از ولتاژ اعمال شده است)
موفق باشید:04:

اگه بخوام با میکرو کنترولش کنم چی؟

برای duty cycle می تونم یه حلقه بنویسم با یه diley عرض پالس رو بسازم؟

فعلا دارم نرمافزاری و شماتیک روش کار می کنم

میشه اسم یه قطعه بم بدید (اینکودر شنت)

من الآن Atmega8 Atmega16 Atmega162 کدومش برای کنترل یه مونتور dc ساده مناسبتره؟

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

چقدر سوال!d:

البته بازم هست(چشمک)

متشکرم

hadi elec
2010-Mar-21, 03:24
سلام دوست عزیز
در واقع شما باید از میکروکنترلر استفاده کنید با همون دستور دیلی
فرض کن یک فرکانس 1 کیلو هرتز با زمان وظیفه 70% میخوایم تولید کنیم
من فرمول نحوه محاسبه واسه دستور دیلی رو تو پینت نوشتم و به صورت عکس اینجا میذارم خدا کنه که کمکت کنه فکر میکنم به اندازه کافی گویا هست برنامه رو هم به صورت داکیومنت میذارم
در ضمن میکرو فرقی نمیکنه چی باشه اینجا atmega16 هست
یادت نره که این پالس به درایور یا ترانزیستور برای راه اندازی موتور باید برسه
دیتاشیت به درایور رو هم گذاشتم
دیگه درایورو اینارو راحت میتونی پیدا کنی فقط یه سرچ میخواد
موفق باشی
http://www.upload.tecsho.ir/uploads/1332198319.jpg
http://www.upload.tecsho.ir/uploads/1276159653.doc
http://www.upload.tecsho.ir/uploads/1333986446.pdf

ICE
2010-Apr-29, 20:38
سلام دوست عزیز
در واقع شما باید از میکروکنترلر استفاده کنید با همون دستور دیلی
فرض کن یک فرکانس 1 کیلو هرتز با زمان وظیفه 70% میخوایم تولید کنیم
من فرمول نحوه محاسبه واسه دستور دیلی رو تو پینت نوشتم و به صورت عکس اینجا میذارم خدا کنه که کمکت کنه فکر میکنم به اندازه کافی گویا هست برنامه رو هم به صورت داکیومنت میذارم
در ضمن میکرو فرقی نمیکنه چی باشه اینجا atmega16 هست
یادت نره که این پالس به درایور یا ترانزیستور برای راه اندازی موتور باید برسه
دیتاشیت به درایور رو هم گذاشتم
دیگه درایورو اینارو راحت میتونی پیدا کنی فقط یه سرچ میخواد
موفق باشی
http://www.upload.tecsho.ir/uploads/1332198319.jpg
http://www.upload.tecsho.ir/uploads/1276159653.doc
http://www.upload.tecsho.ir/uploads/1333986446.pdf

از توضیح شما متشکرم

راستش من دنبال یه چیزی مثل راه انداز موتور سروو هستم منتها دیجیتال(که برنامش تحت c باشه)

با تشکر

hadi elec
2010-May-02, 02:13
سلام دوست عزیز
شما برای راه اندازی موتور سروو به نظر من باید از میکرو و درایور استفاده کنید
در واقع به اندازه سیم پیچ موتور تعدادی پایه ی میکرو رو تعریف میکنید
و با همون تعداد درایور میتونید موتورو به کار بندازید
و فکر نمی کنم احتیاج به قطعه خاصی باشه
موفق باشید

ICE
2010-Jul-08, 01:47
سلام دوست عزیز
شما برای راه اندازی موتور سروو به نظر من باید از میکرو و درایور استفاده کنید
در واقع به اندازه سیم پیچ موتور تعدادی پایه ی میکرو رو تعریف میکنید
و با همون تعداد درایور میتونید موتورو به کار بندازید
و فکر نمی کنم احتیاج به قطعه خاصی باشه
موفق باشید

از توضیحات شما سپاسگزارم

من مشکلی با راه اندازیش ندارم

مشکل اینجاست:

فرض می کنیم مشخصات موتور رو نداریم

و حالا باید به یه وسیله ای بتونم دور موتورشو بگیرم مثلا یه اینکودر شانت!و بعد با گرفتن یه فیدبک منفی تو مدار فرمانم درایورو تنظیم کنم تا به سرعت مطلوب برسه!

مشکل من با همون بخش فیدبکه!d:(که فک کنم باید منفی باشهd:)

البته هنوز فرصت نکردم که به طور اساسی بش بپردازم بیشتر الآن دنبال ایده میگردم

باز هم از راهنمایی های شما سپاسگزارم

hadi elec
2010-Sep-04, 06:24
موج pwm انقدر پر کاربرد هست که حتی با اون میشه علاوه بر کنترل دور موتور
نور لامپی رو هم کنترل کرد و بصورت دیمر استفتده کرد
اگر کمی فکر کنید کاربرد های خاص تری رو هم میتونید براش پیدا کنید
در مجموع خیلی کار راه اندازه

ICE
2010-Sep-08, 00:22
حتما امتحانش می کنم

شما تا به حال اینو ساختید؟

متشکرم

hadi elec
2010-Sep-11, 08:56
اگر منظورت دیمر برای لامپ بود
که مدارش همون مدار کنترل دور موتوره
فقط بجای موتور اینجا لامپ قرار میدی
البته کار کردش توی dc بهتره ولی برای ac هم میتونی از ترانزیستور قدرت استفاده کنی

hadi elec
2010-Nov-11, 15:03
البته دوستان این نکته رو هم باید بدونن
که این موج pwm با فرانس یک کیلو هرتز بهترین حالت رو داره
برای موتور بخصوص فرکانس یک کیلو هرتز عالیه
نمیخواد خیلی خودتونو درگیر فرکانسش کنید

hadi elec
2011-Jan-04, 01:38
دوستان اگر کسی اطلاعات بیشتری در این زمینه میخواد
از این راهها میتونه با من تماس بگیره
hadi_elec_89@yahoo.com
09354500313

hadi elec
2011-Jan-11, 19:09
البته همون جوری که دوستان میدونن اساس هدف pwm تغییر سطح ولتاژ هست
و به علت تغییر سطح ولتاژه که مثلا میشه دور موتور رو کنترل کرد
خیلی جاهای دیگه هم که نیاز به تغییر سطح ولتاژ هست میشه و کمی ذوق
یه مدار pwm قرار داد حالا یا با میکرو و بصورت دیجیتالی که با دو شاسی قابل کنترل باشه
و یا با یه آی سی 555 بصورت انالوگی و با پتاسیوتر کنترل بشه
در اولین فرصت مدارشو میذارم

محمد پروانه
2011-Jan-12, 13:23
من با میکروشو بلدم

hadi elec
2011-Jan-12, 22:30
این مدار تولید موج pwm با آی سی 555 هست
که با نرم افزار دیزاینر 555 طراحی شده
توضیحات اضافی رو خود مدار هست

hadi elec
2011-Jan-21, 22:54
دوستان این نکته رو درباره فرکانس موج pwm میخوام اضافه کنم که خب هرچه فرکانس کنتر باشه زمانی که دیوتی سایکل ما درصدش میره بالا خب به 100% نزدیک تر میشه و قدرت درصد دهی برای اون کمتر میشه
و در حالت فرکانس بالا در عمل ولتاژ پایین تر از دیوتی سایکل میشه ولی خب سرعت سوییچ میره بالا که برای کار با فرکانس بالا عالیه
ولی خب همون طور که قبلا هم گفتم با فرکانس 1 کیلو میتونید نتیجه مناسبی بگیرید
و اگر خیلی دقت براتون اهمیت نداره با همین فرکانس میتونید کار کنید

bozonghare
2011-Mar-16, 13:16
این مدار تولید موج pwm با آی سی 555 هست
که با نرم افزار دیزاینر 555 طراحی شده
توضیحات اضافی رو خود مدار هست

سلام
مدار شما فرکانس رو تغییر داده در صورتیکه برای pwm کنترل موتور دی سی باید دیوتی سایکل تغییر کند لطفا مدار 555 برای فرکانس 100 هرتز یا 1000 هرتز برای تغییر دیوتی سایکل از 0 در صد تا 100 درصد رو بزارید
ممنون

hadi elec
2011-Mar-17, 00:35
این مدار تولید موج pwm با آی سی 555 هست
که با نرم افزار دیزاینر 555 طراحی شده
توضیحات اضافی رو خود مدار هست


سلام
مدار شما فرکانس رو تغییر داده در صورتیکه برای pwm کنترل موتور دی سی باید دیوتی سایکل تغییر کند لطفا مدار 555 برای فرکانس 100 هرتز یا 1000 هرتز برای تغییر دیوتی سایکل از 0 در صد تا 100 درصد رو بزارید
ممنون

نه عزیزم این مدار PWM هست
فقط شما باید به جای مقاومتR1 و R2 پتاسیومتر قرار بدی
این مدار برای 1000 هرتز هست اگر برای 100 هرتز بخوای باید مقدار مقاومت پتاسیومتر رو 10 برابر کنی
یعنی اگر 100 کیلو استفاده میکردی باید جاش یه مگ بزاری
موفق باشی

bozonghare
2011-Mar-17, 09:15
نه عزیزم این مدار PWM هست
فقط شما باید به جای مقاومتR1 و R2 پتاسیومتر قرار بدی
این مدار برای 1000 هرتز هست اگر برای 100 هرتز بخوای باید مقدار مقاومت پتاسیومتر رو 10 برابر کنی
یعنی اگر 100 کیلو استفاده میکردی باید جاش یه مگ بزاری
موفق باشی

دومقاومت متغیر برای یک کنترل دور؟
این که جالب نمیشه
باید یک پتانسیومتر مثلا 100 یا 50 یا هر چی تو رنج باشه استفاده شده باشه که کار برد داشته باشه اونم یدونه نه دوتا!
؟؟؟
ممنون

hadi elec
2011-Mar-18, 00:26
دومقاومت متغیر برای یک کنترل دور؟
این که جالب نمیشه
باید یک پتانسیومتر مثلا 100 یا 50 یا هر چی تو رنج باشه استفاده شده باشه که کار برد داشته باشه اونم یدونه نه دوتا!
؟؟؟
ممنون

نه عزیزم
شما از یک پتانسیومتر استفاده میکنید
به این صورت که پایه وسط پتانسیومتر ( مشترک) رو به محل اتصال دو مقاومت وصل کرده و دو پایه دیگه رو به اون یکی اتصالات مقاومت ها میزنید
پتانسیومتر ها 3 پایه دارن و وقتی در طرفی مقاومت کم میشه در طرف دیگه مقاومت زیاد میشه و بر عکس
ما از این خاصیت اینجا استفاده میکنیم
مقدار پتانسیومتر رو هم از روی اون عکسی که قبلا فرستادم میتونی بفهمی