0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机与控制实验示意电路原理图设计

西西 来源:博客园 作者:大大维 2020-09-10 16:11 次阅读

一、实验目的和要求

掌握脉宽调制调速的原理与方法,学习频率/周期测量的方法,了解闭环控制的原理。

二、实验设备

单片机测控实验系统

直流电机调速实验模块

Keil开发环境

STC-ISP程序下载工具

三、实验内容

1. 编写程序,能够在数码管上显示一个数值。

2. 固定向P1.1输出0,然后测量每秒钟电机转动的转数,将其显示在数码管,每秒刷新一次即可。

3. 使用脉宽调制的方法,动态调整向P1.1输出的内容,使得电机转速能够稳定在一个预定值附近,同时实时显示当前转速。

4. 根据输入修改电机转速目标值,设置两个转速目标值:低转速和高转速。

5. 每隔一秒钟读取两个开关的状态,如果S1按下,动态调整输出,使得电机转速能够稳定到低转速目标值附近,如果S2按下,动态调整输出,使得电机转速能够稳定到高转速目标值附近。交替显示目标值和当前转速值。

四、实验步骤

1. 建立工程,实现实验内容1

参考辅助材料,学习8031汇编语言使用和直流电机原理。

2. 编写中断程序,测量电机转速

本程序需要使用定时器定时,并使用中断来同步。中断程序的典型例子如下:

ORG 0000H

LJMP START

ORG 000BH

LJMP T0IN ;中断向量表

ORG 0040H

START: 。。.;初始化

。。.

T0IN: 。。.;中断程序

。。.

RETI ;中断返回

END

3. 完成控制转速程序

按照脉宽调制的原理,再添加一个快速的定时中断(0.1ms左右),在这个中断里面动态改变P1.1的输出,宏观上输出有效(0)的比例就是预定的控制变量。这个控制变量增大,电机转速就应该提高,但由于各种内部和外部因素,它们之间不存在简单的函数关系,因此必须根据测量出来的实际转速进行动态调整。

首先将电机转速控制在一个预定数值附近,在每一个1秒钟中断测量出当前转速之后,将其与目标值相对比,如果不够则增加控制变量,否则减少之,这样就能逐步达到稳定转速的目的。同时将速度显示出来。

4. 完成整体实验内容

在上面程序的基础上,再加上根据开关状态改变预定转速的代码。同时,在主程序中交替显示目标值和当前转速值,显示一个内容之后等待一段时间(可以由延时代码实现),然后再显示另一个并延时。要显示的内容都是在中断中被修改的。

五、实验原理

本实验示意电路原理图(图中的P1.3应改为P1.1):

对于直流电机来说,其转速由输入电压决定,因此具有平滑调速的效果;相比而言,交流电机的转速由交流电频率和电机结构决定,难以改变速度。当然,交流电机构造简单,没有换向器,所以容易制造高转速、高电压、大电流、大容量的电机;而直流电机一般用在负荷小,但要求转速连续可调的场合,如伺服电机

脉宽调制(Pulse Width Modulation,PWM)是一种能够通过开关量输出达到模拟量输出效果的方法。使用PWM可以实现频率调制、电压调制等效果,并且需要的外围器件较少,特别适合于单片机控制领域。这里只关心通过PWM实现电压调制,从而控制直流电机转速的效果。也称作脉宽调制调速。

PWM的基本原理是通过输出一个很高频率的0/1信号,其中1的比例为δ(也叫做占空比),在外围积分元件的作用下,使得总的效果相当于输出δ×A(A为高电平电压)的电压。通过改变占空比就可以调整输出电压,从而达到模拟输出并控制电机转速的效果。

使用单片机实现PWM,就是根据预定的占空比δ来输出0和1,这里δ就是控制变量。最简单的办法就是以某个时间单位(如0.1ms,相当于10kHz)为基准,在前N段输出1,后M-N段输出0,总体的占空比就是N/M。这种方法由于0和1分布不均匀,所以要求基准频率要足够高,否则会出现颠簸现象。

要达到更稳定的效果,可以采用累加进位法如果将总的周期内的0和1均匀分散开。设置一个累加变量x,每次加N,若结果大于M,则输出1,并减去M;否则输出0。这样整体的占空比也是N/M。在实验中取M=256可以使程序更加简单。

另外,由于本实验板的设计,输出0使电机工作。因此对于本实验,上面所说的0和1要翻转过来用。

在本实验板中,电机每转动一次,与之相连的偏心轮将遮挡光电对管一次,因此会产生一个脉冲,送到INT0。要测量转速,既可以测量相邻两次中断之间的时间;也可以测量一秒种之内发生的中断次数。显然,后一种方法更加简单。

进行转速控制时,涉及到三个变量:预期转速,实际转速和控制变量。这里控制变量就是占空比。我们并不能够预先精确知道某个控制变量的值会导致多少的实际转速,因为这里有很多内部和外部因素起作用(如摩擦力,惯性等),但可以确定就是随着控制变量的增加,实际转速会增加。

反馈控制的基本原理就是根据实际结果与预期结果之间的差值,来调节控制变量的值。当实际转速高于预期转速时,我们需要减少控制变量,以降低速度;反之则需要调高控制变量。

本实验的转速控制可以使用简单的比例控制算法,也就是当转速S大于预定值时,将输出0的个数减少;当转速小于预定值时,将输出0的个数增加。改变值正比于测量出的差值。也可自行使用其他更加复杂的算法。

实验中采用的电机最大转速在200转/s左右,转速小于40转/s左右将不稳定,可能会停转。

六、一点想法

在本次实验中,PWM脉宽调制是通过改变低电平(0,存在61H中)和高电平(1,存在60H中)的输入比例实现的。初始时,高低电平均为100次(可以随便设置,高低电平次数也可以不同),比例为1:1。当当前转速低于目标转速时,增加低电平输入次数,减少高电平输入次数(两者总和不变,还是200次),增加了低电平的占空比,转速提高。当当前转速高于目标转速时,减少低电平输入次数,增加高电平输入次数(两者总和不变,还是200次),降低了低电平的占空比,转速降低。

60H+61H的和(高低电平输入总和)影响转速调整精度和速度,值越大,精度越高(摆动越小),转速调整越慢;相反,值越小,转速调整越快,但精度越低(摆动越大)。

转速调整的速度和精度还可以通过每次转速调整时,60H(高电平输入次数)和61H(低电平输入次数)调整的幅度来调控。幅度越大,转速调整越快,但精度越低,幅度越小,精度越高,转速调整越慢。

60H和61H中的数可以随便(为正即可)取,但在整个过程中,61H+60H的值一定为一个定值,这样才能确定改变的是占空比。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44505

    浏览量

    632351
  • 直流电机
    +关注

    关注

    36

    文章

    1707

    浏览量

    70042
  • PWM
    PWM
    +关注

    关注

    114

    文章

    5124

    浏览量

    213283
  • 定时器
    +关注

    关注

    23

    文章

    3235

    浏览量

    114379
收藏 人收藏

    评论

    相关推荐

    单片机按键中断配置教程

    一些小伙伴觉得单片机入门太难了,又要懂原理图、又要懂寄存器、还要学编程语言。
    的头像 发表于 10-23 16:30 427次阅读
    <b class='flag-5'>单片机</b>按键中断配置教程

    基于51单片机无线温度传输控制设计

    本资源内容概要:       这是基于51单片机无线温度传输控制设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格打开
    发表于 06-26 10:50 0次下载

    基于51单片机步进电机正反转调速控制电路图及程序

    本资源内容概要:       这是基于51单片机步进电机正反转调速控制电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)。本资源适合人群
    发表于 06-20 16:17 0次下载

    基于51单片机分立器件超声波测距电路图及程序元件清单

    本资源内容概要:       这是基于51单片机分立器件超声波测距电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单
    发表于 06-20 16:17 0次下载

    基于51单片机8路抢答器电路图proteus仿真及程序

    本资源内容概要:       这是基于51单片机8路抢答器电路图proteus仿真及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开
    发表于 06-19 14:15 1次下载

    基于51单片机16路抢答器电路图及程序元件清单

    本资源内容概要:       这是基于51单片机16路抢答器电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)、元件清单(excel表格
    发表于 06-19 11:38 0次下载

    一个经典的单片机供电电路原理图

    电路上电之前。开关"TEST"断开,单片机也没有通过VCC加电。此时,T1的基极通过R9(100k)接地,处于截止状态。
    发表于 04-12 10:51 1077次阅读
    一个经典的<b class='flag-5'>单片机</b>供电<b class='flag-5'>电路</b>的<b class='flag-5'>原理图</b>

    【原创】51单片机PWM波控制直流电机转速,仿真、原理图和代码

    。这部分电路主要由AT89C52单片机的I/O端口、定时计数器、外部中断扩展等控制直流电机的加速、减速以及电机的正转和反转,并且可以调整电机的转速,能够很方便的实现电机的智能控制。其间
    发表于 03-13 00:33

    基于STM32单片机的瓦斯监测与控制

    本文设计出这一款基于STM32单片机煤矿瓦斯监测控制管理系统,包括甲烷气体传感器电路、温湿度传感器电路、Wi-Fi模块电路、报警
    的头像 发表于 02-27 08:09 1400次阅读
    基于STM32<b class='flag-5'>单片机</b>的瓦斯监测与<b class='flag-5'>控制</b>

    基于单片机控制的交通灯设计

    本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
    的头像 发表于 01-22 15:31 1829次阅读
    基于<b class='flag-5'>单片机</b><b class='flag-5'>控制</b>的交通灯设计

    51单片机开发板原理图介绍

    电子发烧友网站提供《51单片机开发板原理图介绍.pdf》资料免费下载
    发表于 12-18 09:12 4次下载

    单片机是如何控制数码管显示各种字符的?

    单片机控制数码管显示各种字符的过程是一个相对复杂的过程,涉及到硬件电路设计和软件编程两个方面。下面我将详细介绍单片机如何控制数码管显示各种字
    的头像 发表于 12-13 10:47 2021次阅读

    单片机复位电路工作原理

    单片机复位电路工作原理  单片机是一种集成电路,通常用于嵌入式系统中。单片机复位电路
    的头像 发表于 12-07 15:17 4051次阅读

    单片机最小系统的相关知识

    单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统。对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路
    发表于 11-29 15:57 1814次阅读
    <b class='flag-5'>单片机</b>最小系统的相关知识

    单片机最小系统原理图讲解

    单片机最小系统,或者称为最小应用系统,是指能够维持单片机正常工作的最小工作单元。对51系列单片机来说,最小系统一般应该包括:单片机芯片、晶振电路
    的头像 发表于 11-22 14:13 1.4w次阅读
    <b class='flag-5'>单片机</b>最小系统<b class='flag-5'>原理图</b>讲解