




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
郑州大学机械工程学院 I 摘要摘要摘要摘要 瑞萨 MCU 模型车 是在搭载有瑞萨 MCU 主板的模型车上自行设计并编制独立的控 制程序 组装制作成具有自动识别功能的 MCU 汽车模型 MCU 模型车在跑道中央行驶 时读取跑道中央的白线作为输入信息以控制行驶路线 其构造分两大部分 程控部分和机 械部分 程控部分为传感器 当模型车行驶时车体前方的传感器迅速读取路面信息 并传 达至主控制器 以控制行驶方向 机械部分为马达 齿轮 轮胎 舵机等 动力源为 8 节 AA 型电池 对模型车的深入研究 不仅可以加强我们对机电一体化产品的理解 还能使我们从中 领悟到一些有关电动汽车理论的真谛 本文主要研究 MCU 模型车的结构组成与工作原理 建立 MCU 模型车的几何模型 运动学模型及动力学模型 并对其进行理论分析和研究 调试 MCU 模型车的基本性能 通过实验研究 MCU 模型车在指定轨道上稳定运行的程序及对模型车运行造成影响的因 素 关键词关键词 MCU 模型车 原理 模型 程序 AbstractAbstractAbstractAbstract The Micom car of Renesas is a model of car which has the CPU board of Renesas with which you can design and input independent program and it has the function of distinguishing the course automaticly The Micom car reads the white central line when it runs in the middle of the course The construction of the Micom car consists of two parts One part which is controlled by the program is made up by the sensors in front of the Micom car which read the information of the course and convey it to the main controller The other part which is the mechanical section is comprised of motors gears tyres servo and so on 8 pieces of secondary AAbatteries are used as the source of the power The research of the Micom car not only can enhance our understanding with the products of mechatronics but also can make us grasp some theories about the motor car This article mainly discusses the composition and the principle of the Micom car establishes the geometric model dynamic model and kinematic model of the Micom car debugs the basical capabilities of the Micom car writes the program which makes the Micom car run stabily on the course and analyses the factors that affect the process of running KeywordsKeywordsKeywordsKeywords Micom Car principle model procedures 郑州大学机械工程学院 II 目录目录目录目录 摘要 Abstract 1引言 1 2MCU 模型车的结构组成及工作原理 2 2 1 传感器基板 2 2 2 传感器子基板 3 2 3 CPU 主板 4 2 4 马达驱动电路 5 2 5 伺服舵机控制电路 8 2 6 发光二极管电路 9 2 7 开 关电路 10 2 8 电源 10 3MCU 模型车的几何模型 运动学模型和动力学模型分析 11 3 1 模型车几何模型的建立与分析 11 3 2 模型车动力学模型的建立与分析 12 3 3 模型车运动学模型的建立与分析 16 4MCU 模型车在指定轨道上运行的程序设计 18 5影响 MCU 模型车稳定运行的因素 32 6结论 34 致谢 35 参考文献 36 1 1 1 1引言引言引言引言 郑州大学机械工程学院 2 MCU 模型车的设计与制作起源于由日本社团法人全国高中协会等主办的 JAPAN MCU 模型车大赛 英文 Japan Micom Car Rally 目前这项赛事已经在日本成功举办 了十余届 由于这项大赛的科技层次较高 并且具有很强的竞争性和观赏性 如今 JAPAN MCU 模型车大赛 已经成为日本国内的全国性重大赛事 2007 年 由瑞萨科技冠名赞助的 瑞萨超级 MCU 模型车大赛 首次在北京举行 并 被教育部列为 全国大学生 IT int i for i 0 i 1 ret in in 1 return ret 郑州大学机械工程学院 21 函数中 变量 in 是位转换前的 8 位二进制数值 变量 ret 是经过位转换后函数的 返回值 该函数的功能是将 8 位二进制数的前后对称的二进制位两两互换 其实现过程如 下 先将变量 ret 右移一位 使第 7 位为 0 第 0 位消失 随后 对变量 ret 的第 7 位与输 入变量in 的第 7 位进行或操作 并将取或后的值存到前者中 由于 ret 的第 7 位通常为 0 因此 或操作后 变量 ret 的第 7 位中存放的值就是输入参数 in 的第 7 位的值 最后 将 变量 in 左移一位 结束一次循环 如此循环 8 次后 就能实现函数预定的位转换功能 2 传感器状态读取函数 unsigned char sensor inp unsigned char mask unsigned char sensor sensor P7DR sensor bit change sensor sensor return sensor 因为传感器子基板的输出端与 CPU 主板的接口 7 相连 所以传感器值由接口 7 输入 并将该值存放到变量 sensor 中 函数的输入参数 mask 可以限制传感器的输入状态 将制 定的传感器位覆盖为 0 由于如今的传感器基板的第 0 位在最左侧 第 7 位在最右侧 与 之前的传感器基板相反 为了保持其兼容性 变量 sensor 中的值经过位转换后再次存储 到 sensor 中 经过位转换后的传感器值与函数的输入参数 mask 进行与操作 最终就可得 到需要的传感器状态值 并存放到变量 sensor 中 作为返回值 3 interrupt timer0 函数 void interrupt timer0 void ITU0 TSR cnt0 cnt1 该函数通过中断产生 1ms 的时间间隔来执行 变量 cnt0 和 cnt1 的值分别增加 1 由 于 interrupt timer0 函数执行一次需要 1ms 因此可以通过检测主程序中 cnt0 或 cnt1 的值 来测量所持续的时间 变量 ITU0 TSR 表示计时器状态寄存器 它与 0 xfe 执行与操作 并将结果保存到前者中 相当于将 ITU0 TSR 的第 0 位置 0 之所以要在函数中编写这 一句 是因为当中断产生时 ITU0 TSR 的第 0 位可以自动地变为 1 但是却不会再自动 的由 1 变为 0 因此要利用与操作使第 0 位置 0 为下一次操作做准备 4 等待计时器函数 void timer unsigned long timer set cnt0 0 While cnt0 timer set 改变函数输入参数 timer set 的值 可以改变等待计时器的工作时间 例如 取输入参 数 timer set 的值为 1000 全局变量 cnt0 首先被初始化为 0 接着执行 while 语句 程序转 到 cnt0 被操作的地方 由于执行 interrupt timer0 函数而产生的 1ms 中断将使 cnt0 的值增 加 1 然后 再次执行 while 语句 如此往复循环 直至 cnt0 的值为 1000 时终止 最后可 郑州大学机械工程学院 22 以得出等待计时器函数的工作时间为 1000 毫秒 即 1s 5 横白线检测函数 int check crossline void unsignde char b int ret ret 0 b sensor inp MASK2 2 if b 0 x66 b 0 x64 b 0 x26 b 0 x62 b 0 x46 ret 1 return ret 该函数为无参数函数 主要用来判断是否已经检测到直角弯道前具有提示作用的第一 条横白线 如果检测到横白线 返回值为 1 相反 如果没有检测到横白线 则返回值为 0 函数中 首先将作为返回值的变量 ret 置 0 认为没有检测到横白线 然后 读取经 MASK2 2 掩盖后的传感器状态 并将该状态值存入变量 b 中 也就是说 除了左侧中间 两个和右侧中间两个传感器的数据能正常使用外 其余各位传感器输出值均被置为 0 当变量 b 中传感器的输入状态满足 if 语句中列举的几种状态中的一种时 就可以认为已经 检测到横白线 变量 ret 置为 1 否则 变量 ret 仍为 0 认为没有检测到横白线 6 DIP 开关状态读取函数 unsigned char dipsw get void unsigned char sw sw P6DR sw return sw 由于 DIP 开关与接口 6 相连 故从接口 6 读取数据 如果 DIP 开关关闭 则接口数据 为 1 如果 DIP 开关打开 则接口数据为 0 因为关闭与 0 对应 而打开与 1 对应 更容易理解 因此这里采用符号 对 DIP 开关的状态值进行取反 并将其存放 到变量 sw 中 称为 逻辑否定 由于 DIP 开关只有 4 位 所以这里采用 sw 与 0cf0 的与操作将变量 sw 的前 4 位屏蔽 最后 将变量 sw 作为函数的返回值 7 按钮开关状态读取函数 unsigned char pushsw get void unsigned char sw sw PBDR sw return sw 接口 B 的第 0 位用来读取按钮开关的状态数据 如果按钮没被按下 数据为 1 相 反 如果按钮被按下 则数据为 0 这里同样采用符号 对按钮开关的状态值取反 以便符合人们的思维习惯 容易理解 由于按钮开关的状态值只有一位 因此需要使用语 句 sw led led led 0 左马达 PBDR ITU3 BRB speed max accele l 100 else PBDR 0 x04 accele l accele l ITU3 BRB speed max accele l 100 if accele r 0 右马达 PBDR ITU4 BRA speed max accele r 100 else PBDR 0 x08 accele r accele r ITU4 BRA speed max accele r 100 与其它函数不同 该函数无返回值 由于左右马达的速度控制为 PWM 控制 而 PWM 的值又受到模型车 CPU 主板上 DIP 开关状态的限制 因此 函数中首先调用 dipsw get 函数 来获得 CPU 主板上 DIP 开关的状态值 并将其值加 5 后存放到变量 sw data 中 这样变量 sw data 的值就位于 5 至 20 之间 并取决于 DIP 开关的状态值 在运用变量 sw data 计算马达的最大速度时 由于计算过程中 数值较大 可能会造成溢出 而使结 果发生错误 因此 暂时将其定为无符号变量 来防止发生溢出 保证结果的正确性 左马达的转速控制过程如下 首先检测输入参数 accele l 是否大于等于 0 如果大于 等于 0 的话 则将接口 B 的第 2 位置 0 使马达正转 接着 计算左马达的工作比率 虽 然 工作比率的设置似乎是靠通用寄存器 B 来完成的 而实际上 在程序中是靠缓冲寄存 器 B ITU3 BRB 来实现的 要注意 通过速度函数设置的比率并不直接输出到马达 而是将 DIP 的比率 速度函数设置的比率 输出到马达作为控制信号 如果 accele l 小 郑州大学机械工程学院 24 于 0 的话 则将接口 B 的第 2 位置 1 使马达反转 随后将输入参数 accele l 取相反数 然后再进行工作比率的计算 其计算方法与正转时的算法相同 对于右马达的转速控制分析 与左马达非常相似 不同之处为 控制右马达正 反转 的信号由接口 B 的第 3 位输出 并且对右马达工作比率的设置是依靠 ITU4 BRA ITU4 寄存器中的缓冲寄存器 A 来实现的 10 伺服舵机转角控制函数 void handle int angle ITU4 BRB SERVO CENTER angle HANDLE STEP 伺服舵机与接口 B 的第 5 位相连 由于采用了复位同步脉宽调制模式 改变缓冲寄存 器 B ITU4 BRB 的值就可以改变 PB5 的工作比率 从而改变舵机的转角值 SERVO CENTER 是伺服舵机的中心值 其对应舵机的转角值为 0 度 存放在输入参数 angle 中的唯一转角值是舵机由 0 度开始 需要转动的角度 其实现方法为 在中心值的 基础上增加或减少相应的值 并存放到 ITU4 BRA 中 然而 缓冲寄存器 B ITU4 BRB 中的一个单位并不代表一度 在变量 HANDLE STEP 中 存放着 1 度转角所对应的值 因此 需要将变量 angle 与变量 HANDLE STEP 相乘后 再在 SERVO CENTER 的基础上 进行加减 11 初始化函数 void init void P1DDR 0 xff I O 接口设置 P2DDR 0 xff P3DDR 0 xff P4DDR 0 xff P5DDR 0 xff P6DDR 0 xf0 P8DDR 0 xff P9DDR 0 xf7 PADDR 0 xff PBDR 0 xc0 PBDDR 0 xfe ITU0 TCR 0 x23 ITU0 每一秒产生一次中断 ITU0 GRA TIMER CYCLE ITU0 IER 0 x01 ITU3 TCR 0 x23 左右马达和伺服舵机的 ITU3 ITU FCR 0 x3e ITU4 复位同步脉宽调制模式 ITU3 GRA PWM CYCLE ITU3 GRB ITU3 BRB 0 ITU4 GRA ITU4 BRA 0 ITU4 GRB ITU4 BRB SERVO CENTER ITU TOER 0 x38 郑州大学机械工程学院 25 ITU 开始计时 ITU STR 0 x09 I O 接口是输入 输出接口的简称 是执行输入和输出操作的地方 这里共有 11 个接 口 分别为接口 1 至接口 B 其中 大部分接口为 8 位 也有一些是少于 8 位的 例如 接口 5 只有 4 位 接口 6 只有 7 位 接口 8 只有 5 位 接口 9 只有 6 位 这些接口分别 由 DDR 寄存器和 DR 寄存器组成 但是 要注意接口 7 是一个多余的输入接口 没有相 关的 P7DDR 寄存器 DDR 是 数据方向寄存器 的简称 它决定输入 输出的方向 二进制位为 0 时 表示相应的引脚为输入引脚 二进制位为 1 时 表示相应的引脚为输出引脚 以 程序中的 PBDDR 0 xfe 语句为例进行分析 它是对接口 B 各引脚进行的输入 输出设 置 将十六进制数 0 xfe 转换成二进制数为 1111 1110 它表示接口 B 的第 1 位至第 7 位 引脚均为输出引脚 只有第 0 位引脚为输入引脚 DR 是 数据寄存器 的简称 它可以将数据输出到引脚或从引脚输入 对于被设置 为输入接口 DDR 0 的引脚 通过读取数据寄存器 DR 中的数据来获得引脚的电压水平 输入给引脚的电压为低电平时 数据寄存器 DR 中相应的二进制位为 0 输入给引脚的 电压为高电平时 数据寄存器 DR 中相应的二进制位为 1 而对于被设置为输出接口 DDR 1 的引脚 通过向 DR 写入数据来输出引脚的电压水平 从引脚输出的电压为低 电平时 向数据寄存器 DR 中相应的二进制位写入 0 从引脚输出的电压为高电平时 向数据寄存器 DR 中相应的二进制位写入 1 因此 程序中的 PBDR 0 xco 语句表 示 接口 B 的引脚 6 和引脚 7 为高电平 其余引脚均为低电平 下面以表格的形式介绍一下接口 B 所连接的具体信号及其作用 以便对程序中为何如 此设置 PBDDR 和 PBDR 的初始值有所了解 马达驱动基板 接口引脚 信号方向具体信号内容二进制值 0 代表的意义 二进制值 1 代表的意义 1 5V 2PB7 至基板发 光 二 极 管 LED1 接通断开 3PB6 至基板发 光 二 极 管 LED0 接通断开 4PB5 至基板伺服舵机信号PWM 信号 5PB4 至基板右马达 PWM停止PWM 运动 6PB3 至基板右马达旋转方 向 正转反转 7PB2 至基板左马达旋转方 向 正转反转 8PB1 至基板左马达 PWM停止PWM 运动 9基板至 PB0按钮按下未按下 10接地 初始化程序的后一部分是对 ITU0 寄存器进行设置 使其每隔 1ms 就产生一次中断 并设置左 右马达和伺服舵机的 PWM 生成方式 程序中 ITU0 TCR 计时器控制寄存器 首先被初始化为 0 x23 随后又令 ITU0 GRA TIMER CYCLE 其意义为 ITU0 CNT 计时计数器 可以与 ITU0 GRA 郑州大学机械工程学院 26 通用寄存器 A 进行比较 而 ITU0 CNT 每隔特定的一段时间 其值就会增加 1 当满 足条件 ITU0 CNT ITU0 GRA 1 时 也就是说 经过 ms 后 ITU0 CNT 的自身值 将会再次被置为 0 为下一次定时计数做准备 ITU0 IER 是计时器中断允许寄存器 ITU0 IER 0 x01 表示允许寄存器产生中断 程序最后的 ITU STR 是计时器开始寄存 器 将其初始化为十六进制数 0 x09 可以命令计时器开始计时 控制左 右马达和伺服舵机的 PWM 生成方式为复位同步脉宽调制模式 该模式采用 ITU3 寄存器和 ITU4 寄存器 通过结合输出 3 组触发的 PWM 波形 而且 这 3 组 PWM 波形的反波形也同时被输出 但是 必须保证 3 组波形的周期均相同 因此 程序中首先 将 ITU3 TCR 设置为十六进制数 0 x23 即允许 ITU3 CNT 与 ITU3 GRA 进行比较 而 ITU3 CNT 与 ITU0 CNT 一样 每隔相同的一段时间 其值就会增加 1 又由于 ITU3 GRA PWM CYCLE 因此当满足条件 ITU3 CNT ITU3 GRA 1 时 已经过 16ms 的时间 这个时间就是 3 组 PWM 波形共同具有的循环周期 程序中 语句 ITU TOER 0 x38 表明 对左 右马达和伺服舵机进行 PWM 控制的三组 PWM 波形是 分别从接口 PB1 PB4 和 PB5 输出的触发产生的 PWM 波形的反波形 改变缓冲寄存器 ITU3 BRB ITU4 BRA 和 ITU4 BRB 的值就可以改变通用寄存器 ITU3 GRB ITU4 GRA 和 ITU4 GRB 的值 从而分别实现对左 右马达和伺服舵机的 PWM 控制 其中 当 ITU3 CNT ITU3 GRB 1 时 PB1 的输出信号开始翻转 当 ITU3 CNT ITU4 GRA 1 时 PB4 的输出信号开始翻转 当 ITU3 CNT ITU4 GRB 1 时 PB5 的输出信号开始 翻转 所以 改变上述通用寄存器的值就可以达到改变脉宽工作比率的目的 而当 ITU3 CNT ITU3 GRA 1 时 ITU3 CNT 清 0 为下一个循环周期做准备 在介绍上述各函数时 用到了许多接口寄存器 必须先对这些接口寄存器进行定义 才能在程序中调用它们 从而保证程序的正确运行 H8 3048F ONE 芯片中 对这些具有 内置外围功能的 I O 寄存器的定义保存在名为 h8 3048 h 的文件中 见附件 这里只 介绍一些对于有关 I O 寄存器定义的理解 以程序中的语句 define PADDR unsigned char 0 xfffd1 为例 其意义是 无论何时 只要程序中出现字符串 PADDR 它都将 会被字符串 unsigned char 0 xfffd1 代替 字符串 unsigned char 0 xfffd1 中的批号 0 xfffd1 代表具有内置外围功能 包括 I O 接口 的 I O 寄存器被分配到存储器中 的地址 而存储到存储器地址中的值将作为要输出或输入的信号 至此 编写 MCU 模型车在指定轨道上运行的主程序及对模型车各部分组件进行检测 的测试程序所需的准备工作已大体完成 利用上述各函数所能实现的功能及对模型车几何 模型 动力学模型 运动学模型的分析 我们可以得出模型车在当前传感器显示的状态下 理论上应该实现的动作 并用 C 程序语句表达出来 这样就完成了主程序的大体结构设 计 然而 由于模型车在赛道上运行时可能出现的情况较多 必然会使理想的主控制程序 的整体结构变得较为复杂 一般需要经过多次的调试和修改才能使其满足控制要求 同时 程序中调用马达速度控制函数和伺服舵机转角控制函数时 其最优参数的确定同样离不开 实验的校核与修正 因此 主控制程序具体内容的确定及完善必须以实验结果为准则 模型车的主控制程序基本上可以分为以下几块内容 各程序块之间主要 靠 switch pattern 语句进行有机的连接 1 等待按钮开关输入 这是主体运行程序开始执行前的等待过程 该过程可以无限运行 直至按钮开关被按 下 当开关未被按下时 执行该部分程序 使发光二极管 LED0 和 LED1 交替闪烁 每个 发光二极管闪烁的时间间隔为 0 1s 这样 只通过简单的观察 就可以清楚地判断出整个 程序正处在等待阶段 如果开关被按下 则程序的流程转向下一阶段 准备执行主体运行 程序 可用下面的程序语句来实现该等待过程 郑州大学机械工程学院 27 case 0 if pushsw get pattern 1 cnt 0 break if cnt1 100 led out 0 x1 else if cnt1 200 led out 0 x2 else cnt1 0 break 2 按钮开关按下后等待一秒钟 之所以要在按钮被按下后 等待一段时间再执行轨迹控制程序 是为了避免按钮被按 下后 模型车立即快速行驶 可能会与按按钮的手相撞 从而破坏模型车的正常运行轨迹 由于盲目的等待总会让人感到焦虑 担心模型车是否出现故障 因此用两个发光二极管分 别闪亮 0 5 秒来指示这 1s 的等待过程 用 C 语句表示为 case 1 if cnt1 500 led out 0 x1 else if cnt1 50 郑州大学机械工程学院 29 cnt1 0 pattern 23 break case 23 制动过程 if cnt1 50 cnt1 0 pattern 24 break switch sensor inp MASK3 3 case 0 x00 handle 0 speed 0 0 break case 0 x04 handle 0 speed 0 0 break case 0 x06 case 0 x07 case 0 x03 handle 8 speed 20 18 break case 0 x20 handle 0 speed 0 0 break case 0 x60 case 0 xe0 case 0 xc0 handle 8 speed 18 20 break default break break case 24 转向过程 switch sensor inp MASK3 3 case 0 xe0 led out 0 x1 handle 44 speed 13 30 郑州大学机械工程学院 30 pattern 31 cnt1 0 break case 0 x07 led out 0 x2 handle 44 speed 30 13 pattern 41 cnt1 0 break case 0 x00 handle 0 speed 0 0 break case 0 x04 case 0 x06 case 0 x03 handle 8 speed 20 18 break case 0 x20 case 0 x60 case 0 xc0 handle 8 speed 18 20 break default break break case 31 左直角弯转向时间控制 if cnt1 450 pattern 32 cnt1 0 break case 32 左直角弯结束 if sensor inp MASK3 3 0 x60 led out 0 x0 pattern 11 cnt1 0 break case 41 右直角弯转向时间控制 郑州大学机械工程学院 31 if cnt1 450 pattern 42 cnt1 0 break case 42 右直角弯结束 if sensor inp MASK3 3 0 x06 led out 0 x0 pattern 11 cnt1 0 break 要特别注意的是 不仅在普通运行轨迹中要随时检测是否会遇到标志着直角弯道的横 白线 而且还要在急转圆弧弯道结束的时候检测是否有直角弯道与急转弯道直接相连 只 有这样 才能保证模型车在各种赛道情况下均能顺利的运行 综上所述 我们可以得到模型车在指定赛道上运行的主控制程序的主体构架 不过 其具体内容还需要通过实验来进行进一步的校正和修改 至此 主程序中还缺少许多相关 的数据值 它们同样是整个程序的主体部分 更是整个程序的灵魂所在 而这些都需要经 过多次的实验和比较才能获得 由于受赛道摩擦系数的限制 模型车的DIP 开关取值为 1000 也就是说 即使在程序中输入马达速度的比率为 100 模型车所具有的真实速 度值也只有其最大速度值的 65 经过在指定赛道上进行的多次实验 最终得到了较理想 的程序结构和参数值 其具体内容参看附件 相对于 MCU 模型车的主控制程序而言 其测试程序的结构和内容要简单的多 此处 不再做分析 测试程序的具体内容详见附件 郑州大学机械工程学院 32 5 5 5 5影响影响影响影响 MCUMCUMCUMCU 模型车稳定运行的因素模型车稳定运行的因素模型车稳定运行的因素模型车稳定运行的因素 经理论推导和实验分析可知 影响 MCU 模型车稳定运行的因素有很多 限制或改善 这些因素 对于同时提高模型车的运行速度和运行稳定性具有十分重要的意义 首先 从模型车的自身结构出发 对影响其稳定运行的因素进行分析 这些因素主要 是模型车各部分在运行过程中的响应速度 其中包括 传感器基板的响应速度 伺服舵机 的响应速度和后轮转速的响应速度等 传感器基板是整个模型车系统的起始端 其响应的快速性决定了 MCU 模型车系统对 赛道信息读取的快慢程度 传感器的响应速度越快 越有利于 MCU 模型车对识别的赛道 提前采取响应动作 防止在高难度弯角处冲出赛道 传感器基板下还有两个对传感器基板 起支撑作用的摩擦片 用来防止传感器基板上的元器件在模型车运行过程中磨损 又由于 传感器采用接收反射光线的原理来读取赛道信息 所以当摩擦片太高时 可能会使光传感 器 S7136 的接收面无法接收到反射回来的光线 致使对赛道信息造成错误的识别 并使模 型车产生误动作 同时 其与赛道表面的摩擦力大小还会在一定程度上影响模型车的运行 速度 伺服舵机是控制模型车转向的机构 是模型车的重要组成部分 其响应速度的快慢 对能否保证模型车及时调整自身位置并顺利通过各种复杂弯道有着至关重要的作用 然 而 伺服舵机响应的快速性又同时受到伺服舵机自身特性 传感器基板重量 连接机构的 摩擦力及转向摩擦力等多方面因素的影响 左 右后轮转速响应的快速性是保证模型车稳 定运行的关键所在 由于后轮是靠齿轮与马达相连的 如图 25 所示 即使在马达的响应 速度满足要求的条件下 改变马达转速使其发生较大变化时 也可能会造成齿轮在短时间 内脱离啮合状态 致使车轮速度不能及时改变 尤其是在直角弯道处 必须使模型车在很 短的时间内就达到制动要求 才能保证其不冲出赛道 此时 对车轮转速响应的快速性要 求较高 图 25 其次 从模型车所处的外界条件 即指定的具有明显黑白条纹的赛道 出发 对影响 其稳定运行的因素进行分析 模型车轮胎与赛道的摩擦系数大小对于能否保证模型车顺利地通过各种复杂的弯道 具有很大的影响 尤其对与较长直道连接的弯道 较大的摩擦力显得更为重要 如果摩擦 力太小 模型车受到进入弯道前初速度的影响 可能会使车身在转向时发生漂移 直接将 车尾甩出赛道 最后 从控制模型车运行的主控制程序出发 对影响其稳定运行的因素进行分析 由于模型车的运行是靠程序进行控制的 因此 程序结构的恰当与否及参数值的最优 化问题必然是对模型车运行稳定性造成影响的主要因素之一 而对于该因素的改善 除了 要对程序进行理论上的细化分析外 还要通过实验来对其具体内容进行修正和校核 以上所述 即为影响 MCU 模型车在指定赛道上稳定运行的各种主要因素 然而 这 郑州大学机械工程学院 33 些影响因素中有许多是不易改善的 为了提高模型车在赛道上运行的稳定性 可以采用加 大传感器基板与伺服舵机之间距离的方法 使模型车提前识别的赛道长度更长 给模型车 充足的时间来产生响应动作 但是 这个最佳距离的确定要以模型车的运行速度 赛道摩 擦系数及模型车各部分的响应速度等因素为准则 郑州大学机械工程学院 34 6 6 6 6结论结论结论结论 综上所述 我们已经完成了对 MCU 模型车的结构分析和理论研究 并在运动过程中 为模型车建立了相关的数学模型 最终通过可靠的理论分析及实验修正得到了模型车在指 定赛道上顺利运行的优化控制程序 事实上 对于模型车各项内容的研究 具有十分重要的实际意义 首先 对模型车结构组成及工作原理的研究 不仅有助于我们独立运用所学的电工知 识自行设计能够实现指定功能的电子电路并改善模型车的内部结构 而且有利于提高我们 解决实际问题的能力 MCU 模型车是一个比较完整的电子控制系统 其各部分控制功能 的实现主要依靠控制电路来完成 而模型车的控制电路中又以马达控制电路最为典型 也 最为复杂 马达转速的控制方法为 PWM 控制 而其正 反转及刹车的控制主要靠由四个 FET 组成的 H 桥电路来实现 对于该电路的理解和研究 可以为今后设计相关的马达控 制电路奠定良好的基础 同时 模型车的整个控制电路中还存在许多稳压元件 这对于保 障电路安全有效的工作具有重要作用 其次 在运动过程中为模型车建立相关的几何模型 运动学模型以及动力学模型 可 以便于我们对模型车的整个运动过程进行全面的分析和研究 对模型车运动过程中各种数 学模型的描述和分析 能让我们从理论上获得模型车运行的各种极限状况及其最优路径 并采取相关的措施对其加以控制 而且 对模型车运动过程的建模分析 还可以提高我们 对运动模型的建模能力 从理论上正确地认识模型的运动过程 最后 为模型车编写相应的控制程序是整篇论文最为主要的研究部分 模型车的控制 程序为 C 语言程序 它是整个 MCU 模型车的灵魂所在 好的控制程序可以使模型车在 运行过程中兼备高速性和稳定性 并能减少误动作的发生 但是 应该注意 程序的设计 还应该考虑到那些影响模型车稳定运行的因素 而实验则是检验模型车控制程序优劣的最 佳途径 通过对模型车控制程序的编写和修改 不仅提高了我的编程水平 而且还锻炼了 我的实践能力 至此 毕业设计的主体内容已基本完成 通过对 MCU 模型车的分析与研究 使我接 触了许多以前未曾涉足过的新事物 并有机会将所学的理论知识应用到实践 在经过多次 实验后 我得到了完全可靠的程序结构 并对程序中的参数进行了优化 完全有能力保证 模型车在任何指定的赛道上以较高的速度稳定运行 郑州大学机械工程学院 35 致谢致谢致谢致谢 本文是在刘广瑞副教授的悉心指导下完成的 在我进行毕业设计期间 每当遇到学术 上的困难时 刘老师总是耐心的为我讲解 并指导我应该如何下手去分析并解决问题 同 时 刘老师还为我提供了难得的实验条件 使我能在实践中更好地理解毕业设计的核心内 容 在此 我真心的感谢刘广瑞老师对我的关心和帮助 是您在我大学的最后
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中九年级数学教案教学设计一元二次方程地根与系数关系
- 《普通动物学》总结模版
- 建筑施工事故安全管理体系
- 抗肿瘤药物临床应用指导原则全文
- 园林法律法规试题及答案
- 银行社招ai面试题库及答案
- 艺术类国企面试题目及答案
- 区域生态循环农业项目可行性研究报告
- 修路公务员面试题及答案
- 影视器材运输保险服务与定制保险箱租赁协议
- (完整版)农业主要知识点
- 体育科研方法试卷试题答案
- 《国家电网公司十八项电网反事故措施(试行)》实施细则
- 射线检测操作指导书
- 中国民主同盟入盟申请表(样表)
- 国家标准色卡电子版(WORD版图片)
- 9种基坑坍塌案例
- 《呼吸机的使用管理》PPT课件.ppt
- 《手机摄影》全套课件(完整版)
- 年产10万吨甲醇低压羰基化合成醋酸精制工段工艺设计(共56页)
- 儿童相声剧本43286
评论
0/150
提交评论