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

发布者:乘风翻浪最新更新时间:2021-02-23 来源: eefocus关键字:51单片机  电机 手机看文章 扫描二维码
随时随地手机看文章

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); //电机运行速度

}

}


关键字:51单片机  电机 引用地址:51单片机电机pid控制系统程序

上一篇:51单片机有几个中断源_52单片机中断源
下一篇:51单片机控制PWM信号实现直流电机转速控制的方法

推荐阅读最新更新时间:2024-11-17 17:07

专用芯片的步进电机步距角i11分控制
摘要 自动控制系统的综合性能在很大程度上取决于步进电机的精确度,细分技术可以显著改善步进电机的距角精度。利用细分算法控制AT89C51单片机输出具有一定时序的方波控制信号,经过TA8435芯片处理后输出相应的阶梯波来实现对步进电机的细分控制。本文重点就TA8435芯片的使用与控制进行详细介绍。 关键词 步进电机 TA8435 AT89C51 步距角细分 步进电机 引 言 步进电机是控制执行元件,是机电一体化的关键产品之一,广泛应用在各种自动化控制系统和精密机械等领域。步进电机将电脉冲信号转换成相应角位移或线性位移的驱动装置,其转动速度和脉冲频率能严格同步,具有较高的重复定位精度,且没有累积误差。步进电机的驱动是由驱动电路实现
[工业控制]
专用芯片的步进<font color='red'>电机</font>步距角i11分控制
AT89S51单片机发光二极管多功能闪烁的设计
1.实验任务 如图4.9.1所示,开关SP1接在P3.7/RD管脚上,在AT89S51单片机的P1端口接有四个发光二极管,上电的时候,L1接在P1.0管脚上的发光二极管在闪烁,当每一次按下开关SP1的时候,L2接在P1.1管脚上的发光二极管在闪烁,再按下开关SP1的时候,L3接在P1.2管脚上的发光二极管在闪烁,再按下开关SP1的时候,L4接在P1.3管脚上的发光二极管在闪烁,再按下开关SP1的时候,又轮到L1在闪烁了,如此轮流下去。 2.电路原理图 图4.9.1 3.系统板上硬件连线 (1).把“单片机系统”区域中的P3.7/RD端口连接到“独立式键盘”区域中的SP1端口上; (2).把“单片机系统”区域中的P1.0-P
[单片机]
AT89S<font color='red'>51单片机</font>发光二极管多功能闪烁的设计
基于51单片机之触控调光台灯实验
****************************** Copyright(C) CaKe ************************************ =================================== ==============**版权信息 : CaKen工作室 ============== ==============**文件名 : main.c ============== ==============**作者 : CaKen ============== =
[单片机]
80C51单片机对压力测量控制系统的设计
1 引言 目前我国发展煤炭生产机械化发展迅速。综采设备的应用,是提高效率、改善安全状况的措施。 影响开机率的一个主要因素是支架对工作面的顶板控制的好坏,因此,对综采工作面进行矿压监测与控制是很有必要的。要做到这一点,首先需要对井下工作面的液压支架的实际工作状况进行监测,通过对检测数据处理、分析,评定其效果,并采取相应措施,以提高开机率、提高产量。本文以监测综采液压支架的压力为研究内容,开发了一套基于单片机的压力测量控制系统。 2 压力测量控制系统功能设计 压力测量控制系统用于监测支架压力, 每台测量控制系统配有四只传感器, 可分别通过高压油管连接支架的立柱、平衡千斤顶, 前探梁千斤顶的油压腔。压力测量控制系统接收到通讯测量
[单片机]
80C<font color='red'>51单片机</font>对压力测量<font color='red'>控制系统</font>的设计
51单片机延时计算方法
keil里面选取delay为断点 记录程序运行到此处所用的时间t_start 运行delay(1) 记录程序运行完后的时间t_end t_end-t_start即为运行1次的时间。
[单片机]
基于MC56F8323芯片的直流无刷电机设计
  随着电力电子技术,新的永磁材料以及具有快速运算能力的DSP(数字信号处理器)的发展,直流无刷电机应用日益普及。直流无刷电机具有和直流电机相似的优良调速性能,又克服了直流电机采用机械式换向装置所引起的换向火花、可靠性低等缺点,且具有体积小、重量轻、效率高、电机的形状和尺寸灵活等优点,因此广泛应用在伺服系统、数控机床、电动车辆和家用电器各领域,成为现代伺服技术的主方向。   本文的主要内容是基于DSP芯片MC56F8323的直流无刷电机控制器的硬件设计。主要包括电流环、速度位置环和IPM(智能功率模块)驱动电路的硬件设计。   2 控制器系统设计   2.1 系统硬件框架设计   MC56F8323是FREESCALE(
[嵌入式]
钕铁硼在永磁电机行业中的应用
钕铁硼强力磁铁因其高矫顽力、高剩磁、高磁能积的优势,钕铁硼一半的产品都是被广泛应用于电机领域,下面内容主要介绍永磁电动机相关知识,希望对您有所帮助。 一、什么是永磁电动机? 永磁电动机使用永磁体来产生电动机的磁场,而无需励磁线圈或励磁电流。它效率高,结构简单。这是一种很好的节能电动机。随着高性能永磁材料的出现和控制技术的飞速发展,永磁电动机的应用将越来越广泛。 钕铁硼磁铁广泛用于永磁电动机中。 二、永磁电动机类型: 常见的永磁电动机有:永磁直流电动机,永磁交流电动机 永磁直流电动机包括:有刷直流电动机,无刷电动机,步进电动机等。 永磁交流电动机包括:同步永磁电动机,永磁伺服电动机等。 三、稀土永磁材料有什么优点? 由于稀土
[嵌入式]
基于MCS-8051单片机的片外数据存储器扩展设计研究
  0 引言   随着单片机运算速度和处理能力的不断提高,其在各个领域得到更广泛的应用。然而。随着其应用领域的不断扩大及集成化的不断提高,其内部资源已不能满足实际需求,往往需要对其内部资源进行扩展。   经典的扩展方法主要是通过地址总线、数据总线即P0、P2口,以及控制线ALE等来进行数据或程序存储器的扩展,最大寻址空间可达64KB,但这种方法占用端口较多,在有些情况下不能满足需求。这里以MCS-8051系列单片机为例,介绍一种新的片外数据存储器扩展方法,仅用单片机的P0口、P1.6及P1.7共10个端口便可实现256 KB数据存储器的扩展。      1 总体设计思路   MCS-8051单片机片内部存储空间为256
[单片机]
基于MCS-80<font color='red'>51单片机</font>的片外数据存储器扩展设计研究
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved