四川师范大学成都学院本科毕业论文
开始 初始化 按键查询 OPEN是否按下 Add_speed是否按下 Sub_speed是否按下 时Swap或close是否按下 定时器T0开始计时 通过控制总中断使能EA控制电机的开关,同时使能对霍尔传感器输出的方波在单位时间内脉冲个数的计数。其中定时器T0,T1分别对脉冲的宽度、霍尔元件输出的脉冲数对应的1秒时间定时。对脉冲宽度的调整是通过改变高电平的定时长度,由变量high控制。变量change、 sub_speed 、add_speed分别实现电机的转向、加速、减速。
/***********通过按键实现对电机开关、调速、转向的控制的程序*****************/
void motor_control() {
if(open == 1)
EA = 1;
if(close == 1)
EA = 0;
if(swap == 1)
{
change = ~change;
10
是 是 是 改变转向或关闭电机 增大矩形波占空减小矩形波占空产生矩形波 图11 软件电机控制的方框图
四川师范大学成都学院本科毕业论文
while(swap != 0)
{}
}
if(sub_speed == 1)
{ high++; while(sub_speed != 0)
}
}
if(high == 30) {}
if(add_speed == 1) { high--; if(high == 5) high = 5;
while(add_speed != 0)
{}
}
11
EA=0;
四川师范大学成都学院本科毕业论文
2.测速软件设计
开始 初始化 OPEN是否按下 定时器T1开始计时 对单位时间内的脉冲计数 N 根据公式计算出电机的速度 液晶显示电机速度 图12 软件测速的方框图
/****T1中断服务程序********单位时间(S)方波的个数*************/ void time1_int(void) interrupt 3 {
count_speed++; if(count_speed == 20) { count_speed = 0;
num_display = num_medium; num_medium = 0; } }
12
四川师范大学成都学院本科毕业论文
3.系统功能调试
(一)调试软件介绍
Protel99SE是应用于Windows9X/2000/NT操作系统下的EDA设计软件,采用设计库管理模式,可以进行联网设计,具有很强的数据交换能力和开放性及3D模拟功能,可以完成电路原理图设计,印制电路板设计和可编程逻辑器件设计等工作,可以设计32个信号层,16个电源--地层和16个机加工层。按照系统功能来划分,Protel99se主要包含6个功能模块:电路工程设计部分、印刷电路板设计系统、自动布线系统、电路模拟仿真系统、可编程逻辑设计系统、高级信号完整性分析系统。存储器和特殊功能寄存器的存取、中断功能、灵活的指针
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。KEIL C51编译器由uVision2集成开发环境与编辑器和调试器以及C51编译器组成。其中uVision2集成开发环境中的工程(project)是由源文件、开发工具选项以及编程说明三部分组成的;编辑器和调试器包括源代码编辑器、断点设置、调试函数语言、变量和存储器。
Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。Proteus软件提供多种现实存在的虚拟仪器仪表。此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。提供Schematic Drawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。以虚代实、以软代硬,就建立一个完善的虚拟实验室。在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。当电路设计完成之后,为了减少在电路板上调试时的难度,保证电路设计的正确性,将Keil c51编译生成的*.HEX 文件
13
四川师范大学成都学院本科毕业论文
载入Proteus软件,实现电路仿真。 (二)直流电机的调速功能仿真
当按下open键时,电机开始工作。若需要加快电机的转速,则按下add_speed键,直到电机转速适中;相反,需要减慢电机的转速时,则按下sub_speed键,待转速满意后,放开按键。当然,在某种特定的环境下,还需改变电机的转速,此时,你可以按一下swap键,以达到改变电机转向的目的。当电机不工作时,则按下close键。
图13 直流电机调速系统的Proteus仿真图
1.调速前的波形图
图14 电机启动时的脉冲波形占空比
2.调速后的波形图
14