* =======直流电机的PWM速度控制程序======== */
/* 晶振采用11.0592M,产生的PWM的频率约为91Hz */
#include
#include
#define uchar unsigned char
#define uint unsigned int
sbit en1=P2^0; /* L298的Enable A */
sbit en2=P2^1; /* L298的Enable B */
sbit s1=P2^2; /* L298的Input 1 */
sbit s2=P2^3; /* L298的Input 2 */
sbit s3=P2^4; /* L298的Input 3 */
sbit s4=P2^5; /* L298的Input 4 */
uchar t=0; /* 中断计数器 */
uchar m1=0; /* 电机1速度值 */
uchar m2=0; /* 电机2速度值 */
uchar tmp1,tmp2; /* 电机当前速度值 */
/* 电机控制函数 index-电机号(1,2); speed-电机速度(-100—100) */
void motor(uchar index, char speed)
{
if(speed>=-100 && speed<=100)
{
if(index==1) /* 电机1的处理 */
{
m1=abs(speed); /* 取速度的绝对值 */
if(speed<0) /* 速度值为负则反转 */
{
s1=0;
s2=1;
}
else /* 不为负数则正转 */
{
s1=1;
s2=0;
}
}
if(index==2) /* 电机2的处理 */
{
m2=abs(speed); /* 电机2的速度控制 */
if(speed<0) /* 电机2的方向控制 */
{
s3=0;
s4=1;
}
else
{
s3=1;
s4=0;
}
}
}
}
void delay(uint j) /* 简易延时函数 */
{
for(j;j>0;j--);
}
void main()
{
char i;
TMOD=0x02; /* 设定T0的工作模式为2 */
TH0=0x9B; /* 装入定时器的初值 */
TL0=0x9B;
EA=1; /* 开中断 */
ET0=1; /* 定时器0允许中断 */
TR0=1; /* 启动定时器0 */
while(1) /* 电机实际控制演示 */
{
for(i=0;i<=100;i++) /* 正转加速 */
{
motor(1,i);
motor(2,i);
delay(5000);
}
for(i=100;i>0;i--) /* 正转减速 */
{
motor(1,i);
motor(2,i);
delay(5000);
}
for(i=0;i<=100;i++) /* 反转加速 */
{
motor(1,-i);
motor(2,-i);
delay(5000);
}
for(i=100;i>0;i--) /* 反转减速 */
{
motor(1,-i);
motor(2,-i);
delay(5000);
}
}
}
void timer0() interrupt 1 /* T0中断服务程序 */
{
if(t==0) /* 1个PWM周期完成后才会接受新数值 */
{
tmp1=m1;
tmp2=m2;
}
if(t
if(t
t++;
if(t>=100) t=0; /* 1个PWM信号由100次中断产生 */
}
关键字:直流电机 PWM 速度控制
引用地址:
直流电机的PWM速度控制程序
推荐阅读最新更新时间:2024-03-16 14:04
使用PWM技术构建高性能流量变送器
传感器在测量工厂环境的过程中,会通过可编程逻辑控制器(PLC)控制整个系统的状况。典型的测量包括温度、压力、流量和液位。在使用流量变送器设计时可以采取不同技术,但在此我们来先了解一下PWM技术。以下讨论的PWM技术是否可以用于实现诸如稳定时间迅速且能耗低的功能? 环路供电、4至20 mA输出现场变送器实际上是过程自动化的行业标准。出于各类原因,现场变送器使用PWM转4至20mA电路,包括: 简易性 稳健性 成本优化 随着新的应用要求环路变送器具有更高的分辨率、更低的噪声和更低的功耗,这使PWM方法面临挑战。 其他资源: 探索流量变送器的设计资源,包括7种交互式框图变形 查找液位变送器的子系统级交互式框图 查看电阻
[嵌入式]
有刷直流电机的基本特性
该系列文章中,直到上一篇文章都介绍的是有刷直流电机的原理。本文将介绍有刷直流电机的基本特性。 有刷直流电机的特性 简而言之,当将电源电压施加到有刷直流电机时,电流流动并且有刷直流电机旋转。电源电压、转速和转矩等特性之间都是彼此相关的。下面使用有刷直流电机的等效电路和公式进行说明。 ●闭合电路直流关系表达式: *Ea:电源电压,R:电枢电阻,Ia:电机电流, Ec:电机感应电压 电源电压Ea是电枢电阻R与电机电流Ia相乘的值再加上感应电压Ec而得到的值。电枢电阻是绕组和铁芯的电阻分量。欧姆定律本身就是电阻×电流等于电压。感应电压是由电机的旋转产生的电压(发电),是新增的电压。 ●有刷直流电机 等效电路电机感应电压:
[嵌入式]
基于UC38 75的ZVZCS PWM软开关直流电源的研制
目前,中、大功率开关电源的主回路基本上都是采用全桥变换器结构,其相应的软开关工作方式有三种,即零电压开关(ZVS)、零电流开关(ZCS)和零电压零电流开关(ZVZCS)。ZVS工作模式下全桥变换器的滞后臂不易实现零电压开关且存在变压器副边电压占空比丢失,ZCS工作模式下全桥变换器的滞后臂不易实现零电流开关且存在变压器副边输出电流占空比丢失,这两种电路拓扑自身的局限限制了其进一步发展的空间,虽然采用辅助电路在一定程度可以改善其特性,但是增加了元器件和电路的复杂性,而且在高频下还会引入干扰。ZVZCS软开关工作模式基本上克服了ZVS和ZCS软开关模式的固有缺陷,使全桥变换器的超前臂实现ZVS,而滞后臂实现ZCS,在中、大功率开
[电源管理]
单片机直流电机的pwm调速与控制设计
设计一个直流伺服电机电机控制系统,控制功能要求实现电机的启动、停止控制、正转、反转、加速、减速共六种功能,为了能实现人机交互,需要用到按键和数码管。 具体要求如下:K0为启动/停止控制、K1正转、K2反转;K3加速,K4减速,用3个发光二极管显示状态:正转时红灯亮,反转时黄灯亮,不转时绿灯亮。并利用4位LED数码管显示电机转速。 要求分析: 按键K1用来控制电机反转,若电机正在停止或正转状态,当按下k1时,电机开始反转;若电机处于反转状态,电机不响应按键命令。 按键K2用来控制电机正转,若电机正在停止或反转状态,当按下k2时,电机开始正转;若电机处于正转状态,电机不响应按键命令。 按键K3用来控制电机加速,当电机处
[单片机]
atmega8 例程:T1定时器 快速PWM
/* * 函数库说明:ATMEGE8 T1定时器 快速PWM * 版本: v1.0 * 修改: 庞辉 * 修改日期: 2011年08月11日 * * 说明: OC1A 20khz 50%占空比 * OC1B 10khz 33%占空比 * 且在溢出中断中频率不断改变 * * 版本更新: * *注意:快速PWM模式 WGM1=5,6,7,14,15 *
[单片机]
基于ARM的PWM模块的超声波检测系统方案设计
近年来以微电子学和计算机技术为基础的信息技术飞速发展,超声无损检测仪器也得到了前所未有的发展动力,为了提高检测的可靠性和提高检测效率,研制数字化、智能化、自动化、图像化的超声仪是当今无损检测领域发展的一个重要趋势。而传统的超声波检测仪存在准确性差、精度低、体积大、功耗大、人机界面不友好等问题。而超声波发射与控制电路正是在一种基于ARM的超声波检测系统的基础上,以ARM微控制器为核心,使用C语言编程,方便地实现了发射频率与激励电压脉冲幅度的调节。 1 超声波检测系统的总体设计结构 基于ARM超声波检测系统的总体结构框图,如图1所示。该系统主要由3部分组成:超声波前端发射接收电路、DSP和ARM处理器。
[单片机]
基于单片机的低成本高精度A/D与D/A转换设计
目前单片机在电子产品中已得到广泛应用,许多类型的单片机内部已带有A/D转换电路,但此类单片机会比无A/D转换功能的单片机在价格上高几元甚至很多,本文给大家提供一种实用的用普通单片机实现的A/D转换电路,它只需要使用普通单片机的2个I/O脚与1个运算放大器即可实现,而且它可以很容易地扩展成带有4通道A/D转换功能,由于它占用资源很少,成本很低,其A/D转换精度可达到8位或更高,因此很具有实用价值。 其电路如图一所示: 图一 其工作原理说明如下: 1、硬件说明: 图一中“RA0”和“RA1”为单片机的两个I/O脚,分别将其设置为输出与输入状态,在进行A/D转换时,在程序中通过软件产生
[电源管理]
PIC单片机-直流电机无级调速
现代工业生产中,电动机是主要的驱动设备,目前在直流电动机拖动系统中已大量采用晶闸管(即可控硅)装置向电动机供电的KZ—D拖动系统,取代了笨重的发电动一电动机的F—D系统,又伴随着电子技术的高度发展,促使直流电机调速逐步从模拟化向数字化转变,特别是单片机技术的应用,使直流电机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。本调速系统采用PIC16F874单片机作为中心处理器,充分利用了PIC16F874单片机捕捉、比较、模/数转换模块的特点作为触发电路,其优点是:结构简单,能与主电路同步,能平稳移相且有足够的移相范围,控制角调整量可达10000步,能够实现电机的无级平滑控制,脉冲前沿陡且有足够的幅值,脉宽可设定,稳
[单片机]