西安工业大学毕业设计(论文)
马达脉冲控制控制电路比例电位器M比例电压减速齿轮组 图4.7舵机内部工作原理图
对小车舵机转向控制进行调试的目的在于使小车对不同路线都能给出合适的转角,在直道行驶时应避免抖舵和振荡,在弯道行驶时应能够准确、顺畅地跟踪赛道信息。
舵机控制可利用调节PWM输入信号的占空比来改变输出的角度。由于舵机响应存在机械滞后和电延迟,该系统整体可以看做为一个纯滞后环节和一个积分环节的串联。PWM控制信号引入控制电路板驱动直流电机,减速齿轮组由直流电机传动,其输出端带动一个线性的比例电位器作位置检测,该电位器把齿轮组转角转换为一比例电压反馈给控制线路板,控制线路板将其与输入的PWM控制信号比较,产生纠正信号,并驱动直流电机正向或反向转动,使齿轮组的输出位置与期望值相符,纠正信号最终趋于0,从而达到使舵机精确定位(位置伺服)的目的。
通过以上分析,我们对舵机的转向采取了PD(比例-微分)控制。比例控制能迅速反应误差,从而减小误差,但比例控制不能消除稳态误差,Kp 的加大,会引起系统的不稳定;微分控制可以减小超调量,克服振荡,使系统的稳定性提高,同时加快系统的动态响应速度,减小调整时间,从而改善系统的动态性能。在最初调试的时候,我们还使用了PID 控制。在加入了积分控制后,会使系统的超调量加大,甚至出现振荡,跑直道的效果特别差,所以将其去掉了。对Kp 参数进行调整采用了的试凑的方法。通过多次实验,得到了比较满意的Kp,Kd 值。
舵机在没有进行机械调整的时候,由于结构的限制,当前轮要转到最大时舵机需转到大40 度。在我们对舵机进行了一系列的机械结构改造后,舵机只需要转动15 度左右,前轮就可以转到最大时。这样就大大节约了舵机转向的时间,加快舵机的响应速度。为了提高控制精度,微控制器的PWM6,PWM7级联后变为16 位,完全可以满足舵机调节的精度要求。PWM7 口输出的信号输入到舵机的控制线,对舵机转角进行控制。
在具体控制中,模糊输出只是一个等级,然后乘以角度的系数,就可以得到角度的精确数值。然后就可以确定PWM的占空比,进而控制舵机。由于我们设置了几个不同的速度档位,而每个档位对应的Kp,Kd值都不相同。
4.4.7电机控制设计:
直流电机的转速控制采用PWM控制。由于单片机输出的脉宽无法直接驱动电机,因此需要通过驱动电路对电机进行控制。通过电机驱动模块,控制驱动电机两端电压可以使模型车加速运行,也可以对模型车进行制动运行。
在进行方案的选择时,考虑到智能车驱动电机需要正转、反转,因此,设计中采用了H桥来驱动电机,得到了很好的控制效果。如图4.8所示。
- 19 -
西安工业大学毕业设计(论文)
7.2vVCCR17300H桥R21300U13IRF49052N7000AGNDMOTOR1MOTOR27.2vVCCR19300D15U12IRF3205IRF32052N7000D17U16R22300Q7S2_HIRF4905U11D14D16S1_HAGNDQ12N70007.2vVCCQ8S2_LS1_LQ62N7000AGND 图4.8 H桥控制电路
MC9S12XS128有8个可编程控制周期和占空比的PWM的通道,通过级联可用做16位4通道,以提高控制精度。MC9S12XS128的PWM1和PWM3管脚分别控制电机的正反转。
工作原理简介:左边给高电位1,右边给低电位0时,原理图中左下的TIP122和右上的TIP127为通路,马达电流由右流到左,反转;左边给高电位0,右边给低电位1时,马达电流由左流到右,正转。运用光电偶合器的原因是为了简化电路,同时避免干扰。数字地与模拟地之间也要进行隔离。
电机控制流程图如图4.9所示:
- 20 -
西安工业大学毕业设计(论文)
开始参数初始化读取给定速度、实际速度偏差E(k)=速度给定值=车体实际速度|E(k)|
图4.9电机控制流程图
- 21 -
5系统调试与分析 5系统调试与分析
5.1 系统仿真调试
5.1.1 仿真内容
仿真调试的内容是要把程序修改正确,使编译能够通过,而且还要用freescale codewarrior仿真软件中的一些功能来查看程序所实现的功能是否能够和预期的功能相符合。程序部分的调试采用的是从下到上逐步集成的思想,先将各个小的模块验证成功,再将它们集成为一个大的模块进行验证,最后到整个系统的集成调试。需要反复调试,直到能够实现预期结果为止。本次设计是在仿真软件freescale codewarrior来进行编译和调试的。
5.1.2 调试、仿真环境
程序开发是在CodeWarrior Development Studio for S12(X) V5.1下进行。该开发环境由Metrowerks公司提供并专门面向飞思卡尔所有系列的微控制器嵌入式应用开发的软件工具。其中包括IDE集成开发环境、可视化参数显示工具、C交叉编译器、项目工程管理、汇编器、链接器等。本导引车模型采用MC9S12XS128处理器,所用程序语言为C语言。设计程序过程中,采用BDM在线调试器。
5.1.3 调试步骤
运行CodeWarrior Development Studio for S12(X) V5.1集成开发软件,在弹出的工程对话框中选择Create New Project,如图5.1示。
- 22 -
西安工业大学毕业设计(论文)
图5.1新建工程界面
继续选择HCS12X,在HCS12XS Family中选择MC9S12XS128,点击“下一步”。如图5.2所示。
图5.2开发环境配置第一步
然后选择编程语言和右面的项目名Project name输入条中,键入所要建立的新工程名称,在项目名Location输入条中,选择新工程所存放的地址。在本导引车模型中使用C语言。如图5.3所示。
- 23 -