0基础 | Proteus电路仿真 | 电机使用

目录

电机类型

51单片机对直流电机的控制

基于89C51主控的直流电机控制电路仿真

代码《基于Keil C51》

51单片机对步进电机的控制

控制代码《基于Keil C51》

 基于89C51主控的步进电机控制电路仿真

电机类型

直流电机

步进电机

51单片机对直流电机的控制

直流电机:

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

直流电机的控制:

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

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

【Proteus电路仿真及应用(51单片机系列)】https://www.bilibili.com/video/BV1H7411n7AY?p=20&vd_source=7a24b4197f48af6ccce3973153ba4b39

PWM技术

电动机的电枢绕组两端的电压平均值U

U =( t1/T) XUs=D*Us

其中DPWM信号的占空比:

D= t1/T

L293D功能表

1A/3A

2A/4A

EN

电机状态

X

X

0

停止

1

0

1

顺时针转动

0

1

1

逆时针转动

0

0

1

停止

1

1

1

刹停

L293D引脚图

L293D真值表

     

基于89C51主控的直流电机控制电路仿真

代码《基于Keil C51》

/***************   writer:shopping.w   ******************/
#include <reg52.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
sbit K1   = P3^0;
sbit K2   = P3^1;
sbit K3   = P3^2;
sbit LED1 = P0^0;
sbit LED2 = P0^1;
sbit LED3 = P0^2;
sbit MA   = P1^0;
sbit MB   = P1^1;

void main(void)
{
	LED1 = 1;
	LED2 = 1;
	LED3 = 0;
	while(1)
	{
	 	if(K1 == 0)
		{
		 	while(K1 == 0);
			LED1 = 0;
			LED2 = 1;
			LED3 = 1;
			MA   = 0;
			MB   = 1;
		}
		if(K2 == 0)
		{
		 	while(K1 == 0);
			LED1 = 1;
			LED2 = 0;
			LED3 = 1;
			MA   = 1;
			MB   = 0;
		}
		if(K3 == 0)
		{
		 	while(K1 == 0);
			LED1 = 1;
			LED2 = 1;
			LED3 = 0;
			MA   = 0;
			MB   = 0;
		}
	}
}

51单片机对步进电机的控制

L298是步进电机控制芯片(也可以驱动直流电机)

L298引脚定义:

1)引脚1(Current SensingA)和引脚15 (CurrentSensingB):电流监测端,分别为两个H桥的电流反馈脚不用时可以直接接地

2)引脚2(OUTPUT1)和引脚3(OUTPUT2)电机驱动输出端

3)引脚4(SUPPLY VOLTAGE VS)功率电源电压,此引脚须并接100nF电容器

4)引脚5(INPUT1)和引脚7(INPUT2)电机控制信号输入端,TTL电平兼容

5)引脚6(Enable A)和引脚11(Enable B)TTL电平兼容输入使能端,低电平禁止输出

6)引脚8(GND)接地端

7)引脚9(VSS)逻辑电源电压端。此引脚须并接100nF电容器

8)引脚10(INPUT3)和引脚12(INPUT4)电机控制信号输入端,TTL电平兼容

9)引脚13(OUTPUT3)和引脚14(0UTPUT4):电机驱动输出端

L298逻辑功能表

IN1

IN2

ENA

电机工作状态

X

X

0

停止

1

0

1

顺时针转动

0

1

1

逆时针转动

0

0

1

停止

1

1

1

刹停

通过Mos管的不同打开方式,让磁铁分别停在不同的位置

如果能任意调节两个线圈的磁场强度,就能合成不同的磁场方向→让磁铁停留在任意位置

如何改变磁场强度B

线圈产生磁场强度的公式

精准控制线圈电流I,如何控制电流呢?

线圈中有寄生电阻、电感,

上电:电流慢慢抬升,电压直接为U

下电:电流慢慢下降,电压直接为0

导通时电路等效为上述

直流电机和步进电机的区别

控制代码《基于Keil C51》

#include <reg52.h>

unsigned char code F_Rotation[4]={0x02,0x04,0x08,0x10};//正转表格

unsigned char code B_Rotation[4]={0x10,0x08,0x040,0x02};//反转表格

void Delay(unsigned int i)//延时

{while(--i);}

main(){

 unsigned char i;

 while(1)

 {for(i=0;i<4;i++)      //4相

     {

     P1=F_Rotation[i];  //输出对应的相

     Delay(500);        //调整电机转速}

  }

}

        基于89C51主控的步进电机控制电路仿真

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值