یاهو مرورگر خود را با نام «اکسیس» عرضه کرد
5 خرداد, 1391
تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C
تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C
7 خرداد, 1391
یاهو مرورگر خود را با نام «اکسیس» عرضه کرد
5 خرداد, 1391
تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C
تولید موج سینوسی، مربعی، مثلثی، شیب، دندان اره ای، ECG و نویز با AVR به زبان C
7 خرداد, 1391
اندازه گیری ولتاژ با مبدل آنالوگ به دیجیتال ADC به زبان سی

بازدیدها: 6

در این مثال آموزشی خواهیم گفت که چگونه با استفاده از مبدل آنالوگ به دیجیتال (ADC) میکروکنترلر AVR ولتاژ 0 تا 5 ولت را انداره گیری نمائیم. با کمک تابع read_adc که از نوع برگشتی هم می باشد، ابتدا منتظر می مانیم تا عمل تبدیل به اتمام برسد سپس توسط فرمول زیر مقدار ولتاژ کانال مورد نظر را محاسبه کرده و مقدار نهایی را برگشت می دهیم. تابع قادر است تا مقادیر مختلف را از کانال های مختلف (0تا7) دریافت و پس از محاسبه مقدار نهایی ولتاژ را برگشت دهد.

توسط رابطه زیر مقدار اندازه گیری شده را به ولتاژ تبدیل میکنیم. در این رابطه Vin مقدار ولتاژ مجهول ماست که به ADC داده ایم و Vref هم مقدار ولتاژ مرجع می باشد، که ADC بر اساس این ولتاژ عمل تبدیل را انجام میدهد و ما هم در این مثال ولتاژ پایه 32 یعنی AREF را به عنوان مرجع انتخاب کرده ایم (این قضیه سه حالت دارد که در ادامه خواهیم گفت). ADCW رجیستری است که مقدار تبدیل شده به دیجیتال درون آن قرار میگیرد، در صورتی که دقت 10 بیتی انتخاب شده باشد این رجیستر مقداری از صفر تا 1023 خواهد داشت. 2n نیز همان دقت انتخابی است گفتیم و در این مثال n=10 می باشد. پس به راحتی با رابطهtemp=(ADCW*5)/1023;    مقدار مجهول یعنی Vin بدست می آید و درون متغیر temp قرار میگیرد.

فرمول تبدیل مقدار آنالوگ به دیجیتال ADC
#define ADC_VREF_TYPE 0x00  //Volt.Ref ==> AREF pin
//#define ADC_VREF_TYPE 0x40  //Volt.Ref ==> AVCC pin
//#define ADC_VREF_TYPE 0xC0  //Volt.Ref ==> int.cap on AREF 2.56v
  1. حالت اول ولتاژ مرجع ADC از پین AREF انتخاب می شود. پین 32
  2. حالت دوم ولتاژ مرجع ADC از پین AVCC انتخاب می شود. پین 30
  3. حالت سوم ولتاژ مرجع ADC از ولتاژ مرجع داخلی تثبت شده 2.56 انتخاب می شود. (در مواردی که رنج تغیرات محدود است و یا ولتاژ تغذیه مدار 5 ولت کامل نیست بهتر است از این حالت استفاده شود، که باز بستگی به طراح و سایر پارامترهای دیگر دارد.)

توضیحات کاملتر در صفحات ضمیمه شده زیر موجود می باشد، برای کسب اطلاعات بیشتر در مورد مبدل آنالوگ به دیجیتال به این صفحه مراجعه نمائید.

باتشکر سید محسن قاسمیان