当前位置:文档之家› 全国电子设计大赛报告一等奖

全国电子设计大赛报告一等奖

2013 年 全 国 大 学 生 电 子 设计 竞 赛摘要 :通过对该测控系统结构和特点的分析, 结合现代控制技术设计理念实现了以微控制 器 MC9S12XS128系列单片机为核心的旋转倒立摆控制系统。

通过采集的角度值与平衡位 置进行比较,使用 PD 算法,从而达到控制电机的目的。

其工作过程为:角位移传感器 WDS35D 通过对摆杆摆动过程中的信号采集然后经过 A/D 采样后反馈给主控制器。

控制器 根据角度传感器反馈信号进行 PID 数据处理,从而对电机的转动做出调整,进行可靠的 闭环控制,使用按键调节 P 、D 的值,同时由显示模块显示当前的 P 、D 值。

关键字: 倒立摆、直流电机、 MC9S12XS12单8 片机 、角位移传感器 WDS35、D PD 算法 目录一、设计任务与要求 (3)1 设计任务 (3)2 设计要求 (3)二 系统方案 (4)1 系统结构 (4)2 方案比较与选择 (4)( 1) 角度传感器方案比较与选择 (4)( 2) 驱动器方案比较与选择 (5)三 理论分析与计算 (5)简易旋转倒立摆及控制装置( C 题)1 电机的选型 (5)2 摆杆状态检测 (5)3驱动与控制算法 (5)四电路与程序设计 (6)1 电路设计 (6)( 1)最小系统模块电路 (6)(2)5110显示模块电路设计 . (6)( 3)电机驱动模块电路设计 (6)(4)角位移传感器模块电路设计 (6)( 5)电源稳压模块设计 (7)2 程序结构与设计 (8)五系统测试与误差分析 (8)测试方案 (8)测试使用仪器 (8)测试结果与误差分析 (9)6 结论 (10)参考文献 (10)附录 1 程序清单(部分) (11)附录 2 主板电路图 (13)附录 3 主要元器件清单 (13)、设计任务与要求1 设计任务设计并制作一套简易旋转倒立摆及控制装置。

旋转倒立摆的结构如图1 所示。

电动机A固定在支架B上,通过转轴F 驱动旋转臂C旋转。

摆杆E通过转轴D固定在旋转臂C 的一端,当旋转臂C在电动机A 驱动下作往复旋转运动时,带动摆杆E 在垂直于旋转臂C 的平面作自由旋转。

如下图所示2 设计要求基本要求:①摆杆从处于自然下垂状态开始,驱动电机带动旋转臂作往复旋转使摆杆摆动,并尽快使摆角达到或超过﹣60°~+60°;②从摆杆处于下垂状态开始,尽快增大摆杆的摆动幅度,直至完成圆周运动;③在摆杆处于自然下垂状态下,外力拉起摆杆至接近165°位置,外力撤出同时,启动控制旋转臂使摆杆保持倒立状态时间不少于5s;期间旋转臂的转动不大于90°。

发挥部分:①从摆杆处于自然下垂状态开始,控制旋转臂作往复旋转运动,尽快使摆杆摆起倒立,保持倒立时间不少于10s;②在摆杆保持倒立状态下,施加干扰后摆杆能继续保持倒立或2s 内回复倒立状态;③在摆杆保持倒立状态的前提下,旋转臂作圆周运动,并尽快使单方向转过角度达到或超过360°。

系统方案1 系统结构系统包括MC9S12XS128单片机;直流电机和电机驱动模块;角位移传感器。

由直流电机来控制旋转臂转动从而来使摆杆摆动,在摆杆的转轴处加上角位移传感器,使摆杆一开始能快速得摆动出来,并且能保持倒立的状态,框图如下:MC9S12XS128单片机BTN7971 驱动内置AD直流电机角位移传感器摆杆2 方案比较与选择(1)角度传感器方案比较与选择方案①选择角位移传感器:角位移传感器它采用非接触式专利设计,与同步分析器和电位计等其他传统的角位移测量仪相比,有效地提高了精度。

方案②选择陀螺仪:陀螺仪传感器最主要的特性是它的稳定性和进动性。

它是用来感测和维持方向的装置,主要用在航空来判断方向,在此次设计中想到用陀螺仪来控制摆杆角度,但判断比较复杂,不实用。

因此我们选择角位移传感器。

2)驱动器方案比较与选择方案①选择L298:L298 工作电压为12V,电流到2A。

但是它的驱动能力弱,不满足我们的需求。

方案②选择BTN7971:相对于L298, 这款驱动器有着跟强大得驱动能力。

它与单片机5V 隔离保护单片机;它的PWM,1 PWM2最高支持15V,此驱动集成的模块反应迅速,发热量小。

因此我们选择BTN7971。

三理论分析与计算1 电机的选型一开始我们选择步进电机:步进电机可以实现开环控制,即通过驱动器信号输入的脉冲数量和频率实现步进电机的角度和速度控制,无需反馈信号。

它可以旋转极小的角度,从而实现倒立摆的功能。

但我们实际操作起来转速比较慢,加上旋转臂等后速度缓慢。

后来选择直流电机:通过直流电机来带动旋转臂,从而带动摆杆。

直流电机控制简单,只要加上合适的电压就会转,转速相比步进电机更快,比较适合本题的要求,而且更适用于PD算法,便于摆杆保持倒立状态。

2 摆杆状态检测摆杆状态的检测主要要用角位移传感器,然后通过芯片内置AD每隔读取到数据,再将数据转化成角度,通过PID 算法调节电机直立效果。

假如当摆杆在倒立状态时,然后用手往右旋转一个角度后松手(采用PD算法,当偏离平衡角度越大,则PD反馈给电机占空比的值就越大),角位移传感器则将角度信号传给AD,再通过PID算法给芯片,让电机向右旋转,使摆杆能保持倒立的状态。

3驱动与控制算法摆杆的运动时一个连续变化的过程,旋转的变化也是一个连续渐变的过程。

在连续的闭环控制系统中,按偏差,比列,微分,积分进行的PID 控制技术一种应用最广泛的控制方式。

他具有庞简单,易于实现,适用面广等一系列优点。

连续PID 控制器也称比列—积分—微分指控器,即过程控制是按误差的比列,积分和微分对系统进行控制。

PID 算法的控制数学模型为:本程序采用PD控制,能够加大系统的反应速度。

四电路与程序设计1 电路设计1)最小系统模块电路此次设计我们采用MC9S12XS12单8 片机,它是一款增强型16位单片机,该单片机采用CPU12XV 2 内核,可运行在40MHz总线频率上。

存储器:128KBF LASH;2KBE EPROM;8KB RAM。

A/D:16 通道模数转换器;可选8位,10位和12位精度。

PWM:8位9通道或16 位4 通道PWM。

所有考虑用此芯片为最小系统。

2)5110 显示模块电路设计5110显示屏是一款经典的机型,它的性价比高,可以显示15个汉字,30个字符。

价格便宜。

接口就四根I/O 即可驱动,速度快。

用它来显示PID的P和D的数值。

其按键1 为选择参数,按键2 为增加参数值,按键3 为减少参数值,按键4 为启动键,如下图所示。

3)电机驱动模块电路设计此次倒立摆的旋转臂由直流电机控制旋转,通过BTN7971驱动器来驱动。

BTN7971内部包含2 通道逻辑驱动电路,可以方便的驱动直流电机。

BTN7971的供电电压典型值为,电流为1A。

BTN7971驱动模块连线为:VCC接5V给芯片供电;EN端接高电平使能;P1/P5 为PWM占空比控制与单片机连接;OUT1/2 连接直流电机。

4)角位移传感器模块电路设计该WDS35D传感器采用特殊形状的转子和绕线线圈,模拟线性可变差动传感器的线性位移,有较高的可靠性和性能,转子轴的旋转运动产生线性输出信号,围绕出厂预置的零位移动± 60 度。

此输出信号的相位指示离开零位的位移方向。

转子的非接触式电子耦合使传感器具有无限的分辨率,即绝对测量度可达到零点几度。

用高精度角位移传感器WDS35D来采集摆杆的运动信号,本系统采用一个角度传感器装在转轴上。

这样可以控制电机精确的转动。

只需给传感器一个5V 的电压,当使摆杆摆动时,转轴会转动,传感器也会随着转轴转动并且输出一系列连续变化的模拟值。

可以将该模拟值直接送给单片机内部的AD进行采样再用数学拟合算法曲线处理之后控制电机转动。

采集电V 压:ad 5 ad* 5 V * * 360 1024 ; 360 。

由这两个公式推算出 1024(5)电源稳压模块设计如下图为电源稳压模块,可以产生稳定的5V的电压来供电。

2 程序结构与设计开始超频,初始化端口5110初始化,清屏For按键扫描参数修改显示P,D五系统测试与误差分析测试方案①硬件检测:采用数字万用表对电路板连接情况测试。

②基础部分检测:基础部分的三个要求。

③发挥部分检测:发挥部分的三个要求。

测试使用仪器量角器,数字万用表VC890D,示波器DS2101,秒表。

测试结果与误差分析① 摆杆处于自然下垂状态,观察摆角到达60°和时间。

② 摆杆处于自然下垂状态,观察摆杆完成圆周运动时间③ 摆杆处入自然下垂状态,外力拉起摆杆接近165°,摆杆保持倒立不少于5s ,观察旋转臂的转动角度。

失败原因:电机马力不足,pd 值未调好。

④ 摆杆处入自然下垂状态,然后尽快让摆杆倒立并保持10s 以上,观察所需时间失败原因:电机马力不足,摆杆头重脚轻而且调试时间不足,导致PD值未调好6 结论本系统以单片机为核心部分,根据角度传感器采集来的信息,经计算得出数据来控制直流电机转动,从而达到系统的基本要求。

在系统设计中,力求硬件线路简单,充分发挥软件编程灵活的特点,来满足系统设计的要求。

因为时间有限,该系统还有许多值得修改的地方;比如对此系统来讲,PID算法并不是最优算法;硬件电路的设计还需优化,以减小系统的阻力等等。

因此,系统还有待改进。

在这段时间内的试验过程中,我们遇到过许多的问题,需要我们自己去考虑,去动手,去解决。

平时我们多是时间只是在学习理论知识,在准备比赛和进行比赛这段时间内,我们将平时课本上学习的知识真正的运用到实践中,经过此次竞赛我们认识到了团队合作的重要性,充分领会了大赛的精神,全队每个成员均得到宝贵的创作经验。

参考文献[1]大学生电子设计竞赛组委会.《第五届全国电子设计竞赛获奖作品编选》. 北京:北京理工大学出版社,2003 [2]何立民. 《单片机高级教程应用设计》. 北京:北京航空航天大学出版社,2000[3]朱定华. 《单片机原理与接口技术》. 电子工业出版社,2006[4]吴建平. 《传感器原理及应用》. 北京:机械工业出版社,2009[5] 郁有文. 《传感器原理及工程应用》. 西安:西安电子科技大学出版社,2008附录 1 程序清单(部分)// 主函数 #include <> /* common defines and macros */ #include "" /* derivative-specific definitions */ #include "" #define PITTIME 800 // 定时,, 1000*5us int PJT=478; // 平衡位置角度传感器 Ad 值 void PLL(void) //48MHz { CLKSEL=0X00;/2 PLLCTL_PLLON=1; SYNR =0x40 | 0x03;REFDV=0x80 | 0x01; POSTDIV=0x00; _asm(nop); // _asm(nop); while(!(CRGFLG_LOCK==1)); CLKSEL_PLLSEL =1; } void PIT_init(void) //{ PITCFLMT_PITE=0; PITCE_PCE0=1;PITMTLD0=199; 即 5us PITLD0=PITTIME-1; PITINTE_PINTE0=1; PITMUX_PMUX0=0; PITCFLMT_PITE=1;}void main(void) { /* put your own code here */外部时钟 16MHz // 禁止使用锁相环,系统频率 =外部晶振,总线频率 =系统频率打开锁相环// //PLLclock=2*osc*(1+SYNR)/(1+REFDV)=96M; 当POSTDIV=0x00时, BUS CLOCK=PLLclock/2=48M// // 等待锁相环初始化完成 使用锁相环频率作为系统频率 定时中断初始化函数 5uS 定时中断设置 //PI T// //8//16 // // //PIT DisableInterrupts ; IRQCR=0x00; // ECLKCTL=0XC0; //PLL(); INIT_PWM(); INIT_AD(); PIT_init(); UART_Init ();禁止 定时器通道 0使能 位定时器初值设定 ,240 分频,在 48MHzBusClock 下,为。

相关主题