基于C8051F410单片机的精确信号模拟电路设计

发布者:Yuexiang666最新更新时间:2024-01-12 来源: elecfans关键字:C8051F410  单片机 手机看文章 扫描二维码
随时随地手机看文章

在对某型发射装置进行检测时.需要提供三组以11.50伏为基准的精确直流电压信号。为配合测试流程,这三组信号需要在不同的时段取18个不同的直流电压值,幅度分布在9.33-12.13伏范围之内。原有的测试仪采用22个精密电阻组成的分压器,配合波段开关选择来产生这18种不同的精确直流电压信号。这种设计方法价格昂贵,并且不能实现自动化检测,需要通过手工拨动波段开关来实现测试步骤的转换。为了实现对发射装置的自动测试。采用微机技术设计了新型的检测仪。新的检查仪以CPU模块为核心,通过程序控制D/A转换器来产生这三组精确直流电压信号,简化了设计,降低了成本,实现了测试步骤的自动切换。但是在检测仪的使用过程中发现经常出现重测合格 (RTOK)现象,即检测仪测定某件装备不合格,但是更换仪器或重新开机后再对该装备进行测试时结果良好.这种状况严重影响装备单位的使用和维护。后经分析.认为主要是检测仪中产生这三组精确信号的模拟电路存在工作点漂移问题,精度不高。电压输出不稳定,从而导致测试状态不正确。为了解决这个问题,本文基于C8051F410单片机。采用PWM调制技术和负反馈测量技术设计了~种新的精确信号模拟电路,有效抑制了工作点漂移问题提高了模拟电路输出精度.解决了装备维护使用工作中存在的实际问题。


1 电路结构及原理

电路设计采用了闭环控制结构,如图l所示。电路以C8051F410单片机为核心.通过程序设定需要输出电压的初始参数,控制单片机内部的可编程计数器阵列(PCA)产生适当占空比的PWM波形,经二级信号放大电路和推挽式输出电路放大后得到精确直流电压信号。为了抑制-亡作点漂移并保证足够的输出精度,将输出信号经分压后引回至C8051F410单片机,利用单片机内部的数/模转换器测量该电压,并与初始设定参数相比较.通过程序调节PWM波形的占空比.从而得到具有高可靠性和较高精度的直流电压输出信号。

 基于单片机C8051F410的精确信号模拟电路设计

本电路的基本思想就是利用单片机具有的PWM端口,在不改变PWM方渡周期的前提下.通过软件的方法调整单片机的PWM控制寄存器来调整PWM的占空比,从而得到所需要的电压信号。本电路所要求的单片机必须具有ADC端口和PWM端口这两个必需条件,ADC的位数要求尽鼍高,单片机的工作速度要求尽量快。在调整输出电压前,单片机先快速读取输出电压的大小.然后把设定的输出电压与实际读取到的输出电压进行比较,若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比:若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。经选型发现,C8051F410单片机处理器最高运行时钟可达 50MHz:具有6个PCM模块.可实现PWM输出;具有1个12位ADC模块,满足电压测量精度要求。


2 硬件设计

整个电路的硬件设计主要包括C8051F410单片机的外围电路设计、放大电路设计以及电压反馈测量前置电路设计三个部分。如图2所示。

 基于单片机C8051F410的精确信号模拟电路设计

整个电路以C805IF410单片机为核心。C805IF410单片机具有P0、P1、和P2数字/模拟可配置的I/0 口,所有的数字和模拟资源都可以通过这三组24个I/O引脚使用。输出一路精确模拟信号,需要设置—个引脚作为PWM输出口,一个作为ADC输入口。在这里,我们设置PO.1为PWM输出口,P0.2为ADC输人口。

C8051F410单片机外围电路设计主要包括在线调试和下载电路、外部参考电压电路和滤波电路设计。本文利用单片机提供的C2调试接口设计了在线调试和下载电路.如图2左上侧电路所示.通过计算机串口实现单片机的快速编程和系统在线调试。图2下右侧为外部参考电压电路琏接到单片机的Vref引脚.为单片机ADC等模块提供2.048伏电压参考.可通过电位器进行调校。

放大电路包括二级电压放大电路和推挽式功率输出电路两个部分.如图2右侧电路所示。二级信号放大电路和推挽式输出电路均为经典电路,在此不再赘述。

电压反馈测量前置电路如图2右侧上部所示,实质为分压电路。由于设定C8051F410单片机参考电压为2.048伏,而输出电压最大值为12伏左右,因此选择电阻R15=4.3K,R16=20K,电位器Pv1标称电阻为5K,并可通过调节电位器来改变电压倍数。

3 软件设计



本电路中运用c语言编程来实现PWM控制,利用C8051F410芯片的可编程计数器阵列组成PWM发生器。C805IF410芯片的可编程计数器阵列由一个专用的16位计数器/定时器和3个16位捕捉/比较模块组成.捕捉/比较模块有六种工作方式:边沿触发捕捉、软件定时器、高速输出、频率输出、8位PWM和16位PWM。每个捕捉,比较模块的丁作方式都可以被独立配置。对PCA的配置和控制是通过系统控制器的特殊功能寄存器来实现的.主要有以下几个:

1) PCAOCN可编程计数器阵列控制寄存器。该寄存器包括溢出标志、运行控制标志以及捕捉/比较标志。

2) PCAOMD可编程计数器阵列方式寄存器。该寄存器用于设置可编程计数器阵列的工作模式及时钟源。

3) PCAOCPMn可编程计数器阵列捕捉/比较寄存器。该寄存器可进行捕捉/比较模块n的工作方式。

4) PCAOCPn可编程计数器阵列捕捉,比较寄存器(高低字节)。该寄存器用于设置捕捉/比较模块n的高低字节。

本电路主要利用PCA模块2来产生PWM波形。初始设置PCAOCN为0x40.置位PCA模块2捕捉/比较标志.在发生一次捕捉时该位由硬件置位,该位置‘1’将导致CPU转向PCA中断服务程序。初始设置PCAOMD为0x08.PCA计数器,定时器时钟选择系统时钟。初始设置 PCAOCPM2为0xc2,使能16位脉冲宽度调制、比较器功能和PCA模块2的脉宽调制方式。PCAOCP2的值将在程序流程中实时设定。软件流程如图3所示。

 基于单片机C8051F410的精确信号模拟电路设计

具体实现方法与步骤如下:

1)初始设置:根据设定电压值生成初始PWM波形和频率参数。

2)电压测最:测量此时输出电压和设定值之间的偏差,用于调整PWM参数。

3)调整PWM参数:把设定的输出电压与实际读取到的输出电压进行比较.若实际电压值偏小,则向增加输出电压的方向调整PWM的占空比;若实际电压偏大,则向减小输出电压的方向调整PWM的占空比。

4)使能PWM输出。

另外.在软件PWM的调整过程中还要注意ADC的读数偏差和电源工作电压等引入的纹波干扰。合理采用算术平均法等数字滤波技术。

4 结论

本电路针对装备维护存在的实际问题。基于C8051F410单片机,利用PWM调制技术和负反馈测量技术克服了原电路因工作点不稳定的问题。经实验验证,将本电路替换掉原来的模拟电路模块后,榆测设备重测合格的现象不再出现。本电路从处理器到被控系统信号都是数字形式的,无需进行数模转换,抗噪性能强,工作稳定,具有较高的输出精度,对于同类电路的设计具有一定的借鉴意义。


关键字:C8051F410  单片机 引用地址:基于C8051F410单片机的精确信号模拟电路设计

上一篇:以C8051F020单片机为控制核心的一键多义按键管理程序的原理
下一篇:采用C8051F020单片机和模糊控制器实现便携式心电监护仪的应用方案

推荐阅读最新更新时间:2024-11-17 18:12

飞思卡尔16位单片机(八)——PWM模块测试
一、PWM模块介绍 PWM在工业领域应用很广,是实现D/A转换和精确脉冲序列输出的有效手段。许多单片机都设置了PWM输出功能。XEP100单片机的PWM模块具有如下特点: (1)XEP100单片机具有8个可编程的PWM通道,与单片机的PP0—PP7管脚复用。每个通道的周期和占空比是可以独立控制的,8个通道都是8位精度的。通过设置寄存器PWMCTL可以将相邻的两个通道连接成一个16位精度的PWM通道,因此一个XEP100单片机可以提供4个16位精度的PWM通道; (2)每个PWM通道都有独立的计数器; (3)每个通道都可以设置为使能或禁能状态; (4)每个通道占空比的极性是可以通过软件选择的,通过设置寄存器PWMPOL实
[单片机]
单片机控制的逆变系统框图
单片机控制的 逆变系统 框图如下所示:
[单片机]
<font color='red'>单片机</font>控制的逆变系统框图
STM32F07xx单片机串口4配置
GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; USART_ClockInitTypeDef USART_ClockInitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC,ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART4,ENABLE); //端口重映射 GPIO_PinAFConfig(GPIOC, GPIO_Pi
[单片机]
单片机中程序的存储模式
C51编译器支持三种存储模式:SMALL模式、COMPACT模式和LARGE模式。不同的存储模式对变量默认的存储器类型不一样。 (1)SMALL模式。SMALL模式称为小编译模式,在SMALL模式下,编译时,函数参数和变量被默认在片内RAM中,存储器类型为data。 (2)COMPACT模式。COMPACT模式称为紧凑编译模式,在COMPACT模式下,编译时,函数参数和变量被默认在片外RAM的低256字节空间,存储器类型为pdata。 (3)LARGE模式。LARGE模式称为大编译模式,在LARGE模式下,编译时函数参数和变量被默认在片外RAM的64K字节空间,存储器类型为xdata。 在程序中变量的存储模式的指定
[单片机]
基于C51单片机的手动计数器设计电路图
利用 AT89S51 单片机来制作一个手动计数器,在 AT89S51 单片机的 P3.7 管脚接一个轻触开关,作为手动计数的按钮,用单片机的 P2.0 - P2.7 接一个共阴数码管,作为00-99计数的个位数显示,用单片机的 P0.0 - P0.7 接一个共阴数码管,作为 00 - 99 计数的十位数显示;硬件电路图如图所示。   1 . 把 “ 单片机系统 ” 区域中的 P0.0/AD0 - P0.7/AD7 端口用 8 芯排线连接到“ 四路静态数码显示模块 ” 区域中的任一个 a - h 端口上;要求: P0.0/A D0对应着 a , P0.1/AD1 对应着 b , …… , P0.7/AD7 对应着 h 。   2
[模拟电子]
基于C51<font color='red'>单片机</font>的手动计数器设计电路图
PIC单片机汇编语言学习(一)
1、汇编语言的语句格式: 标号 操作码(指令助记符) 操作数 ;注释 (label) (opcode) (operand) (comment) 2、常用伪指令 a.EQU——符号名赋值伪指令 格式:符号名 EQU nn b.ORG——程序起始地址定义伪指令 格式:ORG nnnn c.END——程序结束伪指令 格式:END d.LIST——列表选项伪指令 格式:LIST e.INCLUDE:调入外部程序文件伪指令 格式:INCLUDE 文件名 2、分支程序结构 ——对于程序中的指令运用作几点说明: (1)凡是需要2个数参与的逻辑运算(与、或、异或)和算术运算(加、减),都需要事先将其中一个操作数放入W中。对于在此使用的减法指令
[单片机]
PIC<font color='red'>单片机</font>汇编语言学习(一)
C51全局初始化及精确延时程序,51单片机精确延时程序
/********************************************************************************************************* * Initialization Program * QiZhao,2007 * All Rights Reserved * File : initial.h * By : QiZhao * Contact :zq1987731@163.com * * Version : V2.1 γ * Corrector : QiZhao * Date : 2008.2.1 (Last modified) * * Remarks :
[单片机]
GD32 MCU进入低功耗模式导致无法再进行程序下载怎么办?
很多朋友在调试GD32 MCU的低功耗模式时会遇到一个问题:程序中让MCU进入了Sleep、Deepsleep或者Standby模式,之后MCU就无法再下载程序了。这是因为在低功耗模式下,MCU的SW口和JTAG口是无法访问的。比如下面的程序就会导致该问题发生: 该main函数中第一步是打开PMU时钟,然后马上让MCU进入Deepsleep模式,当你想要再次下载程序时,IDE会有如下错误提示(不同IDE报错不同): 遇到这种情况怎么办呢?难道只能重新换一颗芯片了?不不不,其实有方法解决这个问题的。 方法一: GD32 MCU的启动模式根据芯片上的BOOT0和BOOT1脚是可以选择三种模式: 一般情况下,BOOT0需
[单片机]
GD32 <font color='red'>MCU</font>进入低功耗模式导致无法再进行程序下载怎么办?
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved