ב-Progressive Automations, אנו מציעים אפשרויות רבות לשליטה שלכם מפעיל ליניארימפתרונות פשוטים כמו מתגי נדנדה, ועד לבקרים מתקדמים יותר שלנו כמו קופסת בקרה Wi-Fi PA-35יש לנו אפשרויות רבות של "הכנס והפעל". עם זאת, לפעמים דרישות הפרויקט וצרכי הלקוח ייחודיים יותר ממה שאפשרויות אלה יכולות להציע. כאן זה המקום שבו מיקרו-בקרים יכולים באמת להיות חברים שלנו. במאמר זה, נדון כיצד נוכל לשנות את מיקום המפעיל בהתבסס על כמות האור הקיימת, מה שיעניק לכם צורה ייחודית ומתקדמת של בקרת מפעיל ליניארית.
מה תצטרך?
כל מה שאנחנו צריכים לפרויקט הזה הוא ארדואינו (במקרה הזה ארדואינו אונו), נגד תלוי אור (הידוע גם בשם פוטו-נגד או LDR), נגד אחד של 10k אוהם, מודול ממסר בעל 2 ערוצים וכמובן, מפעיל.
בחירת המפעיל הליניארי שלך
במקרים רבים, נשתמש בסוג זה של טריגר עבור יישומים חיצוניים כגון אנרגיה סולארית מפעיל דלת לול תרנגולותעליכם לקחת בחשבון את סוג הסביבה בה יפעל המפעיל שלכם, ולוודא שלמפעיל שלכם יש דירוג IP נכון. כדי לעזור בכך, תוכלו למצוא את מדריך דירוג ה-IP שלנו. כָּאןאנחנו גם צריכים לוודא שאתם מוצאים את אורך המהלך ודירוג הכוח המתאימים למפעיל שלכם. לעזרה בנושא זה, אתם מוזמנים לעיין באחד מפוסטים רבים אחרים בבלוג שלנו. כָּאןבעיקרו של דבר, סוג המפעיל בו תשתמשו תלוי לחלוטין ביישום שלכם ובקושי של הסביבה בה אתם נמצאים.
תִיוּל

החיווט עבור פרויקט מפעיל סולארי זה הוא כדלקמן:
LDR לארדואינו
- חיבור LDR 1 - הארקה
- חיבור LDR 2 – 5V (דרך נגד 10k)
- חיבור LDR 2 – פין אנלוגי 0
מודול ממסר לארדואינו
- VCC – 5V
- GND – GND
- IN1 – פין 2
- IN2 – פין 3
מודול ממסר לספק כוח ומפעיל
- +12V ל-NC1 (הדק סגור בדרך כלל בממסר הראשון)
- 12V- ל-NO1 (הדק פתוח בדרך כלל בממסר הראשון)
- NC1 עד NC2
- NO1 עד NO2
- COMMON1 למוליך מפעיל 1
- COMMON2 למוליך מפעיל 2
באמצעות מודול ממסר דו-ערוצי, ההוראות לעיל הן כיצד לחווט את הפרויקט הזה. זוהי התקנה פשוטה מאוד שקל לקודד, אך יש לה מגבלות. אם ברצונך להוסיף תכונות כגון בקרת מהירות או משוב כוח, ייתכן שתרצה לשקול להשתמש ב- מגן נהג מנוע MegaMoto במקום זאת. מידע נוסף על כך כָּאן.
קידוד המפעיל הסולארי שלך
הפונקציונליות של הקוד המסופק נועדה להיות פשוטה ככל האפשר. כאשר יש אור, המפעיל ייסוג. כאשר חשוך, המפעיל ייפתח. כדי למנוע הפעלה לא מכוונת של המפעיל (אם מישהו עובר וחוסם את האור, או אם הבזק של אור נקלט על ידי החיישן), המעבר מחושך לאור (או מבהיר לחושך) חייב להימשך לפחות שלושים שניות. ניתן לשנות השהייה זו בקלות על ידי שינוי הערך של "const int triggerDelay".
כמות האור הקיימת נקבעת על ידי קריאת המתח המופעל לפין האנלוגי 0. ככל שיש יותר אור, כך תהיה פחות התנגדות לנגד התלוי באור שלנו. מכיוון שאנו משתמשים בנגד Pull-up, משמעות הדבר היא שהמתח יירד ככל שהסביבה מתבהרת. הארדואינו קורא זאת כערך בין 0 ל-1028. אם ברצונך לשנות את הערך שבו מצב המפעיל ישתנה, פשוט שנה את הערך של "const int threshold" (מוגדר כברירת מחדל ל-650).
קוד זה ישרת את מטרתו כפי שהוא, אך הדבר הנפלא בפרויקטים כאלה הוא שתמיד יש מקום לשיפור. אל תהססו לשנות קוד זה כדי שיתאים יותר ליישום המפעיל הליניארי המופעל על ידי אנרגיה סולארית שלכם! כמה דוגמאות לפונקציות נוספות שניתן להוסיף לקוד זה הן: פסק זמן כדי למנוע מהמפעיל להמשיך לנוע אם הוא לא מגיע למתג הגבול בתוך פרק זמן מסוים; זיהוי התנגשויות באמצעות ניטור צריכת זרם (ידרוש נהג מגה-מוטו במקום ממסרים); או פונקציה שתאפשר לכוון את המפעיל למצבים שונים בהתבסס על כמות האור (לא רק עד הסוף או עד הסוף למטה).
/*The hardware required for this project is an Arduino, one light dependant resistor (LDR), a 10K resistor and a 2-channel 5V relay module. Its purpose is to control the extension and retraction of an actuator based on the amount of light that is present. Written by Progressive Automations 12/02/2020
*/ #define relay1 2 //relay used to extend actuator
#define relay2 3 //relay used to retract actuator
int ldr; //analog reading from light dependent resistor int countOpen = 0;//counts how long sensor is recieving light
int countClose = 0;//counts how long the sensor is not recieving light
const int triggerDelay = 3000;//number of seconds x 100 to wait after lighting changes before triggering actuator const int threshold = 650;//
void setup() {
Serial.begin(9600);
pinMode(relay1,OUTPUT);
pinMode(relay2,OUTPUT);
digitalWrite(relay1,HIGH);
digitalWrite(relay2,HIGH);
} void loop() {
checkSensor();
} void checkSensor()
{
ldr = analogRead(0);
Serial.println(ldr);
if(ldr> threshold)//if reading is greater than threshold, start counting
{ countOpen++;//count how long the sensor is not recieving light delay(10);
}
else
{ countOpen = 0;//reset count to zero if statement is not true
}
if(countOpen> triggerDelay)// wait x seconds before triggering actuator { extend();//extend actuator
} if(ldr < threshold)//if reading is less than threshold, start counting
{ countClose++;//count how long sensor is recieving light delay(10);
}
else
{ countClose = 0;
}
if(countClose> triggerDelay)// wait x seconds before triggering actuator { retract();
} } void extend()
{ digitalWrite(relay1,LOW); digitalWrite(relay2,HIGH);
} void retract()
{ digitalWrite(relay2,LOW); digitalWrite(relay1,HIGH);
}
מַסְקָנָה
אז הנה לכם! המתודולוגיה שלנו מאחורי שימוש בחיישן אור של מפעיל ליניארי כדי לשלוט במפעיל שלכם באמצעות אנרגיה סולארית. אנו יודעים שלא כל יישום זהה, לכן ייתכן שיש לכם שאלות לגבי הפרויקט הזה, או שינויים שתרצו שצוות המהנדסים שלנו יבצע. אין בעיה - פשוט שלחו לנו אימייל דרך sales@progressiveautomations.com, או התקשרו אלינו ללא תשלום למספר 1-800-676-6123.