基于STM32的自动量程电压表的设计方案

发布者:清新自然最新更新时间:2014-02-14 来源: dzsc关键字:STM32  自动量程  电压表 手机看文章 扫描二维码
随时随地手机看文章

  方案中的整个系统可以用一块9V电池供电,实现了低功耗和便携功能。交流测量是用AD637真有效值转换芯片将交流信号转换成直流电压后测量;用带钳位保护的反向放大器进行输入电压转换,实现了10MΩ的输入阻抗和高安全性。电路中关键器件采用TI公司的精密运算放大器OPA07和仪表放大器INA128,实现了高精度的测量;ADC采用STM32f103ZET6片内自带的12位AD,实现了低功耗,量程自动切换功能。

  0 引言

  在智能仪器中,常常用到自动量程转换技术,这使得仪器在很短的时间内自动选取最合适的量程实现高精度的测量。自动量程的实现一般通过控制输入信号的衰减放大倍数实现,就电压表来说其输入测量电压会大于其AD 转换器的输入范围,所以它的量程切换基本上是信号衰减倍数切换的过程。

  1.系统整体方案与工作原理

  系统功能框图如图1所示。STM32F103ZET6处理器是本系统的核心器件,负责控制整个系统的正常工作,包括读取AD 转换后的结果及200mV 与2V 档位的控制;按键输入动作响应;段式液晶的驱动;量程自动转换控制等。

  

  输入的电压信号经过量程转换模块,变成可供ADC模拟输入端能正常进行采样的电压。交流电压测量模块的功能是将被测的交流电压转换成相应的RMS 值。按键输入的功能是切换各种不同的测量模式以及计算相对误差时进行数值输入。

  2.系统硬件结构

  (1)电源管理硬件电路

  本系统具有低功耗模式,即在一定的时间内没有操作,系统在单片机的控制下自动切断一部分电路的工作电源。电源管理电路原理图如图2所示。

  

  电池的正极分成两路,第一路是直接接入到SPX1117的输入端,SPX1117是三端集成稳压芯片,其输出端输出恒定的3.3V,作单片机系统电源。另一路是经过三极管9012可以开关控制,本设计中在系统处于正常工作状态时,单片机控制口输出高电平,9011处于饱和状态,9012的基极电压与地电压相近,9012饱和,即处于导通状态。9V叠层电池的正极电压到达78L05 三端集成稳压芯片的输入端,其输出端输出稳定的+5V电压。-5V由负压电荷泵7660S 产生。当系统处于“低功耗”状态时,单片机控制口输出为低电平。9011处于截止状态,9012的基极电压为9V,也处于截止状态,模拟部分电源电压为零。而单片机将一直处于不同模式的工作状态。

  (2)交流电压转换电路

  交流电压测量真有效值的转换电路是测量交流电压的关键部分,其设计的好坏直接影响到交流电压信号的测量精度,在本次设计中我们通过比较选择采用AD637来实现交流信号到直流量的转变,电路如图3所示。

  

  AC_IN是交流电压输入端,DC_OUT端输出的是直流电压信号。输出直流电压的值是输入交流电压的真有效值。此电路完成了交流到直流的转换,实验测试时发现对于5000Hz 交流信号转换效果仍良好。

  (3)量程转换电路

  本系统量程转换采用单片机控制模拟开关和继电器实现,原理框图如图4所示。

  

  直流/交流(0-20V)电压输入后双掷开关SW_1起到电压量程转换选择作用,固定电阻R1,R3在精密可变电阻R2的配合下组成一个电阻10倍衰减网络,且其输入电阻大于10M 欧,满足题目中输入电阻的要求。最高输入电压可到20V .再由单片机控制SW-1 来选择是否衰减。R1和两个IN4001 构成一嵌位保护电路,使电路在高电压输入时处于安全状态。OP07 构成一个电压跟随器,起到隔离前后通道的作用,其较低的输出电阻还可以提高带负载能力。Output 端接入ADC.[page]

  (4)量程自动切换的实现

  本系统中的自动量程切换对测直流电压和交流电压均有效。量程自动切换关键是通过读ADC 数据判断当前的量程是过量程还是欠量程,合理的硬件设计是量程自动切换的重要保证。量程自动转换流程图如图5所示。

  

  自动量程转换由初设量程开始,逐级比较,直至选出最合适提量程为止。自动量程转换的操作流程如上图所示。继电器或其它控制开关从闭合转变为断开,或从断开转变为闭合有一个短暂的过程,所以在每次改变量程之后要延时一定的时间,然后再进行正式的测量和判断。为了避免在两种量程的交叉点上可能出现的跳动,还应考虑低量程的超量程比较值和高量程的欠量程比较值之间有一定的重叠范围。

  3.软件设计

  数据采集过程中,使用了八阶平均值滤波和一阶滞后滤波,有效的滤去了采样数据的脉冲干扰。程序流程图如图6所示。

  

  4.系统测试与误差分析

  (1)系统测试方法

  直流测试方法:使用直流稳压电源产生直流电压信号,通过高精度万用表观察实际输出直流电压值,将信号通入本系统仪器测量与标准电压值进行比较。

  交流测试方法:使用交流数字信号发生器产生40~5000HZ,电压范围0~20V的正弦交流信号通过示波器观察实际输出频率,通过高精度数字万用表观察实际输出电压值,将信号通直流测试方法:使用直流稳压电源产生直流电压信号,通过高精度万用表观察实际输出直流电压值,将信号通入本系统仪器测量与标准电压值进行比较。

  (2)误差分析

  本系统误差主要由恒流源、AD真有效值转换、双积分ADC 器件等几个方面所带来的误差。AD 真有效值转换,在误差允许的范围内可以将所测交流电压转换成对应的真有效值,但不可避免地受到环境温度的影响,造成转换时可能引起误差。量程自动切换时将原来的微型继电器用耐高压型的模拟开关替换掉。可以进一步降低系统正常工作时的功耗,还可以提高系统的稳定性和可靠性及响应速度。

  5.结束语

  本设计方案实现了直流电压、交流电压的高精度测量,同时具有量程自动转换功能,采用LCD显示,可读性强。STM32F103ZET6在速度、功耗方面性能都非常优越,其丰富的外设也更加方便设计。另外,其价格较低,在成本上也有优势,适合于控制电子产品的设计。方案中采用STM32F103ZET6内部的12位ADC,既满足了测量精度,也省去了外扩AD,使硬件电路更加简单,节省了成本,提高了可靠性。

关键字:STM32  自动量程  电压表 引用地址:基于STM32的自动量程电压表的设计方案

上一篇:十年经验教你如何学习嵌入式系统(基于ARM平台)
下一篇:一种嵌入式的太阳能干燥实时监控系统的设计方案

推荐阅读最新更新时间:2024-03-16 13:35

STM32的书由三部分组成:主控,串行总线,外设传感器
因为一个嵌入式系统也确实就是由这三部分组成!!!! 单片机都是靠串行总线和外设连接的,所以那些公司招聘要求都写着总线协议是有道理的啊!!!!!一个嵌入式系统无非就是主控和外设,连接主控和外设的就是串行总线!!!!!就这么简单的道理。什么样的传感器选用什么样的串口你需要清楚。 所以STM32的固件库包含两部分,一部分就是对应一些外设的文件!!!!所以学STM32,无非就是两部分,一个是主控,一个是外设,再加一个那就是连接主控和外设的串行总线!!!!!!这么理一下一下子清晰了!!!!!!你去看野火的或者正点的STM32的书或者其他单片机的书,无非就是这三部分组成。 无人机你也可以说就是STM32+外设传感器组成的嘛,抛开算法不谈。
[单片机]
<font color='red'>STM32</font>的书由三部分组成:主控,串行总线,外设传感器
普通单片机与STM32单片机中堆栈的区别
学习STM32单片机的时候,总是能遇到“堆栈”这个概念。分享本文,希望对你理解堆栈有帮助。 对于了解一点汇编编程的人,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数据:嵌入式开发中更接近底层的汇编与C语言。堆栈操作由PUSH、POP两条指令来完成。而程序内存可以分为几个区: 栈区(stack) 堆区(Heap) 全局区(static) 文字常亮区程序代码区 程序编译之后,全局变量,静态变量已经分配好内存空间,在函数运行时,程序需要为局部变量分配栈空间,当中断来时,也需要将函数指针入栈,保护现场,以便于中断处理完之后再回到之前执行的函数。 栈是从高到低分配,堆是从低到高分配。 普通单片机与STM32单片机
[单片机]
普通单片机与<font color='red'>STM32</font>单片机中堆栈的区别
基于STM32和CPLD可编程逻辑器件的等精度测频
传统的频率测量方法在实际应用中有较大的局限性,基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化,传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低。本文中提出一种基于ARM与CPLD宽频带的数字频率计的设计,以微控器STM32作为核心控制芯片,利用CPLD可编程逻辑器件,实现闸门测量技术的等精度测频。 本设计的技术指标: 测频范围:1Hz~200MHz,分辨率为0.1Hz,测频相对误差百万分之一。 周期测量:信号测量范围与精度要求与测频功能相同。 占空比测量:准确度99%。 计数范围:0~1000000000,可手动暂停、复位。 功耗大小:5V
[单片机]
基于<font color='red'>STM32</font>和CPLD可编程逻辑器件的等精度测频
STM32芯片UID话题
绝大多数STM32系列的芯片都在固定的地方放置了长度为96位的唯一身份识别码,简称UID,只有极少数STM32系列芯片内部没有该UID,比方超值型STM32F0x0系列,STM32F100系列。具体到哪颗芯片到底有没有UID,在芯片数据手册的首页都有明确的说明,无需猜测。如下图所以: 芯片所对应的参考手册里,有对该UID存放地址的详细介绍。地址因不同系列或子序列而不同。 关于这个UID常有人有些疑问,有几个问题在这里稍微总结下: 1、有无问题。上面说了绝大部分STM32都内置UID,具体以查看数据手册为准。 2、唯一性问题。该UID的唯一性是靠96位这个整体来保证其唯一性,你若截取部分就不保证了。 3、内容问题。有人对这个
[单片机]
<font color='red'>STM32</font>芯片UID话题
基于μC/OS-II的便携式飞行参数数据卸载器
随着嵌入式系统的广泛应用和功能的不断强大,对系统中人机界面的要求也越来越高,因此在嵌入式系统中加入图形用户界面得以广泛运用。为充分发挥32位处理器的功能和性能优势,提高系统的可靠性,使操作更加人性化,更多的工程师在其项目开发中选择移植嵌入式实时操作系统(RTOS)和图形用户界面(GUI)。基于ARM Cortex-M3内核的STM32系列处理器具有性能优异、功耗超低、接口方便、集成度好、开 发容易等优点,针对国内某型号飞机飞行参数检测设备体积大、结构复杂、数据卸载速度慢、误码率高等间题,设计出基于嵌入式实时操作系统μC/OS-II的便携式飞行参数数据卸载器,可解决以上问题。 μC/OS-II是一个可裁剪的实时操作系统多任务内
[单片机]
基于μC/OS-II的便携式飞行参数数据卸载器
记ST_LINK与STM32的连接调试
由于先前的32板子不能但不调试,就是不支持JTAG/SWD,平时测试程序只能是编译没问题了就直接下载到板子上,如果想看运行过程中的变量的值只能是靠自己的推测,或者一些自己想出来的土办法(比如用串口打印或者led显示)。 于是在某宝30多块入手mini32板子加st-link调试器。如图 客服不是很专业,给了一些资料就完事了,再问一些问题,一直支支支吾吾的答不上来。只能是自己看资料解决了。 下面将连接流程介绍下: 首先保证连线的准确,这是重中之重,一定要检查清楚。 其次安装客服给的ST-link v2驱动程序,安装过程中的选项默认就好包括路径。 安装完成后插上STLINK打开设备管理器就可以看到STLINK
[单片机]
记ST_LINK与<font color='red'>STM32</font>的连接调试
关于STM32精准采频率的实现
这次做训练题遇到了采频率的问题,做单项并网问题,需要实时了解频率的相关信息。 尝试直接用他们提供的输入捕获,发现并不是很好用,琢磨了半天,实现了自己的部分采用。 这里就不一步一步的分析了,估计看的情况也比较少。 直接上手,不过,博主是从正点原子那里直接得到的库里面查找的信息。 一般定时器的配置 pwm_in_mode.h文件 这里介绍了两个配置函数 #ifndef __TIMER_H #define __TIMER_H #include stm32f4xx.h void TIM2_CH2_Cap_Init(void); void TIM2_IRQHandler(void); #endif 看自己
[单片机]
关于<font color='red'>STM32</font>精准采频率的实现
基于STM32的实收实发超声波检测系统研究
1、引言 在高频的超声波数据采集及频率分析的应用中,通常会采用实收实发的系统来模拟收到信号,目前最经常采用的模式是使用下位机高速连续采样,上位机进行数据分析的模式,然后在将检测的信号通过D/A发送出去。这种模式可以完成M级甚至于G级的数据连续采样,目前已经在高速的工业信号采集中得到了广泛的应用。 提出基于STM32的实收实发系统,主控芯片采用目前最新的STM32F407芯片,属于ARM公司推出的最新一代低功耗高性能片上系统,内核为CORTexM4,最高主频可以到168MHz,内部采用ARM的精简指令集,单周期指令,并且集成了ARM公司的浮点DSP指令集,可以对数据进行信号滤波以及FFT运算,计算能力超过TI的200M主频的DS
[单片机]
基于<font color='red'>STM32</font>的实收实发超声波检测系统研究
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved