ارسال سفارشات بالای 1.900 هزار تومان رایگان میباشد

‫ماژول اپتو کوپلر شمارنده و اندازه گیری سرعت مادون قرمز

آشنایی با ماژول

‫این ماژول شامل یک اپتو کوپلر فرستنده و گیرنده مادون قرمز و یک تقویت کننده میباشد که سیگنالهای دیود گیرنده را تقویت کرده و در خروجی یک سیگنال دیجیتال تولید میکند. ‫
‫با ارسال این سیگنال به میکرو کنترولر میتوانید تعداد و سرعت پالسها را برای مقاصد گوناگون اندازه گیری کنید. ‫
‫لازم به ذکر است که خروجی ماژول حد اکثر 15 میلی آمپر میباشد و قادر نیست مستقیما یک رله را به کار اندازد ‫
‫همچنین یک ال ای دی برای نمایش پاور و یک ال ای دی برای نمایش وضعیت روشن یا خاموش بودن خروجی در ماژول قرار دارد. ‫

روش بکارگیری

‫برای راه اندازی ماژول باید یک چرخ انکودر که در شکل زیر میبینید را در شیار بخش اپتوکوپلر قرار دهید. ‫
‫این چرخ دارای سوراخهایی است که نور از آن عبور میکند. با چرخیدن چرخ متناوبا نور از سوراخها عبور کرده و ارتباط اپتو کوپلر قطع و وصل میشود. ‫
‫به این ترتیب میتوان تعداد دفعات قطع شدن نور را شمارش کرد و با تقسیم آن به واحد زمان سرعت حرکت چرخ قابل محاسبه میباشد. ‫
‫از طرفی این چرخ نیروی خود را از جای دیگری میگیرد، برای مثال از چرخ رباط شما. با انجام چند عملیات ریاضی میتوانید از روی سرعت چرخ انکودر به سرعت حرکت ربات دست پیدا کنید.

یک نمونه کاربردی

‫در شکل زیر چرخ یک ربات را که به این سیستم مجهز شده است را مشاهده میکنید. ‫
‫ چرخ ربات و انکودر هر دو به یک موتور متصل شده اند و هم محور هستند و با هم میچرخند. ‫
‫انکودر به دقت تنظیم شده و داخل شیار اپتوکوپلر ماژول قرار گرفته است. ‫
‫با شمارش پالسهای ارسالی از ماژول توسط میکرو کنترولر میتوان سرعت و میزان حرکت ربات را محاسبه کرد. ‫
‫در اینجا یک نمونه کد آردواینو برای نمایش وضعیت چرخ انکودر را می آوریم. ‫
‫پین دیجیتال ماژول DO را به پین دیجیتال 8 آردواینو وصل کنید. تغذیه آن را نیز متصل کرده و با قرار دادن یک مانع در شیار کوپل نوری ماژول نتیجه را بر روی میکرو کنترولر ببینید. ‫
‫ال ای دی روی میکروکنترولر روشن و خاموش میشود

کد آردواینو ماژول شمارنده و سرعت

/*
-Arduino Position Encoder
-Using a generic photo-interrupter
-Basic Test Sketch 1 / June 2014
-Tested at TechNode Protolabz
-www.electroschematics.com/
*/
const int encoderIn = 8; // input pin for the interrupter
const int statusLED = 13; // Output pin for Status indicator
const int pulseOutput = 12; // Pulse output pin for external interfacing
int detectState=0; // Variable for reading the encoder status
void setup()
{
pinMode(encoderIn, INPUT); //Set pin 8 as input
pinMode(statusLED, OUTPUT); //Set pin 13 as output
pinMode(pulseOutput, OUTPUT); // Set Pin 12 as output
}
void loop() {
detectState=digitalRead(encoderIn);
if (detectState == HIGH) { //If encoder output is high
digitalWrite(statusLED, HIGH); //Turn on the status LED
digitalWrite(pulseOutput,HIGH); // Give a logic-High level output
}
else {
digitalWrite(statusLED, LOW); //Turn off the status LED
digitalWrite(pulseOutput,LOW); // Give a logic-Low level output
}
}

  • جدید ترین
    • جدید ترین
    • موضوع
    • نام
    • 8
    • 24
    • 48
    • 96
    • 120
    120 تعداد نمایش
  • جدید ترین
    • جدید ترین
    • موضوع
    • نام
  • تعداد نمایش 6
    • 8
    • 24
    • 48
    • 96
    • 120