基于单片机的直流伺服电机转速控制课程设计
基于单片机的直流电机调速系统设计

直流电机转速 :
根据基尔霍夫第二定律,得到电枢电压电动势平衡方程式 U=Ea+Ia(Ra+Rc)……………式1
式1中,Ra为电枢回路电阻,电枢回路串联保绕阻与电刷 接触电阻的总和;Rc是外接在电枢回路中的调节电阻
由此可得到直流电机的转速公式为:
n=(Ua-IR)/CeΦ ………………………式2
式2中, Ce为电动势常数, Φ是磁通量。 由1式和2式得
n=Ea/CeΦ ……………………………式3
由式3中可以看出, 对于一个已经制造好的电机, 当励磁电压和 负载转矩恒定时, 它的转速由回在电枢两端的电压Ea决定, 电 枢电压越高, 电机转速就越快, 电枢电压降低到0V时, 电机就 停止转动;改变电枢电压的极性, 电机就反转。
PWM脉宽调速
PWM(脉冲宽度调制)是通过控制固定电压的 直流电源开关频率, 改变负载两端的电压, 从 而达到控制要求的一种电压调整方法。在PWM 驱动控制的调整系统中, 按一个固定的频率 来接通和断开电源, 并且根据需要改变一个 周期内“接通”和“断开”时间的长短。通 过改变直流电机电枢上电压的“占空比”来 达到改变平均电压大小的目的, 从而来控制 电动机的转速。也正因为如此, PWM又被称为 “开关驱动装置”。
, 软件简单。但每个按键需要占用一个输入口线, 在 按键数量较多时, 需要较多的输入口线且电路结构复杂, 故此种键盘适用于按键较少或操作速度较高的场合。
数码管显示部分 本设计使用的是一种比较常用的是四位数码 管, 内部的4个数码管共用a~dp这8根数据线, 为使用提供了方便, 因为里面有4个数码管, 所以它有4个公共端, 加上a~dp, 共有12个引 脚, 下面便是一个共阴的四位数码管的内部 结构图(共阳的与之相反)
基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告

第一章:前言1.1前言:直流电机的定义:将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。
近年来,随着科技的进步,直流电机得到了越来越广泛的应用,直流具有优良的调速特性,调速平滑,方便,调速范围广,过载能力强,能承受频繁的冲击负载,可实现频繁的无极快速起动、制动和反转,需要满足生产过程自动化系统各种不同的特殊要求,从而对直流电机提出了较高的要求,改变电枢回路电阻调速、改变电压调速等技术已远远不能满足现代科技的要求,这是通过PWM方式控制直流电机调速的方法就应运而生。
采取传统的调速系统主要有以下的缺陷:模拟电路容易随时间飘移,会产生一些不必要的热损耗,以及对噪声敏感等。
而用PWM技术后,避免上述的缺点,实现了数字式控制模拟信号,可以大幅度减低成本和功耗。
并且PWM调速系统开关频率较高,仅靠电枢电感的滤波作用就可以获得平滑的直流电流,低速特性好;同时,开关频率高,快响应特性好,动态抗干扰能力强,可获很宽的频带;开关元件只需工作在开关状态,主电路损耗小,装置的效率高,具有节约空间、经济好等特点。
随着我国经济和文化事业的发展,在很多场合,都要求有直流电机PWM调速系统来进行调速,诸如汽车行业中的各种风扇、刮水器、喷水泵、熄火器、反视镜、宾馆中的自动门、自动门锁、自动窗帘、自动给水系统、柔巾机、导弹、火炮、人造卫星、宇宙飞船、舰艇、飞机、坦克、火箭、雷达、战车等场合。
1.2本设计任务:任务: 单片机为控制核心的直流电机PWM调速控制系统设计的主要内容以及技术参数:功能主要包括:1)直流电机的正转;2)直流电机的反转;3)直流电机的加速;4)直流电机的减速;5)直流电机的速度在数码管上显示;6)直流电机的启动;7)直流电机的停止;第二章:总体设计方案1、系统的硬件电路设计与分析电动机PWM驱动模块的电路设计与实现具体电路见下图。
本电路采用的是基于PWM 原理的H型桥式驱动电路。
基于单片机的直流电机调速系统的课程设计

一、总体设计概述本设计基于8051单片机为主控芯片,霍尔元件为测速元件, L298N为直流伺服电机的驱动芯片,利用 PWM调速方式控制直流电机转动的速度,同时可通过矩阵键盘控制电机的启动、加速、减速、反转、制动等操作,并由LCD显示速度的变化值。
二、直流电机调速原理根据直流电动机根据励磁方式不同,分为自励和它励两种类型,其机械特性曲线有所不同。
但是对于直流电动机的转速,总满足下式:式中U——电压;Ra——励磁绕组本身的内阻;——每极磁通(wb );Ce——电势常数;Ct——转矩常数。
由上式可知,直流电机的速度控制既可以采用电枢控制法也可以采用磁场控制法。
磁场控制法控制磁通,其控制功率虽然较小,但是低速时受到磁场和磁极饱和的限制,高速时受到换向火花和换向器结构强度的限制,而且由于励磁线圈电感较大,动态响应较差,所以在工业生产过程中常用的方法是电枢控制法。
电枢控制法在励磁电压不变的情况下,把控制电压信号加到电机的电枢上来控制电机的转速。
传统的改变电压方法是在电枢回路中串连一个电阻,通过调节电阻改变电枢电压,达到调速的目的,这种方法效率低,平滑度差,由于串联电阻上要消耗电功率,因而经济效益低,而且转速越慢,能耗越大。
随着电力电子的发展,出现了许多新的电枢电压控制法。
如:由交流电源供电,使用晶闸管整流器进行相控调压;脉宽调制(PWM)调压等。
调压调速法具有平滑度高、能耗低、精度高等优点,在工业生产中广泛使用,其中PWM应用更广泛。
脉宽调速利用一个固定的频率来控制电源的接通或断开,并通过改变一个周期内“接通”和“断开”时间的长短,即改变直流电机电枢上的电压的“占空比”来改变平均电.压的大小,从而控制电动机的转速,因此,PWM又被称为“开关驱动装置”。
如果电机始终接通电源是,电机转速最大为Vmax,占空比为D=t1/t,则电机的平均转速:Vd=Vmax*D,可见只要改变占空比D,就可以调整电机的速度。
平均转速Vd与占空比的函数曲线近似为直线。
基于单片机的伺服电机转速控制系统

基于单片机的伺服电机转速控制系统摘要传统的晶闸管直流调速系统,其控制回路都是采用模拟电子线路构成的,晶闸管触发器多数还是采用分立元件组成的,这使得控制回路的硬件设备极其复杂,安装调试困难,相对故障率较高。
针对传统的晶闸管直流调速系统的一些不足,提出了一种基于单片机的伺服电机转速控制系统的设计方法,并介绍了PID控制算法的设计。
本设计使用AT89C52作为控制芯片,以PI(比例-积分)调节控制算法为基础,采用软件编程产生脉宽比可控的脉宽调制信号,再通过功率放大电路H桥驱动电路来控制伺服电机电枢电压,从而完成对伺服电机转速的调节,达到了较好的控制性能。
同时通过4*4小键盘输入设定的伺服电机转速,用光电编码器来测定伺服电机转速,显示在4位LED 上。
关键词:直流调速;PID控制算法;AT89C52;脉宽调制;伺服电机The Servo Motor Speed Control System Based On MCUAbstractThe conventional DC drive system of SCR, which Control loop is consisting of simulate electronic circuits, and the SCR trigger is mostly made up of the discrete component, so the hardware devices are extremely complex in the Control loop,the installation and trial run difficultly, the relative failure rate is high. To solve the problems, this paper presents one kind design method of the servo motor speed control system based on MCU, and introduces the design of the PID control algorithm.This design uses AT89C52 as the controller chip, takes PI (proportion - integral) regulation control algorithm to be the foundation, adopts software programming to get the signal for Pulse-Width-Modulation, and controls the armature voltage of servo motor through H bridge driving circuit in power amplification electric circuit, thus it completes to adjust the servo motor rotational-speed, and achieves the good control performance. Meanwhile it set s the servo motor rotational-speed through the 4*4 small keyboard, and minutes the speed of the servo motor by the optical encoder, then shows the speed of the servo motor on the 4 LED.Key word: Direct-current speed regulation; PID control algorithm; AT89C52;Pulse-Width-Modulation; Servo motor目录摘要 (I)Abstract (II)第一章引言 (1)1.1 课题的研究背景及意义 (1)1.2 转速控制系统设计目标及技术要求 (3)第二章伺服电机转速控制系统设计 (4)2.1 系统硬件组成原理 (4)2.2 PID控制算法简介 (4)2.2.1 位置式PID控制算法 (6)2.2.2 增量式PID算法 (8)第三章硬件部分的设计 (12)3.1 直流电机调速原理 (12)3.2 PWM波形发生电路 (13)3.2.1 PWM基本原理 (13)3.2.2 PWM信号的产生 (14)3.3 PWM功率放大电路 (15)3.3.1 H桥驱动电路原理 (15)3.3.2 PWM驱动电路原理图 (17)3.4 测速电路 (18)3.5 键盘电路 (19)3.6 LED显示电路 (21)3.7 AT89C52的时钟电路 (23)3.8 AT89C52的复位电路 (24)第四章软件部分的设计 (26)4.1 主程序流程 (27)4.2 PID控制算法程序流程 (28)4.2.1 PID控制算法选择 (28)4.2.2 PID运算控制模块子程序 (29)4.3 按键处理子程序 (30)4.4 键盘扫描程序 (31)4.5 转速采集子程序 (31)4.6 LED显示子程序 (32)结束语 (33)附录A 基于单片机的伺服电机转速控制系统电路图 (34)附录B 源程序 (35)附录C 基于单片机的伺服电机转速控制系统器件一览表 (57)参考文献 (58)致谢 (60)第一章引言1.1 课题的研究背景及意义目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
计算机控制课程设计报告--基于单片机的直流伺服电机速度控制系统

《计算机控制技术》课程设计报告题目:基于单片机的直流伺服电机速度控制系统姓名:学号:专业:自动化年级:指导教师:2012年 12月 7日目录任务书 (2)参考资料 (3)设计步骤与内容 (7)设计总结 (12)任务书一、设计题目基于单片机的直流伺服电机速度控制系统二、设计目的1.加深理解和掌握计算机控制系统的组成结构和原理。
2.学习并掌握基于状态空间的状态控制器的原理和设计方法。
3.学习并掌握数字控制器的仿真和实验研究方法。
三、设计任务1.设计任务:基于单片机设计一个直流伺服电机闭环调速系统,利用电机上光电编码器所提供的转速脉冲信号,通过选择合适的数字控制算法,实现对给定的直流伺服电机的速度调节,要求在选定的目标转速范围(60—1800RPM)内,调速系统都具有较为快速、平稳和准确的响应性能。
提交一份课程设计报告,其中包含的主要内容:总体设计思路,测速算法的设计,控制算法的选择,系统工作流程,实验测试结果,分析讨论,程序源代码。
2.实验设备:参考资料Copal直流伺服电机:L298N直流电机\步进电机两用驱动模块:具体设计内容步骤与程序等:步骤:程序:#include "main.h"#define Kp 0.05#define Ki 0.05#define Kd 0.03#define Kt 0uchar code table[10] ={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};uchar code LED_W[8] = {0,1,2,3,4,5,6,7};uchar codesmd[]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6,0xff} ;uchar code number[]={0,1,2,3,4,5,6,7,8,9};uchar code smgm[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; uchar code smgw[]={0,0,1,2,3,4,5,6,7};uint pulse,jj;float pre_err=0,last_err=0;float Up=0,Ui=0,Ud=0,Uout=0;uchar P2state,control_out;float speed_set=500,speed_measure;uint value1,value2,value3,value4;void Delay1(uint i){uchar x,j;for(j=0;j<i;j++)for(x=0;x<=20;x++);}void delay2(){uint i;for(i=0;i<400;i++) //控制延迟时间可以消影{}}void xianshi(){P0=~smgm[smgw[8]]; //第8位显示(左起为第1位)P2=smd[number[jj%10]]; //显示个位数字delay2();P0=~smgm[smgw[7]]; //第7位显示(左起为第1位)P2=smd[number[jj%1000%100/10]]; //显示个位数字delay2();P0=~smgm[smgw[6]]; //第6位显示(左起为第1位)P2=smd[number[jj%1000/100]]; //显示个位数字delay2();P0=~smgm[smgw[5]]; //第5位显示(左起为第1位)P2=smd[number[jj/1000]]; //显示个位数字delay2();}void pid(){pre_err=speed_set-speed_measure;Up=Kp*pre_err;Ui+=Ki*pre_err;Ud=Kd*(pre_err-last_err);last_err=pre_err;Uout=Up+Ui+Ud;if(Uout>=255)Uout=255;if(Uout<=0)Uout=0;control_out=(uchar)(Uout);value3=(uint)(control_out);}void delay(uint i){uint j,k;for(j=i;j>0;j--){for(k=255;k>0;k--)PWM_out(control_out);} }/*void keyscan(){P2state=P2;if((P2state&0x01)==0){delay(250);P2state=P2;if((P2state&0x01)==0){speed_set+=10; }}if((P2state&0x02)==0){delay(250);P2state=P2;if((P2state&0x02)==0){speed_set+=50; }}if((P2state&0x04)==0){delay(250);P2state=P2;if((P2state&0x04)==0){speed_set+=100 ;}}if((P2state&0x08)==0){delay(250);P2state=P2;if((P2state&0x08)==0){speed_set+=500 ;}}if((P2state&0x10)==0){delay(250);P2state=P2;if((P2state&0x10)==0){speed_set-=10; }}if((P2state&0x20)==0){delay(250);P2state=P2;if((P2state&0x20)==0){speed_set-=50; }}if((P2state&0x40)==0){delay(250);P2state=P2;if((P2state&0x40)==0){speed_set-=100 ;}}if((P2state&0x80)==0){delay(250);P2state=P2;if((P2state&0x80)==0){speed_set-=500 ;}}}*/void main(){ECT_init();PWM_init();SCI_init();motor_H=1;motor_L=0;while(1){//keyscan();value1=(uint)(speed_set);PWM_out(control_out);//send_scope(value1,value2,value3,value4);//P0=0X00;xianshi();}}void int0() interrupt 0{pulse++;}void time0() interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;speed_measure=pulse*15/2;//pulse/160/0.01*60 jj=speed_measure;value2=(uint)(speed_measure);pid();pulse=0;}设计总结:这是一次关于xxx同学跟xxx同学一起合作的计控课程设计,我们是这样分工的:xxx 主要是负责硬件调试这一块,xxx主要是负责软件与程序这一块,经过我们的通力合作,终于完成了这次课设,但是其中也遇到种种挫折,比如xxx同学的程序有些小问题,但是经过与同学们的对比跟互相讨论,我们也得到了修正,又比如xxx同学在调试过程中遇到电机在旋转,但是数码管显示的是乱码等情况,经验证程序跟接线都无问题,我们猜测是实验室提供的数码管有问题,于是我们找人换了个板,最终在规定时间内完成了这次课设。
基于单片机控制的直流电机调速系统设计

基于单片机控制的直流电机调速系统设计一、引言直流电机在工业自动化领域中广泛应用,其调速系统的设计是实现自动控制的关键。
本文将介绍一种基于单片机控制的直流电机调速系统设计方案,主要包括电机原理、硬件设计、软件设计以及实验结果与分析等内容。
二、电机原理直流电机是一种将直流电能转换为机械能的装置,其原理基于电磁感应和安培定律。
电机由定子和转子两部分组成,定子上绕有恒定电流,产生磁场,而转子上带有电流,与定子的磁场互相作用,产生力矩使电机旋转。
三、硬件设计1.单片机选择在本设计中,选择了一款功能强大、性能稳定的单片机作为控制核心,例如使用ST C89C51单片机。
该单片机具有丰富的GP IO口和定时器/计数器等外设,适合进行电机控制。
2.电机驱动电路设计电机驱动电路主要包括功率电源、运放电路和驱动电路。
其中,功率电源为电机提供稳定的直流电源,运放电路用于信号放大和滤波,驱动电路则根据控制信号控制电机的转速。
3.速度测量电路设计为了实时监测电机的转速,需要设计速度测量电路。
常见的速度测量电路包括光电编码器、霍尔传感器等,通过测量转子上感应物体的变化来获得电机的转速信息。
四、软件设计1.程序框架软件设计的目标是实现对电机转速的控制和监测。
基于单片机的软件设计主要包括主程序的编写、中断服务程序的编写以及定时器的配置等。
2.控制算法常见的直流电机调速算法包括电压调速法、P WM调速法等。
根据实际需求选择合适的算法,并根据测量到的转速信号进行反馈控制,实现对电机转速的精确控制。
五、实验结果与分析设计完成后,进行实验验证。
通过设置不同的转速需求,观察电机的实际转速与设定转速的误差,并分析误差原因。
同时还可以测试电机在不同负载下的转速性能,以评估系统的稳定性和鲁棒性。
六、总结基于单片机控制的直流电机调速系统设计是实现自动控制的重要应用。
本文介绍了该系统的硬件设计和软件设计方案,并展示了实验结果。
通过系统实现电机转速的精确控制,可以广泛应用于工业自动化领域。
推荐-基于单片机的直流电机转速PID控制系统设计 精品

直流电机转速PID控制系统设计学院:专业班级:姓名:学号:指导老师:单片机原理课程设计任务书班级:自动化07 姓名:指导教师:曹利钢 20XX年6月7日教研室主任签字:年月日目录5778667第六章课程设计体会 (39)第七章参考文献 (39)第一章直流电机工作原理1.1 工作原理本设计中的电子钟的核心是AT89C51。
硬件电路主要由六部分构成:PID控制电路、复位电路、键盘电路、显示电路、串行通信电路以及温度检测电路。
PID控制电路是电子钟硬件电路的核心,没有PID控制电路,直流电机无法正常稳定运行。
本系统电路采用的晶振11.0592MHz,一号单片机定时器采用的是定时器0工作在方式2定时,用于实现一定时间的计时,定时时间为10ms。
复位电路可使单片机回复到初始状态。
键盘可实现对直流电机转速的设定及启动的操作。
温度检测是通过DS18B20芯片实现,在温度显示中还要注意数的转换。
在该设计中还用到定时器1工作在方式2用来产生9600的波特率,用在两片单片机之间串行传送数据。
1、外部中断INT1当电机转一圈时向外部中断进行一次中断计数,从而实现电机转速的测量。
2、一号单片机转速显示当电机转动时,显示部分可以把电机的设定转速或者是通过通信由温度计算的转速显示出来,同时在右侧部分显示电机当下的转速。
二号单片机的温度显示与之类似。
3、温度测量温度测量有专门的芯片DS18B20。
DS18B20 可编程温度传感器有 3 个管脚。
GND 为接地线,DQ 为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。
VDD 为电源接口,既可由数据线提供电源,又可由外部提供电源,范围 3.O~5.5 V。
当 DSI8B20 接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以 16 位带符号扩展的二进制补码形式存储在高速暂存存储器的 0,1 字节。
单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以 0.062 5℃/LSB 形式表示。
单片机控制直流电机课程设计报告

void delay(unsigned char dlylevel){
int i=50*dlylevel;
while(--i);}
此函数为带参数DLYLEVEL,约产生DLYLEVEL*400us的延时,因此一个脉冲周期可以由高电平持续时间系数hlt和低电平持续时间系数llt组成,本设计中采用的脉冲频率为25Hz,可得hlt+llt=100,占空比为hlt/(hlt+llt),因此要实现定频调宽的调速方式,只需通过程序改变全局变量hlt,llt的值,该子程序流程图如图四。
MOV TL0,#0CH
SETB ET0 ;开定时器0
SETB EA
SETB TR0
LOOP:AJMP LOOP ;等待
AT89C51单片机功能强大,方便今后的功能扩展。通过各种方案的讨论及尝试,再经过多次的整体软硬件结合调试,不断地对系统进行优化。同时对电动机控制不是一个简单的电子控制问题,它涉及很多方面的知识。相信单片机在今后的自动控制领域中将有更广阔的应用前景。相信该系统能成功运用于直流电机转速系统的实时监控,简化控制逻辑系统,而且成本低廉、功能完整、抗干扰性能好。能成功应用于直流电机转速调节、监控、保护场合,并且监控界面友好,使用方便。能够对直流电机实行实时监控,不仅大大改善了高速运行时的稳定性,而且还实现了保护功能。
SETB P2.0
CLR P2.2
SETB GORD ;置高低电平判断位为1
MOV GAO,LEN ;置高电平初值
MOV A,#100 ;置周期总长值
SUBB A,GAO ;求低电平比例值
MOV DI,A ;存低电平比例值
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
近年来,随着科技的飞速发展,单片机的应用正在不断地走向深入。
在仪器仪表、家用电器和专用装备的智能化以及过程控制等方面,单片机都扮演着越来越重要的角色。
作为高等工科院校,将单片机的应用引入实验教学必将对微电子控制技术的研究与实践注入强大活力。
我们研制的直流伺服电机控制实验装置即以单片机作为核心部件,它可完成对直流伺服电机转速、方向、行程的闭环控制。
本文重点论述该实验装置的硬件组成,软件设计以及控制方案的实施。
1 系统硬件组成
本系统由IBM-PC机、MCS-51单片机开发系统、模拟控制板、PWM脉宽
调制控制板以及带齿片和光电传感器的直流伺服电动机等组成。
1.1 以IBM-PC机作为本系统的辅助机
为了便于对单片机进行有效的开发,通过RS-232串行接口直接与IBM-PC机相连,使单片开发机能充分利用IBM-PC的CRT、磁盘、打印机和各种软硬件资源。
可同时在IBM-PC机上进行编辑程序—交叉汇编—屏幕模拟调试,最后通过串行通讯软件将目标程序传输到单片开发机上,从而极大地方便了程序的调试。
1.2 MCS-51单片开发机
通过一条40芯仿真插头使该单片开发机与直流伺服电机控制板相连,系统在总线控制器的作用下,使8031在监控状态和用户状态之间切换。
实验程序有单步断点、连续运行方式,包括INT0,INT1,T0,T1和串行口的中断服务程序。
1.3 模拟控制板
该板由DAC0832数模转换器、译码电路、T1中断信号整形电路、运算放大器电路及三极管驱动电路组成。
译码电路完成对DAC0832的片选,0832芯片完成数字量到模拟量的转换。
四运放芯片F324,前两级运放构成双极性输出,其输出正、负由单片机输出的代码决定,即D7=0输出为正,D7=1输出为负,由此驱动电机正、反转。
第三级运放为电压放大,将±5V放大到±12V,运放后面跟着两级功放,为射级跟随器输出形式。
1.4 PWM脉宽调制控制板
该板由T9224光电隔离、T1中断信号整形、电机转向控制以及功放驱动电路组成。
采用脉宽调制控制电机的转速,首先要确定采样周期和定时脉冲周期以
及它们之间的关系,然后决定调节方式。
1.5 直流伺服电动机
直流伺服电动机在自动控制系统中常用作执行元件,对它的要求是要有下垂的机械特性、线性的调节特性和对控制信号能作出快速反应。
该系统采用的是电磁式直流伺服电动机,其型号为45SY01型,其转速n的计算公式如下
n=E/KΦ=(U
a -I
a
R
a
)/KΦ
式中n为转速;Φ为磁通;E为电枢反电势;U
a 为外加电压;I
a
R
a
为电枢电流
和电阻。
2 系统软件设计
2.1 软件设计思想
在自动控制系统中,数字PID控制是采用最广泛的一种控制方法。
由于电机转速与电枢外加电压U
a
的大小基本上成正比,这就构成了PID调节的基础。
在PID参数整定过程中,以整定比例系数为主,K
p 主要影响响应速度,K
p
越大,响应越快,但太大会引起较大的超调和振荡,甚至产生不稳定。
积分时常数T
i
主要影响静态精度,可消除静差。
微分调节的加入有助于减小超调,克服振荡,使系统趋于稳定。
由于要分别完成PWM调节和模拟量调节两种方式的闭环控制实验,所以控制程序要分别考虑。
(1)关于PWM控制
在直流电机PWM调速系统中,我们采用的是双极式H型可逆PWM变换器,通过调节正、负脉冲的宽窄来控制电机的正、反转,以改变脉冲信号的占空比来控制加在电机电枢上电压的平均值,实现对直流电机的调速控制。
电机转速信号由光
电传感器检测,经光电隔离输入到单片机的P
1口。
T
作定时器,T
1
作转速计数。
(2)模拟量控制
首先要将输出量u根据设定的转向变为补码形式,然后经D/A变换芯片完成双向数模转换,最后经功率放大驱动伺服电机。
2.2 软件的组成
该系统软件由主控程序模块和5个子程序模块组成。
系统程序流程图所图3所示。
2.2.1 主控程序
主程序的功能主要是进行初始化工作,并构造一个显示段。
2.2.2 T0中断服务程序
每隔1ms进入该中断服务程序,根据采样结果对电机进行控制。
每隔
0.256s(PWM控制用)或0.128s(模拟控制用)调用采样和PID调节控制子程序并更新显示缓冲区。
2.2.3 显示子程序
该模块将放于数据显示缓冲区中的BCD码,变成七段字形码送显示器。
2.2.4 采样和PID调节控制算法子程序
该模块的功能是将电机转速的采样值与设定值进行比较,求出偏差e,再乘以比例系数,加到累加单元中。
2.2.5 更新显示缓冲区子程序
根据转速的计算公式,求出电机转速并转换成BCD码送入显示缓冲区。
2.2.6 双字节整数二翻十子程序
为适应人们读数习惯,把二进制数转化为松散的十进制数,以便于显示
3 结束语
基于单片机的直流伺服电机转速控制实验装置,给出了单片机应用的软硬件实现方案,它具有简单易行、开发方便等优点,为工科院校计算机专业的学生综合运用计算机软硬件知识开辟了一条途径。
本人求一份单片机控制直流电机的程序,要求:输入电压为-8——8V,正电压正转,负电压反转,电压高则转速快,低则转速低,并在显示器上显示转数,用D/A数据转换。