简易旋转倒立摆及控制(C题)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2013年全国大学生电子设计竞赛
简易旋转倒立摆及控制(C题)
【本科组】
2013年9月7日
简易旋转倒立摆及控制(C题)
摘要
本系统以Kinetis系列K60单片机为控制核心,由步进电机模块、电机驱动电路模块、编码器模块以及OLED显示屏模块组成。采用欧姆龙200线双相编码器测量脉冲,用以计算倒立摆摆动时的动态角度,反馈到主控芯片K60弹性定时器(FTM),进行PWM信号的产生,用于精确控制步进电机动作。通过OLED显示屏实时显示倒立摆角度的变化。该系统是一个闭环的控制系统,数据处理中用到了经典PID控制算法。
关键字:K60、编码器、步进电机、倒立摆
Abstract
This system by freescale Kinetis series K60 single-chip microcomputer as the core to control the pace of step motor to realize the motion of the rocker. By stepper motor module, motor drive circuit module, encoder module, the infrared device and OLED display circuit module of the peripheral circuit. The omron 200 line bipolar pulse encoder,measurement, to calculate the inverted pendulum swing when the dynamic Angle, feedback to the K60 elastic timer (FTM), PWM signal generation to achieve precise control stepping motor movements. Through the OLED display real-time display of the inverted pendulum Angle change. The system is a closed-loop control system, the data processing to the classic PID control algorithm is used.
Keywords: K60, encoder, stepping motor, inverted pendulum
一、系统方案选择与论证
1.1、控制器选择
方案1:采用51系列单片机,该类单片机的抗干扰能力较强,上手容易,应用比较广泛,但其I\O口比较有限,而系统的实现程序量较大,所需的I\O 口资源较多,51单片机在这一点上难以胜任。
方案2:使用基于ARM Cortex-M4内核的kinetis系列K60单片机,它有多通道高精度模数ADC转换器,1*8电机控制/通用PWM定时器,使用方便且低功耗。
方案论证:由于 51单片机I/O口比较少功能模块资源比较单一,且运行速率较低,对本系统来说,用51很难控制本系统的正常运行,故本系统采用飞思卡尔公司出的K60系列芯片做为主控芯片;K60单片机有丰富的I/O口数量和FTM 定时器等多种外设资源,这样剩去了一些外围器件,并且可以利用官方给出的构件,这样程序上减少了很多麻烦,利于操作。
1.2、电机的选择
方案1:直流无刷电机,以PWM控制电机步调,改变驱动正负极即可改变电机的转动方向,来进行控制摆杆摆动幅度的大小。
方案2:步进电机,采用直接控制方式,将电脉冲信号转变为角位移或线位移的开环控制元步进电机件,可以通过控制脉冲个数来控制角位移量,从而达到准确定位的目的;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,从而达到对倒立摆目标调整。
方案3:使用舵机控制,该方案控制简单灵活,每一个脉冲便有一个方向角,舵机转动的角度和脉宽成比例,通过改变脉冲的宽度便可以灵活的控制舵机的转角,可操作性较好,且功耗较小。
方案论证:直流无刷电机控制精度高些,调节灵活,但无刷电机需要特定的驱动器而且不易控制,另外多级比较小巧,控制简单,但本系统体积较大,考虑到舵机带负载的能力较小,故舍去舵机方案,而步进电机扭矩大,可以精确控制相位和速度,反应灵活迅速,故本系统采用步进电机控制方案。
1.3、角度测量
方案1:采用陀螺仪测量摆杆转动的角速度,动态响应快,测量灵敏。但陀螺仪测量的值会随时间的推移,产生很大是温漂,对于摆杆反复摆动时,经过几分钟甚至几秒钟定会累积出很大误差值,照成测量偏差值增大。
方案2:采用精密电位器作为角度传感器,由于不同的角度,输出的电阻不同,通过AD采集电阻两端的电压,计算得到角度。
方案3:采用欧姆龙200线双相编码器,将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示角度的大小。
方案4:角度电位器和200线编码器混合使用,编码器可以在摆臂的摆幅小于180度时,用它反馈的信号进行控制,当摆臂竖直方向稳定后,用角度电位器反馈回的信号。
方案论证:方案1中陀螺仪测量的值会随时间的变化发生温漂,对摆杆倒立时角度的控制产生极大的误差。方案2中,对于摆杆反复摆动时,不会产生什么误差,特别在摆杆在倒立时,稳定的输出对其电路反馈产生很好的效果。方案3中,倒立摆在前两个指标中均优势,但在其倒立位置抖动时,编码器会重复计算脉冲,给角度造成很大的误差,故不可取。方案4中,由于摆臂竖直方向稳定后,编码器产生的误差较大,此时,角度电位器测量的角度较准确,这样实现了两种器件的互补。综合,我们选择方案4。
1.4、驱动电路的选择
方案1:利用驱动专用芯片L298N,L298N是集成的桥式驱动电路,最大驱动电流可达到3A,内含两个H桥的高电压大电流全桥式驱动电路,控制方法十分方便。而且其驱动效果良好,配合L297可实现步进的精确控制。
方案2:采用大功率驱动芯片BTS7970输出电流最大可达60A,输入电压6-24v,内阻16毫欧,控制线电压5v,PWM控制频率达25Kh。驱动输出电流快,并且非常稳定,由于内阻小,发热量很小。
方案论证:由于L298芯片发热量大,若不注意散热及电路保护极容易烧毁,故不太稳定,为了达到精确的控制,且在电机运行过程中有较