Arduino RPM נגד שימוש בחיישנים אופטיים
בניית דלפק RPM (מהפכות לדקה) היא פרויקט ארדוינו קלאסי ושימושי. מדריך זה עובר אותך דרך יצירת Tachometer באמצעות LED IR, IR phototransistor, ותצוגה 16×2 LCD. התוצאה היא נוגדת RPM פשוטה ומדויקת המתאימה לאופנועים, לאוהדים או למניעים.
Project Review
הדלפק של Arduino RPM פועל על ידי הפרעה של קרן אינפרא אדום עם אובייקט מסתובב (כגון דחף). כל הפרעה מזוהה על ידי Arduino, נספר, והמיר ערך RPM המוצג על מסך LCD.
תכונות מפתח:
מדד RPM בזמן אמת
אופטי (לא מגע)
פלט LCD לקריאה קלה
מרכיבים פשוטים וזולים
רשימת חלקים
תצטרך את המרכיבים הבאים:
× Arduino Board
1 × 16×2 LCD תצוגה (HD44780 תואם)
1 × 10kΩ Poweriometer (LCD ניגוד שליטה)
1 × 10kΩ התנגדות
1 × IR LED
× IR phototransistor
חוטי Jumper
הוראות
בצע את השלבים האלה בזהירות כדי להרכיב את המעגל. כל תת-סעיף מסביר בדיוק לאן כל חוט צריך ללכת כדי למנוע בלבול.
כוח הפצה
להתחבר Arduino 5V pin אל לוח הלחם רכבת חיובית.
להתחבר Arduino GND אל לוח הלחם רכבת קרקע.
ודא שכל הרכיבים (LCD, Poweriometer, IR LED ו phototransistor) חולקים את הקרקע המשותפת הזו.
חיבורי LCD ופוטנטימטר (16×2 Parallel LCD)
LCD Pin 1 (VSS) תגית: Ground
LCD Pin 2 (VDD) 5V
LCD Pin 3 (VO) המונחים: middle pin of the 10k Ω Poweriometer
צירי צד פוטנטימיים 5V וקרקע (שימוש כדי להתאים ניגוד LCD)
LCD Pin 4 (RS) תגית: Arduino digital pin 7 7
LCD Pin 5 (RW) המונחים: Ground (LCD Set to Write Mode)
LCD Pin 6 (E) תגית: Arduino digital pin 8 8
LCD Pin 11 (D4) תגית: Arduino digital pin 9
LCD Pin 12 (D5) תגית: Arduino digital pin 10
LCD Pin 13 (D6) תגית: Arduino digital pin 11
LCD Pin 14 (D7) תגית: Arduino digital pin 12 12
LCD תאורה אחורית
Pin 15 (A) 5V באמצעות התנגדות
Pin 16 (K) Ground
IR LED (Transmitter)
Anode (Longer Lead) Arduino הציון הדיגיטלי 13
Cathode (קצר יותר) תגית: Ground
LED IR נשאר ברציפות כדי פולט קרן אינפרא אדום לעבר phototransistor.
IR Phototransistor (Receiver)
אספן (קצר יותר) Arduino Digital pin 2
Emitter (Longer Lead) תגית: Ground
למקם את phototransistor ישירות מול LED IR כך שהדבורה מופרעת על ידי האובייקט המסתובב.
בדיקה אחרונה
להבטיח את כל חיבורים קרקעיים הם נפוצים.
מספרים כפולים בודקים את המספרים לפני שהם מחזקים את המעגל.
להתאים את ה-Poweriometer עד שהטקסט גלוי בבירור ב- LCD.
טיפ: Digital pin 2 משמש כי הוא תומך חומרה מפריעהמאפשר Arduino לספור הפרעות אמם במדויק לחשב RPM באופן אמין.
קוד Arduino
העלה את הסקיצות הבאות ללוח ארגונו:
/*
* Optical Tachometer
*
* Uses an IR LED and IR phototransistor to implement an optical tachometer.
* The IR LED is connected to pin 13 and runs continuously.
* Digital pin 2 (interrupt 0) is connected to the IR detector.
*/
#include
int ledPin = 13; // IR LED connected to digital pin 13
volatile byte rpmcount;
unsigned int rpm;
unsigned long timeold;
// Initialize the LCD with the interface pins
LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
void rpm_fun() {
// This interrupt runs every time the IR beam is cut
rpmcount++;
}
void setup() {
lcd.begin(16, 2); // Initialize the LCD
// Attach interrupt to digital pin 2 (interrupt 0)
attachInterrupt(0, rpm_fun, FALLING);
// Turn on IR LED
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, HIGH);
rpmcount = 0;
rpm = 0;
timeold = 0;
}
void loop() {
// Update RPM every second
delay(1000);
// Temporarily stop interrupts during calculation
detachInterrupt(0);
rpm = 30 * 1000 / (millis() - timeold) * rpmcount;
timeold = millis();
rpmcount = 0;
// Display RPM on LCD
lcd.clear();
lcd.print("RPM=");
lcd.print(rpm);
// Re-enable interrupt
attachInterrupt(0, rpm_fun, FALLING);
}
הבנה של RPM Calculation
הפרויקט הזה מניח שתי הפרעות למהפכהכמו בעת שימוש במנוע עם מדחף שני להב.
לכן חישוב RPM משתמש בנוסחה זו:
rpm = 30 * 1000 / (millis() - timeold) * rpmcount;
התאמת ההתקנה שלך
הפרעה אחת למהפכה:
Replace30עם60יותר להבים או סימון:
חלוקה60על ידי מספר ההפרעות לסיבוב מלא ועדכון הנוסחה בהתאם.
גמישות זו מאפשרת לך להתאים את הפרויקט לאופנועים שונים ולנפח חפצים.
הערות אחרונות
ודא LED IR ו phototransistor מתאימים כראוי לקריאה אמינה.
השתמש קלטת רפלקטיבית או דיסק מלוטש להפרעות באם עקביות יותר.
פרויקט זה ניתן להרחיב על ידי נתוני RPM או הוספת תפוקה סידורית.
מוכנים לבנות?
זה Arduino RPM נגד הוא בסיס נהדר עבור פרויקטים של בקרת מנוע, רובוטיקה ואבחון מכני. להרכיב את הרכיבים, להעלות את הקוד, ולהתחיל למדוד את RPM בביטחון.