2024/4/11 直流电机调速/PWM

一、直流电机简介和PWM原理

直流电机是一种将电能转换为机械能的装置。一般的直流电机有两个电极,当电极正接时,电机正转,当电极反接时,电机反转

直流电机主要由永磁体(定子)、线圈(转子)和换向器组成

除直流电机外,常见的电机还有步进电机、舵机、无刷电机、空心杯电机等

大功率器件直接驱动

H桥驱动

PWM(Pulse Width Modulation)即脉冲宽度调制,在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速、开关电源等领域

PWM重要参数:

     频率 = 1 / TS            占空比 = TON / TS           精度 = 占空比变化步距

电机控制:让电机转一毫秒再停一毫秒,但是由于其具有惯性不可能立马停止,这样做可以使电机处于一个稳定的低速状态。

二、呼吸灯

#include <REGX52.H>sbit LED=P2^0;
void Delay(unsigned int t)
{while(t--);
}
void main()
{unsigned char Time,i;while(1){for(Time=0;Time<100;Time++){for(i=0;i<20;i++){LED=0;Delay(Time);LED=1;Delay(100-Time);}}for(Time=100;Time>0;Time--){for(i=0;i<20;i++){LED=0;Delay(Time);LED=1;Delay(100-Time);}}}
}

本来想弄全部一起亮,但是一弄蜂鸣器就开始啸叫...由于在自习室吓得我,马上关了哈哈哈哈哈哈哈哈哈,还觉得莫名其妙,后面才想起P2^5是蜂鸣器()。因为P2是包含八个led的,需要用8位16进制来给每一个led赋值,p2=1就相当于p2=0x01就只亮第一个。0x00全亮,0xFF全灭。 

三、直流电机调速

#include <REGX52.H>
#include "Delay.h"
#include "Key.h"
#include "Nixie.h"
#include "Timer0.h"sbit Motor=P1^0;unsigned char Counter,Compare;
unsigned char KeyNum,Speed;void main()
{Timer0_Init();while(1){KeyNum=Key();if(KeyNum==1){Speed++;Speed%=4;if(Speed==0){Compare=0;}if(Speed==1){Compare=25;}if(Speed==2){Compare=50;}if(Speed==3){Compare=100;}}Nixie(1,Speed);}
}
void Timer0_Routine() interrupt 1
{TL0 = 0xA4;		//设置定时初值TH0 = 0xFF;		//设置定时初值Counter++;Counter%=100;if(Counter<Compare){Motor=1;}else{Motor=0;}
}

四、用定时器实现的呼吸灯 

#include <REGX52.H>
#include "Timer0.h"sbit LED=P2^0;unsigned char Counter,Compare,Flag;void main()
{Timer0_Init();while(1){}
}void Timer0_Routine() interrupt 1
{TL0 = 0xA4;		//设置定时初值TH0 = 0xFF;		//设置定时初值Counter++;Counter%=100;Compare%=100;if(Compare>=99){Flag=!Flag;Counter=0;Compare=0;}if(Flag==0){if(Counter<Compare){LED=0;}else {LED=1;}if(Counter>=99){Compare++;}}else if(Flag==1){if(Counter<Compare){LED=1;}else {LED=0;}if(Counter>=99){Compare++;}}
}

五、潮汐灯(呼吸流水灯) 

应该还算是和别人发过那种不一样。他们的是一个呼吸完才到下一个,我这个算是亮到一半就亮下一个。(。・ω・。)要不起名字叫潮汐灯?把时间弄更长一点,亮度再调暗一点,应该很合适。不过本来想用定时器来着。。。。只有四个是因为P2 5一弄tmd煞笔蜂鸣器也要响。。。。。不知道有没有人能帮我解决这个引脚共用的问题(T⌓T)

#include <REGX52.H>#define LED P2void Delay(unsigned int t)
{while(t--);
}
void main()
{unsigned char Time,i;while(1){	for(Time=0;Time<50;Time++)//0{for(i=0;i<20;i++){LED=0xFE;//1111 1110Delay(Time);LED=0xFF;//1111 1111Delay(50-Time);}}for(Time=0;Time<50;Time++)//1{for(i=0;i<20;i++){LED=0xFD;//1111 1101Delay(Time);LED=0xFE;//1111 1110Delay(50-Time);}}	for(Time=0;Time<50;Time++)//2{for(i=0;i<20;i++){LED=0xFB;//1111 1011Delay(Time);LED=0xFD;//1111 1101Delay(50-Time);}}	for(Time=0;Time<50;Time++)//1{for(i=0;i<20;i++){LED=0xF7;//1111 0111Delay(Time);LED=0xFB;//1111 1011Delay(50-Time);}}	for(Time=0;Time<50;Time++)//1{for(i=0;i<20;i++){LED=0xFF;//1111 1111Delay(Time);LED=0xF7;//1111 0111Delay(50-Time);}}	}
}

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

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

相关文章

VulNyx - Ready

目录 信息收集 arp nmap nikto Redis未授权访问漏洞 漏洞扫描 redis-cli 写入公钥 ssh连接 get root.txt 信息收集 arp ┌─[rootparrot]─[~/vulnyx] └──╼ #arp-scan -l Interface: enp0s3, type: EN10MB, MAC: 08:00:27:16:3d:f8, IPv4: 192.168.9.102 Starti…

Docker快速上手及常用命令速查

Docker快速上手 安装 在ubuntu上安装docker: sudo apt-get install docker docker -v #查看版本在centos7上安装docker&#xff1a;(docker在YUM源的Extras仓库中) yum install docker systemctl start dockerdocker常用命令速查 #查看docker信息 docker info #查看本地镜…

JavaScript中的Blob、Buffer、ArrayBuffer和TypedArray详解

文章的更新路线&#xff1a;JavaScript基础知识-Vue2基础知识-Vue3基础知识-TypeScript基础知识-网络基础知识-浏览器基础知识-项目优化知识-项目实战经验-前端温习题&#xff08;HTML基础知识和CSS基础知识已经更新完毕&#xff09; 正文 摘要&#xff1a;本文详细介绍了JavaS…

Linux安装和管理程序

1. Linux 软件包封装类型&#xff1a; &#xff08;1&#xff09;RPM/DEB软件包&#xff1a; REHL、CentOS、OpenSUSE等系列系统支持 Ubuntu、Debian等系列系统支持 软件包名称格式XXX.rpmXXX.deb管理命令rpm yumdpkg apt-get &#xff08;2&#xff09;源代码软件包&…

【MYSQL管理工具】数据库备份和恢复

&#x1f525;作者主页&#xff1a;小林同学的学习笔录 &#x1f525;mysql专栏&#xff1a;小林同学的专栏 目录 1.MYSQL管理 1.1 系统数据库 1.2 常用工具 1.2.1 mysql 1.2.2 mysqladmin 1.2.3 mysqlbinlog 1.2.4 mysqlshow 1.2.5 mysqldump 1.2.6 mysqlimport/sour…

分类预测 | Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数据分类预测

分类预测 | Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数据分类预测 目录 分类预测 | Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数据分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.Matlab实现RIME-LSSVM霜冰算法优化最小二乘支持向量机数…

Vue 3 项目中如何使用 TypeScript 类型来优化 Vuex 的状态管理?

在 Vue 3 项目中&#xff0c;使用 TypeScript 可以极大地优化 Vuex 的状态管理&#xff0c;提供更强的类型检查和更好的开发体验。以下是一些使用 TypeScript 来优化 Vuex 状态管理的方法&#xff1a; 定义状态类型&#xff1a; 使用 TypeScript 的接口&#xff08;Interfaces&…

redis的主从复制(docker方式快速入门和实战)

目录 一、主从复制简介 二、配置主从服务器 2.1使用配置文件的形式来主从复制 2.2使用纯代码的方式来进行主从复制&#xff1b; 2.3脱离主服务器 三、一些注意事项 一、主从复制简介 主从复制&#xff0c;是指将一台Redis服务器的数据&#xff0c;复制到其他的Redis服务器…

第16天:信息打点-CDN绕过业务部署漏洞回链接口探针全网扫描反向邮件

第十六天 本课意义 1.CDN服务对安全影响 2.CDN服务绕过识别手法 一、CDN服务-解释差异识别 1.前置知识&#xff1a; 传统访问&#xff1a;用户访问域名–>解析服务器IP–>访问目标主机普通CDN&#xff1a;用户访问域名–>CDN节点–>真实服务器IP–>访问目标…

苹果电脑启动磁盘是什么意思 苹果电脑磁盘清理软件 mac找不到启动磁盘 启动磁盘没有足够的空间来进行分区

当你一早打开苹果电脑&#xff0c;结果系统突然提示&#xff1a; “启动磁盘已满&#xff0c;需要删除部分文件”。你会怎么办&#xff1f;如果你认为单纯靠清理废纸篓或者删除大型文件就能释放你的启动磁盘上的空间&#xff0c;那就大错特错了。其实苹果启动磁盘的清理技巧有很…

修改Catsxp暗蓝色背景

Catsxp浏览器自从123内核后&#xff0c;背景就是暗蓝色了&#xff0c;太辣眼睛了&#xff0c;开发者说是原生的。 今天我点击主题背景-恢复默认修复了&#xff01; 所以是安装了一个主题引起的。

513.找树左下角的值

513.找树左下角的值 力扣题目链接(opens new window) 给定一个二叉树&#xff0c;在树的最后一行找到最左边的值。 示例 1: 示例 2: 1&#xff0c;层序 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode…