单片机第一季:零基础9——直流电机和步进电机

news2024/11/17 1:50:55

目录

1,直流电机

2,步进电机 


1,直流电机

直流电机是指能将直流电能转换成机械能(直流电动机)或将机械能转换成直流电能(直流发电机)的旋转电机。它是能实现直流电能和机械能互相转换的电机。当它作电动机运行时是直流电动机,将电能转换为机械能;作发电机运行时是直流发电机,将机械能转换为电能。

直流电机的结构应由定子和转子两大部分组成。直流电机运行时静止不动的部分称为定子,定子的主要作用是产生磁场,由机座、主磁极、换向极、端盖、轴承和电刷装置等组成。运行时转动的部分称为转子,其主要作用是产生电磁转矩和感应电动势,是直流电机进行能量转换的枢纽,所以通常又称为电枢,由转轴、电枢铁心、电枢绕组、换向器和风扇等组成。
直流电机没有正负之分,在两端加上直流电就能工作。需要知道直流电机的额定电压和额定功率,不能使之长时间超负荷运作。在交换接线后,可以形成正反转。

前面讲过,51 单片机主要是用来控制而非驱动,如果直接使用芯片的GPIO管脚去驱动大功率器件,要么将芯片烧坏,要么就驱动不起来。所以要驱动大功率器件,比如电机。就必须搭建驱动电路,开发板上板载的驱动芯片是ULN2003,该芯片是一个单片高电压、高电流的达林顿晶体管阵列集成电路。不仅可以用来驱动直流电机,还可用来驱动五线四相步进电机,比如28BYJ-48 步进电机。本章我们使用ULN2003 来驱动直流电机,下面来具体介绍下ULN2003 芯片的使用。


ULN2003 是一个单片高电压、高电流的达林顿晶体管阵列集成电路。它是由7 对NPN 达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载。单个达林顿对的集电极电流是500mA。达林顿管并联可以承受更大的电流。此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED 气体放电),线路驱动器和逻辑缓冲器。ULN2003 的每对达林顿管都有一个2.7k串联电阻,可以直接和TTL 或5V CMOS 装置。 

 

从上图中可以看出,该电路是独立的,芯片的输入通过J46 端子提供,芯片的输出由J47 端子引出。J46 输入对应J47 输出,而J47 则是提供给外部连接电机的接口,可以支持直流电机、五线四相步进电机28BYJ-48 连接。由于该模块电路是独立的,所以使用任意单片机管脚都可以,为了与我们例程程序配套,这里使用P1.0 管脚来控制ULN2003 输出,即将P1.0 管脚连接到J46 的IN1,直流电机的两根线接J47 端子的1、2 脚即5V 和O1。

因此可通过单片机P1.0 口输出高电平来控制电机旋转,输出低电源控制电机停止。注意:单片机P1.0 输出低电平时,ULN2003 的OUT1 并不会输出高电平导致停止,而是因为集电极开路,导致电机无电流流入致使停止。  

/********************************************************************
******************
实验名称:直流电机实验
接线说明:
实验现象:下载程序后,直流电机旋转5S 后停止
注意事项:将直流电机两根线分别连接到“步进电机模块”输出端子J47 的5V 和O1 上。
*********************************************************************
******************/
#include "reg52.h"
typedef unsigned int u16; //对系统默认数据类型进行重定义
typedef unsigned char u8;

//定义直流电机控制管脚
sbit DC_Motor=P1^0;
#define DC_MOTOR_RUN_TIME 5000 //定义直流电机运行时间为5000ms
/********************************************************************
***********
* 函数名: delay_ms
* 函数功能: ms 延时函数,ms=1 时,大约延时1ms
* 输入: ten_us
* 输出: 无
*********************************************************************
**********/
void delay_ms(u16 ms)
{
	u16 i,j;
	for(i=0;i<ms;i++)
	for(j=110;j>0;j--);
}
/********************************************************************
***********
* 函数名: main
* 函数功能: 主函数
* 输入: 无
* 输出: 无
*********************************************************************
**********/
void main()
{
	DC_Motor=1;//开启电机
	delay_ms(DC_MOTOR_RUN_TIME);
	DC_Motor=0;//关闭电机
	while(1)
	{
	}
}

2,步进电机 

 本章所要实现的功能是:通过ULN2003 驱动模块控制28BYJ48 步进电机运行方向及速度,当按下KEY1 键可调节电机旋转方向;当按下KEY2 键,电机加速;当按下KEY3 键,电机减速。

步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,即给电机加一个脉冲信号,电机则转过一个步距角。这一线性关系的存在,加上步进电机只有周期性的误差而无累计误差等特点。使得在速度、位置等控制领域用步进电机来控制变的非常的简单。虽然步进电机已被广泛的应用,但步进电机并不能像普通的直流电机,交流电机在常规下使用。它必须由双环形脉冲信号、功率驱动电路等组成控制系统方可使用。因此用好步进电机也并非易事,它涉及到机械、电机、电子及计算机等多专业知识。 

通常步进电机的转子为永磁体,当电流流过定子绕组时,定子绕组产生一矢量磁场。磁场会带动转子旋转一定的角度,使得转子的一对磁场方向与定子的磁场方向一致。当定子的矢量磁场旋转一个角度。转子也随着该磁场转步距角。每输入一个电脉冲,电动机转动一个角度前进一步。它输出的角位移与输入的脉冲数成正比、转速与脉冲频率成正比。改变绕组通电的顺序,电机就会反转。所以可以控制脉冲数量、频率及电动机各相绕组的通电顺序来控制步进电机的转动。 

 

 

 

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

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

相关文章

Jenkins的安装部署以及基本使用

前言&#xff1a; 今天有空大概记录的一个作为一个测试人员日常中Jenkins的使用。 一、环境准备 在安装使用Jenkins前我们要先安装jdk&#xff0c;这里博主选择的是jdk11。我们先删除旧的jdk然后安装全新的jdk。 1、先看下当前我们的jdk版本。 2、查看jdk安装路径&#xff1…

Simulink仿真模块 - Unit Delay

Unit Delay:将信号延迟一个采样期间 在仿真库中的位置为:Simulink / Discrete HDL Coder / Discret 模型为: 双击模型打开参数设置界面,如图所示: 说明 Unit Delay 模块按指定的采样期间保持和延迟输入。当放置于迭代子系统中时,该模块将其输入保持并延迟一个迭代。此…

视频文件一键批量去除水印需要用到什么剪辑软件

刚接触视频剪辑这个行业的小伙伴在找视频素材的过程中&#xff0c;如果发现视频带有水印是不是非常头疼&#xff0c;不知道怎么处理这件事。那今天我们就来聊聊怎么才能快速批量去除视频的水印呢&#xff1f;今天小编给大家带来一个好方法&#xff0c;一起来看看吧。 一、首先我…

Redis实战案例17-Redisson可重入的原理

可重入原理分析 为什么自定义的Redis实现分布式锁不能实现可重入 method1中调用了method2方法&#xff0c;属于是同一线程内的操作&#xff0c;但是当method1中获取了锁之后&#xff0c;method2中就无法获取锁了&#xff0c;这就是同一线程无法实现可重入&#xff1b; 如何解决…

Windows上查看服务器上tensorboad内容

文章目录 前言一、SSH的设置二、tensorboard命令 前言 本篇文章是针对于局域网内的服务器的tensorboard可视化&#xff0c;由于设置方式稍微有点复杂&#xff0c;导致我每次隔了一段时间之后&#xff0c;就不知道该怎么查看tensorboard了&#xff0c;每次都要百度搜一大堆资料…

安达发|选择APS排程系统一定要注意这五大问题

随着信息技术的迅速发展&#xff0c;云计算已成为企业信息化建设的重要领域。在云计算中&#xff0c;aps是企业服务器环境中常见的虚拟化解决方案。然而&#xff0c;市场上有许多aps系统可供选择&#xff0c;企业在选择合适的系统时需要综合考虑多种因素。本论文将从这个五个角…

nacos十分钟快速搭建

简介 nacos是阿里巴巴开源的微服务基础组件&#xff0c;充当微服务架构中的配置中心和注册中心&#xff0c;nacos可单独作为配置中心或者注册中心 目录结构 bin&#xff0c;bin工具 conf&#xff0c;配置文件 target&#xff0c;nacos的jar包 安装 机器环境&#xff1a;cen…

清洁机器人规划控制方案

清洁机器人规划控制方案 作者联系方式Forrest709335543qq.com 文章目录 清洁机器人规划控制方案方案简介方案设计模块链路坐标变换算法框架 功能设计定点自主导航固定路线清洁区域覆盖清洁贴边沿墙清洁自主返航回充 仿真测试仿真测试准备定点自主导航测试固定路线清洁测试区域…

Redis数据类型 — Hash

目录 Hash内部实现 源码片段 Hset执行函数 创建hash对象 尝试转换存储空间的编码 遍历把键值对根据存储空间格式进行存储起来 Hash 是一个键值对&#xff08;key - value&#xff09;集合&#xff0c;Hash 特别适合用于存储对象。 Hash内部实现 Hash 类型的底层数据结构…

[Error] graphics.h: No such file or directory

原因&#xff1a;系统编译器找不到graphics.h文件&#xff0c;graphics.h这个文件就类似Java里面的jar包&#xff0c;也相当于Python里面pip安装的依赖包&#xff0c;graphics.h是样式设计文件&#xff0c;需要放到编译的文件夹里面 解决办法&#xff1a; 1.从该网址下载graphi…

Talk | 天津大学博士生赵煜:从平面图像中理解空间语义 - 视觉空间位置描述

本期为TechBeat人工智能社区第512期线上Talk&#xff01; 北京时间7月12日(周三)20:00&#xff0c; 天津大学博士生—赵煜的Talk已准时在TechBeat人工智能社区开播&#xff01; 他与大家分享的主题是: “从平面图像中理解空间语义-视觉空间位置描述”&#xff0c;他与大家探讨了…

Html基础知识学习——兼容问题与解决方法(十六)

文章目录 1.计算一定要精确&#xff0c;不要让内容的宽高超出我们设置的宽高&#xff0c;在IE6下内容会撑开设置好的宽高2.元素浮动&#xff0c;宽度需要内容撑开&#xff0c;就给里面的块元素都加浮动3.在ie6.ie7下元素要浮动并在同一行 就给这些元素都加浮动4.注意标签嵌套规…

数学建模-典型相关分析

上节回顾 论文&#xff1a;常州大学一等奖淡水养殖… 要进行 pearson 相关系数 画散点图、折线图看是否相关检验正态分布满足上述&#xff0c;利用pearson相关系数 刚开始推导不会没关系&#xff0c;会应用就行&#xff0c;推导过程略&#xff0c;之后学习了后续知识&#xff…

JS基础教程

一、JS简介 1.1 学习内容 JavaScript&#xff08;简称“JS”&#xff09; 是一种具有函数优先的轻量级&#xff0c;解释型或即时编译型的编程语言。它是作为开发Web页面的脚本语言而出名&#xff0c;JavaScript 基于原型编程、多范式的动态脚本语言&#xff0c;并且支持面向对…

复习之系统定时任务及延迟任务

一、延迟任务&#xff08;一次性的&#xff09; 1. 延迟任务的设定 at 时间 &#xff1a;具体时间设定延迟任务 设定成功后“ ctrl d "发起任务&#xff0c;" ctrl c " 取消。 at -l &#xff1a;查看延迟任务at -c 1 &#xff1a;查看序号为1 的延迟…

第四次CCF计算机软件能力认证

第一题&#xff1a;图像旋转 旋转是图像处理的基本操作&#xff0c;在这个问题中&#xff0c;你需要将一个图像逆时针旋转 90 度。 计算机中的图像表示可以用一个矩阵来表示&#xff0c;为了旋转一个图像&#xff0c;只需要将对应的矩阵旋转即可。 输入格式 输入的第一行包含两…

MySQL(二)索引原理以及优化

MySQL系列文章 MySQL&#xff08;一&#xff09;基本架构、SQL语句操作、试图 MySQL&#xff08;二&#xff09;索引原理以及优化 MySQL&#xff08;三&#xff09;SQL优化、Buffer pool、Change buffer MySQL&#xff08;四&#xff09;事务原理及分析 MySQL&#xff08;五&a…

滚珠螺杆的使用优势

滚珠螺杆主要是由螺杆、螺帽、钢珠、固定座、刮刷器以及回流管所构成的&#xff0c;根据循环系统的不同&#xff0c;还可以分为外循环式、内循环式、端塞循环式的滚珠螺杆。 滚珠螺杆发展至今&#xff0c;已经广泛应用到各产业机械的定位精度控制上&#xff0c;像精密工具机、产…

Karmada: Open, Multi-Cloud, Multi-Cluster Kubernetes Orchestration

Karmada是一个开源的多云应用编排和管理平台&#xff0c;旨在帮助用户在多个云提供商之间无缝地部署、编排和管理应用程序。 Karmada&#xff08;Kubernetes Armada&#xff09;是一个Kubernetes管理系统&#xff0c;它使您能够在多个Kubernetes集群和云环境中运行云原生应用程…

JavaFX 用户界面控件1——ChoiceBox ComboBox

1.选择框ChoiceBox JavaFX的ChoiceBox是一个用户界面控件&#xff0c;用于向用户显示一个选项列表&#xff0c;并允许用户从中选择一个或多个选项。下面是一个ChoiceBox的简单示例和使用介绍&#xff1a; 首先&#xff0c;导入JavaFX的相关类&#xff1a; import javafx.appl…