1、1直流电机转速 PID 控制系统设计学 院: 专业班级: 姓 名: 学 号: 指导老师: 2单片机原理课程设计任务书班级:自动化 07 姓名: 指导教师:曹利钢 2010 年 6 月 7 日设计题目:基于单片机的直流电机转速 PID 控制系统设计设计任务和要求1.直流电机型号自选2.对直流电机转速实时显示3.对转速实现恒值控制4.转速控制范围:10 90 ,其中 为电机额定转速NnNn5.稳态精度达:5r/min。设计成果设计说明书一份电路图一份参考资料1.胡汉才.单片机原理及接口技术(第 2 版)M.北京:机械工业出版社,20042.陈光东,赵性初.单片机微型计算机原理与接口技术(第 2 版
2、)M.武汉:华中科技大学出版社,1999教研室主任签字: 年 月 日3目 录第一章 直流电机工 作原理 .41.1 工作原理 .41.2、直流电机 PID 控制原理方框图 .5第二章 硬件设计与 实现 .82.1 硬件设计 .82.2 系统面板图 .15第 三章 流程设计 .173.1 软件设计流程图 .17第 四章 程序说明 .204.1 直流电机部分程序 .204.2 温度检测部分程序 .28第五章 说明 及调试 .366.1 调试过程 .366.2 运行结 果 .37第 6 章 课程设计体会 39第 7 章 参考文献 394第一章 直流电机工作原理1.1 工作原理 本设计中的电子钟的核心
3、是 AT89C51。硬件电路主要由六部分构成:PID 控制电路、复位电路、键盘电路、显示电路、串行通信电路以及温度检测电路。PID 控制电路是电子钟硬件电路的核心,没有 PID 控制电路,直流电机无法正常稳定运行。本系统电路采用的晶振 11.0592MHz,一号单片机定时器采用的是定时器 0 工作在方式 2 定时,用于实现一定时间的计时,定时时间为 10ms。复位电路可使单片机回复到初始状态。键盘可实现对直流电机转速的设定及启动的操作。温度检测是通过 DS18B20 芯片实现,在温度显示中还要注意数的转换。在该设计中还用到定时器 1 工作在方式 2 用来产生 9600 的波特率,用在两片单片机
4、之间串行传送数据。1、 外部中断 INT1当电机转一圈时向外部中断进行一次中断计数,从而实现电机转速的测量。2、 一号单片机转速显示当电机转动时,显示部分可以把电机的设定转速或者是通过通信由温度计算的转速显示出来,同时在右侧部分显示电机当下的转速。二号单片机的温度显示与之类似。53、 温度测量温度测量有专门的芯片 DS18B20。DS18B20 可编程温度传感器有 3 个管脚。GND 为接地线, DQ 为数据输入输出接口, 通过一个较弱的上拉电阻与单片机相连。VDD 为电源接口,既可由数据线提供电源,又可 由外部提供电源,范围 3O55 V。当 DSI8B20 接收到温度转换命令后,开始启动转
5、换。转换完成后的温度值就以 16 位带 符号扩展的二进制补码形式存储在高速暂存存储器的 0,1 字节。单片机可通过单线接口读 到该数据,读取时低位在前,高位在后,数据格式以 0062 5LSB 形式表示。4、 按键选择一号单片机的键盘采用 44 的按键方式检测按键。P0、P1 口不断扫描按键的行和列从而计算出所选择的数值,进而执行相关的程序。二号单片机原理类似。5、 直流电机驱动部分一号单片机根据端口采集到的电机的转速,经过 PID 计算,通过另一端口发送 PWM 波,从而使电机改变转速。1.2、直流电机 PID 控制原理方框图6复位键盘显示89C51键盘显示测温89C51电 机 驱动 测 速
6、报警串 行 通 信图 2.1直 流 电 机 PID控 制 电 路 方 框 图7图 2.2 电路连接图8第二章 硬件设计与实现2.1 硬件设计直流电机 PID 控制电路的核心是两块 89C51,用两块 89C51 作控制是为了电机控制和温度检测互不干扰,其中一块控制电机,另一块实现温度检测。2.1.1 按键电路设计根据功能需要,本控制电路需要设置一下功能键:按键设定转速。在键盘中按键数量较多时,为了减少 I/O 口的占用,通常将按键排列成矩阵形式,如图 1 所示。在矩阵式键盘中,每条水平线和垂直线在交叉处不直接连通,而是通过一个按键加以连接。这样,一个端口(如 P1 口)就可以构成 4*4=16
7、 个按键,比之直接将端口线用于键盘多出了一倍,而且线数越多,区别越明显,比如再多加一条线就可以构成 20 键的键盘,而直接用端口线则只能多出一键(9 键)。由此可见,在需要的键数比较多时,采用矩阵法来做键盘是合理的。 矩阵式结构的键盘显然比直接法要复杂一些,识别也要复杂一些,下图中,列线通过电阻接正电源,并将行线所接的单片机的 I/O 口作为输出端,而列线所接的 I/O 口则作为输入。这样,当按键没有按下时,所有的输入端都是高电平,代表无键按下。行线输出是低电平,一旦有键按下,则输入线就会被拉低,这样,通过读入输入线的状态就可得知是否有键按下了。9a0a1a2a3a4a5a6a70 1 2 3
8、4 5 6 78 9 确 定 清 除运 行图 2.1 按键电路参见表 2.1。按键 键名 功能 属性09 设定 设定转速值 自动复位确定 确定 确定设定值 自动复位清除 清除 去除设定值 自动复位运行 运行 开始运行 自动复位表 2.1 按键功能表按键操作说明如下:09 键:通过此按键设定要求电机转速的设定值。设定过程中数值依次左移,实现百十个位的设定。确定键:该键为自动复位键,当设定完成后按确定键就可以使10设定值赋给相应变量。清除键:清除已经设定的转速值。运行键:设定值完毕则可以点此键进行相应的运行。2.1.2 复位电路复位是单片机的初始化操作,以便使 CPU 和系统中其他部件都处于一个确定的初始状态,并从这个状态开始工作。除了进入系统的正常初始化之外,当单片机系统在运行出错或操作错误使系统处于思索状态时,也可按复位键重新启动。复位后,PC 内容初始化为 0000H,使单片机从 0000H 单元开始执行程序。89C51 单片机复位信号的输入端是 RST 引脚,高电平有效。RST 端的外部复位电路有两种操作方式:上电自动复位和按键手动复位。按键手动复位有电平方式和脉冲方式两种。本设计用的是按键电平复位时相当于 RST 端接高电平。如图 2.2 所示。需要注意的是单片机连接了 8255A,复位电路也需与 8255A 的rstRSTa2a0C31uFR11k