当前位置:网站首页>四位数显表头设计
四位数显表头设计
2022-08-05 03:52:00 【天外飞仙CUG】

去年帮别人定制了一个四位数显小表头,可以用于测量4-20mA或者0-5V、0-10V输出的的各种传感器,可设置显示范围、上下限报警灯。由于后面更改方案,此方案暂时搁置不用。今天来分享一下软硬件的设计过程。
1.硬件设计
1.1电源
电源采用一个TL431+一个三极管构成线性稳压电路。采用这种方式,一方面是因为成本较低,另一方面,可以做大较大的电源输入范围(普通的1117-3.3等芯片输入范围也就到16V)。另外,TL431还可以为ADC提供参考电压。

1.2显示设计
可以使用单片机直接驱动数码管,但是会占用较多的IO口,且软件设计上稍复杂,这里采用一个TM1650驱动一个4位共阴极数码管。

1.3单片机及AD采样
单片机使用STM32G030F6,内置ADC支持硬件过采样,可以达到16位分辨率。采集电流或电压,通过选择合适的电阻即可。采集4-20mA电流时,R12为0R,R4为150R。采样电压时,R12和R4选择合适的电阻分压,使输入范围在3.3V以内。如果是直接采集电源电压,短接R13即可。
另外一路ADC通道采集TL431的VREF引脚,作为参考电压。


1.4报警设计
两个光耦隔离报警(超高报警、超低报警)输出,外部增加了三极管,用于驱动继电器等较大电流的设备。另外板载一个蜂鸣器(无源),同时引出蜂鸣器接口,也可外接蜂鸣器。

1.5按键
两个按键用于设置显示参数、报警参数、校准等。两个按键同时引出到端子上,也可外接按键。同时2个按键使用的是串口功能的引脚,可修改程序实现串口输出及设置。
最终的PCB板如下,背面为数码管。

2.软件设计
软件上,使用STM32CubeMx设计,使用硬件I2C1接口驱动TM1650。使用了2个ADC通道采集输入电流和TL431的参考电压。使用TIM3CH1输出PWM波驱动蜂鸣器。其它就是2个报警IO和2个按键IO。如下:

软件实现功能如下:




东西只做了一版,软硬件设计上可能还不太完善,仅供参考。
手上还剩了十几个,有人需要的话可以直接在淘宝拍(25元包邮,送原理图和源代码):
https://item.taobao.com/item.htm?spm=a1z10.1-c.w4004-8192824768.10.26ba1b9dUXLv4R&id=668157221254
如果只需要源码和原理图的话,拍下面的链接(2元)。开发不易,希望大家多包涵和支持。
https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.621e3d0dr3HE70&ft=t&id=679567748409
边栏推荐
- 905. 区间选点
- XMjs cross-domain problem solving
- 【Mysql进阶优化篇02】索引失效的10种情况及原理
- 36-Jenkins-Job Migration
- On governance and innovation, the 2022 OpenAtom Global Open Source Summit OpenAnolis sub-forum came to a successful conclusion
- The most comprehensive exam questions for software testing engineers in 2022
- [Software testing] unittest framework for automated testing
- 大佬们,我注意到mysql cdc connector有参数scan.incremental.sna
- ffmpeg -sources分析
- Qixi Festival code confession
猜你喜欢

多御安全浏览器新版下载 | 功能优秀性能出众

Open-Falcon of operation and maintenance monitoring system

Why is the pca component not associated

iMedicalLIS listener (2)

数据库设计的酸(ACID)碱(BASE)原则

MySql的索引学习和使用;(本人觉得足够详细)

How to discover a valuable GameFi?

今年七夕,「情蔬」比礼物更有爱

[TA-Frost Wolf_may-"Hundred Talents Project"] Graphics 4.3 Real-time Shadow Introduction
![[Software testing] unittest framework for automated testing](/img/80/caedd5cf6dd61c9d75475866613cac.png)
[Software testing] unittest framework for automated testing
随机推荐
Developing Hololens encountered The type or namespace name 'HandMeshVertex' could not be found..
ASP.NET application--Hello World
UE4 更改组件变量 (以修改第一人称角色模板的最大行走速度和跳跃高度为例)
Burp installation and proxy settings
2022 High-level installation, maintenance, and removal of exam questions mock exam question bank and online mock exam
How to discover a valuable GameFi?
shell脚本:for循环与while循环
[TA-Frost Wolf_may-"Hundred Talents Project"] Graphics 4.3 Real-time Shadow Introduction
关于#SQL#的迭代、父子结构查询问题,如何解决?
Redis key基本命令
You may use special comments to disable some warnings. Three ways to report errors
JeeSite新建报表
商业智能BI业务分析思维:现金流量风控分析(一)营运资金风险
DEJA_VU3D - Cesium功能集 之 057-百度地图纠偏
public static
List asList(T... a) What is the prototype? Summary of common methods of arrays
开发Hololens遇到The type or namespace name ‘HandMeshVertex‘ could not be found..
【测量学】速成汇总——摘录高数帮
21 Days Learning Challenge (2) Use of Graphical Device Trees
Industry Status?Why do Internet companies prefer to spend 20k to recruit people rather than raise their salary to retain old employees~