赞
踩
转眼间大三了,课程设计周:炉温控制实验。那好吧,挺简单的,不过还是要做下去。认真做的话能学到不少东西,做的深入的话要用到三款软件:KEIL PROTEUS MATLAB。
做完了仿真和源代码,测试结束。想不来了,不过估计可爱的老师会不同意,必须在这坐两个星期,没事做,来写一波博客记录下吧。
-- . -- duang~
先把炉温控制实验的要求贴出来:
课题要求 (这些都是废话,一般没看的习惯。。。) :
1. 了解温度控制系统的构成,熟悉各环节的工作原理。
2.建立炉温控制系统的数学模型。
3.控制算法要求使用PID算法,除了应用基本PID算法进行控制外,要求对该PID控制算法进行改进。分析改进前后的性能指标,并进行相应的理论分析。
4. 完成PID参数整定,调试出稳定的温度控制系统,观察并分析PID整定规律,保存最佳的整定参数与控制曲线图。
5. 设计编写采样、滤波、PID控制及优化算法等相关程序。
6. 实物的要求忘了....
随便看看,要求就行啦,一看实验名字就都懂的。
看见学校发了51单片机来做,Wow,心里那个激动啊,大一是捧在身心玩了好几个月的片子,启蒙老师~
First Blood:proteus仿真
拿到51做东西,第一件事情自然是安装proteus,坐出炉温控制的仿真,仿真做出来,调试代码的时候真的很舒服,正所谓磨刀不误砍柴工。
安装proteus:
百度云盘分享一下:http://pan.baidu.com/s/1hq7Z2S0
安装方法:
- //PID Calculate by Li
- tempchange();
- get_temp();
- f_temp_new = f_temp; // °
- f_temp_err = f_temp_new - f_temp_old; // ° 升温 大于 0 降温 小于 0
- f_temp_rate = f_temp_err / 0.25; // °/s
- f_temp_old = f_temp_new; // °
- //
- /********PID Calculate Hot Time************/
- void PID(){
- hot_time = Canshu_P * (Set_Temp - f_temp_new * 10) + Canshu_D * f_temp_rate * 10;
- }
- void Timer0_ISR(void) interrupt 1 /*50ms中断服务程序*/
- {
- TH0 = (65536 - 50000) / 256;
- TL0 = (65536 - 50000) % 256; /*重装初值*/
- /******************PID闭环控制******************************/
- time ++ ; //time x 50ms
- if(hot_time > 0){
- hot_time --;
- RELAY = 0; //继电器工作
- LED_YELLOW = 0; //黄亮
- }
- if(hot_time <= 0){
- RELAY = 1; //继电器停止
- LED_YELLOW = 1; //黄灭
- hot_time = 0;
- }
- if(time == 20){ //1秒一次
- time = 0;
- now_time ++; //单片机内部计时
- if(Flag == 2){
- if(set_time > 0){
- set_time --;
- }
- }
- if(now_time == 999){
- now_time = 0;
- }
- //PID Calculate by Li
- tempchange();
- get_temp();
- f_temp_new = f_temp; // °
- f_temp_err = f_temp_new - f_temp_old; // ° 升温 大于 0 降温 小于 0
- f_temp_rate = f_temp_err / 0.25; // °/s
- f_temp_old = f_temp_new; // °
- //
- PID();
- }
- /**********************************************************/
- /**********************检测按键****************************/
- if(SET == 0 && (Flag == 0 || Flag == 2)){
- Flag = 1;
- delay(180);
- }
- if(Flag == 1){ //温度定好 运行
- if(ADD == 0){
- Set_Temp += 10;
- delay(180);
- }
- if(CUT == 0){
- if(Set_Temp >= 10)
- Set_Temp -= 10;
- delay(180);
- }
- if(END == 0){
- Flag = 0; //预定温度运行
- delay(180);
- }
- }
- if(ADD == 0 && (Flag == 0 || Flag == 2)){
- Flag = 3;
- delay(180);
- }
- if(Flag == 2){
- if(set_time > 0){
- RELAY = 0; //继电器工作
- LED_YELLOW = 0; //黄亮
- } else {
- RELAY = 1; //继电器停止
- LED_YELLOW = 1; //黄灭
- }
- }
- if(Flag == 3){ //时间定好 运行
- if(ADD == 0){
- set_time += 5;
- delay(180);
- }
- if(CUT == 0){
- if(set_time >= 5)
- set_time -= 5;
- delay(180);
- }
- if(END == 0){
- Flag = 2; //预定时间运行
- delay(180);
- }
- }
- /**********************************************************/
- }
Matlab7.0安装教程
要配置环境变量,如下:右键我的电脑(计算机)——属性——高级系统设置——在高级选项卡中,点环境变量——在系统变量中,吧TEMP、TMP的路径改为C:\temp
在C盘下建一个临时文件夹(安装时用)
3.直接双击压缩包中的setup(注意不用解压缩)
所示在红线内属于序列号。有以下序列号可供选择:
Matlab 7 (R14) 注册码1:14-13299-56369-16360-32789-51027-35530-39910-50517-56079-43171-43696-14148-64597-46518-35191-10070-58980-25665-36629-51033-46438-01127-52395-28569-20030-38795-14563-11876-23292-58825-37547-05827-26397
Matlab 7 (R14) 注册码2:14-58204-39252-07634-11570-16849-09455-22809-05445-13616-29058-08276-06885-12215-41987-21894-60423-57622-18647-58411-24238-20443-59027-07209-27706-28292-14609-15393-48293-13036-12293-43713-57876-43362
Matlab 7 (R14) 注册码3:14-44889-04614-04275-46147-23559-43066-41714-23083-65272-04997-17469-27919-17226-59862-27901-53983-56217-20094-53460-62647-58166-24499-35558-19511-44882-53016-25658-61109-03776-34505-00776-15813-07183
接下来就可以使用matlab了。
可即使按照这样做仍然会出现一些问题,别急!是问题总会有解决的方法。
笔者结合多次安装matlab7.0现将问题解决方案总结如下:
步骤6,7,8均为注意事项,若照以上步骤安装成功可忽略6,7,8
1、运行安装exe时就弹出对话框不能安装。
解决方法:
更改:我的电脑>属性>高级>环境变量>,然后将TEMP和TMP的值都改为C:\temp
2、解压后仍有许多压缩文件,点击stup.exe时出现警告
The installer cannot read the mwinstall.dll file, This is probably due to a CD reader which canshowLinkBubble(this);returnfalse"href="http://www.mathworks.com/"target="_blank">http://www.mathworks.com/ for assistance.
解决方法:
你把安装文件夹复制到一个英文文件夹中,比如直接解压到C盘,点击setup.exe安装即可。很多国外软件放在有中文名的文件夹中运行,这是一个bug。比如win-tc对中文特别敏感。所以建议初学者将这些软件(包括MATLAB)都安装在C盘。
3、运行MATLAB时出现Runtime Error,症状如下:
runtime error
program:E:\MATLAB7\bin\win32\MATLAB.exe
this application has requested the runtime to terminate it in an unusual way. please contact the application's support team for more information
另一个对话框里边还有一串JAVA程序。
解决方法:
把电脑主题改成了WindowXP经典主题,再次运行,就OK了。
如果不想启用经典模式,也有另一种解决方法:点击桌面的matlab快捷方式,右键点击“属性”,,点兼容性,选择用兼容模式运行,例如用WIN2000运行就可以了!这下好了吧,即不换回你漂亮的主题,又可用matlab了
4、Matlab安装后可能会遇到这样的问题,打开后窗口出来了,但一会儿以后又自动关闭了! 解决方法:
①、我的电脑—>属性—>高级—>环境变量.
②、在系统变量下面添加如下内容
点击新建,输入:
变量名:BLAS_VERSION
变量值:C:\Matlab7\bin\win32\atlas_Athlon.dll
(变量值的第一个字母为你的MATLAB安装在那个盘的盘符名,如在C盘即为C:\Matlab7\bin\win32\atlas_Athlon.dll。在E盘即为:E:\Matlab7\bin\win32\atlas_Athlon.dll)
5、运行MATLAB时,窗口显示:The element type "name" must be terminated by the matching end-tag "".Could not parse the file: e:\matlab\toolbox\ccslink\ccslink\info.xml
解决方法:
①、找到安装文件目录下的info.xml文件,路径为:C:\matlab\toolbox\ccslink\ccslink(以安装在C盘为例)
②、用记事本方式打开info.xml,找到里面的一行Link for Code Composer Studio?/name>,然后把/name>改为就可以了。
6、安装MATLAB时,有一个对话框显示:To configure Real-Time Windows Target you must type 'rtwintgt -setup' in a MATLAB command window
解决方法:
在安装好的MATLAB窗口中输入:rtwintgt –setup,再回车。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。