מעגל טכומטר ארדואינו לקריאה מדויקת

נסה את הכלי שלנו לביטול בעיות





טכומטר הוא מכשיר המודד את סל'ד או מהירות זוויתית של גוף מסתובב. זה שונה מד מהירות ומד מרחק, שכן מכשירים אלה מתמודדים עם מהירות ליניארית או משיקית של הגוף ואילו טכומטר a.k.a. 'טאץ '' עוסק בסל'ד בסיסי יותר.

מאת אנקיט נגי



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

תנאים מוקדמים

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



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

ב- Arduino Uno שלנו יש טיימרים שלא רק עוקבים אחר הזמן אלא גם שומרים על כמה מהפונקציות החשובות של Arduino. באונו יש לנו 3 טיימרים בשם Timer0, Timer1 ו- Timer2. לטיימרים אלה יש את הפונקציות הבאות - • Timer0 - עבור פונקציות Uno כמו עיכוב (), מילי (), מיקרו () או עיכוב מיקרו ().

• טיימר 1 - לעבודה בספריית סרוו.

• Timer2 - לפונקציות כמו טון (), notone ().

יחד עם פונקציות אלה 3 טיימרים אחראיים גם ליצירת פלט PWM כאשר נעשה שימוש בפקודה analogWrite () בפין המיועד PMW.

מושג הפרעות

ב- Arduino Uno קיים כלי מוסתר שיכול להעניק לנו גישה לתפקוד שלם המכונה Timer Interrupts. הפסקה היא קבוצה של אירועים או הוראות שמבוצעים כאשר הם נקראים להפריע לתפקוד הנוכחי של המכשיר, כלומר לא משנה מה קודים שה- Uno שלך ביצעה בעבר, אך פעם אחת נקרא Interrupt לבצע את ההוראות המוזכרות ב- Interrupt.

מגנט על פיר המנוע

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

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

• חיישן אפקט הול (איור 1)

מודול חיישן אפקט הול

• ארדואינו אונו

מועצת ה- UNO של ארדואינו

• מגנט קטן

מגנט קטן

• חוטי מגשר

• אובייקט מסתובב (פיר מוטורי)

מנוע DC

הגדרת מעגל

• ההתקנה ליצירה היא כדלקמן -

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

• לחיישן האפקט הול יש גלאי מלפנים ו -3 פינים לחיבורים.

• סיכות ה- Vcc וה- Gnd מחוברות לסיכה 5V ו- Gnd של Arduino בהתאמה. סיכת הפלט של החיישן מחוברת לסיכה הדיגיטלית 2 של ה- Uno כדי לספק את אות הקלט.

• כל הרכיבים קבועים בלוח הרכבה ומצביע על גלאי הול מהלוח.

תִכנוּת

int sensor = 2 // Hall sensor at pin 2
volatile byte counts
unsigned int rpm //unsigned gives only positive values
unsigned long previoustime
void count_function()
{ /*The ISR function
Called on Interrupt
Update counts*/
counts++
}
void setup() {
Serial.begin(9600)
//Intiates Serial communications
attachInterrupt(0, count_function, RISING) //Interrupts are called on Rise of Input
pinMode(sensor, INPUT) //Sets sensor as input
counts= 0
rpm = 0
previoustime = 0 //Initialise the values
}
void loop()
{
delay(1000)//Update RPM every second
detachInterrupt(0) //Interrupts are disabled
rpm = 60*1000/(millis() - previoustime)*counts
previoustime = millis() //Resets the clock
counts= 0 //Resets the counter
Serial.print('RPM=')
Serial.println(rpm) //Calculated values are displayed
attachInterrupt(0, count_function, RISING) //Counter restarted
}

העלה את הקוד.

דע את הקוד

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

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

RISING- כאשר משתמשים בזה, Interrupt נקראים בכל פעם שאות הקלט עובר מ LOW ל- HIGH.

FALING - כאשר משתמשים בזה, Interrupt נקראים כאשר האות עובר מ HIGH ל- LOW.

השתמשנו ב- RISING, מה שקורה הוא שכאשר המגנט המונח בפיר או באובייקט המסתובב מתקרב לגלאי הול. נוצר אות קלט והפרעה נקראים, Interrupt יוזם את פונקציית ה- ISR (Interrupt Service Routine) הכוללת תוספת ערך הספירה וכך הספירה מתרחשת.

השתמשנו בפונקציה millis () של Arduino ו- previoustime (משתנה) בהתכתבות כדי להגדיר את הטיימר.

הסל'ד מחושב באופן סופי באמצעות היחס המתמטי-

RPM = ספירות / זמן שנדרש המרת אלפיות השנייה לדקות וסידור מחדש אנו מגיעים לנוסחה = 60 * 1000 / (מיליס () - ספירה קודמת) *.

העיכוב (1000) קובע את מרווח הזמן שאחריו ערך הסל'ד יעודכן על המסך, תוכלו להתאים עיכוב זה בהתאם לצרכים שלכם.

ניתן להשתמש עוד יותר בערך זה של סל'ד לחישוב המהירות המשיקית של האובייקט המסתובב באמצעות היחס- v = (3.14 * D * N) / 60 m / s.

ניתן להשתמש בערך הסל'ד גם לחישוב המרחק שעבר גלגל או דיסק מסתובב.

במקום להדפיס ערכים למוניטור סדרתי ניתן להפוך את השימוש במכשיר זה על ידי חיבור צג LCD (16 * 2) וסוללה לשימוש טוב יותר.




קודם: מעגל נהג מנוע צעד באמצעות IC 555 הבא: מעגל מדי קיבול דיגיטלי באמצעות ארדואינו