单片机实验一、通过按键控制直流电机的转动

单片机实验一、通过按键控制直流电机的转动
单片机实验一、通过按键控制直流电机的转动

重庆大学光电工程学院系列课程

实验报告本

课程名称单片机原理与应用

实验学期 201 年至年第学期学生所在学院

年级专业班级

学生姓名学号

指导教师签名

实验最终成绩

重庆大学光电工程学院教学实验中心制

图1 直流电机模块电路原理图

三、使用仪器、材料

C CS软件,试验箱

四、实验步骤

1、验证性试验

(一)用CCS软件下载程序,实现按键控制LED的亮灭。

(1)开始->程序->Texas Instruments->Code Composer Studio 5.4.0->Code Composer Studio5.4.0,打开CCSv5 软件。

(2)导入例程,Project->Import Existing CCS Eclipse Project

(3)点击“Browse…”,打开例程所在的文件目录,然后点击“

双单片机控制流水灯(精)

案例8 双单片机通信控制流水灯 用串行工作方式进行单片机之间的通信,电路图如下图所示。两个89S51单片机通过串行口进行通信,设置U1使用的晶振频率是11.0592MHz,U2使用的晶振频率是22.1184MHz,U1的RXD接U2的TXD,U1的TXD接U2的RXD,U2接8个发光二极管,要求由U1向U2发送数据,使8个发光二极管按从左到右逐一点亮的流水灯效果。 MCS-51单片机之间的串行异步通信 1.串行口的编程串行口需初始化后,才能完成数据的输入、输出。其初始化过程如下: (1)按选定串行口的工作方式设定SCON的SM0、SM1两位二进制编码。 (2)对于工作方式2或3,应根据需要在TB8中写入待发送的第9位数据(地址为1,数据为0)。 (3)若选定的工作方式不是方式0,还需设定接收/发送的波特率。 (4)设定SMOD的状态,以控制波特率是否加倍。 (5)若选定工作方式1或3,则应对定时器T1进行初始化以设定其溢出率。 2.案例分析由于串行口通信时传输的“0”或者“1”是通过相对于“地”的

电压区分的,因此使用串行口通信时,必须将双方的“地”线相连以使其具有相同的电压参考点。需要注意的是,异步通信时两个单片机的串行口波特率必须是一样的。由于U1使用的晶振频率是11.0592MHz,U2使用的晶振频率是22.1184MHz,因此二者的串行口初始化程序不完全一样。假设使用240bit/s的波特率,使用串行工作方式1,Tl使用自动装载的方式2,则Ul的TH1应初始化为136,U2的TH1应初始化为16。 对应的程序完成如下功能:Ul和U2进行双工串行通信,Ul给U2循环发送流水灯控制字,U2收到控制字后送到P0口,点亮相应发光二极管,双方都用中断方式进行收发。 (1)单片机U1的源程序 #include unsigned char sdata=0xfe; void isr_uart(); void main() { TMOD=0X20; TH1=136; TL1=136; SCON=0x40; PCON=0; TR1=1; EA=1;ES=1; SBUF=sdata; while(1); } void isr_uart() interrupt 4 {

直流电机速度控制模型建立

十二、直流电动机速度控制模型建立 如图所示,a R 和a L 分别为电枢回路电阻和电感,a J 为机械旋转部分的转动惯量,f 为旋转部分的粘性摩擦系统,)(t u a 为电枢电压,)(t n 为电动机转动速度,)(t i a 为电枢回路电流。 通过调节电枢电压)(t u a ,控制电动机的转动速度)(t n 。电动机负载变化为电动机转动速度的干扰因素,用负载力矩)(t M d 表示。 根据直流电动机的工作原理及基尔霍夫定律,直流电动机有四大平衡方程: (1)电枢回路电压平衡方程 )()()(t u E t i R dt t di L a a a a a a =++ 式中,a E 为电动机的反电势。 (2)电磁转矩方程 )()(t ia K t M a w = 式中,)(t M w 为电枢电流产生的电磁转矩,a K 为电动机转矩系数。 (3)转矩平衡方程 )()()()(t M t M t fn dt t dn J d w a +=+ 式中,a J 为机械旋转部分的转动惯量,f 为旋转部分的粘性摩擦系数。 (4)由磁感应关系,得 )(t n K E b a = 根据上述的四个平衡方程式,可建立起系统的输出量、干扰量与输入量之间的传递函数 b a a a a a a a a a K K f R s J R f L s L J K s U s N ++++=)()()(2 a a a a d R s L K s U s M +-=)()( 建立起直流电动机的结构图为

直流电动机参数为 Ω =0.2a R , 015.0,015.0,5.0===b a a K K H L ,Nms f 2.0=,202.0m kg J a ?=。 得到系统的阶跃响应曲线为

按键控制单片机改变流水灯速度

按键控制单片机改变流水灯速度 /*程序效果:有三个按键,按下其中任意一个流水灯的速度改变 */#includereg52.h //52 系列单片机的头文件#define uchar unsigned char//宏定义 #define uint unsigned intuchar count=40,flag=0; //定义刚开始的流水灯的速度,后 一个为标志变量void main(){uchar i=0;//定义局部变量EA=1; //打开总 中断ET0=1; //打开定时器TR0=1; //启动定时器TH0=(65536-50000) /256; //装初值TL0=(65536-50000)%256; P2=0xfe; //点亮第一个数码管, 为下次循环做准备while(1){ if(flag) //flag 被置位{ flag=0;//清零,为下次做准备P2=~P2; //取反P2=1; //左移一位P2=~P2; //取反i++; if(i==8) //移到第八个数码管,则从新装初值{ i=0; P2=0xfe; } } P0=0xf0; //赋初值if((P00xf0)!=0xf0) //判断是否有按键按下{ if(P0==0x70) //按下第一个按键count=60; //给count 从新赋值 if(P0==0xb0) count=20; if(P0==0xd0) count=10;} }}void time0() interrupt 1 //定时器0{static uchar cnt; //定义静态变量TH0=(65536-50000)/256;TL0=(65536-50000)%256; cnt++; //计数if(cnt==count){ cnt=0; //清零flag=1; //置标志位}} tips:感谢大家的阅读,本文由我司收集整编。仅供参阅!

单片机直流电机控制实训报告

单片机直流电机控制实训报告

基于AT89C51单片机的直流电动机控制器设计 实训报告 专业:弹药工程与爆炸技术 班级:弹药二班 学生姓名:杨宁 指导教师:佟慧艳 能源与水利学院

1 实训目的 通过单片机实训使学生能够掌握利用Keil软件编写单片机程序,学会设计完整的单片机应用系统;依托Protues仿真平台进行单片机电子应用系统设计与仿真,使学生掌握单片机应用系统的设计技能;培养学生运用所学知识分析和解决实际问题的能力以及实际动手能力和查阅资料能力。

2 实训任务及要求 2.1 任务描述 一单片机为控制核心设计一款直流电机电机控制系统,可以实现直流电机的加速、正转、反转等控制方式。 2.2 任务要求 1)用AT89C51单片机实现上述任务要求; 2)在Keil IDE中完成应用程序设计与编译; 3)在Proteus环境中完成电路设计、调试与仿真。

3 系统硬件组成与工作原理 3.1单片机的控制器与最小系统 单片机的最小系统是指有单片机和一些基本的外围电路所组成的一个可以使单片机工作的系统,一般来说,它包括单片机、晶振电路和复位电路(如图一)。 图1 最小系统设计截图 (一)控制器部分分析 AT89C51(如图2)是一种带4K字节FLASH存 储器(FPEROM—Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS 8位微 处理器,俗称单片机。 AT89C51提供以下标准功能:4k 字节Flash 闪 速存储器,128字节内部RAM,32 个I/O 口线,两 个16位定时/计数器,一个5向量两级中断结构, 一个全双工串行通信口,片内振荡器及时钟电路。 同时,AT89C51可降至0Hz的静态逻辑操作,并支 持两种软件可选的节电工作模式。空闲方式停止CPU 的工作,但允许RAM,定时/计数器,串行通信口及 中断系统继续工作。掉电方式保存RAM中的内容,

(完整word版)51单片机流水灯

51单片机的流水灯控制 班级:100712 姓名:全建冲 学号:10071047

一、设计要求 用51单片机设计一个流水灯的控制方案,要求采用定时器定时,利用中断法控制流水灯的亮灭,画出电路图和程序流程图,写出程序代码以及代码注释。 二、电路原理图 原理图分析: 本原理图采用STC89S52单片机控制8个LED灯,其中8个LED灯的负极接单片机的P1端口,正极通过1KΩ排阻连接到电源上。原理图中还给出了晶振与复位端,以保证控制器的稳定工作。

三、程序流程图

四、程序代码及注解 1.非中断定时器控制 #include #include//包含了_crol_函数的头文件 #define uchar unsigned char #define uint unsigned int uint i=0; uchar a=0xfe; void main() { TMOD=0x01;//设置工作方式为定时器0,16位手动重装初值 TH0=(65536-46080)/256;//50毫秒定时赋初值 TL0=(65536-46080)%256; TR0=1;//启动定时器0 while(1) { If(TF==1)//读溢出标志位 { TH0=(65536-46080)/256;//重新赋初值 TL0=(65536-46080)%256;

i++; if(i==10)//500毫秒定时 { i=0; P1=a;//P1端口赋值 a=_crol_(a,1);//循环左移 } TF=0;//清除定时器溢出标志 } } } 程序分析:本程序采用非中断定时器法控制流水灯,核心语句在于读取标志位TF位,TF为定时器溢出标志位,溢出时硬件自动置一,所以循环读取标志位以判断定时器是否溢出,而每次溢出需要手动清零,否则定时器无法再次溢出,利用标志i读取10次即可达到500毫秒的定时。另外需要注意的是单片机晶振为11.0592MHz,所以计时一个数的时间为12/11.0592=1.085us,故定时50毫秒的计数为50000/1.085=46080。 2.中断定时器控制 #include

直流电机转速控制

. 直流电机转速控制 课程设计

姓名: 学号: 班级: 目录 1.直流电机转速控制方案设计 (2) 1.1设计要求 (2) 1.2设计框图 (2) 2.直流电机转速控制硬件设计 (3) 2.1主要器件功能 (3) 2.2硬件原理图 (6)

3.直流电机转速控制软件设计 (7) 4.调试 (8) 4.1硬件测试 (8) 4.2软件调试……………………………………………………………(11 1.直流电机转速控制方案设计 1.1设计要求 通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。

1、用按键1控制旋转方向,实现正转和反转。 2、电机的设定转速与电机的实际转速在数码管上显示。 3、旋转速度可实时改变。 1.2设计框图 本课题中测量控制电路组成框图如下所示: 图1

2.直流电机转速控制硬件设计 2.1主要器件功能 1、L298N 是专用驱动集成电路,属于H 桥集成电路,与L293D 的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。此外可能通过使能端的高低电平的变换,从而使电机通断,来控制电机的转速。 图2 板上的EN1 与EN2 为高电平时有效,这里的电平指的是TTL 电平。EN1 为IN1 和IN2 的使能端,EN2为IN3 和IN4 的使能端。POWER 接直流电源,注意正负,电

按键控制流水灯设计报告

按键控制流水灯设计报告 一、项目名称: 按键控制流水灯 二、目的: 通过对按键控制发光二极管项目的改变,设计出自己的方案,来加深对硬件技术的理解,同时锻炼关于硬件的编程技术,掌握keil等软件的使用。 三、硬件原理: 数码管与发光二极管硬件电路图: 芯片引脚电路图:

按键与导航按键:

四、软件原理: 变量Key1,Key2,Key3分别代表第一个、第二个、第三个按键,值为零时表示按下了该按键。那么可以写出一个判断条件,当这三个变量的值分别为1 时,就分别调用三个不同的函数,三个函数分别表示LED灯的三种不同的闪亮方式。 五、软件流程:

首先判断哪一个变量的值为1,即哪一个按键被按下,然后就调用相应的函数。 六、关键代码: void main() { Init(); P0=0x00; while(1){ //其他两个key通过中断实现 // if(Key3==0) // { // G_count=0; // while(G_count!=200);//延时10ms // while(!Key3)//等待直到释放按键 // { // P0=0x33; // } // } if(Key1==0)fun2(); if(Key2==0)fun3(); if(Key3==0)fun4();

} } 七、操作说明: 当把软件下载到电路板以后,给它插上电源,然后按下不同的按键,可以观察到LED灯亮。 八、存在的问题: 原先的main()函数中只有KEY3,并没有Key1和Key2,所以暂时不清楚如何感应到按键一和按键二什么时候按下。 九、后续设计计划: 可以设计更炫酷的亮灯方式。

基于单片机的直流电机控制设计性实验报告

设计题目:直流电机控制电路设计 一设计目得 1掌握单片机用PWM实现直流电机调整得基本方法,掌握直流电机得驱动原理。 2学习模拟控制直流电机正转、反转、加速、减速得实现方法. 二设计要求 用已学得知识配合51单片机设计一个可以正转、反转或变速运动得直流电机控制电路,并用示波器观察其模拟变化状况。 三设计思路及原理 利用单片机对PWM信号得软件实现方法.MCS一51系列典型产品8051具有两个定时计数器。因为PWM信号软件实现得核心就是单片机内部得定时器,所以通过控制定时计数器初值,从而可以实现从8051得任意输出口输出不同占空比得脉冲波形。从而实现对直流电动机得转速控制。 .AT89C51得P1、0—P1、2控制直流电机得快、慢、转向,低电平有效.P3、0为PWM波输出,P3、1为转向控制输出,P3、2为蜂鸣器。PWM控制DC电机转速,晶振为12M,利用定时器控制产生占空比可变得PWM波,按K1键,PWM值增加,则占空比增加,电机转快,按K2键,PWM值减少,则占空比减小,电机转慢,当PWM值增加到最大值255或者最小值1时,蜂鸣器将报警 四实验器材 DVCC试验箱导线若电源等器件

PROTUES仿真软件KRIL软件 五实验流程与程序 #include 〈 reg51、h > sbitK1 =P1^0;增加键 sbit K2 =P1^1 ; 减少键 sbit K3 =P1^2;转向选择键 sbit PWMUOT =P3^0; PWM波输出?? sbitturn_around =P3^1 ;?转向控制输出 sbit BEEP =P3^2 ;蜂鸣器 unsigned int PWM; void Beep(void); void delay(unsigned int n); void main(void) { TMOD=0x11;//设置T0、T1为方式1,(16位定时器) TH0=0 ; 65536us延时常数{t=(65536—TH)/fose/12} ?TL0=0; TH1=PWM; //脉宽调节,高8位 ? TL1=0; EA=1;? //开总中断 ET0=1; //开T0中断? ET1=1;??//开T1中断

单片机c语言编程控制流水灯

说了这么多了,相信你也看了很多资料了,手头应该也有必备的工具了吧!(不要忘了上面讲过几个条件的哦)。那个单片机究竟有什么 功能和作用呢?先不要着急!接下来让我们点亮一个LED(搞电子的应该知道LED是什么吧^_^) 我们在单片机最小系统上接个LED,看我们能否点亮它!对了,上面也有好几次提到过单片机最小系统了,所谓单片机最小系统就是在单片机 上接上最少的外围电路元件让单片机工作。一般只须连接晶体、VCC、GND、RST即可,一般情况下,AT89C51的31脚须接高电平。 #include //头文件定义。或用#include其具体的区别在于:后者定义了更多的地址空间。 //在Keil安装文件夹中,找到相应的文件,比较一下便知! sbit P1_0 = P1 ^ 0; //定义管脚 void main (void) { while(1) { P1_0 = 0;//低电平有效,如果把LED反过来接那么就是高电平有效 } } 就那么简单,我们就把接在单片机P1_0上的LED点亮了,当然LED是低电平,才能点亮。因为我们把LED的正通过电阻接至VCC。 P1_0 = 0; 类似与C语言中的赋值语句,即把0 赋给单片机的P1_0引脚,让它输出相应的电平。那么这样就能达到了我们预先的要求了。 while(1)语句只是让单片机工作在死循环状态,即一直输出低电平。如果我们要试着点亮其他的LED,也类似上述语句。这里就不再讲了。 点亮了几个LED后,是不是让我们联想到了繁华的街区上流动的彩灯。我们是不是也可以让几个LED依次按顺序亮呢?答案是肯定的!其 实显示的原理很简单,就是让一个LED灭后,另一个立即亮,依次轮流下去。假设我们有8个LED分别接在P1口的8个引脚上。硬件连接,在 P1_1--P1_7上再接7个LED即可。例程如下: #include sbit P1_0 = P1 ^ 0; sbit P1_1 = P1 ^ 1; sbit P1_2 = P1 ^ 2; sbit P1_3 = P1 ^ 3; sbit P1_4 = P1 ^ 4; sbit P1_5 = P1 ^ 5; sbit P1_6 = P1 ^ 6; sbit P1_7 = P1 ^ 7; void Delay(unsigned char a) { unsigned char i; while( --a != 0) {

直流无刷电机转速控制

一、 直流无刷电机转速控制 1. 模拟PID 控制 1.1 模拟PID 控制原理 在模拟控制系统中,最常用的控制器就是模拟PID 控制器。以下图所示直流电机 控制系统为例,说明PID 控制器控制电机转速的原理。图中)(0t n 为转速设定值,)(t n 为转速反馈值,)()()(0t n t n t e -=为偏差信号,偏差信号通过PID 控制器后产生控制作用作用于直流电机从而控制电机转速到设定值。 常见的模拟PID 控制系统如下图所示。PID 控制器由比例、积分、微分的线性组合构成。控制规律如下: ]) ()(1)([)(0?++=t d i p dt t de T d e T t e K t u ττ * 其中: p K ——控制器的比例系数 i T ——控制器的积分系数 d T ——控制器的微分系数 1) 比例部分 比例部分的数学表达式:)(t e K p 。 比例部分的作用是对偏差信号做出快速反应,一旦控制器检测到偏差,比例部分就 能迅速产生控制作用,且偏差越大,控制作用越强。但仅存在比例控制的系统存在稳态偏差。比例系数越大,响应越快,过渡越快,稳态偏差也越小,但系统也越不稳定,因此比例系数必须选择恰当。 2) 积分部分 积分部分的数学表达式: ?t i p d e T K 0 )(ττ。

从积分部分表达式可以看出,只要系统输出与设定值存在偏差,积分作用就会不断增加,知道偏差为零,因此积分部分可以消除稳态偏差。但积分作用会降低系统的响应速度,增加系统的超调量。积分常数越小,积分作用越强,过渡过程容易产生震荡,但回复时间减小;积分常数越大,积分作用越弱,过渡过程不产生震荡,但回复时间增长。因此应根据具体情况选取积分常数。 3) 微分部分 微分部分的数学表达式: dt t de T K d p ) (。 微分作用能阻值偏差的变化。它根据偏差的变化趋势进行控制。偏差变化越快,微分作用越强,能在偏差变化之前就行控制。微分作用的引入有助于减小超调量,克服振荡;但微分作用对噪声很敏感,导致系统的错误响应,使系统不稳定。 为实现PID 控制器的软件实现,将式*进行适当离散化,即离散PID 。 2. 数字PID 控制 2.1 位置式PID 算法 离散化处理的方法是,以T 为采样周期,对模拟信号进行采样,以k 为采样序列号,进行以下近似: T e e dt t de e T d e kT t k k k j j t 1 )()(-=-≈≈≈∑?ττ 将上式带入式*,得到如下式所示的位置式离散PID 控制规律。 ][1 T e e T e T T e K u k k d k j j i k p k -=-++ =∑ ** 由于位置式PID 要对t 时刻之前的所有输出进行记录,工作量大,对计算机硬件要求高。增量式PID 可避免这些。 2.2 增量式PID 算法 由式**得到 ][2 11 11T e e T e T T e K u k k d k j j i k p k ---=---++ =∑ 将式**与上式相减,得到增量式PID 控制规律如下 211)21()1(---++-++ =-=?k d p k d p k d i p k k k e T T K e T T K e T T T T K u u u *** 一旦得出控制作用的增量,就可递推得出当前控制作用的输出。 2.3 控制器参数整定 1) 离线整定法 步骤 1:将控制器从“自动”模式切换至“手动”模式(此时控制器输出完全由人工控制),人为以阶跃方式增大或减少控制器输出,并记录控制器相关的输入输出动态响应数据。 步骤 2:由阶跃响应数据估计特性参数 K , T ,τ。

花样流水灯设计

单片机课程设计 2014年 6月 15日 课 程 单片机课程设计 题 目 花样流水灯 院 系 电气工程及其自动化系 专业班级 1112班 学生姓名 温亿锋 学生学号 201111631227 指导教师 张瑛

一丶任务 设计一款以AT89C51单片机作为主控核心,按键控制电路、流水灯显示电路以及单片机最小系统等模块组成的核心主控制电路。 二丶设计要求 通过发光二极管显示不同的花样(至少有六种花样),并且可以通过按键来控制流水灯的速度。 三丶设计方案 本方案主要是通过对基于单片机的多控制、多闪烁方式的LED流水灯循环系统的设计,来达到本设计的要求。其硬件构成框图如下图所示,以单片机为核心控制,由单片机最小系统(时钟电路、复位电路、电源)、按键控制电路、LED 发光二极管和5V直流电源组成。 单片机流水灯循环控制系统硬件框图 此设计方案中单片机的P1口接5路按键控制电路,实现流水灯花型的切换功能;单片机的P3.7引脚接上一个按钮开关以实现对流水灯闪烁频率的控制,即实现了快慢两种节拍实现花型的变换;单片机上的P2口接八路LED发光二极管组成流水灯电路,显示流水灯循环情况。 四丶系统硬件设计 4.1 直流稳压电源电路

对于一个完整的电子设计来讲,首要问题就是为整个系统提供电源供电模块,电源电路的稳定可靠是系统平稳运行的前提和基础。电子设备除用电池供电外,还采用市电(交流电网)供电。通过变压、整流、滤波和稳压后,得到稳定的直流电。直流稳压电源是电子设备的重要组成部分。本项目直流稳压电源为+5V。 直流稳压电源的制作一般有3种制作形式,分别是分立元件构成的稳压电源、线性集成稳压电源和开关稳压电源。下图为稳压电源采用的是三端集成稳压器7805构成的正5V直流电源。 三端固定式集成稳压电源电路图 AT89C51单片机的工作电压范围:4.0V---5.5V,所以通常给单片机外接5V 直流电源。此处用3节1.5V的干电池供电。 4.2 单片机最小系统 要使单片机工作起来,最基本的电路的构成由单片机、时钟电路、复位电路等组成,单片机最小系统如图所示。 时钟电路:本系统采用单片机内部方式产生时钟信号,用于外接一个12MHz 石英晶体振荡器和2个30pF微调电容,构成稳定的的自激振荡器,其发出的脉冲直接送入内部的时钟电路。 复位电路:确定单片机工作的起始状态,完成单片机的启动过程。单片机系统的复位方式有上电自动复位和手动按键复位。本设计采用手动按键复位,该复位方式同样具有上电自动复位功能。

直流电机PLC控制实验

实验四直流电机PLC控制实验一、实验目的 1.掌握PLC的基本工作原理 2.掌握PID控制原理 3.掌握PLC控制直流电机方法 4.掌握直流电机的调速方法 二、实验器材 1.计算机控制技术实验装置一台 2.CP1H编程电缆一条 3.PC机一台 三、实验内容 根据输入,实现PLC对直流电机的调速PID控制。1、输入功能 (1)功能操作,按钮1 1.1、按钮1按下一次,显示SV(设定点值)。 1.2、按钮1按下两次,显示速度设定值。 1.3、按钮1按下三次,设定P值,显示。 1.4、按钮1按下四次,显示P值。 1.5、按钮1按下五次,设定I值,显示。 1.6、按钮1按下六次,显示I值。 1.7、按钮1按下七次,设定D值,显示。 1.8、按钮1按下八次,显示D值。

1.9、按钮1按下九次,显示At(PID 自调整增益) 1.10、按钮1按下十次,自整定显示 1.11、按钮1按下十一次,复位 (2)增加按钮2,数值增加 (3)减小按钮3,数值减小 (4)确定按钮4,操作确定 2、PWM脉冲输出,接输出101.00。 3、直流电机测速,光耦,接高速脉冲输入。 4、LED显示,根据按钮输入,显示设定值/测量值/加减量。 四、实验原理 1.直流无刷电机PWM调速原理 PWM的意思是脉宽调节,也就是调节方波高电平和低电平的时间比,一个20%占空比波形,会有20%的高电平时间和80%的低电平时间,而一个60%占空比的波形则具有60%的高电平时间和40%的低电平时间,占空比越大,高电平时间越长,则输出的脉冲幅度越高,即电压越高.如果占空比为0%,那么高电平时间为0,则没有电压输出.如果占空比为100%,那么输出全部电压。 PWM的占空比决定输出到直流电机的平均电压,所以通过调节占空比,可以实现调节输出电压的目的,而且输出电压可以无级连续调节。在使用PWM控制的直流无刷电动机中,PWM控制有两种方式:(1)使用PWM信号,控制三极管的导通时间,导通的时间越长,那么

基于51单片机的流水灯

基于51单片机的流水灯 利用51单片机P0口实现8个LED(发光二极管)的流水灯控制。可以使用Proteus软件进行仿真调试。 1 硬件设计 利用单片机的PO口控制8个LED,其电路如下图所示。 在桌面上双击图标,打开ISIS 7 Professional窗口(本人使用的是v7.4 SP3中文版)。单击菜单命令“文件”→“新建设计”,选择DEFAULT模板,保存文件名为“LSD.DSN”。在器件选择按钮中单击“P”按钮,或执行菜单命令“库”→“拾取元件/符号”,添加如下表所示 都可以不画,它们都是默认的。 在ISIS原理图编辑窗口中放置元件,再单击工具箱中元件终端图标,在对象选择器中单击POWER和GROUND放置电源和地。放置好元件后,布好线。左键双击各元件,设置相应元件参数,完成电路图的设计。 2 软件设计 流水灯又称为跑马灯,在函数中可以将P0口的八种不同状态做成一维数组,循环执行即可,如下所示。当然也可以采用其它函授来实现,如左移一位<<1(或右移一位>>1),循环左移函授_crol_(或循环右移函授_cror_)等。 /****************************************************************** 流水灯

*******************************************************************/ #include "reg51.h" const tab[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; void delayms(unsigned int x) //延时 { unsigned int j; unsigned char k; for(j=0;j

直流电机转速控制(DOC)

直流电机转速控制 课程设计 姓名: 学号: 班级:

目录 1.直流电机转速控制方案设计 (2) 1.1设计要求 (2) 1.2设计框图 (2) 2.直流电机转速控制硬件设计 (3) 2.1主要器件功能 (3) 2.2硬件原理图 (6) 3.直流电机转速控制软件设计 (7) 4.调试 (8) 4.1硬件测试 (8) 4.2软件调试……………………………………………………………(11

1.直流电机转速控制方案设计 1.1设计要求 通过设计了解如何运用电子技术来实现直流电机转速控制,完成直流电机转向和转速的控制,提高分析电路设计、调试方面问题和解决问题的能力。 1、用按键1控制旋转方向,实现正转和反转。 2、电机的设定转速与电机的实际转速在数码管上显示。 3、旋转速度可实时改变。 1.2设计框图 本课题中测量控制电路组成框图如下所示: 图1

2.直流电机转速控制硬件设计 2.1主要器件功能 1、L298N 是专用驱动集成电路,属于H 桥集成电路,与L293D 的差别是其输出电流增大,功率增强。其输出电流为2A,最高电流4A,最高工作电压50V,可以驱动感性负载,如大功率直流电机,步进电机,电磁阀等,特别是其输入端可以与单片机直接相联,从而很方便地受单片机控制。当驱动直流电机时,可以直接控制步进电机,并可以实现电机正转与反转,实现此功能只需改变输入端的逻辑电平。此外可能通过使能端的高低电平的变换,从而使电机通断,来控制电机的转速。 图2 板上的EN1 与EN2 为高电平时有效,这里的电平指的是TTL 电平。EN1 为IN1 和IN2 的使能端,EN2为IN3 和IN4 的使能端。POWER 接直流电源,注意正负,电源正端为VCC,电源地为GND。 2、ZLG7290的核心是一块ZLG7290B芯片,它采用I2C接口,能直接驱动8位共阴式数码管,同时可扫描管理多达64只按键,实现人机对话的功能资源十分丰富。除具有自动消除抖动功能外,它还具有段闪烁、段点亮、段熄灭、

流水灯控制实验报告及程序

实验三流水灯控制实验 姓名专业通信工程学号成绩 一、实验目的 1.掌握Keil C51 软件与protues软件联合仿真调试的方法; 2.掌握如何使用程序与查表等方法实现流水效果; 3.掌握按键去抖原理及处理方法。 二、实验仪器与设备 1. 微机1台 2. Keil C51集成开发环境 3. Proteus仿真软件 三、实验内容 1.用Proteus设计一流水灯控制电路。利用P1口控制8个发光二级管L1—L8。P3.3口接一按 键K1。参考电路如下图所示。其中74LS240为八反响三态缓冲器/线驱动器。 2.用中断或查询方式编写程序,每按动一次K1键,演示不同的流水效果。若用KEY表示按键的 次数,则其对应的流水效果如下: ① KEY=0: L1-L8全亮; ② KEY=1: L1-L8先全灭,然后自右向左单管点亮,如此循环; ③ KEY=2: L1-L8先全灭,然后自右向左依次点亮,如此循环; ④ KEY=3: L1-L8先全亮,然后自左向右依次熄灭,如此循环; ⑤ KEY=4: L1-L8先全灭,然后整体闪烁,如此循环; ⑥ KEY=5:自行设计效果。 以上移位及闪烁时间间隔均设置为0.3秒,按动5次按键后,再按键时,流水效果从头开始循环。 四、实验原理 1.按键去抖原理:通常按键所用的开关为机械弹性开关,当机械触点断开、闭合时,电压信号 波形如下图所示。由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动。抖动时间的长短由按键的机械特性决定,一般为5~10ms。按键抖动会引起一次按键被误读多次。为了确保CPU对键的一次闭合仅做一次处理,必须去除按键抖动。在键闭合稳定时,读取键的状态,并且必须判别;在键释放稳定后,再作处理。按键的抖动,可用硬件或软件两种方法消除。常用软件方法去抖动,即检测到按键闭合后执行一个5~10ms延时程序;让前沿抖动消失后,再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有按键按下。当检测到按键释放后,也要给5~10ms的延时,待后延抖动消失后,才能转入该键的处理程序。 2.74LS240:八反相三态缓冲器/线驱动器 引脚排列图:

最新五种编程方式实现流水灯的单片机c程序讲课教案

五种编程方式实现流水灯的单片机C程序 //功能:采用顺序结构实现的流水灯控制程序 /*此方式中采用的是字操作(也称为总线操作)*/ #include void delay(unsigned char i); //延时函数声明 void main() //主函数 { while(1) { P1 = 0xfe; //点亮第1个发光二极管,0.000389s delay(200); //延时 P1 = 0xfd; //点亮第2个发光二极管,0.155403s,0.1558 delay(200); //延时 P1 = 0xfb; //点亮第3个发光二极管 delay(200); //延时 P1 = 0xf7; //点亮第4个发光二极管 delay(200); //延时 P1 = 0xef; //点亮第5个发光二极管 delay(200); //延时 P1 = 0xdf; //点亮第6个发光二极管 delay(200); //延时 P1 = 0xbf; //点亮第7个发光二极管 delay(200); //延时 P1 = 0x7f; //点亮第8个发光二极管 delay(200); //延时 } } //函数名:delay //函数功能:实现软件延时 //形式参数:unsigned char i; // i控制空循环的外循环次数,共循环i*255次 //返回值:无 void delay(unsigned char i) //延时函数,无符号字符型变量i为形式参数{ unsigned char j, k; //定义无符号字符型变量j和k for(k = 0; k < i; k++) //双重for循环语句实现软件延时 for(j = 0; j < 255; j++); } //功能:采用循环结构实现的流水灯控制程序 //此方式中采用的移位,按位取反等操作是位操作 #include //包含头文件REG51.H void delay(unsigned char i); //延时函数声明 void main() //主函数

微机原理课程设计—直流电机闭环调速控制系统

实验课题:直流电机调速控制 实验内容: 本实验完成的是一个实现对直流电机转速调节的应用。 编写实验程序,用ADC0809完成模拟信号到数字信号的转换。输入模拟信号有A/D转换单元可调电位器提供的0~5V,将其转换后的数字信号读入累加器,做为控制电机的给定转速。用8255的B口作为直流电机的控制信号输出口,通过对电机转速反馈量的运算,调节控制信号,达到控制电机匀速转动的的作用。并将累加器中给定的转速和当前测量转速显示在屏幕上。再通过LED灯显示出转速的大小变化。 实验目的: (1)学习掌握模/数信号转换的基本原理。 (2)掌握的ADC0809、8255芯片的使用方法。 (3)学习PC系统中扩展简单I/O接口的方法。 (4)了解实现直流电机转速调节的基本方法。 实验要求: 利用微机接口实验系统的硬件资源,运用汇编语言设计实现直流电机的调速控制功能。 基本功能要求:1、利用A/D转换方式实现模拟量给定信号的采样;2、实现PWM方式直流电机速度调节;3、LED灯显示当前直流电机速度状态。 实验设备: (1)硬件要求: PC微机一台、TD-PIT实验系统一套 (2)软件要求:唐都编程软件,tdpit编程软件,“轻松编程”软件 实验原理: 各芯片的功能简介: (1)8255的基本输出接口电路: 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息,CPU 和接口之间的数据传递总是并行的,即可以同时进行传递8位,16位,32位等。8255可编程外围接口芯片是具有A、B、C三个并行接口,+5V单电源供电,能在以下三种方式下工作:方式0—基本输入/出方式、方式1—选通输入/出方式、方式2—双向选通工作方式。

直流电机转速控制的matlab实验

2012/2013学年第一学期《精密测控与系统》期末大型作业 日期:2012 年11 月 题目与要求: 直流电机转速控制问题,直流电动机物理模型如下图所示。

电动机产生的转矩与电枢电流成正比,即:t t T K i =,电枢绕组的反电动势与转速成正比,即:e d e K dt θ=,牛顿第二定律:2 2d T J dt θ=,其中J 为电机轴上的转动惯 量。 已知:转动惯量:2 2 0.01kg.m /s J =,机械系统摩擦系数:0.1N.m.s b =,电动机力矩 系数:0.01N.m/A e t K K ==,电阻:1R =Ω ,电感:0.5H L =。假设电机转动系统刚 性,输入量为直流电压V ,输出量为电机转速θ 。 问题1:建立该系统的时域数学模型。 问题2:给出该系统的传递函数,用Matlab 计算该系统的阶跃响应曲线,给出阶 跃响应的特征参数。 问题3:建立该系统的状态空间表达式,用Matlab 计算该系统的阶跃响应曲线。 问题4:加入速度反馈及PID 控制器环节,使系统性能达到: (a ) 建立时间<2s; (b ) 超调量<5%; (c ) 稳态误差<1%. 问题5:采用下图所示的模糊控制系统 系统中的模糊控制器是一个双输入单输出型的控制器,输入变量为转速的误差e 和转速误差的变化率Δe ,输出为直流电压的增量ΔV 。请选用合适的隶属度函数,建立该系统的模糊控制规则库,对电机的转速进行控制使期望转速为1000r/min ,建立时间<2s;超调量<5%;稳态误差e<±1.0%。 问题6:通过这个大型作业,谈谈你对本课程的学习心得和体会,以及对本课程授课方式的建议和改进。 一、建立该系统的时域数学模型

直流电动机转速控制

直流电动机转速控制 王文玺 (北京交通大学机械与电子控制工程学院,北京) 摘要:通过对直流电动机控制系统的建模,再利用Matlab对建模后的系统进行分析,来加深对自动控制系统的理解。找到系统的输入、输出,理清经历各环节前后的信号变化,找出系统传递函数。 关键词:直流电动机、Matlab、建模、传递函数 1、直流电动机动态数学模型建立 1.1直流电机数字PID闭环速度控制,系统实现无静差控制。 这是一个完整的带PID算法的直流电动机控制系统。目标值为给定的期望值,期望值与被测输出结果形成的反馈做比较,得到误差信号。误差信号经过PID控制环节得到控制信号。继而经历驱动环节得到操作量,驱动量作用与对象即电动机然后得到输出信号即转速。转速通过传感器得到反馈信号。 1.2PID控制环节 1.3被控对象(直流电动机)的统一数学模型 信号类型一次为,输入信号为电压,然后电流、电流、转矩、转速,反馈信号为电压。

各环节的比例函数为: 1.3.1额定励磁条件下,直流电机的电压平衡关系: (Ud为外加电压,E 为感应电势,R a为电枢电阻 ,La为电枢电感,i a为电枢电流。) 拉氏变换后: (ra—L /R ,为电枢时间常数) 1.3.2直流电机的转矩平衡关系及拉氏变换: (Te 为电磁转矩,Tl 为负载转矩,B为 阻尼系数,J 为转动惯量,w为电机机 械转速,rm=J/B,为机械时间常数) 1.3.3电动机传递函数 可见直流电动机本身就是一个闭环系统,假设电机工作在空载状态,且机械时间常数远大于电枢时间常数,则电机传递函数可近似为: 1.4具体实例 电枢控制直流电动机拖动惯性负载的原理图,涉及的参数有:电压U为输入,转速为输出,R、L为电枢回路电阻、电感,K 是电动机转矩系数,K 是反电动势系数,K 是电动机和负载折合到电动机轴上的黏性摩擦系数,.厂是电动机和负载折合到电动机轴上的转动惯量。已知:R一2.0 Q,L:==0.5 H ,K = Kb一0.015,Kf一0.2 Nms,J— o.02kg.m 。 ( 取电压U为输入,转速叫为输出,由已知条件和原理图,根据直流电机的运动方程可以求出电动机系统的数学模型为:

cc2530按键控制流水灯

cc2530按键控制流水灯 本次设计用LED1,LED2,LED3 灯及按键S1 为外设。采用P10、P11、P14 口为输出口,驱动LED1/LED2/LED3,P01 口为输入口,接受按键信号输入(高电平为按键信号)。 1.高性能 2.4G 射频模块Q2530RF Q2530RF是丘捷技基于TI公司第二代2.4GHz IEEE 802.15.4 / RF4CE/ZigBee的第二代片上系统解决方案CC2530 F256的全功能模块,集射频收发及MCU控制功能于一体。外围原件包含一颗32MHz晶振和一颗32.768KHz晶振及其他一些阻容器件。射频部分采用巴伦匹配和外置高增益SMA天线,接收灵敏度高,发送距离远,空旷环境最大传输距离可达400米。模块引出CC2530所有IO口,便于功能评估与二次开发。 2.多功能开发板Q2530EB 多功能扩展板Q2530EB 可支持多种射频主控模块(例如Q2530RF等),配置有串口液晶显示接口,USB供电接口,DC 5V电源接口,电池接口,RS232接口,DEBUG接口,五向按键及指示灯,红外遥控信号接收/发射等模块。 所有的外设均通过SPI总线/UART /DEBUG等接口与射频模块Q2530RF 相连,并完全受Q2530RF 控制和访问。 多功能仿真扩展板Q2530EB 采用三种电源供电方式:DC 5V供电、USB接口供电、电池供电,可在插座P5设置跳线选择,PIN1-PIN2 为电池供电,PIN2-PIN3 为外接直流电源或者USB接口供电。电源开关为P4。 Q2530EB 板卡背面的电池盒可放置3节5号干电池,输出电压3.4~4.5V,板载电源电路将其调整到+3.3V 稳定的直流电压输出供后级使用。当电池电压低于3.4V 时,应更换电池以保持模块正常工作。 Q2530EB 带有1个DC 5V的电源适配器接口P2和一个USB接口P1,输入电压经过稳压器降压为+3.3V输出供后极使用。

相关文档
最新文档