PID直流电机调速————课程设计报告

合集下载

直流电机PID调速系统设计

直流电机PID调速系统设计

摘要直流电机具有良好的启动性能和调速特性,它的特点是启动转矩大,能在宽广的范围内平滑、经济地调速,转速控制容易,调速后效率很高。

本文设计的直流电机调速系统,主要由51单片机、电源、电机驱动电路、LCD液晶显示器、霍尔测速电路以及独立按键组成的电子产品。

主要是以直流电机(所选电机的额定转速为2000转/分钟)为被控对象,以MCU为控制器设计一个转速反馈单闭环PID控制系统,使系统稳态误差为零,最大超调量小于10%,电源采用78系列芯片实现+5V、+15V对电机的调速采用PWM波方式,PWM是脉冲宽度调制,通过独立按键实现对电机的启停、调速、转向的人工控制,LCD实现对测量数据(速度)的显示。

电机转速利用霍尔传感器检测输出方波,通过51单片机对1秒内的方波脉冲个数进行计数,计算出电机的速度,实现了直流电机的反馈控制。

关键字:直流电机调速;PID控制器;电机的驱动电路;LCD显示器;51单片机AbstractDC motor has a good startup performance and speed characteristics, it is characterized by starting torque, maximum torque, in a wide range of smooth, economical speed, speed, easy control, speed control after the high efficiency. This design of DC motor speed control system, mainly by the microcontroller 51, power supply, H-bridge driver circuits, LCD liquid crystal display, the Hall velocity and independent key component circuits of electronic products. Power supply with 78 series chip +5 V, +15 V for motor speed control using PWM wave mode, PWM is a pulse width modulation, duty cycle by changing the MCU 51. Achieved through independent buttons start and stop the motor, speed control, turning the manual control, LCD realize the measurement data (speed) of the display. Motor speed using Hall sensor output square wave, by 51 seconds to 1 microcontroller square wave pulses are counted to calculate the speed of the motor to achieve a DC motor feedback control.Keywords: DC motor speed control;H bridge driver circuit;LCD display目录1 绪论 (1)1.1直流电机调速系统的研究意义 (3)1.2直流电机调速的发展趋势 (5)1.3本文研究的内容 (6)2 直流调速系统的硬件设计 (10)2.1设计方案综述 (10)2.1.1 H桥驱动电路设计方案 (12)2.1.2调速设计方案 (13)2.2硬件设计 (14)2.2.1电源电路 (14)2.2.2 H桥驱动电路 (16)2.2.3 基于霍尔传感器的测速模块 (16)2.3.4 LCD显示模块 (17)3 直流调速系统的软件设计 (20)3.1 PWM技术简介 (20)3.1.1 PWM介绍 (20)3.1.2 PWM控制的基本原理 (20)3.1.3 PWM调速原理 (22)3.2调节器设计 (23)3.2.1 电流调节器设计 (23)3.2.2 速度调节器的设计 (24)3.2 软件设计 (26)3.2.1 系统总控制流程图及说明 (26)3.2.2 PWM波软件设计 (27)3.2.2 测速软件设计 (30)4 基于matlab的仿真分析 (31)4.1仿真步骤 (31)4.2仿真分析 (35)5 结论 (39)致谢 (40)参考文献 (41)附录.............................................. 错误!未定义书签。

数字PID控制直流电机设计报告

数字PID控制直流电机设计报告

小型直流电机闭环调速系统PID控制器设计学院: 信息科学与工程专业: 自动化班级: 0904学号:___**********____**:___ ***_ ____前言此次课程设计主要是实现速度的闭环控制,如何稳定快速地实现反馈环节是最重要的任务。

我参考了上学期学到的自动控制理论这门课程的知识,我把这次的电机控制等效为了系统的PID调节问题。

由于我这学期一直在做飞思卡尔的光电组智能小车,并参加了这学期的校内赛(最终取得光电组第二名的成绩)。

而智能车的速度控制也是PID控制的,可以说就是把微机实验室的实验箱搬到了智能小车上,因此在做这次课程设计的过程中我充分借鉴了之前做小车时候的很多经验,这也使得我能够最终成功得实现了各项功能。

下面,我将从软硬件结合的角度来充分分析一下我这次课程设计的整体过程和思路以及一些纰漏不足之处。

目录一、实验设计方案 (1)实验目的 (1)实验仪器 (1)题目要求 (1)功能简介 (2)二、系统总设计 (3)功能分析 (3)备注 (4)分模块分析 (6)电机控制等模块接线图 (8)三、设计中遇到的问题及解决方法 (10)四、收获与体会 (11)七、参考文献 (12)附:源程序清单一、实验设计方案1.实验目的(1).了解反馈控制的基本思想及方法,熟练掌握PID控制策略及其参数的整定方法。

(2).掌握直流电机调速控制系统组成及各部分的工作原理。

(3)掌握的8255芯片的使用方法。

(4)学习PC系统中扩展简单I/O接口的方法。

(5).通过实际对象加深学生对各种控制规律何控制单元的理解。

2.实验仪器(1)硬件要求: PC微机一台、唐都试验箱一台(直流电机、驱动单元、8255单元、数字键盘输入模块、数码管显示模块);(2)软件要求:DOS环境,唐都编程软件,tdpit编程软件,“轻松编程”软件3.设计要求:(1)、设计基于80x86微机接口控制电路;(2)、分别用C语言和汇编语言编程完成硬件接口功能设计;(3)、程序功能要求:电机速度由按键分段给定或电位器连续给定,计算机屏幕和数码管同步跟踪显示当前给定速度和电机实际运行速度,实现PID参数在线显示和修改。

pid电机控制课程设计

pid电机控制课程设计

pid电机控制课程设计一、课程目标知识目标:1. 让学生掌握PID电机控制的基本原理,理解比例、积分、微分三项控制环节的作用及相互关系;2. 学会分析电机控制系统的性能,了解不同参数对系统稳定性和响应速度的影响;3. 掌握PID参数调整的方法,能够针对特定电机控制系统进行优化。

技能目标:1. 培养学生运用所学知识进行电机控制系统设计的能力,能够根据实际需求选择合适的PID控制策略;2. 提高学生动手实践能力,通过实验和仿真,使学生对PID电机控制技术有更直观的认识;3. 培养学生运用现代工具和技术进行问题分析、解决的能力。

情感态度价值观目标:1. 培养学生对电机控制技术的兴趣,激发学生主动探索、创新的精神;2. 培养学生团队协作、沟通表达的能力,增强合作意识;3. 增强学生的环保意识,让学生认识到电机控制技术在节能减排中的重要作用。

本课程针对高年级学生,结合电机控制学科特点,强调理论知识与实践技能的结合。

课程目标具体、可衡量,旨在帮助学生掌握PID电机控制技术,提高解决实际问题的能力,同时注重培养学生的情感态度和价值观,使其成为具有创新精神和环保意识的高素质人才。

二、教学内容1. 引入电机控制的基本概念,介绍PID控制原理,对应教材第1章内容;- 比例、积分、微分控制环节的作用及组合;- 电机控制系统稳定性分析。

2. 分析电机控制系统的数学模型,对应教材第2章内容;- 电机动态模型的建立;- 系统的开环和闭环特性。

3. PID参数调整方法及优化策略,对应教材第3章内容;- 参数调整对系统性能的影响;- 优化策略:Ziegler-Nichols方法、模糊PID控制等。

4. 电机控制系统设计实例,对应教材第4章内容;- 根据实际需求选择PID控制策略;- 系统设计步骤及注意事项。

5. 实践教学环节,结合教材实验指导;- 电机控制系统仿真实验;- 实际电机控制系统搭建与调试。

6. 课程总结与拓展,对应教材第5章内容;- 回顾课程重点,巩固所学知识;- 拓展学习:现代电机控制技术发展趋势。

实验六 数字PID 直流电机闭环调速控制系统设计

实验六 数字PID 直流电机闭环调速控制系统设计

实验六数字PID 直流电机闭环调速控制系统设计一、实验原理及内容直流电机调速实验的系统方框图如下:电机的PID控制原理:单片机给出脉冲调制信号,脉冲调制信号的脉宽决定电机的转速,即可通过调节脉冲的占空比来调节电机的转速,脉冲信号驱动电路放大后控制直流电机的转动,然后测速电路几乎同步测出电机转速并输出,该输出信号与给定值(给定的转速)比较,如果两者不相同,经单片机里面的算法比对后,单片机调节脉冲宽度,继续输出给驱动电路控制电机,如此循环,直到电机转速与给定值相同。

根据上述系统方框图,硬件线路图设计如下:图中“DOUT0”表示51 的I/O 管脚P1.4,输出PWM 脉冲经驱动后控制直流电机,“IRQ7 ”表示51 的外部中断1,用作测速中断。

实验中,用系统的数字量输出端口“DOUT0”来模拟产生PMW 脉宽调制信号,构成系统的控制量,经驱动电路驱动后控制电机运转。

霍尔测速元件输出的脉冲信号记录电机转速构成反馈量。

在参数给定情况下,经PID 运算,电机可在控制量作用下,按给定转速闭环运转。

系统定时器定时1ms,作为系统采样基准时钟;测速中断用于测量电机转速。

直流电机闭环调速控制系统实验的参考程序如下:实验结果的推导:在模拟系统中,PID 算法的表达式为:])()(1)([)(dtt de T dt t e T t e K t P D i P ++=⎰(1) 由于计算机系统是一种采样控制,它只能根据采样时刻的偏差值来计算控制。

因此,在计算机系统中,必须对式(1)进行离散化处理,用数字形式的差分方程代替连续系统微分方程,此时积分项和微分项可用求和及增量式表示:∑∑⎰===∆=nj n j nj E T t j E dt t e 0)()()( (2)T k E K E t k E k E dt t de )1()()1()()(--=∆--≈ (3) 将式(2)和(3)带入式(1),则得到离散的PID 表达式:⎪⎩⎪⎨⎧⎭⎬⎫--++=∑=)]1()([)()()(0k E k E T T j E T T k E K k P Dnj i P 式中,T t =∆----采样周期,必须使T 足够小,才能使系统有一定的精度;E(k)---第k 次采样时的偏差值;E(k-1)---第(k-1)次采样时的偏差值; K---采样序号,k=0,1,2.P(k)---第k 次采样时调节器的输出。

计算机控制实验课程设计报告-直流电机转速pid控制

计算机控制实验课程设计报告-直流电机转速pid控制

基于89c52单片机的PWM 直流电机PID控制调速系统实验报告指导老师:衣法臻姓名:杨浩学号:09212020班级:自动化0901日期:2012年7月6日星期五目录第一章系统方案设计 (3)1.1 直流电机转速开环控制与闭环控制的选取 (3)1.2 直流电机调速方式的选取 (4)1.3 直流电机测速装置的选取 (5)1.4 系统控制算法的选取 (8)1.5 系统总体设计 (10)第二章硬件设计 (11)2.1 AT89C52芯片介绍 (11)2.2 直流电机驱动芯片ULN2803设计 (13)2.3 数显管显示给定速度和实际速度模块 (15)2.4 按键模块设计 (16)2.5 测速模块设计 (18)第三章软件部分设计 (19)3.1 数显管显示软件设计部分 (19)3.2 外部中断P3.3计数程序 (21)3.3 定时器0中断软件设计 (22)3.4 PWM算法程序设计 (25)3.5 PID控制算法程序设计 (26)3.6 按键程序设计 (29)第四章基于matlab的PID参数设计及仿真 (31)4.1 各部分传递函数的整定 (31)4.2 PID参数的整定 (31)第五章结果分析 (33)第六章实验总结及感想 (34)参考文献 (36)附录一硬件系统电路原理图 (36)附录二程序源代码 (36)第一章、系统总体方案设计1.1直流电机转速开环控制与闭环控制的选取对直流电机转速的控制有一般有两种方式,一种是开环控制,一种是闭环控制。

开环控制的优点是简单、稳定、可靠。

若组成系统的元件特性和参数值比较稳定,且外界干扰较小,开环控制能够保持一定的精度。

缺点是精度通常较低,无自动纠偏能力;闭环控制的优点是控制的精度可以达到很高,而且对外界的干扰和系统的参数变化有很好的抑制作用,且可以通过输出反馈控制系统的控制过程。

缺点是存在稳定性,振荡,超调等一系列问题,对系统的性能分析和设计远比开环控制麻烦。

经过利弊的取舍,本次试验选择的是闭环控制,因为准备应用PID算法控制电机的转速,故而需要有实际转速进行反馈与给定的转速形成对比,进而通过算法输出PWM波形来控制直流电机。

直流电机调速系统课程设计报告

直流电机调速系统课程设计报告

直流电机调速系统设计报告题目:H桥&串口输出2016年3月一、设计任务设计并制作一套直流电机调速系统,主要包括两部分:主电路部分和以单片机为核心的控制电路部分。

要求设计、制作控制电路和主电路,实现如下功能:(1)通过码盘和光耦得到一系列脉冲,利用M法、T法或M/T法对这些脉冲在单片机中进行处理得到电机的转速,在液晶或数码管上进行显示;(2)DC/DC电路能够正常工作,通过旋钮或键盘设定转速,并能够通过电力电子电路输出合适的电压,使电机的转速达到设定转速。

(3)实验室提供24V直流电源为DC/DC电路供电,其余部分电源请利用220V市电自行设计。

数码管显示单元DC直流电源DC码盘和光耦驱动与保护电路单片机系统旋钮输入图1 系统总体框图二、硬件电路设计与制作2.1 显示部分电路设计使用计数器采集到电机转速后,需要用数码管进行显示。

我们组选择串口驱动数码管显示电路,74HC595芯片是一种串入并出的芯片,是8位串行输入/输出或者并行输出移位寄存器,具有高阻、关、断状态。

首先使用三极管构成驱动电路,驱动数码管。

采用单片机的P0.0-P0.2作为74HC595时钟信号与输入口,使数码管显示相应转速,具体实现电路如图1。

图1 显示电路原理图2.2 驱动部分电路设计驱动部分作为电机与单片机控制器的结合部分,是本次设计的主电路,需要完成DC/DC变化的功能。

单片机产生PWM波送给驱动芯片IR2110,2110通过驱动电路控制MOSFET开关改变加在直流电机上的电压,从而达到改变转速的目的。

单片机产生的PWM1和PWM2波形要相反,控制斩波电路的半桥互补通断。

电路设计图如图2所示。

图2 驱动电路原理图2.3 电源部分设计电源设计部分共分两个部分,一部分是IR2110的供电电压和所有芯片的供电电压,另一部分是USB口供电电部分,使用电脑供电,两部分电路通过拨码开关进行切换。

市电供电电源采用220V交流电变成15V交流电,经整流桥变成直流电,再经7815、7805稳压得到15V和5V直流电,分别给驱动和单片机系统供电。

直流电机转速PID控制课程设计报告

直流电机转速PID控制课程设计报告

直流电机转速PID控制系统设计学院:专业班级:姓名:学号:指导老师:目录第一章PID简介 (1)第二章直流电机工作原理 (6)2.1 工作原理 (6)2.2、直流电机PID控制原理方框图 (7)第三章控制系统方案选择 (10)3.1 系统设计要求 (10)3.2 系统模块设计 (12)第四章硬件设计与实现 (17)4.1 硬件设计 (17)4.2系统面板图 (24)第五章流程设计 (26)5.1 软件设计流程图 (26)第六章程序说明 (30)6.1 直流电机部分程序 (30)6.2 温度检测部分程序 (37)第七章说明及调试 (46)7.1 调试过程 (46)7.2 运行结果 (47)第八章课程设计体会 (49)第一章 PID简介PID (比例积分微分,英文全称为Proportion Integration Differentiation)控制器问世至今已有近70年历史,它以其结构简单、稳定性好、工作可靠、调整方便而成为工业控制的主要技术之一。

当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它技术难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确定,这时应用PID控制技术最为方便。

即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用PID控制技术。

PID控制,实际中也有PI和PD控制。

PID控制器就是根据系统的误差,利用比例、积分、微分计算出控制量进行控制的。

PID控制器的参数整定是控制系统设计的核心内容。

它是根据被控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。

PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。

它主要是依据系统的数学模型,经过理论计算确定控制器参数。

这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。

二是工程整定方法,它主要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。

直流电机控制(PID)实验报告

直流电机控制(PID)实验报告
b = speed1 / 100;
s = speed1 % 100 / 10;
g = speed1 % 100 % 10;
sent(table[b]);
sent(table[s]);
sent(table[g]);
sent(0); sent(0);//预期值
sent(table[speedset/100]);
out=0;
uk1=uk;//为下一次增量做准备
e2=e1;
e1=e;
PWMTime=out; //out对应于PWM高电平的时间
return(0);
}
void PWMOUT()
{
//PWM=1;
if(cnt<PWMTime)//若小于PWM的设定时间,则输出高电平
PWM=1;
else//否则输出低电平
三、仪器及原理图
实验仪器:THKL-C51仿真器
四、实验代码
%增量式
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define ufloat unsigned float
sbit PWM=P1^2;
sbit DIN=P1^0;
sbit CLK=P1^1;
uint num;
float count=0;
uint cnt,n=0;
uint out;
uint PWMTime;
uchar code table[] = { 0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x7B,0x71,0x00,0x40 };
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计报告课程名称:单片机课程设计题目:基于51单片机PID直流电机调速随着科技的日益进步,对自动化的要求也越来越高,直流电动机应用领域更加广泛。

例如,军事方面的雷达天线惯性导航火炮瞄准等控制;工业方面的数控机床加工生产设备工业机器人的控制;计算机外围设备及办公设备中各种光盘驱动器扫描仪打印机传真机复印机等设备的控制。

因此,设计一款可控性好精度高的电机控制系统是非常有意义的。

本文介绍了一种以AT89S51单片机为控制核心的直流电机控制系统模型。

本设计主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。

设计中采用了专门的芯片组成了PWM信号的发生系统并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节从而控制其输入信号波形等均作了详细的阐述。

另外本系统中使用了红外对管对直流电机的转速进行测量,经过整形电路后将测量值送到单片机,并且最终作为反馈值输入到单片机进行PID运算从而实现了对直流电机速度的控制。

在软件方面,文章中详细介绍了PID运算程序初始化程序等的编写思路和具体的程序实现。

[关键字] PWM信号红外对管PID运算一、设计任务、要求 (3)1.1 设计任务 (3)1.2 设计要求 (3)二、方案总体设计 (4)三、硬件设计 (5)3.1 单片机最小系统 (5)3.2 四位数码管显示 (5)3.3 电机驱动电路 (5)3.4 红外测速电路 (6)3.5 整形电路 (7)3.6 整体电路 (7)四、软件设计 (8)4.1 算法实现 (8)4.1 主程序流程 (8)4.2 定时器1中断流程 (9)五、硬件设计 (10)5.1 软件介绍 (10)5.2 硬件调试 (10)5.3 软件调试 (10)六、设计总结、心得体会 (11)七、参考文献 (12)附录一:源程序 (13)一、设计任务、要求1.1 设计任务设计一个基于51单片机的PID直流电机调速系统。

1.2 设计要求根据单片机原理及应用课程的要求,主要进行两个方面的设计,即单片机最小系统和存储器扩展设计、接口技术应用设计。

其中,单片机最小系统主要要求学生熟悉单片机的内部结构和引脚功能、引脚的使用、复位电路、时钟电路、4个并行接口和一个串行接口的实际应用,从而可构成最小应用系统,并编程进行简单使用。

具体的要求有以下几点:✓系统采用DXP软件设计电路原理,设计布局必须合理美观;✓实物采用洞洞板焊接,布局采用万能板专用绘图软件;✓4位数据显示功能;✓具有至少2个独立按键,通过按键可设置不同运行方式;✓系统具有较好的模块化,功能、程序等分块合理;二、方案总体设计方案一:用三极管搭H桥,实现电机正反转的控制。

电路部分较为复杂,焊接也显得更麻烦一点。

方案二:以驱动芯片ULN2003作为电机驱动,ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽等特点。

UNL2003是是漏极开路输出,它的驱动能力为500mA,能够驱动直流电机、步进电机等。

由于这里不需正反转的控制,也为了使焊接更方便,提高成功率。

所以电机芯片驱动方案选择方案二。

总体设计:图1 整体硬件设计总体方案工作原理:使用STC89C52单片机作为主控制芯片,按键控制改变电机的设定值,通过红外对管进行转速的测量,与设定值进行比较,通过PID算法控制电机达到设定转速。

三、硬件设计3.1 单片机最小系统单片机最小系统由51单片机,晶振电路,复位电路,电源组成。

大家都比较熟悉,这里不再赘述。

3.2 四位数码管显示在应用系统中,设计要求不同,使用的LED显示器的位数也不同,因此就生产了位数,尺寸,型号不同的LED显示器供选择,在本设计中,选择4位一体的数码型LED显示器,简称“4-LED”。

本系统中前三位显示电压的整数位,最后一位显示转速的小数位。

4-LED显示器引脚如图2所示,是一个共阴极接法的4位LED数码显示管,其中a,b,c,e,f,g为4位LED各段的公共输出端,1、2、3、4分别是每一位的位数选端,dp是小数点引出端,4位一体LED数码显示管的内部结构是由4个单独的LED组成,每个LED 的段输出引脚在内部都并联后,引出到器件的外部。

图2 四位LED引脚3.3 电机驱动电路电机驱动电中是采用ULN2003来驱动。

ULN2003是高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。

该电路的特点:ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据,输入5VTTL电平,输出可达500mA/50V。

图3 ULN2003引脚图图3为ULN2003的引脚图,其中IN1~IN7为输入控制端;OUT1~OUT7为输出端;8脚为芯片的接地端;9脚为公共端,该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。

用于感性负载时,该脚接负载电源正极,实现续流作用。

如果该脚接地,实际上就是达林顿管的集电极对地接通。

图4 一对达林顿管图4为一对达林顿管示意框图,它反映了每一对输入与输出的内部结构。

从图中可看出,它内部实际就是由三极管组成,所以实际电机驱动用三极管搭H桥或其他驱动电路也是可以实现驱动电机的。

图5 电机驱动电路图5为本设计的直流电机驱动电路。

当P1.0中为高电平时,其内部三极管导通,使电机转动。

当P1.0为低电平时,内部三极管截止,电路断开,电机停止转动。

所以在程序中可以利用P1.0口输出PWM波来控制电机的转速。

3.4 红外测速电路图6 红外对管测速红外测速部分电路如图6所示,发射管工作时发出红外线,当接收管收到红外信号时,其电阻变小(本设计相当于从无穷大变到1k左右)。

利用其电阻变化,改变接收管分压情况。

挡片是利用圆盘上剪四个孔,当挡片随电机转动时,接收管两端电平发生变化,产生脉冲。

3.5 整形电路本设计的整形电路是用555定时器接成的施密特触发器。

图7 整形电路其电路如图7所示,其特性为,输入信号从0逐渐升高的过程:当输入信号in< 1/3VCC,3引脚输出高电平;当1/3VCC < in < 2/3VCC,3引脚输出高电平保持不变;当in> 2/3VCC,3引脚输出低电平。

当输入信号从高于2/3VCC开始下降的过程:当1/3VCC < in < 2/3VCC,3引脚输出低电平不变;当in< 1/3VCC 3引脚输出高电平。

整形效果如下图所示:图8 脉冲整形前后变化3.6 整体电路图9 整体电路原理图四、软件设计4.1 算法实现(1) PID 算法数字PID 调节器结构简单,参数易于调整。

将其移植到单片机控制系统,通过软件编程实现,根据经验在线调整参数,灵活性强。

采用数字PID 调节算法,根据经验和实践, 在线整定参数,具有很强的灵活性。

PID 控制的运算公式为:0P )]2()1(2)([)()]1()([)(u u n e n e n e K n e K n e n e K n D I +-+--++--=因此要实现PID 控制就必须在单片机上存在上述算法,其流程图如图所示:图10 PID 算法流程图(2)电机速度采集算法本系统中电机速度采集是一个非常重要的部分,它的精度直接影响到整个控制的精度。

在设计中采用了红外传感器做为测速装置,其计算公式为:这里主要是采集圆盘边缘上凹槽数的多少决定的,圆盘有4个凹槽,每转一圈便会产生4个脉冲,通过上面的等式就可得出电机的转速。

4.1 主程序流程主流程图如图11所示:图11 主程序流程图其中中断初始化中设置为定时器TO计脉冲数,定时器T1为高优先级中断。

数码管显示的速度为三位整数,一位小数。

当测得的速度在设定速度的正负5的范围之外时,蜂鸣器响。

4.2 定时器1中断流程图12 T1中断程序流程图五、硬件设计5.1 软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil 几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

5.2 硬件调试当认真的把板子焊接完成,之后也认真的检查了一下连接线路,确认无误后,将程序下载进去后。

发现数码管显示不正常,再次将与数码管连接的P0口线路认真检查一下后,发现与之连接的一个I/O口有虚焊的现象。

将虚焊点重新焊接后显示正常。

但单片机走程序时,第二位数码管显示变动很大,比电机速度的改变大很多。

最后认真检查程序,发现程序中显示的那一部分按错了一个符号,导致其运算结果不正确。

5.3 软件调试软件编写是在KEIL开发环境上编写的。

是采用模块化程序的方法,各个功能的程序都使用不同的子程序编写。

需要使用的时候,在主函数中进行调用即可。

当发现问题的时候,首先检查主函数的调用是否有问题,如果没有问题,就到相应的子函数中,对子函数进行检查。

可以使用Keil中的单步调试,查看程序运行是否流畅,同时还可以查看相应变量的值以及寄存器的值,这样就可以知道程序那里出现了问题。

而不应该认为是软件出现了问题。

或者认为是硬件连接的问题,因为之前的硬件都已经调试过没有问题了。

在软件调试的过程中就不应该去怀疑硬件。

其实软硬件的调试是相辅相成的,并没有非常明确的界限。

硬件的调试有时候需要通过软件的现象来检测,光看电路图是,或者只是单纯地用万用表检查有没有短路也是没有意义的。

六、设计总结、心得体会设计不仅是对前面所学知识的一种检验,而且也是对自己能力的一种提高。

下面我对整个设计的过程做一下简单的总结。

第一,接到任务以后进行选题。

选题是设计的开端,选择恰当的、感兴趣的题目,这对于整个设计是否能够顺利进行关系极大。

好比走路,这开始的第一步是具有决定意义的,第一步迈向何方,需要慎重考虑。

否则,就可能走许多弯路、费许多周折,甚至南辕北辙,难以到达目的。

因此,选题时一定要考虑好了。

第二,题目确定后就是找资料了。

查资料是做设计的前期准备工作,好的开端就相当于成功了一半,到图书馆、书店、资料室去虽说是比较原始的方式,但也有可取之处的。

总之,不管通过哪种方式查的资料都是有利用价值的,要一一记录下来以备后用。

相关文档
最新文档