基于单片机控制直流电机调速系统设计正文文档格式.doc
- 文档编号:13025978
- 上传时间:2022-10-02
- 格式:DOC
- 页数:49
- 大小:817KB
基于单片机控制直流电机调速系统设计正文文档格式.doc
《基于单片机控制直流电机调速系统设计正文文档格式.doc》由会员分享,可在线阅读,更多相关《基于单片机控制直流电机调速系统设计正文文档格式.doc(49页珍藏版)》请在冰豆网上搜索。
4.1系统软件简介 14
4.2编程语言简介 14
4.3程序设计 15
第五章上位机设计 23
5.1函数介绍 23
5.2前面板设计 25
5.3程序框图设计 26
第六章运行与调试 27
个人小结 31
参考文献 41
附录1 42
第一章引言
1.1课题的研究意义
直流电机具有良好的起动、制动性能,宜于在大范围内平滑调速,在许多需要调速或快速正反向的电力拖动系统中得到了广泛的应用。
近年来,交流调速系统发展很快,然而直流拖动系统无论是在理论上还是在实践上都比较成熟,并且从反馈闭环控制的角度来看,它又是交流拖动控制系统的基础,所以直流调速系统在生活中有着举足轻重的作用。
虽然随着电力技术的发展,特别是在大功率电力电子器件问世以后,直流电机拖动将有逐步被交流电机拖动所取代的趋势,但在中、小功率场合,常采用永磁直流电动机。
早期的直流电动机的控制均以模拟电路为基础,采用运算放大器、非线性集成电路以及少量的数字电路组成,控制自通的硬件部分非常复杂,功能单一,而且系统非常不灵活,调试困难。
随着单片机技术的不断进步,使得许多控制功能及算法可以采用软件技术来完成,为直流电动机的控制提供了更大的灵活性,并使系统能够达到更高的稳定性能,同时还具有软特性好,过载能力强,可进行PID调节,调速稳定等优势。
因此,本课题的研究具有很好的实际意义。
本次设计主要研究的是PID控制技术在运动控制领域中的应用,纵所周知运动控制系统最主要的控制对象是电机,在不同的生产过程中,电机的运行状态要满足生产要求,其中电机速度的控制在占有至关重要的作用,因此本次设计主要是利用PID控制技术对直流电机转速的控制。
其设计思路为:
以AT89S52单片机为控制核心,产生占空比受PID算法控制的PWM脉冲实现对直流电机转速的控制。
同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。
因此该系统在硬件方面包括:
电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。
软件部分采用C语言进行程序设计,其优点为:
可移植性强、算法容易实现、修改及调试方便、易读等。
第二章总体设计方案
2.1设计思路与原理
本文主要研究了利用AT89S52单片机控制PWM信号从而实现对直流电机转速进行控制的方法。
而中间利用了大家都比较熟悉的数字PID算法,以前大家用的比较多的是模拟PID算法,但是由于现场的系统参数、温度等条件发生变化,使系统很难达到最佳的控制效果,因此采用模拟PID控制器难以获得满意的控制效果。
数字PID不仅能够实现模拟PID所完成的控制任务,而且具备控制算法灵活、可靠性高等优点,应用面越来越广。
本实验还利用了Labview设计上位机来对直流电机的转速进行测量,并在Labview的前面板显示出转速,再通过Labview的串口通信反馈给单片机,然后利用数字PID算法调节转速,通过Labview实时检测转速大小。
单片机直流电机调速简介:
单片机直流调速系统可实现对直流电动机的平滑调速。
PWM是通过控制固定电压的直流电源开关频率,从而改变负载两端的电压,进而达到控制要求的一种电压调整方法。
在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来改变平均电压的大小,从而控制电动机的转速。
因此,PWM又被称为“开关驱动装置”。
本系统以AT89S52单片机为核心,通过单片机控制,C语言编程实现对直流电机的平滑调速。
本实验主要运用的是脉冲触发(也就是上升沿触发中断)
系统控制方案的分析:
本直流电机调速系统以单片机系统为依托,根据PWM调速的基本原理,以直流电机电枢上电压的占空比来改变平均电压的大小,从而控制电动机的转速为依据,实现对直流电动机的平滑调速,并通过单片机控制速度的变化。
转速监测与反馈系统的分析:
以往我们会使用测速发电机来进行转速的测量与分析,把输入的机械转速变换为电压信号输出,并要求输出的电压信号与转速成正比,分为直流与交流两种。
而运用Labview(G语言)设计转速测量系统是种大胆的尝试,用Labview设计起来方便,操作简单,只要用Labview的串口通信就可以与单片机相连接,编入C代码就能实现监测功能。
2.2系统总体设计框图
上位机监控
光电对管
转动源
转速显示
MCU
INTO
P1.7模拟PWM
PID调整
由于上位机和单片机都具有串口,因此经常使用串口完成两者之间的数据交换,这就需要在上位端设计相应的串口通信程序。
完成了与单片机的数据交换后,就能在Labview的前面板实时监测转速,用上位机监测到的数据反馈给MCU,用P1.7模拟PWM,进而通过位置型PID进行调整,将数据传输给转动源,实现调整转速的功能。
PWM信号的产生与放大就是在PWM驱动控制的调整系统中,按一个固定的频率来接通和断开电源,并且根据需要改变一个周期内“接通”和“断开”时间的长短。
通过改变直流电机电枢上电压的“占空比”来达到改变平均电压大小的目的,从而来控制电动机的转速。
也正因为如此,PWM又被称为“开关驱动装置”。
N给定
PID
驱动
电机
+
—
2.3系统主要参数设计原理
模拟PID就是在现场安装的利用DDZII或者DDZIII型表再加上其他气动仪表的模块,对现场控制变量的模拟信号利用旋钮或拨盘对PID的三个值进行设定对或者手动控制输出的系统,其信号均为模拟信号。
数字PID就是把现场的控制变量的模拟信号和对现场受控变量的输出信号均转换成了数字信号,PID的实现也是通过数字信号的设定来完成的。
现在大多在DCS、PLC系统内完成的。
数字PID有两种模式:
位置型PID算式,增量型PID算式。
增量型PID不需要做累加,控制量增量的确定仅与最近几次误差采样值有关,计算误差或计算精度问题对控制量的计算影响较小,而位置型算法要用到过去的误差累加值,容易产生大的累加误差。
增量型算法得出的是控制量的增量,例如阀门控制中,只输出阀门开度的变化部分,误动作影响小,必要时通过逻辑判断限制或禁止本次输出,不会严重影响系统的工作。
采用增量型算法,易实现手动到自动的无冲击切
第三章硬件设计
3.1使用设备
ZYMCU02主机模块、显示与键盘模块、ZigBee无线收发实验模块、转动源实验模块、电脑一台(已装KEIL和STC下载软件)、导线。
实验连线表:
表3-1
主台体
ZigBee无线收发模块
ZYMCU02主机模块
显示与键盘模块
+24V
GND
Vout
+5V
频率/转速表“+”
Fout
P3.2
频率/转速表“-”
P1.0
KEY1(设置)
P1.1
KEY2(加)
P1.2
KEY3(减)
P1.3
Q7(用于指示“设置”按键的动作状态)
P7.7与GND之间未标示的插针
P1.7
P0[0..7]
LED4-[H..A]
P2[0..7]
LED4-[8..0]
图3.1ZYMCU02主机模块
AT89S52为ATMEL所生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flsah存储器。
(一)、AT89S52主要功能列举如下:
1、拥有灵巧的8位CPU和在系统可编程Flash
2、晶片内部具时钟振荡器(传统最高工作频率可至12MHz)
3、内部程序存储器(ROM)为8KB
4、内部数据存储器(RAM)为256字节
5、32个可编程I/O口线
6、8个中断向量源
7、三个16位定时器/计数器
8、三级加密程序存储器
9、全双工UART串行通道
(二)、AT89S52各引脚功能介绍:
图3.2
VCC:
AT89S52电源正端输入,接+5V。
VSS:
电源地端。
XTAL1:
单芯片系统时钟的反相放大器输入端。
XTAL2:
系统时钟的反相放大器输出端,一般在设计上只要在XTAL1和XTAL2上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一20PF的小电容,可以使系统更稳定,避免噪声干扰而死机。
RESET:
AT89S52的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。
EA/Vpp:
"
EA"
为英文"
ExternalAccess"
的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。
因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。
如果是使用8751内部程序空间时,此引脚要接成高电平。
此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。
ALE/PROG:
ALE是英文"
AddressLatchEnable"
的缩写,表示地址锁存器启用信号。
AT89S52可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0~A7)锁进锁存器中,因为AT89S52是以多工的方式送出地址及数据。
平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。
此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。
PSEN:
此为"
ProgramStoreEnable"
的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。
AT89S52可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。
PORT0(P0.0~P0.7):
端口0是一个8位宽的开路汲极(OpenDrain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。
其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8个LS的TTL负载。
如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0~A7)及数据总线(D0~D7)。
设计者必须外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 直流电机 调速 系统 设计 正文