当前位置:首页 > 芯闻号 > 基础知识科普站
[导读]应用背景:直流电机的额定功率12V,额定转速3000rpm,光码盘12孔, 晶振为12MHz,定时/计数器T0检测转速,用定时器T1进行定时, P1.0控制直流电机的正反转,用P1.1控制电机的转速.

51单片机电机pid控制系统程序

本程序来源网上,小编进行了简单修改,还未验证。

/*************************

应用背景:直流电机的额定功率12V,额定转速3000rpm,光码盘12孔,

晶振为12MHz,定时/计数器T0检测转速,用定时器T1进行定时,

P1.0控制直流电机的正反转,用P1.1控制电机的转速.

************************/

#include

#include

#define uchar unsigned char

uchar timcount,PWMH,SpeedSet,SpeedDet;

uchar KP,KI,KD;

int e1,e2,e3,uk,duk;

sbit Dir = P1^0;

sbit PWM = P1^1;

//延时函数

void delay(uchar i)

{

uchar j;

for(;i>0;i--)

{

for(j=29;j;j--)

_nop_();

_nop_();

}

}

//延时函数,产生PWM波

void PWMout(uchar q)

{

PWM = 1;

delay(q);

PWM = 0;

delay(100-q);

}

void timer1() interrupt 3

{

TH1 = 0x3c; //(65536-50000)=15536= ox3c oxb0 即定时50ms

TL1 = 0xb0; //(65536-50000)=15536= ox3c oxb0 即定时50ms

if(--timcount==0)

{

timcount = 4;

TR0 = 0;

SpeedDet = TL0;

TL0 = 0;

TR0 = 1;

e1 = SpeedSet-SpeedDet;

duk = (KP*(e1-e2)+KI*e1+KD*(e1-2*e2+e3))/10; //误差的微分:(e1-2*e2+e3)=((e1-e2)-(e2-e3))/1

uk = uk+duk;

if(uk>100)

uk=100;

else if(uk<-100)

uk = -100;

if(uk<0)

{

PWMH = -uk;

Dir = 0;

}

else

{

PWMH =uk;

Dir = 1;

}

e3 = e2;

e2 = e1;

}

}

void main(void)

{

TMOD = 0x16; //T1工作于定时模式的方式一16位定时器;T0工作于计数模式的方式2八位自动重装模式。

TH0 = 0;//装载计数初始值为0

TL0 = 0;//装载计数初始值为0

TH1 = 0x3c;//(65536-50000)=15536= ox3c oxb0 即定时50ms

TL1 = 0xb0;//(65536-50000)=15536= ox3c oxb0 即定时50ms

timcount = 4; //

PWMH = 0; //PWM高电平时间初始为0

SpeedSet = 80;//设定期望值速度80

SpeedDet = 0; //速度偏移量

e1 = 0;//当前误差

e2 = 0;//上一次误差

e3 = 0;//上上次误差

KP =10; //比例系数

KI = 1;//积分系数

KD = 2;//微分系数

TR0 = 1; //打开定时器T0

TR1 = 1;//打开计数器T1

ET1 = 1;//允许中断T1

ET0 = 1;//允许中断T0

EA = 1;//打开总中断

while(1)

{

PWMout(PWMH); //电机运行速度

}

}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

尼得科株式会社开发的电机产品被太阳诱电株式会社(以下简称“太阳诱电”)推出的可支持再生制动系统的电动助力自行车——充满一次电可最多骑行1000km*1的再生电动助力系统 “FEREMO™”*2所采用。

关键字: 电机 自行车

在电力电子和机械工程领域,电机作为转换和传递能量的关键设备,其稳定运行至关重要。然而,电机运行过程中,有时会出现过电流现象,这不仅影响电机的性能,还可能造成严重的设备损坏甚至安全事故。因此,深入理解电机报过电流的原因,并...

关键字: 电机 过电流

在科技迅猛发展的今天,履带机器人在诸多领域展现出了广泛的应用前景,从现代农业的采摘、喷药,到消防领域的救援,再到现代化防疫中的喷雾消毒,甚至是复杂地形的运输任务,它们都能出色地完成任务。而驱动这些履带机器人的核心部件,便...

关键字: 履带机器人 机器人 电机

随着各行各业自动化程度的提高,运动控制的重要性日益凸显。为了有效地驱动电机,描述速度和位置的控制输入必不可少。然而,实现这种感测的技术有多种,每种技术都有不同的特点和应用场景。

关键字: 传感器 电机 自动化

STM32与51单片机之间有什么差异呢?两者可以说是一场科技与性能的较量了。在科技飞速发展的今天,微控制器(MCU)已广泛应用于各类电子设备和系统中,发挥着举足轻重的作用。其中,STM32和51单片机作为两种常见的微控制...

关键字: STM32 51单片机 MCU

一直以来,步进电机都是大家的关注焦点之一。因此针对大家的兴趣点所在,小编将为大家带来步进电机的相关介绍,详细内容请看下文。

关键字: 电机 步进电机

使用电机测试:让家中的一个电机运行,如果电机能够正常工作,说明家中可能存在短路问题。使用万用表检测可以确定短路的具体位置。

关键字: 零线接地 跳闸 电机

51单片机将是下述内容的主要介绍对象,通过这篇文章,小编希望大家可以对51单片机的相关情况以及信息有所认识和了解,详细内容如下。

关键字: 单片机 51单片机

面向消费者市场的eVTOL制造商AIR公司宣布与商业、工业、家电电机以及控制器的大型制造商尼得科电机株式会社(Nidec Motor Corporation)合作研发适用于AIR公司的双座eVTOL“空中一号(AIR O...

关键字: 电机 AIR 空中交通

在现代工业和设备设计中,电机作为动力源扮演着至关重要的角色。正确选择电机对于确保整个系统的高效运行、节能减排以及成本控制都至关重要。本文将详细阐述电机选型的步骤,并提供一些实用的建议,帮助工程师和技术人员做出明智的决策。

关键字: 电动机 电机
关闭
关闭