^Back To Top
Get Adobe Flash player

ทดลอง MCU ตอนที่ 8 (DC Motor) - Control

 สำหรับการใช้งานโดยใช้ไมโครคอนโทรลเลอร์ควบคุมการทำงานที่ใช้มอเตอร์เพียงตัวเดียวสามารถต่อวงจรได้ดังรูป

ตัวอย่างโปรแกรมควบคุมการทำงานให้มอเตอร์หมุนซ้ายหมุนขวา

#include<reg52.h>
void delay(int t);
sbit m1cw=P0^0;
sbit m1ccw=P0^1;
sbit m2cw=P0^2;    
sbit m2ccw=P0^3;
sbit ea_m1=P0^4;
sbit ea_m2=P0^5;
void main (void)
{
    TMOD=0x10;    
        while(1)
        { m1cw=0;
          delay(5000);        // 5000=5 second delay
          m1cw=1;
          m1ccw=0;
          delay(5000);
          m1ccw=1;
        }
}
void delay(int t)
{
     int i;
        for(i=0;i<t;i++)
        {
            TH1=0xFC;     //set for 1 milisecond
            TL1=0x66;
            TF1=0;
               TR1=1;
              while(TF1==0)
                  {}
            TR1=0;
        }
}

ตัวอย่างการนำไปใช้ขับเคลื่อนหุ่นยนต์โดยมีการรับสัญญาณตรวจจับ(Sensor) 2 จุดในการทดลองใช้สวิตช์แทนตัวตรวจจับ

#include<reg52.h>
sbit m1cw=P0^0;
sbit m1ccw=P0^1;
sbit m2cw=P0^2;     
sbit m2ccw=P0^3;
sbit ea_m1=P0^4;
sbit ea_m2=P0^5;
sbit sensor1=P2^0;
sbit sensor2=P2^1;
void main (void)
{
         m1cw=0;
         m2cw=0;
        while(1)
        {
            if(sensor1==0)
                m1cw=1;
            else
                m1cw=0;
            if(sensor2==0)
                m2cw=1;
            else
                m2cw=0;
        }
}

การต่อจำลองการทำงาน ทำได้ดังรูป

 

 โปรดติดตามในบทความตอนต่อไป
   ครูประภาส สุวรรณเพชร

 

 

 

 

Copyright © 2024 www.praphas.com. All Rights Reserved.
Joomla! is Free Software released under the GNU General Public License.