本帖最后由 apachectl 于 2019-5-26 17:32 编辑
自从做了T50电压电流表、DP50数控电源之后,就在LCD显示这个领域一发不可收拾,为了让大家更简单的可以开发LCD显示的仪器仪表设备,做了串口屏,现在又做了sHMIctrl的可执行C语言的控制器,基于该控制器,我们把原来的电压电流表头以极少的代码做成,并且完全软硬件开源,希望大家喜欢
电路设计1、采样电路设计这是一个非常简单、实用、标准的电压电流采样电路,基本原理是: - 电压经过R4 R5的分压,进入单片机的电压AD采样;分压比是10:1,也就是说3.3V满量程的AD,实际可以测量的电压是:3.3(10+1)=36.3V; - 电流经过R11采样电阻,确保主GND为0V的话,采样电阻另一端的电压就和电流有关,经欧姆定律得知,V采样电压=I0.025欧; - 采样电压经过运放组成的放大电路,放大倍数由R8 和 R10 决定,Vout=V采样电压*(27K+1.1K)/1.1K; - 因此,电压电流两个AD通过上面电路接到单片机的两个AD端; 2、辅助单片机的选型和电路设计考虑到精度和成本,我们选择了最便宜的STM32单片机:STM32F030F4P6,这款单片机20P的引脚,价格2元出头,AD性能12位,而STM32的AD性能在业界还算是不错的,因此我们选择这款单片机 这基本上就是单片机的最简电路,为了降低成本,我们没有使用晶振,值得注意的是需要给单片机留出刷程序的量产口,否则单片机的固件没法刷入;在此单片机,我们选择了串口刷入,而通信也需要用到这个串口,为此,我们需要在和sHMIctrl控制器的通讯连接中设置2个短路跳线,以在刷程序的时候,隔离控制器; 制定页面结构在制作一个产品UI之前,你需要先想好该产品页面的大致结构和逻辑关系,比如在本产品中,我在设计的时候,手绘了一个简单的逻辑图: 可以看到,整个系统分为5个页面,于是我们得到了页面列表: 页面规划[td]页面编号 | 名称 | 功能描述 | 0 | logo | 启动界面,2秒后跳转到大字页面 | 1 | 大字界面 | 显示数字单路,有菜单按钮跳菜单 | 2 | 曲线界面 | 左字右曲线,有菜单按钮 | 3 | 菜单界面 | 校准、大字界面、曲线界面 | 4 | 校准界面 | 实时显示串口传入的AD值,并由4个按钮,记录4个校准值 | 校准和计算AD值的代码可以看出,上面5个规划页面在sHMIctrl体系中,使用控件是非常好完成的一件事情,而相反,对于AD值计算,却需要写一段程序来完成: 首先,我们回忆一下前面的方案图:
可以看到,在数据层面,系统分为下面两个部分 - 1、校准值的存储 - 2、AD值到显示值的计算
开始制作页面logo页面
大字页面曲线界面这个界面需要使用高级曲线控件,该控件的详细说明参见:高级曲线控件 这个曲线控件主要需要设置自动量程标尺,这个稍微有点不好理解,我们来讲述一下: 菜单界面
这个基本上不用讲,设置几个图标的事; 校准界面硬件接法:注意左侧是表头需要的5V电源,可以和被测量电源共GND,右侧接线,细线表示电流小,可以用信号线,粗线跑电流,必须根据实际电流选择合适的线缆;
下载:
原理图与PCB:https://lceda.cn/sHMIctrl/shmictrl-28-5key-a
STM32辅助单片机源代码:
shmictrl-vameter-stm32.zip
(1.3 MB, 下载次数: 225)
sHMIctrl工程文件:http://shmictrl.com/download/shmictrl-vameter.sz
详细说明:http://shmictrl.com/shmidoc/?key=4129013062
|