遥控式多功能推力采集卡设计制造
zx-901432021/07/31原创 科创基金喷气推进 IP:青海

一、项目概述

缺少焊接工具与自主设计制造的推力采集卡是CTX Industries团队长期以来面对的问题之一。在之前的试车工作中,团队采用的是氢离子大佬发布的采集卡和面包板临时搭建的采集卡,但功能略显不足;焊接工作中使用的塑料焊枪与电烙铁不能很好的满足电路焊接的要求,元件高温烧毁的情况发生过多次。为解决以上问题,7月初,经过团队内部协商讨论,决定申请科创基金,用于购买焊接工具,制造推力采集卡,为团队工作提供便利。本项目主要分为两部分:第一部分为通过科创基金拨款购买热风焊台及调温电烙铁,拨款后团队已购买焊台与电烙铁,现已正常使用半个月,为焊接工作带来了极大的便利,在此对科创表示感谢!第二部分为制造带有遥控功能的小型推力采集卡,现已制造并调试完成,特将项目进行过程与具体细节详述如下。(先放一张团队Logo sticker

CTX logo.jpg

二、推力采集卡详解

  1. 设计方案与元器件选型

    本采集卡计划实现以下功能:在遥控器控制下,进行推力数据的采集/停止采集操作;对不同量程的推力传感器进行校准操作;输出脉冲电流进行点火操作。基于对以上功能的综合考虑,计划采用ATmega328P-AU作为主控芯片,采用Arduino IDE编写程序;采用HX711作为AD转换芯片,以10Hz速率采集数据;采用SPI接口与TF卡进行通讯,将采集到的数据记录在TF卡中;采用433MHz遥控模块(如图2.1-1所示)进行遥控操作。由于SD卡工作需要3.3V电平,故将整个系统工作电压设定为3.3V。

    2-1.1.png

    图2.1-1

  2. 硬件具体实现

    出于将采集卡小型化的考虑,采集卡上大部分元件均采用贴片封装。采用的元件确定后,开始PCB设计工作。采集卡采用7-12v供电,使用AMS1117-3.3作为降压芯片;设有三个指示灯用以指示工作状态;使用MCR100晶闸管输出点火电流进行点火。PCB layout图与3D图、实物图分别如图2.2-1、2.2-2、2.2-3所示。

    2.2-1.png

    图2.2-1

    2.2-2.png

    图2.2-2

    1627653885393.jpg

    图2.2-3

    在实际调试过程中,发现如下问题:

    (1)网上许多文章称TF卡SPI总线需上拉电阻,但实际调试发现TF卡在有上拉电阻时无法正常通信,无上拉电阻时能正常通信,故拆掉了上拉电阻(PCB上R8、R9、R10三个电阻);(2)由于焊接技术(或元器件、锡膏质量,具体不得而知😂)的问题,USB供电接口焊接上之后,总是在插拔插头时发生脱落,重新焊接多次仍无法解决,其他元件均无此状况,故USB接口未焊接(PCB上USB1接口),通过插针输入7-12v电压供电。(3)购买遥控模块时未仔细阅读说明,使用时发现ABCD四个按键分别对应3210四个输出口(说实话这与正常思维不符),故采集卡实际操作时按键功能与设计不同。

  3. 软件具体实现

    由于Arduino有开发快捷,调试方便,移植性强,支持外设多,balabala...等诸多优点(其实说白了就是我不会用别的单片机😅),故采用Arduino IDE进行程序编写,使用SPI与SD卡库操作SD卡,HX711库操作HX711芯片,EEPROM库操作MCU内置EEPROM存储器,记录校准参数。遥控功能最初设计为通过外部中断进行记录与校准操作,后来发现数据记录过程中如果发生按键误触有可能突然切入校准模式,故改为在主函数中通过if语句判断按键情况进行相应操作,可以有效防止误触。

    程序详解如下:

    第一部分:加载库文件,定义全局变量,定义硬件引脚;

    第二部分(setup函数):设定I/O引脚模式,进行HX711与TF卡初始化操作,并使用LED灯指示状态;

    第三部分(main函数):LED灯闪烁,指示系统处于待机状态,同时使用if语句检测按键情况,调用set/measure函数进行校准/采集操作;

    第四部分(set函数):LED灯亮3秒,提示用户放置重物进行校准,放置重物后根据从传感器获取的数据与实际重量计算校准参数,并将校准参数保存至EEPROM中。完成上述操作后,校准指示灯快速闪烁3次提示操作完成,退出校准模式;

    第五部分(measure函数):读取EEPROM中校准参数并将其赋值给变量,记录指示灯亮2秒提示采集即将开始,采集开始后每秒进行10次采集,每进行一次采集指示灯闪烁一次,将采集到的数据保存至SD卡中。

    全部Arduino源代码及使用的库文件打包在附件1中。

三、项目总结

项目开展以来,团队在从元件选型,PCB设计到程序编写,焊接调试的开发过程中遇到了诸多问题,其中大部分问题无法通过Google解决,然而,在团队成员的通力合作下,这些问题都逐步得到了解决。

下面说点我的个人感受😂,由于这是团队第一次开发这种复杂性较高的电子产品,在开发过程中,我们遇到了许多难以预料,甚至是令人费解的问题。先是主控芯片在焊接时封装突然爆裂,紧接着是TF卡不断调试都无法工作,取下上拉电阻后出人意料地恢复正常,还有进行飞线测试时意外短路,稳压器烧毁,险些造成烫伤...总之,开发电子产品是一个极度考验耐心的过程,在许多个绞尽脑汁却徒劳无功的夜晚,我也想过放弃开发,不如买个现成的采集卡算了,但每当看到论坛里各位大佬取得的成果,看到QQ上@TonyStark @MARX两位队友的彻夜不眠,看到面前的采集卡指示灯慢慢闪烁,我就又有了再努力一下的信心,这篇帖子才能出现在大家面前...


此贴完~


ps:各位千万别用蓝色LED做指示灯,眼睛会瞎掉的😂


附件1:

attachment icon 附件1.zip 65.91KB ZIP 38次下载

[修改于 3年5个月前 - 2021/08/01 21:14:16]

+10  科创币    TonyStark    2021/08/02 非常杰出的设计!完成这个项目确实很辛苦
来自:自助服务区 / 科创基金航空航天 / 喷气推进动手实践:实验报导
8
 
5
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
谁叫小明
3年5个月前 IP:广东
895576

弄出个采集卡不错的,但是还是有些地方感觉做的不是很足,还有一些问题比较疑惑

1.看了一下走线,电源进来之后走的该是1117降压,一般来说用5v就足够了吧,压差太大容易烧1117,7-12v认为不是很合理。

2.这种直插晶振一般都是无源晶振吧,为什么没有了起振电容??

3.711的芯片我记得有10hz和80hz的对于推力采集来说10hz不是很满足不能为了精度舍了速度

4.板子的电容太少了1117出来就直接进芯片了这不太友好,这种采集一般还是需要点稳定性的

5.用arduino ide开发的冗余度有点高,711芯片还是10hz的这么下来的真实采集速率就很低了

不过能自己做出来这样的采集卡也挺厉害了,继续加油


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-90143作者
3年5个月前 修改于 3年5个月前 IP:青海
895580
引用谁叫小明发表于1楼的内容
弄出个采集卡不错的,但是还是有些地方感觉做的不是很足,还有一些问题比较疑惑1.看了一下走线,电源进来...

1.1117的datasheet上面写的输入电压就是7-12v 实测8.1v 11.6v都完全没问题 这个电压值主要是为了2s 3s锂电池供电使用

2.这个...没有起振电容也能跑😂而且很稳定

3.速率低确实是一大问题 以后的开发中会改进的 谢谢大佬提醒

4.1117电压很稳的 真的非常稳 不过还是谢谢提醒

5.真实采集速率就是10hz左右 尝试过输出推力的同时输出时间 两次采集间隔大约是100ms

谢谢大佬鼓励&建议😄


引用
评论
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
1211
3年5个月前 IP:四川
895581

压差大,同样的电流下耗散功率就大,要计算耗散功率,手册只是给定了应用范围。

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
大仙
3年5个月前 IP:江苏
895586
引用zx-90143发表于2楼的内容
1.1117的datasheet上面写的输入电压就是7-12v 实测8.1v 11.6v都完全没问题...

压差大还是用dcdc 比较合适,ldo 的话发热感人。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
火箭推进实验
3年5个月前 IP:浙江
895587

有文章写如何改采集速率的希望可以看看。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-90143作者
3年5个月前 IP:青海
895596
引用1211发表于3楼的内容
压差大,同样的电流下耗散功率就大,要计算耗散功率,手册只是给定了应用范围。

emm...其实这采集卡电流最大50ma 耗散功率没多少的 如果以后做大功率的东西就得低压差咯 谢谢大佬指教

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-90143作者
3年5个月前 IP:青海
895597
引用大仙发表于4楼的内容
压差大还是用dcdc 比较合适,ldo 的话发热感人。

这个采集卡电流小 其实几乎没啥发热 1117也能搞 谢谢大佬提醒

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
zx-90143作者
3年5个月前 IP:青海
895598
引用火箭推进实验发表于5楼的内容
有文章写如何改采集速率的希望可以看看。

速率改到80hz很简单,只需要改一个引脚电平值而已 但是arduino跟不上这么快速度,所以才用10hz

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}