رباتیک و هوافضا

آموزش پروژه محور رزبری پای – جلسه نهم ADC

به نام خدا

آموزش پروژه محور رزبری پای – جلسه نهم ADC

 

Raspberry-Pi-ADC

 

در این جلسه می خواهیم یک ماژول ADC را با رزبری پای ارتباط دهیم . ما برای اینکه بتوانیم داده های یک وسیله مانند پتانسیومتر یا سنسور دمای LM35 را دریافت کنیم به یک مبدل آنالوگ به دیجیتال نیاز داریم که این مبدل ولتاژ متغیر خروجی این وسایل را به داده های دیجیتال تبدیل کند تا برای رزبری پای قابل درک باشند . در این جلسه از آی سی ADC0804 استفاده کرده ایم .

میکروکنترلر های معمولی خودشان دارای واحد مبدل آنالوگ به دیجیتال ( ADC ) هستند و نیازی به آی سی ADC خارجی ندارند ولی برد های رزبری پای این قابلیت را ندارند . بنابراین برد های رزبری پای برای خواندن ولتاژ های متغیر نیاز به یک آی سی ADC دارند . آی سی ADC0804 یک آی سی مبدل آنالوگ به دیجیتال ۸ بیتی می باشد یعنی داده آنالوگ دریافتی را به یک عدد بین ۰ تا ۲۵۵ تبدیل می کند . هر ۱۹٫۵ میلی ولت یک واحد به خروجی اضاف می شود . شکل زیر ، پایه های آی سی ADC0804 را مشخص کرده است .

ADC0804-Pinout

 

یک نکته که باید به آن توجه کنیم این است که ۸ پین خروجی آی سی ADC0804 که باید به رزبری پای وصل شود ولتاژ ۰ یا یک منطقی می دهند که یک منطقی آن معادل ۵ ولت است اما رزبری پای ۳٫۳ ولت را برای یک منطقی نیاز دارد . اگر پایه های این آی سی ADC را مسقیما به رزبری پای وصل کنیم امکان دارد رزبری پای آسیب ببیند .

بیشتر بخوانید...  اندازه گیری فاصله با رزبری پای و سنسور آلتراسونیک HCSR04

برای حل این مشکل از تقسیم مقاومتی استفاده می کنیم . توسط تقسیم مقاومتی ، ولتاژ ۵ ولت را پایین می آوریم . توسط تقسیم مقاومتی ، ولتاژ ۵ ولت را به ۲٫۵ ولت تبدیل می کنیم و به رزبری پای می دهیم .

قطعات مورد نیاز پروژه :

ما از برد رسپبری پای ۲ مدل B استفاده میکنیم ، همان طور که در جلسه های پیش گفته شد کار با این برد با برد های دیگر رسپبری پای به خصوص رسپبری پای ۳ فرق چندانی ندارد . سیستم عامل ما رسپبین میباشد . زبان برنامه نویسی ما هم پایتون میباشد .

سایر قطعاتی که نیاز داریم به شرح زیر است :

  • مقاومت یک کیلو یا ۲۲۰ اهم به تعداد ۱۷ عدد
  • پتانسیومتر ۱۰ کیلو اهمی
  • خازن ۰٫۱ میکرو فاراد دو عدد
  • تعدادی سیم
  • آی سی ADC0804
  • بردبورد

توضیحات مدار :

مدار زیر برای اندازه گیری یک ولتاژ متغیر ۰ تا ۵ ولت است .

Interfacing-ADC0804-with-Raspberry-Pi-circuit-diagram

 

مدار بالا اتصالات بین آی سی ADC0804 و برد رزبری پای نشان می دهد .

آی سی های ADC معمولا نویز زیادی دارند ، برای کاهش این نویز از یک خازن ۰٫۱ میکرو فاراد استفاده می کنیم . بدون این خازن نوسانات زیادی در خروجی خواهیم داشت .

این آی سی یا یک کلاک اسیلاتور کار می کند ، این اسیلاتور توسط خازن C2 و مقاومت R20 درست می شود . قابل توجه است که خازن C2 را می توانید با یک خازن کوچکتر تعویض کنید تا سرعت بالاتری برای آی سی ADC ایجاد شود . اما گفتنی است که با افزایش سرعت ، دقت ما پایین می آید . بنابراین برای کاربرد هایی که نیاز به دقت بالا دارد از خازن های بزرگتر استفاده کنید و برای کاربرد هایی که نیاز به سرعت بالا دارند از خازن های کوچکتر استفاده کنید .

بیشتر بخوانید...  آموزش پروژه محور میکروکنترلر STM32 جلسه دوم

توضیحات برنامه :

کد های برنامه را از لینک زیر دانلود کنید .

 

دانلود فایل

 

در خطوط زیر ۸ پین را به عنوان ورودی تعریف کردده ایم . خروجی های آی سی ADC را توسط این ۸ پین دریافت می کنیم .

IO.setup(4,IO.IN)
IO.setup(17,IO.IN)
IO.setup(27,IO.IN)
IO.setup(22,IO.IN)
IO.setup(5,IO.IN)
IO.setup(6,IO.IN)
IO.setup(13,IO.IN)
IO.setup(19,IO.IN)

خط زیر به این صورت است که اگر پبن شماره ۱۹ رزبری پای ۱ شود دستور داخل حلقه یک بار اجرا می شود .

if(IO.input(19) == True):

نحوه عملکرد برنامه :

بعد از اینکه برنامه را پروگرام و اجرا کردید عدد صفر بر روی نمایشگر نمایش داده می شود که این صفر به معنی ۰ ولت است .

Interfacing-ADC0804-with-Raspberry-Pi-1

 

اگر پتانسیومتر ۱۰ کیلو اهمی خود را به آی سی وصل کنیم تغییراتی را در اعداد نمایش داده شده می بینیم که با چرخش پتانسیومتر این اعداد تغییر می کند . اگر پتانسومتر در وسط قرار داشته باشد ولتاژ ۲٫۵ ولت به آی سی می رسد و عدد ۱۲۸ در نمایشگر نشان داده خواهد شد .

Interfacing-ADC0804-with-Raspberry-Pi-2

 

برای ولتاژ ۵ ولت عدد ۲۵۵ را خواهیم داشت .

Interfacing-ADC0804-with-Raspberry-Pi-3

 

 

 پایان جلسه های آموزشی رزبری پای

دیدگاه‌ها (0)

*
*