直流电机PID自动控速_第1页
直流电机PID自动控速_第2页
直流电机PID自动控速_第3页
直流电机PID自动控速_第4页
直流电机PID自动控速_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

重庆科技学院课程设计报告 设计任务书 I 重庆科技学院重庆科技学院 课程设计任务书课程设计任务书 设计题目 基于单片机的转速控制系统设计 学生姓名雷阳斌 课程名称智能义器义表设计与调试专业班级测控普 07 地 点实验楼 I512起止时间2010 6 21 至 2010 7 2 设 计 内 容 及 要 求 要求设计的转速控制系统完成以下功能 1 基本功能 按键设定并显示转速 实时显示实际转速 按键控制电机起停 正反转 PWM 转速闭环控制 设 计 参 数 1 转速调节范围 1500 转 分 3000 转 分 2 测速误差 10 进 度 要 求 1 布置任务 方案设计 硬件设计 1 天 2 画电路图 1 天 3 软件设计 画流程图 1 天 4 程序设计和调试 6 天 5 设计验收 撰写报告 1 天 详见进度安排表 参 考 资 料 1 程德福 智能义器 机械工业出版社 2009 9 2 胡文金 单片机系统实训教程 重庆 重庆大学出版社 2005 3 林金阳 基于MC51单片机的直流电机PWM调速系统 长春工程学院学报 自然科学版 2009年第10卷第3期 其 它 说 明 本表应在每次实施前一周由负责教师填写二份 院系审批后交院系办备案 一 份由负责教师留用 若填写内容较多可另纸附后 3 一题多名学生共用的 在 设计内容 参数 要求等方面应有所区别 重庆科技学院课程设计报告 II 教研室主任 指导教师 钟秉翔 张义 辉 重庆科技学院课程设计报告 I 摘要摘要 在工业自动控制系统和各种智能产品中常常会用用电动机进行驱动 传动 和控制 而现代智能控制系统中 对电机的控制要求越来越精确和迅速 对环 境的适应要求越来越高 本设计以 AT89C51 单片机为核心 以独立键盘做为输入达到控制直流电机 的启停 速度 完成了基本要求和发挥部分的要求 在设计中采用 PWM 技术和 PID 控制技术对电机进行控制 通过对占空比的计算达到精确调速的目的 还 利用了 Labview8 5 做为上位机对电机的实时转速显示监控和用它来给电机设定 转速 关键词 AT89C51 直流电机 PID 控制 Labvie 重庆科技学院课程设计报告 2 ABSTRACT In the industrial automation systems and a variety of smart products are often used to drive the motor transmission and control and modern intelligent control system for motor control requirements become more accurate and rapid meet the increasing demands on the environment high The design of AT89C51 microcontroller as the core to separate the keyboard as input to control DC motor start and stop speed and the completion of the basic requirements and the requirements to play a part PWM technique used in the design and PID control technology to control the motor through the calculation of duty cycle to achieve accurate speed control purposes Also used as a host computer Labview8 5 real time speed display of motor control and use it to set the motor speed Keywords AT89C51 DC motor PID control Labview 重庆科技学院课程设计报告 3 目录目录 重庆科技学院课程设计报告 4 1 1 绪论 绪论 1 1课程设计题目 基于单片机的转速控制系统设计基于单片机的转速控制系统设计 1 2设计内容及要求 1 2 1 基本功能 按键设定并显示转速 实时显示实际转速 按键控制电机起停 正反转 PWM 转速闭环控制 1 2 2 扩展功能 实现与PC机的通讯 将转速的设定值和实测值发送到PC机显示 PC机可以 设定速度 发送到单片机 1 2 3 设计参数 转速调节范围 1500 转 分 3000 转 分 测速误差 10 1 3设计目的及意义 本课程是测控技术与仪器本科专业的重要实践课程 是 智能仪器仪表设 计技术 课程的一个综合性 设计性的实践环节 通过这门课程的学习与实践 能够提出仪器系统的设计思路 论证设计方案 熟悉智能仪器仪表开发 研制 的过程 软硬件设计方法和设计步骤 初步学会设计智能仪器仪表软硬件设计 及调试的方法 具备技术实现能力 基本上能够处理实践过程中出现的问题并 提出解决办法 提高理论付诸于实践的能力 提高工程设计能力和处理实际问 题的能力 开发和创新能力 重庆科技学院课程设计报告 5 2 总体方案规划 2 1直流电机控制原理及特点 对直流电机转速的控制即可采用开环控制 也可采用闭环控制 与开环控制 相比 速度控制闭环系统的机械特性有以下优越性 闭环系统的机械特性与开 环系统机械特性相比 其性能大大提高 理想空载转速相同时 闭环系统的静差 率 额定负载时电机转速降落与理想空载转速之比 要小得多 当要求的静差 率相同时 闭环调速系统的调速范围可以大大提高 直流电机的速度控制方案 如图 1 所示 图 1 直流电机速度控制方案 2 2直流电机调速控制方式选择 2 2 1 电阻网络或数字电位器 采用电阻网络或数字电位器调整电动机的分压 从而达到调速的目的 但 是电阻网络只能实现有级调速 而数字电阻的元器件价格比较昂贵 更主要的 问题在于一般电动机的电阻很小 但电流很大 分压不仅会降低效率 而且实 现很困难 驱动电路驱动电路调节器调节器直流电机直流电机 测速装置测速装置 转速设定值 偏差转速输出 重庆科技学院课程设计报告 6 2 2 2 继电器 采用继电器对电动机的开或关进行控制 通过开关的切换对小车的速度进 行调整 这个方案的优点是电路较为简单 缺点是继电器的响应时间慢 机械 结构易损坏 寿命较短 可靠性不高 2 2 3 达林顿组成的驱动芯片 采用由达林顿管组成的驱动电路 用单片机控制达林顿管使之工作在占空 比可调的开关状态 精确调整电动机转速 这种电路由于工作在管子的饱和截 止模式下 效率非常高 桥型电路保证了可以简单地实现转速和方向的控制 电子开关的速度很快 稳定性也极佳 是一种广泛采用的 PWM 调速技术 兼于上述三种方案调速特性优良 调整平滑 调速范围广 过载能力大 因 此本设计采用方案三 2 3 PWM 脉宽调制方式 调脉宽的方式有三种 定频调宽 定宽调频和调宽调频 采用了定频调宽方 式 因为采用这种方式 电动机在运转时比较稳定 并且在采用单片机产生 PWM 脉冲的软件实现上比较方便 2 4 直流电机速度获取方式 2 4 1 霍尔传感器 由图 2 可知 电机每转一圈 每一相霍尔传感器产生 2 脉冲 且其周期与电机 转速成反比 因此可以利用霍尔传感器信号得到电机的实际转速 为尽可能缩短 一次速度采样的时间 可测得任意一相霍尔传感器的一个正脉冲的宽度 则电机 的实际转速为 V N 30 V 速度 R min N 每秒采样的脉冲个数 电机转一圈 图 2 霍尔传感器信号 重庆科技学院课程设计报告 7 2 4 2 红外对管 由图 3 可知 电机每转一圈 红外对管产生 2 脉冲 因此可以利用红外对管传 感器信号得到电机的实际转速 为尽可能缩短一次速度采样的时间 则电机的实 际转速为 V N 15 电机转 1 圈 V 速度 R min N 每秒采样的脉冲个数 图3 红外对管信号 基于上述两种测速装置 从测量精度和价格上考虑 选择第二种测量方案 用红外对管来测量电机转速 2 5总体设计框图 本系统采用AT89C51作为控制核心 用独立键盘来选择控制模式和数码管来 显示设定转速和测量转速 由上述提供的方案和最后选择结果 则用达林顿管 组成的驱动芯片作为本系统的驱动电路和用红外对管作为该系统的测量电路 图 4 直流电机控制系统总体框图 AT89C51 单片机单片机 驱动电驱动电路路 直流电机直流电机 红外对管红外对管 键键 盘盘 LED 数码管数码管 显示单元显示单元 上位机上位机 重庆科技学院课程设计报告 8 2 6 人机界面设计 重庆科技学院课程设计报告 9 3 硬件设计 3 1 AT89C51 芯片介绍 3 1 1 芯片特点 AT89C51是美国ATMEL公司生产的低电压 高性能CMOS8位单片机 片 内含4k bytes的可反复擦写的只读程序存储器 PEROM 和128 bytes的随机存 取数据存储器 RAM 器件采用ATMEL公司的高密度 非易失性存储技术 生产 兼容标准MCS 51指令系统 片内置通用8位中央处理器 CPU 和Flash 存储单元 功能强大AT89C51单片机可为您提供许多高性价比的应用场合 可 灵活应用于各种控制领域 重庆科技学院课程设计报告 10 图 5 AT89C51 引脚图 与MCS 51产品指令系统完全兼容 4k字节可重擦写Flash闪速存储器 1000次擦写周期 全静态操作 0Hz 24MHz 三级加密程序存 128 8字节内部RAM 32个可编程I O口线 2个16位定时 计数器 6个中断源 可编程串行UART通道 低功耗空闲和掉电模式 3 1 2 芯片功能概述 AT89C51 提供以下标准功能 4k 字节Flash 闪速存储器 128字节内部 RAM 32 个I O 口线 两个16位定时 计数器 一个5向量两级中断结构 一个全双工串行通信口 片内振荡器及时钟电路 同时 AT89C51可降至0Hz 的静态逻辑操作 并支持两种软件可选的节电工作模式 空闲方式停止CPU的 工作 但允许RAM 定时 计数器 串行通信口及中断系统继续工作 掉电方 式保存RAM中的内容 但振荡器停止工作并禁止其它所有部件工作直到下一个 硬件复位 AT89C51 有两种可用软件编程的省电模式 它们是空闲模式和掉电工作模 式 这两种方式是控制专用寄存器PCON 即电源控制寄存器 中的 PD PCON 1 和IDL PCON 0 位来实现的 PD 是掉电模式 当PD 1 时 激活 掉电工作模式 单片机进入掉电工作状态 IDL是空闲等待方式 当IDL 1 激 活空闲工作模式 单片机进入睡眠状态 如需同时进入两种工作模式 即PD和 IDL同时为1 则先激活掉电模式 在空闲工作模式状态 CPU保持睡眠状态而所 有片内的外设仍保持激活状态 这种方式由软件产生 此时 片内RAM和所有特 重庆科技学院课程设计报告 11 殊功能寄存器的内容保持不变 空闲模式可由任何允许的中断请求或硬件复位 终止 终止空闲工作模式的方法有两种 其一是任何一条被允许中断的事件被 激活 IDL PCON 0 被硬件清除 即刻终止空闲工作模式 程序会首先响应中 断 进入中断服务程序 执行完中断服务程序并紧随RETI 中断返回 指令后 下一条要执行的指令就是使单片机进入空闲模式那条指令后面的一条指令 其 二是通过硬件复位也可将空闲工作模式终止 需要注意的是 当由硬件复位来 终止空闲工作模式时 CPU 通常是从激活空闲模式那条指令的下一条指令开始 继续执行程序的 要完成内部复位操作 硬件复位脉冲要保持两个机器周期 24个时钟周期 有效 在这种情况 重庆科技学院课程设计报告 I 下 内部禁止CPU访问片内RAM 而允许访问其它端口 为了避免可能对端口产 生意外写入 激活空闲模式的那条指令后一条指令不应是一条对端口或外部存 储器的写入指令 在掉电模式下 振荡器停止工作 进入掉电模式的指令是最 后一条被执行的指令 片内RAM 和特殊功能寄存器的内容在终止掉电模式前被 冻结 退出掉电模式的唯一方法是硬件复位 复位后将重新定义全部特殊功能 寄存器但不改变RAM中的内容 在Vcc恢复到正常工作电平前 复位应无效 且 必须保持一定时间以使振荡器重启动并稳定工作 3 2 电机驱动电路设计 3 2 1 ULN2003D 芯片介绍 ULN2003D 高压大电流达林顿晶体管阵列系列产品就属于这类可控大功率 器件 由于这类器件功能强 应用范围语广 常用于自动化密集的的场合 ULN2003D 是一个 7 路反向器电路 即当输入端为高电平时 ULN2003 输出 端为低电平 当输入端为低电平时 ULN2003 输出端为高电平 继电器得电吸 合 如图 6 所示 图 6 ULN2003D 逻辑图 重庆科技学院课程设计报告 13 VCC MG1 MOTOR AC OUT0 0 OUT1 1 OUT2 2 OUT3 3 OUT4 4 OUT5 5 OUT6 6 OUT7 7 GND 8 IN0 9 IN1 10 IN2 11 IN3 12 IN4 13 IN5 14 IN6 15 IN7 16 VCC 17 U3 ULN2003D VCC 12 U1A SN74LS14 动动动动动动 3 2 2 ULN2003D 构成的单向驱动电路设计 单片机输出的电机控制信号由 74LS14 与非门把输出信号反向再输入 ULN2003D 芯片的输入端 由对应的输出端控制电机 图 7 电机驱动电路 3 3 按键模块设计 按键模块由三个独立按键组成 它们分别控制电机的速度增加 减小 停 止 电机状态的设定要点是按键的去抖动处理 软件法去抖动的实质是软件延 时 即检测到某一键状态变化后延时一段时间 再检测该按键的状态是否保持 着 如是则作为按键处理 否则 视为抖动 不予理睬 去抖动的延时时间一 般参考资料多描述为 20ms 左右 在实际应用中应大于 20ms 否则 会导致按 一次多处理 影响程序正常执行 图 8 按键接口电路 3 4 数码管显示模块设计 数码管主要是用于数字的显示 数码管有共阴和共阳的区分 单片机都可 以进行驱动 但是驱动的方法却不同 四位数码管循环电路是由 1K 的电阻 IN4148 二极管和数码管组成 电源 5V 通过 560 的电阻直接给数码管的 7 个段 位供电 S2 SW PB S4 SW PB S3 SW PB K1 K2 K3 按按 重庆科技学院课程设计报告 I P0 0 P0 7 对应了两个接数码管的 A B C D E F G 和小数点位 P2 口接位选码 当相应的端口变成低电平时 驱动相应的 NPNS8550 三极管会导通 5V 通过 IN4148 二极管和驱动三极管给数码管相应的位供电 这时只要 P0 口送出数字 的显示代码 数码管就能正常显示需要的数字 图 9 数码管显示电路 3 5 红外对管测速电路设计 红外对管 其中一个是发射管 一个是接受管 在电机测速作脉冲感应器 用 它的原理是 深色物的红外反射率因不同的材料而不同 发射管发射出红 外线 在材料上反射回来 由接受管接受 当有信号反射回来时输出低电平 没有反射时输出高电平 图 10 红外对管测速电路 3 6 串口电路设计 MAX232 芯片是美信公司专门为电脑的 RS 232 标准串口设计的接口电路 使用 5V 单电源供电 其引脚图如图 3 6 所示 其内部结构基本可分三个部分 第一部分是电荷泵电路 由 1 2 3 4 5 6 脚和 4 只电容构成 功能是产生 12V 和 12V 两个电源 提供给 RS 232 串口电平的需要 第二部分是数据转换 通道 由 7 8 9 10 11 12 13 14 脚构成两个数据通道 其中 13 脚 R1IN 12 脚 R1OUT 11 脚 T1IN 14 脚 T1OUT 为第一数据通道 8 a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 com1 8 com2 9 com3 10 com4 11 seg seg1 a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 com1 8 com2 9 com3 10 com4 11 MG seg2 A0A1A2A3A4A5A6A7 A1A2A3A4A5A6A7A0 B0B1B2B3 B4B5B6B7 a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 com1 8 com2 9 com3 10 com4 11 seg seg1 a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 com1 8 com2 9 com3 10 com4 11 MG seg2 A0A1A2A3A4A5A6A7 A1A2A3A4A5A6A7A0 B0B1B2B3 B4B5B6B7 a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 com1 8 com2 9 com3 10 com4 11 seg seg1 a 0 b 1 c 2 d 3 e 4 f 5 g 6 h 7 com1 8 com2 9 com3 10 com4 11 MG seg2 A0 A1 A2 A3 A4 A5 A6 A7 A1 A2 A3 A4 A5 A6 A7A0 1 2 3 J1 CON3 VCCVCC B0 B1 B2 B3 B4 B5 B6 B7 重庆科技学院课程设计报告 15 脚 R2IN 9 脚 R2OUT 10 脚 T2IN 7 脚 T2OUT 为第二数据通道 TTL CMOS 数据从 T1IN T2IN 输入转换成 RS 232 数据从 T1OUT T2OUT 送到电 脑 DB9 插头 DB9 插头的 RS 232 数据从 R1IN R2IN 输入转换成 TTL CMOS 数据 后从 R1OUT R2OUT 输出 第三部分是供电 15 脚 GND 16 脚 VCC 5V T2 OUT 7 T1 IN 11 T2 IN 10 R1 OUT 12 R2 IN 8 R2 OUT 9 C1 1 VCC 16 C1 3 V 2 C2 4 C2 5 V 6 R1 IN 13 GND 15 T1 OUT 14 U2 MAX232 TXD GND RXD C19 10uf 50V C21 10uf 50V C22 10uf 50V C20 10uf 50V 5 9 4 8 3 7 2 6 1 RS 232 DB9 5V 图 11 串口电路图 重庆科技学院课程设计报告 16 4 软件设计 本程序主要分为 6 大块 主程序 按键处理程序 刷新显示程序 数码管 输出程序 定时器 0 的中断服务程序 串口中断服务程序 主程序主要做了系 统初始化 定时器 0 的初始化和主循环等 可以把按键处理和刷新显示程序及 发送数据程序放到主循环中 4 1 主程序 主程序主要做了系统初始化 定时器 0 的初始化 按键扫描 数码管显示 定时向上位机发送数据和 PWM 输出 图 12 主程序流程图 4 2 外部中断 0 服务程序 外部中断 0 主要用于对红外对管产生的脉冲进行计数 重庆科技学院课程设计报告 17 图 13 外部中断 0 流程图 4 3 定时器 0 中断服务程序 定时器 0 中断程序中用来对数码管显示送段友和位码 以及在固定周期内 计算转速和进行 PID 计算 图 14 定时器 0 程序流程图 重庆科技学院课程设计报告 18 4 4 PWM 输出程序 PWM 程序主要用来控制电机的转速 它通过 PID 计算出来 的偏差来调整输 出脉冲的宽度来控制电机 图 15 PWM 输出程序流程图 4 5 PID 控制输出程序 当电机转速的设定值突然改变 或电机的转速发生突变时 会引起偏差的阶 跃 使 e 增大 PID 的输出 uk 将急剧增加或减小 以至于超过控制量的上下限 电 机的转速 SPEEDSET 虽然不断上升 但由于控制量受到限制 其增长的速度减慢 偏差 E 将比正常情况下持续更长的时间保持在较大的偏差值 该程序主要是把设 定的转速现当前测量得到的转速来计算偏差 从而用 PWM 输出方式来确定输出 脉冲的宽度 重庆科技学院课程设计报告 19 图 16 PID 控制输出流程图 4 6 串口中断发送程序 本文中的串口通信指的是 单片机与上位机 PC 机 之间的串口通信 该通信主要用于测速模块的调试以及在测量转速时 单片机能从上位机 PC 机 接收数据或者能将数据发回给上位机 PC 机 以便观察电机转 动情况 或者获得我们所需要的数据 在本设计中 采用的是 AT89C51 芯片的串口 UART0 来与 PC 机进行串口通 信 在串口 UART0 的配置中 定时 计数采用方式 2 是将两个 8 位计数器 TH1 和 TL1 分成独立的两个部分 组成一个 8 位可自动再装入的定时器 计数器 由 TL1 作为 8 位计数器 TH1 作为计数初值寄存器 设置初值时同时送 TH1 和 重庆科技学院课程设计报告 20 TL1 当 TL1 计数满回 0 产生溢出 不仅置位 TF1 而且控制 TH1 中的初值重新装 入 TL1 继续下一轮计数 此信号送串行通信系统 以设置串行通信波特率 波特率设置公式如式所示 波特率 2 SMOD 溢出率 32 N Y N Y 图 17 串口发送程序流程图 4 7 串口中断接收程序 上位机控制单元解扩出 1bit 数据后 产生一次中断 接收时首先采用 进入发送中断 发送 1byte 数据 1 字节数据发送完毕 发送第二字节数据 1 字节数据发送完毕 中断返回 重庆科技学院课程设计报告 21 16bits 接收窗口 1bit 滑动方式来接收通信的同步帧头 0 x09 0 xAF 帧头接收 成功后 后续数据按每 8bits 一个字节的方式进行截取 得到传送的有效数据 同时将得到的有效数据存储在缓冲单元中 接收过程中 按有关的通信协议进 行地址判别 长度接收 校验计算 地址相同的模块对符合通信协议的数据进 行应答 转入发送态 N Y 图 18 串口接收程序流程图 进入接收中断 清零接收标志位 4byte 数据接收完毕 重组数据 中断返回 重庆科技学院课程设计报告 22 5 上位机软件设计 5 1 LABVIEW 软件简介 Lab VI EW 是美国国家仪器 NI 公司开发的一种基于图形程序的虚拟仪表 编程语言 在测试与测量 数据采集 仪器控制 数字信号分析 工厂自动化 等领域获得了广泛的应用 LabVIEW程序称为虚拟仪器程序 简称VI LabVIEW 的强大功能在于层次化结构 用户可以把创建的VI程序当作子程序调用 以创 建更复杂的程序 而且 调用阶数可以是任意的 LabVIEW这种创建和调用子程 序的方法使创建的程序模块化 易于调试 理解和维护川 Lab VI EW 虽有接 口卡的驱动和管理程序 但主要是针对M公司自己生产的卡 对于普通的v0卡 可以用PORTIN和PORTOUT功能 但此法应用简单 无法实现较复杂的接口功能 也可以采用动态链接库 根据具体需要编写适当的程序 灵活利用Lab VIEW的 各项功能 用户可以自己编写DLLS实现LabVIEW与硬件的链接川 用VC 十6 0编 制动态链接库 首先生成DLL框架 Appwizard将自动生成项目文件 但不产生 任何代码 所有代码均需用户自己键人 通用 串 行 总线 UniversalS erialB us 简称USB 是1995年康柏 微软 IBM DEC等公司 公司 为了解决传统总线的不足而推出的一种新型串行通信 标准 该总线接口具有方便安装 高带宽 易扩展等优点 USB的另一大优点是 可以总线供电 在数据采集设备中耗电量通常不大 因此可以设计成总线供电 USB的规范能针对不同的性能价格比要求提供不同的选择 以满足不同的系统和 部件及相应不同的功能 从而给使用带来极大方便 本文介绍LabVIEW高速数据 采集系统的USB2 0 接口实现方法 5 2LABVIEW 软件设计 5 2 1 LabVIEW串口子VI 为了在L A B V I E W 的串口通讯方面的研究有很多 大致可以总结为三 种思路 第一种是使用VISA实现串口通讯 第二种是使用MSCOMM控件 第三种 是自己编写动态连接库 本文利用LABVIEW 8 6版的VISA库 重庆科技学院课程设计报告 23 LabVIEW串口子VI 是通过RS 232 实现数据通信的 LabVIEW串口子VI有5 个串行通信节点 分别实现串口初始化 串口写 串口读 检测串口缓存 中断 等功能 1 串口初始化节点 Serial Port Init vi 串口初始化节点用于对串口进 行参数设置 包括串口号 波特率 数据位 停止位 奇偶校验 缓存大小和握 手信号等 2 串口写节点 Serial Port Write vi 将需要传送的数据通过输出缓存发 送至指定端 LabVIEW的串口子VI 只允许字符串读写 要读写数字 则要用到字 符串与数字转换节点Sting to Byte Array 3 串口读节点 Serial Port Read vi 从串口缓存中读出所传送的数据 4 检测串口输入缓存节点 Bytes at Serial Port vi 在使用Serial Port Read 节点读串口前 可先用该节点检测当前串口输入缓存中已存的字节数 然后 由此指定Serial Port Read 节点从串口输入缓存中读出的字节数 可以保证一 次就将串口输入缓存中的数据全部读出 5 串口中断节点 Serial Port Break vi 将端口中断一段时间 中断时间可 以设定 5 2 2 LabVIEW串口通讯程序 图 19 LABVIEW 通讯程序图 重庆科技学院课程设计报告 24 6 硬件与软件联合调试 6 1 硬件电路测试 图 20 电机最大转速 PWM 电路输出波形 6 2 串口收发数据测试 串口电路是连接PC机与通信模块的桥梁 可借助串口调试助手对所设计的 串口通信电路和通信模块进行测试 如图5 1所示 通过串口调试助手 自动 向端口发送数据 0 xBE 0 x01 0 x02 0 x03 0 x04 0 x05 0 x06 0 x07 0 x08 0 x09 0 xED 数 据经串口电路被单片机通信模块接收 通信模块接收到数据后 将数据进行 存储 同时又将所接收到的数据发送回来 在串口调试助手的接收窗口上可 以看到接收到的数据 重庆科技学院课程设计报告 25 图21 串口调试助手工作界面 重庆科技学院课程设计报告 附录 I 7 总结 本设计在硬件上采用了基于 PWM 技术的桥式驱动电路 解决了电机驱动 的效率问题 在软件上也采用较为合理的系统结构及算法 提高了单片机的 使用效率 且具有一定的防飞能力 但该设计也有不足之处 主要是在关于 速度的反馈上 无法提供较为直观的速度表示方式 因此 有必要引入传感 器技术对速度进行反馈 以 rpm 或 rps 表达当前的转速进行显示 在直流电机驱动器中采用 PID 算法 消除了一般 PID 调节器算法中的饱 和现象 使电机调速稳定 并具有快速跟随性 同时也使电机具有恒转矩调速 特性 LabVIEW 图形化编程语言 其软件界面友好 操作简单 人机交互性强 编程容易 方便快捷 扩展性好 易于维护 所设计的系统具有稳定时间快 稳 定精度高等特点 同传统的单片机控制系统相比 采用虚拟仪器的方法大幅 地缩减了开发周期 提高开发质量 且性能好 简单 控制方便灵活 重庆科技学院课程设计报告 27 致谢 本文是在钟秉翔老师和张义辉老师的精心指导和大力支持下完成的 钟 老师和张老师以其严谨求实的治学态度 高度的敬业精神 兢兢业业 孜孜 以求的工作作风和大胆创新的进取精神对我产生重要影响 他们渊博的知识 开阔的视野和敏锐的思维给了我深深的启迪 同时 在此次设计过程中我也 学到了许多知识 实验技能有了很大的提高 重庆科技学院课程设计报告 28 参考文献 1 王福瑞 单片微机测控系统设计大全 M 北京 JL京航空航天大学出版社 1998 2 孙育才编 单片微型计算机及其应用 M 江苏 东南大学出版社 1987 3 王晓明 电动机的单片机控制 M 北京 JL京航空航天大学出版社 2OO2 4 徐爱钧 智能化测量控制仪表原理与设计 M 北京 北京航空航天大学出版社 1996 5 王琰 FLASH单片机原理及应用 北京 电子工业出版社 1998 6 许永和 USB外围设备设计与应用 北京航空航天大学 出版 社 2002 7 萧世文 USB2 0 硬件设计 清华大学出版社 2002 15 9 18 5 8 LABVIEW 7 Express 实用技术教程 M 中国铁道出版社 2004 9 孙宁 基于LABVIEW与单片机的教学实验系统 J 中国仪器仪表 2005 12 重庆科技学院课程设计报告 29 附录一 硬件电路原理图 重庆科技学院课程设计报告 30 附录二 程序源代码 include define uchar unsigned char define uint unsigned int define THCO 0 xf8 define TLCO 0 xcc 2ms unsigned char code Duan 0 x3F 0 x06 0 x5B 0 x4F 0 x66 0 x6D 0 x7D 0 x07 0 x7F 0 x6F 共阴极数码管 0 9段码表 unsigned char Data Buffer 8 0 0 0 0 0 0 0 0 数码管显示数值 数组变量定 义 unsigned char Data 4 0 0 0 0 unsigned char Arry 4 0 0 0 0 bitflag1 0 bit flag0 0 unsigned char i 0 sbit AddSpeed P1 1 sbit SubSpeed P1 2 sbit Stop P1 3 按键调速 sbit PWM FC P1 0 PWM控制端 int e 0 e1 0 e2 0 PID偏 float uk 0 uk1 0 0 duk 0 0 PID输出值 float Kp 5 Ki 1 5 Kd 0 9 PID控制系数 int out 0 unsigned int SpeedSet 2000 uint cnt 0 uint Inpluse 0 num 0 脉冲计数单元 uint PWMTime 0 脉冲宽度 void SendString uint ch void PIDControl void Syste

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论