فهرست مطالب:

موتور کنترل سرعت متغیر سریال: 6 مرحله
موتور کنترل سرعت متغیر سریال: 6 مرحله

تصویری: موتور کنترل سرعت متغیر سریال: 6 مرحله

تصویری: موتور کنترل سرعت متغیر سریال: 6 مرحله
تصویری: واقعا رفتم جزیره لختیها لخت مادرزاد شدم 2024, جولای
Anonim
موتور کنترل سرعت متغیر سریال
موتور کنترل سرعت متغیر سریال

سرعت یک موتور DC کوچک را بدون درگاه سریال روی رایانه ، یک MOSFET و برخی نرم افزارهای بی اهمیت کنترل کنید. (MOSFET و پورت سریال "کنترل سرعت" را تشکیل می دهند ؛ شما هنوز به یک موتور و منبع تغذیه مناسب برای آن موتور نیاز دارید ؛ در حالی که پورت سریال می تواند ولتاژ روشن و خاموش کردن mosfet را فراهم کند ، می تواند " جریان مورد نیاز یک موتور معمولی را تامین کنید.)

مرحله 1: به مدار نگاه کنید

به مدار نگاه کنید
به مدار نگاه کنید

ما قصد داریم مدولاسیون عرض پالس را با استفاده از یک MOSFET عمومی N-channel متصل به پین انتقال داده از پورت rs232 کامپیوتر انجام دهیم. هنگامی که پورت سریال بیکار است ، پین در حالت "1" قرار می گیرد ، که تا زمانی که به rs232 ترجمه شود ، چیزی حدود -12V است (بسته به درایورها ، ممکن است نزدیک به -9V یا -5V باشد) ، و ترانزیستور کاملا خاموش است وقتی بیت های "0" را روی پورت سریال منتقل می کنیم ، پین rs232 به +12 ولت یا بیشتر می رود ، که برای روشن شدن بیشتر mosfets کافی است.

اگر مقدار زیادی "0" بیس را در یک ردیف ارسال کنیم ، موتور تقریباً به طور کامل روشن می شود و موتور به سرعت کار می کند. اگر بیشتر "1" بیت را منتقل کنیم ، موتور کندتر کار می کند.

مرحله 2: سیم کشی کنید

Wire It Up
Wire It Up

از آنجا که تنها یک جزء وجود دارد و فقط چند اتصال وجود دارد ، می توانید سیم ها را "آزاد فرم" اضافه کنید.

MOSFET ها حساس به ایستا هستند ، بنابراین کمی مراقب باشید ، اما بسیار کم اهمیت دارند.

مرحله 3: تنظیم فایلها با مقادیر PWM

فایلها را با مقادیر PWM تنظیم کنید
فایلها را با مقادیر PWM تنظیم کنید

یکی از راههای کنترل موتور بدون نیاز به نوشتن هرگونه نرم افزار این است که برخی از فایلهای حاوی بایت مناسب (با 0 یا بیشتر یا کمتر 0 بیت) را تهیه کرده و به سادگی آنها را در درگاه COM که موتور را در آن متصل کرده اید کپی کنید. من چندین فایل (با استفاده از emacs ، اما هر چیزی که برای شما کار می کند خوب است) آماده کردم:

  • 0.pwm:: شامل 5000 کاراکتر NULL (فضای کنترل در بیشتر صفحه کلیدها) [br] این تقریباً به "سرعت کامل" نزدیک است زیرا می توانیم با این تکنیک بدست آوریم.
  • 1.pwm:: شامل 5000 کاراکتر کنترل A (ascii 01) (یک بیت "1" در هر کاراکتر)
  • 3.pwm:: شامل 5000 کاراکتر کنترل-C (ascii 03) (دو بیت "1" در هر کاراکتر)
  • 7.pwm:: شامل 5000 کاراکتر control-G (ascii 07) (سه بیت "1" در هر کاراکتر)
  • 15.pwm:: شامل 5000 کاراکتر کنترل O (ascii 15) (چهار بیت "1" در هر کاراکتر)
  • 31.pwm:: شامل 5000 کاراکتر کنترل _ _ (ascii 31) (پنج بیت "1" در هر کاراکتر)
  • 63.pwm:: شامل 5000 "؟" کاراکترها (ascii 63) (شش بیت "1" در هر کاراکتر)
  • 127.pwm:: شامل 5000 کاراکتر DEL (ascii 127) (هفت بیت "1" در هر کاراکتر)

(اکنون که تصاویر را ترسیم کرده ام ، متوجه خواهید شد که الگوهای بیت واقعی ایده آل نیستند. از آنجا که سریال rs232 ابتدا LSB را منتقل می کند ، ما واقعاً می خواهیم به جای صفرها صفر کنیم. یک تمرین برای دانش آموز!)

مرحله 4: بازی با DOS: درگاه COM خود را پیکربندی کرده و فایل ها را کپی کنید

بازی با DOS: پورت COM خود را پیکربندی کرده و فایل ها را کپی کنید
بازی با DOS: پورت COM خود را پیکربندی کرده و فایل ها را کپی کنید

9600 bps یک نرخ بیت رایج است. این به خوبی با "حدود" یک بایت در میلی ثانیه مطابقت دارد ، بنابراین در این مورد به فرکانس PWM 1000Hz متصل می شود ، که فکر می کنم برای موتورهای کوچک مناسب است. برای مشاهده نحوه کار همه چیز ، می توانید با نرخ بیت های مختلف آزمایش کنید ، که یکی از مزایای این روش است. یک پنجره DOS (یا "Command Prompt") ایجاد کنید (با فرض اینکه از سیستم عامل ویندوز استفاده می کنید) ، و پورت کام خود مانند: mode com1: 9600 ، n ، 7 ، 1 "که به پورت comm می گوید که با سرعت 9600bps اجرا شود و در هر کاراکتر 7 بیت ارسال کند (برای مطابقت با 7 طول مختلف بیت ما.)" n "به معنی عدم برابری است ، بنابراین این تنها بیت های داده خواهد بود. "1" به این معنی است که یک بیت "توقف" وجود دارد ، که مانع از روشن شدن کامل موتور می شود (اوه خوب.) بنابراین اکنون می توانید موتور را با دستورات روشن کنید مانند: کپی 0.pwm com1: از آنجا که ما 5000 کاراکتر را با سرعت 1 در هر میلی ثانیه ارسال می کنیم ، موتور باید در حدود 5 ثانیه با سرعت کامل روشن شود. اگر کمتر از 5 ثانیه می خواهید ، یک فایل کوتاه تر بسازید. به طور مشابه ، می توانید انجام دهید: 127.pwm com1 را کپی کنید: موتور را در کمترین سرعت ممکن اجرا کنید. با تنظیماتی که داشتم ، موتور با هیچ چیزی "کندتر" از 31.pwm نمی چرخید ، اما YMMV (من نازک می شود k من یک موتور 12 ولت داشتم که 5 ولت باتری را خالی می کرد.) فرمان COPY به شما امکان می دهد فایل ها را به هم متصل کنید ، بنابراین اگر می خواهید سرعت موتور شما افزایش یابد و سپس دوباره کند شود ، می توانید کاری مانند: 31.pwm+15 را کپی کنید. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

مرحله 5: کنترل موتور از طریق یک برنامه

کنترل موتور از طریق برنامه
کنترل موتور از طریق برنامه

اگر در حال نوشتن برنامه هستید ، احتمالاً می توانید COM1: را به عنوان یک فایل باز کنید و به سادگی آن را مانند یک فایل دیگر بنویسید. به نظر می رسد که بتوان با استفاده از خروجی تعداد خاصی از کاراکترها ، دوره هایی را که موتور روشن است تنظیم کرد. فراموش نکنید که سیستم به احتمال زیاد کاراکترهایی را که به پورت سریال ارسال می کنید بافر می کند ، بنابراین بازگشت تماس WRITE به این معنا نیست که موتور کارهایی را که شما به آن گفته اید تمام کرده است. از آنجا که ما با سیگنال های پورت com هیچ کار فانتزی انجام نمی دهیم ، شما مجبور نیستید گزینه های محرمانه ای را که ممکن است پشتیبانی کند بررسی کنید. (اگرچه ، اگر می توانید نحوه ارسال یک دنباله BREAK به پورت کام را بیابید ، این حالت "0" پیوسته است و موتور را تا آخر راه می برد ؛ بیش از ارسال مداوم 0 کاراکتر.)

اگر زبان برنامه نویسی شما اجازه خروجی به COM1 را نمی دهد ، ممکن است هنوز بتوانید موتور را با "فراخوانی" DOS برای انجام دستورات کپی کنترل کنید. (خوب. من ویژوال بیسیک اکسپرس 2005 مایکروسافت را بارگیری کردم (که رایگان است) و موفق شدم یک نوار پیمایش افقی را به سرعت موتور وصل کنم ، که از طریق پورت سریال کنترل می شود. zip ضمیمه شده است. احتمالاً بیش از آنچه برای تکرار برنامه نیاز است ، وجود دارد در سیستم شما ، اما من دقیقاً نمی توانم بفهمم که کدام بیت ها مورد نیاز است. برنامه هم ساده شده و هم با چند رشته ای درک آن دشوارتر شده است. یک موضوع چیزی جز خروجی به پورت سریال انجام نمی دهد ، و موضوع اصلی نوار پیمایش را می خواند و اطلاعات مورد استفاده در موضوع سریال را به روز می کند.)

مرحله 6: آزمایش کنید

آزمایش کنید!
آزمایش کنید!

اگر همه چیز اساساً کار می کند ، این فضای بسیار بدی برای آزمایش فراهم می کند.

  • الگوهای بیت من را اصلاح کنید!
  • آیا بیت ریت اهمیت زیادی دارد؟
  • آیا شما باید عرض پالس های "روشن" و "خاموش" را کنترل کنید ، یا فقط کنترل نسبت آنها کافی است؟
  • اگر فقط باید نسبت را کنترل کنید ، می توانید دنباله های چند کاراکتری را با نرخ بیت های بالاتر در نظر بگیرید تا سطوح سرعت بیشتری به دست آورید. خروجی 0 و 127 تقریبا نصف خواهد بود.
  • این باید برای کم نور شدن لامپ های چراغ قوه نیز کار کند.

توصیه شده: