PDA

نسخه کامل مشاهده نسخه کامل : تبدیل آنالوگ به دیجیتال با استفاده از میکرو و Adc








    

Saleen
27-12-2007, 09:46
تمامی توضيحات در فايل ضميمه موجود است



تبدیل آنالوگ به دیجیتال و فرستادن خروجی به PC توسط پورت سریال با استفاده از Microcontroller

این آموزش به شما نشان می دهد که چگونه می توانید یک مقدار آنالوگ را به دیجیتال تبدیل کرده و سپس برای PC خود ارسال نمایید

برای تبدیل آنالوگ به دیجیتال از آی سی ADC0804 استفاده می کنیم سپس خروجی آن که 8 بیت می باشد به میکروکنترل داده می شود که از خانواده 8051 می باشد و مدل آن 89C2051 می باشد و توسط این میکروکنترلر دستورات به آی سی ADC0804 ارسال می شود ، ارتباط ما با پورت سریال کامپیوتر از طریق پورت سریال میکرو می باشد ولی به دلیل اینکه خروجی سریال میکرو TTL است و استاندارد کامپیوتر RS232 از آی سی Max232 برای تغییر سطح ولتاژ استفاده می کنیم یعنی خروجی سریال ما بعد از میکرو به آی سی Max232 رفته و خروجی این آی سی به کامپیوتر وصل می گردد

نقشه شماتیک و نحوه ارتباط آی سی ها با یکدیگر و توضیح نحوه عملکرد آن

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
بخش اول - تبدیل آنالوگ به دیجیتال توسط آی سی ADC0804
ساده ترین راه برای تبدیل آنالوگ به دیجیتال استفاده از آی سی هایی مشابه ADC0804 می باشد . ورودی دیجیتال از پین شماره 6 وارد شده و خروجی از پین های 11 تا 18 خارج می شود . برای اینکه این ای سی همیشه فعال باشد و پین شماره یک را به گراند وصل می کنیم اما در صورتی که بشتر از یک آی سی ADC داشته باشیم آن را با میکرو کنترل می کنیم
پین 7 را به گراند وصل می کنیم
این آی سی دارای نوسان ساز داخلی می باشد اما برای فعالیت به خازن و مقاومت نیاز دارد . یک خازن 150pF بین پین شماره 4 و گراند قرار می دهیم سپس پین 4 را با یک مقاومت 10کیلو اهم به پین 19 وصل می کنیم
برای تغذیه مدار
پین 20 را به VCC یا همان برق 5 ولت وصل کرده
پین های 8 و 10 را به گراند وصل می کنید

بخش دوم : نحوه وصل کردن میکرو کنترولر به آی سی ADC0804 و توضیحات درباره چگونگی استفاده

میکروکنترل AT89C2051 از خانواده 8051 می باشد و از نوع 20 پایه است دارای 2 پورت می باشد و مقدار رم آن 2 کیلوبایت است

برای کنترل ADC0804 ما از 3 خط فرمان استفاده می کنیم و به شرح زیر است
پین 2 ( خواندن ) از آی سی ADC0804 را پین 7 یعنی P3.3 میکروکنترلر 2051 وصل می کنیم
پین 3 ( نوشتن ) را به پین 8 یعنی P3.4
پین 5 ( وقفه ) را به پین 9 یعنی P3.5 وصل می کنیم

8 بیت خروجی آی سی ADC0804 را به پورت 1 میکروکنترلر 2051 وصل می کنیم
پین 18 ( دیتای 0 ) از آی سی ADC0804 را پین 12 یعنی P1.0 از میکروکنترلر 2051 وصل می کنیم
پین 17 ( دیتای 1 ) از آی سی ADC0804 را پین 13 یعنی P1.1
پین 16 ( دیتای 2 ) از آی سی ADC0804 را پین 14 یعنی P1.2
پین 15 ( دیتای 3 ) از آی سی ADC0804 را پین 15 یعنی P1.3
پین 14 ( دیتای 4 ) از آی سی ADC0804 را پین 16 یعنی P1.4
پین 13 ( دیتای 5 ) از آی سی ADC0804 را پین 17 یعنی P1.5
پین 12 ( دیتای 6 ) از آی سی ADC0804 را پین 18 یعنی P1.6
پین 11 ( دیتای 7 ) از آی سی ADC0804 را پین 19 یعنی P1.7 وصل می کنیم


در 2051 پین شماره 12 و 13 دارای مقاومت پول آپ داخلی نیستند و به مقاومت پول آپ خارجی نیاز دارند
یک مقاومت 2.2 کیلو اهم از پین شماره 12 به برق 5 ولت یا همان VCC وصل می کینم
یک مقاومت 2.2 کیلو اهم از پین شماره 13 به برق 5 ولت یا همان VCC وصل می کینم

منبع تغذیه آی سی AT89C2051
از پین 20 به برق 5 ولت وصل کرده و از پین 10 به گراند وصل می کنیم

برای نوسان ساز 8051
یک کریستال 11/0592 مگاهرتزی را به پایه های 4 و 5 میکرو وصل کرده و از ادامه پایه های کریستال به 2 خازن 33 پیکو فاراد و در ادامه به گراند متصل می شود مطابق شکل بالا
به دلیل اینکه می خواهیم از سریال پورت میکرو استفاده کنیم نمی توانیم از کریستال 12 مگاهرتز استفاده کرد

برای مدار Reset
از پین 1 یک مقاوت 8.4 کیلو اهم به گراند وصل می کنیم
از پین 1 یک خازن 10 میکروفاراد به VCC وصل می کنیم مطابق شکل
این مدار به خاطر ریست اولیه شروع کار میکرو می باشد


نحوه کنترل پردازشکر آنالوگ به دیجیتال توسط 8051 . این پردازش شامل چندین مرحله است

مرحله اول : برای شروع عملیات تبدیل باید پین 3 ( نوشتن ) را 0 ( Low ) کرده و سپس آن را 1 ( High ) کنیم با 1 شدن عملیات تبدیل شروع می شود
مرحله دوم : زمانی که پردازش تبدیل کامل شد پایه 5 ( وقفه ) 0 ( Low ) می شود
مرحله سوم : زمانی که پایه 5 ( وقفه ) 0 شد ما باید پایه 2 ( خواندن ) را 0 کنیم تا خط انتقالی دیتای 0 تا دیتای 7 فعال شود و مقدار به دست آوردن ارسال شود
مرحله چهارم : مقدار پورت 1 را می خوانیم ( که مقدار تبدیل شده است ) که یک عدد بین 0 تا 255 می باشد
مرحله پنجم : در نهایت دوباره مقدار پایه 2 (خواندن ) را به حالت 1 ( High ) تبدیل کرده تا برای خواندن مقدار های بعدی آماده باشد

توجه : مقدار های پیش فرض پین های کنترلی 1 ( High ) می باشد

بخش سوم : ارسال اطلاعات به کامپیوتر از طریق پورت سریال توسط ای سی Max232

ما اکنون 8 بیت اطلاعات را به دست آورده ایم و می خواهیم آن را برای کامپیوتر ارسال کنیم برای هیمن ار رابط سریال 2051 استفاده می کنیم اما ولتاژ پورت سریال میکرو منطقی می باشد یعنی 0 و 5 ولی کامپیوتر با استاندارد RS232 یعنی 10 و -10 ولت کار می کند بنابر این از یک مبدل ولتاژ منطقی به RS232 استفاده می کنیم که همان آی سی Max232 می باشد که نقشه پایه های آن به صورت زیر است

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این آی سی به 5 خازن برای ذخیره و رها سازی و رها سازی ولتاژ های 10 و -10 ولت نیاز دارد که مطابق شکل بالا وصل می شود
این ای سی امکان دارای 2 ورودی و 2 خروجی است که در اکثر اوقات فقط از یک ورودی و یک خروجی آن استفاده می شود

نکته بسیار مهم :

برای وصل کردن پورت سریال به مدار از 3 سیم ارسال می شود : 1- گراند 2 - RXT ( دریافت ) 3- TXT (ارسال )

دقت کنید که سیم RXT از مدار به TXT کامپیوتر وصل شود و TXT از مدار به RXT کامپیوتر وصل شود

گراند پین شماره 5 ، RXT پین شماره 2 و TXT پین شماره 3 می باشد در پورت سریال رایانه

گراند پین شماره 5 ، RXT پین شماره 3 و TXT پین شماره 2 می باشد در مدار

توضیحات بیشتر در باره نحوه وصل کردن این ای سی به دستگاه های کنترل کننده
دریافت فایل ضمیمه

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

samanooo
23-04-2009, 14:50
عكس ها لود نميشه
و لطقا در باره عملكرد adc خود ميكرو توضيح بديد .
ممنون

nazari_mohamadreza
29-04-2009, 13:59
این لینک هایی که گذاشتیدهیچکدوم باز نمیشه!

payam
04-05-2009, 01:32
سلام . اين مقاله رو تحت عنوان مبدل آنالوگ به دیجیتال(A/D Converter) توسط میکروکنترلر AVR بعد از حدود 2 سال عنوان ميكنم .


یک مبدل آنالوگ به دیجیتال ،تبدیل می کند یک ولتاژ ورودی را به یک اندازه دیجیتال تبدیل می کند. به این صورت مبدل قادر به شناسایی و نمایش یک مقدار خاص خواهد بود. که معمولا به صورت بیت (صفر و یک) یا بود و نبود ولتاژ است. برای مثال یک مبدل آنالوگ به دیجیتال که یک ورودی آنالوگ (مثل وزن-دما و...) را به 1 تا 256 مقدار مجزا که برای نشانگر 8 بیت است تبدیل می کند(28=256).
» اکثر مبدل ها خطی هستند، به این معنی که طراحی شده اند برای تولید یک مقدار خطی که یک عملکرد خطی را در خروجی اعمال می کند. یعنی اینکه ورودی متناسب با مقدار خروجی خواهد بود.

» برای این نمونه یک AT Mega8 استفاده شده است. که 6 مبدل داخلی آنالوگ به دیجیتال دارد.که شفافیتی برابر با 10 بیت دارد بنابراین خواهیم داشت (1024=210) حجم های خروجی ما هستند.

» در این مثال یک پتانسیومتر به پورت C.0 این Mega8 و ماجول LCD (4*20 ( کاراکتری به پورت D متصل شده است.

» ماجول LCD نمایش می دهد مقداری را که توسط پورت مبدل آنالوگ به دیجیتال(ADC) اندازه گیری می شود.

» این اندازه ها در نمایشگر بین (0تا 1023) تشریح می شوند به صورت درصدی بین (صفر تا 100 درصد) به نمایش در می آیند.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


» نرم افزار:
برنامه این مثال در زبان برنامه Bascom AVR نوشته شده است. BASCOMدستورات داخلی برای خواندن از پورت ADC (مبدل آنالوگ به دیجیتال) دارد، پورت ADC (مبدل آنالوگ به دیجیتال) یک Mega8 باید تنظیم شود تا بتوان از آن استفاده نمود.

» تنظیمات:

· ADC = single / ADC = free



PRESCALER - a numeric constant for the clock divider. AUTO lets the compiler generate the best value for the used crystal.

START ADC - puts the port in the ADC mode.

V = GETADC(channel) - reads the A/D value from the selected channel.



[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]


AVR Bascom کد برنامه

hex file of the AVR Bascom Program Code

کد HEX برنامه AVR Bascom

دانلود فايل

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

منبع

[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

vahid--p
14-04-2010, 09:47
agha age kesi tarjomei dar morede adc ha dare bezare bara download dige man shadidan niyaz daram be in ghaziye vase anjam dadane projam ke data loggere

omid2999
03-07-2010, 17:41
لینکا باز نمیشن

mohamadreza7star
03-04-2011, 00:30
سلام.این لینک ها را توروخدا درست کنید.ثواب داره باورکنید.
در ضمن سال نو مبارک:31:

طنین گل
07-04-2011, 23:15
نمیتونم لینک ها رو ببینم! من خیلی به این مطلب نیاز دارم لطفا یه کاری بکنید.

rose112
17-05-2011, 16:15
میشه شماتیک و برنامه را دوباره بذارید لینک ها خرابند

nightcrazy
19-05-2011, 18:40
با سلام و خسته نباشید خدمت مهندسین عزیز
دیتا شیت ماژول RF01D رو میخواستم (به انگلیسی یا فارسی )، ضمنا میخوام یه برنامه ی مانیتورینگ کارتهای هوشمند توسط میکرو بنویسم( با 8051 ) کسی هست راهنمایی و کمکم کنه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟