[作品提交] 【DigiKey创意大赛】作品提交+简易电流源

lansebuluo   2024-1-7 18:37 楼主
digikey_iot_contest_2023_简易电流源.doc (7.32 MB)
(下载次数: 8, 2024-1-9 09:10 上传)
简易电流源
作者:lansebuluo
  1. 作品简介
    在项目开发过程中,有时会用到标准电流源,来测试产品性能指标,例如4-20mA采样电路、交流电流互感器采样电路,市面上的信号源多为电压输出型,电流型的价格又比较高,萌生出制作一个标准电流信号源。采用STM32微控制器作为控制单元,通过SPI接口控制数模转换器产生标准电压信号,然后通过模拟量转换电路转换为电流信号输出,分为DC模式、AC模式,电流信号的大小为-200mA~+200mA。接口采用WIFI模块与PC机进行通信,能够设置电流信号模式、频率、幅值。
    在此项目中,用到的主要芯片如下:STM32G473CBT6、AD5449、ADR01、CA-IS3741HW、OPA2277、OP1177、TIP42C、TIP41C等,主要用到的成品板卡NUCLEO-G491RE、STLINK-V3MODS、ESP-01S(WIFI)功能。
    STM32G473CBT6具有Arm®32位Cortex®-M4 CPU,带FPU,频率高达170 MHz,带有213 DMIPS、MPU和DSP指令,拥有512 KB闪存和 96 KB SRAM,具有CAN、SPI、I2C、USART等多种外设。这里使用这颗芯片,主要注重SPI速度和运行频率,可以对波形进行快速计算并通过SPI接口更新到DAC。
    AD5449为数字到模拟转换芯片,具有12位分辨率,50 MHz 串行接口,2.47 MSPS 更新速率。
    ADR01为高精度参考电压源,3ppm/°C 典型值,为DAC提供稳定参考电压。
    CA-IS3741HW为高速四通道数字隔离器,信号传输速率从 DC 到 150Mbps,5.0kV的隔离耐压值。
    OPA2277、OP1177为高精度低温度系数运算放大器,提供模拟信号的相互转换。
    TIP42C、TIP41C为功率三极管,提供输出电流能力。
    NUCLEO-G491RE主要扩展了按键和显示功能,其特点如下:
    •LQFP64或LQFP48封装中的STM32微控制器
    •与ARDUINO®共享1个用户LED
    •1个用户和1个重置按钮
    •32.768 kHz晶体振荡器
    •板连接器:
    –ARDUINO®Uno V3扩展连接器
    –ST morpho扩展引脚头,可完全访问所有STM32 I/O
    •灵活的电源选项:ST-LINK USB VBUS或外部电源
    •具有USB重新枚举功能的板载ST-LINK调试器/编程器:
    STLINK-V3MODS为仿真调试器,为核心控制器提供调试功能。
    ESP-01S为wifi转UART模块,提供方便的WiFi连接功能。
    090928qs3jg4v0ztzvtmrj.jpg
    主功能板
    090928slcw1a6qdtc4uxa3.jpg
    按键与显示板
    090928g27s522d0z7zjdji.jpg
    仿真器
  2. 系统框图
此项目的设计思路如下图所示:
090928rifodvxvnwrvdybf.png
总体框架图
090928nxsox61o54va2jf4.png
核心板框架图
核心板作为整个设备的核心,计算输出波形的数字量,并通过SPI控制DAC产生想要的电压波形。其外部接口主要包括SPI接口扩展DAC芯片,USART与WIFI模块,USART与按键和显示功能板,核心控制芯片由STLINK-V3MODS提供仿真调试功能。
090928rsf9ss1g1jbmg5k1.png
MCU控制芯片外设图
MCU控制芯片外设提供了STM32G473运行必要的接口,包括电源供电端口,芯片启动BOOT引脚选择,其它GPIO的功能引出到H5。
090928xs89froy0f82oq78.png
数字隔离端口
高速数字隔离器电路,用于MCU和模拟量之间的隔离,主要是SPI接口隔离,使用了一片四通道和一片两通道隔离芯片。信号传输速率从 DC 到 150Mbps,2.5kV的隔离耐压值。
090928jst1w61kxxpxedut.png
DAC转换图
一片AD5449芯片上有两个DAC,基准电压由ADR01(10V)和ADR02(5V)提供,经两个运放芯片组成双极电压输出。这个电路是按照说明书做的,不应该有什么问题,还是大意了,有两路DAC,一路设计没有问题,一路设计少画了一根线,自己设计的电路图,以表明问题点。
芯片推荐示意图:
090928as7lmdwultsyxdgl.png
090928yydx1noo2znpninr.png
核心板效果图
090928fcd6y8xxuugs4oud.png
电压转换电流电路
这个电路设计的比较巧妙,这出自于模拟电路书上,经过自己改造的,通过仿真软件进行了试验,这个电路没考虑输出带载的能力,输出电流受负载阻值影响,电路还需要优化。
090928rat56aat5dh5bz1w.png
ESP-01S接口电路
除了供电电源3.3V外,需要复位引脚和使能引脚为高电平,接口对应核心板的USART的接收和发送引脚。按键的功能是用于更新ESP-01S模块的程序。
090928vy22w4p2phh8292o.png
板载电源
电路板使用多个3.3V,这里为了精度,模拟量、数字量各使用独立的3.3V电源。
090928ma0efe90f63560tw.png
电流转换板效果图
090928eec0g31e0q801n3a.png
STLINK-V3MODS接口板
STLINK-V3MODS是一个很小的板,当时购买没太在意,回来后发现不能直接使用,根据官方的资料,做了一个接口板,扩展出了SWD、JTAG、虚拟串口,此项目的程序调试仿真,通过这个板的SWD接口完成。配置ESP-01S模块即使用虚拟串口完成,这个板用起来还是挺方便的。
090928hwwjb3h1whv7v5hv.png
STM32-V3MODS效果图
090928jq9p75ygjae4e419.png
按键图
090928me3kwfoxk2sqkaf3.png
旋转编码器
090928sfh0ewq9wm88hs9s.png
按键显示板效果图
三、各部分功能说明
3.1 按键显示功能
有6个按键和一个旋转编码器,分别对应功能如下所示:
090928riz51czv11j12vne.png
第一行显示:电流设置值,频率值,例如: 300mA 50.00Hz。
点击确定后,第二行出现设置值,反显电流设定值,可以通过左右移动,更改设定值是电流或者频率。
再次点击“+”或“-”后,对设定值进行更改,右侧出现更改幅度。
更改完成后,再次点击确定,更新到第一行,下发设定值到控制板卡。
当PC端设定电流输出值时,设定值更新到屏幕。
按键显示板由NUCLEO-G491RE完成控制,与主板之间通过USART进行通信。
3.2 通信格式
主板通过两个独立的USART分别于按键显示板和WIFI模块进行通信,通信格式相同,如下所示:
090928ug2j9cr6fcbg2tfj.png
起始、命令、结束字符固定,分别为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编写,可通过软件设置电流和频率值。
090928br8zibkqqs98l9it.png
上位机软件界面
3.4 电路仿真
模拟电路的仿真软件很多,像Pspice,Saber软件,据说好用,但是收费,想我这种小白,不需要很强大稳定的功能,只需要简单操作,能够仿真出结果即可,对性能指标要求不是很高,所以选择了ADI公司的LTspice软件,软件的标是凌力尔特,凌力尔特已经被ADI收购了,自从ADI把凌力尔特和美信收购后,感觉ADC和DAC的价格就上了好几个台阶,难道这就是传说中的垄断可控制价格吗,害苦了像我这种电子爱好者了。当然除了LTspice,还可以使用TI公司的TINA-TI,本人没有使用过,所以也不再考虑这个软件了。上学的时候使用过Multisim,Multisim是美国国家仪器(NI)有限公司,需要破解。
综合考虑之后,使用了LTspice软件,,软件不到70MByte,根据版本有所不同,软件还是蛮小的。
090928sv1oo44t4gj43q3t.png
电路仿真图
  1. 作品源码
主板软件,主要实现配置WiFi模块,控制DAC输出电压波形,与按键显示板通信。
按键显示板软件,扫描按键和旋转编码器,控制液晶显示模块。
上位机软件,建立TCP服务器,与连接的客户端进行通信,传递电流和频率值。
五、作品功能演示视频
操作按键设置200mA 50Hz电流
操作按键设置150mA 55Hz电流
操作按键设置100mA DC 电流
上位机操作上述步骤一遍:
六、项目总结
这个项目的完成主要由硬件电路设计、软件设计、软硬件调试、功能测试四部分。其中硬件电路设计使用了立创的免费EDA,电路不是很复杂,应付这个没有问题,使用这个软件主要是器件库方便,这节省了很多时间,同时还能免费PCB打样,节省了成本。其它设计的主要器件从得捷电子下单购买,其它一些器件从某官方商城购买。
在得捷下单后,7天左右的时间,物品即到了,这个包括一个STM32的开发板,在设计的电路板没到之前,可以提前进行SPI接口、USART、显示软件的调试,节省了很多时间。
从上面的介绍中,大部分都在说硬件东西,此项目中做了四块电路板,新作的电路板需要一个调试过程,自己也是很粗心,核心板一条线没有画,把一片DAC损坏了,通过飞线进行了修正。电流转换部分,使用了双路运放,造成电路不能正常工作,重新设计了PCB。
感谢得捷电子和EEWORLD,让我体验了从原理图设计、电路板焊接、软件设计、板卡调试、功能测试等还算完整的项目设计过程,也许项目完成的并不是很好,但这个过程让我体会深刻。
本帖最后由 lansebuluo 于 2024-1-9 09:10 编辑

回复评论 (4)

也许项目完成的并不是很好,但这个过程让我体会深刻。

非常优秀了呀,太谦虚了!

点赞  2024-1-7 20:45
驱动led吗?做个恒流源控制光源蛮舒服的
点赞  2024-1-8 08:28
引用: 吾妻思萌 发表于 2024-1-8 08:28 驱动led吗?做个恒流源控制光源蛮舒服的

也可以驱动LED啊,这个方案是用于做标准电流信号源的,用作测试工具使用,比如在电力系统采样中,经常用到霍尔信号采集电路,这个可以测试电路性能。

点赞  2024-1-8 08:55

看照片这个是为了比赛特意做的电路板?挺用心的

点赞  2024-4-25 16:41
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复