基于51单片机霍尔测速直流电机控制设计

news2024/11/27 19:36:22

**单片机设计介绍,1658【毕设课设】基于51单片机霍尔测速直流电机控制设计(含源码、原理图、论文、PCB封装)

文章目录

  • 一 概要
  • 二、功能设计
    • 设计思路
  • 三、 软件设计
    • 原理图
  • 五、 程序
  • 六、 文章目录

一 概要

  51单片机是微型计算机的一种常见类型,用于处理数字信号和模拟信号。霍尔传感器是一种能够检测磁场强度变化的设备,常常被用于测量电机的转速。通过结合这两者,我们可以在控制直流电机时,精确地检测其速度。

设计一个基于51单片机霍尔测速的直流电机控制系统通常需要以下几个步骤:

  1. 选择硬件:首先,你需要选择合适的硬件,包括一个51单片机(如AT89C51或STC89C52),一个霍尔传感器,一个用于驱动电机的电源,以及一个用于显示电机速度的装置(如LED或LCD显示屏)。
  2. 硬件连接:将霍尔传感器连接到电机上,通常是通过电机轴上的齿轮和霍尔传感器。当电机旋转时,磁场变化会导致霍尔传感器输出电压的变化。这个电压可以被51单片机读取并转换为电机的速度。
  3. 编写代码:使用C语言编写代码来读取霍尔传感器的输出,并根据需要控制电机的电源。这通常涉及到中断处理程序,该程序在检测到新的霍尔传感器输出时被触发。此外,代码还应该包括显示电机速度的功能。
  4. 软件控制:软件应该根据设定的速度目标来控制电机。这可能涉及到速度反馈和PID控制算法的使用,以确保电机以所需的速度旋转。
  5. 测试和优化:完成设计后,你需要进行测试以确保系统的功能正常。你可以改变电机的速度并观察LED或LCD显示屏的反应,以验证系统是否正常工作。在必要时,对代码和硬件进行调整以优化性能。

需要注意的是,具体的实现可能会因你的具体需求(如电机的类型、电源的要求、显示设备的类型等)而有所不同。这个系统可能会涉及到许多其他的细节和考虑因素,包括电源管理、信号调理、抗干扰措施等。因此,在设计过程中,你可能需要参考相关的手册和资料以获得更详细的信息。

二、功能设计

本文主要研究了利用MCS-51系列单片机控制PWM信号从而实现对直流电机转速进行控制的方法。本文中采用了三极管组成了PWM信号的驱动系统,并且对PWM信号的原理、产生方法以及如何通过软件编程对PWM信号占空比进行调节,从而控制其输入信号波形等均作了详细的阐述。另外,本系统中使用了霍尔元件对直流电机的转速进行测量,经过处理后,将测量值送到液晶显示出来。

关键词:PWM信号,霍尔元件,液晶显示,直流电动机

设计思路

设计思路
文献研究法:搜集整理相关单片机智能手环系统相关研究资料,认真阅读文献,为研究做准备;

调查研究法:通过调查、分析、具体试用等方法,发现单片机智能手环系统的现状、存在问题和解决办法;

比较分析法:比较不同单片机智能手环系统的具体原理,以及同一类传感器性能的区别,分析单片机智能手环系统的研究现状与发展前景;

软硬件设计法:通过软硬件设计实现具体硬件实物,最后测试各项功能是否满足要求。

在这里插入图片描述

三、 软件设计

本系统原理图设计采用Altium Designer19,具体如图。在本科单片机设计中,设计电路使用的软件一般是Altium Designer或proteus,由于Altium Designer功能强大,可以设计硬件电路的原理图、PCB图,且界面简单,易操作,上手快。Altium Designer19是一款专业的整的端到端电子印刷电路板设计环境,用于电子印刷电路板设计。它结合了原理图设计、PCB设计、多种管理及仿真技术,能够很好的满足本次设计需求。

————————————————

仿真实现
本设计利用protues8.7软件实现仿真设计,具体如图。

Protues也是在单片机仿真设计中常用的设计软件之一,通过设计出硬件电路图,及写入驱动程序,就能在不实现硬件的情况进行电路调试。另外,protues还能实现PCB的设计,在仿真中也可以与KEIL实现联调,便于程序的调试,且支持多种平台,使用简单便捷。
————————————————

原理图

在这里插入图片描述

在这里插入图片描述

五、 程序

本设计利用KEIL5软件实现程序设计,具体如图。作为本科期间学习的第一门编程语言,C语言是我们最熟悉的编程语言之一。当然,由于其功能强大,C语言是当前世界上使用最广泛、最受欢迎的编程语言。在单片机设计中,C语言已经逐步完全取代汇编语言,因为相比于汇编语言,C语言编译与运行、调试十分方便,且可移植性高,可读性好,便于烧录与写入硬件系统,因此C语言被广泛应用在单片机设计中。keil软件由于其兼容单片机的设计,能够实现快速调试,并生成烧录文件,被广泛应用于C语言的编写和单片机的设计。
在这里插入图片描述

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

六、 文章目录

目 录

摘 要 I
Abstract II
引 言 1
1 控制系统设计 2
1.1 主控系统方案设计 2
1.2 传感器方案设计 3
1.3 系统工作原理 5
2 硬件设计 6
2.1 主电路 6
2.1.1 单片机的选择 6
2.2 驱动电路 8
2.2.1 比较器的介绍 8
2.3放大电路 8
2.4最小系统 11
3 软件设计 13
3.1编程语言的选择 13
4 系统调试 16
4.1 系统硬件调试 16
4.2 系统软件调试 16
结 论 17
参考文献 18
附录1 总体原理图设计 20
附录2 源程序清单 21
致 谢 25

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

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

相关文章

GB28181协议如何注册

前言 GB28181协议是视频监控领域的国家标准,本文将解析如何在FFmpeg中增加对GB28181协议的支持,使其可以与支持GB28181协议的设备进行通信与控制,实现设备的注册、保活以及流媒体的传输。 1.背景介绍 GB28181协议指的是国家标准GB/T 28181…

S/4 HANA 中的 Email Template

1 如何创建Email Template? 没有特定的事务用于创建电子邮件模板,我们可以将其创建为 SE80 事务中的存储库对象,如下所示: 1,选择包(或本地对象)并右键单击。 2,选择“创建”->“更多”->“电子邮件模板” 尽管如此,对于已有的Email Template,可以使用程序…

音视频开发:音频编码原理+采集+编码实战

原理: 消除冗余信息,压缩量最大,也叫有损压缩 剔除人耳听觉范围外的音频信号20Hz以下和20000Hz以上;去除被掩蔽的音频信号,信号的遮蔽可以分为频域遮蔽和时域遮蔽;频域遮蔽效应 屏蔽70分贝以下&#xff0…

【QT】仿函数

函数调用运算符 () 也可以重载由于重载后使用的方式非常像函数的调用&#xff0c;因此称为仿函数仿函数没有固定写法&#xff0c;非常灵活 示例&#xff1a; #include <iostream> #include <string> using namespace std;class MyPrint { public://重载的运算符是…

MFC网络编程-Udp客户端

目录 1、UI的设计&#xff1a; 2、代码的实现&#xff1a; &#xff08;1&#xff09;、重写CSocket虚函数OnReceive&#xff0c;并且传入对话框的指针 &#xff08;2&#xff09;、初始化SOCKET &#xff08;3&#xff09;、绑定本地IP和端口 &#xff08;4&#xff09;、…

Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273)解决方法

前言&#xff1a; 在一次漏洞扫描中&#xff0c;扫描出紧急漏洞Microsoft SQL Server 缓冲区错误漏洞(CVE-2018-8273) 根据修复建议找补丁。 一、漏洞详情 二、寻找补丁 根据漏洞修复建议去下载补丁 目前厂商已发布升级补丁以修复漏洞&#xff0c;补丁获取链接&#xff1a;h…

龙迅视频转换IC LT6711GX适用于HDMI2.1转TPYE-C/DP1.4/EDP功能应用

1.描述 应用功能&#xff1a;LT6711GX适用于HDMI2.1转TPYE-C/DP1.4/EDP 分辨率&#xff1a;最高支持8K30HZ或8K60Hz压缩数据 工作温度范围&#xff1a;−40C to 85C 产品封装&#xff1a;QFN88 &#xff08;10*10&#xff09; 最小包装量&#xff1a;1680PCS 2.产品应用市场 •…

【JMeter】线程组分类以及功能介绍

1.概念介绍 进程&#xff1a; 正在运行的程序&#xff0c;比如Jmeter 线程组&#xff1a;进程中有多个线程 2线程组分类 JMeter自带的线程组&#xff1a; 普通线程组&#xff08;Thread Group&#xff09;开始线程组&#xff08;setUp Thread Group&#xff09;结束线程…

绝对好用!一个浏览器插件解决跨设备同步问题,吊打文件传输助手!

在数字化的时代&#xff0c;我们所接触的信息呈现指数级的增长。无论是办公资料、学习资源&#xff0c;还是各种生活中的点滴&#xff0c;所有这些信息以各种形式——文本、图片、视频、音乐等——出现在我们面前&#xff0c;如何有效地同步和管理这些内容成为一个挑战。 就跨…

PhotoFoundry for Mac:图片滤镜编辑软件的终极进化!

如果你是一个摄影师&#xff0c;或者是一个热衷于使用图片编辑软件的人&#xff0c;那么PhotoFoundry for Mac将会是你的新最佳伙伴&#xff01;这款软件不仅具备了强大的图片滤镜编辑功能&#xff0c;更在操作简易度、用户体验以及创意控制方面做到了极致。 PhotoFoundry for…

大华智慧园区综合管理平台文件上传漏洞(CVE-2023-3836)

大华智慧园区综合管理平台文件上传漏洞 漏洞描述漏洞危害Fofa检索漏洞复现1. 构造poc2. 复现3. 访问shell地址 漏洞描述 大华智慧园区综合管理平台是一个基于智能物联技术的园区安防、办公、运营的数字化解决方案。 大华智慧园区综合管理平台(截至 20230713)版本中存在文件上传…

vim三种模式,文本操作(操作字符/光标,列出行号可视化块模式/多文件查看)

目录 vim--文本编辑器 功能 基本概念 命令/默认模式 插入模式 底行模式 文本操作 引入 移动光标位置 删除字符 -- x/dd 复制/粘贴字符 -- yw/yyp 替换文本 -- r / %s 底行模式 全局替换 -- /g 撤销操作 -- u / ctrlr 修改字符 -- cw 示例 跳行 -- ctrlg 底行…

uniapp原生插件之无预览静默拍照

插件介绍 无预览静默拍照&#xff0c;在用户无感觉情况下调用摄像头拍照 插件地址 无预览静默拍照 - DCloud 插件市场 超级福利 uniapp 插件购买超级福利 插件申请权限 存储卡读写权限摄像头权限 manifest.json权限列表 /* android打包配置 */"android" : {…

ps提示vcruntime140.dll无法继续执行此代码的多种解决方法分享

我在安装Photoshop软件时遇到了一个问题&#xff0c;即在运行过程中弹出了一个错误提示框&#xff0c;显示“由于找不到vcruntime140.dll&#xff0c;无法继续执行此代码”&#xff0c;我通过查找资料了解到vcruntime140.dll是一个动态链接库文件&#xff0c;它是Visual C Redi…

MySQL主从复制---一主一从配置过程

1、mysql版本一致且后台以服务运行 2、主从都配置在[mysqld]结点下&#xff0c;都是小写 3、主机修改my.ini配置文件 配置信息说明&#xff1a; 1、主服务器唯一ID server-id1 2、启用二进制日志 log-bin自己本地的路径/data/mysqlbin log-binD:/devSoft/MySQLServer5.5…

自动化混沌工程 ChaosMeta V0.6 版本发布

混沌工程 ChaosMeta 的全新版本 V0.6.0 现已正式发布&#xff01;该版本包含了许多新特性和增强功能&#xff0c;在编排界面提供了包括流量注入、度量等各类节点的支持&#xff0c;可视化支撑演练全流程。解决混沌工程原则中“持续自动化运行实验”的最后一公里问题。 简介 Ch…

Spring Security认证:获得认证、持久化认证模块详解

参考&#xff1a;认证 :: Spring Security Reference (springdoc.cn) 本文将讲述Spring Security中与认证相关的各个基本模块&#xff0c;力求对整个认证框架提供完善的认知。 众所周知&#xff0c;认证Authentication实际上就是一个代表身份的类&#xff0c;实例就是具体的身…

第一章 01Java入门-常见的CMD命令

前言 学习常见的CMD命令 一、常见的CMD命令 常见的CMD命令主要包括切换盘符、查看当前路径下的内容、进入单级目录、回到上一级目录、进入多级目录、回退到盘符目录、清屏以及退出命令提示符窗口等。 二、代码演示 先从默认的C盘符切换到E盘符(E:),然后再查看E盘符下面的…

Redis的四种部署方案

这篇文章介绍Reids最为常见的四种部署模式&#xff0c;其实Reids和数据库的集群模式差不多&#xff0c;可以分为 Redis单机模式部署、Redis主从模式部署、Redis哨兵模式部署、Cluster集群模式部署&#xff0c;其他的部署方式基本都是围绕以下几种方式在进行调整到适应的生产环境…

【C++】多态 ⑩ ( 不建议将所有函数都声明为 virtual 虚函数 | 多态的理解层次 | 父类指针和子类指针步长 )

文章目录 一、不建议将所有函数都声明为 virtual 虚函数二、多态的理解层次三、父类指针和子类指针步长 对象可以直接获取到自身封装的 普通函数 , 如果要访问虚函数 , 需要增加一次寻址操作 , 因此 这里建议不需要将有 多态 需求的函数声明为 虚函数 ; C 中 指向某类型对象的…