תוכן עניינים:

מנוע מהירות משתנה סדרתי נשלט: 6 שלבים
מנוע מהירות משתנה סדרתי נשלט: 6 שלבים

וִידֵאוֹ: מנוע מהירות משתנה סדרתי נשלט: 6 שלבים

וִידֵאוֹ: מנוע מהירות משתנה סדרתי נשלט: 6 שלבים
וִידֵאוֹ: Review of 20A DC 10-60V PWM Motor Speed Controller 2024, יולי
Anonim
מנוע מהירות משתנה סדרתי נשלט
מנוע מהירות משתנה סדרתי נשלט

שלוט במהירות המנוע הקטן של DC ללא כל היציאה הטורית במחשב שלך, MOSFET יחיד וכמה תוכנות טריוויאליות. (ה- MOSFET והיציאה הטורית מהווים את "בקרת המהירות"; עדיין תזדקק למנוע ולספק כוח מתאים עבור אותו מנוע; בעוד שהיציאה הטורית יכולה לספק את המתח להפעלת וכיבוי Mosfet, הוא יכול ' לא לספק את הזרם הדרוש על ידי מנוע טיפוסי.)

שלב 1: תסתכל על המעגל

תסתכל על המעגל
תסתכל על המעגל

אנו הולכים לבצע אפנון רוחב דופק באמצעות MOSFET כוח כללי של ערוץ N המחובר לפין הנתונים של שידור מיציאת rs232 של המחשב. כשהיציאה הטורית אינה פעילה, הסיכה תשב במצב "1", שעד שהוא מתורגם ל- rs232 הוא בערך -12V (תלוי במנהגים, הוא עשוי להיות קרוב יותר ל -9V או -5V), ו הטרנזיסטור יהיה די כבוי. כאשר אנו מעבירים סיביות "0" ביציאה הטורית, סיכת rs232 תגיע ל +12V בערך, וזה מספיק כדי להדליק את רוב המוספות די טוב.

אם אנו מעבירים הרבה "0" ביס בשורה, המנוע יהיה קרוב למצב מלא והמנוע יפעל במהירות. אם אנו משדרים בעיקר סיביות "1", המנוע יפעל לאט יותר.

שלב 2: חיבור זה

לחבר את זה
לחבר את זה

מכיוון שיש רק רכיב יחיד ורק כמה חיבורים, אתה יכול פשוט להוסיף חוטים "צורת חופשית".

מכשירי MOSFET הם בעלי רגישות סטטית, לכן היזהר מעט, אך מעט מאוד הוא קריטי.

שלב 3: הגדר קבצים עם ערכי PWM

הגדרת קבצים עם ערכי PWM
הגדרת קבצים עם ערכי PWM

אחת הדרכים לשלוט על המנוע מבלי שתצטרך לכתוב תוכנה כלשהי היא להכין כמה קבצים המכילים בתים מתאימים (עם פחות או יותר 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 תווי שליטה-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 של 1000 הרץ, שלדעתי אמור להיות בסדר עבור מנועים קטנים. אתה יכול להתנסות בקצבי סיביות שונים כדי לראות כיצד הדברים עובדים, וזה אחד היתרונות של שיטה זו. צור חלון DOS (או "שורת פקודה") (בהנחה שאתה משתמש במערכת הפעלה של Windows), והגדר את יציאת ה- com שלך כמו: mode com1: 9600, n, 7, 1 "זה אומר ליציאת הקומקום לפעול ב 9600bps ולשלוח 7 סיביות בכל תו (כדי להתאים את 7 אורכי הסיביות השונים שלנו.)" n "פירושו אין זוגיות, אז אלה יהיו נתחי הנתונים היחידים. ה- "1" פירושו שיהיה ביט אחד "עצור", שימנע מאיתנו להפעיל את המנוע עד הסוף (נו טוב.) אז עכשיו אתה יכול להפעיל את המנוע באמצעות פקודות כמו: העתק 0.pwm com1: מכיוון שאנו שולחים 5000 תווים במהירות של 1 לאלפית השנייה, המנוע אמור להידלק במהירות מלאה עד כ -5 שניות. אם אתה רוצה פחות מ -5 שניות, צור קובץ קצר יותר. באופן דומה., אתה יכול לעשות: העתק 127.pwm com1: כדי להפעיל את המנוע במהירות הנמוכה ביותר האפשרית. עם ההתקנה שהייתה לי, המנוע לא היה מסתובב כלל עם משהו "איטי" יותר מאשר 31.pwm, אבל YMMV (אני דק k היה לי מנוע 12V שמפעיל 5V של סוללות.) הפקודה COPY מאפשרת לך לחבר קבצים יחד, כך שאם אתה רוצה שהמנוע שלך יאיץ ואז יאט עוד פעם, אתה יכול לעשות משהו כמו: העתק 31.pwm+15. pwm+7.pwm+0.pwm+7.pwm+15.pwm+31.pwm com1:

שלב 5: שליטה על המנוע מתוכנית

שליטה על המנוע מתוכנית
שליטה על המנוע מתוכנית

אם אתה כותב תוכנית, אתה יכול כנראה לפתוח את COM1: כקובץ ופשוט לכתוב לו כאילו היה קובץ אחר. נראה כי זה יהיה נוח מאוד לתזמן את התקופות בהן המנוע מופעל על ידי הוצאת מספר מסוים של תווים. אל תשכח כי סביר מאוד שהמערכת תאגר את התווים שאתה שולח ליציאה הטורית, כך שרק בגלל שחזרת WRITE חוזרת לא אומר שהמנוע סיים לעשות כל מה שאמרת לו. מכיוון שאנו לא עושים שום דבר "מפואר" באותות יציאת ה- com, לא תצטרך לחקור את האפשרויות הקשות שהוא עשוי לתמוך בהן. (אם כי אם תוכל להבין כיצד לשלוח רצף BREAK ליציאת ה- com, זהו מצב "0" רציף ויניע את המנוע עד הסוף; יותר משליחת 0 תווים רציפים.)

אם שפת התכנות שלך לא מאפשרת לך פלט ל- COM1:, ייתכן שעדיין תוכל לשלוט במנוע על ידי "קריאה" ל- DOS לביצוע פקודות העתקה. (בסדר. הורדתי את Visual Basic Express 2005 של Microsoft (שהוא בחינם) והצלחתי לקשור פס גלילה אופקי למהירות המנוע, הנשלטת דרך היציאה הטורית. מצורף zip. כנראה שיש לו יותר ממה שהוא צריך לשכפל את התוכנית במערכת שלך, אך לא הצלחתי להבין אילו פיסות נדרשות בדיוק. התוכנית פשוטה יותר וקשה יותר על ההבנה (מצטערת) על ידי היותה מרובת שרשורים. חוט אחד אינו עושה דבר מלבד פלט ליציאה הטורית. השרשור הראשי קורא את סרגל הגלילה ומעדכן מידע המשמש את השרשור הסדרתי.)

שלב 6: ניסוי

לְנַסוֹת!
לְנַסוֹת!

אם הדברים בעצם עובדים, זה מספק הרבה מאוד מקום להתנסות.

  • תקן את דפוסי הסיביות שלי!
  • האם קצב הסיביות משנה הרבה?
  • האם עליך לשלוט ברוחב הפולסים "מופעלים" ו"כבויים ", או שפשוט השליטה ביחס שלהם מספיקה?
  • אם אתה רק צריך לשלוט ביחס, אתה יכול לשקול רצפים מרובי תווים בשיעורי סיביות גבוהים יותר כדי לקבל יותר רמות מהירות. פלט 0 ואחריו 127 יהיה בערך במחצית.
  • זה אמור לפעול גם לעמעם של נורות פנס.

מוּמלָץ: