صفحه اصلی سایت   ثبت نام   ورود
Iran IEEE
The Iranian Virtual Electronic And Electrical Society
۱
کاربرانی که به این تاپیک رای داده اند
ارسال به :
۱۳۸۹/۱۱/۳ - 11:18 PM
  ۱   |  1 #
کاربر پرتوان
پست ها : 90
تشکر ها : 100
103 بار تشکر شده در 58 پست
اندازه گیری سرعت با سنسور چرخشی
اندازه گیری سرعت میکرو کنترلر AVR با KMI15/1 سنسور چرخشی سرعت اگر شما تصمیم به ساختن سنسوری برای اندازه گیری سرعت بر اساس میکروکنترلرAVR داشته باشید ،با این صفحه و توضیحات به هدف اصلی خود خواهید رسید. در این پروژه با میکروکنترلر AT90S2313 به کمک کامپایلر بسکام نتیجه را مشاهده خواهید کرد.

(pic 1)

سنسور آشکار ساز سرعت KMI15/1 براساس دندانه های چرخ مورد آزمایش عمل می نماید.سنسور شامل یک المان اندازه گیرحس گر مغناطیسی می باشد.که فرکانس جریان دیجیتال خروجی متناسب با سرعت و عبور هر پر بال چرخدنده (پروانه) است. این برنامه به قسمت های زیر تقسیم بندی میشود:گرفتن اطلاعا ت در مورد پالس، تبدیل مقدار پالس ورودی به فرکانس ، و محاسبه مقدارفرکانس با مقدار PWM می باشد حال در اینجا راهنمایی ساخت این پروژه تمام مسائل مورد نیاز را به صورت مرحله به مرحله ارائه خواهیم کرد.در مرحله اول اطلاعات و تکنیک های مورد نیاز برای استفاده از سنسور و شماتیک ، آن را خواهیم آورد.

(pic 2)

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

(pic 3)

این سنسور کلاً دارای دو پین می باشد که یک پین برای منبع تغذیه و دومین پین برای جریان خروجی ،جریان خروجی دارای دو ضعیت می باشد. وضعیت ۷ میلی آمپر منطقی ۰ می باشدو ۱۴ میلی امپر منطقی ۱ قرار می گیرد.ولتا‍ژ ورودی این مدار مجتمع۱۲ ولت است که ولتاژ خودرو نیز می باشد، این مدار قابلیت انجام وظیف تا ۲۵۰۰۰ هرتز را داراست.برای استفاده در یک واحد کنترل (برا ی استفاده در MCU) خروجی باید به منطق TTL تبدیل گردد. مدار تبدیل آن در زیر آورده می شود. I1 جریان منبع تغذیهکه ۷ تا ۱۴ میلی آمپر استفاده شده برای امتحان میباشد.در حالت واقعی خروجی سنسور جایگزین I1 می شود. R1,C1 مبدل جریان به ولتاژ هستند.۷mA=0.7v , 14mA=1.4vTLC339(LM339) مقایسه گر کلاسیک ولتاژ با مقایسه ولتاژ ۰٫۷/۱٫۴ و با ایجاد در خروجی مقایسه گر ۰ و یا ۵ ولت است. که مقایسه گر با سوئیچ ولتاژ در ورودی با تنظیم میشود یک ولت به یک منطقیو زیر یک ولت به ۰ منطقی اشاره میکند.خروجی مقایسه گر به IC555 میرود.این مدار بر اساس مبانی اشمیت تریگر و استفاده از پالس پاک کننده در مقایسه گر استفاده میکند.

pic 4
pic 5

شماتیک های ارئه شده ساده بوده و نیاز به توضیح را نمی بینیم اگر ابهامی وجود دراد با ارائه نظر ارائه خواهد شد.

pic 6

نکته: خروجی PWM از MCU برای درایو برای هر مقیاسی قابل استفاده نبوده زیرا PWM خارجی و ازمایش تان، باید تقویت کننده ایی به گرفتن جریان زیاد و تبدیل به امپدانس استفاده کنید. ما در اینجا از NE5532 استفاده کرده ایم که هر اپ امپ ساده ء ولتاژ فالور نظیرLM138 که در بالا تشریح شده را متصل می کنیم. برنامه برا یmcu به قسمت های زیر می تواند تقسیم شود: -گرفتن اطلاعات درباره پالس با PulseIN در بسکام (figure 1) -تبدیل مقدار PulseIN به فرکانس بر حسب هرتز -محاسبه مقدار فرکانس به مقدار pwm (figure 2) جدول figure 1 ترکیب گوناگون ازمقدار XTAL و Genus استفاده شده در مقدار PulseIN را نشان میدهد.مقدار Genus در mcs.lib می توانید پیدا شود.(جستجو با [_PULSE_IN ] ) و می توانید اینچنین ببینید: @genus(9) ;THIS FOR 10 US UNITS but approx. depends on XTAL..
Genuse(9) مقدار معمول در mcs.lib می باشد. و اگر شما قصد به تغییر این مقادیر داشته باشد میتوانید با بازنویسی در lib و کامپایل lib قبل از کامپایل برنامه اقدام کنید.

pic 7

بهترین ترکیب برای کابرد ما پیدا کردن genus(0) و XTAL 4mhz است.
(شاید ۱۰MHZ بهتر باشد اما در مرحله اول از این کرستال استفاده نمی کنیم)
مثال برنامه در این جا اورده شده است این برنامه پالس را از PINB.2 میگیرد و مقدار فرکانس را محاسبه می کند.


  1. Dim W As Word  
  2. Dim Pinhz As Word  
  3. Dim Temp As Single  
  4. Dim Rpm As Word  
  5. Pinhz = 20135  
  6. Pulsein W , Pinb , 2 , 1  
  7. Temp = Pinhz / W  
  8. Temp = Temp * 10  
  9. Rpm = Temp / 16.5  
  10. Temp = Rpm * 60


Rpm = Temp / 16 مقدار ثابت ۱۶٫۵ نشان دهنده این است که شما چقدر پالس برای یک RPM و نیاز دارید و که امکان تغییر ان به عهده شماست. که در جدول زیر اورده شده است.
مقدار Pinhz = 20135 ، مقدار PulseINدر ۱۰هرتز می باشد که در جدول بالا نمایان است.

pic 8


این جدول مقدار متفاوت RPM با ااعدد متفاوت هر پالس در چرخش موتور را نشان میدهد.فرکانس برای این سنسوراز فرمول مقابل اورده می شود:
RPM * [pulses per 1 revolution] / 60
در اینجا محاسبه فرکانس به pwm را ارئه خواهیم کرد که ساده نبوده ولی برنامه Excell کمک فراوانی می نماید.
برای چک کردن پارامتر اصلی آزمایش RPM در اتومبیل ،مااز MCU
(شماتیک از بالا + فالور ولتاژ) با امتحان برنامه و خط RS232 استفاده کرده ایم. برنامه ساده در MCU به گرفتن مقدار از خط سریال و این مقدار نوشته به رجیستر pwm نوشته می شود. برنامه می تواند شبیه زیر باشد:
  1. Config Timer1 = Pwm , Prescale = 64 , Compare A Pwm = Clear Down , Pwm = 10  
  2. Dim A as word  
  3. Do  
  4. Input "PWM=" , A  
  5. Pwm1a = A  
  6. Loop  
  7. Dim Temp As Single  
  8. Dim Rpm As Word  
  9. Temp = 258.38 * Log(temp)  
  10. Temp = Temp - 1437.2  
  11. Rpm = Temp  
  12. Pwm1a = Rpm


Tempمقدار ورودی rpm می باشد که در خروجی قرار می گیرد. Temp از PWMبا فرمول ریاضی تولید شده در ستون سوم جدول محاسبه می شود خط مهم در برنامه ،خط RPM=Temp می باشد زیرا RPM از نوع WORD و از آنجائیکه Temp از نوع single می باشد.در این خط تبدیل single به word صورت می گیرد زیرا رجیستر pwm با مقدر single با مشکل مواجه است.بدون این خط برنامه کار نخواهد کرد اما مقادیر محاسبه شده با مقدار register هماهنگ شده نیستند. که در نتیجه در گراف هم مشاهده خواهد شد بعضی مقادیر اندازه گیری شده دارای تفاضلی ناچیز می باشد

pic 9
pic 10
pic 11

در این برنامه فقط قبل از کامپایل اصلی mcs.lib باGenus(0) مورد کامپایل قرار می گیرد
  1.  Config Timer1 = Pwm , Prescale = 64 , Compare A Pwm = Clear Down , Pwm = 10  
  2. Dim W As Word  
  3. Dim Pinhz As Word  
  4. Dim Temp As Single  
  5. Dim Rpm As Word  
  6. Pinhz = 20135  
  7. Pwm1a = 0  
  8. Do  
  9. Pulsein W , Pinb , 2 , 1  
  10. Temp = Pinhz / W  
  11. Temp = Temp * 10  
  12. Rpm = Temp / 16.5  
  13. Temp = Rpm * 60  
  14. Temp = 258.38 * Log(temp)  
  15. Temp = Temp - 1437.2  
  16. Rpm = Temp  
  17. Pwm1a = Rpm  
  18. Loop 

 
شما نمی توانید فایل ضمیمه را دانلود کنید

  
 لیست پاسخ ها به این تاپیک
این تاپیک دارای هیچ پاسخی نمی باشد