51单片机直流电机调速

2023-11-05

一、直流电机介绍

       直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时, 电机正转,当电极反接时,电机反转。直流电机主要由永磁体(定子)、线圈(转子) 和换向器组成
除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等。

 二、电机驱动电路

①大功率器件直接驱动 ULN2003芯片做驱动或直接搭建器件电路,不能反转

②H桥驱动,可以做正反转

ULN2003芯片:

给0输出1,给1输出0;0是有驱动能力的,1是没有驱动能力的,相当于断开,因此9脚接VCC,续流二极管起作用,因此负载就一端接VCC,一端直接接ULN2003的端口。该芯片高压输出50V,集电极电流最大50mA。

三、PWM介绍和产生方法

        PWM (Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域。
        频率=1/Ts
       占空比=Ton/Ts     精度=占空比变化步距

四、代码

产生一个100Hz的PWM波

#include <REGX52.H>
#include "Delay.h"
#include "key.h"
#include "Timer0.h"
#include "Shuma.h"

sbit Moter=P1^0;

unsigned char Counter,Compare,KeyNum,Speed;

void main()
{
	Timer0Init();
	Compare=5;
	while(1)
	{
			KeyNum=Key();
			if(KeyNum==1)
			{
				Speed++;
				Speed%=4;
				if(Speed==0){Compare=0;}
				if(Speed==1){Compare=5;}
				if(Speed==2){Compare=50;}
				if(Speed==3){Compare=100;}
			}
			Shuma(1,Speed);
	}
}

void Timer0_Routine() interrupt 1
{
   //这里的Counter作为全局变量也可以,不会因为中断结束而销毁
		TL0 = 0x9C;		//设置定时初值
		TH0 = 0xFF;		//设置定时初值
		Counter++;
		Counter%=100; //当Counter=100,对100取余为0,刷新为0
		if(Counter<Compare)
		{
			Moter=1;
		}
		else
		{
			Moter=0;
		}
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机直流电机调速 的相关文章

随机推荐

  • uniapp 保存二维码到本地,如果不是本地图片需要先下载后保存。

    如果二维码不是固定的 是线上的就需要先去下载 baocuns 保存二维码 let that this uni showLoading title 保存中 uni downloadFile 先下载网络图片 转为临时路径图片 url that
  • 进制转换C语言实现(十进制转换为任意进制)

    程序实现功能 输入一个十进制数和R 表示要转换成R进制 输出转换后的数 事例 例如 输入 10 2 输出 1010 源代码如下 include
  • UE的rtsp插件崩溃过程排查

    Part1前言 Invideo插件是一个UE5的rtsp视频播放插件 当然还可以播放主流的其他视频协议 其开源地址如下https github com inveta InVideo 前段时间有网页反馈使用该插件进行播放视频的时候会有偶发程序
  • 如何学习计算机视觉?初学者怎么入门?

    学习计算机视觉需要一定的数学 编程和机器学习基础 以下是一些学习计算机视觉的步骤和资源 如何学习计算机视觉 初学者怎么入门 学习编程语言 计算机视觉的主要编程语言包括Python和C 可以学习Python或C 编程 掌握基本语法和编程思想
  • librtmp ssl 1.0.0 到 ssl 1.1.1

    openssl 版本更新了 导致 librtmp 库不能使用 于是查查资料 Compiler errors dereferencing pointer to incomplete type DH aka struct dh st 根据上面的
  • torch.cuda模块获取信息

    判断GPU是否可用 import torch print torch cuda is available 如果输出True则表示可以使用GPU 输出可使用GPU的数量 import torch print torch cuda device
  • 15 Flutter TabBarView和TabBar 定义顶部 Tab 切换

    Flutter TabBarView和TabBar 定义顶部 Tab 切换 1 属性 TabBar属性 说明 tabs 一系列标签控件 controller 标签选择变化控制器 isScrollable 是否可滚动 默认false indi
  • Floyd 算法,找出所有最短路径或最长路径 matlab (二)

    所有最短路径 在 一 中 我们获得了距离矩阵和路由矩阵 元胞 这个一个无向图 这是上次算出的距离矩阵和路由矩阵 接下来介绍如何根据这个路由矩阵 元胞 列出所有最短路径 结果存储在一个矩阵里 每一行代表一条最短路径的标号 定义列出所有最短路径
  • MQ可以用在哪些地方,解决什么问题?

    MQ kafka是以吞吐量高而闻名 不过其数据稳定性一般 而且无法保证消息有序性 阿里巴巴的RocketMQ基于Kafka的原理 利用Java代码打造 弥补了Kafka的缺点 继承了其高吞吐的优势 其客户端目前以Java为主 RabbitM
  • Python+Opencv实现实时的条形码检测

    目录 一 场景需求简介 二 算法实现步骤 三 图片中条形码检测代码实现 四 图片中条形码检测效果展示与分析 五 视频中条形码检测代码实现 六 视频中条形码检测效果展示与分析 七 思维扩展 参考资料 注意事项 一 场景需求简介 在现实场景中
  • flutter type ‘int‘ is not a subtype of type ‘String?‘

    type int is not a subtype of type String 不是int 将int改成String类型 Unhandled Exception type double is not a subtype of type i
  • C#访问数据库MSSQL

    首先声明命名空间using System Data SqlClient 再使用SqlConnection类连接 SqlCommand类执行SQL命令 结果返回给SqlDataReader类或其它类 各类的基本用法介绍 SqlConnecti
  • ubuntu18.04.4 如何切换图形用户界面模式和命令行模式(老林学习笔记)

    ubuntu ubuntu 18 04 4 desktop amd64 iso PC HP Pavilion g4 1 按 Ctrl Alt F1 组合键 进入 既不是图形用户界面模式 也不是命令行模式 2 按 Ctrl Alt F2 组合
  • Linux多线程:线程取消

    int pthread cancel pthread t thread 功能 取消线程 执行中途让线程终止 取消某个线程 可以终止某个线程的运行 但是并不是立马终止 而是当子线程执行到一个取消点 线程才会终止 取消点 系统规定好的一些系统调
  • 一文教你学会keil软件仿真

    仿真在我们调试代码中是非常重要的 通过仿真 我们可以快速定位到错误代码 或者错误逻辑的地方 这里我就以上一篇博客为例 教大家如何软件仿真 软件仿真不需要单片机 直接通过keil软件进行代码调试 一 打开工具 二 选择软件仿真 三 开始仿真
  • antv/g6结合vue实现某一流程的流程图展示

    antv g6结合vue实现某一流程的展示 3 1 3版本 安装antv g6 npm install save antv g6 注意版本控制 引入 import G6 from antv g6 运行结果展示 本文主要实现的需求是 配合后端
  • java jsch 切换用户_使用JSCH框架通过跳转机访问其他节点的方法

    之前搞了套远程访问ssh进行操作的代码 最近有需求 需要通过一台跳转机才能访问目标服务 在网上搜了半天 也没找到比较好的例子 就自己翻阅了下JSCH的API 但是看的云里雾里的 联想了下 端口转发的原理是否是把目标节点ip port映射到l
  • C++ 重载运算符和重载函数

    在同一作用域中的某个函数和运算符 指定多个定义 分别称为函数重载和运算符重载 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明 但是它们的参数列表和定义 实现 不相同 当调用一个重载函数或重载运算符时 编译器通过把
  • Eclipse 设置中文

    一 打开软件 二 点击Help gt Install New Software 三 点击Add按钮 四 输入Name 和Location Name Chinese 随便写 Location download eclipse org tech
  • 51单片机直流电机调速

    一 直流电机介绍 直流电机是一种将电能转换为机械能的装置 一般的直流电机有两个电极 当电极正接时 电机正转 当电极反接时 电机反转 直流电机主要由永磁体 定子 线圈 转子 和换向器组成 除直流电机外 常见的电机还有步进电机 舵机 无刷电机