基于AT89S52单片机的电机控制系统设计

o 引言
电机控制在监控器材、医疗器械、电动阀门、电动窗帘、家用电器、旋转灯具等方面有着广泛的应用,因此设计一款可控性好、精度高的电机控制系统是一件非常有意义的事。本文介绍的基于at89s52单片机的电机控制系统的软硬件设计,在按键的操作下对时间进行设定,控制电机的转动,对工作状态及时间进行显示。
1 设计方案说明
该系统先通过按键对电机的正、反向(即顺时针、逆时针)转动时间分别设置,时间显示在lcd上,格式为时:分:秒(通过改变程序可以选择不同的格式)。采用倒计时方式,正向时间完毕,立刻开始反向转动时间计时,反向时间结束,自动恢复到初始设定的时间。
时间设定完成后,按下开始键,正向转动时间开始计时,电机工作指示灯闪烁,正向转动指示灯亮,同时电机正向转动;正向时间完毕,反向时间开始计时,正向转动指示灯熄灭,反向转动指示灯亮,同时电机反向转动。
按下停止键,时间停止计时,电机停止工作,工作指示灯熄灭。
系统采用的电机为60tdy-11可逆永磁电机,其内部采用两组绕组,用电容实现定向旋转,通过改变电容和电机输出引线的接法,能够可靠地实现电机定向旋转并控制旋转方向。
2 硬件电路设计
整个系统硬件结构如图1所示。
2.1 按键输入和控制电路设计
按键输入电路采用6个按键分别连接到单片机的p2.0~p2.5口,作为控制信号的输入。按下k0键,系统进入时间设定模式,连续按下k0键可以选择对不同的时间单位进行设置,通过k1,k2键对时间进行加1或减1。按下k3键退出时间设定模式,k4,k5键分别为启动和停止键。
电机控制电路的控制芯片采用atmel公司的at89s52,它有8 kb flash,256 b ram,32位i/o口线,看门狗定时器,两个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。其内部资源丰富、性价比高,能够满足设计要求。
po.o~p0.2作为三个工作指示灯的控制信号输出,需要外接上拉电阻;p1.0~p1.2为液晶显示器的控制信号输出;p3.0~p3.1分别是控制电机正反向转动的控制信号输出。
2.2 lcd显示电路设计
显示部分采用的是12864液晶,控制器是st7920,这种控制器带中文字库,去除了编制字库的麻烦,该控制器的液晶还支持画图方式。该类液晶支持68时序8位和4位并口以及串口。st7920的时钟sclk有独立的操作时序,当多个连续的指令需要被送入时,需要考虑指令执行时间。
一个完整的串行传输周期由以下部分组成:首先送入启动字节,送入五个连续的“1”用来启动一个周期,此时传输计数被重置,并且串行传输被同步。紧接的两个为制定传输方向(rw,确定读还是写)和传输性质(rs,确定是命令寄存器还是数据寄存器),最后的第八位是一个“o”。
本设计中psb引脚接地,选择串口工作模式,cs高电平有效,只用两根线sid和sclk即可完成数据传输。
2.3 电机及驱动电路设计
60tdy-11电机工作电压为220 v交流电,而单片机的输出高电平为5 v,因此电机需要一个驱动电路,采用继电器来作为较小的电流去控制较大电流的一种“自动开关”。
本次设计中继电器采用的是huigang hrs2h-s-dc-12v型,sn74ls07n作为继电器的驱动电路,低电平输入有效,继电器还需要并联二极管电路,主要是为了保护sn74ls07n。当流经继电器线圈的电流迅速减小时,线圈会产生很高的自感电动势使晶体管被击穿,并联上二极管后,即可将线圈的自感电动势钳位于二极管的正向导通电压。p3.0低电平时,继电器1常闭触点断开,常开触点闭合,电机正向电路导通,开始正向转动。p3.1同理,p3.0和p3.1不可同时为低电平。
3 软件设计
3.1 程序说明
在keilμvision 3 ide中进行程序的设计开发,用c语言编写。keilμvision 3集成开发环境是keil soltware开发的基于80c51内核的微处理器软件开发平台,可以完成从工程建立到管理、编译、链接、目标代码的生成、软件仿真、硬件仿真等完整的开发流程,尤其是c编译工具在产生代码的准确性和效率方面达到了较高的水平。它支持所有的keil 80c51的工具软件,包括c51编译器、宏汇编器、链接器器/定位器和目标文件至hex格式转换器。鉴于此,选择其为程序开发环境。
系统程序由主程序、中断处理子程序、按键处理程序以及显示子程序等组成。对时间计时采用定时器定时中断产生,没有选择用软件延时的方式,这样不占用cpu的时间。定时器t0产生50 ms定时中断,在中断服务程序中有一个计数器,每产生20次中断,有一个1秒计数。按键扫描采用单个按键的扫描,有相应的按键处理子程序,程序中包括按键去抖动,按键的键后处理,去抖动采用延时去抖法。显示子程序在主程序中被调用对时间进行实时显示。
3.2 主程序流程图
主程序流程图如图2所示,主要完成系统的初始化、按键扫描、显示程序及其他子程序调用等功能。
初始化时关闭定时中断,p0.o~p0.2口输出高电平,状态指示灯熄灭,p3.0~p3.1口输出高电平电机停止转动,对lcd初始化显示,显示4行信息,2行显示时间,格式为时:分:秒,另外2行为时间的说明文字。将所有的初始化功能写成一个子程序,主程序只需调用它即可完成系统初始化。初始化完成之后,扫描按键,如有按键按下,调用相应的处理程序。时间设定键按下时,被选中的时间单位将会不断的闪烁,区别于其他没有被设置的时间单位,通过k1,k2键对时间进行改动,按下k3键退出时间设定。开始键被按下时,开启定时中断,lcd显示时间开始倒计时,po.1口输出低电平,正向转动指示灯亮,p3.0输出低电平,电机开始正向转动,在中断服务程序中控制po.0口输出电平,使正常工作指示灯1 s闪烁一次。停止键被按下时,p3.o~p3.1输出高电平,电机停止转动,p0.0~p0.2输出高电平,状态指示灯熄灭,关闭定时中断,停止计数。正向转动时间结束时,反向转动开始倒计时,p3.o输出高电平,p3.1输出低电平,电机反向转动,p0.1输出高电平,po.2输出低电平,正向转动指示灯熄灭,反向转动指示灯亮。显示程序实时将时间的变化在lcd上显示。
4 结语
该系统经实际运行,可以满足在功能键的操作下对时间进行设定,控制电机的启动、正反向转动、停止,状态指示灯正确显示工作状态,lcd正常的显示了时间。
本系统将应用于一个阀门的自动打开闭合装置,正向转动时阀门打开,反向转动时,阀门关闭,实现对液体流量的控制,具体应用时还需要对阀门打开闭合的状态进行检测。

骨传导耳机哪个牌子好?骨传导耳机品牌排行
温度传感器的概念/工作原理/作用/应用案例
导线管配线注意事项
华为荣耀magic四曲面全面屏手机长这样你会不会买?
protobuf的编码和存储方式
基于AT89S52单片机的电机控制系统设计
百度地图全新上线“新能源”导航功能
英特尔10纳米制程遇阻 高盛下调其股票评级为“卖出”
联发科g90t相当于骁龙多少_联发科p90相当于骁龙多少
研究小组将有机半导体NO2传感器技术提升到全新的水平
SKYLAB支持无线协议802.11a/b/g/n/ac的WiFi模块有哪些?
麦格纳:推出雷达ICON RADAR,实现可靠的全自动驾驶
你知道大数据有哪一些应用的场景
千兆RJ45电口怎么与SFP光口实现互连
电动卡车创企Lordstown股价周一收盘大涨8% 上市以来累计上涨57%
华为推出GENTLE MONSTER智能眼镜,全球首款支持NFC充电的设备
三光谱防明火摄像机是什么?可以用到什么地方?
太阳能收集对超构材料的作用影响
fireflyROC-RK3308主板DLNA互联功能开发简介
TDA2581Q引脚功能的电压资料参数