一、直流电机及其控制

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

(二)直流电机的控制

1.方向控制:直流电机只有正负极,只需交换正负极就可以调节正反转。

2.转速控制:在负载变化不大的时候,加在直流电动机两端的电压大小与其速度近似成正比。


二、PWM技术

在一里,我们大概了解电机是通过电压控制转速,正负极控制方向,可到底是怎么控制电压和正负极的呢?不得不说PWM啦。

但在说之前,还得了解一下占空比:D为PWM信号的占空比:D=t1/T(即高电平持续时间比整个周期的值)

则电动机的电枢组两端电压平均值U为:U = (t1/T)*Us=D*Us

三、使用L298驱动直流电机范例

原理图如下:

原理图需要的器件如下:

其中主要是电机,电机选MOTOR或MOTOR-DC都可,剩下的电机就不要选啦,这个之所以有这么多电机,是因为我之前试错来着,当然也可以自己康康每一个电机运行起来是什么样子的,

#include <reg52.h>#define uint  unsigned int
#define uchar unsigned charsbit IN1=P1^0;
sbit IN2=P1^1;
sbit ENA=P1^2; sbit k0=P2^0;//正转
sbit k1=P2^1;//反转
sbit k2=P2^2;//加速
sbit k3=P2^3;//减速
sbit k4=P2^4;//停止uchar Counter=0,Compare=0;void delay(uint n)
{uint i=0,j=0;for(i=0;i<n;i++){for(j=0;j<120;j++);}
}void Timer0_init()//100us
{TMOD &= 0xF0;     //设置定时器模式TMOD |= 0x01;     //设置定时器模式TL0 = 0x9C;       //设置定时初值TH0 = 0xFF;        //设置定时初值ET0=1;EA=1;   TR0=1;
}void main()
{ENA=0;IN1=0;IN2=0;//一开始让电机停止Timer0_init();Compare=50;while(1){if(k0==0)//正转{delay(100);while(!k0);ENA=1;IN1=1;IN2=0;}else if(k1==0)//反转{delay(100);while(!k1);ENA=1;IN1=0;IN2=1;}else if(k2==0)//加速{delay(100);while(!k2);Compare=Compare+20;}else if(k3==0)//减速{delay(100);while(!k3);Compare=Compare-20;}if(k4==0)//停止{delay(100);while(!k4);ENA=0;TR0=0;IN1=0;IN2=0;                             }   }
}void Timer0() interrupt 1
{TL0 = 0x9C;       //设置定时初值TH0 = 0xFF;        //设置定时初值Counter++;Counter%=100;if(Counter<Compare)//如果小于占空比{IN1=1;}else{IN1=0;}
}

这个代码应该是能实现效果,如果不能实现,欢迎私我讨论。

51单片机对直流电机的控制(使用proteus仿真)相关推荐

  1. 基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料)

    资料编号:133 讲解视频: 133-基于51单片机的室内温度可燃气体检测报警系统Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为主控,LCD1602显示当前温度和可燃气体浓 ...

  2. 基于51单片机的全自动智能洗衣机控制系统Proteus仿真(仿真+源码+全套资料)

     资料编号:108 设计功能: 1.对水温实时显示 2.显示滚筒转速 3.显示运行倒计时 4.能通过按钮分别设置洗涤时间和脱水时间 5.运行过程为:加热--洗涤--脱水 具体功能请看下方演示视频 10 ...

  3. 基于51单片机的简易电子数字计算器Proteus仿真

    资料编号:089 采用51单片机,使用矩阵键盘,可以计算加减乘除,进行简易计算: 全套资料齐全:具体功能请看下面演示视频 89-基于51单片机的简易电子数字计算器Proteus仿真 单片机最小系统介绍 ...

  4. 基于51单片机水位检测自动抽水系统Proteus仿真

    资料编号:168   下面是相关功能视频演示: 168-基于51单片机水位检测自动抽水系统Proteus仿真(源码+仿真+全套资料) 功能讲解: 采用51单片机作为控制CPU,采用ADC0832采集水 ...

  5. 基于51单片机有害气体浓度检测超限报警Proteus仿真

    资料编号:157  下面是相关功能视频演示: 157-基于51单片机有害气体浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为AD转换 ...

  6. 51单片机 74HC154译码器制作流水灯+Proteus仿真

    51单片机 74HC154译码器制作流水灯+Proteus仿真 Proteus仿真 实例代码 #include <reg52.h> #define uint unsigned int #d ...

  7. 51单片机应用开发25例—基于Proteus仿真(电路图+程序)

    51单片机应用开发25例-基于Proteus仿真(电路图+程序) 分享的51单片机应用开发25例-基于Proteus仿真非常全面,里面仿真工程文件和源程序都有. 目录: 应用实例1  呼吸灯\ 应用实 ...

  8. 【036】基于51单片机的电子时钟与秒表Proteus仿真设计

    一.压缩包资料内容 (1).基于51单片机的电子时钟与秒表proteus仿真设计一份: (2).基于51单片机的电子时钟与秒表proteus仿真设计keli源代码一份: (3).基于51单片机的电子时 ...

  9. 51单片机+LCD12864驱动显示汉字模板+Proteus仿真

    51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...

  10. 基于51单片机酒精浓度检测仪超限报警Proteus仿真

    资料编号:162    下面是功能演示视频: 162-基于51单片机酒精浓度检测超限报警Proteus仿真(源码+仿真+全套资料) 功能介绍: 采用51单片机作为CPU,ADC0832作为AD转换模块 ...

最新文章

  1. 【重磅】斯坦福李飞飞《注意力与Transformer》总结,84页ppt开放下载!
  2. 农产品流通信息化及农超对接体系的现状
  3. (转)用JQuery实现Fix表头表格
  4. python11-28笔记(1.6-1.7)
  5. android笔记之在WebView中显示ProgressBar的两种方法
  6. android super this区别
  7. 如何设置Active Directory域控制器
  8. 关于将vrep和matlab或者python结合的两种方法的比较
  9. java static关键字_Java基础:static关键字作用总结
  10. 心理正常与异常的区分_正常心理与异常心理的区分
  11. NeurIPS'21|MixSeq:从微观数据到宏观时序预测的桥梁
  12. android华为状态栏字体颜色,Flutter修改状态栏颜色以及字体颜色
  13. java中如何实现货币兑换_java货币转换
  14. 百度迁徙数据的快捷采集方法分析总结
  15. 国密SM2非对称算法与实现
  16. Oracle minus用法详解及应用实例
  17. android屏幕亮度自动调节解析
  18. 漫话:什么是DevOps?
  19. 和菲利普•科特勒的《营销管理》一样,这些都是比较好的市场营销书籍
  20. 【解决问题】在jupyter notebook上用 pandas_datareader 获取 yahoo 数据

热门文章

  1. 分布式之CAP原则详解
  2. 已知均数及标准差,如何生成模拟原始数据?
  3. 鸽笼原理 c语言,抽屉原理的三个公式,抽屉问题经典例题10道
  4. 74HC595移位寄存器的使用
  5. 恶意代码分析实战_实验练习
  6. t430服务器查看raid状态,dell t430 raid1教程
  7. 大数据学习之hadoop——09一次完整的edits、fsimage、edits_inprogress、chkpoint、NameNode运行原理分析
  8. 爬虫精进(六) ------ 项目实操
  9. 【算法专题】高精度之压位
  10. 人体神经元细胞分布图片,神经元人体分布大图