嵌入式开发学习(STC51-10-直流电机)

内容

直流电机工作约5S后停止

直流电机简介

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

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

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

直流电机没有正负之分,在两端加上直流电就能工作;在交换接线后,可以形成正反转;

使用前需要知道直流电机的额定电压和额定功率,不能使之长时间超负荷运作;

开发板配置的直流电机为5V直流电机,其主要参数如下:
轴长:8mm
轴径:2mm
电压:1-6V
参考电流:0.35-0.4A
3V转速:17000-18000转每分钟

ULN2003芯片简介

由于51单片机主要是用来控制而非驱动,如果直接使用芯片的GPIO管脚去驱动大功率器件,要么将芯片烧坏,要么就驱动不起来;

所以要驱动大功率器件,比如电机,就必须搭建驱动电路,开发板上板载的驱动芯片是ULN2003,该芯片是一个单片高电压、高电流的达林顿晶体管阵列集成电路;

不仅可以用来驱动直流电机,还可用来驱动五线四相步进电机,比如28BYJ-48步进电机;

ULN2003是一个单片高电压、高电流的达林顿晶体管阵列集成电路;

它是由7对NPN达林顿管组成的,它的高电压输出特性和阴极箝位二极管可以转换感应负载;

单个达林顿对的集电极电流是500mA,达林顿管并联可以承受更大的电流;

此电路主要应用于继电器驱动器,字锤驱动器,灯驱动器,显示驱动器(LED气体放电),线路驱动器和逻辑缓冲器等;

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

主要特点:

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

原理图

在这里插入图片描述
由逻辑图可知,其内部相当于非门电路,即输入高输出为低,输入为低输出是高;

这里要注意:因为ULN2003的输出是集电极开路,ULN2003要输出高电平,必须在输出口外接上拉电阻;

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

若想控制五线四相步进电机,则可将四路输出接到步进电机的四相上,电机另一条线接电源正;
在这里插入图片描述
从上图可知,ULN2003的输入口与单片机的P10-P13连接,对应输出则是OUT1-OUT4,而J47则是提供给外部连接电机的接口,可以支持直流电机、五线四相步进电机28BYJ-48连接;

我们使用的是直流电机,可以将电机的一根线连接在VCC上,另一根连接在OUT1上,因此可通过单片机P10口输出高电平来控制电机旋转,输出低电源控制电机停止;

注意:单片机P10输出低电平时,ULN2003的OUT1并不会输出高电平导致停止,而是因为集电极开路,导致电机无电流流入致使停止;

思路

P10口输出高电平即开启电机,输出低电平就关闭电机;

编码

main.c

/*
 * @Description: 使直流电机启动5秒后关闭
 */
#include "reg52.h"

typedef unsigned int u16; // 对系统默认数据类型进行重定义
typedef unsigned char u8;

// 定义直流电机控制管脚
sbit DC_Motor = P1 ^ 0;

/**
 * @description: 延时函数(循环一次大约10us)
 * @param {u16} ten_us
 * @return {*}
 */
void delay_10us(u16 ten_us)
{
	while (ten_us--)
		;
}

/**
 * @description: 延时函数(循环一次大约1ms)
 * @param {u16} ms
 * @return {*}
 */
void delay_ms(u16 ms)
{
	u16 i, j;
	for (i = ms; i > 0; i--)
		for (j = 110; j > 0; j--)
			;
}

void main()
{
	DC_Motor = 1;	// 开启电机
	delay_ms(5000); // 直流电机运行时间为5000ms
	DC_Motor = 0;	// 关闭电机
	while (1)
	{
	}
}

编译和结果

按F7编译,无错误,生成.hex文件,使用pz-isp将hex文件下载到单片机

(将电机的电源线接到J47的01口和5v口)

结果:直流电机工作约5S后停止
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

k8s概念-pv和pvc

回到目录 kubernetes存储卷的分类太丰富了,每种类型都要写相应的接口与参数才行,这就让维护与管理难度加大。 persistenvolume(PV) 是配置好的一段存储(可以是任意类型的存储卷) 也就是说将网络存储共享出来,配置定义成PV。 PersistentVolumeClaim(PVC)是用户pod使…

麦肯锡战略思维四大原则

麦肯锡战略思维四大原则 曾任职麦肯锡、安永等国家国际知名咨询机构的周正元,在其著作《麦肯锡结构化战略思维》将其系统的整理呈现出来,便于学习和使用。 模型介绍 工作中的你,是不是经常遇到复杂问题,六神无主? 专业…

【树形DP+换根思想】2022牛客多校加赛 H

登录—专业IT笔试面试备考平台_牛客网 题意: 思路: 这个虽然是树形DP,却用了换根的思想.... 首先,后缀0的个数可以转化成min(cnt2,cnt5),其中cnt2为2的因子个数,cnt5为5的因子个数 然后进行DP 设dp[u]…

openGauss学习笔记-31 openGauss 高级数据管理-索引

文章目录 openGauss学习笔记-31 openGauss 高级数据管理-索引31.1 语法格式31.2 参数说明31.3 示例 openGauss学习笔记-31 openGauss 高级数据管理-索引 索引是一个指向表中数据的指针。一个数据库中的索引与一本书的索引目录是非常相似的。 索引可以用来提高数据库查询性能&…

解决:树莓派VNC连接屏幕显示不全

目录 前导:我在重新烧录玩树莓派系统,开启完VNC并连接后,发现我的树莓派远程桌面屏幕显示不全,看着很难受! PS:开启VNC服务的过程 问题如下现象: 问题分析:当树莓派通过VNC连接时&…

ThreadLocal原理

ThreadLocal原理 ThreadLocal对象new出来存放到堆中,ThreadLocal引用是存放在栈里 Thread 类有个 ThreadLocalMap 成员变量,Map的key是Threadlocal 对象,value是你要存放的线程局部变量。 public void set(T value) {//获取当前线程Thread&…

springboot+vue农业技术信息管理系统_9927h

随着信息时代的发展,计算机迅速普及,传统的农业信息管理方式显得不够快捷,这时我们就需要创造更加便利的管理方法,对农业信息进行统计,便于统一管理。将传统管理方式转变为信息、智能化显得尤为重要,农业信…

web开发中的安全和防御入门——csp (content-security-policy内容安全策略)

偶然碰到iframe跨域加载被拒绝的问题,原因是父页面默认不允许加载跨域的子页面,也就是的content-security-policy中没有设置允许跨域加载。 简单地说,content-security-policy能限制页面允许和不允许加载的所有资源,常见的包括&a…

【万字长文】SpringBoot整合Atomikos实现多数据源分布式事务(提供Gitee源码)

前言:在最近的实际开发的过程中,遇到了在多数据源的情况下要保证原子性的问题,这个问题当时遇到了也是思考了一段时间,后来通过搜集大量资料与学习,最后是采用了分布式事务来解决这个问题,在讲解之前&#…

睿讯微带你深度了解汽车交流充电桩

这几年随着新能源汽车的普及,充电桩也越来越多的出现在我们的视野中。新能源纯电汽车就好比一种大号的电子产品,而充电桩则是它不可缺少的子系统,是新能源车主们的必要选择。 汽车充电桩分为直流和交流两种,2022年底全国公共充电桩…

Java课题笔记~ Spring 概述

Spring 框架 一、Spring 概述 1、Spring 框架是什么 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的。Spring 的核心是控制反转(IoC)和面向切面编程(AOP)。 Spring…

创建vue-cli(脚手架搭建)

目录 功能 需要的环境 使用HbuilderX快速搭建一个vue-cli项目 组件路由 element-ui vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;预先定义 好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个 骨…

VR内容研发公司 | VR流感病毒实验虚拟现实课件

由广州华锐互动开发的《VR流感病毒实验虚拟现实课件》是一种新型的教学模式,可以为学生提供更加真实和直观的流感病毒分离鉴定实验操作体验,从而提高学生的实验技能和工作效率。 《VR流感病毒实验虚拟现实课件》涉及了生物安全二级实验室(BSL-2)和流感病…

分布式应用:Zookeeper 集群与kafka 集群部署

目录 一、理论 1.Zookeeper 2.部署 Zookeeper 集群 3.消息队列 4.Kafka 5.部署 kafka 集群 6.FilebeatKafkaELK 二、实验 1.Zookeeper 集群部署 2.kafka集群部署 3.FilebeatKafkaELK 三、问题 1.解压文件异常 2.kafka集群建立失败 3.启动 filebeat报错 4.VIM报错…

基于DiscordMidjourney API接口实现文生图

https://discord.com/api/v9/interactions 请求头: authorization:取自 浏览器中discord 文生图请求头中的 authorization 的值 Content-Type:application/json 请求体: {“type”:2,“application_id”:“93692956130267xxxx”,“guild_id”:“1135900…

python-MySQL数据库建表语句(需要连接数据库)转存为Excel文档-工作小记

将create table XXXXXX 转为指定Excel文档。该脚本适用于数据库表结构本地文档记录 呈现效果 代码 # -*- coding:utf-8 -*- # Time : 2023/8/2 15:14 # Author: 水兵没月 # File : MySQL建表_2_excel.py import reimport mysql.connector import pandas as pd db 库名 mydb …

TS协议之PMT(节目映射表)

TS协议之PAT(节目关联表) 1.概要 PMT:节目映射表,与PAT成对出现,包含了该节目下所有的节目元素。 PMT数据结构如下: 字段分析: 字段字段描述表id标识一个TS PSI分段的内容是节目关联分段&am…

性能分析记录

4实例压测TPS浮动在200-300 1.TPS浮动200-300,ART浮动的可能性是10-20ms,链路复杂是可接受的,链路简单则需要分析原因。 1)缓存没命中,对某些账号缓存没命中,或缓存失效后导致隔段时间耗时升高。 2&…

MySQL正则表达式检索数据

目录 一、使用正则表达式进行基本字符匹配 1.使用regexp关键字 2.使用正则表达式 . 二、进行OR匹配 1.为搜索两个串之一,使用 | 2.匹配几个字符之一[] 3.匹配范围 4.匹配特殊字符 过滤数据允许使用匹配、比较、通配符操作来寻找数据,但是随…

mac前端代码编辑 Sublime Text 4 Dev 中文v4.0(4151)

Sublime Text 4 for Mac是一款功能强大的代码编辑器,适合所有需要高效编写代码和进行代码管理的程序员使用。 快速响应:Sublime Text 4在加载文件和执行命令时非常快速,能够让用户在高效的开发过程中体验到无缝的交互。 多种语言支持&#…