步进电机速度控制系统设计
- 格式:doc
- 大小:329.57 KB
- 文档页数:27
目录
1 总体方案的确定 (1)
1.1 对步进电机的分析 (1)
1.2 电机的控制方案 (2)
1.3 控制算法的方案 (3)
1.4 串口通讯的模拟 (3)
2 硬件的设计与实现 (4)
2.1 微处理器的选择 (4)
2.2 控制电路的实现 (4)
2.3 键盘和显示电路 (6)
3 软件的设计与实现 (6)
3.1 控制信号输入程序 (7)
3.2 步进电机控制程序设计 (8)
3.3 程序分析及说明 (9)
4 系统的仿真与调试 (10)
4.1 程序的调试 (11)
4.2 串口通信的调试 (11)
4.3 调试结果及分析 (11)
5 设计总结 (13)
参考文献 (14)
附录 (15)
步进电机速度控制系统设计报告
1 总体方案的确定
系统以单片机为核心,接收并分析来自键盘或串口的控制指令,经过CPU 的逻辑计算输出控制信息,让步进电机按要求转动。由于步进电机是开环元件,系统不需反馈环节,但也同时要求控制信号足够精确。此外,为实现单片机与电机之间信号对接,需要加入步进电机驱动单元。
1.1 对步进电机的分析
步进电机又叫脉冲电机,它是一种将电脉冲信号转化为角位移的机电式数模转换器。在开环数字程序控制系统中,输出控制部分常采用步进电机作为驱动元件。步进电机控制线路接收计算机发来的指令脉冲,控制步进电机做相应的转动,步进电机驱动数控系统的工作台或刀具。很明显,指令脉冲的总数就决定了数控系统的工作台或刀具的总位移量,指令脉冲的频率决定了移动的速度。因此,指令脉冲能否被可靠地执行,基本上取决于步进电机的性能。
步进电机的工作就是步进转动。在一般的步进电机工作中,其电源都是采用单极性的直流电源。要是步进电机转动,就必须对步进电机定子的各相绕组以适当的时序进行通电。当步进驱动器接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定的角度(即步进角)。通过控制脉冲个数即可以控制角位移量,从而达到准确定位的目的;同时通过控制脉冲频率来控制电机转动的速度和加速度,即可达到调速的目的。本设计是用单片机输出可调脉冲作为单片机的控制信号,通过改写脉冲频率调节单片机转速。
常见的步进电机分三种:永磁式(PM),反应式(VR)和混合式(HB),永磁式步进一般为两相,转矩和体积较小;反应式步进一般为三相,可实现大转矩输出,但噪声和振动都很大。混合式步进是指混合了永磁式和反应式的优点,它又分为两相和五相,应用最为广泛。单片机管脚输出电压一般不足以驱动步进电机转动,所以需要在单片机和步进电机之间加入驱动电路。
1.2 电机的控制方案
步进电机有三相、四相、五相、六相等多种,不同的电机又各有很多工作方式。由于步进电机是一种将电脉冲信号转换成直线或角位移的执行元件,它不能直接接到交直流电源上,而必须使用专用设备-步进电机控制驱动器。典型步进电机控制系统如图1所示:控制器可以发出脉冲频率从几赫兹到几十千赫兹可以连续变化的脉冲信号,它为环形分配器提供脉冲序列。环形分配器的
主要功能是把来自控制环节的脉冲序列按一定的规律分配后,经过功率放大器的放大加到步进电机驱动电源的各项输人端,以驱动步进电机的转动。环形分配器主要有两大类:一类是用计算机软件设计的方法实现环分器要求的功能,通常称软环形分配器。另一类是用硬件构成的环形分配器,通常称为硬环形分配器。功率放大器主要对环形分配器的较小输出信号进行放大,以达到驱动步进电机目的。
图1 典型步进电机控制框图
软环形分配即采用微机控制取代脉冲分配器,直接将控制信号分管脚送到驱动电路,常用的办法是通过编程输出内存中定义好的控制方式输出字。这样,当步进电机的相数和控制方式确定之后,以一定规律输出控制字就可以了。软环形分配用程序取代了脉冲分配器,一定程度上降低了成本。但如果要预存的控制字很多,就会占用单片机较多内存。此外,当所控制的步进电机相数较多,需要的输出管脚也会随之增加,这样就占用了单片机较多的数据口,降低接口的利用率的同时限制了单片机实现更多功能。由于任务要求系统有键盘、显示以及串口控制等多个部分,且要控制两部电机,为留出更多的数据接口实现上述功能,设计
选择常规的电机控制电路。由脉冲分配器完成对电机绕组电平的时序控制(即脉冲分配),从而每个电机只需单片机对应输出一个触发信号(控制方向)和一组脉冲波(控制速度)即可。要注意的是,对脉冲波频率的计算和输出控制没有直接输出控制字的方法精确,响应效果也会因脉冲分配器的存在而稍差一些。
1.3 控制算法的方案
单片机对步进电机的控制算法也有多种,如上述的输出字法就是利用单片机内部的计时功能定时输出控制字,把对电机速度的控制转变为对两次输出时间间隔的控制。控制算法很大程度决定于电机的控制方案。
上文选定的电机控制方案是要求单片机实时输出改变电机方向的触发信号和控制电机转速的脉冲信号。
对于电机方向的控制,由按键或串口控制指令改写对应的标志量的值并由接口输出即可。
对电机速度的控制就是对输出脉冲波频率的控制,而频率的大小是要有时间标尺衡量的。单片机内部对输出频率的控制是通过两个中间变量的比较运算实现的:其中一个变量(以A代替)由单片机内部的计时器改写,表征时间量作为标尺;另一个变量(以B代替)由按键或串口控制指令改写,表征速度值(其大小可通过算数运算与实际速度相统一)。程序在每次执行计时中断程序时改变一次电平:原来是高电平则变为低电平,原来是低电平则变为高电平。显然,B值的大小直接决定了比较结果产生的快慢,即输出端高低电平变化的快慢。改变B 的大小就可以改变输出的脉冲频率,从而控制步进电机的速度。
变量的使用不仅方便地实现了对输出脉冲频率的控制,还有利于实现多部步进电机的异步运行。针对每个电机定义一个速度变量,分别与时间标量进行比较运算,比较结果控制各自的管脚电平变化。用取反运算或者位异或运算改写管脚电平,可以有效控制输出电平而不互相干扰。
1.4 串口通讯的模拟
单片机上有通用异步接收/发送器用于串行通信,发送时数据由TXD端送出,接收时数据由RXD端输入。有两个缓冲器SBUF,一个作发送缓冲器,