当前位置:文档之家› 天津大学 智能装置课程设计报告

天津大学 智能装置课程设计报告

天津大学 智能装置课程设计报告
天津大学 智能装置课程设计报告

智能装置课程设计报告

一、设计题目空调控制系统

二、设计目的

1. 深入了解PIC16F877单片机的工作原理,熟练掌握汇编语言程序设计方法,熟

练使用MPLAB-ICD仿真器及MPLAB-IDE仿真调试软件。

2.通过该课程设计使学生初步掌握以单片机为核心的智能装置设计的简单原则、

步骤和方法。

3.熟悉智能装置设计中有关的硬件设计调试,如人机界面等。

4.熟悉智能装置设计中相关软件的设计、编程和调试。

三、设计内容

1.以16F877单片机为核心,结合给出的其他原器件和智能装置实验系统原有的

内容设计空调遥控系统硬件电路。

2.利用实验系统提供的电机模拟空调的压缩机,按键及LED显示模拟遥控器,

可调电阻模拟温度传感器(可调电阻输出电压1-3V代表10-30℃)。

3.编制软件实现设置温度、起停空调、温度控制、风速控制等功能。

4.利用MAX515实现低、中、高3档风速调整。

5.实现空调温度自动控制,温度高于设定温度2度启动低风,高于4度启动中风,

4度以上启动高风。(选做)

四、设计要求

1.根据实验指导书的设计内容及所给出的元件,设计空调系统硬件原理图。

2.按照设计好的硬件原理图在实验板上用导线搭建硬件电路。

3.用万用表检查硬件电路连接是否正确,检查无误后上电并编制简单的测试程

序分步调试各部分功能。

4.在各部分功能实现后,编制完整的空调系统软件,并进行软硬件联调,直到达

到设计要求。

5.按照设计内容要求测试仪表误差并做分析,给出仪表精度,完成后由教师进行

验收检查。

五、实验设备

1.MPLAB-ICD模块与仿真头

2. 智能装置实验系统

3. 安装了MPLAB-IDE开发软件的计算机

4. 数字万用表

5. 导线若干

六、实验项目

1. 设计空调系统硬件电路

⑴采用16F877单片机,利用实验板上提供的电机、MAX515构成空调系统,利用按键及LED构成控制器,可调电阻模拟温度(可调电阻输出电压1-3V代表10-30℃)。

(2)将设置的温度值、空调工作状态通过LED显示

(3)利用MAX515输出调整电压,控制转速。

2.硬件电路连接与检查

⑴将设计好的电路由指导老师检查完毕后,在实验系统上用导线将实际的电路连接

出来。

⑵接线完成后对照原理图用万用表逐根连线检查电路连接是否正确,特别是电源

VCC和VDD有无短路。

⑶检查无误后连接仿真头后通电。

3.编制软件对硬件电路分步调试

(1)对数码管显示电路进行调试,编制简单程序实现将数据在数码管上显示

#include

#include "temperature_header_file.h"

#define DECODE_MODE 0x09 //译码控制寄存器

#define INTENSITY 0x0A //亮度控制寄存器

#define SCAN_LIMIT 0x0B //扫描界限寄存器

#define SHUT_DOWN 0x0C //关断模式寄存器

#define DISPLAY_TEST 0x0F //测试控制寄存器

#define DIG0 0x02 //DIG0

void max7219_write(unsigned char address,unsigned char dat);

void max7219_init(void);

void delay1();

void delay();

void init();

int get_ad();

unsigned char a=0;

void max7219_write(unsigned char address,unsigned char dat)

{

unsigned char i;

MAX7219_LOAD=0; //拉低片选线,选中器件

//发送地址

for (i=0;i<8;i++) //移位循环8次,最高频率为10MHz {

MAX7219_CLK=0; //清零时钟总线

if(address&(1<<7-i))

MAX7219_DIN=1; //每次取高字节else

MAX7219_DIN=0;

MAX7219_CLK=1; //时钟上升沿,发送地址}

//发送数据

for (i=0;i<8;i++)

{

MAX7219_CLK=0;

if(dat&(1<<7-i))

MAX7219_DIN=1; //(bit)(data&0x80); //每次取高字节else

MAX7219_DIN=0;

MAX7219_CLK=1; //时钟上升沿,发送数据}

MAX7219_LOAD=1; //发送结束,上升沿锁存数据}

void max7219_init(void)

{

TRISD=0x00;

PORTD=0x00;

MAX7219_LOAD=1;

max7219_write(SHUT_DOWN,0x01); //开启正常工作模式(0xX1)max7219_write(DISPLAY_TEST,0x00); //选择工作模式(0xX0)

max7219_write(DECODE_MODE,0xFF); //选用全译码模式

max7219_write(SCAN_LIMIT,0x03); //只用前4只LED ;这里没问题

max7219_write(INTENSITY,0x04); //设置初始亮度

}

void main(void)

{

unsigned char i;

max7219_init(); //MAX7219初始化

init();

while(1)

{

a=get_ad();

max7219_write(0x02,a); //数码管显示

max7219_write(0x04,a); //数码管显示

delay1();

}

}

void delay1()

{

for(int i=20000;i>0;i--);

}

void init()

{

TRISA=0x01;//A口RA0输入

TRISC=0x00;

PORTA=0x00;

PORTC=0x00;

ADCON0=0x41;//0100 0001 8倍fosc 0通道开ad

ADCON1=0x0e;//0000 1110 adfm=0 直接读低8位1110 选择RA0

delay();

}

int get_ad()

{

int adval;

ADGO=1;

while(ADGO)

{;}

adval=ADRESH;

return adval;

}

void delay()

{

for(int i=500;i>0;i--);

}

(2)编制MAX515程序,驱动电机旋转。

#include

#include "temperature_header_file.h"

void max515_write(unsigned char data)

{

unsigned char i;

MAX515_CS=0; //拉低片选线,选中器件

//发送地址

for (i=0;i<8;i++) //移位循环8次,最高频率为10MHz {

MAX515_SCLK=0; //清零时钟总线

if(data&(1<<11-i))

MAX515_DIN=1; //每次取高字节

else

MAX515_DIN=0;

MAX515_SCLK=1; //时钟上升沿,发送地址}

MAX515_CS=1; //发送结束,上升沿锁存数据

}

void max515_init(void)

{

TRISD=0x00;

PORTD=0x00;

MAX515_CS=1;

MAX515_SCLK=0;

}

void main(void)

{

max515_init(); //MAX515初始化while(1)

{

max515_write(0x00AF);

//0x00FF--4.69V,0x00CF--2.53V,0x00AF--1.27V,0x00--0V }

}

(3)编制按键程序,控制显示和电机的起停。

#include

#include "temperature_header_file.h"

int ONOFF=0; //0--off,1--on

int MANAUTO=0; //0--manual,1--auto

int SPEEDCTRL=0;

int TEMPCTRL=20;

void key_init();

void key_onoff();

void key_ctrl();

void key_manauto();

void delay();

void main(void)

{

while(1)

{;}

}

void key_onoff()

{

if(RC3==1 && ONOFF==0) //按下开

{

delay();

if(RC3==1)

{ONOFF=1;}

}

if(RC3==1 && ONOFF==1) //再按下关

{

delay();

if(RC3==1)

{ONOFF=0;}

}

}

void key_manauto()

{

if(ONOFF==1)

{

if(RC2==0 && MANAUTO==0) //手动切自动

{

delay();

if(RC2==0)

{MANAUTO==1;}

}

if(RC2==0 && MANAUTO==1) //自动切手动

{

delay();

if(RC2==0)

{MANAUTO==0;}

}

}

}

void key_ctrl()

{

if(ONOFF==1 && MANAUTO==0) //开且为手动,上下键调整风速{

if(RC0==0 && SPEEDCTRL>=0)

{

delay();

if(RC0==0)

{

SPEEDCTRL=SPEEDCTRL-1;

}

}

if(RC1==0 && SPEEDCTRL<=3)

{

delay();

if(RC1==0)

{

SPEEDCTRL=SPEEDCTRL+1;

}

}

}

if(ONOFF==1 && MANAUTO==1) //开且为自动,上下键调整温度

{

if(RC0==0 && SPEEDCTRL>=10)

{

delay();

if(RC0==0)

{

TEMPCTRL=TEMPCTRL-1;

}

}

if(RC1==0 && SPEEDCTRL<=30)

{

delay();

if(RC1==0)

{

TEMPCTRL=TEMPCTRL+1;

}

}

}

}

void key_init()

{

TRISC=0x00;

PORTC=0xFF;

TRISC=0xFF;

}

void delay()

{

for(int i=2000;i>0;i--);

}

⑷每部分编制结束并调试通过后,与前面的程序依次连接成大程序并调试出结果,最终完成整个程序的编制与调试。

该部分程序将在第九部分程序清单中呈现。

4.仪表软硬件联调实现要求的功能

⑴将各部分程序进行组合,逐项实现设计要求的功能。

我们编写程序的顺序与上述步骤不完全相同。首先,我们实现了四个按键的所有逻辑功能,并在按键子程序中提供了其他模块接入的接口。再按照先调试输入部分、后调试输出部分的顺序进行程序的编写,第二步实现了电压信号的A/D转换并将数字信号输入PIC单片机,接下来实现了按键通过MAX515芯片及驱动电路对电机的转速有级调节,最后实现了将温度LED数码管显示的功能。

⑵功能完成后用万用表对可调电阻输出和温度显示对应取若干个点记录实验结果。

利用MATLAB对以上数据进行分析,可以看出电压与温度采集的A/D信号呈线性关系。

⑶编制使用说明

我组设计的温度自动控制空调装置由以下几部分组成:温度传感器(用电压信号模拟)、温度显示、空调压缩机(用电机模拟)、遥控器(用按键模拟)等几部分组成。下面简要介绍遥控器(按键)部分的使用方法,并简要说明数码管显示功能。

按键共有四个,分别为开关键、自动/手动切换键、加温度键(自动模式)/加风速键(手动模式)、减温度键(自动模式)/减网速键(手动模式)。初始状态空调为关,电机停转。按下开关键一次,空调处于ON状态,再按开关键一次,空调处于OFF状态。在空调处于ON状态时,默认空调处于手动模式,且风速为最小。风速分为0、1、2、3四个控制档,0

%2%1000

501

max

=?-=e 为停止,3为最大。当空调处于手动模式时,每按下一次加风速键,风速增大一档,达到3以后再按下该键,风速不再增大;每按下一次减风速键,风速减小一档,达到0以后再按下该键,风速不再减小。若在手动模式时按下自动/手动切换键,则空调进入自动温控工作模式,系统初始设定温度为20度。每按下一次加温度键,设定温度增加一度,达到30度后不再增加;每按下一次减速温度键,设定温度减小一度,达到10度后不再减小。自动温控的方式为:当环境温度低于设定温度时,风速置为0档;当环境温度高于设定温度2度以内时,风速置为1档;当环境温度高于设定温度2度至4度时,风速置为2档;当环境温度高于设定温度4度以上时,风速置为3档。当空调处于ON 状态时,不论处于哪种工作状态,一旦按下开关键,系统停止运行,并且所有状态恢复初始值。

数码管显示部分:左边的两个数码管不论空调处于开/关状态,始终显示环境温度(10度~30度),起到温度计的作用。右边的两个数码管当处于手动模式时,左侧的数码管将显示风速档位,右侧的始终显示0;当处于自动模式时,显示设定温度。

⑷ 误差分析

本套智能空调设置我们采用0~5V 电压信号作为模拟输入信号,经PIC 单片机的片内集成A/D 转换后变为8位的数字信号,相当于0V 对应数字量0x00,5V 对应数字量0xFF 。我们将数字量信号除以5,使得数字量变为0~50(51只对应0xFF 一个数字量,故忽略),正好对应0℃至50℃温度,即0V 对应0℃,5V 对应5℃,A/D 转换是线性变换,故取一部分转换结果,其对应关系也为线性,即1V 对应10℃,3V 对应30℃,即符合设计要求。

误差分析:由于对数字信号除5取整,故显示的温度值为向下取整,损失了部分精度。最大测量误差为:

七、调试的步骤及调试过程中出现的问题和解决的方法

调试步骤已经在上一部分进行过介绍,故不赘述。下面说明在调试过程中出现的问题和解决的方法。这一次课程设计遇到的最大问题就是MAX7219的写入问题。7219的写入顺序为:先拉低CS 片选信号,在每个时钟信号上升沿发送一位数据,并将数据移位,循环16次。为使程序清晰易读,对输出端口采用宏定义方式,然而在调试中我们发现PICC 编译器无法识别该宏定义,导致MAX7219的控制时序逻辑错误,浪费了我们很多的时间。将宏定义去掉,改用实际端口表示后,该问题解决。

八、软件设计流程图及带注释的全部程序的清单

///////////////temperature_header_file.h/////////////// #include

//Define MAX7219

#define MAX7219_DIN RD2

#define MAX7219_LOAD RD0

#define MAX7219_CLK RD1

//Define MAX515

#define MAX515_DIN RD5

#define MAX515_SCLK RD4

#define MAX515_CS RD3

//Define Analog Input

#define AINPUT RA0

///////////////ad.c///////////////

#include

#include "temperature_header_file.h"

char get_ad()

{

char adval;

ADGO=1;

while(ADGO)

{;}

adval=ADRESH;

return adval;

}

///////////////delay.c///////////////

void delay_short(int x)

{

int i;

for(;x>0;x--)

{

for(i=100;i>0;i--)

{;}

}

}

void delay_long(int x)

{

int i;

for(;x>0;x--)

{

for(i=1000;i>0;i--)

{;}

}

}

///////////////init.c///////////////

#include

#include "temperature_header_file.h"

void init()

{

//AD输入、按键输入、LED显示输出初始化

TRISA=0x01; //RA0作为模拟量输入接口

PORTA=0x00;

TRISC=0x0F; //RC0~RC3为四个按键输入,RC4~RC7为四个LED灯显示PORTC=0x00;

ADCON0=0x41;//0100 0001 8倍fosc 0通道开ad

ADCON1=0x0e;//0000 1110 adfm=0 直接读低8位1110 选择RA0

//MAX515,MAX7219接口初始化

TRISD=0x00; //RD0~RD2为MAX7219接口,RD3~RD5为MAX515接口PORTD=0x1B; //0b xx 011 011 //要检查!!!

}

///////////////key.c///////////////

#include

#include "temperature_header_file.h"

extern char ONOFF; //0--off,1--on

extern char MANAUTO; //0--manual,1--auto

extern char SPEEDCTRL; //风速控制,初始值为0档(停转)

extern char TEMPCTRL; //设定温度值,初始值为20度

extern char BTEMP;

void delay_short(int x);

void delay_long(int x);

/*void main(void)

{

while(1)

{;}

}*/

void key_onoff()

{

if(RC3==0 && ONOFF==0) //按下开

{

delay_short(2);

if(RC3==0 && ONOFF==0)

{

ONOFF=1;

delay_long(20); //会不会延时太长?

}

}

if(RC3==0 && ONOFF==1) //再按下关

{

delay_short(2);

if(RC3==0 && ONOFF==1)

{

ONOFF=0;

delay_long(20);

}

}

}

void key_manauto()

{

if(ONOFF==1)

{

if(RC2==0 && MANAUTO==0) //手动切自动

{

delay_short(2);

if(RC2==0 && MANAUTO==0)

{

MANAUTO=1;

delay_long(20);

}

}

if(RC2==0 && MANAUTO==1) //自动切手动

{

delay_short(2);

if(RC2==0 && MANAUTO==1)

{

MANAUTO=0;

delay_long(20);

}

}

}

}

void key_ctrl()

{

if(ONOFF==1 && MANAUTO==0) //开且为手动,上下键调整风速

{

if(RC0==0 && SPEEDCTRL>0) //原来为大于等于0,貌似不对,因为等于0时不能再减1了

{

delay_short(2);

if(RC0==0 && SPEEDCTRL>0)

{

SPEEDCTRL=SPEEDCTRL-1;

delay_long(20);

}

}

if(RC1==0 && SPEEDCTRL<3) //原来为小于等于3,貌似不对,因为等于3时不能再加1了

{

delay_short(2);

if(RC1==0 && SPEEDCTRL<3)

{

SPEEDCTRL=SPEEDCTRL+1;

delay_long(20);

}

}

}

if(ONOFF==1 && MANAUTO==1) //开且为自动,上下键调整温度

{

if(RC0==0 && TEMPCTRL>10) //判断条件改动同上

{

delay_short(2);

if(RC0==0 && TEMPCTRL>10)

{

TEMPCTRL=TEMPCTRL-1;

delay_long(20);

}

}

if(RC1==0 && TEMPCTRL<30) //判断条件改动同上

{

delay_short(2);

if(RC1==0 && TEMPCTRL<30)

{

TEMPCTRL=TEMPCTRL+1;

delay_long(20);

}

}

}

}

///////////////max515.c///////////////

#include

#include "temperature_header_file.h"

void max515_write(unsigned char data)

{

unsigned char i;

MAX515_CS=0; //拉低片选线,选中器件

//发送地址

for (i=0;i<8;i++) //移位循环8次,最高频率为10MHz {

MAX515_SCLK=0; //清零时钟总线

if(data&(1<<11-i))

MAX515_DIN=1; //每次取高字节

else

MAX515_DIN=0;

MAX515_SCLK=1; //时钟上升沿,发送地址}

MAX515_CS=1; //发送结束,上升沿锁存数据

}

///////////////max7219.c///////////////

#include

#include "temperature_header_file.h"

#define DECODE_MODE 0x09 //译码控制寄存器

#define INTENSITY 0x0A //亮度控制寄存器

#define SCAN_LIMIT 0x0B //扫描界限寄存器

#define SHUT_DOWN 0x0C //关断模式寄存器

#define DISPLAY_TEST 0x0F //测试控制寄存器

void max7219_write(unsigned char address,unsigned char dat)

{

unsigned char i;

RD0=0; //拉低片选线,选中器件

//发送地址

for (i=0;i<8;i++) //移位循环8次,最高频率为10MHz

{

RD1=0; //清零时钟总线

if(address&(1<<7-i))

RD2=1; //(bit)(data&0x80); //每次取高字节??????

else

RD2=0;

RD1=1; //时钟上升沿,发送地址

}

//发送数据

for (i=0;i<8;i++)

{

RD1=0;

if(dat&(1<<7-i))

RD2=1; //(bit)(data&0x80); //每次取高字节??????

else

RD2=0;

RD1=1; //时钟上升沿,发送数据

}

RD0=1; //发送结束,上升沿锁存数据

}

//MAX7219初始化

void max7219_init()

{

max7219_write(SHUT_DOWN,0x01); //开启正常工作模式(0xX1)

max7219_write(DISPLAY_TEST,0x00); //选择工作模式(0xX0)

max7219_write(DECODE_MODE,0xFF); //选用全译码模式

max7219_write(SCAN_LIMIT,0x03); //只用前4只LED ;这里没问题

max7219_write(INTENSITY,0x04); //设置初始亮度

max7219_write(0x04,0xF8);

max7219_write(0x03,0xF8);

max7219_write(0x02,0xF8);

max7219_write(0x01,0xF8);

}

///////////////////main.c//////////////////

#include

#include "temperature_header_file.h"

void init();

void max7219_init();

void delay_long(int x);

void delay_short();

void key_onoff();

void key_manauto();

void key_ctrl();

void max515_write(unsigned char data);

void max7219_write(unsigned char address,unsigned char dat);

char get_ad();

//这里的静态变量定义有些问题!待解决!

char ONOFF=0; //0--off,1--on

char MANAUTO=0; //0--manual,1--auto

char SPEEDCTRL=0; //风速控制,初始值为0档(停转)

char TEMPCTRL=20; //设定温度值,初始值为20度(实际温度)char TEMPOBSV=20; //实际检测温度,在ad.c中引用

char oa=0; //存放环境温度十位

char ob=0; //存放环境温度个位

char ca=0; //存放设定温度十位

char cb=0; //存放设定温度个位

void main()

{

init();

max7219_init();

while(1)

{

key_onoff();

key_manauto();

key_ctrl();

////////////温度检测及显示转换

TEMPOBSV=get_ad();

TEMPOBSV=TEMPOBSV/5; //测量环境温度

if(TEMPOBSV > 0x1D)

{ TEMPOBSV=30; }

if(TEMPOBSV < 0x0A) //使环境温度测量范围为10度至30度

{ TEMPOBSV=10; }

oa=TEMPOBSV/10; //取环境温度十位

ob=TEMPOBSV%10; //取环境温度个位

ca=TEMPCTRL/10; //取设定温度十位

cb=TEMPCTRL%10; //取设定温度个位

////////////手动模式控制风速

if(ONOFF==0)

{

max515_write(0x0000);

max7219_write(0x04,0x0F);

max7219_write(0x03,0x0F);

max7219_write(0x02,0x0F);

max7219_write(0x01,0x0F);

MANAUTO=0;

SPEEDCTRL=0;

}

if(ONOFF==1 && MANAUTO==0)

{

if(SPEEDCTRL==0)

{

max515_write(0x0000);

max7219_write(0x02,0x00); //写入DIG1

max7219_write(0x01,0x00); //写入DIG0

}

if(SPEEDCTRL==1)

{

max515_write(0x00AF);

max7219_write(0x02,0x01); //写入DIG1

max7219_write(0x01,0x00); //写入DIG0

}

if(SPEEDCTRL==2)

{

max515_write(0x00CF);

max7219_write(0x02,0x02); //写入DIG1

max7219_write(0x01,0x00); //写入DIG0

}

if(SPEEDCTRL==3)

{

max515_write(0x00FF);

max7219_write(0x02,0x03); //写入DIG1

max7219_write(0x01,0x00); //写入DIG0 }

}

///////////自动模式控制温度

if(ONOFF==1 && MANAUTO==1)

{

if(TEMPOBSV-TEMPCTRL <= 0)

{ max515_write(0x0000); }

else if(TEMPOBSV-TEMPCTRL < 2)

{ max515_write(0x00AF); }

else if(TEMPOBSV-TEMPCTRL < 4)

{ max515_write(0x00CF); }

else

{ max515_write(0x00FF); }

max7219_write(0x02,ca); //写入DIG1

max7219_write(0x01,cb); //写入DIG0

}

max7219_write(0x04,oa); //写入DIG3

max7219_write(0x03,ob); //写入DIG2

////////////////////////////////

if(TEMPOBSV==30)

{

RC5=0;RC7=0;

RC4=1;RC6=1;

delay_long(10);

RC5=1;RC7=1;

RC4=0;RC6=0;

delay_long(10);

}

if(TEMPOBSV<30)

{

RC4=0;RC5=0;RC6=0;RC7=0;

}

}

}

人工智能课程设计报告--动物识别系统

计算机科学与技术学院 《人工智能》课程设计报告设计题目:动物识别系统 设计人员:学号: 学号: 学号: 学号: 学号: 学号: 指导教师: 2015年7月

目录 目录 (1) 摘要 (2) Abstract (2) 一、专家系统基本知识 (3) 1.1专家系统实际应用 (3) 1.2专家系统的开发 (3) 二、设计基本思路 (4) 2.1知识库 (4) ....................................................................................................... 错误!未定义书签。 2.1.2 知识库建立 (4) 2.1.3 知识库获取 (5) 2.2 数据库 (6) ....................................................................................................... 错误!未定义书签。 ....................................................................................................... 错误!未定义书签。 三、推理机构 (7) 3.1推理机介绍 (7) 3.1.1 推理机作用原理 (7) ....................................................................................................... 错误!未定义书签。 3.2 正向推理 (7) 3.2.1 正向推理基本思想 (7) 3.2.2 正向推理示意图 (8) 3.2.3 正向推理机所要具有功能 (8) 3.3反向推理 (8) ....................................................................................................... 错误!未定义书签。 3.3.2 反向推理示意图 (8) ....................................................................................................... 错误!未定义书签。 四、实例系统实现 (9)

单片机课程设计报告——智能数字频率计汇总

单片机原理课程设计报告题目:智能数字频率计设计 专业:信息工程 班级:信息111 学号:*** 姓名:*** 指导教师:*** 北京工商大学计算机与信息工程学院

1、设计目的 (1)了解和掌握一个完整的电子线路设计方法和概念; (2)通过电子线路设计、仿真、安装和调试,了解和掌握电子系统研发产品的一个基本流程。 (3)了解和掌握一些常见的单元电路设计方法和在电子系统中的应用: 包括放大器、滤波器、比较器、计数和显示电路等。 (4)通过编写设计文档与报告,进一步提高学生撰写科技文档的能力。 2、设计要求 (1)基本要求 设计指标: 1.频率测量:0~250KHz; 2.周期测量:4mS~10S; 3.闸门时间:0.1S,1S; 4.测量分辨率:5位/0.1S,6位/1S; 5.用图形液晶显示状态、单位等。 充分利用单片机软、硬件资源,在其控制和管理下,完成数据的采集、处理和显示等工作,实现频率、周期的等精度测量方案。在方案设计中,要充分估计各种误差的影响,以获得较高的测量精度。 (2)扩展要求 用语音装置来实现频率、周期报数。 (3)误差测试 调试无误后,可用数字示波器与其进行比对,记录测量结果,进行误差分析。 (4)实际完成的要求及效果 1.测量范围:0.1Hz~4MHz,周期、频率测量可调; 2.闸门时间:0.05s~10s可调; 3.测量分辨率:5位/0.01S,6位/0.1S; 4.用图形液晶显示状态、单位(Hz/KHz/MHz)等。 3、硬件电路设计 (1)总体设计思路

本次设计的智能数字频率计可测量矩形波、锯齿波、三角波、方波等信号的频率。系统共设计包括五大模块: 主芯片控制模块、整形模块、分频模块、档位选择模块、和显示模块。设计的总的思想是以AT89S52单片机为核心,将被测信号送到以LM324N为核心的过零比较器,被测信号转化为方波信号,然后方波经过由74LS161构成的分频模块进行分频,再由74LS153构成的四选一选择电路控制档位,各部分的控制信号以及频率的测量主要由单片机计数及控制,最终将测得的信号频率经LCD1602显示。 各模块作用如下: 1.主芯片控制模块: 单片机AT89S52 内部具有2个16位定时/计数器T0、T1,定时/计数器的工作可以由编程来实现定时、计数和产生计数溢出时中断要求的功能。利用单片机的计数器和定时器的功能对被测信号进行计数。以AT89S52 单片机为控制核心,来完成对各种被测信号的精确计数、显示以及对分频比的控制。利用其内部的定时/计数器完成待测信号周期/频率的测量。 2.整形模块:整形电路是将一些不是方波的待测信号转化成方波信号,便于测量。本设计使用运放器LM324连接成过零比较器作为整形电路。 3.分频模块: 考虑单片机利用晶振计数,使用11.0592MHz 时钟时,最大计数速率将近500 kHz,因此需要外部分频。分频电路用于扩展单片机频率测量范围,并实现单片机频率测量使用统一信号,可使单片机测频更易于实现,而且也降低了系统的测频误差。本设计使用的分频芯片是74LS161实现4分频及16分频。 4.档位选择模块:控制74LS161不分频、4分频或者 16分频,控制芯片是74LS153。 5.显示模块:编写相应的程序可以使单片机自动调节测量的量程,并把测出的频率数据送到显示电路显示,本设计选用LCD1602。 (2)测频基本设计原理 所谓“频率”,就是周期性信号在单位时间(1s)内变化 的次数。若在一定时间间隔T内测得这个周期性信号的重复变 化次数N,则其频率可表示为f=N/T(右图3-1所示)。其中脉 冲形成电路的作用是将被测信号变成脉冲信号,其重复频率等 。利用单片机的定时/计数T0、T1的定时、计数 于被测频率f x 功能产生周期为1s的时间脉冲信号,则门控电路的输出信号持图3-1

人工智能课程设计报告-罗马尼亚度假问题

人工智能课程设计报告-罗马尼亚度假 问题 1

2

3 2020年5月29日 课 程 :人工智能课程设计报告 班 级: 姓 名: 学 号: 指导教师:赵曼 11月

人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,能够设想,未来人工智能带来的科技产品,将会是人类智慧的”容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些一般需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种”复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅 速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐 - 1 - 2020年5月29日

智能小车单片机课程设计报告

题目: 智能小车设计 打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限-:没有相对应的权限 w:写权限

x:可执行权限 修改权限: chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd ..

智能电网大学课程设计报告-智能抄表硬件设计方案_毕业论文

智能电网课程设计报告

智能抄表系统硬件设计方案 1智能抄表技术概述 随着自动化程度的提高和电能需求的不断增长,电费查询支出在生产成本中占的比例逐渐加大。供电单位对于电能精细化的要求也越来越高。传统的人力抄表和电话抄表工作量大,效率低,人为误差严重,漏抄,估抄,冒抄现象时有发生,因此必须按照切实可行的方法解决这些问题。而快速、准确、经济、实时的获取用电的各类数据,是做好费用自动结算,用量分析,计量表运行状况监测、负荷处理等应用管理工作的基础。为此采用计算机、无线通信和嵌入式等技术设计了分布式电能表远程智能抄表系统,提出了三级管理手段,将用户的用电信息准确和及时地回传到数据中心,便于电力企业计量、统计和收费等日益繁重的工作,大大提高了管理层次和自动化水平。 智能抄表系统是坚强智能电网的基础,通过智能抄表系统可以实现电网公司同电力系统用户之间的有效可靠互动。能够实现对主站层、接入层、上行通信层以及终端层的有效协调与控制。主站层主要是用来实现信息数据的采集与管理。上行通信层则主要是用来负责实现各个站点的相互有效的链接的。智能抄表系统的构建对于完善智能电网和实现电力资源的合理配置具有重要意义。 欧美在智能抄表系统的研究处于领先水平,以美国为例,美国的智能电网建设注重用户端,主要针对用户的具体用电要求及变化来实施智能化管理,其实现方式包括智能电表、智能化抄表与以家庭为单位的规划用电管理,主要建设了基于无线方式的智能抄表及通讯网络。ADI公司直接参与部分州的智能电网的建设,在智能电表及无线网络建设上取得了不俗的成绩。 智能抄表系统主要结构包括三个部分:集中器、采集器和通信系统。 1)数据采集 根据不同业务对采集数据的要求,编制自动采集任务,包括任务名称、任务类型、采集群组、采集数据项、任务执行起止时间、采集周期、执行优先级、正常补采次数等信息,并管理各种采集任务的执行,检查任务执行情况。 2)数据管理 采用统一的数据存储管理技术,对采集的各类原始数据和应用数据进行分类存储和管理,为“SG186”一体化平台提供数据的汇总、存储、共享和分析利用。

智能小车课程设计报告书

※※※※※※※※※ 级学生※※2015※※课程设计材料※※※※※※※※※※※ 课程设计报告书 课题名称智能小车蓝牙操控和循迹的实现 名姓 学号 院学 专业 指导教师 2019年2月15日 设计目的1 通过设计进一步掌握51单片机的应用,特别是在嵌入式系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 2功能要求

智能小车作为现代的新发明,是以后的发展方向,他可以按照预先设定的模式在一个环境里自动运作,不需要人为的管理,可应用于科学勘探等等用途;并且能实现显示时间、速度、里程,具有自动寻迹、寻光、避障等功能,可程控行驶速度、准确定位停车,远程传输图像、按键控制加速,减速,刹停,左转和右转、实时显示运行状态等功能。 3 总体设计方案 在现有玩具电动车的基础上,加了四个按键,实现对电动车的运行轨迹的启动,并将按键的状态传送至单片机进行处理,然后由单片机根据所检测的各种按键状态实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用AT89C51单 片机。以AT89C51为控制核心,利用按键的动作,控制电动小汽车的状态。加 装光电、红外线、超声波传感器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动小车的智能控制,如图1所示。简易智能电动车采用AT89C51单 片机进行智能控制。开始由手动启动小车,并复位初始化,当到达规定的起始黑线,由小车底部的红外光电传感器检测到第一条黑线后,通过单片机控制小车[2]。在白纸所做轨迹道路中,小车通过超声波传感器正前开始记数、显示、调速方检测和光电传感器左右侧检测,由单片机控制实现系统的自动避障功能。在电动车进驶过程中,采用双极式H型PWM脉宽调制技术,以控制小车调速;并采用 动态共阴显示行驶时间和里程。小车通过光电传感装置实现驶向光源并通过循迹保持小车在白纸范围内行驶。当小车到达终点第二次检测到黑线时,单片机控制小车停车。 总体设计框架图图1 4 硬件电路选取与设计

智能控制课程设计(报告)

HUNAN UNIVERSITY 智能控制课程设计(报告) 课程设计题目:基于模糊控制光伏并网发电系 统的研究 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 2017年5月30 日

目录 第1章绪论 (1) 第2章光伏并网发电系统MPPT的研究进展 (2) 2.1 光伏发电系统最大功率跟踪控制 (2) 2.2 几种最大功率点跟踪方法的比较 (3) 第3章光伏并网发电系统MPPT模糊控制器 (7) 3.1 模糊化 (7) 3.2 模糊控制规则库的建立 (7) 3.3 解模糊 (7) 第4章 MPPT模糊控制器设计 (8) 4.1选择观测量和控制量 (8) 4.2 输入量和输出量的模糊化 (8) 4.3 制定模糊规则 (9) 4.4 求解模糊关系 (9) 4.5进行模糊决策 (10) 4.6 控制量的反模糊化 (10) 第5章模糊控制光伏并网发电系统仿真 (11) 附录 (15)

第1章绪论 在应对全球能源危机和保护环境的双重要求下,开发利用清洁可再生的太阳能越来越受到人们的关注。伴随着太阳能光电转换技术的不断发展,大规模的利用太阳能成为可能。光伏并网发电系统将成为太阳能利用的主要形式。目前,转换效率低是光伏并网发电系统面临的主要问题,这成为阻碍光伏并网发电系统广泛应用的一个重点问题。智能控制是这门新兴的理论和技术,它是传统控制发展的高级阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制。智能控制包括专家系统、神经网络和模糊控制,而模糊控制是目前在控制领域中所采用的三种智能控制方法中最具实际意义的一种方法。在光伏系统MPPT控制中,由于外界光照强度和温度变化的不确定性以及并网逆变器的非线性特性,则使用模糊逻辑的MPPT控制方法进行控制,有望获得理想的控制效果。 随着近年智能控制的不断发展和完善,模糊控制技术也日趋成熟,被人们广泛接受。模糊控制的优点很多,例如:模糊控制器设计简单,不需要依赖被控对象的精确数学模型;模糊规则用自然语言表述,易于被操作人员接受;模糊控制规则可以转换成数学函数,易与其他物理规律结合,便于用计算机软件实现;模糊控制抗干扰能力强,且响应快,对复杂的被控对象能有效控制,鲁棒性和适应性都易达到要求。模糊控制以其适应面广泛和易于普及等特点,成为智能控制领域最重要,最活跃和最实用的分支之一。目前,模糊控制已经在工业控制领域、经济系统、人文系统以及医学系统中解决了传统控制方法难以解决甚至无法解决的实际控制问题。本文正是基于光伏发电系统存在的处理复杂,外界不确定因素多等特点,将模糊控制理论应用于光伏发电最大功率跟踪系统中,跟踪系统最大功率工作点,提高光电转换效率,充分利用太阳能资源。 本文以光伏并网发电系统最大功率点跟踪为研究对象,将模糊控制理论应用于光伏并网系统最大功率跟踪控制中,从光伏阵列的原理和特性、光伏并网系统的结构设计、最大功率点跟踪的原理和模糊控制理论等方面进行详细的分析和探讨。本设计报告比较多种最大功率点跟踪控制技术,实现光伏并网发电系统的研究,根据其不同的优缺点,然后选用模糊控制方法来实现最大功率跟踪。通过对模糊论域、隶属度函数计算,制定处模糊规则,设计出模糊控制器。最后建立光伏并网发电系统仿真模型,并对仿真结果进行了分析。

人工智能课程设计报告-n皇后问题解读

人工智能课程设计报告 课班姓学程:人工智能课程设计报告级 : 名: 号: 指导教师:赵曼 2015年11月

人工智能课程设计报告 人工智能课程设计报告 课程背景 人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。 人工智能是对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。 人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。 人工智能是计算机学科的一个分支,二十世纪七十年代以来被称为世界三大尖端技术之一(空间技术、能源技术、人工智能)。也被认为是二十一世纪三大尖端技术(基因工程、纳米科学、人工智能)之一。这是因为近三十年来它获得了迅速的发展,在很多学科领域都获得了广泛应用,并取得了丰硕的成果,人工智能已逐步成为一个独立的分支,无论在理论和实践上都已自成一个系统。 人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于人脑智能的计算机,使计算机能实现更高层次的应用。人工智能将涉及到计算机科学、心理学、哲学和语言学等学科。可以说几乎是自然科学和社会科学的所有学科,其范围已远远超出了计算机科学的范畴,人工智能与思维科学的关系是实践和理论的关系,人工智能是处于思维科学的技术应用层次,是它的一个应用分支。从思维观点看,人工智能不仅限于逻辑思维,要考虑形象思维、灵感思维才能促进人工智能的突破性的发展,数学常被认为是多种学科的基础科学,数学也进入语言、思维领域,人工智能学科也必须借用数学工具,数学不仅在标准逻辑、模糊数学等范围发挥作用,数学进入人工智能学科,它们将互相促进而更快地发展。

智能测量仪表课程设计报告

课程设计报告 课程:智能测量仪表 题目:智能测量仪表 学生姓名: 专业年级:自动化 指导教师: 信息与计算科学系 2013年3月23日

智能测量仪表 本次课程设计中智能温度测量仪表所采用的温度传感器为LM35DZ。其输出电压与摄氏温度成线性比例关系,无需外部校准,在0℃~100℃温度范围内精度为0.4℃~±0.75℃。,输出电压与摄氏温度对应,使用极为方便。灵敏度为10.0mV/℃,重复性好,输出阻抗低,电路接口简单和方便,可单电源和正负电源工作。是一种得到广泛使用的温度传感器。 本次课程设计的主要目的在于让学生把所学到的单片机原理、电子线路设计、传感器技术与原理、过程控制、智能仪器仪表、总线技术、面向对象的程序设计等相关专业课程的内容系统的总结,并能有效的使用到项目研发中来,做到学以致用。课程设计的内容主要分为三个部分,即使用所学编程语言(C或者汇编)完成单片机方面的程序编写、使用VB或VC语言完成PC机人机界面设计(也可以用C+API实现)、按照课程设计规范完成课程设计报告。

目录 1.课程设计任务和要求 (3) 1.1 设计任务 (3) 2.2 设计要求 (3) 2.系统硬件设计 (3) 2.1 STC12C5A60S2单片机A/D转换简介 (3) 2.2 LM35DZ简介 (7) 2.3 硬件原理图设计 (7) 3.系统软件设计 (10) 3.1 设计任务 (10) 3.2 程序代码 (10) 3.3 系统软件设计调试 (17) 4.系统上位机设计 (18) 4.1 设计任务 (18) 4.2 程序代码 (18) 4.3 系统上位机软件设计调试 (21) 5.系统调试与改善 (22) 5.1 系统调试 (22) 5.2 系统改善 (22) 6.系统设计时常见问题举例与解决办法 (24) 7.总结 (25)

智能控制系统课程设计

目录 有害气体的检测、报警、抽排.................. . (2) 1 意义与要求 (2) 1.1 意义 (2) 1.2 设计要求 (2) 2 设计总体方案 (2) 2.1 设计思路 (2) 2.2 总体设计方框图 2.3 完整原理图 (4) 2.4 PCB制图 (5) 3设计原理分析 (6) 3.1 气敏传感器工作原理 (7) 3.2 声光报警控制电路 (7) 3.3 排气电路工作原理 (8) 3.4 整体工作原理说明 (9) 4 所用芯片及其他器件说明 (10) 4.1 IC555定时器构成多谐振荡电路图 (11) 5 附表一:有害气体的检测、报警、抽排电路所用元件 (12) 6.设计体会和小结 (13)

有害气体的检测、报警、抽排 1 意义与要求 1.1.1 意义 日常生活中经常发生煤气或者其他有毒气体泄漏的事故,给人们的生命财产安全带来了极大的危害。因此,及时检测出人们生活环境中存在的有害气体并将其排除是保障人们正常生活的关键。本人运用所学的电子技术知识,联系实际,设计出一套有毒气体的检测电路,可以在有毒气体超标时及时抽排出有害气体,使人们的生命健康有一个保障。 1.2 设计要求 当检测到有毒气体意外排时,发出警笛报警声和灯光间歇闪烁的光报警提示。当有毒气体浓度超标时能自行启动抽排系统,排出有毒气体,更换空气以保障人们的生命财产安全。抽排完毕后,系统自动回到实时检测状态。 2 设计总体方案 2.1 设计思路 利用QM—N5气敏传感器检测有毒气体,根据其工作原理构成一种气敏控制自动排气电路。电路由气体检测电路、电子开关电路、报警电路、和气体排放电路构成。当有害气体达到一定浓度时,QM—N5检测到有毒气体,元件两极电阻变的很小,继电器开关闭合,使得555芯片组成的多谐电路产生方波信号,驱动发光二极管间歇发光;同时LC179工作,驱使蜂鸣器间断发出声音;此时排气系统会开始抽排有毒气体。当气体被排出,浓度低于气敏传感器所能感应的范围时,电路回复到自动检测状态。

智能机器人课程设计报告[资料]

智能机器人课程设计报告[资料] 天津师范大学 计算机与信息工程学院 课程设计报告 课程名称: 机器人设计 设计题目: 专业: 信息工程 班级: 08(1)班 组别: 学生姓名: 吴雪萍学号: 08509205 起止日期: 2011年3月1日 ~ 2011年 7月1日 指导教师: 刘岩恺梁景莲 同组人员: 课程设计题目机器人设计实验 姓名吴雪萍学号 08509205 班级 08信息(1)班 班级专业信息工程 组别组长组员 指导教师刘岩恺梁景莲 课程 设计设计家庭组机器人和机器人行走目的 课程 设计Vc++ 环境

课程 设计 任务用C++语言设计一个颜色识别的程序和一个机器人行走程序 和要 求 课程设计内容描述: 1(绪论 通过学习机器人设计2课程~学会了家庭组机器人和足球机器人的一些理论知识。了解了机器人方向识别~动手调试了全景摄像头和前置摄像头~设置了场地、球门、白线、足球等的颜色数值。 2. 颜色识别的产生 结合梁老师给的人脸识别程序~通过改变人脸模型建立颜色识别程序。 3. 平台的选择及搭建 根据刘老师给的参考资料~首先安装了DirectX9.0 SDK和Visual C++软件~然后一步步的按照老师所给的步骤~先建立基本界面~接着编制串口通讯控制机器人 的程序~读取距离传感器信息等~最后得出了机器人行走程序如下。 课程设计源程序: 机器人行走 // VoyTestDlg.cpp : implementation file // #include "stdafx.h" #include "VoyTest.h" #include "VoyTestDlg.h" #ifdef _DEBUG

智能循迹小车实验报告

简单电子系统设计报告 ---------智能循迹小车 学号201009130102 年级10 学院理学院 专业电子信息科学与技术 姓名马洪岳 指导教师刘怀强

摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色路线引导小车按照既定路线前进,在意外偏离引导线的情况下自动回位。 本设计采用单片机STC89C51作为小车检测、控制、时间显示核心,以实验室给定的车架为车体,两直流机为主驱动,附加相应的电源电路下载电路,显示电路构成整体电路。自动寻迹的功能采用红外传感器,通过检测高低电平将信号送给单片机,由单片机通过控制驱动芯片L298N驱动电动小车的电机,实现小车的动作。 关键词:STC89C51单片机;L298N;红外传感器;寻迹 一、设计目的 通过设计进一步掌握51单片机的应用,特别是在控制系统中的应用。进一步学习51单片机在系统中的控制功能,能够合理设计单片机的外围电路,并使之与单片机构成整个系统。 二、设计要求 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片L298N发出控制命令,控制电机的工作状态以实现对小车姿态的控制,绕跑到行驶一周。 三、软硬件设计 硬件电路的设计 1、最小系统:

小车采用atmel公司的AT89C52单片机作为控制芯片,图1是其最小系统电路。主要包括:时钟电路、电源电路、复位电路。其中各个部分的功能如下: (1)、电源电路:给单片机提供5V电源。 (2)、复位电路:在电压达到正常值时给单片机一个复位信号。 图1 单片机最小系统原理图 2、电源电路设计: 模型车通过自身系统,采集赛道信息,获取自身速度信息,加以处理,由芯片给出指令控制其前进转向等动作,各部分都需要由电路支持,电源管理尤为重要。在本设计中,51单片机使用5V电源,电机及舵机使用5V电源。考虑到电源为电池组,额定电压为4.5V,实际充满电后电压则为4-4.5V,所以单片机及传感器模块采用最小系统模块稳压后的5V电源供电,舵机及电机直接由电池供电。 3、传感器电路:

智能控制课程设计报告书

《智能控制》课程设计报告题目:采用BP网络进行模式识别院系: 专业: 姓名: 学号: 指导老师: 日期:年月日

目录 1、课程设计的目的和要求 (3) 2、问题描述 (3) 3、源程序 (3) 4、运行结果 (6) 5、总结 (7)

课程设计的目的和要求 目的:1、通过本次课程设计进一步了解BP网络模式识别的基本原理,掌握BP网络的学习算法 2、熟悉matlab语言在智能控制中的运用,并提高学生有关智能控制系统的程序设计能力 要求:充分理解设计容,并独立完成实验和课程设计报告 问题描述 采用BP网络进行模式识别。训练样本为3对两输入单输出样本,见表7-3。是采用BP网络对训练样本进行训练,并针对一组实际样本进行测试。用于测试的3组样本输入分别为1,0.1;0.5,0.5和 0.1,0.1。 表7-3 训练样本 说明:该BP网络可看做2-6-1结构,设权值wij,wjl的初始值取【-1,+1】之间的随机值,学习参数η=0.5,α=0.05.取网络训练的最终指标E=10^(-20),在仿真程序中用w1,w2代表wij,wjl,用Iout代表 x'j。 源程序 %网络训练程序

clear all; close all; xite=0.50; alfa=0.05; w2=rands(6,1); w2_1=w2;w2_2=w2; w1=rands(2,6); w1_1=w1;w1_2=w1; dw1=0*w1; I=[0,0,0,0,0,0]'; Iout=[0,0,0,0,0,0]'; FI=[0,0,0,0,0,0]'; k=0; E=1.0; NS=3; while E>=1e-020 k=k+1; times(k)=k; for s=1:1:NS xs=[1,0; 0,0; 0,1]; ys=[1,0,-1]'; x=xs(s,:); for j=1:1:6 I(j)=x*w1(:,j); Iout(j)=1/(1+exp(-I(j))); end y1=w2'*Iout;

人工智能深度优先算法课程设计报告

人工智能课程报告 题目: 深 度 优 先 算 法 班级:XXXXXXXXXXX 学号:XXXXXXXXXXX 姓名:XXXXXXXXXXX

【摘要】结合生活中解决搜索问题所常用的思考方法与解题方法,从深度优先探讨了提高程序效率的适用技巧。 【关键词】1搜索顺序;2搜索对象;3搜索优化; 一、深度优先搜索的优化技巧 我们在做事情的时候,经常遇到这类问题——给出约束条件,求一种满足约束条件的方案,这类问题我们叫它“约束满足”问题。对于约束满足问题,我们通常可以从搜索的顺序和搜索的对象入手,进而提高程序的效率。 二、搜索的顺序及对象: 在解决约束满足问题的时候,问题给出的约束条件越强,对于搜索就越有利。之所以深度优先搜索的效率在很大程度上优于穷举,就是因为它在搜索过程中很好的利用了题目中的约束条件进行优化,达到提高程序效率的目的。 显然,在同样的一棵搜索树中,越在接近根接点的位置利用约束条件优化效果就越好。如何在搜索中最大化的利用题目的约束条件为我们提供剪枝的依据,是提高深度优先搜索效率的一个很重要的地方。而不同的搜索顺序和搜索对象就直接影响到我们对于题目约束条件的运用。 三、搜索特点 1.由于深度搜索过程中有保留已扩展节点,则不致于重复构造不必要的子树系统。 2.深度优先搜索并不是以最快的方式搜索到解,因为若目标节点在第i层的某处,必须等到该节点左边所有子树系统搜索完毕之后,才会访问到该节点,因此,搜索效率还取决于目标节点在解答树中的位置。

3.由于要存储所有已被扩展节点,所以需要的内存空间往往比较大。 4.深度优先搜索所求得的是仅仅是目前第一条从起点至目标节点的树枝路径,而不是所有通向目标节点的树枝节点的路径中最短的路径。 5.适用范围:适用于求解一条从初始节点至目标节点的可能路径的试题。若要存储所有解答路径,可以再建立其它空间,用来存储每个已求得的解。若要求得最优解,必须记下达到目前目标的路径和相应的路程值,并与前面已记录的值进行比较,保留其中最优解,等全部搜索完成后,把保留的最优解输出。 四、算法数据结构描述 深度优先搜索时,最关键的是结点扩展(OPEN)表的生成,它是一个栈,用于存放目前搜索到待扩展的结点,当结点到达深度界限或结点不能再扩展时,栈顶结点出栈,放入CLOSE表(存放已扩展节点),继续生成新的结点入栈OPEN 表,直到搜索到目标结点或OPEN栈空为止。 具体算法如下: ①把起始结点S放到非扩展结点OPEN表中(后进先出的堆栈),如果此结点为一目标结点,则得到一个解。 ②如果OPEN为一空表,则搜索失败退出。 ③取OPEN表最前面(栈顶)的结点,并把它放入CLOSED的扩展结点表中,并冠以顺序编号n。 ④如果结点n的深度等于最大深度,则转向2。 ⑤否则,扩展结点n,产生其全部子结点,把它们放入OPEN表的前头(入栈),并配上指向n的返回指针;如果没有后裔,则转向2。 ⑥如果后继结点中有任一个为目标结点,则求得一个解,成功退出;否则,转向2。

智能小车单片机课程设计报告

单片机课程设计 题目: 智能小车设计 专业: 计算机科学与技术 班级: 14级2班 姓名学号组长 成员 成员 成员 成员 2016 年 12 月 23 日

打开命令行终端的快捷方式: ctr+al+t:默认的路径在家目录 ctr+shift+n:默认的路径为上一次终端所处在的路径. linux@ubuntu:~$ linux:当前登录用户名. ubuntu:主机名 :和$之间:当前用户所处在的工作路径. windows下的工作路径如C:\Intel\Logs linux下的工作路径是:/.../..../ ~:代表的是/home/linux这个路径.(家目录). ls(list):列出当前路径下的文件名和目录名. ls -a(all):列出当前路径下的所有文件和目录名,包括了隐藏文件. .:当前路径 ..:上一级路径 ls -l:以横排的方式列出文件的详细信息 total 269464(当前这个路径总计所占空间的大小,单位是K) drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop 第一个位置:代表的是文件的类型. linux系统下的文件类型有以下几种. b:块设备文件 c:字符设备文件 d:directory,目录 -:普通文件. l:连接文件. s:套接字文件. p:管道文件. rwxr-xr-x:权限 r:读权限 -:没有相对应的权限 w:写权限 x:可执行权限 修改权限:

chmod u-或者+r/w/x 文件名 chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名 第一组:用户权限 第二组:用户组的权限 第三组:其他用户的权限. chmod 三个数(权限) 文件名 首先根据你想要的权限生成二进制数,再根据二进制数转换成十进制的三位数 rwxr-x-wx 111101011 7 5 3 chmod 753 文件名 rwx--xr-x 第二个位置上的数字:对应目录下的子文件个数,如果是非目录,则数字是1 第三个位置:用户名(文件创造者). 第四个位置:用户组的名字(前边的用户所处在的用户组的名字). 第五个位置:对应文件所占的空间大小(单位为b) 第六~八个位置:Dec 4 19:16时间戳(最后一次修改文件的时间) 最后一个位置:文件名 操作文件: 1.创建一个普通文件:touch 文件名 2.删除一个文件:rm(remove) 文件名 3.新建一个目录:mkdir(make directory) 目录名 递归创建目录:mkdir -p 目录1/目录2/目录3 4.删除一个目录:rmdir 目录名.//仅删除一个空目录 rm -rf 目录名//删除一个非空目录 5.切换目录(change directory):cd 路径 linux下的路径分两种 相对路径:以.(当前路径)为起点. 绝对路径:以/(根目录)为起点, 用相对路径的方式进入Music:cd ./Music 用绝对路径的方式进入Desktop:cd /home/linux/Desktop 返回上一级:cd .. 返回加家目录的三种方式 (1).cd

智能控制课程设计(报告)(DOC)

HUNAN UNIVERSITY 智能控制课程设计(报告) 课程设计题目:基于模糊控制光伏并网发电系 统的研究 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 2017年5月30 日

目录 第1章绪论 (1) 第2章光伏并网发电系统MPPT的研究进展 (2) 2.1 光伏发电系统最大功率跟踪控制 (2) 2.2 几种最大功率点跟踪方法的比较 (3) 第3章光伏并网发电系统MPPT模糊控制器 (7) 3.1 模糊化 (7) 3.2 模糊控制规则库的建立 (7) 3.3 解模糊 (7) 第4章 MPPT模糊控制器设计 (8) 4.1选择观测量和控制量 (8) 4.2 输入量和输出量的模糊化 (8) 4.3 制定模糊规则 (9) 4.4 求解模糊关系 (9) 4.5进行模糊决策 (10) 4.6 控制量的反模糊化 (10) 第5章模糊控制光伏并网发电系统仿真 (11) 附录 (15)

第1章绪论 在应对全球能源危机和保护环境的双重要求下,开发利用清洁可再生的太阳能越来越受到人们的关注。伴随着太阳能光电转换技术的不断发展,大规模的利用太阳能成为可能。光伏并网发电系统将成为太阳能利用的主要形式。目前,转换效率低是光伏并网发电系统面临的主要问题,这成为阻碍光伏并网发电系统广泛应用的一个重点问题。智能控制是这门新兴的理论和技术,它是传统控制发展的高级阶段,主要用来解决那些用传统方法难以解决的复杂系统的控制。智能控制包括专家系统、神经网络和模糊控制,而模糊控制是目前在控制领域中所采用的三种智能控制方法中最具实际意义的一种方法。在光伏系统MPPT控制中,由于外界光照强度和温度变化的不确定性以及并网逆变器的非线性特性,则使用模糊逻辑的MPPT控制方法进行控制,有望获得理想的控制效果。 随着近年智能控制的不断发展和完善,模糊控制技术也日趋成熟,被人们广泛接受。模糊控制的优点很多,例如:模糊控制器设计简单,不需要依赖被控对象的精确数学模型;模糊规则用自然语言表述,易于被操作人员接受;模糊控制规则可以转换成数学函数,易与其他物理规律结合,便于用计算机软件实现;模糊控制抗干扰能力强,且响应快,对复杂的被控对象能有效控制,鲁棒性和适应性都易达到要求。模糊控制以其适应面广泛和易于普及等特点,成为智能控制领域最重要,最活跃和最实用的分支之一。目前,模糊控制已经在工业控制领域、经济系统、人文系统以及医学系统中解决了传统控制方法难以解决甚至无法解决的实际控制问题。本文正是基于光伏发电系统存在的处理复杂,外界不确定因素多等特点,将模糊控制理论应用于光伏发电最大功率跟踪系统中,跟踪系统最大功率工作点,提高光电转换效率,充分利用太阳能资源。 本文以光伏并网发电系统最大功率点跟踪为研究对象,将模糊控制理论应用于光伏并网系统最大功率跟踪控制中,从光伏阵列的原理和特性、光伏并网系统的结构设计、最大功率点跟踪的原理和模糊控制理论等方面进行详细的分析和探讨。本设计报告比较多种最大功率点跟踪控制技术,实现光伏并网发电系统的研究,根据其不同的优缺点,然后选用模糊控制方法来实现最大功率跟踪。通过对模糊论域、隶属度函数计算,制定处模糊规则,设计出模糊控制器。最后建立光伏并网发电系统仿真模型,并对仿真结果进行了分析。

人工智能课程报告封面

物理与电子工程学院 《人工智能》 课程设计报告 课题名称 专业 班级 学生姓名 学号 指导教师崔明月 成绩 2014年6月18日

题目 摘要: 关键词: 1.引言 正文 结论 参考文献:(文献10篇以上,参考下面的文献列写格式) [1]徐国华,谭民.移动机器人的发展现状及其趋势[J]. 机器人技术与应用, 2001(3):7~14. [2]H.F Durrant Whyte. Where am I? A tutorial on mobile vehicle localization. Industrial Robot, 1994, 21(2):11~16. [3]彭文刚,彭宝林,柳胜.移动机器人导航系统的研究现状与发展趋势[J]. 机电信 息, 2009(36):69~70. [4]高峰, 黄玉美, 林义忠等.自主移动机器人的模糊导航[J]. 西安理工大学 报,2005,21(4):337~341. 一、报告内容: 就下面的一方面或几方面的内容写一篇报告综述,包括目的、意义,基本概念、定义,主要的控制方法以及结果分析等,最后给出小节及自己的学习心得,要有图表,严禁抄袭,如若发现本课程按零分计! 1.模糊控制系统设计 2.神经网络控制系统 3.遗传算法在系统辨识、控制中的应用 4.模糊控制综述 5.神经网络控制综述 注:题目自拟,也可以自选题目。

二、格式与字体要求: 正文开头的每段开头空2个字符,正文小四号字,22磅行距。大小标题加黑,标题后空一行,一级标题三号字,二级标题四号字,三级标题小四号字(不按格式要求做扣分处理)。 封面见前面示例,单面打印。

智能小车课程设计

精心整理 智能循迹小车 【摘要】 本课题是基于低功耗单片机的智能小车的设计与实现,小车完成的主要功能是能够自主识别黑色引导线并根据黑线走向实现快速稳定的寻线行驶。小车系统以单片机为系统控制处器;采用红外传感获取赛道的信息,来对小车的方向和速度进行控制。此外,对整个控制软件进行设计和程序的编制以及程序的调试,并最终完成软件和硬件的融合,实现小车的预期功能。 一、实验目的 ????这次设计智能小车的目的是为了掌握电路设计的方法和技巧。如何将学习到的理论知识运用到实际当中去,怎样能够活学活用,深入的了解电子元器件的使用方法,了解各种元器件的基本用途和方法,能够灵活敏捷的判断电路中出现的故障,学会独立设计电路,积累更多的设计经验,加强焊接能力和技巧,完成基本的要求。并能完美的完成这次实训。 根据老师给的控制要求,和自己的发挥扩充能力,独立的,大胆的去实践,开拓创新,能够将自己的想法体现到实际电路当中去。 二、设计方案 该智能车采用红外传感器对赛道进行道路检测,单片机根据采集到的信号的不同状态判断小车当前状态,通过电机驱动芯片发出控制命令,控制电机的工作状态以实现对小车姿态的控制。三、各芯片说明 W981216BH-6 一种髙速度同步动态随机存取存储器(SDRAM),具有1M字(words)*4层(banks)*16位(bits)的存储结构组织.传输数据带宽最高达166M字/秒(-6)。 对SDRAM是否访问是突发导向。在一个页面连续的内存位置可在一个1,2,4,8或整页突发访问时长和行选择组由活动命令。列地址自动生成的SDRAM的内部计数器在突发运作。随机栏也可以通过阅读在每个时钟周期提供其地址。该多组特性使交织在内部银行隐藏预充电时间。通过让一个可编程的模式寄存器,该系统可以改变突发长度,延时周期,交错或连续突发最大限度地发挥其性能。W981216BH是在理想的主内存高性能应用。 特征: 1、.3V±0.3V电源

相关主题
文本预览
相关文档 最新文档