基于89C51单片机直流电机控制及其程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计说明书
院系:船舶工程学院
班级:
姓名:
学号:
机电综合课程设计
设计题目:直流电机控制系统
立体目的:通过本次课程设计,达到培养学生综合应用所学知识,分析和解决实际工程问题,锻炼创造能力的目的。
技术要求:设计直流电机控制系统,包括:机械装配图,控制原理图和接线图,并编制相应的控制程序。
完成基于89C51单片机开发板的直流电机速度控制,启停
及正反转控制。
一.机械系统
由直流电机驱动滚珠丝杠实现滑台的平移。将电机的旋转运动通过滚珠丝杠转换为平台的直线运动。
系统组成:直流电机,底板,支座,光杠,滚珠丝杠,平台等。
二.电气系统
1. 直流电机
电机采用无刷直流电机,型号为:BL-2203C。其特点是调速范围宽,低速力矩大,运行平稳,低噪声,高效率。
电机接线,两股线,一股为电机线,一股为电机霍尔线。
2.驱动器
驱动器采用无刷直流电机驱动器。接线端子说明:
驱动器由220V交流供电。
驱动器调速方式
(1)内部电位器调速:逆时针旋转驱动器控制面板上的电位器,电机速度减小,顺时针则转速增大:由于测速需
要响应时间,速度显示会滞后。
(2)外部输入调速:将外接电位器的两端分别接于驱动器的“+12”和“COM”端上,将调解段接于“AVI”上
即可使用外接电位器调速,也可以通过其他控制单元
输入模拟电平信号到“AVI”端实现调速。
(3)多段速度选择:通过控制驱动器上的CH1—3三个端子的状态可以选择内部预先设定的几种转速。
电机运行/停止控制(R/S)
通过控制端子“R/S”相对于“COM”的通、断可以控制电机的运行和停止。端子“R/S”内部以电阻上
拉到+12,可以配合无源触点开关使用,也可以配合集电极开路的PLC 等控制单元;当“R/S”与端子“COM”断开时电机运行,反之电机停止。使用运行/停止端控制电机停止时,电机为自然停车,其运动规律与负载惯性有关;
电机正/反转控制(F/R)
通过控制端子“F/R”与端子“COM”的通、断可以控制电机的运转方向。端子“F/R”内部以电阻上拉到+12,可以配合无源触点开关使用,也可以配合集电极开路的PLC等控制单元;当“F/R”与端子“COM”不接通时电机顺时针运行(面对电机轴),反之则电机逆时针方向运转;为避免驱动器的损坏,在改变电机转向时应先使电机停止运动后再操作改变转向,避免在电机运行时进行运转方向控制。
驱动器典型接线图
使用注意事项:
(1)因本驱动器220V高压输入,为确保安全在上电工作前必须接地端子(FG)可靠的与大地连接,任何情况下请不要打开机
壳避免意外的损伤!
(2)驱动器安装时应保证设备的通风良好;机柜内有多个驱动器并列使用时要保证相互之间的距离不小于10cm。
3. LY-51S单片机开发板
应用开发板上的单片机,八个独立按键,8个LED灯,两个继电器。
4. 控制系统
基于51S单片机的直流电机控制系统。系统组成:无刷直流电机,无刷直流电机驱动器,LY-51S单片机开发板上的单片机,8个独立按键,八个LED灯,两个继电器。
单片机I/O口分配:
P1.0 : 方向信号。
P1.1:启停信号。
P1.2:PWM信号。
独立按键P3 功能P0 LED
K1 P3.0 启动P0.7 LED8 K2 P3.1 停止P0.6 LED7
K3 P3.2 自动P0.0 LED1
K4 P3.3 手动P0.1 LED2
K5 P3.4 正转P0.2 LED4
K6 P3.5 反转P0.3 LED3
K7 P3.6 加速P0.4 LED5
K8 P3.7 减速P0.5 LED6
接线图见附录
8个独立按键为单片机的输入,接P3口。8个LED为输出的信号显示,显示不同的工作状态,接P0口。P1.0口输出的方向信号接继电器1,控制驱动器的F/R与COM口的通断控制电机正反转。F/R与COM不接通时电机顺时针方向运转,反之则逆时针方向运转。P1.1口输出的启停信号接继电器2,控制驱动器的R/S与COM口的通断控制电机启停。R/S与COM断开时电机运行,反之则停止运行。
附录控制程序程序:
#include"reg52.h"
sbit start=P3^0;
sbit stop=P3^1;
sbit AUTO=P3^2;
sbit hand=P3^3;
sbit forward=P3^4;
sbit reverse=P3^5;
sbit acceleration=P3^6;
sbit deceleration=P3^7;
sbit led1=P0^0; //auto
sbit led2=P0^1; //hand
sbit led3=P0^2; //forward
sbit led4=P0^3; //reverse
sbit led5=P0^4; //acceleration
sbit led6=P0^5; //decelerate
sbit led7=P0^6; //on
sbit led8=P0^7; //off
sbit direction=P1^0; //zhuanfan
sbit RS=P1^1; //on off
sbit PMW=P1^2; //kongzhi
//sbit speaker=P1^3;
int CYCLE,PWM_ON,count;
void initial()
{
CYCLE=20;
PWM_ON=0;
count=0;
}
/*------------------------
uS延时函数,含有输入参数unsigned char t,无返回值
unsigned char 是定义无符号字符变量,其值的范围是
0~255 这里使用晶振12M,精确延时请使用汇编,大致延时
长度如下T=tx2+5 uS