一、项目概述
缺少焊接工具与自主设计制造的推力采集卡是CTX Industries团队长期以来面对的问题之一。在之前的试车工作中,团队采用的是氢离子大佬发布的采集卡和面包板临时搭建的采集卡,但功能略显不足;焊接工作中使用的塑料焊枪与电烙铁不能很好的满足电路焊接的要求,元件高温烧毁的情况发生过多次。为解决以上问题,7月初,经过团队内部协商讨论,决定申请科创基金,用于购买焊接工具,制造推力采集卡,为团队工作提供便利。本项目主要分为两部分:第一部分为通过科创基金拨款购买热风焊台及调温电烙铁,拨款后团队已购买焊台与电烙铁,现已正常使用半个月,为焊接工作带来了极大的便利,在此对科创表示感谢!第二部分为制造带有遥控功能的小型推力采集卡,现已制造并调试完成,特将项目进行过程与具体细节详述如下。(先放一张团队Logo
)
二、推力采集卡详解
设计方案与元器件选型
本采集卡计划实现以下功能:在遥控器控制下,进行推力数据的采集/停止采集操作;对不同量程的推力传感器进行校准操作;输出脉冲电流进行点火操作。基于对以上功能的综合考虑,计划采用ATmega328P-AU作为主控芯片,采用Arduino IDE编写程序;采用HX711作为AD转换芯片,以10Hz速率采集数据;采用SPI接口与TF卡进行通讯,将采集到的数据记录在TF卡中;采用433MHz遥控模块(如图2.1-1所示)进行遥控操作。由于SD卡工作需要3.3V电平,故将整个系统工作电压设定为3.3V。
图2.1-1
硬件具体实现
出于将采集卡小型化的考虑,采集卡上大部分元件均采用贴片封装。采用的元件确定后,开始PCB设计工作。采集卡采用7-12v供电,使用AMS1117-3.3作为降压芯片;设有三个指示灯用以指示工作状态;使用MCR100晶闸管输出点火电流进行点火。PCB layout图与3D图、实物图分别如图2.2-1、2.2-2、2.2-3所示。
图2.2-1
图2.2-2
图2.2-3
在实际调试过程中,发现如下问题:
(1)网上许多文章称TF卡SPI总线需上拉电阻,但实际调试发现TF卡在有上拉电阻时无法正常通信,无上拉电阻时能正常通信,故拆掉了上拉电阻(PCB上R8、R9、R10三个电阻);(2)由于焊接技术(或元器件、锡膏质量,具体不得而知)的问题,USB供电接口焊接上之后,总是在插拔插头时发生脱落,重新焊接多次仍无法解决,其他元件均无此状况,故USB接口未焊接(PCB上USB1接口),通过插针输入7-12v电压供电。(3)购买遥控模块时未仔细阅读说明,使用时发现ABCD四个按键分别对应3210四个输出口(说实话这与正常思维不符),故采集卡实际操作时按键功能与设计不同。
软件具体实现
由于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:
附件1.zip
65.91KB
ZIP
38次下载
200字以内,仅用于支线交流,主线讨论请采用回复功能。