历史上的今天
返回首页

历史上的今天

今天是:2026年01月31日(星期六)

2023年01月31日 | 基于S3C2440和加速度传感器的自由摆平板控制系统的设计

2023-01-31 来源:elecfans

本设计的重点在于通过加速度传感器MMA7455采集各关节处角度信息,并根据得到的角度值及任务要求控制步进电机的运转,完成自由摆臂末端平板姿态的调整,完成预定任务。通过MMA7455加速度传感器得到的是三轴加速度信息,而在实际控制过程中所需要的是角度信息,所以要用到三角函数完成加速度值到角度值的转换,其次实践证明MMA7455加速度传感器稳定性较差,需要通过滑动平均滤波算法对得到的三轴加速度值进行滤波处理,以达到精确控制的目的。而对于步进电机的精确控制则需要PID控制算法以去除控制过程中的抖动,达到自控系统“稳、准、快”的设计要求。综上所述,本系统中存在大量的数据运算及控制算法并且对实时性要求较高,因此选用主频高达400 MHz的S3C2440作为主控芯片,一方面能保证系统基本功能的实现,另一方面有助于系统中各种性能指标的提升。

 

1 硬件系统设计


 基于ARM9的自由摆平板控制系统的设计及实现

2 软件系统设计

本系统软件设计相对较复杂,既要考虑系统基本功能的实现,又要考虑系统易于使用。从软件功能看,主程序主要完成键值处理、LED显示、调用相应任务子程序模块以及各个任务模块下相应算法的实现,系统主流程如图2所示。

 基于ARM9的自由摆平板控制系统的设计及实现

2.1 加速度值到角度值的转换算法

本自由摆平板控制系统安装了两个加速度传感器MMA7455 , 即水平安装于平板底部的加速度传感器1 与垂直安装在转轴处的加速度传感器2, 两个加速度传感器安装位置不同, 使用目的不同, 因而对角度的转换方法也不同[ 5]。加速度传感器1 主要用于在静态时对平板


姿态的判定, 因此采用加速度传感器以Z 轴加速度值就可判断出平板静态时的姿态, 如图3 所示。由图可知Z 轴所得加速度值只是重力沿平板法线方向的一个分量。故此可得:∠A=∠B=arcos(gz/g)

 基于ARM9的自由摆平板控制系统的设计及实现


加速度传感器2 主要用来动态测量摆杆摆角, 为克服误差的引入, 采用X、Y 两个轴向的加速度值来测量摆角, 测量原理如图4 所示。

 基于ARM9的自由摆平板控制系统的设计及实现


由图4 可知:θ=artan(gy/gx)。


2.2 步进电机的PID 控制算法实现[6]

对于平板角度的调整是根据所采到的角度值和任务要求控制步进电机的转动来实现的。而如果根据角度偏差e (k) 直接调整步进电机,则会带来抖动、超调等问题, 故此考虑采用PID控制算法对步进电机进行调整。数字PID 算法如式(1)所示:

 基于ARM9的自由摆平板控制系统的设计及实现


式(4)即为本系统所使用的PID 控制数学模型。系统进入稳态后, 偏差是很小的。如果偏差在一个很小的范围内波动, 控制器读到这样微小的偏差计算后, 将会输出一个微小的控制量, 此时输出的控制值在一个很小的范围内不断改变自己的方向, 频繁动作, 从而发生抖动,这样不利于平板的精确控制, 因此, 当控制过程进入这种状态时,就进入系统设定的一个输出允许带e0, 即当采集到的偏差|e(k)|

 基于ARM9的自由摆平板控制系统的设计及实现

2.3 平板旋转任务的实现

单摆一个摆动周期为2 s,步进电机旋转1°需要4个脉冲,故此任务中只需控制脉冲输出频率为720 Hz即可完成单摆摆动一个周期平板寻转一圈的要求。


2.4 硬币叠放任务实现

如图6所示,将摆杆拉至一固定角度α(α在45°~60°之间),系统通过平板底部角度传感器采集平板的倾角,根据PID算法控制步进电机将平板调至水平状态。将8枚硬币整齐叠放在平板中心位置,此时Z轴的加速度值等于1 g;放手后平板会略微倾斜,此时Z轴的加速度值小于1 g,因此可根据Z轴加速度值的大小判断松手时刻,与此同时通过转轴处的加速度传感器采集摆杆与垂直方向的夹角(即摆角α),并控制步进电机偏转α角度(即平板与摆杆垂直)。经受力分析可知,在平板与摆杆垂直状态时,各枚硬币X和Y方向所受合力均为0(即硬币处于平衡状态),硬币不会从平板滑落(对应多枚模式)。

 基于ARM9的自由摆平板控制系统的设计及实现

2.5 激光笔照射任务实现[7]

假设单摆的初始位置在56.3°(arctan(1/r)=56.3°) 处,此时单摆的摆尖正指向A 点处( 若摆角摆于56.3° 位置处则平板正好修正90°), 此时平板与单摆平行, 若单摆顺时针转动角度θ ( 如图7 所示) , 平板若要指向A 点,则需逆时针转动β 角度,β 和θ 的计算关系如下( 假设单摆与平板平行, 最后减去90°就与题目要求一致):

 基于ARM9的自由摆平板控制系统的设计及实现

 基于ARM9的自由摆平板控制系统的设计及实现


推荐阅读

史海拾趣

安国国际(ALCOR)公司的发展小趣事

随着公司规模的扩大和业绩的增长,安国国际的产品线逐渐从计算机外设产品拓展至消费型电子产品和手持便携装置。为满足市场需求,公司不断推出创新产品,如输出入装置暨多媒体图像处理装置应用控制芯片、网桥控制芯片、网络安全保护装置等。同时,为提升运营效率和灵活性,安国在2015年进行了组织调整和专业分工,将不同业务线分割为多家子公司,使得各业务领域能够更加专注和高效地发展。

Dalian Dlicap Corporation公司的发展小趣事

为了满足市场不断增长的需求,达利凯普在大连市金普新区投资建设了高端电子元器件产业化项目。该项目总用地面积4万平方米,总建筑面积5.6万平方米。项目建成后,将实现年产射频微波瓷介电容器30亿只的产能规模,进一步巩固了公司在行业内的领先地位。同时,该项目的实施也为当地经济发展注入了新的活力。

Hi-Tron Semiconductor Corp公司的发展小趣事

面对激烈的市场竞争和行业变革,达利凯普积极推进数字化转型和产业升级。公司引入了先进的生产设备和管理系统,实现了生产过程的自动化和智能化。同时,公司还加大了对新材料、新工艺的研发力度,不断提升产品的性能和品质。这些举措使达利凯普在激烈的市场竞争中保持了领先地位,也为公司的持续发展奠定了坚实基础。

Aavid Niagra公司的发展小趣事

在快速发展的同时,Aavid Niagra公司始终关注企业社会责任和可持续发展。公司积极参与环保事业,推广绿色生产和消费理念。同时,公司还注重员工培训和福利保障,为员工创造一个良好的工作环境和发展空间。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实的基础。


这些故事框架主要围绕公司的初创、技术创新、全球化战略、行业变革应对以及企业社会责任等关键节点进行构建。您可以根据Aavid Niagra公司的实际情况和公开资料,对每个故事进行具体化和个性化的描述,以确保故事的准确性和可信度。

艾迈斯(AMASS)公司的发展小趣事

在产品研发和技术创新的同时,艾迈斯(AMASS)公司也注重品牌建设和市场推广。公司积极参加各种行业展会和交流活动,与业界同行建立了广泛的合作关系。同时,艾迈斯还通过广告宣传、媒体报道等多种方式提升品牌知名度和影响力。这些努力使得艾迈斯在电子行业中的地位逐渐提升,成为了业内颇具影响力的品牌之一。

Genesys Logic公司的发展小趣事

进入80年代,随着半导体市场的竞争加剧,“General Microcircuits”意识到仅凭自身力量难以迅速扩大市场份额。于是,公司采取了一系列并购策略,先后收购了多家在模拟电路、数字信号处理等领域具有技术优势的小型公司。这些并购不仅为“General Microcircuits”带来了丰富的产品线和技术积累,还显著增强了其研发能力和生产能力,使其在全球半导体市场的地位稳步提升。

问答坊 | AI 解惑

冒昧的问一些如何根据元件大小选取元件的封装形式的问题

各位达人,我在做PCB板的时候对于如何根据元件数值选取元件封装时感到很吃力,举个例子 1.在选取三极管的时候,什么时候选TO-92A,什么时候选TO-92B? 2.一个电容比如一个100N/250V的电容,选取的是RAD0.3,这个电压的要求是不是贴片难以达到, ...…

查看全部问答>

ucos入门知识!

[local]1[/local]uCOS-II中文手册…

查看全部问答>

关于wince手写识别的几个问题

麻烦各位了,小弟新手,有几个问题在这里求教: 1.wince自带手写识别软件不能识别简体,请问怎样做才能让它识别简体? 2.如果要编写一个自己的识别软件,难度大吗?编写的大概步骤是什么?(希望能  比帮助文档具体一点)恳请赐告!谢谢 …

查看全部问答>

in [求助] 中, 换了一个电源带来的问题

in [求助] 中, 换了一个电源带来的问题 我的问题这样的, 主机只是简单的扫描端口, 子机负责把信息显示出来(用LED),开机时会读取一下EEPROM中字符,总共才20个字符。 原来我用子机的电源,主机的电源也是从子机那里拉过来的,很正常,也很 ...…

查看全部问答>

今年题型有变,没有通信,该如何准备呢?

本帖最后由 paulhyde 于 2014-9-15 09:47 编辑 传闻今年没有无线通信题目了,不知是否属实。 如果真的没有了,以前做无线通信的该怎么准备呢?  …

查看全部问答>

ARM启动代码学习(一)RO和RW还有ZI代表什么?(转载)

    一般而言,一个程序包括只读的代码段和可读写的数据段。在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit) ...…

查看全部问答>

嵌入式单片机安卓画板研发和培训,高薪包就业!

嵌入式单片机安卓画板研发和培训,高薪包就业! 改变人生轨迹 规划职业蓝图! ----信盈达成就您的高薪梦想!         技术顾问:欧阳老师15989362803,QQ:877037118     信盈达科技有限公司专业提供嵌入式Arm+Lin ...…

查看全部问答>

ti5402的端口地址在哪找呢

ti5402的端口地址在哪找呢,手册里没发现呀。 ioport unsigned int port8FEE; 这句话后面的8FEE是在哪找的呀 我在手册上找不到 …

查看全部问答>

【PSoC4心得】capsense+led

找了capsense的例程,试着做了capsense控制led的工程。 功能介绍: 用手滑动capsense的触摸板,实现led颜色的改变。 具体连接: 下一步: 利用自带的放大器,完成模拟信号的放大滤波处理。…

查看全部问答>