智能仪表课程设计 - 图文
更新时间:2024-02-27 12:53:01 阅读量: 综合文库 文档下载
- 智能仪表课程设计题目推荐度:
- 相关推荐
《智能仪器设计》课程设计报告书
班 级:自动化0803 学 号: 姓 名 指导教师:
摘要
实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配PT100热电阻,测温范围为0℃~300℃。采用比例控制、并用晶闸管移相驱动1000W电加热器(电源电压为AC220V)。
一、 课程设计题目
17. 试设计智能仪表
实现智能数字显示仪表。要求8位数码管显示(4位显示测量值,4位显示设定值),4输入按钮(功能选择、数码管选择、数字增加、数字减少),可设定上下限报警(蜂鸣器报警)。适配PT100热电阻,测温范围为0℃~300℃。采用比例控制、并用晶闸管移相驱动1000W电加热器(电源电压为AC220V)。
二、 题目分析
1. 设计任务分析
本设计要求使用ATmega16单片机作为MCU主控芯片,设计一个智能显示仪表。
据任务要求,本系统采用8位数码管分别显示测量温度值和设定值,在设定状态时用来显示设置功能号和该功能实现的设置当前值;系统拥有报警功能,当当前温度超过上限值或者下限值时,蜂鸣器响,且上限报警/下限报警LED灯亮以区分上/下限报警;系统有四个控制按键,功能分别是:功能选择、数码管选择、数字增加、数字减少,用来对温度设定值、上限值、下限值等设置;还有四个状态显示LED灯,分别显示:正常运行、设定状态、上限报警、下限报警;本系统除显示以外,还要求有对加热器控制的功能以达到使温度控制在设定值的要求。
2. 功能实现分析
根据设计任务要求,现设想以下设计以满足要求:
仪表适配PT100热电阻,因此首先需要一个PT100热电阻的信号调理电路,使热电阻的热电势转化为MCU可直接测得的电压值,从而测得当前温度值。
采用ATmega16作为主控芯片,可直接利用内部AD转换电路进行,因为内置10位A/D转换器,可以满足一般精度的要求。
按键电路可以采用中断方式进行处理,并且只有先按“功能选择”键才可以启动按键扫描,对其进行处理,在处理过程中关中断,各功能都设置完后,再按“功能选择”键以退出处理程序;不同按键实现不同的功能:
“功能选择”键:启动中断,并选择切换不同的设置对象和存储上一个对象设置的值,最后切换完所有功能后按下保存所有设定值并退出中断;
“数码管选”键:选择待设定对象的数码管,即选择该对象加/减操作的单位量(1000/100/10/1);
“数字增加”键:在以选择的单位上进行加1个单位的操作; “数字减少”键:在以选择的单位上进行减1个单位的操作。 状态显示和蜂鸣器操作分别用单片机的输出端口操作。
硬件框图:
三、 电路器件选型
1. 主芯片简介
ATmega16是基于增强的AVR RISC结构的低功耗8 位CMOS微控制器。由于其先进的指令集以及单时钟周期指令执行时间,ATmega16 的数据吞吐率高达1 MIPS/MHz,从而可以缓减系统在功耗和处理速度之间的矛盾。
其结构图如下:
ATmega16 有如下特点:16K字节的系统内可编程Flash(具有同时读写的能力,即RWW), 512 字节EEPROM,1K 字节SRAM,32 个通用I/O 口线,32 个通用工作寄存器,用于边界扫描的JTAG 接口,支持片内调试与编程,三个具有比较模式的灵活的定时器/ 计数器 (T/C),片内/外中断,可编程串行USART,有起始条件检测器的通用串行接口,8路10位具有可选差分输入级可编程增益(TQFP 封装) 的ADC ,具有片内振荡器的可编程看门狗定时器,一个SPI 串行端口,以及六个可以通过软件进行选择的省电模式。 工作于空闲模式时CPU 停止工作,而USART、两线接口、A/D 转换器、SRAM、T/C、SPI 端口以及中断系统继续工作;掉电模式时晶体振荡器停止振荡,所有功能除了中断和硬件复位之外都停止工作;在省电模式下,异步定时器继续运行,允许用户保持一个时间基准,而其余功能模块处于休眠状态; ADC 噪声抑制模式时终止CPU 和除了异步定时器与ADC 以外所有I/O 模块的工作,以降低ADC 转换时的开关噪声; Standby 模式下只有晶体或谐振振荡器运行,其余功能模块处于休眠状态,使得器件只消耗极少的电流,同时具有快速启动能力;扩展Standby 模式下则允许振荡器和异步定时器继续工作。
2. 引脚简介
ATmega16引脚图:
引脚简介:
VCC: 数字电路的电源 GND: 地
端口A(PA7..PA0): 端口A 做为A/D 转换器的模拟输入端。端口A 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口A 处于高阻状态。
端口B(PB7..PB0): 端口B 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口B 处于高阻状态。端口B 也有其他不同的特殊功能。
端口C(PC7..PC0): 端口C 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,端口被外部电路拉低时将输出电流。在复位过程中,即使系统时钟还未起振,端口C 处于高阻状态。如果JTAG接口使能,即使复位出现引脚 PC5(TDI)、 PC3(TMS)与 PC2(TCK)的上拉电阻被激活。端口C 有其他不同的特殊功能。
端口D(PD7..PD0): 端口D 为8 位双向I/O 口,具有可编程的内部上拉电阻。其输出缓冲器具有对称的驱动特性,可以输出和吸收大电流。作为输入使用时,若内部上拉电阻使能,则端口被外部电路拉低时将输出电流。在复
位过程中,即使系统时钟还未起振,端口D 处于高阻状态。端口D 也可以用做其他不同的特殊功能。
RESET: 复位输入引脚。持续时间超过最小门限时间的低电平将引起系统复位。持续时间小于门限间的脉冲不能保证可靠复位。
XTAL1: 反向振荡放大器与片内时钟操作电路的输入端。 XTAL2: 反向振荡放大器的输出端。
AVCC: AVCC是端口A与A/D转换器的电源。不使用ADC时,该引脚应直接与VCC连接。使用ADC时应通过一个低通滤波器与VCC 连接。
AREF: A/D 的模拟基准输入引脚。
3. 传感器件简介
本系统采用PT100热电阻作为测温元件,测温范围0~300℃。 其分度表如下:
四、 硬件设计
1. 主控MCU模块 1.1 电路图
2.2 简介
电源由7805稳压得到,外部电源由POWER输入,四个二极管用来防止电源正负极反接引起设备故障或者损坏。外部电源经7805稳压后得到供电电源+5V,而模拟电源+A5V则由数字电源+5V接一个电感得到,为减小干扰,+5V和+A5V都接上去偶电容;发光二极管用于上电指示,表示已上电。
3. 信号调理模块
3.1 电路图
1.2 简介
主控MCU采用ATmega16。在主控MCU模块中,接有8MHZ的 XTAL1外部晶振,可以用短接帽Jxta1选择内部/外部晶振;在复位端RST接有上电复位和按键复位,实现复位功能;A/D转换的外部参考电平由引脚AVCC提供,通过短接帽JREF1和JREF2可以选择5V或者4.096V作为参考电平;XTAL2提供3.2767KHZ的计时晶振。
2. 电源供电模块 2.1 电路图
3.2 简介
本系统采用PT100热电阻作为测温元件,以上为信号调理电路:该电路采用运放LM258作为恒流源,PT100提供1mA电流,可调电阻RP1用于调节电流为1mA,为防止热电阻损坏和便于替换,将PT100用脚针接出。
采用单电源仪表放大器AD623放大热电阻两端的电压信号,由分度表可知:在0℃时,热电阻的阻值为100.000Ω,在300℃时,热电阻的阻值为212.062Ω,由于AD623的放大倍数为20倍,因此AD623的输出电压Vo范围为:2V~4.241V。
4. 光耦驱动模块 4.1 电路图
4.2 简介
本系统要求具有控制加热器的功能,采用二位式控制,即只需控制开和断,设计要求采用晶闸管过零驱动,故设计如上图:采用MOC3062进行驱动,该电路相当于单片机控制一个交流功率开关,控制负载得电或失电,特别是在交流电过零瞬间,因此对电网冲击小,电磁辐射小。电阻R1用于控制MOC3062输入电流在10mA左右;电阻R2用于限制被驱动双向晶闸管的门极触发电流IGT;R3用于抗干扰;Cs用于限制电压的上升速率dV/dt;电阻Rs用于限制Cs上的浪涌电流。
5. 按键模块 5.1 电路图
5.2 简介
本系统有4个功能按键,按键模块如上图: K0:功能选择; K1:数码管选择; K2:数字增加; K3:数字减少。
按键模块的扫描由K0启动INT0中断进行处理,在处理过程中管中断并一直扫描键盘进行设定操作。四个按键通过RKEY接地连接到引脚PB0、PB1、PB2、PB3,单片机内含有上拉电阻。
6. 状态显示模块 6.1 电路图
6.2 简介
本系统有四个状态显示LED,其功能分别是: LED1:正常工作,连接到PA0控制; LED2:处于设定状态,连接到PA1控制; LED3:上限报警,连接到PA2控制; LED4:下限报警,连接到PA3控制。
四个LED等都是低电平控制,在系统运行控制中显示系统状态。
7. 数显模块
7.1 电路图
7.2 简介
本系统的数字显示模块采用两片74HC595控制,共2块8个共阳数码管,其中Uy1控制段选,控制八段数码管的导通与断开,而Uy2则控制位选,选择其中一个作为当前选亮的数码管,采用动态显示。
控制线只有3根,分别接在PC0,PC1,PC2上,其中PC0分位输出数据;PC1输出锁存信号,对输入进行锁存;PC2输出移位脉冲,控制移位,每输入一位数据都需移动一位;因此需要全部点亮八个数码,必须输出8次16位数据,每次的16位数据包括位选码和段选码。
8. 蜂鸣报警模块
8.1 电路图
五、 原理图
六、 PCB图
七、 软件设计
定时器初始化 #include \#include
void T1_Init(void) //初始化,产生10mS周期中断
{OCR1A = 1249; //计数周期为10ms,F=1MHz OCR1A为计数器TOP TIMSK |= (1 << OCIE1A); //比较中断A允许
TCCR1A = 0x00; //普通端口操作,非OC1A和OC1B
TCCR1B = 0x08; //定时器工作在CTC计数器模式,计数值与OCR1A值比较,
//相等就中断,然后,计数器归0
TCCR1B |= 0x02; //设置定时器1的分频值为8分频 }
向8位数码管输出数据程序 #include \#include \
/*如下注释语句是用与共阳数码的数组 unsigned char disp[] =
{0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,
0x88,0x83,0xc6,0xa1,0x86,0x8e,0xbf}; //共阳数码段输出 unsigned int weizhi[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80}; //高电平有效位输出 */
unsigned char disp[] =
{0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f, 0x77,0x7c,0x39,0x5e,0x79,0x71,0x40}; //共阴数码段输出高电平有效 unsigned char weizhi[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; //位输出低电平有效 unsigned int data[8];
void SPI_MasterInit(void) //SPI接口初始化
{DDRB |= (1<<5) | (1<<7); //设置MOSI 和SCK 为输出,其他为输入 SPCR = (1<<6) | (1<<4)|(1<<5)|(1<<1) | (1<<0); //使能SPI 主机模式,设置时钟速率为fck/128 }
void SPI_595_Out(unsigned char i) //595数据输出 {SPDR = i; //启动数据传输
while (!(SPSR & (1<<7))) {;} //等待传输结束 }
void main(void)
{unsigned char saomiao=0;
unsigned char w[10];
DDRA = 0x00; //输入 PORTA = 0x00; //上拉
DDRB = 0xB0; //高4位方向输出,低4位为输入/ PORTB = 0xFF; DDRC = 0xFC; PORTC = 0xFF; PORTD = 0x00; DDRD = 0xFF;
SPI_MasterInit(); //SPI初始化 while (1)
{{data[0]=1234; data[1]=5678; //向HC595输出的数据 w[0]=data[0]; w[1]=data[0]/10; w[2]=data[0]/100; w[3]= data[0]/1000; w[4]=data[1]; w[5]=data[1]/10; w[6]=data[1]/100; w[7]=data[1]/1000; }
PORTB &= ~(1 << 4); //准备锁存 SPI_595_Out(weizhi[saomiao]); //位数据 SPI_595_Out(disp[w[saomiao]]); //段数据 PORTB |= (1 << 4); //锁存数据 saomiao++; if(saomiao>=8) saomiao=0;
八、 心得体会
在课程设计期间,我认真查阅资料,学习关于这方面的知识,比如说要了解89S51芯片中各个引角的功能,怎么样去使用89S51这个可编程并行接口芯片,在这学期理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,或许是我的C语言学得不够呛好,我只能借助参考资料,这样一来又巩固了我的对C语言的了解.
如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学心里只有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,你不会忘记!一句话,课程设计对我们很重要!
八 参考文献
1. 华成英. 模拟电子技术基础(第四版). 高等教育出版社. 2006 2. 牛昱光. 单片机原理与接口技术. 2009
3. 夏路易. 智能控制与智能仪表(EDA). 2009版
在课程设计期间,我认真查阅资料,学习关于这方面的知识,比如说要了解89S51芯片中各个引角的功能,怎么样去使用89S51这个可编程并行接口芯片,在这学期理论学习的基础上,又下了一次苦工夫,算是明白了设计一个系统的过程;也让我体会到要想成功地设计某个东西,光学好专业知识是不够的,必须要系统的知识,无论在哪方面都要有个明白的概念,只有这样才不至于在设计过程中摸不着头脑,知道去哪些是需要查的资料,还有一点,我觉得我在芯片编程方面,或许是我的C语言学得不够呛好,我只能借助参考资料,这样一来又巩固了我的对C语言的了解.
如此,我体会到学习理论知识固然重要,但在你学完了之后,你不在实践中运用你所学的知识,我想学是白学了,过一段时间后,你可能什么都记不起来了,或许在学心里只有一个概念,认为这个知识我曾经学得不错,我现在怎么想不起来了,一心想依赖课本;如果我们用实践来学习知识,你会努力地去搜索你想要需要的东西,即使是过了一段时间后,你也会记得你曾经对这点不明白认真地查阅过,你不会忘记!一句话,课程设计对我们很重要!
八 参考文献
1. 华成英. 模拟电子技术基础(第四版). 高等教育出版社. 2006 2. 牛昱光. 单片机原理与接口技术. 2009
3. 夏路易. 智能控制与智能仪表(EDA). 2009版
正在阅读:
智能仪表课程设计 - 图文02-27
会计前沿讲座论文11-08
蒙牛核心价值体系及解读05-31
肿瘤随访登记技术方案01-25
蒙河铁路2标施工组织设计 - 图文07-05
运动会报道稿02-16
2018年修订版 思想道德修养与法律基础 第一章( 教学案例)03-23
从江歌案看法治新闻传播存在的问题03-13
玉龙雪山作文800字07-01
人力资源管理系统10-10
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 智能仪表
- 课程
- 图文
- 设计
- 知识竞赛规则及评分标准
- 13.1平方根(2)教案
- LTE复习题库带解析(第二部分) - 图文
- 党员发展对象个人自传
- 设计人员工资及提成比例的规定及奖惩制度
- 3.15消费者权益保护日倡议书4页word
- 教育心理学理论与实践
- 抗燃油管道安装作业指导书
- 探讨定向钻井技术新进展及发展趋势
- 2015年江南大学现代远程教育《大学英语(一)》第三阶段测试卷满
- 新人教版小学一年级数学上册《减法》优秀教学设计
- 酒店管理系统报告
- 浦东新区2013年中考预测数学答案
- 关于对二级学院纪检监察工作巡查的方案
- 2017会计硕士考研备考:复习知识点精华
- 关于对宝鸡市2010年基础教育优秀教学成果申报评选的通
- 苹果手机营销策划方案书
- 大学物理静电场练习题带答案
- 六年级英语毕业班冲刺英语模拟测试卷
- RSVIEW32与VIEW SE区别