作者:EEWorld 论坛网友 lansebuluo



此项目的设计思路如下图所示:

总体框架图

核心板框架图
核心板作为整个设备的核心,计算输出波形的数字量,并通过SPI控制DAC产生想要的电压波形。其外部接口主要包括SPI接口扩展DAC芯片,USART与WIFI模块,USART与按键和显示功能板,核心控制芯片由STLINK-V3MODS提供仿真调试功能。

MCU控制芯片外设图
MCU控制芯片外设提供了STM32G473运行必要的接口,包括电源供电端口,芯片启动BOOT引脚选择,其它GPIO的功能引出到H5。

数字隔离端口
高速数字隔离器电路,用于MCU和模拟量之间的隔离,主要是SPI接口隔离,使用了一片四通道和一片两通道隔离芯片。信号传输速率从 DC 到 150Mbps,2.5kV的隔离耐压值。

DAC转换图
一片AD5449芯片上有两个DAC,基准电压由ADR01(10V)和ADR02(5V)提供,经两个运放芯片组成双极电压输出。这个电路是按照说明书做的,不应该有什么问题,还是大意了,有两路DAC,一路设计没有问题,一路设计少画了一根线,自己设计的电路图,以表明问题点。
芯片推荐示意图:


核心板效果图

电压转换电流电路
这个电路设计的比较巧妙,这出自于模拟电路书上,经过自己改造的,通过仿真软件进行了试验,这个电路没考虑输出带载的能力,输出电流受负载阻值影响,电路还需要优化。

ESP-01S接口电路
除了供电电源3.3V外,需要复位引脚和使能引脚为高电平,接口对应核心板的USART的接收和发送引脚。按键的功能是用于更新ESP-01S模块的程序。

板载电源
电路板使用多个3.3V,这里为了精度,模拟量、数字量各使用独立的3.3V电源。

电流转换板效果图

STLINK-V3MODS接口板
STLINK-V3MODS是一个很小的板,当时购买没太在意,回来后发现不能直接使用,根据官方的资料,做了一个接口板,扩展出了SWD、JTAG、虚拟串口,此项目的程序调试仿真,通过这个板的SWD接口完成。配置ESP-01S模块即使用虚拟串口完成,这个板用起来还是挺方便的。

STM32-V3MODS效果图

按键图

旋转编码器

按键显示板效果图
三、各部分功能说明
3.1 按键显示功能
有6个按键和一个旋转编码器,分别对应功能如下所示:

第一行显示:电流设置值,频率值,例如: 300mA 50.00Hz。
点击确定后,第二行出现设置值,反显电流设定值,可以通过左右移动,更改设定值是电流或者频率。
再次点击“+”或“-”后,对设定值进行更改,右侧出现更改幅度。
更改完成后,再次点击确定,更新到第一行,下发设定值到控制板卡。
当PC端设定电流输出值时,设定值更新到屏幕。
按键显示板由NUCLEO-G491RE完成控制,与主板之间通过USART进行通信。
3.2 通信格式
主板通过两个独立的USART分别于按键显示板和WIFI模块进行通信,通信格式相同,如下所示:

起始、命令、结束字符固定,分别为0xAA、0x01、0x55。
频率单位为0.01Hz,即当数值为5000时,实际频率= 5000 * 0.01Hz = 50.00Hz。频率范围为0-66Hz,当频率为0时,代表DC模式,其它数值为AC模式。
幅值单位为1mA,即当数值为200时,实际幅值= 200 * 1mA = 200mA。
3.3 PC端
PC端有个类似服务器的软件,等待设备的连接,当设备启动后,主板进行AT指令,配置ESP-01S模块,连接WIFI路由器,并试图访问TCP服务器,当访问成功时,配置ESP-01S模式为透传模式。此项目的软件由VS2015中的MFC编写,可通过软件设置电流和频率值。

上位机软件界面
3.4 电路仿真
模拟电路的仿真软件很多,像Pspice,Saber软件,据说好用,但是收费,想我这种小白,不需要很强大稳定的功能,只需要简单操作,能够仿真出结果即可,对性能指标要求不是很高,所以选择了ADI公司的LTspice软件,软件的标是凌力尔特,凌力尔特已经被ADI收购了,自从ADI把凌力尔特和美信收购后,感觉ADC和DAC的价格就上了好几个台阶,难道这就是传说中的垄断可控制价格吗,害苦了像我这种电子爱好者了。当然除了LTspice,还可以使用TI公司的TINA-TI,本人没有使用过,所以也不再考虑这个软件了。上学的时候使用过Multisim,Multisim是美国国家仪器(NI)有限公司,需要破解。
综合考虑之后,使用了LTspice软件,,软件不到70MByte,根据版本有所不同,软件还是蛮小的。
电路仿真图 编辑
得捷大赛获奖作品分享,查看更多详细内容及大赛作品,请在【EEWorld-论坛】搜关键词“DigiKey创意大赛",与原作者一起交流。