آموزش کار با پتانسیومتر دیجیتال

آموزش کار با پتانسیومتر دیجیتال

به طور خلاصه پتانسیومتر یا ولوم مقاومتی است که می توان مقدار آن را تغییر داد و کاربرد آن در کنترل شدت نور، صوت، دما و … می باشد. پتانسیومتر های معمولی دارای سه پایه و یک لغزنده (مانند پیچ) می باشند که با جابجا کردن و تغییر لغزنده مقدار مقاومت پتانسیومتر تعییر میکند.

در شکل زیر انواع اینگونه پتانسیومتر ها را می بینید:

potentiometers

potentiometer

در بسیاری از موارد ممکن است که قصد داشته باشیم مقدار مقاومت قسمتی از مدار با فرمان میکروکنترلر تغییر کند مثلا اگر قصد داشته باشیم صدا و یا نور ال سی دی و … به صورت نرم افزاری یا با زدن دکمه ای کم و زیاد شود که در این صورت باید به سراغ پتانسیومتر های دیجتال رفت.

در این آموزش قصد معرفی و آموزش آی سی پتانسیومتر دیجیتال MCP41010 را داریم.

MCP41010

MCP41XXX دارای ۱ پتانسیومتر و MPC42XXX دارای دو پتانسیومتر میباشد. XXX مقدار مقاومت پتانسیومتر را مشخص میکند که ۱۰، ۵۰، ۱۰۰ و … کیلو اهم میباشد.

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

MCP41XXX

کاربرد هر پایه به طور مختصر در جدول ذیر توضیح داده شده است.

این آی سی توسط پرتکل اتصال سریال بین قطعات جانبی (Serial Peripheral Interface) یا به اختصار SPI کار می کند و مدار آن به صورت شکل زیر می باشد.

MCP41XXX

دقت کنید که این آی سی فقط Slave بوده و دستور میگیرد پس پایه ۳ این آی سی باید به پایه MOSI میکروکنترلر متصل شود. پایه ۲ که کلاک است باید به SCK میکروکنترلر و پایه ۱ که برای انتخاب آی سی استفاده میشود را می توان به هر یک از پایه های آزاد میکروکنترلر متصل کرد.

پایه ۵ به ولتاژ +

پایه ۶ خروجی

پایه ۷ زمین

البته می توان جای پایه های ۵ و ۷ را عوض کرد یعنی ۵ به زمین متصل شود و ۷ به ولتاژ مثبت …

پایه های ۴ و ۸ تغذیه این آی سی می باشند و پایه ۴ به زمین و پایه ۸ را به مثبت ۵ ولت متصل کنید (در پروتئوس به طور پیش فرض تغذیه آی سی ها متصل گردیده اند و به همین خاطر در شکل بالا شما پایه های ۴ و ۸ را نمی بینید)

بعد از بستن این مدار در پروتئوس و یا روی برد برد به سراغ کدنویسی میرویم و دقت لازم را داشته باشید که ما در این جا از کدویژن ورژن ۳٫۱۲ استفاده میکنیم و ممکن است تفاوت هایی با نسخه ای که شما استفاده میکنید داشته باشد …

بعد از ساخت پروژه جدید و انتخاب میکروکنترلر و فرکانس کاری آن باید SPI را فعال کرده و مانند شکل زیر تنظیمات آن را انجام دهید.

SPI

  • نکته: سعی کنید حتما Clock Rate زیر ۲۰۰ کیلوهرتز باشد!

بعد باید پایه های MOSI، SCK و CS که در اینجا به ترتیب B.5، B.7 و B.0 می باشند را خروجی تعریف نمود و در نهایت پروژه را ذخیره کرده و وارد محیط کدنویسی شویم.

با توجه به اطلاعات درون دیتا شیت این آی سی، پتانسیومتر درون آی سی ۲۵۶ مقدار در قالب فرمان های ۱۶ بیتی میگیرد که ۰ کمترین مقدار و ۲۵۵ بیشترین مقدار پتانسیومتر میباشد. بدین شکل که ۸ بیت اول فرمان مورد نظر و ۸ بیت دوم مقدار میباشد و ساختار ۸ بیت اول مانند شکل زیر است.

MCP41XXX
با توجه به شکل بالا و توضیحات داده شده به عنوان مثال اگر بخواهیم مقدار ۲۰۰ را روی پتانسیومتر قرار دهیم شکل بیت ها بدین شکل خواهد شد:

َSPI

و کد آن در کد ویژن: (باید ۸ بیت ۸ بیت ارسال شود)

حال می خواهیم به عنوان مثال نور ال ای دی را به طور پیوسته کم و زیاد کنیم. قطعه کد زیر این کار را خواهد کرد و میتوانید آن را داخل حلقه while برنامه خود کپی کرده و نتیجه را مشاهده نمایید.

  • نکته بسیار مهم: حتما فرکانسی که برای میکروکنترلر خود در کدویزارد انتخاب کرده اید با فرکانسی که توسط فیوز بیت ها برای میکروکنترلر تعیین شده است باید یکسان باشد و SPI Clock rate زیر ۲۰۰ کیلوهرتز تنظیم شده باشد. و تاخیر بین هر بار نوشتن در آی سی بالای ۳۰ میلی ثانیه باشد.

دانلود کد و پروتئوس

پسورد : robotmakers.ir

شاید این مطالب را هم دوست داشته باشید

12 پاسخ

  1. محمد می‌گه:

    سلام
    ببخشید این فایل که گذاشتید برای دانلود پسوردش چیه؟

  2. ali ahmadi می‌گه:

    سلام
    حداکثر جریان قابل تحمل این آی سی ها برای مقاومت ۱کیلو چقدر است؟ باتشکر

  3. mahdi می‌گه:

    جالب بود مهندس موفق باشی

  4. اردشیر می‌گه:

    سلام
    آقا دم شما گرم
    خیلی خوب و ساده و کامل بود.

  5. بهزاد می‌گه:

    ممنون خوب بود. دمت گرم

  6. Amir می‌گه:

    با سلام
    فایل هکس برنامه در فایلی که برای دانلود قرار دادید موجود نمیباشد.
    لطفا در صورت امکان ان را هم قرار دهید.
    با تشکر

  7. موحدیان می‌گه:

    سلام
    ممنون از این آموزش
    من میخوام MCP41010 را با ATmega16 راه اندازی کنم و این کد جواب نمیده
    میتونید راهنماییم کنید؟
    ممنونم

  8. حسن یوسفی می‌گه:

    لطفا راهنمایی بفرمائید درمورد کد بکام برای راه اندازی این آی سی

  9. حسن یوسفی می‌گه:

    سلام لطفا بفرمائید با کدوم ورژن پروتئوس کار کردید . بنده متاسقانه نمیتونم فایل رو باز کنم

  10. امیرحسین می‌گه:

    سلام. من تو یه پروژه میخوام برای کنترل شدت نور یک لامپ بوسیله دیمر از یه پتانسیومتر دیجیتال استفاده کنم.به یه پتانسیومتر دیجیتال ۵۰۰ کیلو اهم نیاز دارم که دوسرش ولتاژ ۲۲۰ ولت ac میفته به نظرتون با توجه توان این ic ها این کار شدنیه؟(پتانسیومتر با avr کنترل میشه)

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


CLOSE
CLOSE