直流电机驱动PWM

article/2025/9/11 18:17:58

 正接时正转,反接时反转

 

IN为低电平时,三极管导通 

IN为高电平时,三极管断开 

P10口如果给1,就为0

 主循环写法

while(1)
{for(Time=0;Time<100;Time++){for(i=0;i<20;i++){LED=0;Delay(Time);//亮的时间LED=1;Delay(100-Time);//暗的时间}}
}
#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);//暗的时间}}}
}

电机调速:

 新思路:

Counter%=100;//相当于if(Counter>=100){Counter=0;}
#include <REGX52.H>sbit LED=P2^0;
unsigned char Counter,Compare;//计数器,比较
void Timer_Init()
{TMOD=0x01;TL0=0x9c;//100usTH0=0xff;TR0=1;ET0=1;EA=1;
}
void main()
{Timer_Init();Compare=1;while(1){}
}
void Timer0_Routine() interrupt 1
{TL0=0x9c;//100usTH0=0xff;Counter++;Counter%=100;//相当于if(Counter>=100){Counter=0;}if(Counter<Compare){LED=0;}else{LED=1;}
}

按键控制电机:

#include <REGX52.H>
sbit LED=P2^0;
sbit Motor=P1^0;
void Delay(unsigned int xms)
{unsigned char i, j;while(xms--){i = 2;j = 239;do{while (--j);} while (--i);}
}
unsigned char Key(){unsigned char KeyNumber=0;if(P3_1==0){Delay(20);while(P3_1==0);Delay(20);KeyNumber=1;}if(P3_0==0){Delay(20);while(P3_0==0);Delay(20);KeyNumber=2;}if(P3_2==0){Delay(20);while(P3_2==0);Delay(20);KeyNumber=3;}if(P3_3==0){Delay(20);while(P3_3==0);Delay(20);KeyNumber=4;}return KeyNumber; 
}
unsigned char Counter,Compare;//计数器,比较
unsigned char KeyNum,Speed;
void Timer_Init()
{TMOD=0x01;TL0=0x9c;//100usTH0=0xff;TR0=1;ET0=1;EA=1;
}
void main()
{Timer_Init();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;}}}
}
void Timer0_Routine() interrupt 1
{if(KeyNum==1){P2_3=0;}TL0=0x9c;//100usTH0=0xff;Counter++;Counter%=100;//相当于if(Counter>=100){Counter=0;}if(Counter<Compare){Motor=1;}else{Motor=0;}
}

http://chatgpt.dhexx.cn/article/tf2IrgqK.shtml

相关文章

DRV8711的通用步进电机驱动器和直流电机驱动器

DRV8711的通用步进电机驱动器和直流电机驱动器 芯片说明 DRV8711 是一款步进式电机控制器&#xff0c;此控制器使用外部 N 通道 MOSFET 来驱动一个双极步进式电机或两个有刷直流电机。 集成了一个微步进分度器&#xff0c;此分度器能够支持全步长至 1/256 步长的步进模式。 通…

国产单通道直流有刷马达驱动芯片型号推荐

直流有刷马达驱动芯片是一款适应消费类、工业类的单通道直流有刷驱动IC&#xff0c;适用于各类玩具&#xff0c;智能家居&#xff0c;智能三表。小封装&#xff0c;低功耗&#xff0c;内置完善的保护机制&#xff08;过温/过流/过压&#xff09;。具有一个PWM&#xff08;INA/I…

九、51单片机之直流电机驱动

目录 1、什么是电机 2、常见电机 2.1、交流电机 2.2、交流电机补充(可跳过) 2.3、直流电机 2.4、步进电机、伺服电机 3、直流电机驱动 1、什么是电机 (1)电机的全称是电动机&#xff0c;把电能转换成动能的一种电器。 (2)外观 2、常见电机 常见电机包括交流电机、直流…

直流电机驱动c语言程序,单片机PWM控制直流电机驱动程序+仿真+报告

直流电机驱动资料包: 仿真原理图如下(proteus仿真工程文件可到本帖附件中下载) 电子系统设计报告 课题名称 直流电动机驱动 专 业 电子信息工程技术 目录 第1章 设计题目与要求 第2章 设计方案 2.1 设计方案 2.2 方案…

GC9110T 12V 直流电机驱动芯片 GC9110(低压6V驱动)的12V升级版本

GC9110T是一款12V直流电机驱动芯片&#xff0c;为摄像机、消费类产品、玩具和其他低压或者电池供电的运动控制类应用提供了集成的电机驱动解决方案。芯片一般用了驱动一个直流电机或者使用两颗来驱动一个步进电机。GC9110T是GC9110&#xff08;低压6V驱动&#xff09;的12V升级…

直流电机驱动

1. 直流电机是一种将电能转化为机械能的装置&#xff0c;一般的直流电机有两个电极&#xff1b;当电极正接时&#xff0c;电机正转&#xff1b;当电机反接时&#xff0c;电机反转&#xff1b; 2. PWM&#xff1a;脉冲宽度调制-------PWM调速的原理就是&#xff1a;我让他转5us…

GC8871一款带内部电流感测功能的刷式直流电机驱动芯片(可替代DRV8871)

GC8871是一款带内部电流感测功能的刷式直流电机驱动芯片&#xff0c; 适用于打印机、电器、工业设备以及其他小型机器。两个逻辑输入控制 H 桥驱动器&#xff0c; 该驱动器由四个NMOS组成&#xff0c; 能够以高达3.6A 的峰值电流双向控制电机。 利用电流衰减模式&#xff0c;可…

几款H桥电机驱动芯片直流有刷电机驱动芯片性能分析

如果您正在寻找一款高性能、可靠、集成度高、能实现卓越电流控制的H桥电机驱动芯片&#xff0c;那么下面介绍的芯片将是不错的选择。 这一系列芯片具有出色的功耗管理能力&#xff0c;以及多种保护功能&#xff0c;精确的电流检测和监控&#xff0c;能够确保系统的长期稳定运…

DRV8872直流电机驱动芯片简要的使用说明

DRV8872直流电机驱动芯片简要的使用说明 ​ (DRV8872) 一、能干什么 DRV8872主要用于直流电机的驱动。它有两个输入端子&#xff0c;控制一个BDC(直流电机)的工作。同时&#xff0c;它还能通过在ISEN引脚外接电阻控制流过电机的电流&#xff1b;通过nFAULT引脚输出错误信息给…

【电机驱动芯片(H桥、直流电机驱动方式)——DRV8833、TB6612、A4950、L298N的详解与比较】

文章目录 一.全H桥电路基础知识1.原理图&#xff08;以全NMOS管为例&#xff09;2.H桥工作模式正转模式反转模式电流衰减模式 3.补充 二.DRV8833芯片介绍1.基本介绍2.引脚功能3.功能框图4.结构详细介绍5.逻辑控制6.另外一种DRV8833CPWP型号的区别 三.TB6612FNG芯片介绍1.基本介…

直流电机驱动芯片

由于单片机属于信息类电路&#xff0c;带负载能力极差&#xff0c;不可能直接用来控制电机的运动。因此电机的驱动就显得尤为重要。本文汇总了自己用过的几个电机驱动芯片及其注意事项等等&#xff0c;以后有机会还会继续修正增加等。大家有其他的方案也欢迎交流。 芯片种类 驱…

一些免费Api分享(持续更新中...)

有时候想自己写点有意思的工具&#xff0c;又不想自己搭服务器&#xff0c;这里我们就得找一些有意思的Api供自己使用&#xff01; 免费API http://api.wpbom.com/ 46 种类多 公共API https://www.qqlykm.cn/ 87 类型多 接口大全 https://www.free-api.com/ 100 类型丰富&#…

夏柔免费API管理系统

系统介绍 基于ZeroArt二开美化 页面方式仿的ApiFox&#xff0c;严禁商用&#xff0c;仅供学习测试交流 内置**100**免费接口&#xff08;远程&#xff09;&#xff0c;部署即用&#xff0c;内置的远程接口可持续提供调用服务&#xff01; 接口数据来源&#xff1a;api.aa1.c…

公开的免费API集锦

版权声明 本文原创作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl API集锦 在此&#xff0c;介绍部分目前已知的公开的免费API供开发人员使用。 http协议测试 http://httpbin.org/ httpbin非常强大&#xff0c;简单&#xff0c;易用。 文…

免费接口及资源

手机号码归属地API接口&#xff1a; https://www.juhe.cn/docs/api/id/11 历史上的今天API接口&#xff1a; https://www.juhe.cn/docs/api/id/63 股票数据API接口&#xff1a; https://www.juhe.cn/docs/api/id/21 全国WIFI接口&#xff1a; https://www.juhe.cn/docs/…

JavaWeb request用法

request封装了所有的请求信息 如: protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {System.out.println("请求方法&#xff1a;"request.getMethod());System.out.println("URI&#…

@RequestBody的使用

提示&#xff1a;建议一定要看后面的RequestBody的核心逻辑源码以及六个重要结论&#xff01;本文前半部分的内容都是一些基 本知识常识&#xff0c;可选择性跳过。 声明&#xff1a;本文是基于SpringBoot&#xff0c;进行的演示说明。 基础知识介绍&#xff1a; R…

JSP 内置对象request常见用法

随时随地阅读更多技术实战干货&#xff0c;获取项目源码、学习资料&#xff0c;请关注源代码社区公众号(ydmsq666) 1、访问请求参数 <a href"login.jsp?name张三&sexman&id">传递参数</a> login.jsp关键 代码 <% "name:"new Stri…

jsp的request用法

request用于接受html提交的表单数据 首先如下图先创建一个QQ注册页面 设置昵称input的属性name值,并且设置提交到的页面为reg_success.jsp,这里提交方式有两种: get 和 post 。区别如图: <% page contentType"text/html;charsetUTF-8" language"java" …

uni.request的使用

uniapp中有很多原生的API&#xff0c;其中我们经常会用到的肯定有&#xff0c;uni.request. 那么问题来了&#xff0c;当我们第一次使用的时候&#xff0c;该怎么去用呢, 首先我们来看一看官方文档给出的示例 uni.request({url: https://www.example.com/request, //仅为示例…