GYJ-0101 MD18200电机驱动芯片 直流电机驱动控制 单片机控制电机正反转
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
【简要说明】
序
号
Type ♦产品型号GYJ-0101
1.Appearance♦产品外形图参考图在下面
2.Outline ♦外形尺寸长x宽x高56mmX 46mmX 35mm
3.Important chips♦重要芯片LMD18200
4.power voltage ♦供电电压供电DC5V 信号DC5V 驱动电压DC10~30V
5.Features♦主要特征
具有电源指示灯
大散热片散热效率高
抗干扰能力强
螺旋压接端子
可由单片机直接控制
可单独控制一台直流电机
可以实现PWM控制
可以实现直流电机正反转
输出电流0 to 3A
输出功率 0 to 30W
输入支持脉冲频率0 to 30KHZ
抗干扰能力强
提供原理图、尺寸图
6.Rating ♦参数
7.Ambient Temperature ♦环境温度-30℃ to +70℃
8.Ambient humidity♦环境湿度20% to 80%RH
【接线说明】
说明:方向信号接高电平正转,低电平反转;PWM端接PWM信号可以调速,接高电平正转,接低电平停止。
【应用举例】分两款一款输入是排针,一款输入是端子
【原理图】
///////////////////简单的直流电机控制程/////////////////
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
/********************************************************
控制位定义
********************************************************/
sbit fang_xiang=P1^0; // 方向控制位(输入1正转,输入0反转)
sbit sha_che=P1^1; // 启停控制位
sbit PWM=P1^2; // 速度控制位(输入电平为1时,电机全速运行,当输入PWM信号时可以调速运行)
sbit zheng_zhuan=P2^0; // 正转按键
sbit fan_zhuan=P2^1; // 反转按键
sbit qi_dong=P2^2; // 启动按键
sbit ting_che=P2^3; // 刹车按键
/********************************************************
主函数
********************************************************/
main()
{
fang_xiang=1; // 使能控制位
sha_che=0; // 方向控制位
PWM=1; // 速度控制位(输入电平为1时,电机全速运行,当输入PWM信号时可以调速运行)
while(1)
{
fang_xiang=1; // 使能控制位
sha_che=0; // 方向控制位
PWM=1; // 速度控制位(输入电平为1时,电机全速运行,当输入PWM信号时可以调速运行)
}
}
///////////////////直流电机调速控制程序/////////////////
#include <reg52.h> //头文件
#define uchar unsigned char //宏定义无符号字符型
#define uint unsigned int //宏定义无符号整型
uchar b; //中断值
uchar N=0; //占空比计数值
uchar X=10; //占空比初始值
uchar key_up;
uchar key_down;
/********************************************************
控制位定义
********************************************************/
sbit qi_dong=P2^0;//M1启动
sbit ting_zhi=P2^1;//M1停止
sbit jia_su=P2^2; //M1加速
sbit jian_su=P2^3;//M1减速
sbit fang_xiang=P1^0; // 方向控制位(输入1正转,输入0反转)
sbit sha_che=P1^1; // 启停控制位
sbit PWM=P1^2; // 速度控制位(输入电平为1时,电机全速运行,当输入PWM信号时可
/*************************************************************************/
void get_key(void)//按键扫描函数
{
while(jia_su==0)//按键加计数标志
{key_up=1;
}
while(jian_su==0)//按键减计数标志
{key_down=1;
}
}
/*************************************************************************/ void timer0( ) interrupt 1 //定时器0工作方式1
{
TH0=(65536-1)/256; //重装计数初值
TL0=(65536-1)%256; //重装计数初值
b++;
get_key();
if (key_up==1)
{
if(X!=100)//判断是否计数到9999
{
X=X+5;//加一
key_up=0;
}
}
if (key_down==1)
{
if(X!=0)//判断是否计数到0
{
X=X-5;//减一
key_down=0;
}
}
if(qi_dong==0) {sha_che=0;} // 启动
if(ting_zhi==0){sha_che=1;} // 刹车
}
/*************************************************************************/ void main()
{
TMOD=0X01; //定时器中断0
TH0=(65536-2)/256; //定时时间高八位初值
TL0=(65536-2)%256; //定时时间低八位初值
EA=1; //开CPU中断
ET0=1; //开T/C0中断
TR0=1;
fang_xiang=1;
sha_che=0;
while(1) //无限循环
{
PWM=1; //输出PWM正
while(1)
{
b=0;
while(!b);
if (N==X)
PWM=0;
if (N==100)break;
N++;
}
N=0;
}
}
#include<reg52.h>
#define uchar unsigned char
#define uint unsigned int
/********************************************************
控制位定义
********************************************************/
sbit fang_xiang=P1^0; // 方向控制位(输入1正转,输入0反转)
sbit sha_che=P1^1; // 启停控制位
sbit PWM=P1^2; // 速度控制位(输入电平为1时,电机全速运行,当输入PWM信号时可以调速运行)
sbit zheng_zhuan=P2^0; // 正转按键
sbit fan_zhuan=P2^1; // 反转按键
sbit qi_dong=P2^2; // 启动按键
sbit ting_che=P2^3; // 刹车按键
/********************************************************
主函数
********************************************************/
main()
{
fang_xiang=1; // 使能控制位
sha_che=0; // 方向控制位
PWM=1; // 速度控制位(输入电平为1时,电机全速运行,当输入PWM信号时可以调速运行)
while(1)
{
if(zheng_zhuan==0)fang_xiang=1;// 正转
if(fan_zhuan==0)fang_xiang=0; // 反转
if(qi_dong==0)sha_che=0; // 启动
if(ting_che==0)sha_che=1; // 刹车
}
}
【PCB图】
【图片展示】端子款
【图片展示】插针款。