历史上的今天
返回首页

历史上的今天

今天是:2025年04月07日(星期一)

正在发生

2018年04月07日 | 基于C8051F040单片机的高精度电子承载平台平衡调整系统设计

2018-04-07 来源:eefocus

    前 言

    随着现代科技不断发展,人们对于各种基座平台水平精度的要求也越来越高,而现有的一些光学仪器已不能满足对一些工程、建筑、实验室和军舰基座平台进行水平度检测,针对这一现实问题,采用新华龙公司的C8051F040作为主控制器,设计出一个具有承重、倾角调节及液晶显示、语音播报等功能的高精度电子承载平台平衡调整系统。电子承载平台是一种承重、测量的设备,其工作原理是通过倾角传感器将作用在承载平台上的倾角大小转换为相应的电信号,以数字量的形式在液晶显示屏上显示出来,并且系统能实现自动调平。

 

    系统采用C8051F040作为控制核心,利用高精密倾角传感器将倾角大小经液晶屏显示、语音播报输出,并能通过外部设定自动调整平台的水平和倾斜。如何选择承载平台的支撑腿,稳定速度和提高精度是系统设计的关键。系统选用直流电机驱动升降杆控制平台倾角,速度调整灵活,承载力大,精度高。系统具有的功能包括:可承载1000克重的物品,平台可沿任意方向在30°内倾斜,能在8秒内调平,调平精度<2°,且具有人机交互显示、语音播报等功能,是一个多功能的高精度平衡调整系统。

    方案设计

    根据设计要求,承载平台平衡调整系统可以划分为稳压电源,单片机(MPU),升降推杆,LCD显示模块,键盘控制模块和语音播报模块。系统模块基本框图如图1所示。

图1 承载平台平衡调整系统模块基本框图

    升降推杆驱动方式的选择

    升降推杆是一个重要的单元模块。系统是通过调整位于矩形平台三个边角升降推杆的位置,来实现平台平面倾角的变化,升降推杆驱动方式的好坏直接影响最终的结果,有如下两种可选驱动方案。

    方案一:步进电机驱动螺旋推杆

    用步进电机实现物体的精确定位和方向控制。步进电机是一种脉冲控制电机,它是一种能将脉冲信号转换为角位移的数模转换器,可广泛用于无需反馈控制但要求有精确位置的场合。该驱动方式是以步进电机旋转螺杆的方式来实现推杆的伸缩,达到改变平台各点位置的目的。步进电机可以实现准确步长,但输出力矩低,速度慢,体积大,较笨重。

    在实际操作中,螺杆标准件的螺纹间距小,要达到8秒内迅速升降定位,需要电机转速达到10转/s,在实际测试中,步进电机的最大转速是3转/s,无法达到系统设计8秒内调整倾角的要求。

    方案二:直流电机驱动升降推杆(见图2)

图2 直流电机驱动升降推杆结构简图

    采用带旋转编码器控制直流电机,电机运转平稳,精度可以得到保证。但其驱动电路复杂,在短时间内难以实现。而直流减速电机具有转速快,体积较小,重量轻,可直接使用单片机输出PWM控制转速和可控性好的特点,经计算,选择减速电机以求较大力矩,即可满足系统在时间指标上的要求。

    方案一可以达到高精度控制,但转速无法达到系统设计要求,方案二可达到系统速度和精度设计要求,且结构设计更为合理,故采用方案二。

    电机驱动模块的选择

    方案一:采用电机细分驱动。电机细分驱动芯片TA8435可以用两路PWM信号控制两个步进电机,能够较多地节省单片机资源,但致命的缺点是当单片机速度变化较大时,电机很容易失控。

    方案二:采用专用芯片L298N。响应频率高,一片可控制两个直流电机,操作方便,稳定性好,外围电路简单,焊接容易。

    因此,电机驱动模块采用方案二。

    电源模块的选择

    方案一:采用干电池作为系统的电源,由于系统耗电量较大,使用干电池需经常换电池,不符合节约型设计要求。系统所需采用机械部件多,系统平台倾斜角大,电池总量大,使用干电池存有较大安全隐患。

    方案二:采用24V可充电蓄电池电源,不仅功率可以满足系统需求,不需要更换电池,而且比较轻便,使用更加安全可靠。

    基于以上分析,电源模块采用方案二。

    显示模块和键盘模块的选择

    本设计显示模块使用液晶显示屏显示时间和路程。12864M汉字LCD液晶显示器的优点:微功耗、尺寸小、超薄轻巧、显示信息量大、字迹清晰、美观、视觉舒适;可以用中文LCD液晶进行菜单显示,使整个控制系统更加人性化。而键盘模块则选用4×4矩阵键盘。

    倾角传感器的选择

    本设计倾角传感器采用SFT245AL双轴倾角传感器。该传感器将物理信号转换为电信号,经放大电路放大并滤波后,通过A/D转换将模拟电压信号转换成数字量传送给MPU,校准处理后转化为倾角测试结果,测量范围±45°,它具有零点设定,输出频率可调和波特率可选等功能。

    语音芯片的选择

    该系统在语音播报上不需要长时间的语音播放,为了减小成本,本设计语音芯片选用ISD1420,其录音时间为20秒,价钱便宜,技术成熟。

    最终方案

    经过上述的分析和论证,本设计决定系统各模块采用的最终方案如下:

    (1)主控单元:C8051F040单片机;

    (2)稳压电源:24V蓄电池;

    (3)传感器单元:SFT245AL双轴倾角传感器;

    (4)显示模块:LCD12864M;

    (5)键盘模块:4×4矩阵键盘;

    (6)语音模块:ISD1420芯片。

    系统详细结构图如图3所示。

图3 承载平台平衡调整系统详细结构图

    系统主要单元电路设计

    电源模块和继电器电路的设计

    电源模块使用L2576HV稳压电路,具体电路图如图4。

    图4 稳压电源电路图

    继电器控制直流电机的正反接,实现滑轮的上下滑动。每个继电器都有一个工作指示灯。当继电器通电时灯亮,断电时灯灭。灯亮时电机接口接电源正极,灯灭时接地。每次转换时都要先接地。继电器电路设计如图5所示。

    图5 继电器电路图

    电机驱动电路的设计

    电机驱动模块采用L298N电路,具体电路如图6所示。

图6 电机驱动电路图


    液晶显示电路的设计

    由于C8051F单片机不带LCD驱动,所以需要设计液晶显示驱动,12864M的CS,WR,DT,液晶显示驱动电路如图7所示。


图7 液晶显示驱动电路图

    矩阵按键的设计

    本系统总共需要16个按键,按键扫描电路如图8所示。

图8 按键扫描电路图

    语音模块电路的设计

    语音模块采用ISD1420芯片,语音电路实现录音和放音的功能,具体电路设计如图9所示。

图9 语音电路图

    系统程序设计

    系统软件所实现的功能

    该系统要完成对倾角传感器所传来的信号进行处理来控制运动物体的运行方向、计算运行物体的坐标位置、LCD数据显示和键盘控制等功能。归纳为以下两大功能:(1)对倾角传感器所采集的数据进行处理和运算,并输出到LCD显示。(2)对按键输入信号采集和判断,控制直流电机升降杆的位置。

    系统软件流程设计

    该系统软件设计由液晶显示子程序,语音播报子程序,按键扫描子程序和倾角调整子程序组成。系统主程序流程图如图10所示。

图10 系统主程序流程图

    设计实现和功能调试

    直流电机推杆速度测试

    测试仪器:直尺(精度0.01m),量角器(精度0.1°),铅垂,秒表(精度10ms)。

    测试方法:首先测试推杆的最大升降速度,用直尺测量出推杆开始的距离值A点,电机两端加上24V电压,开始计时,记录下结束距离值B点和结束时间,计算出升降速度。表1的数据是多次测试取得的推杆平均速度,测试结果见表1。

    表1 直流电机推杆速度测试结果记录表

    角度调节精度测试

    测试仪器:秒表(精度10ms),量角器(精度0.1°)。

    测试方法:通过按键输入角度值,记录下时间后,通过液晶显示倾角传感器的倾角数值,与量角器测试的数值比较之后,记录下实际倾角数值后,比较得出该系统精度。测试结果见表2,经过测试得出该系统调角时间在5秒之内,精度控制在2°的误差。

    表2 角度调节精度测试结果记录表

    结束语

    C8051F040是高度集成的混合信号SoC级微控制器芯片。承载平台平衡调整系统集成了C8051F040处理器、倾角传感器、ISD1420语音播报模块、人机交互界面等硬件电路。整个系统结构清晰,速度稳定,操作简单,成本低,经测试,该系统运行可靠,具有较好的应用前景。    结束语

    C8051F040是高度集成的混合信号SoC级微控制器芯片。承载平台平衡调整系统集成了C8051F040处理器、倾角传感器、ISD1420语音播报模块、人机交互界面等硬件电路。整个系统结构清晰,速度稳定,操作简单,成本低,经测试,该系统运行可靠,具有较好的应用前景。


推荐阅读

史海拾趣

Eureka Microelectronics Inc公司的发展小趣事

为了支持公司的持续发展和业务扩张,Eureka成功完成了多轮融资。这些融资不仅为公司提供了充足的资金支持,也吸引了众多投资者的关注。借助这些资金,Eureka加大了在研发、生产、销售等方面的投入,进一步提升了公司的竞争力和市场地位。同时,公司也积极开展战略合作,与上下游企业建立了紧密的合作关系,共同推动产业链的发展。

DZUS公司的发展小趣事

在XX世纪XX年代,DZUS公司的创始人John Doe看到了航空工业对高质量紧固件的迫切需求。他凭借自己在机械工程领域的深厚造诣,设计并制造了第一款DZUS快拆紧固件。这款产品在航空工业中迅速获得了认可,为DZUS公司的发展奠定了坚实的基础。John Doe的创业精神和对品质的坚持,成为了DZUS公司的核心价值观。

DCX-CHOL Enterprises公司的发展小趣事

随着公司规模的扩大和市场竞争的加剧,DCX-CHOL Enterprises意识到品质管理的重要性。公司投入大量资源提升生产线自动化水平,引进先进的品质检测设备,并建立了严格的质量管理体系。这些措施有效地提高了产品的品质稳定性和可靠性,赢得了客户的信赖。同时,公司还注重员工培训和技能提升,培养了一支高素质、专业化的技术和管理团队。

GardTec Inc公司的发展小趣事

背景:随着公司实力的不断增强,GardTec开始积极拓展新的市场领域,提升品牌影响力。

发展:公司不仅在风扇配件市场保持领先地位,还逐步将业务拓展到更广泛的电子配件领域。同时,GardTec积极参加各类行业展会和交流活动,提升品牌知名度和影响力。

影响:通过市场拓展和品牌影响力的提升,GardTec在电子行业中的地位更加稳固,为公司的长期发展奠定了坚实的基础。同时,这也为公司的合作伙伴和客户带来了更多的机遇和价值。

Ememory Technology Inc公司的发展小趣事

在2022年,eMemory宣布加入英特尔晶圆代工服务加速器(Intel Foundry Services Accelerator)计划。这一合作标志着eMemory的技术得到了国际半导体巨头的认可。通过这一计划,eMemory为使用英特尔晶圆代工服务的客户提供全球领先的安全IP解决方案,进一步提升了其产品在全球市场的竞争力。

GSI Technology公司的发展小趣事

面对电子行业日益激烈的市场竞争和快速变化的市场需求,GSI Technology不断调整战略方向,积极应对挑战。公司加大在研发方面的投入,不断优化产品结构和生产工艺,提高产品质量和竞争力。同时,GSI还积极推动企业转型升级,向更加智能化、绿色化的方向发展。通过一系列的努力,GSI成功克服了行业内的诸多挑战,保持了持续稳定的发展态势。

问答坊 | AI 解惑

关于电容三点式震荡电路的问题

我的这个电路图怎么不起振呢?…

查看全部问答>

怎么调用CreateFile对于minidriver

我看testcap里的minidiver里没有设备名和符号名,那应用程序怎么和这个驱动交互啊,谢谢!…

查看全部问答>

为什么每次PB编译后我的C盘可用空间都要减少几百M

如题 发现每次将PBWorkspaces里的文件删除后重新编译,C盘可用空间都要减少几百M,不知为何缘故。 怎样才能将那些减少的可用空间重新追回来。 刚装完PB时,C盘空间有8G,如今只剩下1.5G,这中间差的空间去哪了 求高手指点 谢谢…

查看全部问答>

花了二年时间和近5W RMB学javaEE,现在想转学嵌入式,请过来的前辈给点意见!

     小弟马上要大学毕业,时间不多,所以想前辈高人指点,希望给出合理学习嵌入式的方向,以及应先后学些什么,用什么样的书,小弟先在此拜谢了!写得有点长,请耐心看完。先自我介绍一下:      男,23 ...…

查看全部问答>

ARM板做声控小车

我是在校学生,学的东西还不多,想用ARM板做声控小车,语音识别用DSP? 学长们给点点拨…

查看全部问答>

宽带功率放大电路

现有一个电阻1欧姆,电感0.23微亨器件,需要用频率为0.2-20MHz、电流为100-200mA的正弦信号去驱动它,不知道有没有高手做过啊?给点拨一下…

查看全部问答>

几天登陆不上ST,今天发现都有STM32F100了

                                 看来我是OUT了…

查看全部问答>

有关TI芯片的选择问题

请问有谁能说一下 MSP430、C2000 或 Cortex-M(Stellaris) 这几款芯片那款更适合做图像处理方面的运算,正在做一个通过实时数据的传输动态画图的东西,由于刚开始学习,不太了解,希望大家能给点意见!…

查看全部问答>

关于430仿真器的问题。

我的430仿真器是利尔达公司的FET430UIF的USB的JTAG型仿真器。但是不知什么时候竟然连到电脑上之后状态灯和电源灯都不亮了,但是显示的端口是连接了设备。不能够下载程序了,这是为什么呢?…

查看全部问答>

单片机语音温度计怎么加整点报温

////////语音播报子程序 #define __ISD1420_H__ #include \"main.h\" #include \"clock.h\" #include\"lcd1602.h\" #define ISD1420IO P1   //播音地址端口 sbit playe = P3^0;    //开始播音口 extern const unsigned ...…

查看全部问答>