基于PID算法的直流电机转速控制器的设计.docx
- 文档编号:8193152
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:33
- 大小:302.51KB
基于PID算法的直流电机转速控制器的设计.docx
《基于PID算法的直流电机转速控制器的设计.docx》由会员分享,可在线阅读,更多相关《基于PID算法的直流电机转速控制器的设计.docx(33页珍藏版)》请在冰豆网上搜索。
基于PID算法的直流电机转速控制器的设计
计算机控制技术
课程设计
成绩评定表
设计课题基于PID算法直流电机转速控制器的设计
学院名称:
电气工程学院
专业班级:
自动F0902
学生姓名:
学号:
指导教师:
设计地点:
31-503
设计时间:
2012-06-11~2012-06-15
指导教师意见:
成绩:
签名:
年月日
计算机控制技术课程设计任务书
学生姓名
专业班级
自动F0902
学号
题目
基于PID算法直流电机转速控制器的设计
课题性质
工程设计
课题来源
网络
指导教师
主要内容
(参数)
利用89S51设计PID算法的直流电机控制系统,实现以下功能:
1.直流电机以最快的速度稳定;
2.实现电机的正反转;
3.电机的震荡小;
任务要求
(进度)
第1天:
熟悉课程设计任务及要求,查阅技术资料,确定设计方案。
第2天:
按照确定的方案设计单元电路。
要求画出单元电路图,元件及元件参数选择要有依据,各单元电路的设计要有详细论述。
第3天:
软件设计,编写程序。
第4-5天:
撰写课程设计报告。
主要参考
资料
[1]孙传友.测控系统原理与设计[M].北京:
北京航空航天大学出版社,2003:
160一166,174
[2]潘松,黄继业.EDA技术实用教程[M].北京:
科学出版社,2003:
33.
[3]Atmel.AT89S51数据手册[DB/OL].
[4]ST.L298N数据手册[DB/OL].
[5]泰继荣.现代直流控制技术及其系统设计[M].北京:
机械工业出版社,1993:
141-145.
[6]张俊漠.单片机中级教程[M].北京:
北京航空航天大学出版社,2006:
96.
[7]何立民.MCS-51系列单片机应用系统设计系统配置与接口技术[M].北京:
北京航空航天大学出版社,1990:
83-87.
审查意见
系(教研室)主任签字:
年月 日
目录
1引言4
2总体方案设计5
2.1硬件组成5
2.2方案论证6
2.3总体方案9
3硬件电路设计9
3.1单片机及其外围电路9
3.2速度传感器与信号调理电路10
3.3电源电路设计11
3.4直流电机的驱动电路设计12
3.5电路显示模块的设计12
3.6键盘输入电路的设计14
4软件设计及系统检测14
4.1PID的基本算法14
4.2数字PID算法15
4.3电机速度的算法17
4.4程序流程图18
4.5屏幕显示程序流程图20
4.6系统的测试与分析22
5结论23
参考文献23
附录:
25
●1引言
自动控制经由数百年的发展到如今已经涵盖了社会的方方面面,其在生物、电子、机械、军事、经济等各个领域中都得到了广泛的应用,这更推动了自动控制的快速发展。
在中国古代时期自动控制机构就已经被发掘如指南车采用扰动补偿原理的方向开环自动调整系统;铜壶滴漏计时装置采用非线性限制器的多级阻容滤波;观测天象的水力天文装置内有枢轮转速恒定系统采用内部负反馈并进行自震荡的系统等,这些控制系统在我国古代得到了广泛的应用,及随着科学技术的进步和人们对自动装置的追求,控制器也发生了翻天覆地的变化,不断地深入人心,它将成为当今社会的主流之一,深入到各个行业和领域。
在现代社会,我国神舟飞船的飞天,各个检测器的出现及应用都将推动自动控制系统的飞跃。
控制理论经历了经典控制理论、现代控制理论和智能控制理论赛格阶段,而一个完整系统的结构应该如下:
这此图中的调节器、检测元件、执行机构都是控制系统中不可缺少的组成部分,而控制器系统主要包括传感器、变速器、控制器(计算机、单片机)、执行机构、I/O口。
控制系统的被测参数经传感器,变送器转化成标准的电信号送到控制器,再经一定的算法输出需要值然后加在被控系统上。
而目前PID控制及其控制器或智能PID控制器在社会生活中广泛使用,而PID作为一种经典算法也越来越受国内外各个行业的关注。
PID控制器发展至今已有70多年的历史形成了结构简单、稳定性好、工作可靠、调整方便等优点使其在工业控制中发挥着不可泯灭的作用,又随着现代科技的突飞猛进各种仪器、仪表的出现更加推动了PID控制器的发展。
当我们不完全了解一个系统和被控对象或者不能有效的获取相关的参数信息时,以PID控制技术控制是最适用的。
实际应用中也有PI、PD控制,PID控制器就是偏差的比例、积分、微分进行控制。
比例能够迅速反应误差,减少误差;积分是对静态误差的时间积累这样即便误差很小随着时间的增加而增大使控制器的输出增大,进一步减小稳态误差直至为0;而微分控制能偏差信号的变化趋势,能够超前控制,克服系统的惯性,加快动态响应速度,减少超调量,提高稳定性。
在不同的工程中我们可根据工程的特点、需求来选择不同的控制器。
随着社会的进步和客户的不同要求,我们可以借助物联网来远程控制我们的系统已经逐渐成熟并广泛应用而控制系统也将向精度更高、稳定性更好、易于交流和网络控制的方向发展。
本次设计主要研究的是PID算法在运动控制领域中的应用,采用经典的被控对象直流电机。
直流电机由于其调速范围宽、且易于平滑调速、易于控制、快速性高、调速时能量损耗小等优点已经在电脑硬盘、CPU风扇、光驱等这些精密的小型电机中大量应用,也在电子加工流水线设备,纺织印染、化工机电、冶金、钢铁、制造、电梯等各个行业和大型设备中使用。
然而在这些应用中电机的转速控制占据着无比重要的地位,因此本次设计主要针对电机转速的问题,利用经典PID算法控制电机的转速。
其设计思路为:
以AT89C52单片机为控制核心,产生占空比受PID算法控制的PWM脉冲以及L298N电机驱动芯片共同实现对直流电机转速的控制。
同时利用光电传感器将电机速度转换成脉冲频率反馈到单片机中,构成转速闭环控制系统,达到转速无静差调节的目的。
还有在系统中采128×64LCD显示器作为显示部件,通过4×4键盘设置P、I、D、V四个参数和正反转控制,启动后通过显示部件了解电机当前的转速和运行时间。
因此该系统在硬件方面包括:
电源模块、电机驱动模块、控制模块、速度检测模块、人机交互模块。
软件部分采用C语言进行程序设计,其优点为:
可移植性强、算法容易实现、修改及调试方便、易读等。
本次设计系统的主要特点:
(1)采用数字PID算法,以及可移植性强的C语言编程方法,能够使程序易读,便于修改和共享,其次能使控制系统更加灵活,简便。
(2)使用线性的光电隔离器达到主、控电路的隔离,有利于保护电路元件,减少损失。
(3)采用128
64LCD屏显示模块让人更直观地了解电机的转速、运行时间易于操作者的控制。
(4)采用光电传感器将速度转化成脉冲频率反馈到单片机控制,将比例、积分、微分的静态误差进行比较,以致达到消除误差,提高了控制的精度。
●2总体方案设计
●2.1硬件组成
按照实际生活中对电机转速的技术要求,控制系统的硬件应包括以下几部分:
(1)控制器。
作为控制系统的核心,可采用单片机、PLC、DCS等,在实际应用中按照需求和经济形势来选择,按照输入其中的PID经典算法把输入来的偏差信号按照比例、积分、微分的计算方式计算后输出较小偏差的电信号驱动电机的转动,启停。
(2)速度检测通道。
将速度信号通过光电传感器转化成脉冲频率反馈到单片机,来影响电机的转速。
(3)控制输出通道。
控制器输出的控制信号经该通道对电机转速实施控制。
(4)人机交互界面。
在电机转动启停过程中都能通过该界面了解到电机的转速,运行时间,方便工作人员更好地操作。
(5)电机驱动模块。
L298N考虑到了电路的抗干扰能力、安全性、可靠性使电路设计更加简单,大大提高了工作效率。
(6)键盘模块。
采用
个按键的键盘,虽然操作速度会有所降低但其功能更加丰富。
(7)电源模块。
通过固定芯片(7812、7805)对整流后的电压进行降压,稳压处理提高安全性,可靠性,节省电路元件。
电路方框图如图2.1所示:
图2.1硬件方框图
●2.2方案论证
(1)控制器
根据设计任务,控制器主要用于产生占空比受数字PID算法控制的PWM脉冲,并对电机当前速度进行采集处理,根据算法得出当前所需输出的占空比脉冲。
对于控制器的选择有以下两种方案。
方案一:
采用AT89S51作为系统控制的方案。
AT89S51单片机算术运算功能
强,软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制1吟。
相对于FPGA来说,它的芯片引脚少,在硬件很容易实现。
并且它还具有功耗低、体积小、技术成熟和成本低等优点,在各个领域中应用广泛。
方案二:
采用FPGA(现场可编辑门列阵)作为系统的控制器,FPGA可以实现各种复杂的逻辑功能叫模块大,密度高,它将所有器件集成在一块芯片上,减少了体积,提高了稳定性,并且可应用EDA软件仿真、调试,易于进行功能控制。
FPGA采用并行的输入输出方式,提高了系统的处理速度,适合作为大规模实时系统的控制核心。
通过输入模块将参数输入给FPGA,FPGA通过程序设计控制PWM脉冲的占空比,但是由于本次设计对数据处理的时间要求不高,FPGA的高速处理的优势得不到充分体现,并且由于其集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。
(2)速度检测通道模块
方案一:
采用测速发电机对直流电机转速进行测量。
该方案的实现原理是将测速发电机固定在直流电机的轴上,当直流电机转动时,带动测速电机的轴一起转动,因此测速发电机会产生大小随直流电机转速大小变化的感应电动势,因此精度比较高,但由于该方案的安装比较复杂、成本也比较高,在本次设计没有采用此方案。
方案二:
采用霍尔集成片。
该器件,内部由三片霍尔金属板组成。
当磁铁正对金属板肘,由于霍尔效应,金属板发生横向导通lsl,因此可以在电机上安装磁片,而将霍尔集成片安装在固定轴上,通过对脉冲的计数进行电机速度的检测。
方案三:
采用对射式光电传感器。
其检测方式为:
发射器和接受器相互对射安装,发射器的光直接对准接受器,当坝IJ物挡住光束时,传感器输出产生变化以指示被测物被检测到。
通过脉冲计数,对速度进行测量。
(3)电机驱动模块
方案一:
采用专用的电机驱动芯片,例如L298N、L297N等电机驱动芯片,
由于它内部己经考虑到了电路的抗干扰能力,安全、可靠行,所以我们在应用时只需考虑到芯片的硬件连接、驱动能力等问题就可以了,所以此种方案的电路设计简单、抗干扰能力强、可靠性好。
设计者不需要对硬件电路设计考虑很多,可将重点放在算法实现和软件设计中,大大的提高了工作效率。
方案二:
采用多级放大晶体管构成复合晶体管增大驱动电流而形成的驱动电路,但由于采用的晶体管较多增大了驱动电路中的元件数目,使电路复杂化,抗干扰能力差,安全性低。
(4)电源模块
方案一:
通过电阻分压的形式将整流后的电压分别降为控制芯片和电机运行所需的电压,此种方案原理和硬件电路连接都比较简单,但对能量的损耗大,在实际应用系统同一般不宜采用。
方案二:
通过固定芯片对整流后的电压进行降压、程、压处理(如7812、7805
等),此种方案可靠性、安全性高,对能源的利用率高,并且电路简单容易实现。
(5)显示模块
方案一:
使用七段数码管CLED)显示。
数码管具有亮度高、工作电压低、功耗小、易于集成、驱动简单、耐冲击且性能稳定等特点,并且它可采用BCD编码显示数字,编程容易,硬件电路调试简单。
但由于在此次设计中需要设定的参数种类多,而且有些需要进行汉字和字符的显示,所以使用LED显示器不能完成设计任务,不直采用。
方案二:
采用1602LCD液晶显示器,该显示器控制方法简单,功率低、硬件电路简单、可对字符进行显示,但考虑到1602LCD液晶显示器的屏幕小,不能显示汉字,因此对于需要显示大量参数的系统来说不宜采用。
方案三:
采用128x64LCD液晶显示器,该显示器功率低,驱动方法和硬件连接电路较上面两种方案复杂,显示屏幕大、可对汉字和字符进行显示。
(6)键盘模块
方案一:
采用独立式键盘,这种键盘硬件连接和软件实现简单,并且各按键相互独立,每个按键均有一端接地,另一端接到输入线上。
按键的工作状态不会影响其它按键上的输入状态。
但是由于独立式键盘每个按键需要占用一根输入口线,所以在按键数量较多时,I10口浪费大,故此键盘只适用于按键较少或操作速度较高的场合。
方案二:
采用行列式键盘,这种键盘的特点是行线、列线分别接输入线、输出线。
按键设置在行、列线的交叉点上,利用这种矩阵结构只需m根行线和n根列线就可组成
个按键的键盘,因此矩阵式键盘适用于按键数量较多的场合。
但此种键盘的软件结构较为复杂。
经过上述的分析与论证,系统各模块采用的方案如下:
(1)控制模块:
采用AT89S51单片机;
(2)速度检测模块:
采用光电传感器
(3)电机驱动模块:
采用L298N。
(4)电源模块:
采用较稳定的芯片7812
(5)显示模块:
采用128
64LCD液晶显示器
(6)键盘模块:
采用
个按键的键盘
●2.3总体方案
按照上述方案论证的结果,基于PID算法的直流电机控制的总体方案框图如图2.2所示。
图2.2中,光电传感器输出的微弱信号经过放大器放大后输入到V/F转换电路,将放大后的模拟电信号转化成脉冲信号,脉冲的频率与输入的模拟信号成正比,这个转化后的脉冲信号经过光电隔离器输入到MCU中。
单片机对输入的脉冲信号处理后与计划的值相比较输入较小的稳态误差的信号,经L298N驱动芯片、放大器后送至直流电机,同时把电机的转速和运行时间显示在LED屏上。
从而方便得到比较理想的信号。
其总体方框图如2.2所示:
图2.2总体方框图
●3硬件电路设计
●3.1单片机及其外围电路
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器,既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。
AT89C52的主要性能参数:
·与MCS-51产品指令系统完全兼容
·4k字节在系统编程(ISP)Flash闪速存储器
·1000次擦写周期
·4.0-5.5V的工作电压范围
·全静态工作模式:
0Hz-33MHz
·三级程序加密锁
·128×8字节内部RAM
·32个可编程I/O口线
·2个16位定时/计数器
·6个中断源
·全双工串行UART通道
·低功耗空闲和掉电模式
·中断可从空闲模唤醒系统
·看门狗(WDT)及双数据指针
·掉电标识和快速编程特性
·灵活的在系统编程(ISP字节或页写模式)
AT89S51的主要内部的结构:
4k字节Flash闪速存储器
128字节内部RAM
32个I/O口线
看门狗(WDT)
两个数据指针
两个16位定时/计数器
一个5向量两级中断结构
一个全双工串行通信口
片内振荡器及时钟电路
同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
●3.2速度传感器与信号调理电路
在本系统中由于要将电机本次来样的速度与上次采样的速度进行比较,通过偏差进行PID运算,因此速度来集电路是整个系统不可缺少的部分。
本次设计中应用了比较常见的光电测速方法来实现,其具体做法是将电机轴上固定一困盘,且其边缘上有N个等分凹槽,在圆盘的一侧固定一个发光二极管,其位置对准凹槽处,在另一侧和发光二极光平行的位置上固定一光敏三极管,如果电动机转到凹槽处肘,发光二极管通过缝隙将光照射到光敏三极管上,电路如图3.1所示,三极管导通,反之三极管截止,从图中可以得出电机每转一围在P3.3的输出端就会产生N个低电平。
这样就可根据低电平的数量来计算电机此时转速了。
例如当电机以一定的转速运行时,P3.3将输出如图3.2所示的脉冲,若知道一段时间t内传感器输出的低脉冲数为n,则电机转速v=r/s。
图3.1光电传感器示意图
图3.2传感器输出脉冲波形图
●3.3电源电路设计
为获得稳定的电压和较稳定的电流,我们采用相对较为便宜且性能比较良好的电源芯片7812、7805、7912。
最大的输出电流为1.5A.其原理图如图3.3。
图3.3稳压电源图
●3.4直流电机的驱动电路设计
驱动模块是控制器与执行器之间的桥梁,在本系统中单片机的I/O口不能直接驱动电机,只有引入电机驱动模块才能保证电机按照控制要求运行,在这里边用L298N电机驱动芯片驱动电机,该芯片是由四个大功率晶体管组成的H桥电路构成,四个晶体管分为两组,交替导通和截止,用单片机控制达林顿管使之工作在开关状态,通过调整输入脉冲的占空比,调整电动机转速。
其中输出脚CSENSEA和SENSEB)用来连接电流检测电阻,Vss接逻辑控制的电源。
Vs为电机驱动电源。
INI-IN4输入引脚为标准TTL逻辑电平信号,用来控制H桥的开与关即实现电机的正反转,ENA、ENB引脚则为使能控制端,用来输入P矶币4信号实现电机调速。
其电路如图3.4所示,利用两个光电相合器将单片机的1/0与驱动电路进行隔离,保证电路安全可靠。
这样单片机产生的PWM脉冲控制L298N的边通端口1,使电机在PWM脉冲的控制下正常运行,其中四个
二极管对芯片起保护作用。
图3.4直流电机驱动电路示意图
●3.5电路显示模块的设计
根据设计要求要对系统各项参数和电机运行状态进行显示,因此在电路中加入显示模块是非常必要的。
在系统运行过程中需要显示的数据比较都,而且需要汉字显示,在这里边用128x64液晶显示器比较适合,它是一种图形点阵液晶显示器,主要由行驱动器/列驱动器及128x64全点阵液晶显示器组成,可完成汉字(16x16)显示和图形显示共有20个引脚lSl,其引脚名称及引脚编号的对应关系如表格3.5所示。
引脚
符号
功能
引脚
符号
功能
1
VSS
电源/地
15
CS1
CS1=1选左64*64点
2
VDD
电源+5v
16
CS2
CS2=1选右64*64点
3
VO
液晶驱动电源
17
/RST
复位端
4
RS
H:
输入L:
输出
18
VEE
屏驱动负电源
5
R/W
H:
读取L:
写入
19
A
背光正电源
6
E
使能端
20
K
背光负电源
7-14
DB0-DB7
数据线
图3.5引脚名称和标号示意图
其电路连接图如图3.6所示:
图3.612864屏显示电路图
●3.6键盘输入电路的设计
根据设计需求,本系统中使用了4x4键盘用以实现对P、I、D三个参数和电机正反转的设定,以及对电机启动、停止、暂停、继续的控制,其电路原理图如图3.7所示。
图中L0-L3为4x4键盘的列信号,H0-H3为4x4键盘的行信号。
在本系统中,用Pl.0、P1.1、P1.2、Pl.3连键盘的列信号L0-L3;用P0.4~PO.7连接键盘的行信号H0-H3例。
按照要求设计操作面板如图3.7所示:
图3.7键盘模块
键盘操作说明:
在系统开始运行时,128x64LCD将显示开机界面,若按下设置键显示屏进入参数设置界面,此时按1、2、3、4进入相应参数的设置的状态,输入相应的数字即可完成该参数的设置,待所有量设置完成后按正/反控制键设置正反转,最后按启动键启动系统,在运行过程中可按下相应键对电机进行暂停、继续、停止运行的控制。
●4软件设计及系统检测
●4.1PID的基本算法
PID控制是比例、积分、微分控制的简称。
在自动控制领域中,PID控制是历史最久、生命力最强的基本控制方式。
PID控制器的原理是根据系统的被调量实测值与设定值之间的偏差,利用偏差的比例、积分、微分三个环节的不同组合计算出对广义被控对象的控制量。
图4.1是常规PID控制系统的原理图。
图4.1PID控制原理图
y(t)构成的控制偏差信号e(t):
e(t)=r(t)-y(t)
(1)
其输出为该偏差信号的比例、积分、微分的线性组合,也即PID控制律:
式中,Kp为比例系数;TI为积分时间常数;TD为微分时间常数。
根据被控对象动态特性和控制要求的不同,式
(2)中还可以只包含比例和积
分的PI调节或者只包含比例微分的PD调节。
下面主要讨论PID控制的特点及其
对控制过程的影响、数字PID控制策略的实现和改进,以及数字PID控制系统的设计和控制参数的整定等问题。
●4.2数字PID算法
在连续生产过程控制系统中,通常采用如图l所示的PID控制,其对应的传递函数表达式为
对应的控制算法表达式为
模拟调节器很难实现理想的微分de(t)/dt,而利用计算机可以实现式(10)所
表示的差分运算,故将式(11)称为理想微分数字PID控制器。
基本的数字PID
控制器一般具有以下两种形式的算法。
(1)位置型算法
模拟调节器的调节动作是连续的,任何瞬间的输出控制量u都对应于执行机构(如调节阀)的位置。
由上式可知,数字控制器的输出控制量u(k)也和阀门位置相对应,故称为位置型算式(简称位置式)。
相应的算法流程图如图4.2所示。
由图可以看出,因为积分作用是对一段时间内偏差信号的累加,因此,利用计算机实现位置型算法不是很方便,不仅需要占用较多的存储单元,而且编程
也不方便,因此可以采用其改进式一一增量型算法来实现。
图4.2数字PID位置型控制器示意图
(2)增量型算法
增量型算法仅仅是在算法设计上的改进,其输出是相对于上次控制输出量的增量形式,并没有改变位置型算法的本质,即它仍然反映执行机构的位置开度。
如果希望输出控制量的增量,则必须采用具有保持位置功能的执行机构。
数字PID控制器的输出控制量通常都是通过D/A转换器输出的,在D/A转换器中将数字信号转换成模拟信号(4-20mA的电流信号或0-5V的电压信号),然后通过放大驱动装置作用于执行机构,信号作用的时间连续到下一个控制量到来之前。
因此,D/A转换器具有零阶保持器的功能。
。
增量型算法的程序流程图如图4.3所示。
图4.3数字PID增值型控制器示意图
因此又有经典的控制理论和对PID算法的深入了解得到PID算法的基本流程图4.4可为:
图4.4PID算法的基本流程图
●4.3电机速度的算法
本系统中电机速度来
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 PID 算法 直流电机 转速 控制器 设计