امتیاز موضوع:
  • 0 رأی - میانگین امتیازات: 0
  • 1
  • 2
  • 3
  • 4
  • 5
adc برای میکرو
نویسنده پیام
alihes آفلاین
تازه وارد

ارسال‌ها: 23
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۹

تشکرها : 27
( 4 تشکر در 3 ارسال )
ارسال: #1
adc برای میکرو
سلام به اساتید
می خواستم از ADC بیشتر بدونم.
بحث ساخت ولتمتر یا آمپر متر یا هر ورودی آنالوگی که بتونم با AVR روی LCD نمایش بده ذهنمو مشفول کرده.
اگه برام مثالی هم بزنید لطف کردید
۲۰-شهریور-۱۳۸۹, ۱۸:۲۳:۰۴
ارسال‌ها
پاسخ
تشکر شده توسط : WhiteNoise, orange signal
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #2
RE: adc برای میکرو
از کتاب سعید یه نفر : آموزش بسکام


مبدل آنالوگ به ديجتال(ADC)



گاهي نياز است که يک کميت بيروني (مانند دما و شدت صدا و شدت نور و... ) اندازه گيري شود ، براي اينکار از وسيله اي به نام سنسور استفاده مي شود.

سنسور ها مقدار يک کميت آنالوگ را به ولتاژ يا جريان تبديل مي کند ، سپس اين ولتاژ انالوگ به مبدل انالوگ به ديجتال ميکرو داده مي شود و مبدل انالوگ به ديجتال مقدار ولتاژ را به کميت ديجتال متناظر تبديل ميکند ، سپس اين مقدار ديجتال با اعمال رياضي به مقدارعددي متناظر تبديل مي شود و روي LCD يا سون سگمنت نمايش داده مي شود .

حداکثر ولتاژي که مبدل انالوگ به ديجتال ،که از اين به بعد به آن Adcمي گوييم ميتواند اندازه بگيرد برابر با VCC است و اگر ولتاژ اعمالي از VCC بيشتر شود ممکن است مبدل انالوگ به ديجتال آسيب ببيند (معمولا بيشرين ولتاژ ورودي که به ADC اعمال ميکنند 5 ولت است) و کمترين ولتاژ اعمالي برابر با GND است .

ADC به ازاي ولتاژ 5 ولت عدد 1023 و به ازاي صفر ولت عدد صفر را در متغيير مربوطه قرارمي دهد .

Adcبا دستور زير راه اندازي مي شود :

کد php:
Config Adc Single/Free Prescaler Auto Reference Opt 

گزينه هاي single/free :
در حالتي که Single انتخاب شود مقدار ديجتال سيگنال انالوگ توسط دستور Getadc در يک متغيير از جنس Word ريخته مي شودو در حالتي که Free انتخاب شود مقدار ديجتال سيگنال انالوگ کانال صفر در ريجيستر مربوط به Adc ريخته مي شود .

Prescaler :
اين گزينه فرکانس ADC را مشخص ميکند و در حالتي که Autoانتخاب شود کامپاير با توجه به کريستال انتخاب شده بهترين کلاک را در نظر مي گيرد ، موارد ديگر براي کلاک عبارتند از 2 و 4 و 8 و 15 و 32 و 64 يا 128 است که يه جاي گزينه Auto نوشته مي شود .
هر چه عدد کمتری وارد شود فرکانس فوق بیشتر است .

Reference :
در صورتي که بخواهيد از يک ولتاژ مرجع استفاده کنيد اين گزينه را بنويسيد (در صورت عدم استفاده از اين دستور ولتاژ مرجع زمين است و نيازي به نوشتن اين دستور نيست) .
(اين امکان فقط در بعضي از ميکرو ها وجود دارد ) Opt ميتواند يکي از موارد زير باشد :
Off : در اين حالت ولتاژمرجع داخلي خاموش شده و از ولتاژ مرجع بر روي پايه Aref استفاده مي شود.
Avcc : در اين حالت ولتاژ پايه Avcc به عنوان ولتاژ مرجع در نظر گرفته مي شود .
Internal : در اين حالت از ولتاژ مر جع داخلي 2.65 ولت استفاده مي شود .

بعد از راه اندازي Adc نوبت به استفاده از آن است براي اينکار با دستور Start Adc ، ADC روشن شده و شروع به نمونه برداري از سيگنال انالوگ موجود بر روي پايه اش مي کند و آن را به مقدار ديجتال تغيير مي دهد ، اين مقدار ديجتال با دستور زير در يک متغيير از جنس Word ريخته مي شود

کد php:
Var = Getadc (Channel

Var يک متغيير از جنس Word ميباشد
Channel : شماره : شماره Adc است که سيگنال انالوگ به آن اعمال شده .

مانند :

کد php:
$regfile "m8def.dat" 
$crystal 8000000 
Config Lcd 
16 
Config Lcdpin 
Pin Db4 Pinb.2 Db5 Pinb.3 Db6 Pinb.4 Db7 Pinb.5 Rs Pinb.0 Pinb.1 
Config Adc 
Single Prescaler Auto 
Dim A 
As Word 
Start adc 
Q

Getadc(1
Locate 1 
Lcd A 
Goto 
End 

در خط هاي اول LCD و ADC پيکر بندي شده است در خط دهم مقدار انالوگ داده شده به پايه 24 ميکرو (PORTC.1) بعد از تبديل به مقدار ديجتال در متغيير A ريخته مي شود وسپس اين متغيير در سطر اول وستون اول LCD به نمايش در مي آيد .

مثال

کد php:
$regfile "m16def.dat"
$crystal 12000000
Config Lcd 
16 4
Config Lcdpin 
Pin Db4 Portd.0 Db5 Portd.1 Db6 Portd.2 Db7 Portd.3 Portd.4 Rs Portd.5
Config Adc 
Single Prescaler Auto
Dim A 
As Word As Word As Word As Word As Word As Word As Word As Word
Cls
Q
:
Getadc(0) : Locate 1 Lcd A
Getadc(1) : Locate 1 Lcd B
Getadc(2) : Locate 2 Lcd C
Getadc(3) : Locate 2 Lcd D
Getadc(4) : Locate 3 Lcd E
Getadc(5) : Locate 3 Lcd F
Getadc(6) : Locate 4 Lcd G
Getadc(7) : Locate 4 Lcd H
Goto Q
End 

در اين مثال از ميکرو مگا 16 و LCD 16*4 استفاده شده است ، ميکرو مگا 16 داراي 8 کانال ADC ميباشد ، که در اين مثال از همه ADC هاي اين ميکرو استفاده شده است .

ممکن است اين سوال براي شما پيش بيايد که : ADC نمي تواند بيشتر از 5 ولت را اندازه گيري کند ، ما ولتاژ هاي بالا تر را چگونه اندازه بگيريم؟ براي اندازه گيري ولتاژ هاي زياد شما بايد آن را با مقاومت کم کنيد ، فرض کنيد يک ولتاژ از 0 تا 200 ولت متغيير داريد و ميخواهيد آن را با ميکرو اندازه بگيريد ، شما بايد اين ولتاژ متغيير را به 0 تا 5 ولت تبديل کنيد ...
۰۲-مهر-۱۳۸۹, ۰۱:۱۷:۰۲
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, EBKA, orange signal, mahdi075, babak_mobile
t3r!p3000 آفلاین
         
*****

ارسال‌ها: 5,050
موضوع‌ها: 83
تاریخ عضویت: اردیبهشت ۱۳۸۵

تشکرها : 34447
( 17423 تشکر در 5116 ارسال )
ارسال: #3
RE: adc برای میکرو
این تایپیک رو هم ببین :
پروژه ولت متر و آمپر متر با AVR
http://www.iranled.com/forum/showthread.php?tid=18389

این منابع اش :
http://www.iranled.com/forum/showthread.php?tid=10248
http://www.iranled.com/forum/showthread.php?tid=8031
۰۶-مهر-۱۳۸۹, ۱۴:۵۶:۰۸
ارسال‌ها
پاسخ
تشکر شده توسط : رسول, EBKA, alihes
alihes آفلاین
تازه وارد

ارسال‌ها: 23
موضوع‌ها: 6
تاریخ عضویت: شهریور ۱۳۸۹

تشکرها : 27
( 4 تشکر در 3 ارسال )
ارسال: #4
RE: adc برای میکرو
سلام و سپاس از شما
آیا میتونم از ترانس کاهنده 220 به 5 ولت استفاده کنم و موج سینوسی برق شهر به ورودی adc بدم و روی ال سی دی گرافیکی ببینم
و آیا میزان ولتاژ منفی را هم adc میتونه بخونه
۱۴-آذر-۱۳۹۳, ۱۲:۵۳:۴۱
ارسال‌ها
پاسخ
تشکر شده توسط : a.mehran
a.mehran آفلاین
مدیر بخش
*****

ارسال‌ها: 1,029
موضوع‌ها: 93
تاریخ عضویت: فروردین ۱۳۹۲

تشکرها : 5125
( 4490 تشکر در 1882 ارسال )
ارسال: #5
RE: adc برای میکرو
ما چیزی بنام ولتاژ منفی نداریم
منفی که شما میگی در اصل صفر ولته !

silent people have the loudest minds شادی − بهینه شده برای ورژن جدید شادی − بهینه شده برای ورژن جدید
سایت من Abrdade.com
۱۶-آذر-۱۳۹۳, ۱۹:۴۹:۰۰
ارسال‌ها
پاسخ
تشکر شده توسط : milad15m
milad15m آفلاین
عضو افتخاری
****

ارسال‌ها: 460
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۹۳

تشکرها : 1649
( 547 تشکر در 237 ارسال )
ارسال: #6
RE: adc برای میکرو
سلام

اقا من مفهوم این مثبت و منفی و زمین رو دقیقا نمی دونم
مثلا فرق منفی با زمین چیه ؟

می تونید یکم توضیح بدید ؟

با تشکر

Exclamationبیستون کندن فرهاد نه کاریست شگفت
شور شیرین به سر هر که فتد کوهکن استExclamation

میلاد منافی
(آخرین ویرایش در این ارسال: ۱۶-آذر-۱۳۹۳, ۲۰:۲۹:۰۴، توسط milad15m.)
۱۶-آذر-۱۳۹۳, ۲۰:۲۸:۳۵
ارسال‌ها
پاسخ
رسول غایب
بازنشسته
*****

ارسال‌ها: 2,458
موضوع‌ها: 237
تاریخ عضویت: دى ۱۳۸۸

تشکرها : 15003
( 20196 تشکر در 5767 ارسال )
ارسال: #7
RE: adc برای میکرو
(۱۶-آذر-۱۳۹۳, ۱۹:۴۹:۰۰)a.mehran نوشته است: ما چیزی بنام ولتاژ منفی نداریم

چرا نداریم .. داریم خوبشم داریم Biggrin

اکثر آپ امپ ها با ولتاژ منفی کار می کنن

اون صفر یا زمین هم یه چیز دیگست و با ولتاژ منفی فرق داره

کلا سه حالت داریم .. مثبت - منفی - صفر یا زمین

بطور مثال در باطری اون پایه که بهش منفی میگن منفی نیست و در اصل صفر هستش

توسط دو تا باطری می توان اون سه حالت اصلی رو ایجاد کرد یعنی مثبت و منفی و صفر
۱۷-آذر-۱۳۹۳, ۰۱:۲۳:۴۴
ارسال‌ها
پاسخ
تشکر شده توسط : milad15m, vigraz, a.mehran
milad15m آفلاین
عضو افتخاری
****

ارسال‌ها: 460
موضوع‌ها: 17
تاریخ عضویت: شهریور ۱۳۹۳

تشکرها : 1649
( 547 تشکر در 237 ارسال )
ارسال: #8
RE: adc برای میکرو
سلام

خوب اون سه حالت مفهومشون چیه ؟

با تشکر

Exclamationبیستون کندن فرهاد نه کاریست شگفت
شور شیرین به سر هر که فتد کوهکن استExclamation

میلاد منافی
۱۷-آذر-۱۳۹۳, ۰۱:۴۷:۲۸
ارسال‌ها
پاسخ


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  حذف نویز ADC میکرو برای اعمال ولتاژ 20 میلی ولت ؟ mega16 18 3,428 ۳۱-خرداد-۱۳۹۹, ۱۱:۱۵:۳۴
آخرین ارسال: a.mehran
  معرفی یک سنسور جریان برای اتصال به میکرو ؟ mega16 6 1,738 ۲۷-اردیبهشت-۱۳۹۹, ۱۷:۳۸:۳۲
آخرین ارسال: Ambassador
  تست میکرو saber.k 10 14,048 ۰۹-شهریور-۱۳۹۵, ۰۲:۰۹:۲۷
آخرین ارسال: yadulla fazel
  اتصالات برای روشن کردن میکرو poiut 1 2,147 ۱۸-آذر-۱۳۹۴, ۱۷:۵۵:۲۹
آخرین ارسال: sharin
  سوال در مورد حافظه جانبی برای میکرو pontiac132 4 4,705 ۰۵-اسفند-۱۳۹۳, ۲۳:۵۸:۵۹
آخرین ارسال: pontiac132
  کمک برای شرط گذاشتن برای یک فرکانس خاص sinohe 5 4,170 ۱۱-آذر-۱۳۹۳, ۰۰:۱۵:۱۸
آخرین ارسال: sinohe
  میکرو و ال ای دی dostane 4 3,376 ۲۴-شهریور-۱۳۹۳, ۱۶:۳۹:۰۰
آخرین ارسال: a.mehran
  تبدیل 24V DC به 5V DC برای تشخیص میکرو nex2004 46 37,979 ۰۱-بهمن-۱۳۹۲, ۱۱:۵۸:۰۳
آخرین ارسال: EBKA
  dac برای میکرو arsalanparsa 16 13,763 ۰۴-شهریور-۱۳۹۲, ۱۲:۲۸:۰۸
آخرین ارسال: omid_phoenix
  درخواست کد تولید پالس آتش برای گیت میکرو Masood-PC 1 2,223 ۰۵-اردیبهشت-۱۳۹۲, ۱۳:۲۱:۱۶
آخرین ارسال: sharin

پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 5 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS