ربات سازان: طراح و تولیدکننده موتورهای الکتریکیربات سازان: طراح و تولیدکننده موتورهای الکتریکیربات سازان: طراح و تولیدکننده موتورهای الکتریکیربات سازان: طراح و تولیدکننده موتورهای الکتریکی
  • صفحه نخست
  • محصولات
    • درایورهای موتور DC
    • درایورهای موتور Stepper
    • کنتـــرلرها
    • عملگر خطی | سروو جک
    • الکتروموتور و دینام
    • ربـــات‌ها
  • مقالات آموزشی
    • مستندات آموزشی محصولات
      • مستندات آموزشی درایور PMD90
      • مستندات آموزشی درایور MD10/AMD10
      • مستندات آموزشی درایور PMD60A
      • مستندات آموزشی درایور MSD02
      • مستندات آموزشی مولد پالس
      • مستندات آموزشی درایور PMD30
      • مستندات آموزشی درایور MDC20
      • مستندات آموزشی سرو درایور MHD4830
      • مستندات آموزشی درایورهای استپر پنج فاز
      • مستندات آموزشی درایور MD5
      • مستندات آموزشی ربات روهان
    • موتورهای الکتریکی و کاربردهای آن
      • موتورهای الکتریکی DC
      • موتورهای الکتریکی AC
      • موتورهای الکتریکی Stepper
      • سایر موتورهای الکتریکی
    • مقالات آموزشی الکترونیک
    • آموزش میکروکنترلر
      • آموزش میکروکنترلرهای AVR
      • آموزش میکروکنترلرهای ARM سری LPC
      • آموزش میکروکنترلرهای ARM سری STM
    • آموزش کاربردی آردوینو
    • رباتیک و معرفی ربات‌های کاربردی
    • آموزش مفاهیم پایه در مکانیک
    • آموزش مفاهیم پایه در کنترل
    • آموزش برنامه‌نویسی
    • ایده‌های ربات سازان جهت جذب سرمایه گذار
    • سایر مقالات آموزشی
  • تماس با شرکت
✕

۲-۳ نحوه‌ی راه‌اندازی ورودی‌های میکروکنترلرهای AVR

  • صفحه نخست
  • بلاگ ربات سازان
  • میکروکنترلر
  • ۲-۳ نحوه‌ی راه‌اندازی ورودی‌های میکروکنترلرهای AVR
۱-۳ مفهوم ورودی در میکروکنترلرهای AVR
۱-۳ مفهوم ورودی در میکروکنترلرهای AVR
۱۲ دی ۱۳۹۷
3-3 خواندن چندین ورودی به صورت هم‌زمان
۳-۳ خواندن چندین ورودی به صورت هم‌زمان
۱۲ دی ۱۳۹۷

۲-۳ نحوه‌ی راه‌اندازی ورودی‌های میکروکنترلرهای AVR

۱۲ دی ۱۳۹۷
blank
دسته‌بندی‌ها
  • میکروکنترلر
برچسب‌ها
  • آموزش میکروکنترلرهای AVR
2-3 نحوه‌ی راه‌اندازی ورودی‌های میکروکنترلرهای AVR

2-3 نحوه‌ی راه‌اندازی ورودی‌های میکروکنترلرهای AVR

برای راه­‌اندازی ورودی در میکروکنترلرهای AVR پس از آن­‌که یک پروژه­‌ی جدید را در CodeVision تعریف کردید تمامی پورت‌ها به صورت پیش‌فرض به عنوان ورودی فرض شده‌اند. در واقع برای تعیین ورودی در ابتدای تعریف پروژه نیاز به انجام کار خاصی نیست.

تنها کاری که می‌توانید انجام دهید تعیین یک مقاومت Pull Up برای هرپایه‌ی ورودی است.

با انجام این کار دو اتفاق مهم رخ می‌دهد که باید آنها را در نظر داشته باشید:

  • با این پایه که Pull Up شده است تنها می‌توانید مقادیر ولتاژهای Low را تشخیص دهید.
  • در پایه‌های پورت A، زمانی که می­‌خواهید از قابلیت ADC استفاده کنید باید این نکته را در نظر داشته باشید که نباید پایه‌های پورت A را به‌صورت دائم در حالت Pull Up قرار دهید. در مورد علت این امر در فصل مربوط به ADC بیشتر صحبت می­‌کنیم.

 

به شکل زیر نگاه بیندازید:

شکل 8: تنظیمات پورت میکروکنترلر avr

شکل ۸: تنظیمات پورت

 

بخشی که با کادر قرمز رنگ در شکل ۸ نشان داده شده عنوان ستونی است که شما با استفاده از آن ستون می­توانید پایه‌هایی که ورودی شده‌اند را در حالت Pull Up قرار دهید. این کار تنها با کلیک کردن روی حرف T مقابل هر پایه صورت می­گیرد و پس از این کار یک P در این کادر به جای T می‌آید که به معنای Pull Up شدن این پایه است. دقت کنید که با این پایه تنها مقادیر صفر را می­‌توانید بخوانید. در CodeVision دستور کار کردن با ورودی از یک پایه به صورت PINX.Y است که X نشان دهنده‌ی نام پورت و Y نشان دهنده‌ی شماره‌ی پایه در پورت مربوط به خودش است.

حال در اینجا می­‌خواهیم پروژه‌ای را تعریف کنیم که با استفاده از پین B.0 که به عنوان ورودی تعریف شده و در حالت Pull Up قرار گرفته است، زمانی که به این پایه صفر اعمال می­‌شود یک LED که به پایه‌ی B.1 وصل شده را روشن کند و در بقیه‌ی زمان‌ها این LED خاموش باشد. ابتدا با توجه به آنچه که تا کنون آموخته­‌اید تنظیمات مربوط به ورودی بودن پین B.0 و همچنین خروجی بودن B.1 را انجام دهید. دقت کنید که پین B.0 باید در حالت Pull Up قرار گیرد، حال مدار شکل پایین را در Proteus طراحی کنید.

راه‌ اندازی ورودی‌ های میکرو کنترلرهای AVR

شکل ۹

 

همان‌طور که در شکل ۹ مشاهده می­‌کنید مدار از یک مقاومت متصل به LED و یک سوئیچ که به زمین وصل شده است طراحی شده است.

این سوئیچ برای متصل کردن GND به پین B.0 است که در واقع همان دادن صفر منطقی به پین B.0 است زمانی که سوئیچ در حالت وصل است.

در غیر این صورت پین B.0 که به حالت Pull Up رفته است همواره مقدار دیجیتال 1 را بر روی خود می­‌بیند. حال شروع به نوشتن کدها در CodeVision می­‌کنیم. قطعه کد زیر را در نظر بگیرید:

[php]

while (1)
{
if(PINB.0==0)
PORTB.1=1;
else
PORTB.1=0;
};

[/php]

 

در این کد با توجه به تعریف پروژه می‌خواهیم هر زمان که پین B.0 مقدار 0 را تشخیص داد LED متصل به پایه­‌ی B.0 را روشن کند و در غیر این صورت LED خاموش باشد. برای این منظور از قالب برنامه­ نویسی شرطی استفاده می­کنیم.

منظور از دستور (if(PINB.0==0 این است که زمانی که پین B.0 مقدار صفر را احساس کرد اعمال مربوط به if انجام شود و دستور else به معنی انجام دادن اعمالی است در صورتی که پین B.0 مقدار روی خود را 1 تشخیص دهد. حال به شکل زیر که نشان دهنده­‌ی حالت مدار در زمانی است که سوئیچ فشرده نشده است، توجه کنید.

راه‌ اندازی ورودی‌ های میکرو کنترلرهای AVR

شکل ۱۰

 

حال به شکل ۱۱ توجه کنید که نشان دهنده‌ی مدار در حالتی است که سوئیچ فشرده شده است. در این حالت پین B.0 به سطح Low برده شده است و پس از تشخیص این حالت توسط میکرو LED روشن شده است. مربع آبی رنگ در کنار پایه­‌ی B.1 نشان دهنده­‌ی Low بودن سطح این پایه است.

راه‌ اندازی ورودی‌ های میکرو کنترلرهای AVR

شکل ۱۱

در بخش بعدی به سراغ خواندن چند ورودی به صورت هم زمان می­‌رویم. با استفاده از این قابلیت شما می­‌توانید چندین ورودی را به صورت هم­زمان بخوانید و خروجی‌های متفاوتی نیز تولید کنید.

 

 

محمود حسن پور دهنوی
محمود حسن پور دهنوی
من کارشناس ارشد مهندسی کنترل هستم و علاقمند به تولید و خلق ایده های ناب. امیدوارم بتونم مطالب خوب و مفیدی در اختیار شما بگذارم.

مطالب و مقالات مرتبط

4-9 راه‌اندازی ماژول SRF08 Range finder

4-9 راه‌اندازی ماژول SRF08 Range finder

۲۹ بهمن ۱۳۹۷

۴-۹ راه‌اندازی ماژول SRF08 Range finder


مشاهده مطلب ...
3-9 معرفی توابع I2C در CodeVision

3-9 معرفی توابع I2C در CodeVision

۲۹ بهمن ۱۳۹۷

۳-۹ معرفی توابع I2C در CodeVision


مشاهده مطلب ...
2-9 راه‌اندازی پروتکل I2C در CodeVision

2-9 راه‌اندازی پروتکل I2C در CodeVision

۲۹ بهمن ۱۳۹۷

۲-۹ راه‌اندازی پروتکل I2C در CodeVision


مشاهده مطلب ...

دیدگاهتان را بنویسید لغو پاسخ

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

جستجو در مطالب ربات سازان

✕

آخرین نوشته‌های ربات سازان

  • انتخاب بهینه‌ترین هیت‌سینک برای کاربردهای الکترونیک قدرت0
    انتخاب بهینه‌ترین هیت‌سینک برای کاربردهای الکترونیک قدرت
    ۳ آبان ۱۴۰۲
  • خواندن پلاک الکتروموتورهای سه فاز0
    خواندن پلاک الکتروموتورهای سه فاز
    ۱۳ تیر ۱۴۰۱
  • خواندن دیتاشیت موتور دی سی1
    خواندن دیتاشیت موتور دی سی
    ۱۳ خرداد ۱۴۰۱
  • محاسبه نسبت گیربکس2
    محاسبه نسبت گیربکس
    ۸ خرداد ۱۴۰۱
  • محاسبه سرعت استپ موتور بر حسب دور بر دقیقه0
    محاسبه سرعت استپ موتور بر حسب دور بر دقیقه
    ۲ خرداد ۱۴۰۱

لوگوی ربات سازان

درباره ربات سازان

شرکت ربات سازان فعالیت خود را از سال ۱۳۹۳ شروع کرده است. در ابتدا حوزه کاری شرکت طراحی و ساخت ربات‌های پلتفرم آزمایشگاهی بود که به مرور با بومی‌سازی درایور موتورهای استفاده شده در این ربات‌ها محصولی جدید به سبد محصولات شرکت اضافه شد. پس از آن شرکت به صورت تخصصی شروع به طراحی و ساخت انواع درایورهای موتورهای الکتریکی دی سی و استپر کرد و اکنون پس از گذشت ۸ سال از فعالیت شرکت توانسته‌ایم با پوشش دادن رنج وسیعی از درایورهای موتورهای الکتریکی در ولتاژ، جریان و توان‌های مختلف نیازهای صنعت کشور عزیزمان را در زمینه‌های مختلف برطرف نماییم.

blankblankblankblank

دسترسی سریع

  • صفحه اصلی
  • بلاگ ربات سازان
  • همه محصولات ربات سازان
  • ارتباط با ما
تمامی حقوق مادی و معنوی مطالب این وبسایت متعلق به ربات سازان می‌باشد.
      ✕

      ورود

      گذرواژه خود را فراموش کرده اید؟

      می خواهید یک حساب کاربری ایجاد کنید؟