
基于天空星的自动化测试机台扩展板
简介
基于GD32F4天空星开发板设计,USB通信,模拟量采集和数字量输入输出端口数各有四个。可读取SD卡内的配方文件,对上述端口进行脱离电脑的执行测试序列,达到自动测试目的。具有时间温湿显示和单项测试。
简介:基于GD32F4天空星开发板设计,USB通信,模拟量采集和数字量输入输出端口数各有四个。可读取SD卡内的配方文件,对上述端口进行脱离电脑的执行测试序列,达到自动测试目的。具有时间温湿显示和单项测试。开源协议
:GPL 3.0
(未经作者授权,禁止转载)描述
项目简介
在自动控制行业中,一般采用电脑或工控机作为上位机进行仪器仪表测试测量控制,如数字量输入采集输出控制,模拟量输入采集,USB通信等。然而,对于简单的测试和自动控制时,利用电脑或工控机来进行测控则属于大材小用,不利于降低成本。为了充分利用硬件性能,天空星系统开发板的GD32F407为国产单片机核心完全满足普通的仪器仪表自动化测试需求。基于此,作者开发了基于天空星的自动化测试机台扩展板,并巧妙利用C语言中的switch语法,开发制作了本项目软硬件,并利用LabVIEW进行辅助的测试流程监视,数据查看以及配方(recipe)文件生成。本项目属于本人原创,未发表文章或参加其他项目,如有转载或参考务必附上本项目的网址链接,谢谢。
项目功能
本项目硬件具有以下单项或综合测试功能,具体介绍如下:
一:RTC日期时间及实时温湿度监控待机显示
硬件通过天空星开发板的USB接口进行供电,当左上角开关处于下方,此时为待机状态,屏幕右侧的红灯亮起,绿灯熄灭表明非自动化测试状态,程序屏幕右上方显示[Home]。硬件通过DHT11采集的温湿度数据和RTC的日期时间数据实时显示在屏幕上,如下图所示:
二:USB串口收发数据通信
在硬件通电处于待机界面时,按下屏幕下方的第一个按键,即可实时显示USB接收到的数据,屏幕右上方显示[USB]。此时再次按下第一个按键send则发送测试字符串至USB串口。按下第四个按键back则返回待机界面,如下图:
三:四通道模拟量数据采集
在硬件通电处于待机界面时,按下屏幕下方的第二个按键,即可实时显示ADS1115模块采集到的四个通道数据,屏幕右上方显示[ADC]。此时再次按下第四个按键back则返回待机界面,如下图:
四:数字量输入采集和数字量输出控制
在硬件通电处于待机界面时,按下屏幕下方的第三个按键,即可实时显示四个数字量输入和四个数字量输出的高低电平状态数据,0为低电平,1为高电平,屏幕右上方显示[DIDO]。此时再次按下第二个按键all_0 则将四个数字输出DO均置为低电平0,再次按下第三个按键all_1 则将四个数字输出DO均置为高电平1,再次按下第四个按键back则返回待机界面,如下图:
五:自动化测试配方文件读取
在硬件通电处于待机界面时,按下屏幕下方的第四个按键即进入到自动化测试界面,屏幕右侧的红灯熄灭,绿灯亮起表明以及进入到自动化测试程序,屏幕右上方显示[TEST],此时将读取SD卡内的配方Recipe文件,如果读取成功则显示Read FILE OK !并将配方文件第一行内容(测试日期时间信息)显示在屏幕中间一行。屏幕下方中间数字表面读取到的配方文件字节数,此时再次按下第一个按键start则开始进行自动化测试,再次按下第四个按键back则返回待机界面,如下图:
六:自动化测试执行
在自动化测试界面时,按下第一个按键start后则进入到测试流程,此时屏幕中间显示读取到的测试项名称,根据测试序列依次进行硬件采集控制,采集控制项有USB收发通信,模拟量AI采集,数字量输入采集,数字量输出控制以及测试延时。实时测试界面如下图所示:
在配方中的测试序列执行完成后,屏幕中间一行显示Test Finish,此时按下第四个按键back则返回待机界面,如下图:
七:SD卡模式
当硬件左上角开关拨动至上方时则进入到SD模式,此时天空星开发板释放对SD卡控制,可以正常取出SD/TF卡,进行数据读取,Recipe配方文件写入。SD模式界面如下图所示:
项目参数
本项目硬件参数如下:
- 开发板为带有SD卡槽的天空星立创开发板,板载芯片具体型号为GD32F407VET6国产芯片;
- USB串口芯片为CH340N,将单片机的TTL信号转为USB信号来和设备仪器仪表或电脑进行通信;
- ADC通道采用ADS1115四通道模拟量采集模块,具有16位精度,IIC通信等特性;
- DIDO数字量输入输出采用单片机自带的GPIO端口,数字量输入输出各有四个;
- 温湿度采集采用DHT11模块;硬件显示屏采用IIC通信的0.96双色OLED屏幕;
- 预留CAN通信,蜂鸣器,红外通信和电源等2.54mm排针口供后续拓展。
原理解析(硬件划分)
本项目硬件模块区域划分如下:
使用天空星开发板作为主控,读取SD卡内存放的Recipe.txt配方文件,依次控制USB串口,ADC采集模块,数字量输入输出端口,温湿度传感器DHT11以及按键和显示屏。
其中:开发板可通过USB串口来控制测试测量采集控制硬件如程控电源,步进电机控制器,功率计数据采集等,开发板向USB串口发送采集控制指令,并记录并解析从串口返回的数据;
ADC采集模块采用现成的ADS1115高精度16位模拟量采集模块,这里设置单端四通道采集,IIC通信,通过发送指令来切换采集通道;
数字量输入输出端口使用开发板引出的GPIO口,分别配置四个数字量输入和四个数字量输出;数字量输入端口可监测开关闭合信号,数字量输出可控制继电器蜂鸣器等由高低电平控制的执行器;
温湿度传感器DHT11采用单线通信,注意DATA线需要上拉;
按键和开关通过监测端口电平高低来判定是否按下,这里使用软件延时来确认按键确实按下,减少按键输入信号抖动;
显示屏使用0.96双色屏,黄色字体为标题栏,蓝色字体为内容栏,使交互和显示方便美观。
软件代码
本项目下位机核心代码如下图所示,每一项测试都对应一个数字序号,SD卡读取Recipe配方文件后,按行将测试序号拆分,再通过已提前编好对应测试序列的数组索引对应测试序号,利用switch条件case分支依次执行指定测试序号的测控内容,目前指定27个序号,序号0为分隔符,一般用在首尾或划分测试为几部分的分界线,实际不执行内容:case1至case8分别为四个USB串口的发送和接收指令,case9至case20分别为四个数字量输入采集指令,四个数字量输出电平设为高指令和四个数字量输出电平设为低指令;case21至case24分别为四个模拟量通道采集指令,case25和case26分别为延时100ms和延时1000ms的指令,用于在测试过程中进行必要的硬件测试停顿。
本项目自动化测试机台扩展板可脱离电脑单独运行测试序列,然而在条件允许的情况下,我们也可以将本硬件通过USB线连接至电脑,通过上位机进行必要的监视,进行数据读取和测试配方生成工作。
上位机辅助系统界面:
上图为测试监控选项卡,在测试过程中,扩展板向串口发送当前测试序列号,因此可通过解析序列号来判定当前测试进度。
如上图所示为上位机数据读取选项卡,在本页面可读取SD内的测试数据和测试Recipe配方信息。
上图为测试Recipe配方文件生成页面,本页面分布多个测试按钮,每按下对应按钮,即生成对应序列至字符串显示控件,在实时测试配方预览编辑,可修改实际Recipe文件内容,并可以清空字符串控件内容或将字符串控件内容保存为Recipe.txt文件至当前文件夹下。
本项目的部分代码参考链接如下:
SD卡读写部分:
GD32+FATFS+SDIO OLED播放视频 移植 踩坑 Bad Apple
ADS1115模拟量采集:
ADS1115多路模数转换器模块移植文档
DHT11温湿度采集:
DHT11温湿度传感器模块移植文档
0.96寸IIC屏幕显示:
0.96寸IIC单色屏模块移植文档
注意事项
- 显示屏下方是RTC电池座,需要安装CR2032电池才能在断电的情况下保存日期时间数据;
- 开发板通过下载器如stlink v2会导致DHT11供电不足采集不到正确数据,同时SD卡也不能正常读取Recipe文件,因此必须通过开发板的Type-c进行供电;
- 本硬件用到芯片的RTC功能,所以需要焊接开发板的32.768kHz低速晶振。
- 本硬件用到SD卡槽,SD卡槽边上的TF卡ESD防护沉金焊盘切不可直接焊接短接否则会导致无法读取SD卡
- 本项目外壳需要螺丝很长,外壳也不够稳定,建议后续修改为滑盖式外壳。
组装流程
本项目采用四层板设计,未焊接的PCB板如下:
正面:
背面:
焊接时,先焊接贴片器件,如LED,电阻,CH340N和电容,之后焊接排母,按键,USB插座,电池座,接线柱等插件,这里用排母是方便开发板可方便从板子卸载。最后将开发板排针焊接与显示屏和ADS1115模块插在对应位置排母上。
此外,本项目也设计了对应的硬件3D外壳,采用上下外壳,外壳实物图如下:
实物图
此处可放入组装完成后完整实物图:
不含外壳的裸机:
外壳组装好的成品外观:
最后,本项目难免存在一些问题,还请留言评论共同探讨,谢谢大家。
设计图

BOM


评论