基于8088控制器的直流电机闭环调速.
基于单片机的直流电机闭环调速系统设计
基于单片机的直流电机闭环调速系统设计一、引言电机调速是现代工业自动化控制系统中的重要环节之一、直流电机是一种通用的执行元件,广泛应用于各种机械设备中。
为了满足不同工况下的需求,需要设计一种闭环调速系统,来精确控制直流电机的转速。
二、闭环调速系统设计原理闭环调速系统是通过测量电机转速,与给定的目标转速进行比较,并计算出误差值,根据误差值来调整电机的控制量,使得电机的实际转速逐渐接近目标转速。
常用的闭环调速系统结构包括:传感器、比较器、控制器、执行器等。
三、系统硬件设计1.传感器:采用光电编码器作为转速传感器,通过检测转子上的光电信号来测量电机转速,并将转速信号反馈给控制器。
2.控制器:采用单片机作为控制器,实现转速目标值的设定、误差计算、控制指令的生成等功能。
使用PID算法作为控制器,根据误差信号和设定的PID参数计算控制量,并输出给执行器。
3.执行器:采用电机驱动电路作为执行器,将控制器输出的控制量转换为控制信号,驱动直流电机旋转。
四、系统软件设计1.系统初始化:包括单片机的初始化设置、PID参数的初始化、设定转速目标值等。
2.信号采集:采集光电编码器的信号,并根据信号周期计算电机的实际转速。
3.控制量计算:通过将转速目标值与实际转速值进行比较,计算转速误差,并根据PID算法计算控制量。
4.控制指令输出:将计算得到的控制量输出给电机驱动电路,驱动直流电机旋转。
5.系统反馈:每隔一段时间,重新采集转速信号,并进行误差计算和控制指令输出的循环操作,以实现闭环调速。
五、闭环调速系统实验验证搭建实验平台,将设计好的闭环调速系统进行实际验证。
通过调节设定转速目标值,在不同负载条件下,观察闭环调速系统的响应特性和控制精度。
根据实验结果,对系统的PID参数进行优化,进一步提高闭环调速系统的性能。
六、总结本文基于单片机的直流电机闭环调速系统设计,通过测量电机转速,并与设定的目标值进行比较,通过PID算法计算控制量,实现对直流电机的精确控制。
基于单片机的直流电动机闭环调速控制系统设计
基于单⽚机的直流电动机闭环调速控制系统设计本科毕业设计论⽂论⽂题⽬基于单⽚机的直流电动机闭环调速控制系统设计基于单⽚机的直流电动机闭环调速控制系统设计摘要本⽂介绍利⽤51系列单⽚机控制PWM信号从⽽实现对⼤功率直流电机转速进⾏控制的系统设计。
⽂章中采⽤了STC89C52单⽚机芯⽚,通过软件控制,对PWM输出占空⽐进⾏调节,从⽽控制电机的平均电压以实现电机速度的控制。
此外,还采⽤了IR2110芯⽚与功率管(MOSFET)构成H桥驱动电路作为直流电机调速功率放⼤电路的驱动模块。
本设计中使⽤了霍尔元件对直流电机的转速进⾏测量,反馈给单⽚机,通过液晶显⽰出来。
另外,通过对电流的采样,实现过流保护。
在软件⽅⾯,⽂章中详细介绍了PWM运算程序以及速度测量程序等的编写思路和具体的程序实现。
关键词PWM, IR2110, 直流电动机, STC单⽚机ABSTRACT This article describes the use of 51 series microcomputercontrol of the PWM signal in order to achieve high-power DC motor speed control system design. With the help of stc89c52, a kind of MCU, the paper described how to adjust the output of the PWM duty cycle to control the average motor voltage and so to control motor speed. In addition, the uses of the IR2110 chip and power tube (MOSFET) constitute the H bridge drive circuit as a driver module of DC motor speed control circuit of power amplifier. The design adopts the Hall element to measure the DC motor speed, and the result of it feeds back to the microcontroller and shows on the liquid crystal display.Moreover, through to the electric current sampling, realizes the overflow protection. On the software side, the article introduced in detail the procedures, as well as computing speed PWM measurement procedures for the preparation of ideas and the realization of the specific procedure.KEY WORDS PWM, IR2110, DC motor, STC microcomputer⽬录摘要 (2)前⾔ (4)第⼀章系统硬件电路设计 (5)1.1 系统总设计框图介绍 (5)1.2 单⽚机系统设计介绍 (6)1.2.1 8051单⽚机简介: (6)1.2.2 STC单⽚机简介 (6)1.2.3 最⼩系统原理图及按键部分: (8)1.3 功率放⼤驱动电路设计 (8)1.3.1 IR2110芯⽚及外围原理图 (9)1.3.2IR2110性能与特点 (9)1.3.3 IR2110的引脚图以及功能 (10)1.3.4 IR2110 ⼯作原理 (12)1.3.5 光耦隔离设计 (13)1.3.6 H桥驱动设计 (13)1.4 电机测速电路设计 (15)1.4.1 霍尔元件介绍 (15)1.4.2 霍尔传感器的⼯作原理 (16)1.5 显⽰模块设计 (17)1.5.1 LCM 1602简介 (17)1.5.2 LCM 1602写操作时序图 (18)1.6 电源模块设计 (18)1.6.1 电源模块的原理图 (18)1.6.2 稳压芯⽚简介 (19)第⼆章软件设计分析 (20)2.1 主程序流程图 (20)2.2 PWM 基本原理及其实现⽅法 (20)2.2.1 PWM基本原理 (20)2.2.2 实现⽅法 (21)2.2.3 PWM调节的中断程序及分析 (22)2.2.4 PWM输出的特殊编程 (25)2.2 测速的实现 (27)2.3.1 测速的⽅法 (27)2.3.2 软件实现分析 (28)3.3.3 编程的可靠性分析 (28)结论 (28)参考⽂献 (29)致谢 (29)基于单⽚机的直流电动机闭环调速控制系统设计前⾔本⽂介绍利⽤51系列单⽚机控制PWM信号从⽽实现对⼤功率直流电机转速进⾏控制的系统设计。
机电控制系统——基于MATLAB的直流电机双闭环调速系统的设计与仿真
《机电控制系统分析与设计》课程大作业一基于MATLAB的直流电机双闭环调速系统的设计与仿真学院:机电工程学院专业:机械设计制造及其自动化班级:0808108学号:1080810812姓名:林珍坤一、 设计参数转速、电流双闭环直流调速系统,采用双极式H 桥PWM 方式驱动。
电机参数:额定功率 200W ; 额定电压 48V ; 额定电流 4A ;额定转速 500r/min ;电枢回路总电阻 R=8Ω; 允许电流过载倍数 λ=2; 电势系数C e =0.04V ·min/r ; 电磁时间常数T L =0.008s ; 机电时间常数 T m =0.5;电流反馈滤波时间常数T oi =0.2ms ; 转速反馈滤波时间常数T on =1ms要求转速调节器和电流调节器的最大输入电压U *nm =U *im =10V ; 两调节器的输出限幅电压为10V ;PWM 功率变换器的的开关频率f=10kHz ; 放大倍数K=4.8; 动态参数设计指标: 稳态无静差;电流超调量i δ≤5%;空载启动到额定转速时的转速超调量δ≤25%; 过渡过程时间t s =0.5s 。
二、设计计算1. 稳态参数计算根据两调节器都选用PI 调节器的结构,稳态时电流和转速偏差均应为零;两调节器的输出限幅值均选择为12V电流反馈系数;A V A VI U im /25.14210nom *=⨯==λβ转速反馈系数:r V r Vn U nm min/02.0min/50010max *⋅===α 2. 电流环设计(1)确定时间常数电流滤波时间常数T oi =0.2ms ,按电流环小时间常数环节的近似处理方法,则s T T T oi s i 0003.00002.00001.0=+=+=∑(2)选择电流调节器结构电流环可按典型Ⅰ型系统进行设计。
电流调节器选用PI 调节器,其传递函数为ss K s W i i iACR ττ1)(+= (3)选择调节器参数 超前时间常数:i τ=T L =0.008s 电流环超调量为σi≤5%,电流环开环增益:应取5.0=∑i I T K ,则I K =i T ∑5.0=0003.05.0=1666.67 于是,电流调节器比例系数为0.00881666.6717.781.25 4.8i i I s R K K K τβ⨯=⋅=⨯=⨯ (4)检验近似条件电流环截止频率ci ω=I K =1666. 67 1/s1)近似条件1:ci ω ≤sT 31现在,s T 31=0003.01=3333.33>ci ω,满足近似条件。
基于单片机的直流电机闭环调速系统设计
10 引言近年来微机数字化控制技术的成熟,以及PID控制、模糊控制、神经网络等高效控制算法的应用,加速了直流电机调速领域的蓬勃发展。
由于直流电机具有良好的调速性能,控制简单、效率高及优异的动态特性、使用寿命长等优点,因而在航空航天、数控机床、机器人、电动汽车、和家用电器等方面都获得了广泛应用。
直流电机的调速方案一般有以下3种方式:(1)改变电枢电压;(2)改变激磁绕组电压;(3)改变电枢回路电阻[1]。
本文以MC9S12XS128单片机为系统控制的核心,驱动采用LM298双H桥直流电机驱动模块,并用光电码盘检测并反馈电机的实际速度,组成了一个小型的直流电机闭环调速系统。
实验结果表明,该控制系统能够实现自动调速,具有响应速度快,抗干扰性高等特点,可以在实际生产和生活中广泛应用[2]。
1 硬件电路设计1.1 系统总体方案设计本文以MC9S12XS128作为控制器,设计了键盘模块,用以设定电机转速。
通过键盘输入模块设定转速将信号传递给控制器,控制器输出相应的PWM信号给驱动模块,调节电机转动的转速,测速模块实时地对电机进行测速,测得的数值实时的再反馈到控制器,控制器的数值与键盘输入值进行比较,形成闭环控制系统,根据比较结果,应用PID控制算法,使电机的实际转速与设定值相等或无限接近[3]。
本文采用LM298双H桥直流电机驱动模块,并用光电码盘检测并反馈电机的实际速度,组成了一个小型的直流电机闭环调速系统。
采用脉宽调制P WM控制技术,对直流电机进行调压调速控制[4-5]。
为了实现电机调速的稳定性和快速性,应用了P ID控制算法。
系统的结构框图如图1所示。
1.2 驱动控制电路设计驱动控制电路的采用驱动芯片L M 298来组成H 桥,LM298的5、7、10、12引脚为四路PWM输入端口,分别用来控制两个电机,本文只需要用到1路即选用5、7引脚输入PWM加以控制;6、11引脚分别为两组PWM输出的使能端;8脚接地,9脚接5V电源为驱动芯片提供电源,4脚接电机驱动电压;2、3、13、14引脚为两组PWM输出接。
直流电机调速概要
基于8088控制器的直流电机闭环调速摘要:本课程设计系统由AEDK-Lab ACT自控/计控原理实验箱中的直流电机和电机驱动功率放大器、调节器(8088控制器)、电机转速检测传感器、F/V转换器等组成,本课程设计采用单闭环控制方案结合PID算法来实现直流电机的调速。
在运动控制系统中,电机转速控制占有至关重要的作用,其控制算法和手段有很多,模拟PID控制是最早发展起来的控制策略之一,长期以来形成了典型的结构,并且参数整定方便,能够满足一般控制的要求,但由于在模拟PID控制系统中,参数一旦整定好后,在整个控制过程中都是固定不变的,而在实际中,由于现场的系统参数、温度等条件发生变化,使系统很难达到最佳的控制效果,因此采用模拟PID控制器难以获得满意的控制效果。
随着计算机技术与智能控制理论的发展,数字PID技术渐渐发展起来,它不仅能够实现模拟PID所完成的控制任务,而且具备控制算法灵活、可靠性高等优点,应用面越来越广。
关键词:直流电机;闭环调速;PID;8088控制器目录第1章绪论 (1)1.1 课题背景 (1)1.2 选题的目的和意义 (1)1.3 本课程设计的主要内容 (1)第2章 PID算法及参数整定 (1)2.1 PID算法 (7)2.2 PID参数整定方法 (5)第3章控制系统设计方法 (7)3.1 系统设计思路 (7)3.2 硬件组成及工作原理 (7)3.3 软件设计及流程图 (9)第4章参数调试及数据分析 (11)4.1 调整F/V转换静态工作点 11 4.2 测空连线114.3 实验数据及分析124.4 PID调节参数的分析19第五章结束语21致谢 (22)参考文献 (23)附录1 (24)第1章绪论1.1 背景21世纪,科学技术日新月异,科技的进步带动了控制技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。
我们已进入高速发展的信息时代,控制技术成为当今科技的主流之一,广泛深入到研究和应用工程等各个领域。
数字化直流电机双闭环调速系统
占10% 占20% 占20% 占50%
一、概述
工业自动化离不开电气传动系统,对 电气传动系统的控制可分为模拟控制和数 字控制,模拟控制有很多局限性,因而采 用微机对传动系统进行数字化控制已成为 发展的主要方向。
采用微机进行控制的结构图如下:
它具有下列优点: 可靠性高。可使电机运行时的稳态精度达到较高 水平; 操作简单。通过改变控制软件,可方便地改变控 制策略; 维修简便、方便。
计算机控制系统课程设计
数字化直流电机双闭环调速系统
指导教师:张庆思
辽宁科技大学电子与信息工程学院
设计说明及要求
本课程设计为必修,记2学分;
时间为两周; 具体安排:
老师讲课 自己看书
写说明书
用PROTEL软件画系统图 答辩
成绩考核说明
考勤
图纸 设计说明书 答辩
(3)触发脉冲的输出
2、高精度数字测速器 本设计用1024线脉冲发生器做转速传感器。 (1)M/T法测速原理
(2)测速硬件电路 利用4倍频电路:
3、电枢电流检测电路
交流互感器作用:反映电流准确,与电路隔开,减少了干扰。
R为分压电阻,C为滤波电容。
三、控制系统软件设计
要求: 1、画出软件流程图; 2、对接口芯片进行初始化编程。
计算机控制系统课程设计
1 11、若中断类型为10,则中断服务程序的入口地址在中断向量表的哪些单
元内? 12、 本设计采用8088的哪种组态,如何实现? 13、 8088中ALE的作用是什么?本设计中它与什么相连? 14、若8253为计数器,则能计的最大数是多少?(从BCD码和十六进制分 别说明) 15、 简述9259的主要功能。 16、 本设计中8253起什么作用? 17、本设计中8253的地址是多少?各个端口的地址是什么? 18、说明8255的主要功能。 19、 说明采用微机控制的优点? 20、本设计中,8279的频率是多少,如何实现的? 21、微机双闭环调速系统中8088如何知道电源状态的? 22、微机控制的数字触发系统有何优点? 23、 微机双闭环调速系统中A/D转换芯片0809的功能是什么? 24、 8255的工作方式有哪些? 25、整流电路中R和C的作用是什么?
直流电机闭环调速实验
实验八 直流电机闭环调速实验1.实验要求编写程序,实现直流电机闭环调速,使速度稳定在某一给定值上。
2.实验目的1·巩固闭环控制系统的基本概念。
2·了解闭环控制系统中反馈量的引入方法。
3·掌握PID 算法数字化的方法和编程。
3.电路及接线实验连线 将C1部分的V 与IRQ6(J1下部)相连,将OUT2(J1的下部)和IRQ7相连。
实验时请保证扩展平台正确连接。
ADC0832的偏选地址为00H 。
4.实验说明1.基础知识自动控制有两种最基本的形式:开环控制和闭环控制。
开环控制系统的精度取决于元器件的精度和特性调整的精度。
当内外干扰影响不大,并且控制精度要求不高时,可采用开环控制方式。
前面我们所进行的实验,就是一些开环控制的简单实例。
闭环控制又称为反馈控制,其实质是利用负反馈来减小系统的误差。
闭环控制具有自动修正被控量偏离给定值的作用,因而可以抑制内部干扰和外部干扰引起的误差,达到自动控制的目的。
按偏差的比例、积分、微分控制(简称PID 控制)是过程控制中应用最广的一种控制规则。
由PID 控制规则构成的PID 调节器是一种线性调节器。
这种调节器是将设定值U 与实际输出值Y 构成控制偏差:e=U —Y按比例(P )、积分(I )、微分(D )通过线性组合构成控制量。
PID 控制算法的模拟表达式是:P t K e t T e t dt T de t dt p IDt()()()()=++⎡⎣⎢⎤⎦⎥⎰1(式3-1-1)式中,P t ()——调节器的输出信号; e t ()——调节器的偏差信号; K P ——调节器的比例系数; T I ——调节器的积分时间;T D ——调节器的微分时间;在实际应用中,根据对象特征和控制要求,也可灵活改变其结构,取其一部分构成控制规律,例如:比例(P )调节器、比例积分(PI )调节器、比例微分调节器(PD )等。
比例调节器是一种最简单的调节器。
直流电动机闭环调速实验
直流电动机闭环调速实验本实验主要是利用闭环控制思想来完成直流电动机的调速实验。
直流电动机是工业生产中最常见的驱动装置之一,其广泛应用于动力和万向传动领域,因而其调速功能也显得特别重要。
本实验所采用的直流电动机主要是通过调整直流电源的电压来实现调速的,闭环调速实验主要包括系统建模、控制参数的选择、控制效果的评估等内容。
一、实验原理直流电动机是一种较为简单的电机。
在工作过程中,它的转速与电源电压有很大的关系。
电源电压越高,电机的转速越快;反之,电源电压越低,电机的转速也越慢。
因此,通过改变直流电源的电压,就可以实现直流电动机的调速。
这种方法叫做电压调速。
但是,这种方法的调速精度无法满足需要,因此采用闭环控制调速,可以更加精准地调节直流电动机的转速。
2. 直流电动机闭环控制原理闭环控制是一种基于反馈的控制方法,控制器通过传感器获得输出反馈信号,从而实现对系统控制的精准调节。
在直流电动机的闭环调速中,可以通过安装转速传感器来获得电动机输出的转速信号,控制器则根据转速信号对输出电压进行调节,从而控制电机的转速。
二、实验设备直流电动机、电源、转速传感器、PID调节器、数字万用表、示波器。
三、实验步骤1. 点动实验点动实验是为了检测电机正反转和控制信号的传输情况。
在实验开始之前,先将转速传感器安装在电机上,并将调节器与传感器相连。
将电机接通电源,观察电机是否正常运转。
然后,用调节器控制电机正反转,观察电机运动方向是否正确。
最后,观察调节器的数值是否能够正常反映电机运转的转速。
2. 建立数学模型在实验过程中,需要对电机系统进行建模。
首先,采用传递函数的方法对电机系统进行建模,建立电机系统的传递函数,然后对传递函数进行调整,从而得到合适的控制器参数。
3. 选择控制参数根据实验结果,选择合适的控制参数。
在本实验中,采用PID控制器来完成闭环控制。
将调节器设定为PID控制模式,并分别测试不同比例系数、积分系数和微分系数下的调节效果,选择合适的控制参数。
小型直流电机闭环调速系统PID控制器设计
微机原理及接口技术课程设计报告小型直流电机闭环调速系统PID控制器设计目录一、课程设计的目的及意义 (1)二、课程设计的题目与要求 (1)三、基本原理 (1)1.PID算法 (1)2.霍尔元件测速原理 (4)3.转速调节原理 (5)四、基于80x86芯片微机接口控制电路的设计 (6)1.实现功能 (6)2.设计思想 (7)3.模块介绍(附流程图) (7)(1)电机控制模块 (7)1)测速模块 (9)2)PWN波产生模块 (10)3)PID计算模块 (11)(2)键盘扫描与显示单元 (14)1)键盘扫描模块 (14)五、基于80c51单片机控制电路的仿真设计 (18)1.实现功能 (18)2.设计思想 (18)3.模块介绍 (19)(1)测速反馈模块 (19)(2)PID模块 (19)(3)键盘扫描模块 (20)4.相关流程图 (21)六、结束语 (23)附件:程序代码一、课程设计的目的及意义通过本次课程设计要掌握80x86、8255、8251等芯片及基本输入输出电路的使用方法,灵活运用课本知识,加深对所学的知识理解,对所学的相关芯片的原理、内部结构、使用方法等有更加深刻的了解,学会利用课本知识联系实际应用及编程。
同时并了解综合问题的程序设计掌握实时处理程序的编制和调试方法,掌握一般的设计步骤和流程,使我们以后设计时逻辑更加清晰。
二、课程设计的题目与要求1.题目小型直流电机闭环调速系统PID 控制器设计2.设计要求(1)设计基于80x86微机接口控制电路;(2)分别用C 语言或汇编语言或VC++编程完成硬件接口功能设计;(3)程序功能要求:电机速度由按键分段给定或电位器连续给定,计算机屏幕和数码管同步跟踪显示当前给定速度和电机实际运行速度,实现PID 参数在线显示和修改。
(4)具备本地及远程(串行方式)监控功能。
三、基本原理1.PID 算法及相关内容在DDC 系统中,用计算机取代了模拟器件,控制规律的实现是由计算机软件来完成的。
直流电机的闭环调速系统设计
直流电机的闭环调速系统设计一、设计要求利用PID控制器、光电传感器及F/V转换器设计直流电机的闭环调速系统。
二、应用器材PCB板一块、LM331、ST151各一块、LM324两块,小型直流电机、电阻、电容若干、导线若干;实验箱,稳压电源,万用表,烙铁,PC机;三、辅助软件MATLAB系统仿真软件,EWB;四、设计方案分析为了提高直流调速系统的动静态性能指标,对调速指标要求不高的场合,采用单闭环系统,而对调速指标较高的则采用多闭环系统。
本次课程设计中我们采用单闭环调速系统。
原理框图如下:输出五、实验说明在本实验中,输入端加上一定范围的电压后,通过PID控制器以控制电机带动叶轮转动,光电传感器将电机叶轮的转速转变为频率信号输出,最后经F/V转换器将频率信号转变为反映电机转动的电压信号作为反馈。
给定不同的输入电压,电动机转速将有明显的变化。
六、硬件设计PID比例积分微分控制器一般用到的参数是:Kp,Ki, Kd,其转换关系如下:Kp=Kp, Ki=Kp/Ti, Kd=Td*KpPID调节器分析:1、PID控制器简单易懂,使用中不需精确的系统模型等先决条件,因而成为应用最为广泛的控制器。
PID调节器人们又常称为PID控制器,是比例P (Proportional)、积分I (Integral)、微分D (Differential《lm324引脚图》《lm324管脚图》《lm324原理图》LM324的分析:LM324为四运放集成电路,在PID调解器中得到了运用,它采用了14脚双列直插塑料进行封装。
内部有四个运算放大器,有相位补偿电路。
电路功耗很小,lm324工作电压范围宽,可用正电源3~30V,或正负双电源±1.5V~±15V工作。
它的输入电压可低到地电位,而输出电压范围为O~Vcc。
它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互单独。
每一组运算放大器可用如图所示的符号来表示,它有5个引出脚,其中“+”、“-”为两个信号输入端,“V+”、“V-”为正、负电源端,“Vo”为输出端。
基于单片机的直流电机闭环调速控制系统xin
题目直流电机闭环调速系统控制院系专业组别组长指导教师基于单片机的直流电机闭环调速控制系统摘要:设计以AT89C51单片机控制模块为核心,由单片机控制、直流电机转速为被测量组成的控制系统。
原理是利用红外线光电传感器接收直流电机转速所产生的红外信号转换成电信号传输给单片机,并调节转速的闭环调速控制系统。
1.AT80C51单片机介绍1.1主电源引脚V ss—(20脚):电路地电平V cc—(40脚):正常运行和编程校检(8051/8751)时为+5V电源。
1.2外接晶振或外部振荡器引脚XTAL1—(19脚):接外部晶振的一个引脚. 在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器. 当采用外部振荡器时,此引脚应该接地.XTAL2—(18脚):接外部晶振的另一个引脚. 在片内接至振荡器的反相放大器的输出和内部时钟发生器的输入端. 当采用外部振荡器时,则此引脚接外部振荡信号的输入。
1.3控制、选通或电源复用引脚RST/V pd—(9引脚): RST即Reset(复位)信号输入端。
ALE/PROG—(30引脚): ALE,允许地址索存信号输出。
PSEN—(29脚):访问外部程序存储器选通信号,低电平有效。
.V pp/EA—(31引脚): EA为访问内部或外部程序存储器选择信号。
1.4多功能I/O口引脚P0口—(32-39脚):8位漏极开路双向并行I/O接口.P1口—(1-8脚): 8位准双向并行I/O接口.P2口—(21-28脚):8位准双向并行I/O接口.P3口—(10-17脚):具有内部上拉电路的8位准双向并行I/O端口。
它还提供第二特殊功能,具体含义为:P3.0—(10脚)RXD:串行数据接收端。
P3.1—(10脚)TXD:串行数据发送端。
P3.2—(10脚)INT0:外部中断0请求端,低电平有效。
P3.3—(10脚)INT1:外部中断1请求端,低电平有效。
.P3.4—(10脚)T0:定时器/计数器0外部事件计数输入端。
直流电机闭环调速控制系统设计和实现
实验报告直流电机闭环调速控制系统设计和实现班级:姓名:学号:时间:指导老师:2012年6月一、实验目的1.了解闭环调速控制系统的构成。
2.熟悉PID 控制规律,并且用算法实现。
二、实验设备PC 机一台,TD-ACC+实验系统一套,i386EX 系统板一块三、实验原理根据上述系统方框图,硬件线路图可设计如下,图中画“○”的线需用户自行接好。
上图中,控制机算机的“DOUT0”表示386EX 的I/O 管脚P1.4,输出PWM 脉冲经驱动后控制直流电机,“IRQ7”表示386EX 内部主片8259 的7 号中断,用作测速中断。
实验中,用系统的数字量输出端口“DOUT0”来模拟产生 PMW 脉宽调制信号,构成系统的控制量,经驱动电路驱动后控制电机运转。
霍尔测速元件输出的脉冲信号记录电机转速构成反馈量。
在参数给定情况下,经PID 运算,电机可在控制量作用下,按给定转速闭环运转。
系统定时器定时1ms,作为系统采样基准时钟;测速中断用于测量电机转速。
直流电机闭环调速控制系统实验的参考程序流程图如下:四、实验步骤1.参照图 6.1-3 的流程图,编写实验程序,编译、链接。
2.按图6.1-2 接线,检查无误后开启设备电源,将编译链接好的程序装载到控制机中。
3.打开专用图形界面,运行程序,观察电机转速,分析其响应特性。
4.若不满意,改变参数:积分分离值Iband、比例系数KPP、积分系数KII、微分系数 KDD 的值后再观察其响应特性,选择一组较好的控制参数并记录下来。
5.注意:在程序调试过程中,有可能随时停止程序运行,此时DOUT0 的状态应保持上次的状态。
当DOUT0 为1 时,直流电机将停止转动;当DOUT0 为0 时,直流电机将全速转动,如果长时间让直流电机全速转动,可能会导致电机单元出现故障,所以在停止程序运行时,最好将连接DOUT0的排线拔掉或按系统复位键.五、心得体会此次实验是直流电机闭环调速控制系统的设计和实现,通过这次实验,让我了解了闭环调速控制系统的基本构成。
数字化直流电机双闭环调速系统(硬件)
课程结业论文数字化直流电机双闭环调速系统课程名称:电力拖动自动控制系统任课教师:所在学院:信息技术学院专业:电气工程及其自动化班级:学生姓名:学号:中国·大庆2012 年 6 月电气传动系统采用微机进行数字化控制,是传动系统发展的主要方向。
采用微机控制整个系统实现全数字化,可使控制系统结构简化,可靠性提高,操作及维修简便,电机稳态运行时的稳态精度可达到较高水平,同时,通过修改控制软件,可很方便地改变控制策略。
本设计选用INTEL公司生产的8088CPU作主控器,整个系统包括可控硅触发及转速测量等环节,实现全数字化。
系统中采用了高分辨率数字触发器和高精度数字测速装置,控制对象为直流电机,采用双环控制,内环为电流环,外环为转速环,内环和外环的控制器都由微机来实现,它按照PI控制规律完成数字化的控制运算。
本系统设计中主要涉及的接口电路有:中断接口8259:可接八个中断请求信号,本设计中接键盘中断请求信号、同步中断请求信号和A/D 转换结束中断请求信号,地址为08H,09H。
键盘显示器接口8279:地址为28H,29H。
定时器/计数器8253:可用于计数和定时,地址为10H~13H。
并行接口8255:地址为20H~23H。
ADC0809接口:地址为18H~1FH。
存储器接口:6264、2764。
6264是8KRAM芯片,地址为00000H~01FFFH。
2764是8KROM芯片,地址为0E000H~0FFFFH。
引言 (I)第一章接口芯片简介............................................................................................................................ - 1 - 1.1 INTEL8088微处理器总线结构............................................................................................. - 1 -1.1.1 8088引线........................................................................................................................ - 1 -1.1.2 最小组态管脚说明 ........................................................................................................ - 1 -1.2 系统主时钟............................................................................................................................ - 2 -1.3 8088存储器扩展....................................................................................................................... - 2 -1.4 中断控制技术及接口............................................................................................................... - 3 -1.4.1 CPU中断系统 ........................................................................................................................ - 3 -1.4.2 8259中断控制器.................................................................................................................... - 3 -1.5 键盘及显示器接口技术........................................................................................................... - 3 -1.6 并行接口8255 .......................................................................................................................... - 4 -1.7 可编程定时/计数器8253 ......................................................................................................... - 4 -1.8 ADC0809 .................................................................................................................................... - 5 - 第二章数字化直流电机双闭环调速系统 ............................................................................................ - 6 -2.1 调速系统的硬件组成............................................................................................................... - 6 -2.2系统主时钟................................................................................................................................ - 8 -2.3 高分辨率数字触发器............................................................................................................... - 8 -2.4 高精度数字测速器................................................................................................................. - 12 - 第三章结论.......................................................................................................................................... - 14 -第一章 接口芯片简介1.1 INTEL8088微处理器总线结构1.1.1 8088引线当把8088CPU 与存储器和外设构成一个计算机系统时,根据所连存储器和外设的规模,可有两种不同的组态。
直流电动机双闭环调速系统(1)
直流电动机双闭环调速系统一、系统发展背景直流电动机双闭环调速系统是一种当前应用广泛,经济的电力传动系统,在现代化工业生产中已经得到广泛应用,具有良好的起、制动性能和调速性能,易于在大范围内平滑调速,且调速后的效率很高。
针对直流电机调速的方法也很多,目前国内外也研究了一些调速的控制器。
例如已经用于实际生产的直流电机无级电子调速控制器采用国际先进的IGBT大功率模块器件和独特自行设计的PWM 微电子控制技术,以及节能反馈电路和丰富的保护功能控制电路。
适用于无轨机车、矿山井下窄轨机车、磨床、木工机械、服装制作、纺织、造纸印刷等场所。
二、系统原理图三、系统方块图四、系统的工作原理分析总述:分析系统原理图,可知这是一个双闭环调速系统,在双闭环系统中,系统的输出量通过检测装置引向系统的输入端,与系统的输入量进行比较,由于扰动作用使被控参数偏离给定值,从而产生偏差,调节器将此偏差信号进行调节,并输出一标准信号,去控制执行机构的动作。
下面,针对此直流电机双闭环调速系统,对其原理进行具体的分析:1、双环的构成直流电机双闭环调速系统同时具有速度反馈和电流反馈,实现了转速和电流两种负反馈的调节。
二者之间如图所示实行嵌套模式,从闭环的结构上看,电流调节环属内环,速度调节环属外环,这样就形成了速度,电流双闭环调节系统。
2、电流环速度调节器的输出作为电流调节器的输入,可控制电路的电流输出经电流互感器形成局部反馈,即电流反馈。
其中,电流互感器是电流反馈的检测元件,电流调节器对其输入信号给定量和反馈量进行加法,减法,比例,积分等运算,使其按照某种预定规律运行。
3、速度环可控硅电路的电压输入加在直流电动机的电枢上,使电动机旋转,电动机输出转速,经测速发电机TG形成主反馈,即速度反馈。
其中,测速发电机是速度反馈的检测元件,将电动机的转速转换为电压信号反馈到输入端,速度调节器是对给定和反馈两个输入量进行加法,减法,比例,积分等运算,使其输出按照某一规律变化。
基于8086的小型直流电机闭环调速系统PID控制设计
微机原理课设报告目录一、需求分析与解决方案 (4)1.1 需求分析 (4)1.1.1实验题目 (4)1.1.2 实验题目问题分析 (4)1.2 解决问题的思路 (4)1.2.1 总体思路 (4)1.2.2 硬件设计器件选择 (4)1.2.3 软件整体思路 (6)二、硬件设计详解 (6)2.1 片选模块 (6)2.2 中断定时模块 (8)2.3 PWM发生模块 (9)2.4 调速模块 (10)2.5 测速模块 (11)2.6 参数显示模块 (11)2.7 电机驱动模块 (12)2.8 参数调整模块 (12)2.9串口通信模块 (13)三、软件设计详解 (13)3.1 下位机程序流程图 (13)3.2 下位机程序清单 (14)3.2.1宏定义 (14)3.2.2全局变量声明 (14)3.2.3 系统初始化 (15)3.2.4 主函数 (15)3.2.5 中断服务子程序 (16)3.2.6 显示子程序 (16)3.3 PID简介 (16)3.4 labview上位机制作 (17)3.5 辅助软件选择 (18)四、实验条件 (18)五、模块调试 (18)5.1 片选模块调试 (18)5.2 中断定时模块调试 (18)5.3 PWM发生模块调试 (19)5.4 调速模块调试 (20)5.5 测速模块调试 (20)5.6 参数显示模块调试 (21)5.7 电机驱动模块调试 (21)5.8 参数调整模块调试 (21)5.9 串口通信模块调试 (22)5.10 labview上位机的调试 (22)六、实验结果讨论及改进措施 (23)6.1实验结果讨论 (23)6.2 改进措施 (23)七、实验心得体会 (24)八、参考文献 (24)九、附录一(硬件电路图) (25)十、附录二(软件源代码) (25)小型直流电机闭环调速系统PID控制设计一、需求分析与解决方案1.1 需求分析1.1.1实验题目(1)、设计基于80x86微机接口控制电路;(2)、分别用C语言或汇编语言或VC++编程完成硬件接口功能设计;(3)、程序功能要求:电机速度由按键分段给定或电位器连续给定,计算机屏幕和数码管同步跟踪显示当前给定速度和电机实际运行速度,实现PID参数在线显示和修改。
直流电机双闭环调速控制系统设计
摘要近年来,自动化控制系统在各行业中得到了广泛的应用和发展,而直流调速系统作为电力拖动系统的主要方式之一,在现代化生产中起着十分重要的作用。
随着微电子技术的不断发展,计算机在调速系统中的应用使控制系统得到简化,体积减小,可靠性提高,而且各种经典和智能算法也都分别在调速系统中得到了灵活的应用,以此来达到最优控制效果。
以单片机为控制核心的数字直流调速系统有着许多优点:山于速度给定和测速采用了数字化,能够在很宽的范圉内高精度测速,所以扩大了调速的范圉,提高了测速控制系统的精度;山于硬件的高度集成化,所以使得零部件数量大大减少;山于很多功能都是山软件实现的,使硬件得以简化,因此故障率小;单片机以数字信号工作,控制方法灵活便捷,抗干扰能力较强。
本论文在直流调速系统理论研究的基础上,以80C196KC单片机为控制核心,对双闭环直流调速系统中的转速调节器采了用PID控制算法、电流调节器釆用了PI算法,设计了一套全数字直流电机闭环调速系统。
并且介绍了直流电机调速系统的功能和特性,分析了双闭环PID 控制的调速系统的数学模型,确定了电流环和转速环的比例和积分系数。
此外,本次设计釆用了数字式速度给定和数字式测速方法,大大提高了速度控制的精度。
关键词:直流电动机;调速;PID控制;双闭环目录摘要 (I)目录................................................................... I I 1设计任务: (1)1.1技术数据 (1)1.2要求完成的任务 (1)2直流电机双闭环系统的组成 (1)2. 1双闭环系统总体原理结构方案设计 (1)2.2双闭环系统各组成部分电路方案设计 (2)2. 2.1晶闸管整流电路及保护电路 (2)2. 2.2触发控制电路 (4)2. 2.3系统给定 (6)2. 2.4检测电路 (6)2. 2.5调节器的选择 (8)3.1电流调节器 (13)3.2转速调节器 (15)4参考文献 (15)5 附录 (15)1设计任务:1.1技术数据(1)用线性集成电路运算放大器作为调节器的转速、电流无静差直流控制系统,主电路由晶闸管可控整流电路供电的V-H系统电动机:额定数据40KW, 220V, 210A, 1000r/min,电枢电阻Ra二0. 5Q, Rrec=O. 8, Ks=40飞轮转矩:Kgm*m=7. 0,过载倍数1. 5晶闸管可控整流电路:三相桥式整流电路,整流变压器Y/Y连接,二次测线电压U沪230VV-H系统电枢回路总电阻:R二1Q测速发电机:永磁式,额定数据23. 1W, 110V, 0. 21A, 1900r/min(2)稳态性能指标生产机械要求调速范围:D二10;静态率:s%W5%(3)动态性能指标起动超调量:on o ■ %W5%扰动产生的动态偏差:(nma厂nmin)/nmin *100%^ 10% ;恢复时间:tyW0.5s(4)对起动、停车的快速性无特别要求1.2要求完成的任务1•完成直流转速、电流双闭环系统整体设计2.按性能系统调节器的设计及相关计算3•在实验室完成转速、电流双闭环系统的实验4.呈交一份不少于5000字课程设计说明书,一套设计图纸,一份实验报告2直流电机双闭环系统的组成2.1双闭环系统总体原理结构方案设计直流电机双闭环系统原理图及其描述图2-1直流电机双闭环系统原理图转速电流双闭环控制的直流调速系统是最典型的直流调速系统,其原理结 构如图2-1所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于8088控制器的直流电机闭环调速摘要:在现实生活中的各个运动系统环节,都少不了电机的积极作用,所以,能够控制好电机,一来能够节约能耗,二来能使电机输出我们所需要的效果,从而提高效率。
本课程设计系统由AEDK-LabACT自控/计控原理实验箱中的直流电机和电机驱动功率放大器、调节器(8088控制器)、电机转速检测传感器、F/V转换器等组成,本课程设计采用单闭环控制方案结合PID算法来实现直流电机的调速。
关键词:直流电机;闭环调速;PID;8088控制器Based on the 8088 controller of DC motor contro Abstract:In real life, each moving system links, not the motor positive role, therefore, to control the motor, thus can save energy, and can make the motor to output the result that we need, thus improving efficiency.The curriculum design of the system by AEDK-LabACT automation / control principle experiment box in the DC motor and a motor to drive the power amplifier, Regulator ( 8088 controller ), motor speed detecting sensor, F/V converter is composed, the curriculum design using a single closed loop control methodThe combination of PID algorithm to achieve the DC motor speed regulation.Key words:DC motor; closed loop control; PID controller; 8088目录第1章引言 (1)1.1背景 (1)1.2选题的目的和意义 (1)1.3本课程设计的主要内容 (1)第2章系统整体设计方案 (1)2.1总体思想 (1)2.2硬件组成及工作原理 (2)2.2.1 电机驱动 (2)2.2.2 速度采集 (3)2.3 软件及算法 5 2.3.1 程序流程图 5第3章参数调试及数据分析 (6)3.1 调整频率/电压 6 3.2 实验数据及分析3.2.1 改变Kp 6 3.2.2 改变Ti 6 3.2.3 改变Td 7 第4章结束语 9致谢 (10)参考文献 (11)附录 (12)第1章引言1.1 背景在现实生活中的各个运动系统环节,都少不了电机的积极作用,所以,能够控制好电机,一来能够节约能耗,二来能使电机输出我们所需要的效果,从而提高效率。
电机调速问题一直是自动化领域中比较重要的问题之一。
不同领域与场合对电机的调速性能有着不同的要求。
因此,不同的场合要求不同的调速方案。
1.2 选题的目的和意义为了提高直流电机调速系统的动态、静态性能,通常采用闭环控制系统,其中主要包括单闭环与双闭环。
而在对于调速指标要求不高的情况下,通常采用单闭环控制系统就足够达到要求了。
闭环系统较之开环系统就是把输出信号通过传感模块反馈到输入端,与输入信号相比较,其差值作为实际的输入信号;能自动调节输入量,能提高系统稳定性。
在对调速系统性能有较高要求的领域常利用直流电动机,但直流电动机开环系统稳定性不能满足要求,可利用转速单闭环提高稳态精度。
1.3 本课程设计的主要内容1.了解直流电动机速度闭环控制随动系统的组成和工作原理。
2.了解和掌握数字PID调节器控制参数的工程整定方法3.了解和掌握用LabACT实验箱数字PID实验被控过程。
4.观察和分析在标准PID控制系统中,P.I.D参数对系统性能的影响。
5.掌握本实验机的PID控制算法中的特殊使用。
第2章系统整体设计方案2.1 总体思想本课程设计系统采用AEDK-LabACT自控/计控原理实验箱中的直流电机和电机驱动功率放大器、调节器(8088控制器)、电机转速检测传感器、F/V转换器等组成,组成框图见图2-1。
图2-1直流电动机速度闭环控制随动系统的组成框图电机驱动功率放大器输入/输出电压范围:0~+5V。
电机转速传感器检测-F/V转换器输出电压范围:0~+5V,对应于电机转速为0~3300转/分。
上面框图调节器采用的是计算机控制器(8088控制器),通过在AEDK-LabACT软件平台上编程,编译,下载到实验箱中,通过在AEDK-LabACT软件平台上的虚拟终端观察波形,通过调节PID 参数来实现电机调速。
2.2 硬件组成及工作原理2.2.1 电机驱动(DAC0832+驱动电路)电机驱动硬件电路由两部分组成:数模转换+信号驱动电路。
数模转换使用实验箱B2单元的DAC0832,该电路负责把8088控制器输出的数字信号转换成模拟电压值,该电路OUT2可以实现-5V~+5V输出。
不过本次设计只需要0~+5V的信号,所以使用OUT1输出。
电路图如图2-2所示。
为使直流电机达到更好的调速效果,直流电机驱动通过运放把信号放大1.5倍(输出电压范围为:0V~7.5V)。
同时,为了增大驱动的输出电流,采用四运放并联输出的方案。
该方案简单易行,效果明显。
电路图如图2-3所示。
图2-2DAC0832原理图图2-3电机驱动原理图2.2.2 速度采集(电机测速+F/V转换器+AD)闭环调速方案需要速度采集模块,电机测速由直流电机带动光栅盘转动,光栅盘上有12个透光孔,光栅盘下有一个光电断续器,它输出一组频率正比于电机转速的脉冲信号,经过施密特触发反向器74LS14滤去毛刺后送至该模块的F/V转换,通过F/V转换就可以得到表征电机的当前转速的电压值。
电机测速如图2-4,F/V转换如图2-5所示。
图2-4电机测速原理图图2-5F/V转换原理图把经F/V转换后的电压信号由模数转换(AD0809)转换成数字信号输入8088控制器,控制器通过PID算法对反馈信号进行处理。
因此形成了速度控制的闭环系统。
AD0809与8088的接口电路如图2-6所示。
由于AD0809是8路输入,本设计只使用了其中一路,采用的是IN4输入口。
图2-6AD0809原理图2.3 软件及算法2.3.1 程序流程图本设计程序由两部分组成:主程序(如图2-7)和定时器中断程序(如图2-8),主程序主要负责与上位机通讯,定时器中断程序负责实现PID算法控制,定时器中断的时间决定了采样周期,本设计采样周期为4ms。
程序见附件1。
图2-7主程序流程图图2-8中断程序流程图第3章参数调试及数据分析3.1调整频率/电压(F/V)转换静态工作点B1单元中电位器的左边K3开关拨下(GND),右边K4开关拨上(+5V),信号输出(B1的Y测孔)调整为+3V(调节方法:调节电位器,用万用表测量Y测孔)。
Y测孔联线到C2模块电机输入测孔,调整C2模块中的电位器W2,使电机输出电压测孔上的直流电压等于+3V。
3.2实验数据及分析3.2.1改变KpKp=1.5,Ti=0.092,Td=0.014 Kp=2.8,Ti=0.092,Td=0.014由原理可知,Kp可以改善系统的动态性能,由上图可以明显看出,当Kp过大时,使得超调量变得更大,系统的稳定性变差。
3.2.2改变TiKp=1.5,Ti=0.092,Td=0.014 Kp=1.5,Ti=0.02,Td=0.014Kp=1.5,Ti=0.12,Td=0.014 Kp=1.5,Ti=0.245,Td=0.014减小积分参数(Ti),积分作用减弱,反知。
根据上面图形对比可以得出如下结论:积分作用过强,将会造成系统的稳态性能变差,甚至震荡,造成系统不稳定。
积分作用过弱,将会造成系统的动态性能变差,甚至不能达到设定值。
3.2.3改变TdKp=1.5,Ti=0.092,Td=0.014 Kp=1.5,Ti=0.092,Td=0.145Kp=1.5,Ti=0.092,Td=0.245由于微分相位超前,所以Kp可以改善反应滞后,及具有预见性。
但是微分作用的加入降低了系统的抗干扰性,如果微分作用过强,会降低系统的稳态性能甚至造成系统不稳定。
第4章结束语通过这次课程设计,让我对计算机控制技术这门课有了进一步的认识。
这次课程设计是对这门课程的一个总结,对计算机控制技术知识的应用。
设计时要有一个明确的思路,再结合所学知识一步一步达到设计的预期效果。
通过这次设计对我们独自解决问题的能力也有所提高。
在整个过程中,我查阅了相关书籍及文献,取其相关知识要点应用到课设中,而且其中有很多相关设备选取标准可以直接选取,这样设计出来的设备更加符合要求。
致谢在这次课程设计中遇到很多的问题,但在老师的指导与同学的帮助下顺利完成了这次课程设计,再次对所有指导我的老师、帮助我的同学以及所有帮助过我的人说声感谢参考文献[1] 杨帮华,王建等.微机原理与接口技术实用教程.清华大学出版社,2011.[2] 王书锋,谭建豪.计算机控制技术.华中科技大学出版社,2011.[3] 上海埃威航空电子有限公司.计控原理实验机指导书,2012.附录#defineUINT unsignedint#defineBYTE unsignedchar#defineCS0832 0x00 //D/A0832地址#defineCS8259E 0x20 //8259命令寄存器地址#defineCS8259O 0x21 //8259控制寄存器地址#defineCS8253T0 0x40 //8253定时器0地址#defineCS8253T1 0x41 //8253定时器1地址#defineCS8253T2 0x42 //8253定时器2地址#defineCS8253C 0x43 //8253控制寄存器地址#defineCS273 0x60 //并行输出地址#defineCSAD_1_0 0x80 //虚拟示波器0809通道0地址#defineCSAD_1_1 0x81 //虚拟示波器0809通道1地址#defineCSAD_2_0 0xA0//实验用示波器0809通道0地址#defineCSAD_2_1 0xA1#defineCSAD_2_2 0xA2#defineCSAD_2_3 0xA3#defineCSAD_2_4 0xA4#defineCSAD_2_5 0xA5#defineCSAD_2_6 0xA6#defineCSAD_2_7 0xA7#defineCS0809_0 0X80#defineCS0809_1 0X81#defineDSADDR 0x0030 //数据暂存段地址#defineDSMAX 0x0D00#defineCOMMBYTE 0x0CF0 //串行口暂存偏移地址#defineREVBYTE 0x0C00 //用于上下交换数据区偏移地址#defineCSADDR 0x0100#defineADSELECT 0x0C20 //AD端口选择暂存偏移地址#defineREVEN 0x20#definedsvalue 0x003f#defineD8253T0L 0x33#defineD8253T0H 0x13//4ms定时 //TH0THL*(4/4.9152)=4000 时钟频率:1.229MHZ #include<dos.h>voiddelay1(intt);voidinterruptirq7(void);//中断7服务程序voidinterruptirq0(void);//中断0服务程序BYTERevByte(void); //接收一个字节voidSendByte(BYTEbyte);//发送一个字节BYTERevEnable(void); //查询允许接受标记intbSpeed,bSpeedD;//当前转速、目标转速intKp,Ti,Td,T; //PID设置参数、周期int Pk; //PID输出intKi,Kd; //积分、微分系数intE0,E; //速度误差intEsum; //积分累积量unsignedintTdd,count;BYTEbTest;BYTESendFlag; //新数据接收标志BYTETable[5]; //临时存放接收到的数据BYTEIndex; //临时存放接收到的数据的个数intOver; //接收超时检测BYTE flag;intmain(void){//取得系统程序段段地址,计算并设置数据段段地址UINTuiDS;_asm{cli} //关中断uiDS=_CS;uiDS=uiDS+dsvalue;_DS=uiDS;_ES=uiDS;flag=0;Tdd=1;Kp=0x19; //比较系数25Ti=0x64; //积分时间常数100Td=0x50; //微分时间常数80T=4; //周期4msEsum=0; //积分累积量E0=0; //清误差寄存器bSpeedD=0; //目标转速SendFlag=1; //数据发送标志outportb(0x00,0xa0);//把数字量160传给DAC0832//初始化8259,工作方式为:单片,上升沿触发,中断类型号为8,正常全嵌套方式,非自动EOI,选用8086/8088系统,开中断0和中断6outportb(0x20,0x13);//;ICW1:边沿触发,单片,要ICW4outportb(0x21,0x08);//;ICW2:中断类型码8outportb(0x21,0x01);//;ICW4:非特殊完全嵌套方式,非自动EOI方式,86/88系统outportb(0x21,0xBE);//;OCW1:IRQ6.IRQ0开放(0开放1禁止)outportb(0x20,0x20);//定时器0:先低再高,方式3(方波发生器)outportb(CS8253C,0x36);outportb(CS8253T0,D8253T0L);//4ms定时outportb(CS8253T0,D8253T0H);outportb(CS0832,0);//嵌入汇编,设置中断入口地址_asm{pushdspushsipushaxxorax,axmovds,axmovax,offsetirq7movsi,003chmov[si],axmovsi,003ehmovax,csmov[si],axmovax,offsetirq0movsi,0020hmov[si],axmovsi,0022hmovax,csmov[si],axpopaxpopsipopds}_asm STI //开中断enable();while(1){_asm CLIbTest=RevEnable();if(bTest==REVEN)//允许接收{bTest=RevByte();成都学院(成都大学)课程设计报告if(bTest==0)//以下程序为接收上位机数据{Index=0;bTest=REVEN;while(Index<4){Over=1000;while(1){bTest=RevEnable();if(bTest==REVEN){break;}else{delay1(1);}if(Over<1)break;elseOver--;}if(Over<1)break;Table[Index]=RevByte();//接收上位机设置的参数Index++;}if(Index==4)//参数处理{Kp=Table[0]; //保存比例系数Ti=Table[1]; //保存积分时间常数Td=Table[2]; //保存微分时间常数bSpeedD=Table[3];//保存目标速度设定值Esum=0; //清积分累积量E0=0; //清误差寄存器SendFlag=1; //置接收数据标志}}}_asm STIdelay1(1);}}//延时子程序voiddelay1(intt){intj;for(j=0;j<t;j++);}//中断0服务子程序//用PID参数对速度进行控制voidinterruptirq0(void){inti;intden,rem;intden1,rem1;intden2,rem2;UINTuiDS;uiDS=_CS;uiDS=uiDS+dsvalue;_DS=uiDS;_ES=uiDS;count++;if(count>=Tdd){if(SendFlag==1){if(Ti==245){Ki=0;}else{Ki=T*Kp/Ti; //积分系数计算}Kd=Td*Kp/T; //微分系数计算Esum=0;E=0;E0=0;SendFlag=0; //清接收数据标志}outportb(CSAD_2_4,0);for(i=0;i<100;i++); //延时bSpeed=inportb(CSAD_2_4);//目标转速采样i=(unsignedint)bSpeed;E=bSpeedD-i;Esum=Esum+E; //积分累加den=Ki*(Esum/100);rem=Ki*(Esum%100);den1=Kp*(E/100);rem1=Kp*(E%100);den2=Kd*((E-E0)/100);rem2=Kd*((E-E0)%100);Pk=den+den1+den2;Pk=Pk+rem/100+rem1/100+rem2/100;Pk=Pk+(rem%100+rem1%100+rem2%100)/100;if(Pk<0)Pk=0;if(Pk>255)Pk=255;E0=E; //误差保存outportb(CS0832,Pk); //PID输出控制count=0;}SendByte(bSpeedD); //发送目标转速到上位机显示SendByte(bSpeed); //发送当前转速到上位机显示outportb(0x20,0x20);}//防止误触发进入voidinterruptirq7(void)//防止死机{outportb(0x20,0x20);}//接收一个字节,并返回该字节BYTERevByte(void){BYTEb;_asm{PUSHAXPUSHBXPUSHESINT1FHMOVBL,ALMOVAX,0030HMOVES,AXMOVAL,BLMOVES:[3312],ALPOPESPOPBXPOPAX}b=peekb(DSADDR,COMMBYTE);returnb;}//发送一个字节bytevoidSendByte(BYTEbyte){pokeb(DSADDR,COMMBYTE,byte);_asm{PUSHAXPUSHESMOVAX,0030HMOVES,AXMOVAL,ES:[3312]INT1EHPOPESPOPAX}}//判断是否允许接收,返回REVEN-允许,其他不允许BYTERevEnable(void){BYTEb;_asm{PUSHAXPUSHESMOVAX,0030HMOVES,AXINT1DHMOVES:[3312],ALPOPESPOPAX}b=peekb(DSADDR,COMMBYTE); returnb;}。