西安工业大学毕业设计(论文) 全有(ON),要么完全无(OFF)。电压或电流源是以一种通(ON)或断(OFF)的重复脉冲序列被加到模拟负载上去的。通的时候即是直流供电被加到负载上的时候,断的时候即供电被断开的时候。只要带宽足够,任何模拟值都可以使用PWM进行编码[35]。
4.4无人车转向控制系统各个模块流程图
4.4.1 主程序初始化流程图 底层初始化流程图如图 4.2所示。
开始芯片系统初始化定时器初始化A/D初始化I/O口初始化主程序
图4.2底层初始化流程图
- 14 -
西安工业大学毕业设计(论文)
4.4.2 A/D采集模块流程图
当电磁感应模块在进行跑道检测及光栅编码器在测量当前电机转速时,都要先进行A/D转化,将采集到的模拟信号转化为单片机能够识别的数字信号后才能对其进行处理和控制。因此,A/D采集模块在无人车转向控制系统中是非常重要的,它的流程图如图3.3。
开始初始化端口,设置等送通道号,启动AD转换转换等待N转换结束Y数据处理,存储采集转换值 返回
图4.3A/D转换流程图
4.4.3中值平均滤波流程图
在单片机对采集到的参数进行数据处理时要进行滤波,才能有效的防止不必要的干扰信号。在本设计中,我们采用中值平均滤波法。即在每个周期先用中位值滤波得到m个滤波值,再对m个值进行算术平均,得到可用的被测参数。也称为去脉冲干扰平均值滤波法。其流程图如图4.4.
- 15 -
西安工业大学毕业设计(论文)
开始定义Xi, i=1,sum=0 X1=max,sum=X1 采集X2 X2>max?NYX2=min Sum+=X2 X2=max,X1=mini++ Sum+=XiY Xi>=max?YNXi<=min?YXi=maxXi=minNi<=m?Nsum=sum-max-minAve=sum/(m-2)结束
图4.4 中值平均滤波流程图
- 16 -
西安工业大学毕业设计(论文)
4.4.4 PWM输出控制函数流程图
本设计的最终目的在于控制单机与舵机,让其有一个合适的输出值,而这个控制工程则是由PWM控制实现的[4],因此PWM输出控制方法是本设计中最重要的。如图3.5所示为PWM输出函数流程图。
开始PID误差复位,速度反馈参数复位,装PWM初值PID运算PID输出>=0?N求补,转速为整数YPWM输出=PID输出值+误差PWM输出>=最大值?NPWM输出<=最小值?NYY输出最大值输出最小值输出计算值 图4.5PWM输出控制函数流程图
4.4.5 增量式PID函数流程图
本设计应用的算法为增量式PID控制算法,通过调整KP 、KI、Kd这三个参数来实现相应的控制。如图4.6为增量式PID控制算法流程图。
- 17 -
西安工业大学毕业设计(论文)
开始 计算控制参数q0、q1、q2设初值e(k-1)=e(k-2)=0 本次采样输入c(k) 计算偏差e(k)=r(k)-c(k)A/D 计算控制增量Δu(k)Δu(k)=q0e(k)-q1e(k-1)=q2e(k-2)控制对象D/A输出Δu(k)Y为下一时刻做准备 e(k-2)=e(k-1),e(k-1)=e(k)N采样时刻到否? 图4.6增量式PID算法流程图
4.4.6舵机控制设计:
舵机的内部集成有直流电机、减速齿轮组以及位置反馈电位计。减速齿轮组由直流电机驱动,其终端(输出端)带动一个线性的比例电位器作位置检测,该电位器把转角坐标转换为一比例电压反馈给控制线路板,控制线路板将其与输入的控制脉冲信号比较,产生纠正脉冲,并驱动马达正向或反向地转动,使齿轮组的输出位置与期望值相符,令纠正脉冲趋于为0,从而达到转角精确定位的目的。其内部原理如图4.7所示。
- 18 -