




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2011 年全国大学生电子设计竞赛 基于自由摆的平板控制系统 基于自由摆的平板控制系统 B B 题 题 本科本科 组组 20112011 年年 9 9 月月 3 3 日日 摘摘 要要 采用 ATmage16 avr 单片机作为主控芯片的基于自由摆的平板控制系统 利 用高精度的电位器和单片机的片内模数转换器测量自由摆的摆动角度 ULN2003N 达林顿阵列驱动 1 16 倍速的减速步进电机控制平板的转动 能够实 现根据摆杆角度平板转动相应角度 摆杆摆动一周期平板转动一圈 控制平板 使得摆杆摆动时平板上的硬币不滑落 平板上的激光笔在摆杆摆动一定角度后 照射到靶子中心线等要求 关键词 关键词 自由摆 AVR 单片机 电位器 减速步进电机 I 目录目录 1 1 系统方案系统方案 1 1 1 1 中央处理器的论证与选择 1 1 2 电机驱动模块的论证与选择 1 1 3 摆杆角度测量模块的论证与选择 2 2 2 系统理论分析与计算系统理论分析与计算 2 2 2 1 系统理论的分析 2 2 1 1 摆杆旋转角度的获取 2 2 1 2 平板旋转角度的控制 3 2 1 3 步进电机转动控制 4 2 2 摆杆斜角度的计算 4 2 3 步进电机的计算 4 2 3 1 摆杆摆动三周电机的转动 4 2 3 2 摆动摆杆通过电机控制平板使硬币不从平板上掉落 4 2 3 3 摆杆固定时控制激光笔 4 2 3 4 摆杆摆动时电机控制激光笔 4 3 3 电路与程序设计电路与程序设计 5 5 3 1 电路的设计 5 3 1 1 系统总体框图 5 3 1 2 摆杆角度检测子系统框图与电路原理图 5 3 1 3 步进电机驱动子系统电路原理图 6 3 1 4 电源 6 3 2 程序的设计 7 3 2 1 程序功能描述与设计思路 7 3 2 2 程序流程图 7 4 4 测试方案与测试结果测试方案与测试结果 9 9 4 1 测试方案 9 4 2 测试方式与仪器 9 4 3 测试结果及分析 9 4 3 1 测试结果 数据 9 4 3 2 测试分析与结论 10 附录附录 1 1 电路原理图 电路原理图 1111 附录附录 2 2 完整测试数据 完整测试数据 1212 附录附录 3 3 源程序 源程序 1313 0 基于自由摆的平板控制系统 基于自由摆的平板控制系统 B B 题 题 本科组本科组 1 1 系统方案系统方案 本系统主要由中央处理器模块 电机驱动模块 摆杆角度测量模块 电源模块组 成 下面分别论证这几个模块的选择 1 11 1 中央处理器的论证与选择中央处理器的论证与选择 方案一 方案一 目前应用很广泛的 51 系列单片机 该系列的单片机具有价格低廉 性能 稳定 技术成熟等特点 但缺点也很明显 运行速度不是很快 而此次设计应需要较 为复杂的运算 所以可能达不到要求 方案二 方案二 AVR 系列的单片机 该系列单片机较于早期的 51 单片机 片内资源更丰 富 接口也更强大 同时采用的是 RISC 精简指令集 在运行速度上较与 51 有绝对的 优势 而价格低廉的优势也同样存在 方案三 方案三 ARM 处理器 ARM 处理器主要应用于嵌入式系统的开发 支持 Thumb 16 位 ARM 32 位 双指令集 兼容性好 大量使用寄存器执行速度快 单从性能上讲 AMR 绝对强与 AVR 与 51 但其价格昂贵 并不是很适合本次设计 因此次设计需要设计加速度传感器对于角度的计算 需要较大的计算量 且系统 对于精度的要求较高 故选择方案二 1 21 2 电机驱动模块的论证与选择电机驱动模块的论证与选择 方案一 方案一 L298H 桥式驱动芯片 该芯片具有性能稳定 控制灵活 输出电流大等特 点 可以很方便控制直流电机的转动方向 但其价格较高 外接电路较为复杂 方案二 方案二 ULN2003 达林顿阵列芯片 ULN2003 是高耐压 大电流复合晶体管阵列 工作电压高 工作电流大 灌电流可达 500mA 并且能够在关闭状态承受 50V 的电压 输出还可以在高负载电流并行运行 采用此方案不能控制直流电机的运动方向 但采 用步进电机则完全可以控制 且电路极其简单 基本不需要其他外围元器件 相对于 L298 来说 价格上又有绝对的优势 1 方案三 方案三 步进电机细分仪 高精度的步进电机细分仪能将驱动电机的电流细分化 不仅能提高步进电机的精度 还能减噪和提高电机运行时的稳定性 驱动上也较普通 驱动芯方便 只需给一定频率的脉冲信号即可控制速度 但出于条件限制 我们并有 足够的设备 且价格很高 最终还是没选择此种方案 综合以上三种方案 选择方案二 1 31 3 摆杆角度测量模块的论证与选择摆杆角度测量模块的论证与选择 方案一 方案一 加速度传感器 采用 HQ7455 mma7455 数字三轴加速度模块 该模块使用 和测试方便 可以实现基于运动的功能 也提供 I2C 和 SPI 接口 方便与 MCU 的通讯 将加速度传感器安装在摆杆的尾部 摆杆摆动时根据角速度传感器测量出来的 x 轴上 重力加速度的分量计算出摆杆角度 此种方案经过实验后发现加速度传感器很不稳定 首先是在静止状态下震动幅度过大 其次是在运动状态中测量出来的角度不准确 还 有严重的滞后问题 基于这些原因 放弃了此种方案 方案二 方案二 电位器 随着摆杆转动 利用电位器调制出的电压信号 使用 AVR 单片机 的片内 ADC 即可读取 具有稳定性好 读出的数值与摆杆角度的线性相关也较吻合 综合考虑采用方案二 2 2 系统理论分析与计算系统理论分析与计算 2 12 1 系统理论的分析系统理论的分析 2 1 12 1 1 摆杆旋转角度的获取摆杆旋转角度的获取 将高精度的电位器安装在摆杆的转轴位置 电位器连接在 5V 电源上 随着摆杆 的摆动 电位器上能产生 0 5V 的电位差 利用单片机片内的 10 位 ADC 即可读取 采 集多组读出的 AD 值和摆杆实际角度 然后建立线性回归方程 即可获取摆杆旋转角度 作出的线性回归图形如图一所示 2 y 3 685x 261 3 0 100 200 300 400 500 600 700 800 900 1000 050100150200 系列1 线性 系列1 图一 摆杆角度与模数转换线性拟合图 2 1 22 1 2 平板旋转角度的控制平板旋转角度的控制 根据摆杆转动角度依据题目要求 驱动减速步进电机实时转动相应角度 如图二 所示 图二 平板旋转控制流程图 3 2 1 32 1 3 步进电机转动控制步进电机转动控制 此次使用的减速步进电机在速度 方向上都能精确控制 所以可根据对摆臂旋转 角度 平板旋转角度等数据计算后更改步进电机脉冲信号的走向控制步进电机的方向 更改步进延时控制电机的速度 2 22 2 摆杆斜角度的计算摆杆斜角度的计算 在电位器上加上 5V 的电压并把电位器固定到摆轴的定点 电位器本身固定不动 调节轴与摆杆相连 当摆杆静止在某个角度 60 60 度 时 电位器输出对应的电压值 不变 采样出足够的点并分析其线性关系 利用闲心回归方程得到相应线性关系 通 过不断测试数据来改进电位器输出电压与角度的关系 2 32 3 步进电机的计算步进电机的计算 2 3 12 3 1 摆杆摆动三周电机的转动摆杆摆动三周电机的转动 单片机首先检测摆杆是否开始摆动 松手检测 摆杆摆动后 当检测到摆杆摆到 了平衡位置时电机转动半圈 以此类推直到走完三圈 2 3 22 3 2 摆动摆杆通过电机控制平板使硬币不从平板上掉落摆动摆杆通过电机控制平板使硬币不从平板上掉落 当检测到按键按下时延时一段时间以适宜操作者的反应时间 之后步进电机转动 相应角度到平板到平板与摆杆垂直时电机停止转动 之后让硬币随摆杆摆动而摆动 2 3 32 3 3摆杆固定时控制激光笔摆杆固定时控制激光笔 把摆杆固定到一定角度 30 60 度 位置时 通过角度计算公式 计算出 角 让电机转动 度 2 3 42 3 4 摆杆摆动时电机控制激光笔摆杆摆动时电机控制激光笔 同 2 3 3 摆杆摆动到下一位置与前一角度对应的 角之差就是电机要转动的角度 通过检 测摆动最高点和最低点来决定电机的转动方向 4 3 3 电路与程序设计电路与程序设计 3 13 1 电路的设计电路的设计 3 1 13 1 1 系统总体框图系统总体框图 系统总体框图如图三所示 Atmage16 单片机最小系统 摆杆角度检测模 块 步进电机驱 动模块 键盘输入模块 LED显示模块 图三 系统总体框图 3 1 23 1 2 摆杆角度检测子系统框图与电路原理图摆杆角度检测子系统框图与电路原理图 1 摆杆角度检测子系统框图 5 摆杆转动 电位器两端 电位变化 模数转化器 转化 图四 摆杆角度检测子系统框图 3 1 33 1 3 步进电机驱动子系统电路原理图步进电机驱动子系统电路原理图 1 步进电机驱动子系统电路 In1 1 In2 2 In3 3 In4 4 In5 5 In6 6 In7 7 GND 8 COM 9 OUT1 10 OUT2 11 OUT3 12 OUT4 13 OUT5 14 OUT6 15 OUT7 16 U ULN2003 1 2 H Head2 1 2 3 4 H Head4 1 2 3 4 5 P Header 5 VCC GND VCC 步进电机驱动模块 GND 100pF C Cap 图五 步进电机子系统电路 3 1 43 1 4 电源电源 因本系统需为单片机的 ADC 提供参考电压 所以对电压稳定的要求较高 故采用 现成的 5V 电源模块 并焊接了一块有多个接口的板子 以便其他模块的供电连接 6 3 23 2 程序的设计程序的设计 3 2 13 2 1 程序功能描述与设计思路程序功能描述与设计思路 1 程序功能描述 根据题目要求软件部分需实现电位器端的模数转换 步进电机驱动 键盘检测 LED 灯显示 各种参数及数据的计算等 1 模数转换实现功能 采用 AVR 单片机的片内十位 ADC 2 步进电机驱动 控制连接 ULN2003 驱动模块的 IO 口 输出制定频率的电位 变化控制步进电机的转动速度与转动方向 3 键盘检测 实时扫描连键盘的单片机 IO 的电位变化 读出按键 2 程序设计思路 1 模式选择 程序启动后进入模式选择状态 键盘检测输入 LED 灯显示当前 状态 2 步进电机驱动 编写电机驱动接口函数 入口参数有电机转动方向 电机转 动步数 每步延时 3 电位器电压检测 利用 AVR 片内的 10 位 ADC 需要检测点位时调用进行模 数转换 检测寄存器状态判断装化完成 3 2 23 2 2 程序流程图程序流程图 1 主程序结构图图 模式选择 模式一模式二模式三模式四模式五 随杆摆动平 板旋转子程 序 一块硬币子 程序 8块硬币子程 序 定点调整激 光方向子程 序 动态调整激 光旋转子程 序 图六 主程序结构图 7 2 摆杆角度检测子程序流程图 ADC转化 调用ADC值与 摆杆角度的 计算函数 开始 返回角 度值 结束 图七 摆杆角度检测子程序 3 电机驱动子程序流程图 开始 入口参数 电机方 向 电机步数 每 步延时 判断方向 调用步进电 机编码1 调用步进电 机编码2 方向1 方向2 根据电机步数参 数送IO口编码 延时 结束 图八 电机驱动子程序流程图 8 4 4 测试方案与测试结果测试方案与测试结果 4 14 1 测试方案测试方案 1 软件仿真测试 2 硬件设计测试 4 设计要求测试 4 24 2 测试方式与仪器测试方式与仪器 1 软件仿真 用 PROTEUS 软件画出系统要求的电路 测试程序是否编写正确 这 一测试主要是对模式选择子系统的测试 2 硬件电路检测 使用万用表测量电路是否连接正确 米尺和三角板测量摆杆的 长度和水平是否符合要求 3 设计要求测试 1 基本要求 1 调整平板至水平位置 启动程序后松手 平板旋转结束用量角 器测量平板偏离初始位置角度 2 基本要求 2 按要求操作后用三角板测量硬币偏离平板距离 3 基本要求 3 按要求操作后计算硬币非保持叠放状态数量和滑落硬币数 4 发挥部分 1 按要求操作后计算光斑离开中心线的距离 5 发挥部分 2 按要求操作后计算光斑偏离中心线最远距离 4 34 3 测试结果及分析测试结果及分析 4 3 14 3 1 测试结果测试结果 数据数据 表一 ADC 值与实际测量的摆杆角度 中心线为为 90 ADC5060708090100110120130140 角度 463496519560575615639671704739 表二 基本要求 1 平板旋转角度误差 测量次数 12345678 误差 00200030 表三 基本要求 2 硬币偏离平板中心线距离 测量次数 12345678 9 偏移 cm 01000200 表四 基本要求 3 硬币非保持叠放状态数量和滑落硬币数 测量次数 12345678 非保持叠放 状态数量 02080000 滑落硬币数 00080000 表五 发挥部分 1 光斑离开中心线的距离 测量次数 12345678 距离 cm 13251201 表六 发挥部分 2 斑离开中心线的距离 测量次数 12345678 距离 cm NNNNNNNN 4 3 24 3 2 测试分析与结论测试分析与结论 根据上述测试数据 由此可以得出以下结论 1 电路焊接正确 2 基本要求 1 符合设计需要 3 基本要求 2 符合设计需要 4 基本要求 3 如果操作时手颤抖和操作不及时能使得误差较大 但大部分时候 符合设计要求 5 发挥部分 1 基本能符合设计要求 误差在允许范围内 6 发挥部分 2 因步进电机的转速以及电位器稳定性等问题 编写程序后光斑并不 能落到靶子上 参考文献 参考文献 1 闫爱军 范海明 基于 AVR 单片机的四相步进电机驱动设计 J 舰船防化 2011 年 2 期 2 陆广平 张美琪 基于 AVR 单片机的步进电机运动控制系统设计 J 微电机 2010 年 3 期 10 附录附录 1 1 电路原理图 电路原理图 PB0 XCK T0 1 PB1 T1 2 PB2 AIN0 INT2 3 PB3 AIN1 OC0 4 PB4 SS 5 PB5 M OSI 6 PB6 M ISO 7 PB7 SCK 8 RESET 9 PD0 RXD 14 PD1 TXD 15 PD2 INT0 16 PD3 INT1 17 PD4 OC1B 18 PD5 OC1A 19 PD6 ICP 20 PD7 OC2 21 XTAL2 12 XTAL1 13 GND 11 PC0 SCL 22 PC1 SDA 23 PC2 TCK 24 PC3 TM S 25 PC4 TDO 26 PC5 TDI 27 PC6 TOSC1 28 PC7 TOSC2 29 AREF 32 AVCC 30 GND 31 PA7 ADC7 33 PA6 ADC6 34 PA5 ADC5 35 PA4 ADC4 36 PA3 ADC3 37 PA2 ADC2 38 PA1 ADC1 39 PA0 ADC0 40 VCC 10 U2 ATm ega16 16PC PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PD0 PD1 PD2 PD3 PD4 PD5 PD6 PD7 VCC GND GND 1 2 4 3 S2 位位位位 GND RST RST PB5 PB6 PB7 GND VCC M OSI 1 VCC 2 NC 3 GND 4 RST 5 GND 6 SCK 7 GND 8 M ISO 9 GND 10 P2 ISP 100pF C1 Cap In1 1 In2 2 In3 3 In4 4 In5 5 In6 6 In7 7 GND 8 COM 9 OUT1 10 OUT2 11 OUT3 12 OUT4 13 OUT5 14 OUT6 15 OUT7 16 U1 ULN2003 1 2 3 4 5 P1 Header 5VCC GND D1D2D3D4D5D6D7 S3 S4 S5 GND GND 1 2 3 4 5 6 7 8 P3 1 2 3 4 5 6 7 8 P4 VCC GND PD0 PD1 PD2 PD3 PD5 PD6 PD7 S1 SW DPST 1K R1 1K R2 1K R3 1K R4 1K R5 1K R6 1K R7 11 附录附录 2 2 完整测试数据 完整测试数据 表一 ADC 值与实际测量的摆杆角度 中心线为为 90 ADC5060708090100110120130140 角度 463496519560575615639671704739 表二 基本要求 1 平板旋转角度误差 测量次数 12345678 误差 00200030 表三 基本要求 2 硬币偏离平板中心线距离 测量次数 12345678 偏移 cm 01000200 表四 基本要求 3 硬币非保持叠放状态数量和滑落硬币数 测量次数 12345678 非保持叠放 状态数量 02080000 滑落硬币数 00080000 表五 发挥部分 1 光斑离开中心线的距离 测量次数 12345678 距离 cm 13251201 表六 发挥部分 2 斑离开中心线的距离 测量次数 12345678 距离 cm NNNNNNNN 12 附录附录 3 3 源程序 源程序 文件名 process c 函数功能 设计要求的五种操作模式 include include include include define DATA NUM10 unsigned char test adc DATA NUM 704 707 719 768 728 7 36 775 783 792 799 unsigned char test jd DATA NUM 110 119 132 174 130 149 194 206 214 224 基本要求一 检测松手 检测低谷 void check valley unsigned int jd while 1 jd adc read if jd 570 return void basic q1 unsigned char i for i 0 i90 fx 0 bs b jd 90 0 3516 步进电机 每 步角度 else fx 1 bs 90 b jd 0 3516 moto run fx bs 900 moto close while 1 基本要求 3 void basic q3 unsigned char b jd 单摆角度 unsigned char fx unsigned int bs 电机转动步数 unsigned int ad top 在顶端的 adc 值 unsigned int temp unsigned char i unsigned int bs ext 附加角度 松手即启动 delay ms 100 反应延时 ad top adc read b jd jd cal ad top if b jd 90 fx 0 bs b jd 90 0 3516 步进电机 每 步角度 else fx 1 bs 90 b jd 0 3516 bs ext bs 0 1 14 moto run fx bs 900 moto run fx bs ext 2000 check valley if fx 0 fx 1 else fx 0 moto run fx bs ext 2000 moto close while 1 发挥部分一 unsigned char read key static unsigned char key last 0 static unsigned char ld 0 连带 unsigned char key 0 PIND 0b11100000 PORTD 0b11100000 delay ms 10 while PIND 0b11100000 delay ms 10 if KEY START 0 key 3 if KEY UP 0 key 1 if KEY DOWN 0 key 2 if key key last if ld 50 return key else return 0 key last key ld 0 return key void moto adjust unsigned int moto b 0 unsigned char key unsigned char adjust ok 0 LED PORT 0 x00 SetBit LED PORT 2 SetBit LED PORT LED RUN lcd1602 init lcd1602 location 0 0 lcd1602 print string 校正 while 1 lcd1602 location 1 0 lcd1602 print string ADC lcd1602 print num adc read 5 key read key switch key case 1 moto run 1 1 1000 break case 2 moto run 0 1 1000 break case 3 adjust ok 1 break if adjust ok break void advance q1 15 unsigned int adc now adc 1 adc 2 unsigned int jd jd 1 jd 2 unsigned int i unsigned int temp1 temp2 temp3 start moto adjust adc now adc read if adc now 760 jd int do
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【教案版】小学三班级上册 小篮球6
- 2025年护士执业资格中级面试题答案及备考技巧
- 2025年炼油装置操作基础进阶面试高频考点解析
- 【教案版】小学三班级上册 跳跃2
- 《细胞能量通货 ATP》教学课件
- 2025年特岗教师招聘面试物理教育专业技能考核题集
- 2025年物业管理专业知识模拟题及答案详解
- 2025年建筑行业工程师招聘考试试题土木工程
- 2025年金属焊接材料及选用策略面试预测题
- 2025年仓库保管员应聘必-备知识面试模拟题及答案解析
- 校园网络安全知识培训课件
- 新教材2025人教版七年级上册全部单词默写版
- (2025年标准)家庭寄宿协议书
- 2025年秋季开学第一次全体中层班子会议上校长精彩讲话:把小事做细、把细事做实、把实事做好
- (2025年标准)安全实习协议书
- 家谱电子版模板2
- 地下室抗浮计算含锚杆计算表格(自动版)
- 职业健康体检表
- DB43∕T 990-2015 辣椒耐弱光性鉴定技术规程
- 简单娱乐yy频道设计模板
- 《汉语史》-课程教学大纲
评论
0/150
提交评论