基于单片机的程控电源显示控制电路设计

news2024/11/15 23:05:29
摘要 : 介绍了基于单片机程控电源显示控制电路的硬件设计和软件实现 该设计可以实现程控电源的输出显示和手动控制功能。 实践验证 该设计具有很好的使用效果和工程价值
关键词 : 程控电源 ; 显示控制 ; 单片机

0 引言

程控电源广泛地应用在工业控制和科学研究的各个领域, 有着广阔的市场前景 程控电源一般由主控系统、 功率系统和显示控制系统三部分组成 本文以单片机为控制器, 设计了能够实时显示和控制电源输出的程控电源显示控制系统硬件电路。

1 硬件设计

系统硬件结构主要包括单片机 通信电路 旋转编码器电路、 开关电路和数码管电路等 如图 1 所示 程控电源显示控制电路在主控系统的控制下, 需要能实现以下功能: 可以实时显示电源的电压和电流值 ; 可以手动调节电压和电流值; 可以手动设置电源功能按键 ;可以指示电源状态信息。

1. 1 单片机

本文选用数字信号控制器 ( DSC ) dsPIC30F6014A作为主控制器, 该系列芯片拥有 16 位闪存单片机丰富的外围设备和快速中断的响应能力, 又兼具数字信号处理器( DSP ) 强大的计算能力和数据吞吐能力 是电机和电源控制理想的低成本解决方案

1. 2 通信电路

通信电路完成显示控制电路和电源主控电路之间数据和指令交互的工作, 由单片机串口外设和MAX232ESE 通信芯片实现 程控电源有本地和远程两种工作模式。 在本地模式下 通信电路将手动设置的数据发送给主控系统; 而在远程模式下 通信电路需要实时接收主控系统的指令和数据

1. 3 数码管电路

数码管电路完成电源输出或设置的电压 电流 地址和过压等值的显示, 由单片机控制一个 8 路缓冲器SN74HC244N 动态扫描驱动两个 4 8 段式共阴极数码管实现。 数码管有静态驱动和动态驱动两种硬件连接方式, 动态驱动方式相对占用 I/O 资源较少 通过适当调整驱动电流大小、 扫描频率和延时时间 可以实现很好的显示效果。 8 路缓冲器通常用在主控芯片和外接器件的并行接口之间,可以保护并增加主控芯片的 驱动能力。 本设计单片机共使用了 16 I/O 端口来控制两个 4 位数码管 ,8 个 I/O 端口控制 8 路缓冲器依次驱动数码管的 8 个段 另外 8 I/O 端口分别连接数码管的阴极公共端, 控制每位数码管的通断

1. 4 旋转编码器电路

旋转编码器电路完成电源电压 电流 地址和过压等值的设置, 由单片机控制两个 ALPS 增量式旋转编码器 EC11E 实现 本文旋转编码器旋转一周有 30 个定位, 输出 15 个脉冲 具有正转 ( A ) 反转 ( B ) 按下 ( D )和地( C E ) 五个引脚 如图 2 所示 A B 输出脉冲在相位上相差 90° A 超前 B 时旋钮正转 而当 B 超前 A时旋钮反转。 电路连接要求 : ( 1 ) A B 脚上拉 C E脚接地; ( 2 ) A 脚接单片机外部中断 I/O B D 脚接单片机普通 I/O A 脚高电平触发外部中断后 根据 B脚电平的高低便能判别旋转编码器旋钮的转向, 并对中断次数作增加或减少处理, 从而完成计数工作 3

1. 5 开关电路

开关电路实现电源本机控制模式下按键操作和状态指示的功能, 由轻触式开关和光电二极管组成 按键的功能分别是: 预览设置 地址设置 本机 / 远程控制设置、 过压值设置和输出开 / 单片机通过中断的方式检测按键的状态、5个按键同时接入一个八输入与门和 5 个单片机 I/O 与门的输出接进单片机的外部中断 I/O 当有按键按下时 与门输出低电平触发外部中断, 查询 5 I/O 的状态则可判定是哪个按键被按下。同时,开关电路采用电容滤波和软件延时处理 两种方法防止按键抖动。

2 软件设计

系统软件采用 C 语言开发 主要任务是控制硬件运行, 与主控系统交互数据 实时显示输出和状态信息等。 软件采用模块化设计 主要有旋转编码器控制 按键控制和数码管显示等模块。

2. 1 通信协议

通信协议是电源主控系统和显示控制系统数据交互的核心, 系统在本地和远程两种模式下使用同样的指令定义, 本地模式下由显示控制系统主导发送指令 ,而远程模式下由主控系统主导发送指令。 协议定义具体如表 1 所示

2. 2 软件流程

对应于本地和远程两种模式 软件有两个不同的工作流程。 在本地模式下 硬件电路都将被使能 操作者可以手动控制电源的显示界面和主控系统状态。 在远程模式下, 系统主要完成接收和显示主控系统数据的工作, 除了预览按键 其余操作功能均被关闭 系统总体程序流程如图 3 和图 4 所示

3 结论

本文设计经工程测试和环境可靠性考核验证后 ,已在笔者单位多款电源产品中进行使用, 并被应用于数个测试设备开发项目中, 设计实物如图 5 所示 工程使用结果表明, 该电路性能稳定可靠 准确度高 操作简便, 各项功能和技术指标均达到了工程应用要求 ,具有很好的市场前景和设计参考价值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2067023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python怎么写乘法表

代码如下: 代码详解(为了让自己理解): for i in range(1,10):# print(i,end )for j in range(1,i1):print(%s*%s%s %(i,j,i*j),end )print() 1. for i in range(1,10) 这是一个for循环语句,range(&…

无线数传模块是啥东西?

一 、 产品概述 无线数传模块是用来替代传统数据采集、通讯、控制布线的占用工业级模块。 无线数传模块一款工作在免费频段、5000m传输距离模块发射功率158mW、具有高稳定性、低功耗、高性价比、工业级特点。 模块具有多种传输距离规格可供选择,根据应用场景需要&am…

【python】基础一

目录 数据类型数据类型转换-整数/浮点数/字符串标识符运算符字符串扩展字符串拼接字符串格式化字符串精度字符串格式化-快速写法对表达式进行格式化字面量变量数据输入 数据类型 查看数据类型:type(数据) #输出结果:classint> print(type(10))数据类型…

自动生成依赖清单:pipreqs,Python项目的救星

文章目录 **自动生成依赖清单:pipreqs,Python项目的救星**背景:为何选择pipreqs?pipreqs是什么?如何安装pipreqs?库函数使用方法场景应用场景一:新项目初始化场景二:更新现有项目依赖…

继Ollama之后,Go在AI领域再下一城

AI isnt a thing; its a magnifier of a thing. And that thing is human creativity. 在AI领域,最火的使用Go开发的项目莫过于Ollama项目了,但近期有一个项目也吸引了Gopher眼球,它就是fabric。叫fabric的项目太多,这个fabric又是…

keil在debug时,watch窗口中变量不变化的解决方法

在DEBUG时,我们可能遇到自己定义的变量在watch窗口中一直是一个固定值,不会变化,我们只需要在debug时点开view勾选上最后一个选项periodic window update即可

airflow调度时间详解

⭐️ airflow调度概述 Apache Airflow 是一个开源的工作流调度和监控平台,广泛用于数据工程、ETL(提取、转换、加载)管道以及各种自动化任务。下面我将详细说明 Airflow 的调度算法。 1. DAG(有向无环图) Airflow 的…

萌拉数据需要下载吗,萌啦数据使用需不需要下载

在数字化浪潮席卷全球的今天,数据成为了驱动企业决策、优化产品服务、精准市场营销的关键要素。而提到数据处理与分析的利器,“萌拉数据”这一名字逐渐在业界崭露头角。面对这样一个功能强大的数据平台,不少用户心中或许会产生疑问&#xff1…

前端:内嵌微信扫码登陆在chrome浏览器失败

前端:内嵌微信二维码登录。 官方文档: 关于微信快速登录功能的说明 | 微信开放文档 按照官方文档书写后,二维码出现在了页面上。但是扫码登录时,浏览器控制台报错 Unsafe JavaScript attempt to initiate navigation for frame w…

无需多部备用机,云手机方便又便宜!

云手机,是云计算技术的又一创新应用,它通过在云服务器上虚拟出带有原生安卓操作系统的手机实例,为用户提供了一种全新的手机使用体验。无需携带多部手机,只需通过云手机,便可轻松实现多账号管理、应用运行及数据存储等…

用这个项目管理工具创建管理表,轻松实现项目管理!

在项目管理中,时间表不仅仅是一个简单的计划工具,而是确保项目按时完成的关键 许多项目经理和团队成员在推进项目时,常常因为缺乏明确的时间表而陷入混乱,导致进度拖延、资源浪费,甚至项目失败。 那么,如何…

无人机遥控器里的接收器工作原理解析!

无人机遥控器中的接收器工作方式主要基于无线信号传输技术 信号发射 遥控器上的发射器将用户的操作指令(如推动操纵杆的动作)转化为无线电信号。这些信号通过特定的频率(如常用的2.4GHz)在空气中传输。 信号接收 无人机上的接…

2024.8.23(docker)

一、打包传输 1、打包 [rootdocker ~]# docker save -o centos.tar centos:latest [rootdocker ~]# ls 2、删除镜像 [rootdocker ~]# docker ps -all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 372f7f49e6df …

固废检测算法实际应用方案固废检测算法源码解析

固废检测算法是利用机器视觉和深度学习技术,对地面上的垃圾进行自动识别、分类和定位的一种算法。这类算法在环境管理、智慧城市、自动化清洁等领域具有广泛的应用前景。以下是对固废检测算法的详细介绍: 一、算法原理 固废检测算法主要基于深度学习和计…

小米14的射频芯片高通SDR753全景图

这周末,除非外面下钞票,否则谁也拦不住我玩《黑神话悟空》(附:两款可以玩转悟空的显卡推荐) 天玑助力联发科力压高通~探秘MTK 5G旗舰智能手机SoC芯片——MT6989(天玑9300) 原创 芯愿景软件 集成电路大数据平台 2024年05月08日 19:18 北京 封装图(正面) 封装图

第21周:中文文本分类-Pytorch实现

目录 前言 一、前期准备 1.1 数据示例 1.2 文本分类的流程图 1.3 导入所需库 1.4 加载数据 二、数据预处理 2.1 构建词典 2.2 生成数据批次和迭代器 三、模型构建 3.1 搭建模型 3.2 初始化模型和超参数定义 3.3 训练函数与评估函数定义 四、训练模型 4.1 拆分数…

整合sentinel遇到的小问题

1.运行jar包 ,端口为默认8080 正确命令 java -Dserver.port8090 -Dcsp.sentinel.dashboard.server127.0.0.1:8090 -Dproject.namesentinel-dashboard -jar sentinel-dashboard-1.8.6.jar -D这些指令要在 -jar前面 在宝塔部署时,直接复制到运行命令后…

深入探索分布式任务调度框架:MySQL实现高效锁机制

本文主要介绍项目中怎么使用 MySQL 实现分布式锁的 背景 假如我们现在要做一个高性能、可扩展的分布式任务调度框架,要怎么设计呢?下面是我之前自己设计的一个架构图。 为了方便后续的分布式锁的设计,我们大致描述下各个角色都做了哪些事情…

搭建springboot项目,并解决项目出现红色J问题

搭建springboot的2种方式 搭建springboot项目有多种方式,这里简单介绍2种,看您使用哪个更方便。 第一种:在idea里创建 第二种,在官网创建下载 spring官网地址:https://start.spring.io/ 解决项目出现红J问题 搭建好…

【OpenHarmony】openharmony移植到RK3568------获取源码编译OpenHarmony源码

一、源码获取 源码获取有好几种方式,在这里直接在镜像网站下载源码,点击下面连接下载全量版本的OpenHarmony4.1 https://repo.huaweicloud.com/openharmony/os/4.1-Release/code-v4.1-Release.tar.gz 将源码放到自己建立的目录下解压,我放…