【51单片机系列】直流电机使用

本文是关于直流电机使用的相关介绍。

文章目录

  • 一、直流电机介绍
  • 二、ULN2003芯片介绍
  • 三、在proteus中仿真实现对电机的驱动

51单片机的应用中,电机控制方面的应用也很多。在学习直流电机(PWM)之前,先使用GPIO控制电机的正反转和停止。但不能直接使用GPIO来驱动电机,需要用相应的驱动芯片来实现。

这里使用ULN2003芯片来驱动电机,实现的功能是:直流电机工作约5s后停止。

一、直流电机介绍

直流电机是指能将直流电能转换成机械能(直流电动机),或将**机械能转换成直流电能(直流发电机)**的旋转电机,它是能实现直流电能和机械能互相转换的电机。

当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

直流电机的结构由定子和转子两大部分组成。

  • 直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。
  • 运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。

直流电机没有正负之分,在两端加上直流电就能工作。需要知道直流电机的额定电压和额定功率,不能使之长时间超负荷运作。在交换接线后,可以形成正反转。

其中一种直流电机的参数如下:

轴长:8mm;轴径:2mm;电压1-6V;参考电流:0.35-0.4A;

直流电机外观实物如下:

直流电机实物外观

内部结构如下:

直流电机内部结构图

二、ULN2003芯片介绍

51单片机主要是用来控制而非驱动,如果直接使用芯片的GPIO管脚驱动大功率器件,要么将芯片烧坏,要么驱动不起来。所以要驱动大功率器件,比如电机,就必须搭建外部驱动电路。

这里使用ULN2003芯片进行驱动,该芯片在蜂鸣器使用时已经介绍过,这里再重新介绍下。

ULN2003芯片是一个单片高电压、高电流的达林顿晶体管阵列集成电路,不仅可以用来驱动直流电机,还可以用来驱动五线四相步进电机,比如28BYJ-48步进电机。

ULN2003是由7对NPN达林顿管组成,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器。

ULN2003的每对达林顿管都有一个2.7K串联电阻,可以直接和TTL或5V CMOS装置。

ULN2003的主要特点:

  • 500mA额定集电极电流(单个输出)
  • 高电压输出:50V
  • 输入和各种逻辑类型兼容
  • 继电器驱动器

UL2003N的逻辑框图如下:

ULN2003逻辑框图

从上图中可以理解该芯片的使用方法,其内部相当于非门电路,当输入高电平时输出低电平,当输入低电平时输出截止。

如果使用该芯片驱动直流电机,只可实现单方向控制,电机一端接电源正极,另一端接芯片的输出口。

如果想控制五线四相步进电机,则可将四路输出接到步进电机的四相上,点击另一条线接电源正极。

三、在proteus中仿真实现对电机的驱动

使用ULN2003芯片控制五线四相步进电机,proteus仿真设计如下

proteus仿真ULN2003控制五线四相步进电机

芯片的输入通过单片机的P1^0 ~ P1^5 IO口提供,输出连接到步进电机。

软件设计如下:

/*实现功能:ULN2003芯片控制直流电机转动[2023-12-13] zoya
*/
#include "reg52.h"
#include "intrins.h"
#include "typedef.h"sbit moto1 = P1^0;// 延时函数,i=1时延时10us
void Delay(u16 i)
{while(i--);
}void main()
{u8 i;moto1 = 0;  // 关闭电机for(i=0;i<10;i++) {moto1 = 1; // 开启电机Delay(5000);  // 延时大约50ms}moto1 = 0;  // 关闭电机while(1){}	
}

仿真结果:

ULN2003控制电机转动

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

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

相关文章

武汉灰京文化:数字黄金时代,游戏经济的璀璨崛起

在数字化时代的冲击下&#xff0c;游戏行业已经成为一个经济体量巨大的引擎。游戏的销售额和盈利能力呈现出逐年增长的趋势&#xff0c;不仅吸引了大量投资者和研发商&#xff0c;也带动了相关产业的繁荣&#xff0c;构建起一个庞大而完整的游戏生态系统。 游戏市场的繁荣是游…

AcWing 3709:单链表节点交换 ← 四川大学考研机试题

【题目来源】 https://www.acwing.com/problem/content/3712/【题目描述】 输入一个单链表&#xff0c;依次交换前2个数&#xff0c;第3、4个数&#xff0c;第5、6个数&#xff0c;…&#xff0c;以此类推&#xff0c;直到操作完整个链表。 如果链表长度是奇数&#xff0c;则最…

06 python 文件基础操作

6.1 .1文件读取操作 演示对文件的读取 # 打开文件 import timef open(02_word.txt, r, encoding"UTF-8") print(type(f))# #读取文件 - read() # print(f读取10个字节的结果{f.read(10)}) # print(f读取全部字节的结果{f.read()})# #读取文件 - readLines() # lines…

面试官:说说你对 linux 用户管理的理解?相关的命令有哪些?

面试官&#xff1a;说说你对 linux 用户管理的理解&#xff1f;相关的命令有哪些&#xff1f; 一、是什么 Linux是一个多用户的系统&#xff0c;允许使用者在系统上通过规划不同类型、不同层级的用户&#xff0c;并公平地分配系统资源与工作环境 而与 Windows 系统最大的不同…

基于MyBatis二级缓存深入装饰器模式

视频地址 学习文档 文章目录 一、示意代码二、装饰器三、经典案例—MyBatis二级缓存1、Cache 标准定义2、PerpetualCache 基础实现3、增强实现3-1、ScheduledCache3-2、LruCache 先来说说我对装饰器理解&#xff1a;当你有一个基础功能的代码&#xff0c;但你想在不改变原来代…

高效营销系统集成:百度营销的API无代码解决方案,提升电商与广告效率

百度营销API连接&#xff1a;构建无代码开发的高效集成体系 在数字营销的高速发展时代&#xff0c;企业追求的是快速响应市场的能力以及提高用户运营的效率。百度营销API连接正是为此而生&#xff0c;它通过无代码开发的方式&#xff0c;实现了电商平台、营销系统和CRM的一站式…

墒情监测FDS-400 土壤温湿电导率盐分传感器

墒情监测FDS-400 土壤温湿电导率盐分传感器产品概述 土壤温度部分是由精密铂电阻和高精度变送器两部分组成。变送器部分由电源模块、温度传感模块、变送模块、温度补偿模块及数据处理模块等组成&#xff0c;解决铂电阻因自身特点导入的测量误差&#xff0c;变送器内有零漂电路…

前端开发中requestAnimationFrame和setInterval、setTimeout的介绍和优缺点对比

一、requestAnimationFrame() requestAnimationFrame是一种在浏览器中实现动画循环的技术&#xff0c;它通过定时器机制来周期性地调用指定的回调函数&#xff0c;以实现网页动画的效果。与传统的setInterval和setTimeout不同&#xff0c;requestAnimationFrame具有更好的浏览…

Redis队列原理解析:让你的应用程序运行更加稳定!

一、消息队列简介 消息队列&#xff08;Message Queue&#xff09;&#xff0c;字面意思就是存放消息的队列。最简单的消息队列模型包括 3 个角色&#xff1a; 消息队列&#xff1a;存储和管理消息&#xff0c;也被称为消息代理&#xff08;Message Broker&#xff09;生产者…

Json格式化

Json格式化 大家好&#xff0c;我是微赚淘客机器人的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; Json格式化&#xff1a;让数据更亮眼&#xff0c;解密Json的奇妙世界 在现代Web开发中&#xff0c;Json&#xff08;JavaScript Object N…

Turtle绘制菱形-第11届蓝桥杯选拔赛Python真题精选

[导读]&#xff1a;超平老师的Scratch蓝桥杯真题解读系列在推出之后&#xff0c;受到了广大老师和家长的好评&#xff0c;非常感谢各位的认可和厚爱。作为回馈&#xff0c;超平老师计划推出《Python蓝桥杯真题解析100讲》&#xff0c;这是解读系列的第16讲。 Turtle绘制菱形&a…

六.聚合函数

聚合函数 1.什么是聚合函数1.1AVG和SUM函数1.2MIN和MAX函数1.3COUNT函数 2.GROUP BY2.1基本使用2.2使用多个列分组2.3GROUP BY中使用WITH ROLLUP 3.HAVING3.1基本使用3.2WHERE和HAVING的区别 4.SELECT的执行过程4.1查询的结构4.2SELECT执行顺序4.3SQL执行原理 1.什么是聚合函数…

pip的常见60条基本命令和使用详解

pip是Python的包管理工具&#xff0c;用于安装、升级和卸载Python包。以下是pip的常见基本命令和使用详解&#xff1a; 1. 安装包&#xff1a;pip install package_name 该命令用于安装指定的Python包。例如&#xff0c;要安装名为xlwt的包&#xff0c;可以运行命令"pip i…

用友 U8总账凭证打印设置

总账--凭证打印——设置 是设置凭证打印显示的格子框&#xff0c;勾上就有框&#xff0c;去掉就没有框。

多家安全设备存在远程命令执行漏洞复现 [附POC]

文章目录 多家安全设备(防火墙产品)存在远程命令执行漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响产品0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现多家安全设备(防火墙产品)存在远程命令执行漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章内的相…

xcode-文件

IOSDeviceSupoprt 共享缓存库 当你使用新的 iOS 设备连接到 Xcode 时&#xff0c;Xcode 会自动下载并存储相应版本的设备支持文件。 每个 iOS 版本都有一个对应的设备支持文件集&#xff0c;这些文件包含有关设备架构和操作系统的信息&#xff0c;以便 Xcode 能够正确地调试和…

判断css文字发生了截断,增加悬浮提示

示例&#xff1a; 固定显示宽度&#xff0c;溢出显示...&#xff0c;利用了css的属性&#xff0c;想要实现成下面这样&#xff1a; 针对溢出的文字&#xff0c;hover显示全部。 提示很好加&#xff0c;使用tooltip组件就行了&#xff0c;难点是如何判断是否发生了文字溢出。…

JS数组与它的42个方法

前言 数组在js中作为一个非常重要的类型之一&#xff0c;在我们对数据处理&#xff0c;存储数据&#xff0c;条件渲染的时候经常会用到&#xff0c;所以随着ES的不断更新&#xff0c;数组的方法也是越来越多&#xff0c;也让我们使用数组对数据操作的时候&#xff0c;越来越简…

【Python百宝箱】数据巨轮启航:Python大数据处理库全攻略,引领数据科学新浪潮

前言 在当今数据爆炸的时代&#xff0c;处理大规模数据集已经成为数据科学和工程领域的关键挑战。Python作为一种强大而灵活的编程语言&#xff0c;吸引着越来越多的数据专业人士。本文旨在为读者提供一份全面的指南&#xff0c;介绍了Python中几个重要的大数据处理库&#xf…

竞赛保研 python 爬虫与协同过滤的新闻推荐系统

1 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python 爬虫与协同过滤的新闻推荐系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&…