分级输出四路带保护程控电源设计与实现

news/2024/10/31 1:32:31/

目录

中文摘要………………………………………………….………………………………………….…VI
外文摘要………………….…………………………….………………………………………….…VII
1 引言 1
1.1 选题背景 1
2 系统综述 2
2.1文献综述 2
2.1.1稳定电压输出与可调电压技术 3
2.1.2单片机控制技术 3
2.2 系统及需求分析 3
2.2.1 主要功能 3
2.2.2 可行性分析 4
2.3 设计背景 5
2.4 系统功能简介 6
2.4.1 分级输出功能 6
2.4.2 模式选择功能 6
2.4.3 报警功能 6
2.4.4 下载配置功能 6
2.4.5 保护功能 7
2.5 系统开发目标 7
3 系统分析 7
3.1 硬件结构图 7
3.2 功能模块图 8
4 系统设计 9
4.1 硬件模块结构设计 9
4.1.1 总电路图 9
4.1.2 稳压输出部分电路设计 9
4.1.3 分级部分电路设计 10
4.1.4 保护功能部分设计 11
4.1.5 蜂鸣器提示部分设计 12
4.1.6 配置存储电路设计 12
4.1.7 单片机部分周边电路设计 13
4.2 软件设计 13
4.2.1 主体程序流程图 14
4.2.2 电压调节模式流程图 14
4.2.3 永久触发模式流程图 15
5 系统实现 17
5.1 硬件部分的实现 17
5.2 软件的实现 19
5.2.2 下位机配置读\写程序的实现 24
5.2.6 总体程序的实现 30
6 系统的开发环境及测试分析 30
6.1 系统开发环境 30
6.2 系统测试分析 30
6.2.1 硬件测试分析 31
6.2.2 程序测试分析 31
6.2.3 全系统测试 31
6.2.4 用户验收测试 32
7 总结 32
致谢 34
2.2 系统及需求分析
2.2.1 主要功能
输入电源(外接电源)+9v,输出共四路电源,分别为四路遥控器正常供电,输出电压范围+2.2v~4.0v,输出电流不超过600mA。
1.保护功能:当遥控器的电流超过600mA,该路的电源制动保护,直到给出复位信号,恢复供电。
2.分级输出电压:可以根据需求设置不通电压输出(仍然电流不能超过600mA),分级输出电压2.4v, 2.7v,3.0v,3.3v, 3.6v。
3.分级输出的时间设置:根据需求可以设定任意一个电压的输出时间段,当该时间段完成,跳入下一时间段的电压输出。
4.上位机设置功能:通过上位机加载所保存的设置,或者添加生产需要常用的设置。
5.报警功能:当任意一路断路(电流超过600mA),该路的指示灯亮,显示该路出错。
6.工作两种模式:按键模式和永久触发模式。
2.2.2 可行性分析
要完成本系统功能,主要需要解决两大方面的内容:一就是对分级输出电压,考虑到LM317同过电流控制其输出电压的改变,所以采用了可调电阻(本系统采用精密电位器),考虑到系统完全由程序控制电压的跳动,即要在多个电阻间进行切换,采用CD4066电路开关实现多个电阻间的切换工作;另一个就是通过监控系统电流的大小实现对系统的保护。在技术难度方面,由于有指导老师的指导和相关参考文献,因此完全可以实现。
在本机中使用的单片机是80C51F340。80C51F340是一个低功耗, C8051F340器件是完全集成的混合信号片上系统型MCU。下面列出了一些主要特性,
􀁹 高速、流水线结构的8051兼容的微控制器内核(可达48MIPS)
􀁹 全速、非侵入式的在系统调试接口(片内)
􀁹 通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1K FIFO RAM
􀁹 电源稳压器
􀁹 真正10位200 ksps的单端/差分ADC,带模拟多路器
􀁹 片内电压基准和和温度传感器
􀁹 片内电压比较器(两个)
􀁹 精确校准的12MHz内部振荡器和4倍时钟乘法器
􀁹 多达64KB的片内FLASH存储器
􀁹 多达4352字节片内RAM(256+4KB)
􀁹 硬件实现的SMBus/ I2C、增强型UART(最多两个)和增强型SPI串行接口
该单片机可组成独立系统,并且成本低,运行速度快,其强大的功能是完全可以实现该系统的。
分级输出功能的实现
分级输出功能,顾名思义,便是控制输出有多个电压,这些电压可以更具需求随意的切换(当然也可以不切换),这样才能体现该系统的灵活。
保护功能的实现
保护功能,有很多方面,比如西东的散热,电流过大,某一部分的电压过大。该系统的保护主要保护电路的电流不过大,一般电源保护系统的主要考虑方面就是电流。
保护功能的实现的精髓:比较输入部分电压的变化(在输入短串联一个较小的电路来监控系统电压的变化),通过监控电压的变化转化成监控电流的变化。
另一部分便是比较电路,比较部分不是程序控制的,完全电路实现,系统开始提供一个基准(用来和监控电压比较的),比较电压的芯片LM324,比较结果反馈给系统,结果异常的话,系统会制动断路。
定时功能(主要运用于永久触发模式)
定时功能,主要用于永久触发模式,设定的时间就是电压切换的时间。
定时功能,主要用的是80C51F340里的定时器来实现的
报警功能
在本系统中,报警便是系统的电流过大:出现短路等现象。报警现象:出错的那一路显示灯变红色,蜂鸣器长鸣,知道系统恢复。
上位机加载配置功能
上位机加载配置,即根据需求配置该系统的参数。
2.3 设计背景
很多生产遥控器厂商,生产的遥控器因在高于或低于额定电压(该电压属于工作范围之内)而不能工作,导致大量产品退货返厂,使得生产厂商损失巨大,不仅损失了经济,而且损坏了名誉。分级输出四路带保护程控电源,是为遥控器厂商量身定做的一款测试电源,第一,可以检测出不合格的遥控器,提高了产品质量;第二,四路同时检测,原本四个人做的事一个人可以完成,制动化检测为工厂节约了劳动力,提高了生产效率;第三,带有保护系统,电流过大时自动断电,遥控器不会被烧坏,而且保证了工人的人生安全。
分级输出四路带保护直流电源,当然可以做一般程控电源,可以根据自己需求调节不同电压,性能稳定,抗干扰能力强。
2.4 系统功能简介
本系统主要实现以下各功能:分级输出功能、系统保护功能、警告功能、下载配置功能,模式选择功能。
2.4.1 分级输出功能
分级输出的可以的功能主要是通过2个IC:LM317和CD4066来实现。CD4066是个封装4个开关的的芯片,本文转载自http://www.biyezuopin.vip/onews.asp?id=12671这样就能够很方便实现开关电路即实现不同电阻的切换。
实现了不同电阻的切换后,把电阻串联到LM317的ADJ端口,选准基准电阻,让串联电阻与基准电阻的比值乘以基数便是想得到的电压。
2.4.2 模式选择功能
工人根据自己的习惯,不同的需求和对系统的操作的熟练的程度可以选择不同的工作模式,一般熟练的工人选择永久触发模式,新手选择按键触发模式。
2.4.3 报警功能
当听到蜂鸣器响起时,系统遍出现报警,让后检查指示灯,查看四路中哪一路出现错误。
2.4.4 下载配置功能

根据生产需要下载需要的配置,配置的参数如下图所示:
在这里插入图片描述

图2 下载配置界面图

// power.cpp : Defines the class behaviors for the application.
//#include "stdafx.h"
#include "power.h"
#include "powerDlg.h"#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif/
// CPowerAppBEGIN_MESSAGE_MAP(CPowerApp, CWinApp)//{{AFX_MSG_MAP(CPowerApp)// NOTE - the ClassWizard will add and remove mapping macros here.//    DO NOT EDIT what you see in these blocks of generated code!//}}AFX_MSGON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()/
// CPowerApp constructionCPowerApp::CPowerApp()
{// TODO: add construction code here,// Place all significant initialization in InitInstance
}/
// The one and only CPowerApp objectCPowerApp theApp;/
// CPowerApp initializationBOOL CPowerApp::InitInstance()
{AfxEnableControlContainer();// Standard initialization// If you are not using these features and wish to reduce the size//  of your final executable, you should remove from the following//  the specific initialization routines you do not need.#ifdef _AFXDLLEnable3dControls();			// Call this when using MFC in a shared DLL
#elseEnable3dControlsStatic();	// Call this when linking to MFC statically
#endifCPowerDlg dlg;m_pMainWnd = &dlg;int nResponse = dlg.DoModal();if (nResponse == IDOK){// TODO: Place code here to handle when the dialog is//  dismissed with OK}else if (nResponse == IDCANCEL){// TODO: Place code here to handle when the dialog is//  dismissed with Cancel}// Since the dialog has been closed, return FALSE so that we exit the//  application, rather than start the application's message pump.return FALSE;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://www.ppmy.cn/news/456006.html

相关文章

ArduPilot开源代码之AP_InertialSensor_Backend

ArduPilot开源代码之AP_InertialSensor_Backend 1. 源由2. 设计3. 实例BMI2703.1 AP_InertialSensor_BMI2703.2 probe3.3 init3.4 start3.5 read_fifo3.6 update 4. 总结5. 参考资料 1. 源由 惯性传感器是飞控关于姿态最重要的一个传感器。从复杂度角度看,除了数据…

python控制程控电源_如何对程控电源进行编程控制

代码解读。以上代码示范了如何使用visa API连接并控制仪器读写。 line 1~3 包含必须的头文件和库文件 line 8~11 定义变量,ViStatus用来检查仪器初始化及读写状态 ViSession 用来定义Visa库资源句柄 ViUint32 用来定义读写字符长度 ViBuf 用来定义读取仪器缓冲区 Li…

程控电阻白皮书(一)

目录 什么是可编程电阻? 市场和科技力量 可编程电阻模块的分类和参数介绍 需要更高的精度? 需要了解更多请联系ltthkaco.com。进入正题: 仔细想想,我们的日常生活有很多传感器控制的场景。传感器能保证冰箱里的食物保持低温状态,外出跑…

基于DAC0832的程控衰减器

基于DAC0832的程控衰减器 文章目录 基于DAC0832的程控衰减器一、需求分析:二、主要元器件:三、设计流程四、工作原理4.1完整原理图4.2仿真环境4.3基准源 2.56V4.4基准源 0.02V4.5衰减电路4.6放大电路4.7模式切换 五、程序代码六、相关资料下载 一、需求分…

python控制程控电源_程控开关与控制的基础介绍

为了使测试系统达到准确和精确就需要选择适当的仪器,在设计测试方法方面需要有创造性,同时要仔细地考虑技术指标和误差源。大多数测试系统设计的十分复杂,设计者们最 关心的是将不受控制的变量减少到最少。为了实现这个目的,此系统…

VC++控制程控电源2306读取电流

VC++开发常用功能一系列文章 (欢迎订阅,持续更新...) 吉时利2306 KEITHLEY2306通讯测试程控电源程序控制 支持双通道控制: 直接上代码: 自动化技术得到飞跃发展的今天,测试中各种仪表也都支持IEEE 488协议,可以利用PC完成控制。在GPIB总线编程中,将总结过去用到…

python控制程控电源_程控电源的用途

简介 程控电源指通过外部控制来设定输出电压、输出电流的稳压、稳流或稳压/稳流的电源。程控河试电源采用微机控制,技术先进,全程控、全按键操作,体积小、重量轻、携带方便,既可用于实验室,也可以现场使用。 程控电源的…

程控直流电源是什么?为什么选择程控电源?

什么是程控直流电源?程控直流电源通过外部控制来设置输出电压和输出电流,并设置连续电流和电压稳定度,程控直流电源由微型计算机控制,该设备配备了先进的技术,所有操作都可以使用按键进行操作,体积小,轻巧…