这是一个用51stc单片机pwm控制舵机电机的定时器函数,不懂TH1和TL1有什么用?

&&|&& &&|&& &&|&&
用51单片机实现输出pwm的两种方法
17:08:18 && 阅读:8233&&
51系列单片机无PWM输出功能,可以采用定时器配合软件的方法输出。对精度要求不高的场合,非常实用。电路图见图一,采用了高速光隔(6N137)输出,并将PWM的信号倒相。
一、原理图
二、固定脉宽PWM输出
用T0定时器完成PWM输出,脉宽固定:65536微妙。T0定时器设置成:16位定时器
程序清单:(12MHz)
PwmData0 ;T0定时t1所需的定时初值(字)
PwmData1 ;T0定时t2所需的定时初值(字)
PwmF ;PWM输出标志
;*********************************************************
。。。。。。
T0Int:;T0中断服务程序
JB PwmF ,PwmOutH ;PWM输出未完成返回
Mov TH0,High(PwmData0)
Mov TL0,Low(PwmData0)
Clr p1.0 WM输出脚
Mov TH0,High(PwmData1)
Mov TL0,Low(PwmData1)
说明:在主程序中计算PwmData0、PwmData1的值。
三、可变脉宽PWM输出
用T0定时器控制PWM的占空比,T1定时器控制脉宽(最大:65536微妙)。
T0、T1定时器设置成:16位定时器。
程序清单:(12MHz)
PwmData0 ;T0定时t1所需的定时初值(字)
PwmData1 ;T1定时T所需的定时初值(字)
;*********************************************************
。。。。。。
T0Int:;T0中断服务程序
setb p1.0 WM输出脚
T1Int:;T1中断服务程序
Mov TH0,High(PwmData0)
Mov TL0,Low(PwmData0)
Mov TH1,High(PwmData1)
Mov TL1,Low(PwmData1)
说明:在主程序中计算PwmData0、PwmData1的值。
后参与讨论
关注实用电子技术,做合格的电子工程师!
阅读:1420
阅读:1925
阅读:3055
阅读:4239基于51单片机的直流电机PID闭环调速系统原理详解与程序
基于51单片机的直流电机PID闭环调速系统
1.电机转速反馈:
原理:利用光电编码器作为转速的反馈元件,设电机转一周光电编码器发送N个PWM波形,利用测周法测量电机转速。
具体实现:将定时器0设置在计数模式,用来统计一定的时间T内接受到的脉冲个数M个,而定时器0置在计时模式,用来计时T时间。则如果T时间接受到M个PWM波形,而电机转一圈发出N个PWM波形,则根据测周法原理,电机的实际的转速为:real_speed=M/(N*T),单位转/秒。若将定时器1置在计数模式,则PWM波形应该由P3^3脚输入。
代码实现:
//定时器0初始化,用来定时10ms
void Init_Timer0(void)
&TMOD |= 0x01;&&
//使用模式1,16位定时器&,且工作在计时模式&
&TH0=()/256;&&&
//定时10ms
&TL0=()%6;&&&&
&&EA=1;&&&&&&&&&&&
//总中断打开
&ET0=1;&&&&&&&&&&
//定时器中断打开
&TR0=1;&&&&&&&&&&
//定时器开关打开
//&计数器1初始化,用来统计定时器1计时250ms内PWM波形个数
void Init_Timer1(void)
&TMOD |= 0x50;&&
//使用计数模式1,16位计数器模式&&&&&&
&TH1=0x00;&&&&&&
//给定初值,由0往上计数
&TL1=0x00;
&EA=1;&&&&&&&&&&&
//总中断打开
&ET1=1;&&&&&&&&&&
//定时器中断打开
&TR1=1;&&&&&&&&&&
//定时器开关打开
//定时器0的中断服务子函数,主要完成脉冲个数的读取,实际转速的计算和PID控制以及控制结
//果输出等工作
void Timer0_isr(void) interrupt 1
&TH0=()/256;&&&
//重新赋值 10ms
&TL0=()%6;&
&&&&&&&&&&&&&
&&if (count==25)
//如果达到250ms,则计算一次转速并进行一次控制运算
& count=0;//清零以便于定时下一个250ms
& TR1=0;//关闭定时器1,统计脉冲个数
&&real_speed=(256*TH1+TL1)*4/N;//250ms内脉冲个数并由此计算转速
&&TH1=0x00;&&&&&&&&&&&&&&&
//计数器1清零,重新开始计数
&&TL1=0x00;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&OUT=contr_PID();//进入PID控制&,PID控制子函数代码在后面给出&&&
& write_add(0x40,OUT);//进行DA转换,将数字量转换为模拟量,后面会介绍到
2.PID控制:
&PID的基本原理在这里不作具体讲解,这里主要给出PID算法的实现,通过调节结构体中比例常数(Proportion)、积分常数(Integral)、微分常数(
Derivative)使得转速控制达到想要的精度。
试凑法:注意这里参数调节采用实验凑试法,试凑法也有其规律,下面做出讲解:&
实验凑试法是通过闭环运行或模拟,观察系统的输出结果,然后根据各参数对系统的影响,反复凑试参数,直至出现满意的响应,从而确定PID控制参数。
&&&实验凑试法的整定步骤为"先比例,再积分,最后微分"。
(1)整定比例控制
将比例控制作用由小变到大,观察各次响应,直至得到反应快、超调小的响应曲线。
(2)整定积分环节
若在比例控制下稳态误差不能满足要求,需加入积分控制。
先将步骤(1)中选择的比例系数减小为原来的50~80%,再将积分时间置一个较大值,观测响应曲线。然后减小积分时间,加大积分作用,并相应调整比例系数,反复试凑至得到较满意的响应,确定比例和积分的参数。
(3)整定微分环节
若经过步骤(2),PI控制只能消除稳态误差,而动态过程不能令人满意,则应加入微分控制,构成PID控制。
先置微分时间TD=0,逐渐加大TD,同时相应地改变比例系数和积分时间,反复试凑至获得满意的控制效果和PID控制参数。
unsigned int Proportion=8;//比例常数 Proportional
unsigned int Integral=3;//积分常数 Integral Const
unsigned int Derivative=1;//微分常数 Derivative Const
unsigned int LastError=0;//Error[-1]
unsigned int PrevError=0;//Error[-2]&
unsigned int Error=0;//Error[0]
int&&&&&&&&&
Out=0;//outcome
& int contr_PID()
Error=expc_speed-real_//计算偏差
//进行增量式PID计算
Proportion*(Error-LastError)+
Integral*Error+
Derivative*(Error+PrevError-2*LastError);
//进行误差更新
PrevError=LastE
LastError=E
//上下限幅处理
Out=0;//驱动电机的电压不可能小于零,故当输出小于零时,输出应该值为零
if(Out&255)
Out=255;//DA转换为8位,最大数值为255,故当大于255时,限制为255
3.电机驱动:
原理:直流有刷电机既可以用模拟电压驱动,又可以用PWM驱动.如果用PWM驱动时,刚刚PID后的输出可以直接对应到PWM高电平持续的时间,PWM周期为T,则低电平对应为T-Out即可,这个实现比较简单。这里介绍利用DA将数字量Out转化为模拟电压驱动电机的方法。
模拟电压驱动实现:将数字量转化为模拟量的最常用方法就是使用DA转换。在一般的使用中我比较喜欢的一款芯片是PCF8591。它内部集成了4路8位AD转换和1路8位DA转换,与单片机之间使用IIC通信方式。由于IIC通信只需要SDA和SCL两根信号线,因此很省IO口,并且一个芯片AD,DA都有了,很方便。具体的PCF8591资料请参考其datasheet,这里直接给出其封装好的IIC通信代码,使用直接就可以了。这里面其他的函数不用管,因为它们最终在两个函数中被调用,即write_add()和read_add()中。前者实现DA转换,有两个参数,第一个参数是控制DA转换对应寄存器地址,取0x40,第二个是要转换的数据,即返回的OUT,使用时直接一句代码:write_add(0x40,OUT)就能将数字信号转换为模拟电压信号。后者实现AD转换,只有一个参数,就是选择AD转换的4个通道,通过宏定义可以定义出其四个通道:
#define&AD_IN0&&0x40
#define&AD_IN1&&0x41
#define&AD_IN2&&0x42
#define&AD_IN3&&0x43
使用时只需要一句代码:dat=read_add(AD_IN2)就能实现将第二个通道的模拟信号转换为数字信号。&&
代码实现:
//PCF8591.h&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&#define&uchar&&
unsigned char
void delay(void);&
&//iic初始化
init(void);&&&&&&&
//&iic开始信号
void start(void) ;
//&iic停止信号
void stop(void)& ;
//&iic应答& 相当于一个智能的延时函数
void respons(void) ;
//&iic读一个字节数据
uchar read_byte(void) ;
//iic写一字节数据
void write_byte(uchar date) ;
控制DA转换&&&&&&&&&&&&&
void write_add(uchar control,uchar date);
//&控制AD转换&&&&&&&&&&
uchar read_add(uchar control)
;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//PCF8591.c&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#include&AD.h&
#include&reg52.h&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//默认为写,如果为读,则为0x91&&&&&&&&&&&&&&&&&&&&&&&&
sbit SCL=P2^1;
void delay(void)&&
&&& unsigned
for(i=1;i&0;i--);
}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&//&iic初始化&
init()&&&&&&
delay();&&&&
&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//&iic开始信号
void start()
//&iic停止信号
stop()&&&&
&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//&iic应答&
相当于一个智能的延时函数&
&void respons()
while((SDA==1)&&(i&250))
&&&&&&&&&&&
//&iic读一个字节数据
&uchar read_byte()
for(i=0;i&8;i++)
&&&&&&&&&&&&
&&&&&&&&&&
k=(k&&1)|SDA;//先左移一位,再在最低位接受当前位
&&&&&&&&&&&&&
&&&&&&&&&&&&
&}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//iic写一字节数据
&void write_byte(uchar
date)&&&&&&
for(i=0;i&8;i++)
temp=temp&&1; //左移一位 移出的一位在CY中
&&&&&&&&&&
SCL=0;&&&&&&&&&&&&&&&&&&&&&
//只有在scl=0时sda能变化值&
&&&&&&&&&&&delay();
&&&&&&&&&&
&&&&&&&&&&&delay();
&&&&&&&&&&
&&&&&&&&&&&delay();&&&&&&&&&&&&
//&控制DA转换&&&&&&&&&&&&
&void write_add(uchar control,uchar date)
&&start();&
&&write_byte(PCF8591);
&&respons();&
&&write_byte(control);&
&&respons();&
&&write_byte(date);
& respons();&
&&stop();&&
//&控制AD转换&&&&&&&&&&&&
&uchar read_add(uchar control)
&& start();
write_byte(PCF8591);&
&&&respons();&
&&&write_byte(control);&
&&&respons();&
&&&start();
write_byte(PCF8591+1);//把最后一位变成1,读数据&
&&&respons();&
&& date=read_byte();
主函数:主函数中主要是一些初始化工作,还有按键检测和实际转速和期望转速显示。关于显示部分可以用液晶或者数码管,这里不再具体讲解。&&&&&&&&&&&&&
#include&display.h&
#include&reg52.h&
#include&AD.h&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
uint&&& unsigned
#define&uchar&&
char&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//默认为写,如果为读,则为0x91
#define AD_IN0& 0x40
#define AD_IN1& 0x41
#define AD_IN2& 0x42
#define AD_IN3&
0x43&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#define KeyPort
P1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
#define& CYCLE
100&&&//限定的最大转速
int Proportion=8;//比例常数 Proportional Const
unsigned int Integral=3;//积分常数 Integral Const
unsigned int Derivative=1;//微分常数 Derivative Const
unsigned int LastError=0;//Error[-1]
unsigned int PrevError=0;//Error[-2]&
unsigned int Error=0;//Error[0]
int&&&&&&&&&
Out=0;//outcome&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
unsigned int
expc_speed=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
unsigned int
real_speed=0;&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
{&unsigned
&&&&&&&&&&&&&&&&&
Init_Timer0();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//初始化定时器0
Init_Timer1();&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//初始化计数器1
& lcd_init();
init();&&&&&&&&&&&&&&&&&&&&&&&&
(1)&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
&&&&num=KeyScan();&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//循环调用按键扫描
&& switch (num)
if(expc_speed&CYCLE)
expc_speed++;
if(expc_speed&0)
expc_speed--;
lcd_display(4,expc_speed);
&&&lcd_display(5,real_speed);&&&
}&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
//按键扫描函数,返回扫描键值
unsigned char KeyScan(void)
&if(KeyPort!=0xff)
delay_ms(10);
if(KeyPort!=0xff)
keyvalue=KeyP
while(KeyPort!=0xff);
&&switch(keyvalue)
&& case 0xfe:return
&& case 0xfd:return
&& case 0xfb:return
&& case 0xf7:return
&& case 0xef:return
&& case 0xdf:return
&& case 0xbf:return
&& case 0x7f:return
&& default:return 0;
&& return 0;
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。求助大神!!51单片机定时器1和定时器0冲突 - 单片机/MCU论坛 -
中国电子技术论坛 -
最好最受欢迎电子论坛!
后使用快捷导航没有帐号?
求助大神!!51单片机定时器1和定时器0冲突
10:07:11  
做的PWM直流电机调速,我用定时器0定时产生PWM脉冲,定时器1计时50msTMOD = 0x11;
& & TH0 = 0x0FF;
& & TL0 = 0x9C;//100us
& & & & TL1=0x0B0;//50ms
& & EA = 1;
& & ET0 = 1;
& & TR0 = 1;
& & TR1 = 1;
关了T1PWM波形正常,但是只要开了T1波形就不对了,像图中那样,中间会有一端高电平。外部中断1检测速度脉冲,这个没啥影响。求各位大佬这个怎么解决啊
& & & & void time_0()interrupt 1
& & & & TR0=0;
& & & & if(num&PWM)
& & & & & & & & & & & &&&ENA=1; //L298N使能端
& & & && && & ENA=0;
& & & & if(num&100) num=1;
& & TMOD = 0x01;
& & TH0 = 0x0FF;//100us
& & & & TR0=1;
void INT0_INTERRUPT()interrupt 0
& & & & EX0=0;
velocity++;
& & & & EX0=1;
void time_1()interrupt 3
& &&&TR1=0;
& &&&count++;
& & & &&&if(count==51)
& & & &&&{&&
& & & && &&&sprintf(dsp,&%3d&, velocity);
& & & & & & & && &display_string(7,4,dsp);
& & & & & & & &&&ldelay(100);& & & &&&
& & & & & & & && &count=1;
& && &velocity=0;
& & & && &TH1=0x3c;
& & & && &TL1=0x0b0;
& & & && &TR1=1;
& & & & & & & &
附件: 您需要
才可以下载或查看,没有帐号?
奖励10积分
没太看出来什么问题,需要确定几个问题,pwm持续高电平时,单片机有没有其他动作出现,比如显示什么的,另外在定时器0里更改了tmod的值,并只更新了th0的值。再试试设置中断优先级,虽然有缺省值,但现在在解决问题,就把需要明确的值都明确了
高级工程师
10:07:12  
没太看出来什么问题,需要确定几个问题,pwm持续高电平时,单片机有没有其他动作出现,比如显示什么的,另外在定时器0里更改了tmod的值,并只更新了th0的值。再试试设置中断优先级,虽然有缺省值,但现在在解决问题,就把需要明确的值都明确了
高级工程师
10:23:30  
试试设置定时器0的中断优先级高于定时器1
10:34:59  
试试设置定时器0的中断优先级高于定时器1
定时器0的优先级不是本来就比定时器1优先级高吗
11:09:43  
没太看出来什么问题,需要确定几个问题,pwm持续高电平时,单片机有没有其他动作出现,比如显示什么的,另外在定时器0里更改了tmod的值,并只更新了th0的值。再试试设置中断优先级,虽然有缺省值,但现在在解决问题,就把需要明确的值都明确了 ...
定时器0里更改了tmod的值,并只更新了th0的值,属于手误,应该th0th1都更新,谢谢提醒;然后我似乎找到了持续高电平的原因,T1中断函数里有个延时函数看到了吧,我把它去掉就正常了,反正目前看是挺正常。我一会儿在设置下优先级试试,只求更稳定。我再鼓捣一会儿,看看会还有什么问题。另外谢谢大佬的关注!
14:01:46  
没太看出来什么问题,需要确定几个问题,pwm持续高电平时,单片机有没有其他动作出现,比如显示什么的,另外在定时器0里更改了tmod的值,并只更新了th0的值。再试试设置中断优先级,虽然有缺省值,但现在在解决问题,就把需要明确的值都明确了 ...
后来又出现了冲突问题,貌似是和外部中断0的,我把T0优先级设置最高,问题果然解决了,谢谢
17:21:19  
后来又出现了冲突问题,貌似是和外部中断0的,我把T0优先级设置最高,问题果然解决了,谢谢
设置优先级排序并不代表中断冲突不存在,只是区分轻重缓急,能用一个中断处理的任务就不要开两个中断。你的两个定时中断的时间有倍数关系,只要添加一个计数变量就可以合用一个定时中断。中断里通常只产生标识,不处理任务,更不能有长延时,叫做打一枪就跑,任务放在主循环里处理。
Powered by
供应链服务
版权所有 (C) 深圳华强聚丰电子科技有限公司当前位置: >>
基于51单片机的pwm直流电机调速装置设计
电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告西南交通大学电气工程学院 2014 年 “萌芽计划”科创训练计划报告题目: 班级 姓名: 学号: 日期:直流电机调速装置 微电二班 张力振 5.04.20 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告摘 要直 流 电 机 具 有 良 好 的 启 动 性 能 和 调 速 特 性 。首 先 启 动 转 矩 大 :带 电 刷 的 励 磁 直 流 电 机 产 生 的 电 流 比 感 应 式 大 ,故 产 生 力 矩 大 。调 速 性 能 好 :在 宽 广 的 范 围 内 平 滑 地 调 速 ,过 载 能 力 强 。与 交 流 相 比 ,虽 然 结 构 复 杂 ,生 产 成 本 高 ,维 护 工 作 量 大 ,但 是 直 流 电 机 调 速 在 数 控 机 床 ,纺 织 机 械 ,电 工 机 械 等 领 域 广 为 应 用 。我 们 生 活 中 熟 悉 的 录 音 机 、电 唱 机 、录 相 机 、电 子 计 算 机 等 ,也 都 不 能 缺 少 直 流 电 机 ,可 见 直 流 电 机 的 控 制 是 一 门 很 实 用 的 技 术 。本 文 的 设 计 是 基 于 L298 的 直 流 电 机 调 速 控 制 ,运 用 常 见 的 89C51 单 片 机 为 控 制 核 心 ,采 用 L298 为 驱 动 芯 片 , TFT 彩 色 液 晶 屏 为 液 晶 模 块 显 示 , 设 计 出 的 直 流 电 机 调 速 系 统 。 采 用 的 原 理 是 PWM 占 空 比 调 速 , PWM 占 空 比 调 速 是 一 种 常 用 的 调 速 方 法 , 它通过改变负载两端的电枢电压, 调整高低电平的时间长短来控制占空比从而 实现调速。关键字:直 流 电 机 ; PWM ; L298 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告1 前言 ......................................................................................................................................1 1.1 开发背景 ...................................................................................................................1 1.2 选题的目的和意义 ...................................................................................................1 2 总体方案设计 .......................................................................................................................2 2.1 方案比较及论证 .......................................................................................................2 2.1.1 直流电机的调速方法 ...................................................................................2 2.1.2 PWM 调速方式 ............................................................................................4 2.2 方案选择 ...................................................................................................................5 2.3 总体设计概述 ...........................................................................................................6 2.3.1 系统总体设计框图 .......................................................................................6 3 单元模块设计 .......................................................................................................................7 3.1 电源模块设计 ...........................................................................................................7 3.1.1 功能介绍 .......................................................................................................7 3.1.2 电路设计 .......................................................................................................7 3.1.4 电路参数的计算及元器件的选择 ...............................................................8 3.2L298N 电机驱动模块设计 ........................................................................................9 3.2.1 功能介绍 .......................................................................................................9 3.2.2 电路设计 .....................................................................................................11 3.3TFT 彩屏显示模块设计 ..........................................................................................12 3.3.1 功能介绍 .....................................................................................................12 3.3.2 电路设计 .....................................................................................................12 3.3.3 电路参数的计算及元器件的选择 .............................................................13 3.4 单片机最小系统模块设计 .....................................................................................13 3.4.1 功能介绍 .....................................................................................................13 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3.4.2 电路设计 .....................................................................................................14 3.4.3 电路参数的计算及元器件的选择 .............................................................14 3.5 DS18B20 温度传感器模块设计 ............................................................................15 3.5.1 功能介绍 .....................................................................................................15 3.5.2 电路设计 .....................................................................................................16 3.6 红外收发模块设计 ................................................................................................16 3.6.1 功能介绍 .....................................................................................................16 3.6.2 电路设计 .....................................................................................................17 4. 软件设计 ...........................................................................................................................17 4.1 总体软件框图 .................................................................................................18 4.2 主程序 .............................................................................................................19 5 系统调试与测试 .................................................................................................................19 5.1 硬件测试 ........................................................................................................19 5.2 软件调试 ........................................................................................................20 5.3 软硬件联合调试 ............................................................................................20 5.4 软件仿真 .........................................................................................................20 6 系统功能、指标参数 .........................................................................................................22 6.1 系统实现功能 .................................................................................................22 6.2 系统指标参数测试 .........................................................................................23 6.3 系统功能及指标参数分析 .............................................................................23 7 设计总结 .............................................................................................................................23 参考文献 ................................................................................................................................25 附录 1 .....................................................................................................................................27 附录 2 .....................................................................................................................................28 附录 3 .....................................................................................................................................28 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告1 前言1.1 开 发 背 景现 代 工 业 生 产 中 ,电 动 机 是 主 要 的 驱 动 设 备 ,目 前 在 直 流 电 动 机 拖 动 系 统 中 已 大 量 采 用 晶 闸 管 ( 即 可 控 硅 ) 装 置 向 电 动 机 供 电 的 KZ ― D 拖 动 系 统 , 取代了 笨 重 的 发 电 动 一 电 动 机 的 F―D 系 统 , 又 伴 随 着 电 子 技 术 的 高 度 发 展 , 促 使 直 流 电 机 调 速 逐 步 从 模 拟 化 向 数 字 化 转 变 ,特 别 是 单 片 机 技 术 的 应 用 ,使 直 流 电 机调速技术又进入到一个新的阶段,智能化、高可靠性已成为它发展的趋势。 直 流 电 机 调 速 基 本 原 理 是 比 较 简 单 的( 相 对 于 交 流 电 机 ),只 要 改 变 电 机 的 电 压 就 可 以 改 变 转 速 了 。 改 变 电 压 的 方 法 很 多 , 最 常 见 的 一 种 PWM 脉 宽 调 制 , 调节电机的输入占空比就可以控制电机的平均电压,控制转速。 PWM 控 制 的 基 本 原 理 很 早 就 已 经 提 出 , 但 是 受 电 力 电 子 器 件 发 展 水 平 的 制 约 ,在 上 世 纪 80 年 代 以 前 一 直 未 能 实 现 。直 到 进 入 上 世 纪 80 年 代 ,随 着 全 控 型 电 力 电 子 器 件 的 出 现 和 迅 速 发 展 , PWM 控 制 技 术 才 真 正 得 到 应 用 。 随 着 电 力 电 子 技 术 、微 电 子 技 术 和 自 动 控 制 技 术 的 发 展 以 及 各 种 新 的 理 论 方 法 ,如 现 代 控 制 理 论 、 非 线 性 系 统 控 制 思 想 的 应 用 , PWM 控 制 技 术 获 得 了 空 前 的 发 展 , 到 目 前 为 止 , 已 经 出 现 了 多 种 PWM 控 制 技 术 。1.2 选 题 的 目 的 和 意 义直 流 电 动 机 具 有 良 好 的 起 动 、制 动 性 能 ,宜 于 在 大 范 围 内 平 滑 调 速 ,在 许 多需要调速或快速正反向的电力拖动领域中得到了广泛的应用。 从控制的角度 来 看 ,直 流 调 速 还 是 交 流 拖 动 系 统 的 基 础 。早 期 直 流 电 动 机 的 控 制 均 以 模 拟 电 路 为 基 础 ,采 用 运 算 放 大 器 、非 线 性 集 成 电 路 以 及 少 量 的 数 字 电 路 组 成 ,控 制 系 统 的 硬 件 部 分 非 常 复 杂 ,功 能 单 一 ,而 且 系 统 非 常 不 灵 活 、调 试 困 难 ,阻 碍 了直流电动机控制技术的发展和应用范围的推广。随着单片机技术的日新月 异 ,使 得 许 多 控 制 功 能 及 算 法 可 以 采 用 软 件 技 术 来 完 成 ,为 直 流 电 动 机 的 控 制1 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告提 供 了 更 大 的 灵 活 性 ,并 使 系 统 能 达 到 更 高 的 性 能 [ 2 ] 。采 用 单 片 机 构 成 控 制 系 统,可以节约人力资源和降低系统成本,从而有效的提高工作效率。 传 统 的 控 制 系 统 采 用 模 拟 元 件 ,虽 在 一 定 程 度 上 满 足 了 生 产 要 求 ,但 是 因 为 元 件 容 易 老 化 和 在 使 用 中 易 受 外 界 干 扰 影 响 ,并 且 线 路 复 杂 、通 用 性 差 ,控 制 效 果 受 到 器 件 性 能 、温 度 等 因 素 的 影 响 ,故 系 统 的 运 行 可 靠 性 及 准 确 性 得 不 到保证,甚至出现事故。 目 前 ,直 流 电 动 机 调 速 系 统 数 字 化 已 经 走 向 实 用 化 ,伴 随 着 电 子 技 术 的 高 度 发 展 ,促 使 直 流 电 机 调 速 逐 步 从 模 拟 化 向 数 字 化 转 变 ,特 别 是 单 片 机 技 术 的 应 用 ,使 直 流 电 机 调 速 技 术 又 进 入 到 一 个 新 的 阶 段 ,智 能 化 、高 可 靠 性 已 成 为 它发展的趋势。2 总体方案设计2.1 方 案 比 较 及 论 证2.1.1 直 流 电 机 的 调 速 方 法 直 流 电 机 是 人 类 最 早 发 明 和 应 用 的 一 种 电 机 ,与 交 流 电 机 相 比 ,直 流 电 机 因 结 构 复 杂 、维 护 困 难 、价 格 较 贵 等 因 素 制 约 了 他 的 发 展 ,应 用 不 如 交 流 电 机 广 泛 ,但 是 ,因 为 直 流 电 机 具 有 优 良 的 起 动 、调 速 和 制 动 性 能 ,因 此 在 工 业 领 域 中 占 有 一 席 之 地 。 直 流 电 机 的 结 构 原 理 图 如 图 1-1 所 示 :2 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告图 2-1-1 直 流 电 机 结 构 原 理 图 虽然不同励磁方式的电机机械特性不同,但他们的转速都是由公式n? U a ? Ra I a C E?(2-1)计 算 而 得 ,式 中 U a ― 电 枢 供 电 电 压 ( V) ; ― ― 励 磁 磁 通 ( Wb ) ;I a ― ― 电 枢 电 流 ( A) ; ΦRa ― ― 电 枢 回 路 总 电 阻 ( Ω ) ; CE ― ― 电 势 系 数 。CE ?pN 60a( 2-2 )其 中 p为 电 磁 对 数 , a 为 电 枢 并 联 支 路 数 , N为 导 体 数 。 由式可见,直流电动机的调速方法可以分为 1.电 枢 回 路 串 电 阻 的 调 速 方 法 , 2.调 节 励 磁 磁 通 的 励 磁 控 制 方 法 , 3.调 节 电 枢 电 压 的 电 枢 控 制 方 法 。 在 上 述 三 种 方 法 中 ,电 枢 回 路 串 电 阻 后 机 械 特 性 变 软 ,系 统 转 速 受 负 载 波 动 的 影 响 较 大 ,空 载 和 轻 载 时 能 够 调 速 的 范 围 非 常 有 限 。另 一 方 面 ,因 调 速 电 阻容量较大,一般多采用电器开关分级控制,不能连续调节,只能有级调速。 同 时 所 串 的 调 速 电 阻 上 通 过 很 大 的 电 枢 电 流 ,会 产 生 很 大 的 功 率 损 耗 ,转 速 越 低 。需 串 入 的 电 阻 值 越 大 ,损 耗 越 大 ,这 样 使 电 动 机 的 效 率 大 为 降 低 。该 方 法 多 用 于 对 调 速 性 能 要 求 不 高 ,而 且 不 经 常 调 速 的 设 备 上 ;励 磁 控 制 方 法 在 低 速 时 受 磁 极 饱 和 的 限 制 ,在 高 速 时 ,转 速 越 高 ,换 向 越 困 难 。电 枢 反 应 和 换 向 元 件中电流的去磁效应对于转速稳定性的影响较大,并且励磁线圈的电感较大, 系 统 的 动 态 响 应 较 差 。 调 节 电 枢 电 压 的 电 枢 控 制 方 法 一 般 不 超 过 额 定 电 压 Ua 。 所 以 只 能 在 低 于 额 定 转 速 的 范 围 进 行 调 节 。在 降 低 电 枢 端 电 压 时 ,电 动 机 的 机3 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告械 特 性 硬 度 不 变 ,转 速 受 负 载 波 动 的 影 响 较 小 ,速 度 的 稳 定 性 好 ,而 且 不 管 拖 动 哪 一 类 负 载 ,只 要 电 压 可 以 连 续 调 节 ,系 统 的 转 速 就 可 以 连 续 变 化 ,该 方 法 可 以 实 现 无 级 调 速 ,多 用 于 对 调 速 性 能 要 求 较 高 的 设 备 上 。在 对 直 流 电 动 机 电 枢电压的控制和驱动中. 目前广泛应用的是通过改变电机电枢电压接通时间与 通 电 周 期 的 比 值 f (占 空 比 )来 控 制 电 机 的 转 速 。 这 种 方 法 称 为 脉 冲 宽 度 调 制 ( Pulse Width Modulation ) 即 PWM 控 制 . 这 里 我 采 用 了 第 一 种 改 变 电 机 两 端 电 压 的 方 法 ,采 用 脉 冲 控 制 PWM , 改 变 占空比,从而改变电机两端电压,调节转速 2.1.2 PWM 调 速 方 式 PWM ( 脉 冲 宽 度 调 制 ) 是 通 过 控 制 固 定 电 压 的 直 流 电 源 开 关 频 率 , 改 变 负 载 两 端 的 电 压 , 从 而 达 到 直 流 电 机 调 速 的 一 种 方 法 。 PWM 调 速 可 以 应 用 在 许 多方面,比如:电机调速、温度控制、压力控制等等。 占 空 比 就 是 输 出 的 PWM 中 , 高 电 平 保 持 的 时 间 与 该 PWM 的 时 钟 周 期 的 时 间 之 比 。 例 如 , 一 个 PWM 的 频 率 是 1000Hz , 那 么 它 的 时 钟 周 期 就 是 1ms , 就 是 1000us , 如 果 高 电 平 出 现 的 时 间 是 200us , 那 么 低 电 平 的 时 间 肯 定 是 800us , 那 么 占 空 比 就 是 200 : 1000 , 也 就 是 说 PWM 的 占 空 比 就 是 1 : 5 。 通 过 改 变 直 流 电 机 电 枢 上 电 压 的“ 占 空 比 ”来 达 到 改 变 平 均 电 压 大 小 的 目 的 ,来 控 制 电 动 机 的 转 速 。 也 正 因 为 如 此 , PWM 又 被 称 为 “ 开 关 驱 动 装 置 ” 。 如 图 1-2 所 示 :?4 ?。图 2-1-2 占空比的公式为 D ?PWM 方 波t1 , 其 中 t1 为 一 个 周 期 内 开 关 导 通( 即 高 电 平 )的 时 间 , TT 为 一 个 周 期 。占 空 比 D 表 示 了 在 一 个 周 期 里 ,开 关 管 导 通 的 时 间 与 周 期 的 比4 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告值 ,变 化 范 围 为 0≤D≤1 。当 电 源 电 压 不 变 的 情 况 下 ,电 枢 的 端 电 压 的 平 均 值 为VD ? Vmax ? D ,因 此 改 变 占 空 比 D 就 可 以 改 变 端 电 压 的 平 均 值 ,从 而 达 到 调 速 的目 的 , 这 就 是 PWM 调 速 原 理 。 而 改 变 占 空 比 D 的 值 有 三 种 方 法 : 调 宽 调 频 法 : 保 持 t 不 变 , 只 改 变 t1 , 这 样 使 周 期 ( 或 频 率 ) 也 随 之 改 变 。 定 宽 调 频 法 : 保 持 t1 不 变 , 只 改 变 t , 这 样 使 周 期 ( 或 频 率 ) 也 随 之 改 变 。定 频 调 宽 法 :保 持 周 期 T ( 或 频 率 ) 不 变 ,同 时 改 变 t1 和 t 。 调 宽 调 频 法 和 定 宽 调 频 法 在 调 速 时 改 变 了 控 制 脉 冲 的 周 期 (或 频 率 ), 当控 制 脉 冲 的 频 率 与 系 统 的 固 有 频 率 接 近 时 ,将 会 引 起 振 荡 ,使 电 路 不 稳 定 。因 此 常采用定频调宽法来改变占空比从而改变直流电动机电枢两端电压。2.2 方 案 选 择由 上 所 述 , 我 选 择 的 基 于 L298 的 直 流 电 机 调 速 控 制 方 案 为 : 利 用 STC89C51 单 片 机 进 行 核 心 控 制 , 因 为 它 的 控 制 功 能 强 、 可 靠 性 高 、 易 扩 展 、 市 场 上 较 为 普 遍 。由 L298 芯 片 组 成 的 驱 动 模 块 ,因 为 L298N 电 机 驱 动 芯 片 是 一 种 高 电 压 、大 电 流 电 机 驱 动 芯 片 ,可 以 直 接 通 过 电 源 来 调 节 输 出 电 压 ;并 可 直 接 用 单 片 机 的 I/O 口 提 供 信 号 ;并 且 驱 动 电 路 简 单 ,input1-input4 输 入 控 制 电 位 来 控 制 电 机 的 正 反 转 ; Enable 控 制 电 机 停 转 , OUT1 、 OUT2 之 间 分 别 接 1 个 电 机 ; 对 于 本 设 计 直 流 电 动 机 的 驱 动 , 完 全 满 足 于 需 要 。 TFT 作 为 显 示 模 块 ,它 可 以 显 示 英 文 字 母 、符 号 、汉 字 。由 C 语 言 程 序 驱 动 单 片 机 运 行 ,分 别 在 按 下 加 速 、减 速 、停 止 、反 转 键 来 实 现 电 机 的 调 速 。其 结 构 模 块 如 下 图 所 示 :图 2-2 结 构 模 块 图5 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告2.3 总 体 设 计 概 述单片机直流电机调速简介: 单片机直流调速系统可实现对直流电动机的平 滑 调 速 。 PWM 是 通 过 控 制 固 定 电 压 的 直 流 电 源 开 关 频 率 , 从 而 改 变 负 载 两 端 的 电 压 ,进 而 达 到 控 制 要 求 的 一 种 电 压 调 整 方 法 。在 PWM 驱 动 控 制 的 调 整 系 统 中 , 按 一 个 固 定 的 频 率 来 接 通 和 断 开 电 源 , 并 根 据 需 要 改 变 一 个 周 期 内 “接 通 ”和 “断 开 ”时 间 的 长 短 。 通 过 改 变 直 流 电 机 电 枢 上 电 压 的 “占 空 比 ”来 改 变 平 均电压的大小, 从而控制电动机的转速。 因此, PWM 又 被 称 为 “ 开 关 驱 动 装 置 ” 。 本 系 统 以 89C51 单 片 机 为 核 心 ,通 过 单 片 机 控 制 ,C 语 言 编 程 实 现 对 直 流 电 机 的平滑调速。 系统控制方案的分析:本直流电机调速系统以单片机系统为依托,根据 PWM 调 速 的 基 本 原 理 , 以 直 流 电 机 电 枢 上 电 压 的 占 空 比 来 改 变 平 均 电 压 的 大 小 ,从 而 控 制 电 动 机 的 转 速 为 依 据 ,实 现 对 直 流 电 动 机 的 平 滑 调 速 ,并 通 过 单 片机控制速度的变化。 本文所研究的直流电机调速系统主要是由硬件和软件两 大 部 分 组 成 。硬 件 部 分 是 前 提 ,是 整 个 系 统 执 行 的 基 础 ,它 主 要 为 软 件 提 供 程 序运行的平台。而软件部分,是对硬件端口所体现的信号,加以采集、分析、 处 理 ,最 终 实 现 控 制 器 所 要 实 现 的 各 项 功 能 ,达 到 控 制 器 自 动 对 电 机 速 度 的 有 效控制。 2.3.1 系 统 总 体 设 计 框 图 本 系 统 采 用 89C51 控 制 输 出 数 据 , 由 PWM 信 号 发 生 电 路 产 生 PWM 信 号 , 送到直流电机, 从而实现对电机速度和转向的控制, 达到直流电机调速的目的。图 2-3-1 系 统 总 体 设 计 框 图6 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3 单元模块设计3.1 电 源 模 块 设 计3.1.1 功 能 介 绍图 3-1-1 直 流 稳 压 电 源 的 原 理 框 图 和 波 形 变 换 由 于 电 路 中 需 要 两 个 电 压 : 12V 和 5V , 电 源 中 用 了 7812 和 7805 两 个 三 端 集 成 稳 压 块 。如 图 4.1 首 先 通 过 变 压 器 把 生 活 用 电 交 流 220V 降 为 交 流 18V , 其 次 经 由 四 个 IN4007 构 成 的 桥 式 整 流 电 路 变 为 幅 值 变 化 直 流 电 , 再 经 电 容 滤 波 变 为 幅 值 变 化 较 小 的 直 流 电 , 利 用 直 流 稳 压 器 7812 使 输 出 为 稳 定 的 +12V , 最 后 经 电 容 滤 波 , 又 利 用 直 流 稳 压 器 7805 使 输 出 为 稳 定 的 +5V , 最 后 经 电 容 滤 波 , 输 出 纹 波 较 小 的 +5V 直 流 电 压 源 。 图 中 D1 、 D2 在 电 路 中 气 保 护 作 用 , 为 了 电 路 的 稳 定 工 作 ,在 一 般 情 况 下 ,还 需 要 接 二 极 管 作 为 保 护 电 路 ,防 止 电 路中的电容放电时的高压把集成稳压器烧坏。 3.1.2 电 路 设 计 电源模块电路设计如图:7 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告图 3-1-2 电 源 模 块 原 理 图 3.1.4 电 路 参 数 的 计 算 及 元 器 件 的 选 择 ① 对整流电路输出电压平均值:输出电流平均值: 对二极管 考 虑 到 电 网 电 压 的 波 动 范 围 为 10% , 实 际 选 用 二 极 管 时 , 应 至 少 有 10% 的量。最大整流电流:8 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告最高反向工作电压: ② 对滤波电路电 容 滤 波 电 路 是 利 用 电 容 的 充 放 电 作 用 ,使 输 出 电 压 趋 于 平 滑 。当 副 边 电 压 u2 处 于 正 半 周 期 并 且 数 值 大 于 电 容 两 端 电 压 uc 时 , 对 电 容 C 进 行 充 电 ; 当 u2 达 到 峰 值 后 开 始 下 降 是 ,电 容 C 通 过 负 载 RL 放 电 ;当 u2 的 负 半 周 幅 值 变 化 到 恰 好 大 于 uc 时 ,再 次 对 C 进 行 充 电 。( 电 流 方 向 如 图 7 所 示 ) 滤 波电路的输出电压曲线如图 8 所示, 滤波电解电容 C 的选择原则是:取其放 电 时 间 常 数 RLC 大 于 充 电 周 期 的 3 ~ 5 倍 , 其 耐 压 值 必 须 大 于 脉 动 电 压 峰 值 。 对 于 桥 式 整 流 电 路 来 说 , 脉 动 电 压 峰 值 为 2U2 , C 的 充 电 周 期 等 于 交 流 电 源 周 期 T 的 一 半 , 即 C ≥ (3~5) T2RL , 式 中 RL 为 整 流 后 的 等 效 负 载 电 阻 。 通 过 可 以看出,经滤波后的输出电压不仅变得平滑,而且平均值也得到提高。3.2L298N 电 机 驱 动 模 块 设 计3.2.1 功 能 介 绍 L298N 是 SGS-THOMSON Microelectronics 所 出 产 的 全 桥 步 进 电 机 专 用 驱 动 芯 片 ,内 部 包 含 四 信 道 逻 辑 驱 动 电 路 , 是 一 种 二 相 和 四 相 步 进 电 机 的 专 用 驱 动 器 , 接 受 标 准 的 TTL 逻 辑 准 位 信 号 , 可 驱 动 46V 、 2A 以 下 的 步 进 电 机 。 该 芯片具有两个使能控制端, 在不受输入信号影响的情况下允许或禁止器件工作 有 一 个 逻 辑 电 源 输 入 端 ,使 内 部 逻 辑 电 路 部 分 在 低 电 压 下 工 作 ;可 以 外 接 检 测 电 阻 ,将 变 化 量 反 馈 给 控 制 电 路 。可 以 直 接 通 过 电 源 来 调 节 输 出 电 压 ;此 芯 片 可 以 直 接 用 单 片 机 的 I/O 口 提 供 模 拟 时 序 信 号 , 电 路 简 单 , 使 用 方 便 。 L298N 的 引 脚 如 图 3-1 所 示 , 外 形 图 如 3-2 所 示 , 输 入 输 出 端 如 图 3-3 所 示 。 Pin1 和 Pin15 可 与 电 流 侦 测 电 阻 连 接 来 控 制 负 载 的 电 路 ; OUT1 、 OUT2 、 和 OUT3 、 OUT4 之 间 分 别 接 两 个 电 机 ; input1-input4 输 入 控 制 电 位 来 控 制 电 机 正 反 转 ; Enable 则 控 制 电 机 停 转 ?6 ? 。9 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告图 3-2-1L298N 引 脚 图图 3-2-2 L298 的 输 入 输 出 关 系 如 下 表 所 示 :外形图表 3-1 L298N 输 入 输 出 关 系 ENA IN1 IN2 电动机运 行状态 H H L 正转10 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告H H LL H XH H X反转 急停 停止数 据 来 源 : 2 0 0 9 年 《 潍 坊 学 院 学 报 [ J ] . L2 9 8 N 在 直 流 电 机 P WM 调 速 系 统 中 的 应 用 》根 据 L298N 的 输 入 输 出 关 系 , 使 能 控 制 端 ENA 接 AT89C51 的 P3.0 口 , 并 连 接 示 波 器 显 示 占 空 比 , 单 片 机 IO 口 P3.1 和 P3.2 分 别 接 入 L298N 输 入 端 IN1 和 IN2 , 可 以 控 制 电 动 机 的 正 反 转 ( 输 入 端 IN1 为 PWM 信 号 , 输 入 端 IN2 为 低 电 平 , 电 动 机 正 转 ; 输 入 端 IN2 为 PWM 信 号 , 输 入 端 IN1 为 低 电 平 , 电 动 机 反 转 ); 电 动 机 的 转 速 由 单 片 机 调 节 PWM 信 号 的 占 空 比 来 实 现 。 3.2.2 电 路 设 计 L298N 电 机 驱 动 模 块 电 路 设 计 如 下 图 :图 3-2-3 L298N 电 机 驱 动 模 块 原 理 图11 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3.3TFT 彩 屏 显 示 模 块 设 计3.3.1 功 能 介 绍 TFT ( Thin Film Transistor ) 即 薄 膜 场 效 应 晶 体 管 , 属 于 液 晶 显示器中 的 一 种 ,也 就 是“ 真 彩 ” (TFT) 。能 显 示 复 杂 的 图 象 ,画 面 的 层 次 也 更 加 丰 富 。 TFT 的 特 点 是 亮 度 好 、对 比 度 高 、层 次 感 强 、颜 色 鲜 艳 。 TFT 液 晶 技 术 加 快 手 机 彩 屏 的 发 展 。 彩 屏 手 机 中 基 本 上 26 万 到 130 万 显 示 , 有 的 甚 至 支 持 1600 万 色 , 这 时 TFT 的 高 对 比 度 , 色 彩 丰 富 的 优 势 就 非 常 重 要 了 。 实 物 图 如 下 图 所 示 :图 3-3-1TFT 正 面图 3-3-2TFT 反 面3.3.2 电 路 设 计图 3-3-3 TFT 彩 屏 显 示 电 路12 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3.3.3 电 路 参 数 的 计 算 及 元 器 件 的 选 择 ① 上拉电阻51 单 片 机 的 P0 口 驱 动 显 示 模 块 上 拉 电 阻 通 常 用 10k, 电 阻 太 小 将 使 系 统 功 耗 增 加 , 电 阻 太 大 将 使 系 统 的 抗 干 扰 能 力 减 弱 。 1k 的 上 拉 电 阻 , 输 出 电 平 0 时 需 要 灌 入 约 5mA 的 电 流( 电 源 5V 的 情 况 下 )。当 系 统 的 上 拉 电 路 用 的 比 较 多时,这是一个不可不重视的问题。 ② 电位器 上 图 R9 为 TFT 彩 屏 对 比 度 调 节 电 位 器 , 通 常 采 用 5K~10K 即 可 。3.4 单 片 机 最 小 系 统 模 块 设 计3.4.1 功 能 介 绍 单片机的最小系统是由组成单片机系统必需的一些元件构成的, 除了单片 机 之 外 ,还 需 要 包 括 电 源 供 电 电 路 、时 钟 电 路 、复 位 电 路 。单 片 机 最 小 系 统 电 路如图下图所示。13 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3.4.2 电 路 设 计图 3-4-1 单 片 机 最 小 系 统 原 理 图 3.4.3 电 路 参 数 的 计 算 及 元 器 件 的 选 择 ① 上 电 复 位 : STC89 系 列 单 片 及 为 高 电 平 复 位 ,通 常 在 复 位 引 脚 RST 上连 接 一 个 电 容 到 VCC , 再 连 接 一 个 电 阻 到 GND , 由 此 形 成 一 个 RC 充 放 电 回 路 保 证 单 片 机 在 上 电 时 RST 脚 上 有 足 够 时 间 的 高 电 平 进 行 复 位 , 随 后 回 归 到 低 电 平 进 入 正 常 工 作 状 态 , 这 个 电 阻 和 电 容 的 典 型 值 为 10K 和 10uF 。 ② 振 荡 电 路 : STC89C51 使 用 11.0592MHz 的 晶 体 振 荡 器 作 为 振 荡 源 ,由于 单 片 机 内 部 带 有 振 荡 电 路 ,所 以 外 部 只 要 连 接 一 个 晶 振 和 两 个 电 容 即 可 ,电 容 容 量 一 般 在 15pF 至 50pF 之 间 。14 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3.5 DS18B20 温 度 传 感 器 模 块 设 计3.5.1 功 能 介 绍 DS18B20 是 常 用 的 温 度 传 感 器 , 具有体积小, 硬件开销低, 抗干扰能力强, 精 度 高 的 特 点 。 测 量 温 度 范 围 为 -55 ° C~+125 ° C , 在 -10~+85 ° C 范 围 内 , 精 度 为 ± 0.5 ° C 。 DS1822 的 精 度 较 差 为 ± 2 ° C 。 DS18B20 引 脚 定 义 : (1)DQ 为 数 字 信 号 输 入 / 输 出 端 ; (2)GND 为 电 源 地 ; (3)VDD 为 外 接 供 电 电 源 输 入 端 ( 在 寄 生 电 源 接 线 方 式 时 接 地 ) 。图 3-5-1 引 脚 图图 3-5-2 DS18B20 实 物 图15 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告3.5.2 电 路 设 计DS18B20 的 DQ 引 脚 连 接 到 刀 片 机 的 I/O 端 口 。3.6 红 外 收 发 模 块 设 计3.6.1 功 能 介 绍 红外接收是指使用红外接收头接收红外线发射管所发出的红外线, 波长在 750-1150NM 。 红 外 接 收 头 结 构 :红 外 接 收 头 内 部 有 两 个 重 要 元 件 ,分 别 是 IC 和 PD 。 IC 是 接 收 头 的 处 理 元 件 ,主 要 由 硅 晶 和 电 路 组 成 ,是 一 个 高 度 集 成 的 器 件 、主 要 功 能 有 滤 波 、 整 形 、 解 码 、 放 大 等 功 能 。 PD 是 光 敏 二 极 管 , 主 要 功 能 是 接 收 光信号。结构如下图:图 3-6-1 红 外 接 收 头 内 部 结 构16 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告接 收 头 工 作 原 理 :标准的接收头应用电路,100 欧的电阻是限流电阻,10 以上的上 拉电阻,电容的作用是滤波。载 波 频 率 37.9KHZ ,脉 冲 宽 度 600us 左 右 ,根 据 芯 片 而 定 , 一 般 400-600-800. 接 收 波 长 : 接 收 头 接 收 红 外 光 曲 线 , 接 收 的 范 围 是 750-1150 , 在 940NM 的 左 右 的 波 长 段 是 接 收 效 果 最 好 的 , 因 此 遥 控 器 的 发 射 管 波 长 是 940nm 。 3.6.2 电 路 设 计图 3-6-2 红 外 接 收 头 的 OUT 引 脚 连 接 到 单 片 机 的 I/O 口 。4. 软 件 设 计软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角 度 。建 议 用 数 学 语 言 来 抽 象 事 务 和 问 题 ,因 为 数 学 是 最 好 的 抽 象 语 言 ,并 且 它 的本质就是抽象。 在进行微机控制系统设计时,除了系统硬件设计外,大量 的 工 作 就 是 如 何 根 据 每 个 生 产 对 象 的 实 际 需 要 设 计 应 用 程 序 。因 此 ,软 件 设 计 在微机控制系统设计中占重要地位。对于本系统,软件更为重要。 在单片机控制系统中,大体上可分为数据处理、过程控制两个基本类型。 数 据 处 理 包 括 :数 据 的 采 集 、数 字 滤 波 、标 度 变 换 等 。过 程 控 制 程 序 主 要 是 使 单片机按一定的方法进行计算,然后再输出,以便控制生产。 为了完成上述17 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告任 务 ,在 进 行 软 件 设 计 时 ,通 常 把 整 个 过 程 分 成 若 干 个 部 分 ,每 一 部 分 叫 做 一 个 模 块 。所 谓“ 模 块 ”,实 质 上 就 是 所 完 成 一 定 功 能 ,相 对 独 立 的 程 序 段 ,这 种程序设计方法叫模块程序设计法。 模块程序设计法将复杂的问题分解成可以管理的片断会更容易。 将问题或 事物分解并模块化这使得解决问题变得容易,分解的越细模块数量也就越多, 它的副作用就是使得设计者考虑更多的模块之间耦合度的情况。 模块程序设计法的主要优点是: ① ② ③ 单个模块比起一个完整的程序易编写及调试; 模块可以共存,一个模块可以被多个任务在不同条件下调用; 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。4.1 总 体 软 件 框 图18 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告图 4-1-1 主 程 序 流 程 图4.2 主 程 序用 C 语言编写程序以达到各项功能,具体程序在附录的程序清单。5 系统调试与测试5.1 硬 件 测 试测试仪器与方法 ① 测试仪器测试仪器包括数字万用表、直流稳压电源、示波器等。 ② 测试方法数 字 万 用 表 主 要 用 来 测 试 分 立 元 件 的 电 阻 、 压 降 、 漏 电 流 、 截 止 /导 通 状 态等参数;测量模块板是否可行。 软 件 KEIL4 用 于 调 试 软 件 ; 直流稳压电源在测试期间为各待测系统供电; 示 波 器 用 来 检 测 显 示 单 片 机 发 出 的 PWM 波 ; 电机运行调试; 掌 握 电 机 运 行 速 度 与 软 件 设 定 值 的 关 系 ,与 软 件 算 法 协 调 调 试 ,使 静 态 误 差最小。19 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告5.2 软 件 调 试本 程 序 较 大 且 复 杂 , 因 此 采 用 C 语 言 编 写 , 通 过 keil 软 件 的 不 断 修 改 , 采 用 自 下 而 上 的 调 试 方 法 ,先 调 试 功 能 电 路 ,再 调 试 整 个 系 统 。在 调 试 的 过 程 中与硬件的调试相结合,提高了调试的效率。5.3 软 硬 件 联 合 调 试当软件和硬件的基本功能分别调试后,进行软硬件联合调试及优化。5.4 软 件 仿 真本 次 所 用 仿 真 软 件 为 题 目 推 荐 的 Proteus 软 件 , 仿 真 原 理 图 如 下 图 所 示 :图 5-4-1 仿 真 原 理 图 本 系 统 采 用 简 单 的 按 键 操 作 ,实 现 电 机 的 加 速 、减 速 、制 动 、反 转 功 能 。 本系统各按键的功能如下20 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告① 加速键用于电机加速,每按一次电机转速增加转速。 ② 减速键用于电机减速,每按一次电机转速减小转速。 ③ 制动键用于电机制动,停止电机旋转。 ④ 反转键用于电机反转,每按一次电机反转。 让 电 机 启 动 正 转 ,达 到 200r/min ,所 需 时 间 大 致 在 1.3s 左 右 ,如 图 所 示 。图 5-4-2 加 速 正 转 按 一 次 减 速 键 , 电 机 转 速 减 小 10r/min , 到 达 190r/min , 如 图 所 示 。图 5-4-3 减 速 按 一 次 反 转 按 键 , 电 机 反 转 , 到 达 -190r/min , 如 图 所 示 。21 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告图 5-4-4 反 转 按 一 次 制 动 键 ,电 机 制 动 ,转 速 较 大 时 ,电 机 可 以 快 速 制 动 到 接 近 零 ,之 后缓慢减速,如图所示。图 5-4-5 制 动 经 过 仿 真 调 试 ,发 现 系 统 可 以 实 现 基 本 的 调 速 功 能 ,并 且 可 以 较 快 速 地 启 动,系统具有较好的稳定性,误差范围在可允许范围。6 系统功能、指标参数6.1 系 统 实 现 功 能① ② ③ 系统具有独立供电系统。 通 过 键 盘 设 定 PWM 波 的 占 空 比 达 到 电 机 调 速 的 目 的 。 系统具有液晶显示功能,可以显示个人信息、温度、电机转速等相关信息,并切字体颜色随温度的变化而变化。 ④ 在系统中加入温度传感器,电机可根据外界温度的不同而实现自动调速功能。 ⑤ 能。 ⑥ 将可调速的电机模拟运用到实际中去,模拟一个日常生活中的可以遥 在系统中加入红外传感器,电机可通过红外遥控器实现远距离调速功控调速的电风扇。22 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告6.2 系 统 指 标 参 数 测 试系统测试结果如下图所示:图 6-2-1 测 试 结 果6.3 系 统 功 能 及 指 标 参 数 分 析经 过 测 试 表 明 ,本 系 统 不 仅 满 足 题 目 设 计 要 求 ,而 且 充 分 发 挥 想 象 力 ,对 作 品 进 行 了 改 造 ,增 加 了 很 多 新 颖 的 功 能 。同 时 ,本 作 品 是 根 据 以 人 为 本 的 原 则 ,将 电 机 模 拟 为 日 常 生 活 中 的 可 以 遥 控 调 速 的 电 风 扇 ,彩 色 的 显 示 屏 幕 更 加 人性化,这也是本作品的一大创新。7 设计总结在学校里我们学习到的知识和简单的动手实践, 要转化成为社会的生产力 还 需 要 一 个 平 台 。全 国 大 学 生 电 子 设 计 竞 赛 给 我 们 提 供 了 一 个 培 养 创 新 、协 作 和钻研精神的平台,是大学生展现自己、积累经验的舞台。 参加过“萌芽计23 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告划 ”科 创 训 练 计 划 的 人 ,都 从 中 体 会 到 了 奋 斗 的 快 乐 、团 队 力 量 的 伟 大 和 来 自 压 力 的 动 力 。“ 萌 芽 计 划 ” 是 一 块 “ 试 金 石 ” , 更 是 一 个 “ 练 金 场 ” 。 要 想 取 得 成 功 ,需 要 有 丰 富 的 知 识 积 累 、灵 活 的 头 脑 、坚 强 的 意 志 、塌 实 肯 干 和 永 不 放弃的精神。以下我在本次竞赛中的体会和感想: 性 格 决 定 命 运 ,气 度 影 响 格 局 ,态 度 决 定 高 度 ,细 节 决 定 成 败 。对 于 此 次 竞 赛 ,我 们 应 该 有 正 确 的 认 识 ,我 们 要 以 学 知 识 为 目 的 ,拿 奖 为 动 力 。只 有 我 们 有 丰 富 的 知 识 和 经 验 的 积 累 ,才 能 在 赛 场 上 赢 得 胜 利 。培 训 到 竞 赛 是 一 个 漫 长 的 过 程 ,期 间 心 态 很 重 要 ,会 遇 到 很 多 问 题 ,不 懂 的 知 识 可 以 去 学 习 ;硬 件 、 软件调不出来,只要有耐心,认真分析就能找出原因; 阻碍我们发展的往往 是 自 己 心 情 ,心 胸 开 阔 ,善 于 接 受 意 见 和 容 忍 别 人 的 错 误 ,才 能 在 培 训 和 竞 赛 中 有 所 收 获 。“ 纸 上 得 来 终 觉 浅 ,绝 知 此 事 要 躬 行 ”。电 子 竞 赛 要 求 较 强 的 动 手 能 力 ,将 理 论 转 换 为 实 际 的 操 做 ,知 识 和 经 验 需 要 我 们 在 做 课 题 时 不 断 的 积 累 ,做 课 题 时 一 定 要 合 理 分 工 ,严 格 按 要 求 完 成 ,否 则 到 比 赛 时 就 后 悔 莫 及 。 队 员 之 间 交 流 过 少 ,可 能 做 出 来 的 东 西 分 开 调 试 都 满 足 要 求 ,一 旦 连 接 起 来就出问题了。交流不仅能促进队员们的学习,还能及时发现问题处理问题。 所以不管是比赛还是在日常的学习中都要与他人沟通, 利用一切可以提高自己 能 力 的 资 源 。 网 络 上 更 有 丰 富 的 资 源 ,要 做 的 东 西 在 网 上 都 能 找 到 相 关 内 容 , 这也是一个学习的过程, 特别在一些论坛里有着丰富的资源。 学会看英文文档, 我 们 用 到 的 芯 片 资 料 都 是 英 文 的 ,要 学 会 找 重 点 ,找 我 们 需 要 的 东 西 ,别 人 翻 译 的 文 档 有 可 能 错 误 或 没 说 清 楚 。编 程 软 件 也 是 英 文 的 ,如 果 是 没 人 教 ,就 得 自 己 看 资 料 学 习 。 对 我 们 而 言 ,知 识 上 的 收 获 重 要 ,精 神 上 的 丰 收 更 加 可 喜 。 挫 折 是 一 份 财 富 ,经 历 是 一 份 拥 有 。这 次“ 萌 芽 计 划 ”必 将 成 为 我 人 生 旅 途 上 一个非常美好的回忆!24 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告参考文献[1] 张 友 德 等 , 单 片 机 原 理 应 用 与 实 验 [M] , 复 旦 大 学 出 版 社 1992. [2] 张 毅 刚 , 彭 喜 源 , 谭 晓 钧 , 曲 春 波 .MCS - 51 单 片 机 应 用 设 计 [M]. 哈 尔 滨 工 业 大 学 出 版 社 2001.1. [3] 宋 庆 环 ,才 卫 国 ,高 志 ,89C51 单 片 机 在 直 流 电 动 机 调 速 系 统 中 的 应 用 [M] 。 唐 山 学 院 , ] 陈 锟 危 立 辉 , 基 于 单 片 机 的 直 流 电 机 调 速 器 控 制 电 路 [J] , 中 南 民族 大 学 学 报 ( 自 然 科 学 版 ) , 2003.9. [5] 李 维 军 韩 小 刚 李 晋 , 基 于 单 片 机 用 软 件 实 现 直 流 电 机 PWM 调 速 系 统 [J] , 维 普 资 讯 , ] 曹 巧 媛 . 单 片 机 原 理 及 应 用 [M]. 北 京 , 电 子 工 业 出 版 社 , 1997. [7] 刘 大 茂 ,严 飞 . 单 片 机 应 用 系 统 监 控 主 程 序 的 设 计 方 法 [J]. 福 州 大 学 学 报 ( 自 然 科 学 福 建 农 林 大 学 硕 士 论 文 版 ) , 1998.2. [9] 朱 定 华 , 戴 汝 平 编 著 . 单 片 机 原 理 与 应 用 [M]. 清 华 大 学 出 版 社 北 方 交 通 大 学 出 版 社 , 2003.8. [11] 薛 钧 义 张 彦 斌 编 著 . MCS ― 51/96 系 列 单 片 微 型 计 算 [M]. 西 安 交 通 大 学 出 版 社 , ] 陈 国 呈 编 著 .PWM 逆 变 技 术 及 应 用 [M]. 中 国 电 力 出 版 社 .2007 年 7 月 [13] 马 忠 梅 等 编 著 . 单 片 机 的 C 语 言 应 用 程 序 设 计 ( 第 4 版 ) [M] , 北 京 航 天 航 空 大 学 出 版 社 .] 刘 昌 华 , 易 逵 编 著 .8051 单 片 机 的 C 语 言 应 用 程 序 设 计 与 实 践 [M]. 国 防 工 业 出 版 社 2007.925 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告[15] 翁 家 民 , 冯 建 勤 , 陶 春 鸣 . 单 片 机 应 用 开 发 技 术 [M]. 中 国 电 力 出 版 社 ,
[16] 谭 浩 强 , 卜 家 岐 .C 程 序 设 计 教 程 [M]. 高 等 教 育 出 版 社 ,
[17]Chen Jingxian. Single chip microcomputer control DC mot or PWM speed controller 6. [18] 唐 介 . 电 机 拖 动 [M]. 第 二 版 , 高 等 教 育 出 版 社 , 8-189 [19] 宋 健 . 基 于 报 ,-87 L298 的 直 流 电 动 机 PWM 调 速 器 [J]. 潍 坊 学 院 design [J] Journal of Zhanjiang Normal Universit y,26 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告附录 127 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告附录 2附录 3#include&reg52.h& #include&stdio.h& #include &intrins.h& #include&LCD_driver.h& #include&18b20.h& #include&delay.h& #define uint unsigned int //自定义变量 #define uchar unsigned char unsigned int idata tc[]= { 0xf800, 0xf900, 0xfa00, 0xfb00, 0xfc00, 0xfd00, 0xfe00, 0xff00, 0xffe0, 0xe7e0, 0xc7e0, 0xa7e0, 0x87e0, 0x47e0, 0x27e0, 0x07e0, 0x07c0, 0x07c4, 0x07c8, 0x07cc, 0x07f0, 0x07f4, 0x07f8, 0x07fc, 0x07ff, 0x071f, 0x061f, 0x051f, 0x041f, 0x031f, 0x021f, 0x011f }; /***************引脚定义*************/28 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告sbit open = P2^0; //开始按键 sbit close = P2^1; //关闭按键 sbit swap = P2^2; //反转按键 sbit sub_speed = P2^4; //加速按键 sbit add_speed = P2^3; //减速按键 sbit PWM1 = P3^1; //L298N IN1 端口 sbit PWM2 = P3^0; //L298N IN2 端口 sbit EN = P3^4; //L298N 使能端 sbit IR=P3^3; //红外接口标志 /*************全局变量声明**************/ bit irpro_ok, //记满 1 秒标志位 uchar IRcord[4];//红外用全局变量 uchar irdata[33]; //定时次数,每次 20ms uchar f = 50; //计数的次数 uchar k = 0; uchar t = 1; //脉冲加减 char TempData[16]; char Tab[16] = &ABCDEF&; int colour = 5; /****************函数声明*****************/ void delays(); //延时函数 void key(); void T(); void Ir_work(void); void Ircordpro(void); void speed(uchar t); /***************主函数********************/ void main () { char displaytemp[16];//定义显示区域临时存储数组 LCD_Init(); //TFT 初始化 Delayxms(20); //延时有助于稳定 Pant(0x00,0x00); //红色 LCD_CS = 0; //打开片选使能 TMOD = 0x21; //T0 方式 1 定时计数 T1 方式 1 计数 TH0 =()/256; TL0 =()%256; ET0 = 1;29 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告TR0 = 1; //启动 t0 EN = 0; TH1 = 0x00; //重载值 TL1 = 0x00; //初始化值 ET1 = 1; //开中断 TR1 = 1; IT1 = 1; //指定外部中断 1 下降沿触发,INT1 (P3.3) 1:下沿触发 0:低电平触发 EX1 = 1; //允许外部中断 1 中断 EA = 1; while(1) //无限循环 { ChineseChar(14+46,10,2,tc[colour],colors[4],1); //调速风扇 ChineseChar(46+46,10,2,tc[colour],colors[4],2); ChineseChar(78+46,10,2,tc[colour],colors[4],3); ChineseChar(110+46,10,2,tc[colour],colors[4],4); LCD_ShowString16(0,45,tc[colour],colors[4],&~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~&); ChineseChar(20,60,1,tc[colour],colors[4],1); //姓 ChineseChar(44,60,1,tc[colour],colors[4],2); //名 LCD_ShowString24(68,60,tc[colour],colors[4],&:&); ChineseChar(92,60,1,tc[colour],colors[4],3); //张力振 ChineseChar(116,60,1,tc[colour],colors[4],4); ChineseChar(140,60,1,tc[colour],colors[4],5); LCD_ShowString16(20,100,tc[colour],colors[4],&English Name:&); LCD_ShowString16(130,100,tc[colour],colors[4],&Victor Nemo &); ChineseChar(20,130,1,tc[colour],colors[4],6); // 专业 ChineseChar(44,130,1,tc[colour],colors[4],7); LCD_ShowString24(68,130,tc[colour],colors[4],&:&); ChineseChar(92,130,1,tc[colour],colors[4],8); //微电子 ChineseChar(116,130,1,tc[colour],colors[4],9); ChineseChar(140,130,1,tc[colour],colors[4],10); ChineseChar(20,170,1,tc[colour],colors[4],11); // 班级 ChineseChar(44,170,1,tc[colour],colors[4],12); LCD_ShowString24(68,170,tc[colour],colors[4],&:&); ChineseChar(92,170,1,tc[colour],colors[4],8); //微电二班 ChineseChar(116,170,1,tc[colour],colors[4],9); ChineseChar(140,170,1,tc[colour],colors[4],13); ChineseChar(164,170,1,tc[colour],colors[4],11); ChineseChar(20,170,1,tc[colour],colors[4],14); // 学号 ChineseChar(44,170,1,tc[colour],colors[4],15); // LCD_ShowString24(68,170,tc[colour],colors[4],&:&); LCD_ShowString24(92,170,tc[colour],colors[4],&&); ChineseChar(20,210,1,tc[colour],colors[4],20); // 方式 ChineseChar(44,210,1,tc[colour],colors[4],21);30 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告LCD_ShowString24(68,210,tc[colour],colors[4],&:&); ChineseChar(20,250,1,tc[colour],colors[4],16); // 温度 ChineseChar(44,250,1,tc[colour],colors[4],17); // LCD_ShowString24(68,250,tc[colour],colors[4],&:&); ChineseChar(20,290,1,tc[colour],colors[4],18); // 转速 ChineseChar(44,290,1,tc[colour],colors[4],19); LCD_ShowString24(68,290,tc[colour],colors[4],&:&); /******************** 温度采集 ***************/ EA = 0; Temp = ReadTemp(); Temperature = (float)temp * 0.0625; sprintf(displaytemp,&%7.3f C&,temperature);//打印温度值 EA = 1; if(temperature &= 15 && temperature &= 35) { if(temperature & 0) Colour = 32; else if(temperature & 32) Colour = 3; else Colour = 35 - (int) LCD_ShowString24(92,250,tc[colour],colors[4],displaytemp); } /******************************************************/ speed(t); //显示速度 } } /******************外部中断 1 中断处理*******************/ void EX1_ISR (void) interrupt 2 //外部中断 1 服务函数 { st //接收红外信号处理
//是否开始处理标志位 if(startflag) { if(irtime & 63 &&i rtime &= 33)//引导码 TC9012 的头码,9ms+4.5ms I = 0; irdata[i] =//存储每个电平的持续时间,用于以后判断是 0 还是 1 Irtime = 0; i++; if(i == 33) { Irok = 1; I = 0;31 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告} } else { Irtime = 0; Startflag = 1; } } /*********t0 定时*中断函数*************/ void t0() interrupt 1 using 3 { TH0 = ()/256; TL0 = ()%256; f--; key(); if(k == 0) { if(f &= t) { PWM1 = 1; PWM2 = 0; } else { PWM1 = 0; PWM2 = 0; } } else { if(f &= t) { PWM1 = 0; PWM2 = 1; } else { PWM2 = 0; PWM1 = 0; } } if(f == 1)32 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告{ f = 50; } } /*****************定时器 1 中断处理*****************/ void t1(void) interrupt 3 using 3 { irtime++; //用于计数 2 个下降沿之间的时间 } /****************按键扫描**************/ void key() { if(swap == 0) //如果按下, { k = ~ while(!swap); //去抖动 } if(open == 0) //启动 { while(open == 0); EN = ~EN; } if(add_speed == 0) //加速 { while (add_speed == 0); t++; } if(t &= 20) t = 20; if(sub_speed == 0) //减速 { while(sub_speed == 0); t--; } if(t &= 1) t = 1; if(mode == 0) //停止 { while(mode == 0); flag = ~ if(flag == 1) { T_control();33 电 气 工 程 学 院 2014 年 “ 萌 芽 计 划 ” 科 创 训 练 计 划 报 告} } if(irok) { Ircordpro(); irok = 0; } if(irpro_ok) //如果处理好后进行工作处理 { Ir_work(); } } /*****************红外码值处理************************/ void Ircordpro(void)//红外码值处理函数 { unsigned char i, j, unsigned char cord, k = 1; for(i = 0; i & 4; i++) //处理 4 个字节 { for(j = 1; j &= 8; j++) //处理 1 个字节 8 位 { cord = irdata[k]; if(cord & 7)//大于某值为 1,这个和晶振有绝对关系,这里使用 12M 计算, //此值可以有一定误差 value |= 0x80; if(j & 8) { value &&= 1; } k++; } IRcord[i] = value = 0; } irpro_ok = 1;//处理完毕标志位置 1 } //如果接收好了进行红外处理34
基于单片机的直流电机PWM调速控制系统的设计_电子/电路_工程科技_专业资料。基于...心得体会附件 1 /***基于单片机 AT89C51 的直流电机 PWM 调速控制系统***/...基于51单片机的pwm直流电机调速装置设计 - 电气工程学院 2014 年“萌芽计划”科创训练计划报告 西南交通大学电气工程学院 2014 年 “萌 芽计...基于51单片机的PWM直流电机调速系统设计――开题报告 - 西安交通大学城市学院 本科毕业设计(论文)开题报告 题 目 基于 51 单片机的 PWM 直流电机调速系统设计 所在...本文介绍一种基于MC51单片机控制的 PWM直流电机脉宽调速系统。系统以廉价的MC51单片机为控制核心,以直流电机为控制对象。从系统的角度出发,对电路进行总体方案论证设计...基于51系列单片机的直流电机PWM调速系统设计_调查/报告_表格/模板_实用文档。桂林...直流电机定子部分主要由主磁极,电刷装置和换向极等组成,转子部分 主要由电 枢...基于51系列单片机的直流电机PWM调速 - 南昌工程学院本科综合课程设计 第一章 直流电动机调速概述 ......基于单片机的PWM直流电机调速系统设计_工学_高等教育_教育专区。高性能 PWM 直流调速系统的设计与应用 现代工业的电力拖动一般都要求局部或全部的自动化,因此必然要与...基于单片机实现直流电机PWM调速系统毕业设计 - 西京学院学士学位论文 致谢 基于单片机实现直流电机 PWM 调速系统毕业设计 摘要 本文主要研究了利用 MCS-51 系列单片机...基于单片机AT89C51控制的直流电机PWM调速控制系统课程设计报告_工学_高等教育_教育专区。单片机51实习报告 第一章:前言 1.1 前言:直流电机的定义:将直流电能转换...摘 要 本文基于对 PWM 控制技术和 AT89C51 单片机直流调速系统的研究,设计了应用于 直流电动机的单片机控制的 PWM 电流转速双闭环直流调速系统,该系统能够实现对...
All rights reserved Powered by
www.tceic.com
copyright &copyright 。文档资料库内容来自网络,如有侵犯请联系客服。}

我要回帖

更多关于 单片机pwm控制cpu风扇 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信