כיצד לשלוט בתזמון תנועת מפעילים ליניאריים

כיצד לשלוט בתזמון תנועת מפעילים ליניאריים?

Guest Writer
Guest Writer
PA Engineer

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

עיינו בכל המיקרו-בקרים שלנו לקבלת בקרת המפעיל האולטימטיבית שלכם!

בקרת תנועה באמצעות מיקרו-בקר

מיקרו-בקר ארדואינו ישמש לשליטה בתזמון התנועה של מפעיל ליניארי, אך כל מיקרו-בקר יעבוד. עם זאת, מכיוון שאנו משתמשים במגן, המיקרו-בקר צריך להיות תואם. אנו הולכים להדריך אתכם בפרמטרים השונים שתוכלו לכוונן כדי לשנות את מהירות המפעיל הליניארי.

 

מה שתצטרכו

עבור דוגמה זו, נשתמש ברכיבים הבאים לשליטה ב- מפעיל ליניארי:

עיינו במגוון המלא של מפעילים ליניאריים חשמליים שלנו, המתאימים לכל יישום!

רכיבי חיבור

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

ראשית, בואו נחבר את שלנו מַפעִיל to our LC-80 MegaMoto Plus shield by attaching the two wire leads from the actuator to the A/B screw terminals on the LC-80. Then, we need to connect the LC-80 to our power supply, in this case, the PS-20-12. We do this by attaching positive and negative wires from the power supply to the BAT +/- terminals of the LC-80.

לבסוף, עלינו לחבר את ה-LC-80 ל-LC-066, וזה פשוט כמו להדביק אותם אחד על גבי השני כפי שמוצג בתמונה למטה.

 

Photo of microcontrollers by Progressive Automations

בחרו את מערכת הבקרה המתאימה למפעיל שלכם ועיינו במגוון שלנו!


התאמת הקוד

כדי שנוכל לקבל שליטה מלאה על תנועת המפעיל שלנו, נצטרך לבצע תכנות של מפעיל ליניארי עם יחידת הארדואינו שלנו. הכנו קוד לדוגמה שבו המפעיל שלנו נפתח ואז נסוג למשך 10 שניות לכל כיוון, במחזור של 300 שניות.

//השתמשו במגשרים שעל הלוח כדי לבחור אילו פינים ישמשו int EnablePin1 = 13; int PWMPinA1 = 11; int PWMPinB1 = 3; int extendtime = 10 * 1000; // 10 שניות כפול 1000 כדי להמיר לאלישניות int retracttime = 10 * 1000; // 10 שניות כפול 1000 כדי להמיר לאלישניות int timetorun = 300 * 1000; // 300 שניות כפול 1000 כדי להמיר לאלישניות int duty; int elapsedTime; boolean keepMoving; void setup() { Serial.begin(9600); pinMode(EnablePin1, OUTPUT);//הפעל את הלוח pinMode(PWMPinA1, OUTPUT); pinMode(PWMPinB1, OUTPUT);//הגדר יציאות מנוע elapsedTime = 0; // הגדרת הזמן ל-0 keepMoving = true; // המערכת תזוז }// סוף הגדרת הלולאה void loop() { if (keepMoving) { digitalWrite(EnablePin1, HIGH); // הפעלת המנוע pushActuator(); delay(extendtime); stopActuator(); delay(10);// השהייה קטנה לפני נסיגה pullActuator(); delay(retracttime); stopActuator(); elapsedTime = millis();// כמה זמן עבר? if (elapsedTime> timetorun) {// אם עברו 300 שניות, עצור Serial.print("הזמן שחלף חרג מזמן הריצה המקסימלי. זמן ריצה מקסימלי: "); Serial.println(timetorun); keepMoving = false; } }// סוף if }// סוף לולאה ראשית void stopActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 0); // מהירות 0-255 } void pushActuator() { analogWrite(PWMPinA1, 255); analogWrite(PWMPinB1, 0); // מהירות 0-255 } void pullActuator() { analogWrite(PWMPinA1, 0); analogWrite(PWMPinB1, 255);// מהירות 0-255 }

 

חשוב לעבור על הקוד, שורה אחר שורה, כדי לנסות ולהבין מה קורה. על ידי כך, ניתן להתאים אישית את הקוד לביצוע שורה שלמה של משימות אחרות. עם זאת, לעת עתה, החלק החשוב ביותר הוא החלק הראשון ולולאת ההתקנה, המתמקדת בהקצאת פינים ובהגדרת מהירות המחזור.

עליכם להגדיר את הפינים ב-LC-80 שלנו כך שיתאימו למה שמופיע בחלק הראשון של הקוד על ידי הגדרת המגשרים ב-LC-80 או התאמת הקוד. במקרה זה, הגדר את פין ה-"Enable" ל-D13, את פין ה-"PWMA" ל-D11, ואת פין ה-"PWMB" ל-D3. פין ה-"Enable" הוא זה ששולט ומפעיל את המנוע ובלעדיו, המפעיל יפסיק לנוע ולא ניתן יהיה לשלוט בו. פיני ה-"PWMA" וה-"PWMB" שולטים בהארכה ובחזרה של המפעיל. איננו זקוקים לפיני ה-"Sensor" בדוגמה זו, לכן אל תדאגו לגבי בחירת שום דבר שם.

בקרת הטיימר של מפעיל ליניארי הושלמה כעת. ניתן להעלות את הקוד לארדואינו באמצעות ה-IDE שלהם (להורדה מאתר האינטרנט של ארדואינו). לאחר שהמפעיל הליניארי שלכם נפתח ונסוג, למה שלא תשחקו קצת עם הקוד? נסו להתאים את זמן ההארכה/נסיגה בתוך הקוד, העלו אותו מחדש לארדואינו, וראו כיצד המפעיל הליניארי מגיב. על ידי התאמת מספרים אלה בקוד, ניתן לשלוט במהירות ובזמן מחזור התנועה הכולל בהתבסס על היישום הרצוי.


מַסְקָנָה

למטה כללנו סרטון של מפעיל תזמון בפעולה. עבור דוגמת הסרטון, רצינו להראות דרך נוספת שבה ניתן לשנות את התזמון, אז גרמנו לו להיפתח ולסגור למשך 5 שניות בכל פעם, במחזור של 20 שניות.

As stated earlier, this is just one example of a way you can alter the motion of an actuator with the help of our microcontrollers. If you have your own custom control method in mind, you can have a control system built specifically to your custom requirements with the help of our talented engineering staff. They will guide you through the process and make sure you have full control over your units. If you'd like to learn more about the custom order process take a look at our דף הזמנה בהתאמה אישית.