51单片机15(直流电机实验)

一、序言:我们知道在单片机当中,直流电机的控制也是非常多的,所以有必要了解一些这个电机相关的一些知识,以及如何使用单片机来控制这个电机,那么在没有学习PWM之前,我们先简单的使用GPIO这个管脚来控制电机的这个旋转和停止,不能直接使用这个GPIO来驱动电机。而是需要相应的驱动电路来驱动我们的电机,而我们的单片机管脚只是用来做控制,那么我们的板子已经绑载了一个驱动芯片URN2013这个芯片,那么这个芯片是一个单片高电压高电流的一个达林顿晶体管的一个集成电路,不仅可以用来驱动我们的直流电机,还可以用来驱动步进电机,那么在后面学习步进电机的时候,我们同样还会用到这个电路。

二、直流电机介绍

1、直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。

2、

(1)

(2)像我们普通的电机大多是通过这个电能转换成机械能让它转动,像也有一些发电机,它是通过机械能转换成电能,那么这张图当中,我们可以看到上面这两张图就是我们的直流电机,这个直流电机的个体积还是比较小的。这是我们的普通的一些玩具上的一些直流电机,直流电机,它的一个结构,它是有一个定子和转子这两部分所组成。

(3)直流电机,它运行的时候静止不动,静止不动的部分我们称为定子,定子的主要作用是产生磁场,那么由基座主磁场主磁极,还有换向极以及端盖轴承和电机装置等组成,那么运行的时候,转动的部分,我们称为转子,那其主要的作用是产生这个电子转矩和感应电动势,是直流电机进行能量转换的一个枢纽,我们称之为电枢,由转轴电枢,铁芯电枢老组以及换向器和风扇等组成,这是它的一个内部的一些构造。

(4)直流电机没有正负极之分,没有正负极,只要在这个电机的两端,加上一个直流电,他就能工作,需要知道直流电的这个额定电压和额定功率,不能使之长时间超额的一个运行,比如说我们这个直流电机,它的额定电压是5V,如果在直流电机的两端接入一个9V或者是12V的,如果你长时间工作,可能会把这个芯片或者直流电机里面的一些东西给烧坏。

(5)那么,我假设这里连接一个管脚连接正极,那里连接一个负极,也是给我们的这两个管脚通电,这样电机就能实现转动,因为它没有正负极,所以这里可以接正,这里也可以接负。如果反过来这里接负,那里接正,那它的电机旋转方向就跟刚才的方向是相反的。假入我们刚才还在这里接正,接负,他是处于一个正正转的一个过程。那如果这里接正,这里接负。那它就是反转。所以改变它的一个电流,它的一个方向就会变化这是直流电机。

3、

(1)

(2)那旁边这张图,就是直流电机的一个内部的一个结构,简化图,那我们来看一下,这是AB级,AB两个级,那这里我们给AB电级接了一个电源,我们的A接正,B接负,那这里两片,下面就是我们的这个转子。转子上面有这一个线圈,那这里通入电流的时候,那电流是从正极往下,它就有一个力,产生一个旋转,那根据右手定则,自己看一下电流方向是这样的,那它的力是这样的,所以它会绕这个方向进行一个旋转,那么磁场也是这样的,N级到S级,这是我们直流电机的一个简单的一个示意图。

(3)那如果是这里接正,这里接负呢,那这里的电流方向是这样的,它的一个旋转方向就会反过来,这是我们的直流电机,大家知道我们的直流电机的一个控制方式,只要给这个电机两端一个电压,一个电流过来,它就会实现旋转,那么这个电流的方向不同,那它的旋转方向也就不同。

三、ULN2003芯片介绍

1、ULN2003这是一种可以用来驱动这种大功率器件的一种芯片,如果说直接用芯片的GPL管脚来驱动这种大功率器件,比如说电机,那么它将会让我们的芯片烧坏,要么驱动不起来,或者是直接烧坏,所以要驱动大功率器件,比如电机,那么就必须搭载相应的一些驱动电路,那么开放板上面,板载的驱动芯片是ULN2003这个芯片,那么这个芯片是一个单片的高电压,高电流的达林顿晶体管集成电路,不仅可以用来驱动直流电流,直流电机,还可以驱动步进电机,像五线四相的一个步进电机,28-BYJ-48这种步进电机都可以使用这个芯片来驱动,那我们这里呢,介绍的是使用UN2003这个芯片来驱动我们的直流电机。那下面就来介绍这个芯片的一个使用。

2、UN2003这个芯片,它是一个单片高电压高电流的一个达林顿晶体管的一个阵列集成电路,它是由七对NPN的一个达林顿管所组成,这是它的一个内部结构。

(1)

(2)它的高电压输出特性和阴级嵌位这个二极管可以转换感应负载,单个的独立达林顿管的集电极电流它是500毫安,那达林顿管它并联可以承受更大的电流。这个电路主要是用来驱动继电器,像比较驱动一些继电器,那么像还有一些电灯的一些驱动,还有显示屏的一些驱动LED的一些驱动,以及一些电机的驱动,都可以使用ULN2003来实现,那么这个芯片可以直接和这个TDL或者是5V的CMOS装置来进行对接。

(3)

3、我们知道ULN2003由7对NPN的一个达林顿管,那么这里呢就是它的七个输入通道1到7,然后对应它有输出12345567,那么1B对1C,2B对2C,以此类推。那么E跟COM是它的一个电源角,第八角它是一个GND,第九角是一个电源,也就是我们达林顿管的一个公共端的一个电源。

(1)

(2)这个ULN2003它的一个输出特性有这么一个特性,相当于一个非门,输入为低,输出为高,这个是我们高电平的一个5V,通过这一端连接的电压,如果说这里连接的是24V,那么输入是零,输出是高电平,这个高电平就是24V。

(3)比如说我现在要用ULN2003来驱动我们的直流电机,那我们知道直流电机,它是没有正负极的,那要给它一个电压,那我这里是不是直接可以这样去连接我们的这个直流电机,这里,给一个高电平,让它输出高电平,这里是给它一个输出低电平是不可以的。因为这个ULN2003它是输出,有相当于一个漏极开路,跟我们的P0口一样,它不能直接让它输出高电平,刚才我们说的输入为低,输出为高,是类似于我们的非门,他是需要外部接上拉电阻才可以。但是我们这个使用ULN2003,外部的输出并没有接上拉电阻,这个从我们的原理图可以看到,这是我们的原理图,输出我们并没有接上拉,所以你输出是不能直接输出高电平,那么你要让它连接到直流电机,那你要让它这两个关节连接直流电机肯定是不行的。因为它不能一端输出高,一段输出低,输出低是可以的。因为它输入高,这里输出低是可以的。漏极开路的电路在我们前面介绍P0端口的时候,已经介绍过。

(4)然后接下来怎么用这个芯片来驱动我们的直流电机,既然不能两个管脚连接,那我怎么来驱动它,那COM这个公共端我们知道它是连接到VCC的,所以我可以将我的直流电机一端接到公共端这里,VCC通过这个电源就是相当于我们直接给它一个电源,一个电机上面一个电源,另一端我可以连接这七路当中的某一路的一个输出管脚,这样一来,当我输入为高输出为低电平,那这里为低电平,这里是为VCC,那这里是不是就有电了,电机就会旋转,那你电机就是固定的一个方向旋转,它不能反方向,如果要反方向,除非改变它的电流,但是这里是改变不了的。因为我们知道ULN2003这个输出没有外接上拉电阻,它不能输出高,除非你自己在设计电路的时候,这里再连接一些上拉电阻,在每一个通道上面连接一个上拉电阻,这样一来,我直接就可以利用这两个管脚来进行输出,这里输入高,这里输入低,那这样就对应的,这里输出低,这里输出高,这样电机就会得电进行旋转,那如果这里输入低,这里输入高,那这样对应的就是这里输出高,这里输入低,那这个方向呢又会变化。

四、硬件设计

1、

2、因为我们的A2到A4的产品是集成,也就是说各个资源都已经固定连接到对应的单片机的IO口,从这一张连接图当中,我们可以看到ULN2003的输入我们只用到了五路,其中第五路IN5,它是连接控制我们的蜂鸣器的,这个在前面介绍蜂鸣器实验的时候,我们已经说过,而前面的四路也就是IN1到IN4,他是连接在我们的P10到P13四个管脚,那么这四个管脚对应的输出就是这四个OUT1和OUT4,那么OUT1和OUT4他连接在哪里呢,它是通过一个端子排针引出来,为什么要引出来,我可以方便接这个电机,我这两个管脚是不是就可以接我们的直流电机,那这个固定的是不是VCC,前面也介绍了,为什么要让这个直流电机一端固定VCC,这是根据我们ULN2003这个输出特性决定的。然后这个OUT1,OUT2,OUT3,OUT4可以选择任意一个管脚来连接直流电机的另一端,不能将这个OUT1,OUT2,OUT3,OUT4中的两个连接在直流电机上面,这个前面面也介绍了,为什么不能直接接,然后这是我们的直流电机,它的一个驱动电路。

3、那下面这里呢,是针对我们的A5到A7,因为我们的A5到A7的产品是各个模块独立的,所以它的控制管脚也是通过这种排针这种端子引出来,方便我们用户自己去搭配对应的IO口,你如果是要兼容我们这一套程序,那可以对应到我们的P10,P11,P12,P13这样的对应的连接,那同理,它的输出,也跟这里是一样,这是我们的ULN2003这一个电路驱动的一个电路,从这个驱动电路当中,我们也看到它的输出并没有外接上拉电阻的,如果外接上拉电阻了,我们就可以使用这种ULN2003当中的两个管脚来驱动我们的这个直流电机来实现正反转的一个控制,只实现正反转,但我们现在没有加,所以它只能实现单方向的一个旋转,如果说我们使用这个ULN2013这个芯片来驱动步进电机,它是可以实现正反转。在后面我们学习步进电机的时候,我们会说到为什么要引出一个VCC,引出一个VCC或者说用到了五个管脚,这是因为配合我们后面的这个步进电机,五线四相的一个步进电机来介入这个接口当中就可以控制这个五线四相的步进电机旋转。

五、软件设计

1、本章所要实现的功能是:直流电机工作约5s后停止。

2、

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

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

相关文章

npm提示 certificate has expired 证书已过期 已解决

在用npm新建项目时,突然发现报错提示 : certificate has expired 证书已过期 了解一下,在网络通信中,HTTPS 是一种通过 SSL/TLS 加密的安全 HTTP 通信协议。证书在 HTTPS 中扮演着至关重要的角色,用于验证服务器身份并加密数据传输…

vue实现电子签名、图片合成、及预览功能

业务功能:电子签名、图片合成、及预览功能 业务背景:需求说想要实现一个电子签名,然后需要提供一个预览的功能,可以查看签完名之后的完整效果。 需求探讨:后端大佬跟我说,文档我返回给你一个PDF的oss链接…

【书生大模型实战营(暑假场)】入门任务一 Linux+InternStudio 关卡

入门任务一 LinuxInternStudio 关卡 参考: 教程任务 1 闯关任务 1.1 基于 VScode 的 SSH 链接 感谢官方教程的清晰指引,基于VS code 实现 SSH 的链接并不困难,完成公钥配之后,可以实现快速一键链接,链接后效果如下…

XXE -靶机

XXE靶机 一.扫描端口 进入xxe靶机 1.1然后进入到kali里 使用namp 扫描一下靶机开放端口等信息 1.2扫描他的目录 二 利用获取的信息 进入到 robots.txt 按他给出的信息 去访问xss 是一个登陆界面 admin.php 也是一个登陆界面 我们访问xss登陆界面 随便输 打开burpsuite抓包 发…

【MySQL】事务 【下】{重点了解读-写 4个记录隐藏列字段 undo log日志 模拟MVCC Read View sel}

文章目录 1.MVCC数据库并发的场景重点了解 读-写4个记录隐藏列字段 2.理解事务undo log日志mysql日志简介 模拟MVCC 3.Read Viewselect lock in share modeMVCC流程RR与RC 1.MVCC MVCC(Multi-Version Concurrency Control,多版本并发控制)是…

20240801 每日AI必读资讯

🔊OpenAI向ChatGPT Plus用户推出高级语音模式 - 只给一小部分Plus用户推送,全部Plus用户要等到秋季 - 被选中的Alpha 测试的用户将收到一封包含说明的电子邮件,并在其移动应用中收到一条消息。 - 同时视频和屏幕共享功能继续推出&#xff…

ElasticSearch父子索引实战

关于父子索引 ES底层是Lucene,由于Lucene实际上是不支持嵌套类型的,所有文档都是以扁平的结构存储在Lucene中,ES对父子文档的支持,实际上也是采取了一种投机取巧的方式实现的. 父子文档均以独立的文档存入,然后添加关联关系,且父子文档必须在同一分片,由于父子类型文档并没有…

echarts加载区域地图,并标注点

效果如下,加载了南海区域的地图,并标注几个气象站点; 1、下载区域地图的JSON:DataV.GeoAtlas地理小工具系列 新建nanhai.json,把下载的JSON数据放进来 说明:如果第二步不打勾,只显示省的名字&a…

ECCV 2024前沿科技速递:GLARE-基于生成潜在特征的码本检索点亮低光世界,低光环境也能拍出明亮大片!

在计算机视觉与图像处理领域,低光照条件下的图像增强一直是一个极具挑战性的难题。暗淡的光线不仅限制了图像的细节表现,还常常引入噪声和失真,极大地影响了图像的质量和可用性。然而,随着ECCV 2024(欧洲计算机视觉会议…

应急靶场(11):【玄机】日志分析-apache日志分析

题目 提交当天访问次数最多的IP,即黑客IP黑客使用的浏览器指纹是什么,提交指纹的md5查看index.php页面被访问的次数,提交次数查看黑客IP访问了多少次,提交次数查看2023年8月03日8时这一个小时内有多少IP访问,提交次数 …

OrangePi AI Pro 固件升级 —— 让主频从 1.0 GHz 到 1.6 GHz 的巨大升级

前言 OrangePi AI Pro 最近发布了Ascend310B-firmware 固件包,据说升级之后可以将 CPU 主频从 1.0 GHz 提升至 1.6 GHz,据群主大大说,算力也从原本的 8T 提升到了 12T,这波开发板的成长让我非常的 Amazing 啊!下面就来…

Linux命令行 复制模式/扩展模式 调用系统功能切换

问题背景 公司软件需要从window 适配国产操作系统,目前使用wine方案。在我们软件有个切换屏幕模式的功能,需要支持用户在我们软件内,切换复制模式/扩展模式。 在linux 下 uos/deepin 等系统。如果要从复制模式设置为扩展模式使用命令行时&a…

Windows下nmap命令及Zenmap工具的使用方法

一、Nmap简介 nmap是一个网络连接端扫描软件,用来扫描网上电脑开放的网络连接端。确定哪些服务运行在哪些连接端,并且推断计算机运行哪个操作系统(这是亦称 fingerprinting)。它是网络管理员必用的软件之一,以及用以评…

【Bug收割机】已解决使用maven插件打包成功,在控制台使用mvn命令打包失败问题详解,亲测有效!

文章目录 前言问题分析报错原因解决方法私域 前言 在maven项目中,大家经常会使用maven插件来打包项目文件 但是有的人也习惯使用mvn命令在控制台直接进行打包,因为这样可以自定义组装一些命令,使用起来也更加灵活方便,比如mvn pa…

C++进阶-哈希扩展(位图和布隆过滤器)

1. 位图 1.1 位图概念 面试题 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。【腾讯】 解题思路1:暴⼒遍历,时间复杂度O(N),太慢 解题思路2:排序⼆分查…

mybatis-plus中出现Field ‘id‘ doesn‘t have a default value问题解决方法

问题分析: 出现这个原因,主要是因为mybatis-plus自身查询的特性,因为查询都是它自己内部设定好的参数,一般为了简便,都会默认自己底层的数据库对应的主键id字段是自增的,也就是mybatis-plus认为不需要id,每…

重磅惊喜!OpenAI突然上线GPT-4o超长输出模型!「Her」高级语音模式已开放测试

在最近的大模型战争中,OpenAI似乎很难维持霸主地位。虽然没有具体的数据统计,但Claude3.5出现后,只是看网友们的评论,就能感觉到OpenAI订阅用户的流失: Claude3.5比GPT-4o好用,为什么我们不去订阅Claude呢&…

学习c语言第18天(字符串和内存函数)

1.函数介绍 1.1 strlen size_t(就是无符号整形) strlen(const char * str); 字符串已经\0作为结束标志,strlen函数返回的是在字符串中\0前面出现的字符个数(不包 含\0) 参数指向的字符串必须要以\0结束。 注意函数的返回值为size_t,…

文件系统 --- 文件结构体,文件fd以及文件描述符表

序言 在编程的世界里,文件操作是不可或缺的一部分。无论是数据的持久化存储、日志记录,还是简单的文本编辑,文件都扮演着至关重要的角色。然而,当我们通过编程语言如 C、Java 等轻松地进行文件读写时,背后隐藏的复杂机…