导航:首页 > 操作系统 > 基于单片机的直流电机

基于单片机的直流电机

发布时间:2025-03-24 05:51:07

① 基于单片机设计的直流电机调速系统文献综述怎么写

单片机控制的直流电机调速系统 摘要:本文采用AT89C52作为主控芯片,设计了一种直流电机高速系统。AT89C52产生单极性工作制的定频PWM脉冲,配合驱动能力强大的L298,从而实现控制和调整直流电机转速和转向的功能。利用软件编程,能够设置多个占空比不同的脉冲,使得电机转速可以逐步增大或减小,同时在LCD上显示电机的工作状态,易于观察和识别。本设计主要由电机调速控制模块和LCD显示模块组成,具有电路简单,可靠性高,运行稳定的特点,是对于小型直流电机调速装置的一种探究。 关键词:AT89C52 定频PWM LCD 直流电机 目 录 1 绪论... 1 2 方案设计... 1 2.1 功能要求... 1 2.2 方案论证... 1 3 系统硬件的设计... 3 3.1 电机调速控制模块... 3 3.2 LCD显示模块... 6 3.3 硬件设计总原理图... 11 4 系统软件的设计... 12 4.1 主程序... 12 5 调试及性能分析... 14 5.1 调试与测试... 14 6 结论... 15 7 致谢... 15 参考文献... 17 附录... 18

② 求用单片机和ULN2003A驱动直流电机的接法

电路图接法:

ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500mA/50V。

ULN2003是高耐压、大电流达林顿系列,由七个硅NPN达林顿管组成。 该电路的特点如下: ULN2003的每一对达林顿都串联一个2.7K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路 直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。

ULN2003 是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。

(2)基于单片机的直流电机扩展阅读:

引脚1:CPU脉冲输入端,端口对应一个信号输出端。

引脚2:CPU脉冲输入端。

引脚3:CPU脉冲输入端。

引脚4:CPU脉冲输入端。

引脚5:CPU脉冲输入端。

引脚6:CPU脉冲输入端。

引脚7:CPU脉冲输入端。

引脚8:接地。

引脚9:该脚是内部7个续流二极管负极的公共端,各二极管的正极分别接各达林顿管的集电极。用于感性负载时,该脚接负载电源正极,实现续流作用。如果该脚接地,实际上就是达林顿管的集电极对地接通。

引脚10:脉冲信号输出端,对应7脚信号输入端。

引脚11:脉冲信号输出端,对应6脚信号输入端。

引脚12:脉冲信号输出端,对应5脚信号输入端。

引脚13:脉冲信号输出端,对应4脚信号输入端。

引脚14:脉冲信号输出端,对应3脚信号输入端。

引脚15:脉冲信号输出端,对应2脚信号输入端。

引脚16:脉冲信号输出端,对应1脚信号输入端。

③ 基于单片机的pwm小功率直流电机调速

直流调速器就是调节直流电动机速度的设备,上端和交流电源连接,下端和直流电动机连接,直流调速器将交流电转化成两路输出直流电源,一路输入给直流电机砺磁(定子),一路输入给直流电机电枢(转子),直流调速器通过控制电枢直流电压来调节直流电动机转速。同时直流电动机给调速器一个反馈电流,调速器根据反馈电流来判断直流电机的转速情况,必要时修正电枢电压输出,以此来再次调节电机的转速。

直流电机的调速方案一般有下列3种方式:

1、改变电枢电压;
2、改变激磁绕组电压;
3、改变电枢回路电阻。

使用单片机来控制直流电机的变速,一般采用调节电枢电压的方式,通过单片机控制PWM1,PWM2,产生可变的脉冲,这样电机上的电压也为宽度可变的脉冲电压。根据公式

U=aVCC

其中:U为电枢电压;a为脉冲的占空比(0<a<1);VCC直流电压源,这里为5V。

电动机的电枢电压受单片机输出脉冲控制,实现了利用脉冲宽度调制技术(PWM)进行直流电机的变速。

因为在H桥电路中,只有PWM1与PWM2电平互为相反时电机才能驱动,也就是PWM1与PWM2同为高电平或同为低电平时,都不能工作,所以上图中的实际脉冲宽度为B,

我们把PWM波的周期定为1ms,占空比分100级可调(每级级差为10%),这样定时器T0每0.01ms产生一次定时中断,每100次后进入下一个PWM波的周期。上图中,占空比是60%,即输出脉冲的为0.6ms,断开脉冲为0.4ms,这样电枢电压为5*60%=3V。

我们讨论的是可以正转反转的,如果只按一个方向转,我们就只要把PWM1置为高电平或低电平,只改变另一个PWM2电平的脉冲变化即可,,如下图(Q4导通,Q3闭合,电机只能顺时针调整转动速度)

C语言代码:

#include<AT89X52.h>
#define uchar unsigned char
#define uint unsigned int

sbit K5=P1^4;
sbit K6=P1^5;
sbit PWM1=P1^0;
sbit PWM2=P1^1;
sbit FMQ=P3^6;

uchar ZKB1,ZKB2;

void delaynms(uint aa)
{
uchar bb;
while(aa--)
{
for(bb=0;bb<115;bb++) //1ms基准延时程序
{
;
}
}

}

void delay500us(void)
{
int j;
for(j=0;j<57;j++)
{
;
}
}

void beep(void)
{
uchar t;
for(t=0;t<100;t++)
{
delay500us();
FMQ=!FMQ; //产生脉冲
}
FMQ=1; //关闭蜂鸣器
delaynms(300);
}

void main(void)
{
TR0=0; //关闭定时器0
TMOD=0x01; //定时器0,工作方式1
TH0=(65526-100)/256;
TL0=(65526-100)%256; //100us即0.01ms中断一次
EA=1; //开总中断
ET0=1; //开定时器0中断
TR0=1; //启动定时器T0
ZKB1=50; //占空比初值设定
ZKB2=50; //占空比初值设定
while(1)
{
if(!K5)
{
delaynms(15); //消抖
if(!K5) //确定按键按下
{
beep();
ZKB1++; //增加ZKB1
ZKB2=100-ZKB1; //相应的ZKB2就减少
}
}
if(!K6)
{
delaynms(15); //消抖
if(!K6) //确定按键按下
{
beep();
ZKB1--; //减少ZKB1
ZKB2=100-ZKB1; //相应的ZKB2增加
}
}
if(ZKB1>99)
ZKB1=1;
if(ZKB1<1)
ZKB1=99;

}
}

void time0(void) interrupt 1
{
static uchar N=0;
TH0=(65526-100)/256;
TL0=(65526-100)%256;
N++;
if(N>100)
N=0;
if(N<=ZKB1)
PWM1=0;
else
PWM1=1;
if(N<=ZKB2)
PWM2=0;
else
PWM2=1;

}

//显现:电机转速到最高后,也就是N为1或99时,再按一下,就变到99或1,
//电机反方向旋转以最高速度

④ 基于单片机的无刷直流电动机控制系统设计

首先,对于一个普通二本学校的学生来说,毕业设计题目《基于单片机的无刷直流电动机控制系统设计》的难度应该是中等偏上。这个题目涉及到单片机、无刷直流电动机、控制系统的相关知识和技能,需要学生具备一定的电子、电气和控制理论知识,同时还需要掌握一定的编程和调试技能。因此,对于一些没有接触过相关领域的学生来说,可能会有一定的难度。

难点主要在于以下几个方面:

阅读全文

与基于单片机的直流电机相关的资料

热点内容
web前端需要编程吗 浏览:8
php数组模糊匹配 浏览:923
自制2051单片机烧写 浏览:781
恒大名都门禁卡是加密的吗 浏览:48
气愤PDF 浏览:462
杭州手机dns服务器地址 浏览:498
matlab智能算法书籍 浏览:216
web数据挖掘pdf 浏览:838
感谢程序员的协作 浏览:674
android获取短信列表 浏览:454
压缩文件夹无效或已损坏 浏览:830
文件夹命名横杠如何输入 浏览:800
cl编译64位 浏览:130
猿人时代安卓手机怎么玩 浏览:169
android网络交互 浏览:771
家庭服务器对比玩客云 浏览:597
手机adb连接云服务器 浏览:581
息壤阅读app哪里可以下载 浏览:444
声阔超能小彩蛋如何下载app 浏览:633
压缩机和冷凝器配套 浏览:615