浙江海洋学院东海科学技术学院本科生毕业论文
第4章 软件设计
4.1 显示驱动软件设计
我们对LCD1602液晶显示器的控制其实就是对LCD控制器的操作,LCD控制器内有多个寄存器,我们通过对RS(数据命令选择端)和R/W(读/写命令选择端)的控制来具体选择哪一个寄存器,选择情况见表4.1。
表4.1 LCD内部寄存器选择
RS 0 0 1 1 下面是LCD的主要指令:
(1)清屏指令;RS=0,R/W=0;输入命令0x01;功能:将显示缓冲区的DDRAM的内容全部写入空格。光标复位,地址计数器AC清零。
(2)输入方式设置命令;RS=0,R/W=0;其输入命令为: 0 0 0 0 0 1 I/D S R/W 0 1 0 1 寄存器及操作 指令寄存器写入 忙标志和地址计数器读出 数据寄存器写入 数据寄存器读出 当I/D=1时,光标从左到右移动;I/D=0,光标从右到左移动。当S=1时,内容移动,S=0时内容不动。
(3)功能设置命令;RS=0,R/W=0;其输入命令为: 0 0 1 DL N F * * 功能:设置数据位数,当DL=0时数据位为8位,DL=0时数据位4位。 设置显示行数,当N=1时双行显示,N=0时单行显示。 设置字形大小,当F=1时5*10点阵,F=0时为5*7点阵。
(4)显示缓冲区DDRAM地址设置命令;RS=0,R/W=0;其输入命令为就是要访问的DDRAM的地址,地址范畴为0~127。
(5)读忙标志及地址计数器AC命令;RS=0,R/W=1;其读出数据为:
BF AC6 AC5 AC4 AC3 AC2 AC1 AC0 当BF=1时表示忙,这时不能接收命令和数据;BF=0时表示不忙。低7位为读出AC的地址。
(6)写入DDRAM命令;RS=1,R/W=0;直接输入要显示的数据就可以了,它将会储存到显示缓冲器DDRAM中。
23
浙江海洋学院东海科学技术学院本科生毕业论文
(7)读DDRAM命令;RS=1,R/W=1;功能就是从DDRAM当前位置中读出数据。 LCD1602液晶显示器在使用之前我们必需对其进行初始化,初始化可通过复位完成,也可以在复位后完成,初始化过程如下:①清屏;②功能设置;③开/关显示控制设置;④输入方式设置。LCD显示程序流程图如图4.1所示。
开始LCD初始化有显示输入?NLCD显示
图4.1 LCD显示程序流程图
4.2控制软件设计
PID控制器由比例单元P,积分单元I,微分单元D组成,通过Kp,Ki和Kd三个参数的设定。它是根据PID控制原理进行偏差调节,从而使被控变量的实际值与要求的预定值一致,可以使系统更加准确,更加稳定。
PID控制有连续PID控制和数字PID控制两种,前者以模拟电子线路构成,不含智能元件(单片机),后者以微计算机为核心构成。闭环反馈控制系统的组成如图4.2框图所示。
设定值r 偏差e y 被控对象 执行机构 PID算法 ∑ - 采样 采样值 - (检测)
图4.2 闭环反馈控制系统
数字PID控制常常采用增量PID算法,表达式如下:
y(k)=y(k-1)+Δy(k) (式4-1)
24
浙江海洋学院东海科学技术学院本科生毕业论文
其中y(k) ------第k次输出的控制(信号)值 y(k-1)------前一次输出的控制(信号)值 Δy(k)------输出增量(可为正﹑负数)
Δy(k)=kp[e(k)-e(k-1)]+kie(k)+kD[e(k)-2e(k-1)+e(k-2)] 其中:kp---比例系数
ki---积分系数 kD---微分系数
e(k): 第k次采样时的偏差值(采样值与设定值之差) e(k-1): 第k-1次采样时的偏差值(采样值与设定值之差) e(k-2): 第k-2次采样时的偏差值(采样值与设定值之差)
上式中有kp ki kD3个系数需要确定,在实际应用中具有难度,根据前人的研究,可采用如下的简化了的经验公式:
Δy(k)=kp[2.45e(k)-3.5e(k-1)+1.25e(k-2)] (式4-2) 这样就只有一个系数kp,容易在实验中调整确定。 程序总流程图
图4.3程序总流程图 PWM输出 脉宽*25% 是 判断脉宽是否大于1024 N PID算法 定时器定时1s 1s定时到关中断 电机转速脉冲计数加1 外部中断计数 初始化 计算当前电机转速 25
浙江海洋学院东海科学技术学院本科生毕业论文
第5章 电路的焊接与调试
5.1硬件电路的焊接与分布
该设计所涉及的各部分硬件电路,总体的特点是:
(1)本设计电路原理简单,所用器件大部分为常用器件,由于经济条件有限,在实际中使用的是1602液晶显示器,效果也还可以。
(2)本设计实用性较强,电路板外观精美。 (3)因电路线路较多,所以采用PCB板。
5.2电路的调试
经过测试,电路基本完成了系统的设计要求,经过测试,电机在运行时的转速控制在90~1700r/min。经过测试,反复调试,系统的误差基本可以达到与设定值1%误差。
26
浙江海洋学院东海科学技术学院本科生毕业论文
小 结
本文从理论设计与实际制作出发,通过对转速系统的分析和研究,根据实际应用需求,完整地设计了转速测控系统。本设计方案基本达到了任务书的要求,本系统在低转速范围具有较高的测控精度,充分利用了单片机的内部资源,有很高的性价比,而且硬件电路简单,程序编程简单和运算速度快,可用于各行业转速测控。总的来说在这次毕业设计的过程中我学习到了很多的东西,也是我第一次完成那么大的系统。从软件到硬件甚至还涉及到很多其他门类的知识。我更好地认识到细心和耐心对工作的重要性。
27