Analog to Digital Converter(ADC) Lecturer: Reza Arjmandi Autumn 2015 Lecture 18: Introduction ADC Unit and initialization.

Slides:



Advertisements
Similar presentations
Switching Mode Power Supply Design based on L6565 Master : Mr.Ghaderi Researcher : Dariush Moridi SMPS
Advertisements

Awe sim.
معاونت درمان امور مامایی اردیبهشت 90. برای ثبت اطلاعات در برنامه نرم افزاری نظام مراقبت مرگ پریناتال ابتدا لازم است برنامه نرم افزار info-path وپرنیان.
الگوریتم ژنتیکی. تعریف  الگوریتم ژنتیکی، رویه ای تکراری است که راه حل های انتخابیش را بصورت رشته ای از ژنها که کروموزوم نامیده می شوند، بازنمایی می کند.
Decision Tree.
دکتر سعید شیری قیداری & فصل 5 کتاب
فایل پردازی در C File based Programming in C. انواع فایل متنی –سرعت بالا –حجم کمتر –امکان دسترسی تصادفی –حفظ امنیت داده ها دودویی (باینری) –امکان باز.
ARM Session , Spring Copyright © 2012 Mohammad Moallemi.
1 Network Address Translation (NAT). 2 Private Network شبکه خصوصی شبکه ای است که بطور مستقیم به اینترنت متصل نیست در یک شبکه خصوصی آدرس های IP به دلخواه.
روش تحقیق جلسه چهارم دانشگاه صنعتی اصفهان دانشکده کشاورزی
Normal Distribution بسم الله الرحمن الرحیم اردیبهشت 1390.
Stepper Motor Configuration
Alphanumeric LCD Configuration
PORT(I/O) Configuration
Seven Segment Configuration Lecturer: Reza Arjmandi Autumn 2015 Lecture 5: Introduction 7Segment Configuration.
Arrangements of Lines C omputational Geometry By Samaneh shafi naderi
Interrupt Control Unit Lecturer: Reza Arjmandi Autumn 2015 Lecture 10, 11: Introduction Interrupt Concept, interrupt control unit and External Interrupt.
Lecturer: Reza Arjmandi Autumn 2015
Timer Counter 1 Lecturer: Reza Arjmandi Autumn 2015 Lecture 14, 15: Introduction Timer/Counter1 Registers, initialization.
تایمر در میکروکنترلرهای AVR. تایمرها در میکروکنترلرهای AVR تایمر در حقیقت یک شمارنده است که پالس ورودی را می شمارد. در صورتی که پالس ورودی کنتور از پالس.
پیاده سازی کنترلر PC/104. Contents PC/104 پیاده سازی کنترلر HILتست 1.
آشنايي با سيستم اعداد.
Session 7,8.
[c.
Session 6.
تمرین هفتم بسم الله الرحمن الرحیم درس یادگیری ماشین محمدعلی کیوان راد
هیدروگراف(Hydrograph) تهیه : دکتر محمد مهدی احمدی
ویژگی های DHCP جلوگیری از Conflict سرعت بخشیدن به کارها مدیریت متمرکز
به نام خدا.
بنام خدا زبان برنامه نویسی C (21814( Lecture 12 Selected Topics
SY800 router mode [AD-14-TB ].
Mobile Robot Kinematics
مدولاسیون چندحاملی OFDM
فصل 3: مفاهیم مخابراتی 1-3 ملاحظات عمومی 2-3 مدولاسیون آنالوگ
Address: Times New Roman, size 34
تبدیل سیگنال آنالوگ به سیگنال دیجیتال
میکروپرسسور References:
فصل دوم جبر بول.
Route configuration for 5400W ADSL Router
SSO Single Sign-on Systems
1.
خودآموز آسان ویکی‌پدیای فارسی
Strain gauge Omid Kooshki Mohammad Parhizkar Yaghoobi
کوئیز از جلسه قبل) کارخانه ای در حال خرید قطعه‌ای برای یکی از ماشین‌آلات خود می باشد اگر نرخ بهره 10% برای محاسبات فرض شود، دو مدل از قطعه ماشین در دسترس.
مدارهای منطقی فصل سوم - خصوصیات توابع سويیچی
ابزار اندازه گیری و کنترل
بررسی آخرین دستاوردهای لیزرهای گسیل سطحی کاواک عمودی (VCSEL)
مهندسی فناوری اطلاعات ارائه دهنده دکتر سيد امين حسيني
دینامیک سیستمهای قدرت مدرس: دکتر مهدی بانژاد
معرفی روش آنالیز حرارتی تفاضلی و روش گرماسنجی روبشی تفاضلی An Introduction to Differential Thermal Analysis (DTA) and Differential Scanning Calorimetry.
Bucket sort اكرم منوچهري زهرا منوچهري
Ali Karimpour Associate Professor Ferdowsi University of Mashhad
Related group and college Shiraz University of Medical Sciences
دکتر سعید شیری قیداری & فصل 5 کتاب
بسم الله الرحمن الرحیم هرس درخت تصمیم Dr.vahidipour Zahra bayat
با تشکر از جناب آقای مهندس بگ محمدی
جستجوی منابع الکترونیک
فصل ششم مدارهای ترتیبی.
ابزارهای جستجوی پایان نامه
مدار منطقي مظفر بگ محمدي
مدار منطقي مظفر بگ محمدي
Uniprocessor Scheduling
Mobile Robot Kinematics
به نام یکتای دانا فصل اول: متدها و قواعد.
نسبت جرم فرمولی ”جرم اتمی و فرمول تجربی
عملیات با رشته‌ها موسوی ندوشنی ویراست 1389 دانشگاه صنعت آب و برق.
برنامه ریزی خطی پیشرفته (21715( Advanced Linear Programming Lecture 7
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
مباني كامپيوتر و برنامه سازي Basics of Computer and Programming
سد خونی- مغزی. تکنولوژی نمایش فاژی و کاربرد آن  مقدمه و تاریخچه  نمایش فاژی در تولید آنتی بادی مونوکونال.
Presentation transcript:

Analog to Digital Converter(ADC) Lecturer: Reza Arjmandi Autumn 2015 Lecture 18: Introduction ADC Unit and initialization

AVR Microcontroller-General Structure AVR CPU BUS Flash Memory SRAM EEPROM Timer/ Counter Timer/ Counter USART TWI ADC MCU Control and Timing I/O Ports Interface I/O Ports Interface Watchdog Timer SPI ISP Interrupt Unit PORTDPORTCPORTBPORTA Internal Calibrated Oscillator Crystal Oscillator ATMEGA32 Block Diagram: DataSheet Page4

Analog to Digital Converter ADC قطعاتی مانند : ADC0804 ، MAX190 ، AD673 که به ترتیب بوسیله شرکت های Maxim ، National ، Analog Devices ساخته شده ‌ اند

Analog to Digital Converter ADC (10 bit) ولتاژ مرجع (Vref) ولتاژ ورودی (Vin)  1023 Accuracy(10bit): Vref(ex=5v) ? -Vref(-1023) +Vref(1023) 1023 Section 1023 Section  ? = (841 * 5) / 1023 = 4.11v رزولوشن یا توانایی تفکیک (LSB): یک LSB برابر کمترین مقداری است که ADC میتواند آن را تشخیص دهد، به بیان دیگر با تغییر ولتاژ ورودی ADC به اندازه ‌ ی یک LSB خروجی آن یک واحد افزایش می ‌ یابد LSB = Vref / Accuracy

ADC محدوده ولتاژ مرجع بصورت : 2v < Vref < 5v 1.9mv < LSB < 4.8mv ( رزولوشن یا تفکیک توانایی )LSB = Vref / Accuracy ADC 0~7 : پایه ولتاژ ورودی AREF: پایه ولتاژ مرجع AVCC, GND: پایه های تغذیه مبدل

ADC جهت کاهش نویز موثر بر روی واحد ADC تغذیه ‌ ی آن به صورت جداگانه از پایه Avcc تامین میشود. ولتاژ این پین نباید بیشتر از 0.3v با Vcc تفاوت داشته باشد Vcc (5v) 100nF 10uH

ADC-Register 1- ADMUX 2- ADCH,L 3-ADCSRA 4-SFIOR

ADC-Register-ADMUX ADMUX: ADC Multiplexer Selection Register انتخاب کانال و بهره ورودینحوه نمایش نتیجه تبدیل در رجیستر داده انتخاب ولتاژ مرجع

ADC-Register-ADMUX بیت ‌ های انتخاب کانال و بهره ورودی MUX 4~0: نکته ! در صورتی که ADC مشغول انجام یک تبدیل بوده و این بیت ‌ ها تغییر کنند، تا اتمام تبدیل جاری این تغییر انجام نخواهد شد.

روش ‌ های انتقال سیگنال : 1- تک پایانه (Single ended): ساده ترین راه انتقال سیگنال الکتریکی بوسیله یک کانال انتقال است. اغلب یک سیم حامل سیگنال مورد نظر است که سیگنال را نسبت به یک مرجع پتانسیل منتقل میکند 2- تفاضلی (Differential): سیگنال بوسیله دو سیم منتقل میشود، سیم دوم حامل قرینه ‌ ی سیگنال اول است. در سمت گیرنده این دو سیگنال به ورودی یک تقویت کننده تفاضلی اعمال شده و تنها اختلاف آن ‌ ها تقویت میشود. بدین ترتیب آنچه روی دو خط مشترک است و معمولا نویز است، در گیرنده حذف میشود دو سیگنال قرینه ‌ ی V+ و V- (V+) – (V-) ADC-Register-ADMUX

بیت ‌ نحوه نمایش تبدیل در رجیستر داده ADLAR(ADC Left Adjust Result): ADC-Register-ADMUX رجیستر داده ADC (ADCH,L) : با پایان یافتن عملیات تبدیل، نتیجه در این رجیستر قرار می ‌ گیرد.

ADC-Register-ADMUX-Reference Voltage Configuration ولتاژ مرجع (Vref) برای ADC از منابع زیر میتواند تامین شود : 1- ولتاژ 2.56v داخلی 2- ولتاژ 5v داخلی روی پایه AVCC 3- ولتاژ روی پایه Aref (2v < Aref < 5v) ADC BANDGAP REFERENCE (2.56v) BANDGAP REFERENCE (2.56v) 100nF 2v < Voltage < 5v Vcc (5v) مرجعتغذیه بیت ‌ های انتخاب مرجع ولتاژ REFS1~0 (Reference Select) :

ADCSRA: ADC Control and Status Register A ADC-Register-ADCSRA بیت فعال ‌ ساز مبدل تنظیمات مد کاری بیت های مربوط به وقفه بیت های مربوط به پیش تقسیم ‌ کننده Prescaler

بیت ‌ های مربوط به پیش ‌ تقسیم کننده ADPS 2~0 (ADC Prescaler) : واحد ADC مجهز به یک تقسیم کننده فرکانس (Prescaler) که بوسیله آن از فرکانس اصلی سیستم استفاده میکند. بوسیله این تقسیم کننده ، فرکانس سیستم به اعداد مختلفی تقسیم میشود و بدین وسیله میتوان سرعت نمونه برداری را تغییر داد نکته ! حداکثر فرکانس کاری ADC قطعه ‌ ی ATMEGA32 برابر با 200KHz بوده و افزایش این فرکانس تا 1MHz باعث کاهش دقت آن میشود ( شدیدا ) ADC-Register-ADCSRA تئوری نمونه برداری Nyquist: این قانون نرخ نمونه برداری مناسب برای تبدیل آنالوگ به دیجیتال را مشخص میکند. بدین صورت که فرکانس نمونه برداری از سیگنال آنالوگ، حداقل باید دو برابر بالاترین فرکانس موجود در طیف سیگنال باشد.

بیت ‌ های مربوط به وقفه ADIE, ADIF: ADC-Register-ADCSRA وقفه ‌ ی مبدل ADC: واحد ADC در AVR فقط دارای یک وقفه میباشد. این وقفه که ADC Conversion Complete نام دارد، با پایان یافتن عملیات تبدیل فعال میشود. بیت Flag: ADIF بیت فعال ساز اختصاصی : ADIE نام این بردار وقفه در IAR: ADC_vect

بیت ‌ های تنظیمات مد کاری ADSC (ADC Start Conversion), ADATE (ADC Auto Trigger Enable): ADC-Register-ADCSRA فرمان تبدیل (Conversion) : زمانی که این فرمان به سمت ADC صادر شود، واحد ADC یک نمونه برداری انجام میدهد، صدور فرمان تبدیل توسط منابع مختلف باعث بوجود آمدن Mode های کاری این واحد شده است. واحد ADC در AVR میتواند در یکی از 3 مد کاری زیر فعالیت کند : 1- تک تبدیل (Single): در این مد پس از هر عمل تبدیل، ADC منتظر میماند، تا دوباره فرمان تبدیل صادر شود. این فرمان تبدیل باید توسط کاربر صادر شود 2- تبدیل خودکار (Auto Trigger): این مد همانند مد Single میباشد و تنها تفاوت آن ‌ ها در این است که فرمان تبدیل به صورت خودکار انجام میشود و به کاربر نیازی نیست. در این مد فرمان تبدیل میتواند توسط منابع مختلفی صادر شود

ADC-Register-SFIOR SFIOR: Special Function I/O Register Free Running: این مد در واقع زیر مجموعه ‌ ای از مد بالا است، در این مد ADC ، به صورت پیوسته از ورودی نمونه ‌ برداری میکند. در این مد همیشه پایان یک نمونه ‌ بردای با آغاز نمونه ‌ بردای بعدی همراه است.

ADC-Register-ADCSRA بیت فعال ‌ ساز مبدل ADCEN (ADC Enable): با یک کردن بیت شماره 7 از این رجیستر واحد ADC فعال میشود، صفر کردن این بیت، در حالی که ADC مشغول تبدیل است باعث میشود که عملیات تبدیل نیمه ‌ کاره رها شود

ADC-Example1 ولت ‌ متر : یک ولت متر DC بسازید که محدوده اندازه ‌ گیری آن بین 0 تا 50 ولت باشد

ADC-Example1 ولت ‌ متر : یک ولت متر DC بسازید که محدوده اندازه ‌ گیری آن بین 0 تا 50 ولت باشد #include #include "LCDCHR_lib.c" unsigned int convert(void); void main(void) { DDRC=0xFF; float Data1=1; ADCSRA=((1<<ADEN)|(1<<ADPS1)|(1<<ADPS0)); LCDinit(); LCDcursorOFF(); while(1) { Data1=convert(); Data1=(Data1*(5.0/1023.0))*10; LCDGotoXY(0,0); LCDstring("V= "); LCD_floatnum(Data1); LCDstring(" v"); } unsigned int convert(void) { ADCSRA|=(1<<ADSC); while(!(ADCSRA & (1<<ADIF))); ADCSRA|=(1<<ADIF); return(ADC&0x03FF); }

Temperature Sensor-LM35 سنسور اندازه گیری دما LM35:

Temperature Sensor-LM35 سنسور اندازه گیری دما LM35: در صورتی که نیاز به اندازه گیری دمای زیر صفر ندارید میتوانید از آرایش سمت چپ ( شکل زیر ) و برای اندازه ‌ گیری دمای زیر صفر لازم است از پیکربندی سمت راست ( شکل زیر ) استفاده کنید فرمول : Vout * 100 = دما

LM35-Example2 #include #include "LCDCHR_lib.c" unsigned int convert(void); main() { DDRC=0XFF; int data1; ADCSRA|=((1<<ADEN)|(1<<ADPS1)|(1<<ADPS0)); ADMUX|=(1<<REFS0); //Vref= AVCC LCDinit(); LCDcursorOFF(); while(1) { data1=convert(); data1=(int)((data1*(5.0/1023.0))*100); LCDGotoXY(0,0); LCDstring("T= "); LCD_intnum(data1); LCDsendChar(0XDF); LCDsendChar('c'); } unsigned int convert(void) { ADCSRA|=(1<<ADSC); while(!ADCSRA_Bit4); ADCSRA|=(1<<ADIF); return(ADC&0X03FF); } اندازه گیری دما با LM35:

Contact us