版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE26课程名称:智能仪器设计课程设计实验项目:_设计智能仪表______专业班级:学号:学生姓名:指导教师:20年1月12日
目录一、设计目的及要求3二、设计思路3三、硬件电路原理图与设计33.1智能仪表基本模块硬件电路33.2智能仪表基本模块的功能8四、测温模块设计94.1热电偶94.2热电偶信号调理电路10五、驱动双向晶闸管设计10六、软件设计116.1主程序116.2子程序12七、总结16
一、设计目的及要求实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配B型(铂铑30)热电偶,测温范围为400℃~1200℃。采用位式(两位、三位,具有滞环)控制、并用晶闸管过零驱动1000W电加热器(电源电压为AC220V)。二、设计思路通过B型(铂铑30)热电偶测量的答题思路为三、硬件电路原理图与设计3.1智能仪表基本模块硬件电路智能仪表基本模块由单片机、输入按钮、硬件显示和通信接口组成原理图:(1)最小系统板电路(2)电源电路(3)按键电路(4)扬声器电路(5)数码管电路(6)信号调理电路(7)功率驱动电路(8)LED电路3.2智能仪表基本模块的功能:(1)具有两排8个是数码管显示,分别显示测量值与设定值,数码管由74HC595驱动,因此只需要3个单片机引脚,可以用SPI接口引脚:PB4、PB5(MOSI)和PB7(SCK),或是采用I/O引脚搭配时序的方法驱动。(2)具有4个按钮:功能选择按钮、数码管选择按钮、数字加按钮、数字减按钮。按钮直接连在单片机引脚,低电平有效。(3)具有4个LED灯,用于显示状态,直接连到单片机引脚,低电平有效。智能仪表的外形:其中上排数码管显示测量值,下排数码管显示设定值,4个按钮用三个,右上侧有4个发光二极管。四、测温模块设计4.1热电偶B型热电偶在热电偶系列中具有准确度最高,稳定性最好,测温温区宽,使用寿命长,测温上限高等优点。适用于氧化性和惰性气氛中,也可短期用于真空中,但不适用于还原性气氛或含有金属或非金属蒸气气氛中。B型热电偶一个明显的优点是不需用补偿导线进行补偿,因为在0~50℃范围内热电势小于3μV。B型热电偶不足之处是热电势,热电势率较小,灵敏度低,高温下机械强度下降,对污染非常敏感,贵金属材料昂贵,因而一次性投资较大。两种不同成分的导体两端接合成回路,当接合点的温度不同时,在回路中就会产生电动势,这种现象称为热电效应,而这种电动势成为热电势,也称为热电动势,热电偶就是利用这种原理进行温度测量的。其中,直接用做测量介质温度的一端叫作工作端(称为测量端),另一端叫做冷端(称为补偿端)。冷端与显示仪表或配套仪表连接,显示仪表会显示出热电偶所产生的热电势。热电偶将热能转换为电能,用所产生的热电势测量温度,对于热电偶的热电势,应注意以下问题:热电偶所产生的热电势大小,与热电偶的长度和直径无关,只与热电偶材料的成分和两端的温差有关当热电偶的两个热电偶丝材料成分确定后,热电偶电势的大小,只与热电偶的温度差有关;若热电偶冷端的温度保持一定,则热电势仅是工作端温度的单值函数本设计要求的B型(铂铑30)热电偶测温范围如下表热电偶分类热电偶电极材料温度范围(︒C)热电动势(mV)/温度(︒C)正极负极B铂铑30铂铑60—18000/018.84/18004.2热电偶信号调理电路采用LM35的B00000000型热电偶冷端补偿电路B型热电偶在0度时的热电势为0mV,在1600度时的热电势为18.84mV。若输出电压为0.2-3.3v。因此放大器输出电压方程为:1)0.2=m*0+b和2)3.3=m*18.84+b算出m、b的值然后根据3)m=[R2/(R1+R2)][(Rf+Rg)/Rg]和4)b=Vref[R1/(R1+R2)][(Rf+Rg)/Rg]算出实验所需的数据五、驱动双向晶闸管设计本系统采用晶闸管脉冲调制驱动电路,其负载为1000W的电加热器(电源电压为220VAC)。单片机驱动晶闸管脉冲调制驱动器的电路如下图所示。加热器1000W加热器1000W单片机驱动晶闸管脉冲调制驱动器的电路六、软件设计6.1主程序#include<iom16v.h>#include<macros.h>unsignedcharvadc;//vadc测得的放大电势值unsignedintvar;//测得的温度值Unsignintdata[8];//全局变量unsignedcharxs[8];//数据缓存unsignedchardisp[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,//共阳数码0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf,0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f,0xFE,0xFF};unsignedintweizhi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};高电平有效*/unsignedcharLED0,LED1,LED2,LED3;Voidmain(void)//主函数{unsigncharadc_time;unsigncharsaomiao_time;unsigncharxianshi_time;init_devices();adc_time=0;}while(1)While(adc_time=1)//测温{adc();Charlp();//滤波PID();Shuchu();adc_time=0;}While(saomiao_time==1){saomiao1();//扫描按键并存放数据Saomiao_time=0;}while(xianshi_time==1){spihc();//数码管显示LED();//LED灯显示xianshi_time=0;}}#pragmainterrupt_handlerint_TCCR1A:7//定时器1的TCCR1A组比较匹配中断服务程序{staticunsignedcharn;n++;If(n==20)//200msadc_time=1;//adc转换Saomiao_time=1;//扫描PD口按键xianshi_time=1;//显示数码管}6.2子程序(1)ADC初始化函数Voidadc_init(void){ADCSRA=0x00;//ADCSRA–ADC控制和状态寄存器ADMAX=0x20;//选择外部参考电压,通道0,左对齐ADCSRA=0xE2;SFIOR=0Xa0;//SFIOR-特殊功能IO寄存器,定时器1比较匹配B}(2)ADC转换程序Voidadc(void){staticunsignedcharn;while(!(ADCSRA&(1<<ADIF)));//等待转换完成ADH=ADCH;//8位转换If(n<5)Value_adc[n++]=ADH;Elsen=0;}(3)算术平均值滤波子函数VoidCharlp(void){Intsum=0;Charcount;For(count=0;count<5;count++){sum+=Value_adc[count];//获取ADC转换结果,计算相加Delay();}vadc=sum/5;}(4)定时器初始化函数VoidT1_init(void)//初始化定时器,产生10ms周期中断{OCR1A=1249;TIMSK|=(1<<OCIEA);TCCR1A=0x00;TCCR1B=0x08;//定时器工作在CTC计数器模式TCCR1B|=0x02;//设定定时器1的分频值为8分频}(5)显示LED灯子程序VoidLED(void){if(LED0==1)PORTB^=0x01;If(LED1==1)PORTB|=1<<1;If(LED2==1)PORTB|=1<<2;If(LED3==1)PORTB|=1<<3;}(6)定时器1的TCCR1A组比较匹配中断服务程序#pragmainterrupt_handlerint_TCCR1A:7//定时器1的TCCR1A组比较匹配中断服务程序{staticunsignedcharn;n++;If(n==20)//200msadc_time=1;//adc转换Saomiao_time=1;//扫描PD口按键xianshi_time=1;//显示数码管}(7)SPI初始化VoidSPI_init(void)SPDR=(1<<6)|(1<<4)|(1<<5)|(1<<1)|(1<<0);//使能SPI主机模式,设置时钟速率为fck/128}(8)引脚初始化函数Voidport_init(void)//引脚初始化函数{PORTA=0x80;//AD通道PA0口输入模拟信号DDRA=0x80;PORTB=0xff;//PB输出LED灯DDRB=0xff;PORTC=0xff;//PC输出数码管DDRC=0xff;PORTD=0x00;//PD口输入按钮信号DDRD=0x00;}(9)系统初始化函数Voidinit_devices(void)//系统初始化{CLI();port_init();adc_init;T1_init;SPI_init;SEI();}(10)扫描子程序Voidsaomiao1(void){unsignedinti;Staticunsignedintj,m,k;If(j==0){if(PIND|=0xFE)//判断PD0引脚功能键for(i=0;i<<2000;i++);if(PIND|=0xFE)while(PIND|=0xFE);{j+=1;if(j>3)j=0;}elsesaomiao2();shuju();if(j==1)//LED灯亮{LED1=1;data[3]=data[2];}//设定并存放报警上限值Elseif(j==2){LED2=1;data[4]=data[2];}//设定并存放报警下限值Elseif(j==3){ED3=1;data[5]=data[2];}//设定并存放给定值}(11)数码管、按钮子程序Voidsaomiao2(void)//选择数码管按钮{unsignedintp;if(m==0)if(PIND|=0xFD)//判断PD1引脚for(p=0;p<<2000;p++);if(PIND|=0xFD)while(PIND|=0xFD);{m+=1;if(m>4)m=0;}elsesaomiao3();}(12)判断数据增减子程序Voidsaomiao3(void)//判断数据增减{unsignedintq;If(0<k<9)if(PIND|=0xFB)//判断PD2引脚for(q=0;q<<2000;q++);if(PIND|=0xFB)while(PIND|=0xFB);{k+=1;}if(PIND|=0xF7)//判断PD3引脚for(q=0;q<<2000;q++);if(PIND|=0Xf7)while(PIND|=0xF7);{k-=1;}Elsek=0;}(13)数据设定存放子程序Voidshuju(void){If(m==1)data[2]+=k;if(m==2)data[2]+=1<<4;if(m==3)data[2]+=1<<8;if(m==4)data[2]+=1<<12;}(14)向HC595输出数据的函数voidxianshi(unsignedcharX)//向HC595输出数据的函数{unsignedchari;for(i=8;i>=1;i--){if(X&0x80)PORTC.5=1;elsePORTC.5=0;//先输出低位X<<=1;PORTC.7=0;PORTC.7=1;}}(15)显示数码管子程序voidspihc595(void)//显示子程序{unsignedchari;{{data[0]=var;//显示测量值data[1]=data[4];//显示给定值定值if(LED1==1)data[1]=data[2];//显示报警上限值if(LED2==1)data[1]=data[3];//显示报警下限值xs[0]=data[1]/1000%10;xs[1]=data[1]/100%10;xs[2]=data[1]/10%10;xs[3]=data[1]%10;xs[4]=data[0]/1000%10;xs[5]=data[0]/100%10;xs[6]=data[0]/10%10;xs[7]=data[0]%10;}xianshi(weizhi[i]);//位输出xianshi(disp[xs[i]]);//段输出PORTC.6=0;//锁存信号低电平PORTC.6=1;//锁存信号高电平i++;if(i==8)i=0;}}七、总结在这次的课程设计中不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,与同学分工设计,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。智能仪表的课程设计使我加深了对于所学知识的理解,巩固了所学的知识,学会了用Protel99SE软件设计制作简单的单片机电路及其设计封装PCB图。从生疏到较熟练地应用软件设计单片机的过程中,并不是一帆风顺,我在设计过程中也遇到了不少自己没有想到的问题和困难,只有理论的自己发现要将这些理论灵活运用起来还是非常困难的。在这次设计过程中,体现出自己单独设计模具的能力以及综合运用知识的能力,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。智能小车课程设计说明书目录前言……………………21.1课程设计要求………………21.2课题研究的背景和意义……2方案设计与论证………22.1控制器模块选取…………22.2电机模块选取……………32.3电机驱动器模块选取……32.4电源模块选取……………3硬件设计………………33.1主控系统…………………… 43.2电机模块………53.3电机驱动模块…………………53.4电源模块………73.5按键模块………73.6显示模块设计…………………8软件设计………………84.1直行设计………………84.2小车运行设计…………………94.3小车调速设计…………………9调试中存在的问题…………………12参考文献………………12一、前言1.1课程设计要求1.查阅有智能小车控制方案,设计智能小车软硬件;2.按键控制加速,减速,刹停,左转和右转;3.驱动最大电压12V;最大驱动电流2A;4.实时显示:运行状态;1.2课题研究的背景和意义随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。我们设计的智能电动小车具有加速、减速、刹停、左转和右转运行的功能。根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加了四个按键,实现对电动车的运行轨迹的启动,并将按键的状态传送至单片机进行处理,然后由单片机根据所检测的各种按键状态实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用AT89C51单片机。以AT89C51为控制核心,利用按键的动作,控制电动小汽车的状态。二、方案设计与论证2.1控制器模块选取我们采用AT89C51单片机作为主控制器,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。从方便使用的角度考虑,我们选择了此方案2.2电机模块选取采用普通直流电机。直流电机运转平稳,精度有一定的保证。直流电机控制的精度虽然没有步进电机那样高,但完全可以满足本题目的要求。通过单片机的PWM输出同样可以控制直流电机的旋转速度,实现电动车的速度控制。并且直流电机相对于步进电机价格经济。2.3电机驱动器模块选取采用电机驱动芯片L298N。L298N为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照芯片手册,用程序输入对应的码值,能够实现对应的动作。2.4电源模块选取在本系统中,需要用到的电源有单片机的5V,L298N芯片的电源5V和电机的电源12V。所以需要对电源的提供必须正确和稳定可靠。用9V的锂电池串联2节5号普通电池给前、后轮电机供电,然后使用7805稳压管来把高电压稳成5V分别给单片机和电机驱动芯片供电。因此为了方便,这里我们采用12V电源给电机供电,再用7805转换成5V电源给单片机使用。三、硬件设计小车采用四轮驱动,一侧的前后两个车轮共用一个电机驱动,另外两个前后轮共用一个驱动,调节左右车轮转速从而达到控制转向的目的。电源模块按键模块微控制模块AT89C51LED显示模块电源模块按键模块微控制模块AT89C51LED显示模块图3.13.1控制模块设计根据设计的小车性能,使用控制系统来控制电机的状态,按键来操作,从而使小车可以进行加速、减速、刹停、左转和右转的运行。设计的控制模块电路图图3.2图3.2AT89C51单片机的P0通过控制总线来连接锁存器74LS373以及计数器8253,以此来控制L298N驱动芯片的工作方式,PWM1和PWM2来控制电机的工作状态。AT89C51的P2口通过控制总线与显示器连接。3.2电机模块设计因为设计的小车运行比较简单,没有避障等复杂的功能,所以我们选择普通直流减速电机,通过到商店里和到网上等途径进行购买,电机模块采用2块电机同时驱动,这里将同一侧电机短接接到L298N的一个输出端。3.3电机驱动模块设计采用电机驱动芯片L298N。L298N是SGS公司的产品,为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照芯片手册,用程序输入对应的码值,能够实现对应的动作。图3.3如图3.2所示,1脚和15脚可单独引出连接电流采样电阻器,形成电流信号,,还可驱动2个电机,OUT1,OUT2,OUT3,OUT4之间分别连接2个电动机。5、7、10、12脚接控制电平,控制电机的正反转,ENA,ENB接控制使能端,控制电机的停转。同时输出两组PWM波,每一组PWM用来控制一个,电机的速度。另外,二个I/O口可以控制电机的正反转,P10,P11控制第一个电机的方向,,输入的:PWM1控制第一个电机的速度;P12.P13控制第二个电机的方向,输出的PWM2控制第二个电机地说速度。由于电机的正常的工作时对电源的干挠很大,只用一组电源时,会影响单片机的正常工作,所以选用双电源供电。d1,Q1是一对红外发射接收对管,与LM324构成光右转电传感的检测电路。可实现对小车的加速,减速,刹停,并可通过两个电机的不同转速实现左转和。可以用表表示为:ENA(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同IN2(IN4)同IN2(IN4)快速停止LXX停止3.4、电源模块采用两片7805电压稳压5V后给单片机系统和其他芯片供电供电,但缺点是压降过大,消耗的功率过大,发热量过大。图3.4结构图如下:7805电压稳压7805电压稳压12V电机12V电源单片机L298N图3.53.5按键模块本系统添加4个按键,用来选择控制小车。并接于P2口。图3.63.6显示模块设计根据按键来控制小车从而在显示屏上显示小车的状态,设计的显示电路图图3.7。图3.7四、软件设计4.1流程图设计是否有键按下?是否有键按下?开始检测按下哪个键?加速减速刹停NY图4.1左转S1按下S2按下S3按下S4按下右转S5按下4.2、小车运行设计:若要求小车直走,这需要给4个电机正转命令。根据L298N芯片手册ENA(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同IN2(IN4)同IN2(IN4)快速停止LXX停止这里将P1=0xfa。4.3、小车调速设计: 若要求车调速,只需用PWM来控制L298N的ENA和ENB就可以对小车进行调速。这里我使用定时器T0的工作模式2自动重装。并赋初值 TH0=0xf6;TL0=0xf6;U产生高频脉冲。UC语言源代码实现#include<reg51.h>#defineucharunsignedchar#defineuintunsignedintunsignedcharzkb1=0;//**左边电机的占空比**//unsignedcharzkb2=0;//**右边电机的占空比**//unsignedchart=0;//**定时器中断计数器**//sbitRSEN1=P1^0;sbitRSEN2=P1^1;sbitLSEN1=P1^2;sbitLSEN2=P1^3;sbitIN1=P0^0;sbitIN2=P0^1;sbitIN3=P0^2;sbitIN4=P0^3;sbitENA=P0^4;sbitENB=P0^5;//****************延时函数****************//voiddelay(intz){while(z--);}//**********初始化定时器,中断***********//voidinit(){TMOD=0x01;TH0=(65536-100)/256;TL0=(65536-100)%256;EA=1;ET0=1;TR0=1;}//***********中断函数+脉宽调制***********//voidtimer0()interrupt1{if(t<zkb1)ENA=1;elseENA=0;if(t<zkb2)ENB=1;elseENB=0; t++;if(t>=100){t=0;}}//******************直行******************//voidqianjin(){zkb1=30;zkb2=30;}//***************左转函数1***************//voidturn_left1(){zkb1=0;zkb2=50;}//***************左转函数2***************//voidturn_left2(){zkb1=0;zkb2=60;}//***************右转函数1***************//voidturn_right1(){zkb1=50;zkb2=0;}//***************右转函数2***************//voidturn_right2(){zkb1=60;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司运营外包合同
- 内刊外包合同
- 切割外包合同
- 劳动合同变外包合同
- 医药销售外包合同
- 印刷手工外包合同
- 名创优品外包合同
- 商业物业外包合同
- 回收台球外包合同
- 垃圾费收取外包合同
- 政府采购市场调研制度
- 拆墙体施工方案(3篇)
- 第18课 土壤湿度控制好 教案(表格式)信息科技人教版六年级全一册
- 2026年重庆能源集团健康公司永荣总医院招聘医生、护士备考题库及答案详解1套
- 2026年时事政治测试题库附答案(模拟题)
- GD2016《2016典管》火力发电厂汽水管道零件及部件典型设计(取替GD2000)-101-200
- (全套表格可用)SL631-2025年水利水电工程单元工程施工质量检验表与验收表
- 临床妇科学总结
- 预防非职务违法犯罪讲座课件
- 支付结算办法培训
- 城市生活污泥及水基岩屑综合利用技改项目环境影响报告表
评论
0/150
提交评论