四川师范大学成都学院本科毕业论文
图15 电机减速后的脉冲波形占空比
(三)电机速度的测量并显示功能仿真
对电机转速的显示,为使用者提供了更为直观的界面。用户可以根据液晶显示屏上的数字,调整电机的转速,为调速提供了方便。从显示数字的稳定程度,也可以判断电机转速的稳定性。若显示数字几乎不变,则说明电机工作十分稳定;与之相反,显示数字不停地变化,则说明电机工作非常不稳定。
图16 直流电机系统的Proteus仿真
(四)系统的电路原理图
15
四川师范大学成都学院本科毕业论文
图17 直流电机调速系统的Protel原理图
由电源模块、单片机控制单元、电机驱动电路、LCD显示电路、霍尔传感器电路构成。
(五)系统的PCB图
图18 直流电机调速系统的ProtelPCB图
16
四川师范大学成都学院本科毕业论文
4.设计总结
经过2个星期的课程设计,留给我印象最深的是要设计一个成功的电路,必须要有要有扎实的理论基础,还要有坚持不懈的精神。
本产品实现了对直流电机的调速和测速,个人感觉其中还有许多不够完善的地方,例如:对电机的控制采用的是独立按键,而非矩阵键盘;电机的驱动电路的设计也不是很成熟。
此次的设计并不奢望一定能成功,但一定要对已学的各种电子知识能有一定的运用能力,我做设计的目的是希望能检查下对所学知识的运用能力的好坏,并且开始慢慢走上创造的道路,这是非常可贵的一点。
5.参考文献
[1] 傅丰林.模拟电子线路基础 [M]. 西安:西安电子科技大学出版社,2001.1
[2] 江志红.51单片机技术与应用系统开发案列精选 [M]. 北京:清华大学出版社,2008.12 [3] 王选民 智能仪器原理及设计 [M]. 北京:清华大学出版社,2008.7 [4] 文东 孙鹏飞 C语言程序设计 [M]. 北京:中国人民大学出版社,2009.2 [5] 杨加国 单片机原理与应用及C51程序设计 [M]. 北京:清华大学出版社,2008.3
附录
#include
#define uchar unsigned char #define uint unsigned int
sbit open = P2^0; sbit close = P2^1; sbit swap = P2^2; sbit sub_speed = P2^3; sbit add_speed = P2^4;
sbit PWM1 = P3^0;
17
四川师范大学成都学院本科毕业论文
sbit PWM2 = P3^1;
/************************液晶显示*************/ sbit E=P3^7; sbit RW = P3^6; sbit RS = P3^5; sbit test = P3^4;
int time = 0; int high = 20; int period = 30; int change = 0; int flag = 0; int num_medium = 0; int num_display = 0; int count_speed = 0;
uchar wword[]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};
/*******************延时t毫秒****************/ void delay(uchar t) { uint i; while(t) {
/*对于11.0592MHz时钟,延时1ms*/ for(i=0;i<125;i++); t--;
} }
//写命令函数LCD
18
四川师范大学成都学院本科毕业论文
void wc51r(uchar j) { RS=0;
RW=0;
P1=j; E=1; E=0; delay(3);
}
//写数据函数LCD void wc51ddr(uchar j) { RS=1;
RW=0; P1=j; E=1; E=0; delay(2);
}
//初始化函数LCD void init() { wc51r(0x01); //清屏
wc51r(0x38); //使用8位数据,显示两行,使用5*7的字型 wc51r(0x0c); //显示器件,光标开,字符不闪烁
wc51r(0x06); //字符不动,光标自动右移一格 }
19