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

pid直流电机单片机

发布时间:2022-09-12 14:52:27

① 怎样用单片机控制直流电动机

1,简单的开关控制,用单片机引脚输出高低电平,控制MOS管驱动电路。
2,正反转控制,需要两个单片机引脚,一个控制正反转,一个控制启动与否。
3,需要控制速度,(1)电压控制,(2)PWM(脉宽)控制。
4,需要控制转角,首先能够控制速度,然后增加一个编码器,单片机中加入PID控制,用以精确控制。
以上大概就是直流电机能够控制的东西。

② 32单片机控制直流电机旋转固定角度可用吗

你好,很高兴回答你的问题。
控制电机旋转固定角度,除了步进电机,其他电机都需要位置反馈的,实现闭环控制的。
如果直流电机带位置反馈,就可以控制的。
直流电机的位置反馈可以有多种方式:
1、霍尔传感器型的码盘反馈
2、光电传感器型的码盘反馈
3、有些大神还可以直接检测反向电动势去计算运行角度。
另外注意的是:如果需要旋转角度精确的话,最好加上PID调节。
32单片机完全能够胜任这项工作。
希望以上回答能够帮助到你。

③ 单片机PID调节电机原理图

看你要怎么调节了 调节什么 简单说就是首先有个控制器 发出控制指令 给驱动器 然后驱动器驱动电机转动,假如你要调节转速 可以用一个采集转速的装置采集转速并转化为控制器能够接收的反馈信号 从而实现pid调节 pid又有软件pid和硬件pid 看你需要了

④ 单片机直流电机调速系统设计

论文题目:直流电动机调速器硬件设计
专业:自动化
本科生:刘小煜 (签名)____
指导教师:胡晓东 (签名)____

直流电动机调速器硬件设计
摘 要

直流电动机广泛应用于各种场合,为使机械设备以合理速度进行工作则需要对直流电机进行调速。该实验中搭建了基于C8051F020单片机的转速单闭环调速系统,利用PWM信号改变电动机电枢电压,并由软件完成转速单闭环PI控制,旨在实现直流电动机的平滑调速,并对PI控制原理及其参数的确定进行更深的理解。实验结果显示,控制8位PWM信号输出可平滑改变电动机电枢电压,实现电动机升速、降速及反转等功能。实验中使用霍尔元件进行电动机转速的检测、反馈。期望转速则可通过功能按键给定。当选择比例参数为0.08、积分参数为0.01时,电机转速可以在3秒左右达到稳定。由实验结果知,该单闭环调速系统可对直流电机进行调速,达到预期效果。

关键字:直流电机, C8051F020,PWM,调速,数字式

Subject: Hardware Design of Speed Regulator for DC motor
Major: Automation
Name: Xiao yu Liu (Signature)____
Instructor:Xiao dong Hu (Signature) ____

Hardware Design of Speed Regulator for DC motor
Abstract

The dc motor is a widely used machine in various occasions.The speed regulaiting systerm is used to satisfy the requirement that the speed of dc motor be controlled over a range in some applications. In this experiment,the digital Close-loop control systerm is based on C8051F020 SCM.It used PI regulator and PWM to regulate the speed of dc motor. The method of speed regulating of dc motor is discussed in this paper and, make a deep understanding about PI regulator.According to experiment ,the armature voltage can be controlled linearnized with regulating the 8 bit PWM.So the dc motor can accelerate or decelerate or reverse.In experiment, hall component is used as a detector and feed back the speed .The expecting speed can be given by key-press.With using the PI regulator,the dc motor will have a stable speed in ten seconds when choose P value as 0.8 and I value as 0.01. At last,the experiment shows that the speed regulating systerm can work as expected.

Key words: dc motor,C8051F020,PWM,speed regulating,digital

目录

第一章 绪论 1
1.1直流调速系统发展概况 1
1.2 国内外发展概况 2
1.2.1 国内发展概况 2
1.2.2 国外发展概况 3
1.2.3 总结 4
1.3 本课题研究目的及意义 4
1.4 论文主要研究内容 4
第二章 直流电动机调速器工作原理 6
2.1 直流电机调速方法及原理 6
2.2直流电机PWM(脉宽调制)调速工作原理 7
2.3 转速负反馈单闭环直流调速系统原理 11
2.3.1 单闭环直流调速系统的组成 11
2.3.2速度负反馈单闭环系统的静特性 12
2.3.3转速负反馈单闭环系统的基本特征 13
2.3.4转速负反馈单闭环系统的局限性 14
2.4 采用PI调节器的单闭环无静差调速系统 15
2.5 数字式转速负反馈单闭环系统原理 17
2.5.1原理框图 17
2.5.2 数字式PI调节器设计原理 18
第三章 直流电动机调速器硬件设计 20
3.1 系统硬件设计总体方案及框图 20
3.1.1系统硬件设计总体方案 20
3.1.2 总体框图 20
3.2 系统硬件设计 20
3.2.1 C8051F020单片机 20
3.2.1.1 单片机简介 20
3.2.1.2 使用可编程定时器/计数器阵列获得8位PWM信号 23
3.2.1.3 单片机端口配置 23
3.2.2主电路 25
3.2.3 LED显示电路 26
3.2.4 按键控制电路 27
3.2.5 转速检测、反馈电路 28
3.2.6 12V电源电路 30
3.3硬件设计总结 31
第四章 实验运行结果及讨论 32
4.1 实验条件及运行结果 32
4.1.1 开环系统运行结果 32
4.1.2 单闭环系统运行结果 32
4.2 结果分析及讨论 32
4.3 实验中遇到的问题及讨论 33
结论 34
致谢 35
参考文献 36
论文小结 38
附录1 直流电动机调速器硬件设计电路图 39
附录2 直流电动机控制系统程序清单 42
附录3 硬件实物图 57

第一章 绪论
1.1直流调速系统发展概况
在现代工业中,电动机作为电能转换的传动装置被广泛应用于机械、冶金、石油化学、国防等工业部门中,随着对生产工艺、产品质量的要求不断提高和产量的增长,越来越多的生产机械要求能实现自动调速。
在可调速传动系统中,按照传动电动机的类型来分,可分为两大类:直流调速系统和交流调速系统。交流电动机直流具有结构简单、价格低廉、维修简便、转动惯量小等优点,但主要缺点为调速较为困难。相比之下,直流电动机虽然存在结构复杂、价格较高、维修麻烦等缺点,但由于具有较大的起动转矩和良好的起、制动性能以及易于在宽范围内实现平滑调速,因此直流调速系统至今仍是自动调速系统的主要形式。
直流调速系统的发展得力于微电子技术、电力电子技术、传感器技术、永磁材料技术、自动控制技术和微机应用技术的最新发展成就。正是这些技术的进步使直流调速系统发生翻天覆地的变化。其中电机的控制部分已经由模拟控制逐渐让位于以单片机为主的微处理器控制,形成数字与模拟的混合控制系统和纯数字控制系统,并正向全数字控制方向快速发展。电动机的驱动部分所用的功率器件亦经历了几次更新换代。目前开关速度更快、控制更容易的全控型功率器件MOSFET和IGBT成为主流。功率器件控制条件的变化和微电子技术的使用也使新型的电动机控制方法能够得到实现。脉宽调制控制方法在直流调速中获得了广泛的应用。
1964年A.Schonung和H.stemmler首先提出把PWM技术应用到电机传动中从此为电机传动的推广应用开辟了新的局面。进入70年代以来,体积小、耗电少、成本低、速度快、功能强、可靠性高的大规模集成电路微处理器已经商品化,把电机控制推上了一个崭新的阶段,以微处理器为核心的数字控制(简称微机数字控制)成为现代电气传动系统控制器的主要形式。PWM常取代数模转换器(DAC)用于功率输出控制,其中,直流电机的速度控制是最常见的应用。通常PWM配合桥式驱动电路实现直流电机调速,非常简单,且调速范围大。在直流电动机的控制中,主要使用定频调宽法。
目前,电机调速控制模块主要有以下三种:
(1)、采用电阻网络或数字电位器调整直流电机的分压,从而达到调速的目的;
(2)、采用继电器对直流电机的开或关进行控制,通过开关的切换对电机的速度进行调整;
(3)、采用由IGBT管组成的H型PWM电路。用单片机控制IGBT管使之工作在占空比可调的开关状态,精确调整电动机转速。
1.2 国内外发展概况
1.2.1 国内发展概况
我国从六十年代初试制成功第一只硅晶闸管以来,晶闸管直流调速系统开始得到迅速的发展和广泛的应用。用于中、小功率的 0.4~200KW晶闸管直流调速装置已作为标准化、系列化通用产品批量生产。
目前,全国各大专院校、科研单位和厂家都在进行数字式直流调速系统的开发,提出了许多关于直流调速系统的控制算法
(1)、直流电动机及直流调速系统的参数辩识的方法。该方法据系统或环节的输入输出特性,应用最小二乘法,即可获得系统环节的内部参数。所获得的参数具有较高的精度,方法简便易行。
(2)、直流电动机调速系统的内模控制方法。该方法依据内模控制原理,针对双闭环直流电动机调速系统设计了一种内模控制器,取代常规的PI调节器,成功解决了转速超调问题,能使系统获得优良的动态和静态性能,而且设计方法简单,控制器容易实现。
(3)、单神经元自适应智能控制的方法。该方法针对直流传动系统的特点,提出了单神经元自适应智能控制策略。这种单神经元自适应智能控制系统不仅具有良好的静、动态性能,而且还具有令人满意的鲁棒性与自适应性。
(4)、模糊控制方法。该方法对模糊控制理论在小惯性系统上对其应用进行了尝试。经1.5kw电机实验证明,模糊控制理论可以用于直流并励电动机的限流起动和恒速运行控制,并能获得理想的控制曲线。
上诉的控制方法仅是直流电机调速系统应用和研究的一个侧面,国内外还有许多学者对此进行了不同程度的研究。
1.2.2 国外发展概况
随着各种微处理器的出现和发展,国外对直流电机的数字控制调速系统的研究也在不断发展和完善,尤其80年代在这方面的研究达到空前的繁荣。大型直流电机的调速系统一般采用晶闸管整流来实现,为了提高调速系统的性能,研究工作者对晶闸管触发脉冲的控制算法作了大量研究,提出了内模控制算法、I-P控制器取代PI调节器的方法、自适应和模糊PID算法等等。
目前,国外主要的电气公司,如瑞典ABB公司,德国西门子公司、AEG公司,日本三菱公司、东芝公司、美国GE公司等,均已开发出数字式直流调装置,有成熟的系列化、标准化、模版化的应用产品供选用。如西门子公司生产的SIMOREG-K 6RA24 系列整流装置为三相交流电源直接供电的全数字控制装置,其结构紧凑,用于直流电机电枢和励磁供电,完成调速任务。设计电流范围为15A至1200A,并可通过并联SITOR可控硅单元进行扩展。根据不同的应用场合,可选择单象限或四象限运行的装置,装置本身带有参数设定单元,不需要其它任何附加设备便可以完成参数设定。所有控制调节监控及附加功能都由微处理器来实现,可选择给定值和反馈值为数字量或模拟量。
1.2.3 总结
随着生产技术的发展,对直流电气传动在起制动、正反转以及调速精度、调速范围、静态特性、动态响应等方面都提出了更高的要求,这就要求大量使用直流调速系统。因此人们对直流调速系统的研究将会更深一步。
1.3 本课题研究目的及意义
直流电动机是最早出现的电动机,也是最早实现调速的电动机。长期以来,直流电动机一直占据着调速控制的统治地位。由于它具有良好的线性调速特性,简单的控制性能,高效率,优异的动态特性,现在仍是大多数调速控制电动机的最优选择。因此研究直流电机的速度控制,有着非常重要的意义。
随着单片机的发展,数字化直流PWM调速系统在工业上得到了广泛的应用,控制方法也日益成熟。它对单片机的要求是:具有足够快的速度;有PWM口,用于自动产生PWM波;有捕捉功能,用于测频;有A/D转换器、用来对电动机的输出转速、输出电压和电流的模拟量进行模/数转换;有各种同步串行接口、足够的内部ROM和RAM,以减小控制系统的无力尺寸;有看门狗、电源管理功能等。因此该实验中选用Cygnal公司的单片机C8051F020。
通过设计基于C8051F020单片机的直流PWM调速系统并调试得出结论,在掌握C8051F020的同时进一步加深对直流电动机调速方法、PI控制器的理解,对运动控制的相关知识进行巩固。
1.4 论文主要研究内容
本课题的研究对象为直流电动机,对其转速进行控制。基本思想是利用C8051F020自带的PWM口,通过调整PWM的占空比,控制电机的电枢电压,进而控制转速。
系统硬件设计为:以C8051F020为核心,由转速环、显示、按键控制等电路组成。
具体内容如下:
(1)、介绍直流电动机工作原理及PWM调速方法。
(2)、完成以C8051F020为控制核心的直流电机数字控制系统硬件设计。
(3)、以该系统的特点为基础进行分析,使用PWM控制电机调速,并由实验得到合适的PI控制及相关参数。
(4)、对该数字式直流电动机调速系统的性能做出总结。

第二章 直流电动机调速器工作原理
2.1 直流电机调速方法及原理
直流电动机的转速和各参量的关系可用下式表示:

由上式可以看出,要想改变直流电机的转速,即调速,可有三种不同的方式:调节电枢供电电压U,改变电枢回路电阻R,调节励磁磁通Φ。
3种调速方式的比较表2-1所示.
表2-1 3种电动机调速方式对比
调速方式和方法 控制装置 调速范围 转速变化率 平滑性 动态性能 恒转矩或恒功 率 效率
改变电枢电阻 串电枢电阻 变阻器或接触器、电阻器 2:1 低速时大 用变阻器较好
用接触器、电阻器较差 无自动调节能力 恒转矩 低
改变电枢电压 电动机-发电机组 发电机组或电机扩大机(磁放大器) 10:1~20:1 小 好 较好 恒转矩 60%~70%
静止变流器 晶闸管变流器 50:1~100:1 小 好 好 恒转矩 80%~90%
直流脉冲调宽 晶体管或晶闸管直流开关电路 50:1~100:1 小 好 好 恒转矩 80%~90%
改变磁通 串联电阻或可变直流电源 直流电源变阻器 3:1

5:1 较大 差 差 恒功率 80%~90%
电机扩大机或磁放大器 好 较好
晶闸管变流器 好

由表2-1知,对于要求在一定范围内无级平滑调速的系统来说,以调节电枢供电电压的方式为最佳,而变电枢电压调速方法亦是应用最广的调速方法。
2.2直流电机PWM(脉宽调制)调速工作原理
在直流调速系统中,开关放大器提供驱动电机所需要的电压和电流,通过改变加在电动机上的电压的平均值来控制电机的运转。在开关放大器中,常采用晶体管作为开关器件,晶体管如同开关一样,总是处在接通和断开的状态。在晶体管处在接通时,其上的压降可以略去;当晶体管处在断开时,其上的压降很大,但是电流为零,所以不论晶体管导通还是关断,输出晶体管中的功耗都是很小的。一种比较简单的开关放大器是按照一个固定的频率去接通和断开放大器,并根据需要改变一个周期内“接通”和“断开”的相位宽窄,这样的放大器被称为脉冲调制放大器。
PWM脉冲宽度调制技术就是通过对一系列脉冲的宽度进行调制,来等效地获得获得所需要波形(含形状和幅值)的技术。
根据PWM控制技术的特点,到目前为止主要有八类方法:相电压控制PWM、线电压控制PWM、电流控制PWM、非线性控制PWM,谐振软开关PWM、矢量控制PWM、直接转矩控制PWM、空间电压矢量控制PWM。
利用开关管对直流电动机进行PWM调速控制原理图及输入输出电压波形如图2-1、图2-2所示。当开关管MOSFET的栅极输入高电平时,开关管导通,直流电动机电枢绕组两端由电压。秒后,栅极输入变为低电平,开关管截止,电动机电枢两端电压为0。秒后,栅极输入重新变为高电平,开关管的动作重复前面的过程。这样,对应着输入的电平高低,直流电动机电枢绕组两端的电压波形如图2-2所示。电动机的电枢绕组两端的电压平均值为:

式2-1

式中 ——占空比,
占空比表示了在一个周期里,开关管导通的时间与周期的比值。的变化范围为0≤≤1。由式2-1可知,当电源电压不变的情况下,电枢的端电压的平均值取决于占空比的大小,改变值就可以改变端电压的平均值,从而达到调速的目的,这就是PWM调速原理。
在PWM调速时,占空比是一个重要参数。以下是三种可改变占空比的方法:
(1)、定宽调频法:保持不变,改变,从而改变周期(或频率)。
(2)、调宽调频法:保持不变,改变,从而改变周期(或频率)。
(3)、定频调宽法:保持周期(或频率)不变,同时改变、。
前2种方法由于在调速时改变了控制脉冲的周期(或频率),当控制脉冲的频率与系统的固有频率接近时,将会引起振荡,因此应用较少。目前,在直流电动机的控制中,主要使用第3种方法。

图2-1 PWM调速控制原理

图2-2 输入输出电压波形
产生PWM控制信号的方法有4种,分别为:
(1)、分立电子元件组成的PWM信号发生器
这种方法是用分立的逻辑电子元件组成PWM信号电路。它是最早期的方式,现在已经被淘汰了。
(2)、软件模拟法
利用单片机的一个I/O引脚,通过软件对该引脚不断地输出高低电平来实现PWM信号输出。这种方法要占用CPU大量时间,需要很高的单片机性能,易于实现,目前也逐渐被淘汰。
(3)、专用PWM集成电路
从PWM控制技术出现之日起,就有芯片制造商生产专用的PWM集成电路芯片,现在市场上已有许多种。这些芯片除了由PWM信号发生功能外,还有“死区”调节功能、保护功能等。在单片机控制直流电动机系统中,使用专用PWM集成电路可以减轻单片机负担,工作也更可靠。
(4)、单片机PWM口
新一代的单片机增加了许多功能,其中包括PWM功能。单片机通过初始化设置,使其能自动地发出PWM脉冲波,只能在改变占空比时CPU才进行干预。
其中常用后两中方法获得PWM信号。实验中使用方法(4)获得PWM信号。
2.3 转速负反馈单闭环直流调速系统原理
2.3.1 单闭环直流调速系统的组成
只通过改变触发或驱动电路的控制电压来改变功率变换电路的输出平均电压,达到调节电动机转速的目的,称为开环调速系统。但开环直流调速系统具有局限性:
(1)、通过控制可调直流电源的输入信号,可以连续调节直流电动机的电枢电压,实现直流电动机的平滑无极调速,但是,在启动或大范围阶跃升速时,电枢电流可能远远超过电机额定电流,可能会损坏电动机,也会使直流可调电源因过流而烧毁。因此必须设法限制电枢动态电流的幅值。
(2)、开环系统的额定速降一般都比较大,使得开环系统的调速范围D都很小,对于大部分需要调速的生产机械都无法满足要求。因此必须采用闭环反馈控制的方法减小额定动态速降,以增大调速范围。
(3)、开环系统对于负载扰动是有静差的。必须采用闭环反馈控制消除扰动静差
为克服其缺点,提高系统的控制质量,必须采用带有负反馈的闭环系统,方框图如图2-3所示。在闭环系统中,把系统输出量通过检测装置(传感器)引向系统的输入端,与系统的输入量进行比较,从而得到反馈量与输入量之间的偏差信号。利用此偏差信号通过控制器(调节器)产生控制作用,自动纠正偏差。因此,带输出量负反馈的闭环控制系统能提高系统抗扰性,改善控制精度的性能,广泛用于各类自动调节系统中。

⑤ 单片机练习pid,可以做什么项目呢

单片机练习pid,可以做bldc无刷电机驱动练手。

⑥ 如何用单片机控制直流电机

通过与单片机相连的按键控制直流电机停启的电路如下图所示,通过P3.6口按键触发启动直流电机,P3.7口的按键触发停止直流电机的运行。由图可知,当P1.0输出高电平“1”时,NPN型三极管导通,直流电机得电转动;当P1.0输出低电平“0”时,NPN型三极管截止,直流电机停止转动。

(6)pid直流电机单片机扩展阅读:

通过单片机产生PWM波控制直流电机程序

#include "reg52.h"


#define uchar unsigned char


#define uint unsigned int


uchar code table[10]={0x3f,0x06,0x5b,


0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管显示码(0-9)


sbit xiaoshudian=P0^7;


sbit wei1=P2^4; //数码管位选定义


sbit wei2=P2^5;


sbit wei3=P2^6;


sbit wei4=P2^7;


sbit beep=P2^3; //蜂鸣器控制端


sbit motor = P1^0; //电机控制


sbit s1_jiasu = P1^4; //加速按键


sbit s2_jiansu= P1^5; //减速按键


sbit s3_jiting=P1^6; //停止/开始按键


uint pulse_count; //INT0接收到的脉冲数


uint num=0; //num相当于占空比调节的精度


uchar speed[3]; //四位速度值存储


float bianhuasu; //当前速度(理论计算值)


float reallyspeed; //实际测得的速度


float vv_min=0.0;vv_max=250.0;


float vi_Ref=60.0; //给定值


float vi_PreError,vi_PreDerror;


uint pwm=100; //相当于占空比标志变量


int sample_time=0; //采样标志


float v_kp=1.2,v_ki=0.6,v_kd=0.2; //比例,积分,微分常数


void delay (uint z)


{


uint x,y;


for(x=z;x>0;x--)


for (y=20;y>0;y--);


}


void time_init()


{


ET1=1; //允许定时器T1中断


ET0=1; //允许定时器T0中断


TMOD = 0x15; //定时器0计数,模式1;定时器1定时,模式1


TH1 = (65536-100)/256; //定时器1值,负责PID中断 ,0.1ms定时


TL1 = (65536-100)%6;


TR0 = 1; //开定时器


TR1 = 1;


IP=0X08; //定时器1为高优级


EA=1; //开总中断


}


void keyscan()


{


float j;


if(s1_jiasu==0) //加速


{


delay(20);


if(s1_jiasu==0)


vi_Ref+=10;


j=vi_Ref;


}


while(s1_jiasu==0);


if(s2_jiansu==0) //减速


{


delay(20);


if(s2_jiansu==0)


vi_Ref-=10;


j=vi_Ref;


}


while(s2_jiansu==0);


if(s3_jiting==0)


{


delay(20);


motor=0;


P1=0X00;


P3=0X00;


P0=0x00;


}


while(s3_jiting==0);


}


float v_PIDCalc(float vi_Ref,float vi_SpeedBack)


{


register float error1,d_error,dd_error;


error1=vi_Ref-vi_SpeedBack; //偏差的计算


d_error=error1-vi_PreError; //误差的偏差


dd_error=d_error-vi_PreDerror; //误差变化率


vi_PreError=error1; //存储当前偏差


vi_PreDerror=d_error;


bianhuasu=(v_kp*d_error+v_ki*vi_PreError+v_kd*dd_error);


return (bianhuasu);


}


void v_Display()


{


uint su;


su=(int)(reallyspeed*10); //乘以10之后强制转化成整型


speed[3]=su/1000; //百位


speed[2]=(su00)/100; //十位


speed[1]=(su0)/10; //个位


speed[0]=su; //小数点后一位


wei1=0; //第一位打开


P0=table[speed[3]];


delay(5);


wei1=1; //第一位关闭


wei2=0;


P0=table[speed[2]];


delay(5);


wei2=1;


wei3=0;


P0=table[speed[1]];


xiaoshudian=1;


delay(5);


wei3=1;


wei4=0;


P0=table[speed[0]];


delay(5);


wei4=1;


}


void BEEP()


{


if((reallyspeed)>=vi_Ref+5||(reallyspeed


{


beep=~beep;


delay(4);


}


}


void main()


{


time_init();


motor=0;


while(1)


{


v_Display();


BEEP();


}


if(s3_jiting==0) //对按键3进行扫描,增强急停效果


{


delay(20);


motor=0;


P1=0X00;


P3=0X00;


P0=0x00;


}


while(s3_jiting==0);


}


void timer0() interrupt 1


{


}


void timer1() interrupt 3


{


TH1 = (65536-100)/256; //1ms定时


TL1 = (65536-100)%6;


sample_time++;


if(sample_time==5000) //采样时间0.1ms*5000=0.5s


{


TR0=0; //关闭定时器0


sample_time=0;


pulse_count=TH0*255+TL0; //保存当前脉冲数


keyscan(); //扫描按键


reallyspeed=pulse_count/(4*0.6); //计算速度


pwm=pwm+v_PIDCalc(vi_Ref,reallyspeed);


if(pwm


if(pwm>100)pwm=100;


TH0=TL0=0;


TR0=1; //开启定时器0


}


num++;


if(num==pwm) //此处的num值,就是占空比


{


motor=0;


}


if(num==100) //100相当于占空比调节的精度


{


num=0;


motor=1;


}


}



⑦ 基于单片机AT89c51的数字PID控制直流电机PWM调速系统C语言程序

首先弄清楚PID是一种控制算法!!!
1,“如果用单片机恒温可以使温度到达预定值就停止加热,低了就加热,用一个温度传感器反馈,这样算是一个自动控制吗”你这是控制系统,但是效果会非常差,尤其是对于温度控制这种大惯性系统,达到预定值就停止加热,但是由于惯性,温度肯定会继续上升,电炉烧水的时候,水开了,断电之后水还要沸腾一定时间的(沸腾是很消耗能量的,由此可见如果是加热的话温度上升更严重,你也可以自己用温度计试试看);“低了就加热”是同样的道理。如果系统对控制精度有要求,你这样做肯定达不到要求。PID是一种控制算法,相对于其他控制算法来说算是最简单的了。PID能够做到在温度快要达到设定值的时候降低加热功率,让温度上升速度变慢,最终稳定在设定值。如果用你的直接控制,温度会在设定值上下振荡,永远不会停在设定值。
2,一般的控制系统都需要加反馈,以构成闭环控制系统,相对的还有开环控制系统。开环控制系统,举个例子,就是你加热的时候事先计算好大约需要多少热量,然后考虑一下环境影响,计算出加热时间,然后控制加热系统按照你这个时间加热。你觉得这样的系统能够稳定工作吗?环境稍稍有变动就挂了!开环控制系统的特点就是很容易受到环境的影响;闭环控制系统就稳定很多,你用1L水可用,2L水也行,500W电能用,1000W电炉也能用,这就是闭环的优点。
因此,大多数的控制系统都是闭环的,开环很少单独使用,即使用到了也是有闭环的。开环其实也是有优点的,开环在控制系统里面叫做前馈(跟反馈对应的),比如你的系统里面电源电压上升了,加热速度肯定会变快,如果你对电源电压采样,将采样的结果输入到闭环里面,对闭环做一个轻微的修正,控制的精度会更好,这就是开环的优势,它是超前的,能够预知结果(根据地源电压提高就能知道需要降低输出功率了)。
说完这些,你应该明白了,反馈是必需的(前馈也可以要,但是不是必需的),PID不能被取代(除非你用其它更复杂的控制算法)。

⑧ 怎样用单片机控制直流电机所转动的角度

怎样用单片机控制直流电机所转动的角度?
----AVR169单片机是新一代RISC结构微控制器,具有高性能、低功耗、非易失性和CMOS技术等特点,AVR169还具有32个寄存器和丰富的指令集,带有四路8/9/10位PWM功能的16位定时器,8道的10位ADC,16KB可编程Flash,1KBSRAM,可以擦写10000次,接近1MIPS/MHZ的运行速度。
AS5040是Austria microsystems公司推出的世界上最小的10位多输出旋转磁性编码器, 是将现场传感霍尔(Hall)元件、A/D转换、数字信号处理和输出接口集成到单个芯片的系统级芯片(SoC),利用其包含的小磁体,可通过磁体的360度旋转探测1024个绝对位置,即每360度提供10位分辨率的1024 个绝对位置,同时提供了积分A/B、单通道和U-V-W交换等三种不同的增量输出模式,既可根据用户的特定要求设置,也可设置为脉宽调制(PWM)输出信号。PWM 数字输出所需外部元件最少,使用方便简单。本装置采用AS5040旋转编码器PWM_LSB端输出PWM脉冲,计算出电风扇摇头偏离初始位置的角度。控制电风扇摇头速度以及使其角度在一定范围内摇动,其工作原理为:把AS5040传感器装在电风扇摇头的转轴上,就能感应出电扇转过的角度与初始位置的夹角,计算出当前风扇摇头的速度,在下一个采样周期到来时,AS5040旋转编码器测得的速度信号及电机位置反馈信号通过AS5040接口反馈到AVR单片机169...
旋转编码器AS5040接口电路设计
AS5040旋转编码器把圆周分成1024份,当转离初始位置后,PWM_LSB端输出PWM脉冲。在0位置处,对应高电平宽度为1us,位置每加1,PWM高电平脉宽相应增加1us。通过对电机PWM的控制可以控制电机的转动,而AS5040旋转编码器随电机转轴转动,可以根据LSB端口输出脉冲计数得出电风扇摇头的速度变化,通过检测PWM_LSB输出脉冲可以得出此时刻转动的位置。AS5040引脚B_Dir_V可以直接检测出电机的正转和反转(输出1为顺时针,0为逆时针转动)。
3966 驱动接口电路设计
AVR 单片机169 输出的脉宽调制( PWM) 信号需经过功率放大才能驱动电机,调速控制系统采用的是3966 驱动芯片, 双极性工作方式是指在一个PWM 周期内电机电枢两端的电压呈正负变化,系统采用的双极性PWM控制,采用PI控制算法进行速度调节。驱动接口电路如图3 所示。单片机PWM引脚PF7直接接电机的ENABLE端,它控制着电机的转速的大小。
直流电机,大体上可分为四类:
第一类为有几相绕组的步进电机。这些步进电机,外加适当的序列脉冲,可使主轴转动一个精密的角度(通常在1.8°--7.5°之间)。只要施加合适的脉冲序列,电机可以按照人们的预定的速度或方向进行连续的转动。
步进电机用微处理器或专用步进电机驱动集成电路,很容易实现控制。例如常用的SAAl027或SAAl024专用步进电机控制电路。
步进电机广泛用于需要角度转动精确计量的地方。例如:机器人手臂的运动,高级字轮的字符选择,计算机驱动器的磁头控制,打印机的字头控制等,都要用到步进电机。
第二类为永磁式换流器直流电机,它的设计很简单,但使用极为广泛。当外加额定直流电压时,转速几乎相等。这类电机用于录音机、录相机、唱机或激光唱机等固定转速的机器或设备中。也用于变速范围很宽的驱动装置,例如:小型电钻、模型火车、电子玩具等。在这些应用中,它借助于电子控制电路的作用,使电机功能大大加强。
第三类是所谓的伺服电机,伺服电机是自动装置中的执行元件,它的最大特点是可控。在有控制信号时,伺服电机就转动,且转速大小正比于控制电压的大小,除去控制信号电压后,伺服电机就立即停止转动。伺服电机应用甚广,几乎所有的自动控制系统中都需要用到。例如测速电机,它的输出正比于电机的速度;或者齿轮盒驱动电位器机构,它的输出正比于电位器移动的位置.当这类电机与适当的功率控制反馈环配合时,它的速度可以与外部振荡器频率精确锁定,或与外部位移控制旋钮进行锁定。
最后一类为两相低电压交流电机。这类电机通常是直流电源供给一个低频振荡器,然后再用低频低压的交流去驱动电机。这类电机偶尔也用在转盘驱动机构中。
----友情链接

阅读全文

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

热点内容
crf源码解析 浏览:851
服务器软件开发是什么意思 浏览:939
删除彩信android 浏览:862
元宵节猜灯谜h5源码 浏览:69
乐培生app怎么绑定 浏览:762
视频压缩不清楚怎么说 浏览:525
加好友服务器繁忙是怎么回事 浏览:381
怎么解绑app的支付宝账号 浏览:911
ip地址服务器不可用怎么解决方法 浏览:183
为什么软件需要服务器 浏览:63
redis操作命令大全 浏览:597
python字符串重复索引 浏览:961
为什么香信新版本连接不上服务器 浏览:50
元旦程序员打羽毛球 浏览:614
otc焊接机器人离线编程教学 浏览:412
51单片机的ea引脚有何用途 浏览:207
centos查看用户命令 浏览:840
程序员脸胖 浏览:744
hdfs在主目录下创建文件夹 浏览:800
股票选股器源码公式如何弄 浏览:31