نرم افزار ادمز ADAMS
۷ دی ۱۳۹۷آموزش کار با پتانسیومتر دیجیتال
۷ دی ۱۳۹۷ارتباط درایور موتور دیسی MD10 با برد آردوینو
در این مقاله آموزشی قصد داریم شما را با نحوهی اتصال و کنترل درایور موتور دیسی MD10 با برد آردوینو آشنا کنیم. برای آشنایی بیشتر و سفارش درایور MD10 به قسمت محصولات رباتسازان مراجعه کنید.
برای راه اندازی این درایور ابتدا دفترچه راهنمای درایور MD10 را مطالعه نمایید. سپس این درایور را به صورت زیر به برد آردوینو متصل نمایید. همانطور که در شکل زیر پیداست موارد زیر برای این اتصال رعایت شده است.
۲- پین DIR درایور به پین ۴ برد آردوینو متصل شده است.
۳- پین PWM درایور به پین ۳ برد آردوینو متصل شده است. این پین را به پپنهای دیگری از برد آردینو که میتوانند PWM تولید کنند میتوان متصل کرد. پینهایی که کنار آنها علامت ~ وجود دارد، قادر خواهند بود سیگنال PWM ایجاد کنند.
۴- پین GND درایور MD10 به پین GND برد آردوینو متصل شده است.
۵- سیمهای موتور دی سی را به فونیکس مربوط به MOTOR متصل کنید.
۶- سیمهای توان ورودی را نیز به فونیکس POWER با رعایت پلارتیه متصل نمایید.
در این جا قصد داریم برنامهای بنویسیم که سرعت موتور دیسی را با توجه به مقادیر PWM کنترل نماییم. به عبارت دیگر قصد داریم اگر مقدار وارد شده توسط کاربر بین ۰ تا ۱۲۷ وارد گردد، موتور دیسی در یک جهت و اگر بین ۱۲۸ تا ۲۵۵ اعمال گردد، در خلاف جهت اولیه دوران نمایید. اگر دقت نمایید از دستور map برای تبدل اعداد بین ۰ تا ۱۲۷ و ۱۲۷ تا ۲۵۵ به ۰ تا ۲۵۵ استفاده شده است. بعد از پروگرام کردن آردوینو توسط این برنامه، وارد Tools>>serial monitor شوید (شکل ۲) و عدد PWM مربوط به خود را در آنجا وارد کرده و بر روی Send کلیک کنید (شکل ۳).
int mot = 3; // PWM Pins int Dir = 4; void setup() { // put your setup code here, to run once: pinMode(mot, OUTPUT); pinMode(Dir, OUTPUT); Serial.begin(9600); } void loop() { // put your main code here, to run repeatedly: if (Serial.available()) { int Speed = Serial.parseInt(); if (Speed >= 0 && Speed < 127) { digitalWrite(Dir, LOW); int val1= map(Speed,0,127,0,255); analogWrite(mot, val1); } else { digitalWrite(Dir, HIGH); int val2= map(Speed,127,255,0,255); analogWrite(mot, val2); } } }