MSPF5438在恒压变频供水系统中的应用设计论文.doc

上传人:laozhun 文档编号:3931857 上传时间:2023-03-28 格式:DOC 页数:20 大小:458.50KB
返回 下载 相关 举报
MSPF5438在恒压变频供水系统中的应用设计论文.doc_第1页
第1页 / 共20页
MSPF5438在恒压变频供水系统中的应用设计论文.doc_第2页
第2页 / 共20页
MSPF5438在恒压变频供水系统中的应用设计论文.doc_第3页
第3页 / 共20页
MSPF5438在恒压变频供水系统中的应用设计论文.doc_第4页
第4页 / 共20页
MSPF5438在恒压变频供水系统中的应用设计论文.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《MSPF5438在恒压变频供水系统中的应用设计论文.doc》由会员分享,可在线阅读,更多相关《MSPF5438在恒压变频供水系统中的应用设计论文.doc(20页珍藏版)》请在三一办公上搜索。

1、 项目设计 主题:MSP430F5438单片机在自动恒压供水系统中的应用完成时间: 2013.10.30 学生姓名: 刘天月 指导教师: 王庐山 【摘要】:(中英文)在自来水供水系统中,恒压供水是系统设计时考虑的一个重要环节。本文通过MSP430系列单片机作为主控制器,组建并实现了恒压自动调节供水系统,给出了系统工作原理与结构图,阐述了各功能模块的主要功能。该系统的成功之处在自来水公司供水控制系统中有一定的使用与推广价值。【关键词】:恒压供水、MSP430F5438单片机、自来水【 abstract 】 : In the tap water supply system, constant pr

2、essure water supply system is considered an important part in design. As the main controller based on MSP430 series SCM(Single chip microcomputer), form and realize the constant pressure automatically adjust the water supply system, gives the system working principle and structure, expounds the main

3、 functions of each function-module. The success of the system in tap water company water supply control system has a certain use and popularization value.【 key words 】 : Constant pressure water supply, MSP430F5438 microcontroller, Tap water一.引言2二.MSP430F5438单片机简介2三.自动恒压变频供水器设计31.工作原理32.单片机控制设计42.1硬件

4、设计42.1.1 自动恒压供水系统结构框图42.1.2 核心板电路分析52.1.3 IPM变频驱动水泵电路分析52.1.4 AD采集水压电路分析52.1.5 压力及流量检测电路分析62.2软件设计62.2.1 主程序流程图72.2.2 编程思想7四结束语7五.附程序清单8一. 引言 水是生命之源,人类生存和发展都离不开水。在通常的城市及乡镇供水中,基本上都是靠供水站的电动机带动离心水泵,产生压力使管网中的自来水流动,把供水管网中的自来水送给用户。但供水机泵供水的同时,也消耗大量的能量,如果能在提高供水机泵的效率、确保供水机泵的可靠稳定运行的同时,降低能耗,将具有重要经济意义。我国供水机泵的特点

5、是数量大、范围广、类型多,在工程规模上也有一定水平,但在技术水平、工程标准以及经济效益指标等方面与国外先进水平相比,还有一定的差距。随着城市化建设规模的逐步扩大以及生活水平的不断提高,人们对自来水公司供水的可靠性要求越来越高,尤其是供水水压方面的要求,人们通常都希望水压能够稳定恒压。由于人工方法不够智能,很难做到实时性调节水压,因此,在现今的供水系统中,传统的人工调节阀门的方法已经逐渐被自动化的设备所取代。如何保证恒压供水,使供水时随用户需求量的变化,供水系统都能够实时的进行自动调节供水量保证水压的恒定,成为重要的问题。本文通过MSP430F5438单片机调节,实时自动控制水泵电机的转速,使管

6、网供水口的水压始终保持在预订的值上,从而达到恒压供水的目的。二. MSP430F5438单片机简介MSP430系列单片机是美国德州仪器公司研发的一款16位超低功耗单片机3,因为其具有精简指令集的混合信号处理器,所以称之为混合信号处理器。该系列单片机具有如下特点:l 处理能力强MSP430系列单片机是一个16位的单片机,采用了精简指令集(RISC)结构,具有丰富的寻址方式(7 种源操作数寻址、4 种目的操作数寻址)、简洁的 27 条内核指令以及大量的模拟指令;大量的寄存器以及片内数据存储器都可参加多种运算;还有高效的查表处理指令。这些特点保证了可编制出高效率的源程序。l 运算速度快MSP430

7、系列单片机能在25MHz晶体的驱动下,实现40ns的指令周期。16位的数据宽度、40ns的指令周期以及多功能的硬件乘法器(能实现乘加运算)相配合,能实现数字信号处理的某些算法(如 FFT 等)。l 超低功耗MSP430 单片机之所以有超低的功耗,是因为其在降低芯片的电源电压和灵活而可控的运行时钟方面都有其独到之处。首先,MSP430 系列单片机的电源电压采用的是1.8-3.6V 电压。因而可使其在1MHz 的时钟条件下运行时,芯片的电流最低会在165A左右,RAM 保持模式下的最低功耗只有0.1A。其次,独特的时钟系统设计。在 MSP430 系列中有两个不同的时钟系统:基本时钟系统、锁频环(F

8、LL 和FLL+)时钟系统和DCO数字振荡器时钟系统。可以只使用一个晶体振荡器(32768Hz),也可以使用两个晶体振荡器。由系统时钟系统产生 CPU 和各功能所需的时钟。并且这些时钟可以在指令的控制下,打开和关闭,从而实现对总体功耗的控制。由于系统运行时开启的功能模块不同,即采用不同的工作模式,芯片的功耗有着显著的不同。在系统中共有一种活动模式(AM)和五种低功耗模式(LPM0LPM4)。在实时时钟模式下,可达2.5A ,在RAM 保持模式下,最低可达0.1A 。l 片内资源丰富MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(T

9、imer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合定时器,可设计出 A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、 PWM 等;有的器件更具有可实现异步、同步及多址访问串行通信接口可方便的实现多机通

10、信等应用;具有较多的 I/O 端口,P0、P1、P2 端口能够接收外部上升沿或下降沿的中断输入;10/12位硬件 A/D 转换器有较高的转换速率,最高可达200kbps ,能够满足大多数数据采集应用;能直接驱动液晶多达 160 段;实现两路的 12 位 D/A 转换;硬件I2C串行总线接口实现存储器串行扩展;以及为了增加数据传输速度,而采用的DMA模块。MSP430 系列单片机的这些片内外设为系统的单片解决方案提供了极大的方便。另外,MSP430 系列单片机的中断源较多,并且可以任意嵌套,使用时灵活方便。当系统处于省电的低功耗状态时,中断唤醒只需5s。l 方便高效的开发环境MSP430 系列有

11、 OTP 型、 FLASH 型和 ROM 型三种类型的器件,这些器件的开发手段不同。对于 OTP 型和 ROM 型的器件是使用仿真器开发成功之后烧写或掩膜芯片;对于 FLASH 型则有十分方便的开发调试环境,因为器件片内有 JTAG 调试接口,还有可电擦写的 FLASH 存储器,因此采用先下载程序到 FLASH 内,再在器件内通过软件控制程序的运行,由 JTAG 接口读取片内信息供设计者调试使用的方法进行开发。这种方式只需要一台 PC 机和一个 JTAG 调试器,而不需要仿真器和编程器。开发语言有汇编语言和 C 语言。三.自动恒压变频供水器设计1. 工作原理:变频调速恒压供水与水塔或楼顶的高位

12、水箱供水相比,具有投资省、节约能源、水质遭二次污染的机会少等优点,越来越多的城市和生活小区已经或正打算采用变频调速恒压供水。变频调速恒压供水系统构成(如图1):图一:变频调速恒压供水系统构成Frequency conversion velocity modulation constant pressure water supply system其工作原理是:控制器通过检测实际水压值,比较设定水压值和实际水压值的差别,控制器按规律运算后,输出控制信号至变频器,变频器则根据控制器的输入信号调节水泵电机的供电电压和频率。当用水量增加时,控制器控制变频器使电动机的电压和频率加大,水泵转速升高,出水量增

13、加;当用水量减少时,控制器控制变频器使电动机的电压和频率降低,水泵转速下降,出水量减少。通过这种控制方式,就可以使自来水管道压力保持在设定值上。由于变频器的价格较高,变频调速恒压供水系统通常采用多台水泵并联运行,几台水泵共用一台变频器。工作时,控制器根据用水量的大小,控制配电系统自动选择所需投入运行的水泵数量,一般方法是保持其中一台水泵处于变频器控制下,其它水泵则根据供水量的变化,在工频下全速运行或停机待命。2. 单片机控制器设计:2.1硬件设计核心板通过压力和流量传感器采集出水口水压和流量的变化,然后再与与设定值比较,如果和设定值有偏差就通过IPM变频模块控制电机的电压及频率,从而改变水泵的

14、转速,达到调节水压和流量的目的。2.1.1 自动恒压供水系统结构框图自动恒压供水系统结构框图Automatic constant pressure water supply system structure diagram2.1.2 核心板电路分析核心板电路主要包括CPU(MSP430F5438)、电源电路、时钟电路、LCD液晶显示、按键部分、串口下载电路、复位电路。2.1.3 IPM变频驱动水泵电路分析通过MSP430F5438单片机数出脉冲改变水泵的驱动电压大小及频率,从而改变水泵的转速,实现对水压和流量的控制。IPM驱动电路原理图如下:IPM驱动电路原理图IPM drive circui

15、t principle diagram2.1.4 AD采集水压电路分析本设计采用ADS1118转换芯片,当水压大小发声变化时,信号采集部分根据水压大小输出相应电压变化到单片机,单片机通过内部AD对信号进行运算,调节输出水压的大小。AD转换部分原理图如下:AD采集水压电路AD collection hydraulic circuit2.1.5 压力及流量检测电路分析压力及流量检测传感器采集水压和流量的变化,转换成相应的电压变化和脉冲频率变化,然后送到单片机进行处理。压力及流量检测电路如下:压力及流量检测电路Pressure and flow detection circuit2.2软件设计2.2

16、.1 主程序流程图主程序流程图The main program flow chart2.2.2 编程思想:分析电路功能,明白各个模块电路的作用;程序模块化调试,这是保证调理清楚的必要手段;组合模块程序,分析各个模块的关联及影响;整机调试,测试整体功能的实现,分析存在的问题并解决;程序调试完成。四结束语采用MsP430系列单片机作为主控制器来实现供水系统的自动恒压,自动调节水压使供水系统压力稳定,同时,使用MSP430系列单片机提高了系统的控制可靠性和抗干扰性。在节约成本的同时,也进一步保证了系统安全稳定的运行。该系统融合了单片机控制技术、反馈控制技术和电机调节技术等,在自来水公司供水控制系统中

17、有一定的使用与推广价值。五.附程序清单:/* LCD: PSB Select Parallel transmit mode by 100to VCC On PCB board* P3.0-RS* P3.4-EN* P3.5-RW* P11.0-RST* P8 -Data*/#includemsp430x54xA.h/#includeBoardConfigure.h#includepublic.h#define uchar unsigned char#define uint unsigned int/*/* */*检查LCD忙状态 */*lcd_busy为1时,忙,等待。lcd-busy为0时,

18、闲,可写指令与数据。 */* */*/void Delay_ms(uint t)/50ms int j; for(;t0;t-) for(j=6245;j0;j-) ; void Delay_us(uint t)/50us uint j; for(;t0;t-) for(j=19;j0;j-); unsigned char LCD_Busy() unsigned char Result; LCD_RS_L; LCD_RW_H; LCD_EN_H; Delay_us(400); LCD_DataIn; / Data Select Input Result = P8IN&0x80; LCD_EN_

19、L; return Result; /*/* */*写指令到LCD */*RS=L,RW=L,E=高脉冲,D0-D7=指令码。 */* */*/void LCD_WriteCommand(unsigned char Cmd) while(LCD_Busy(); / Busy check LCD_RS_L; LCD_RW_L; LCD_EN_L; Delay_us(10); Delay_us(10); LCD_DataOut; P8OUT = Cmd; /P0 = Cmd; Delay_us(10); LCD_EN_H; Delay_us(10); LCD_EN_L; /*/* */*写显示数据

20、到LCD */*RS=H,RW=L,E=高脉冲,D0-D7=数据。 */* */*/void LCD_WriteData(unsigned char Dat) while(LCD_Busy(); / Busy check LCD_RS_H; LCD_RW_L; LCD_EN_L; LCD_DataOut; P8OUT = Dat; /P0 = Dat; Delay_us(10); LCD_EN_H; Delay_us(10); LCD_EN_L; /*/* */* LCD初始化设定 */* */*/void LCD_Init() LCD_RST_L; /液晶复位 Delay_ms(3); LC

21、D_RST_H; Delay_ms(3); LCD_WriteCommand(0x34); /扩充指令操作 Delay_ms(1); LCD_WriteCommand(0x30); /基本指令操作 Delay_ms(1); LCD_WriteCommand(0x0C); /显示开,关光标 Delay_ms(1); LCD_WriteCommand(0x01); /清除LCD的显示内容 Delay_ms(1);/*/* */* 设定汉字显示位置 /eg:LCD_Position(4,0); -表示从第四行的第0个字符开始写*/-即从第四行的第0个字开始写/eg:LCD_Position(4,1)

22、; -表示从第四行的第2个字符开始写*/-即从第四行的第1个字开始写/* */*/void LCD_Position(unsigned char X,unsigned char Y) unsigned char Pos; if (X=1) X=0x80; else if (X=2) X=0x90; else if (X=3) X=0x88; else if (X=4) X=0x98; Pos = X+Y ; LCD_WriteCommand(Pos); /显示地址/* * 闪烁函数 * */void LCD_Flash() LCD_WriteCommand(0x08); / close dis

23、play Delay_ms(400); LCD_WriteCommand(0x0c); / open display Delay_ms(400); LCD_WriteCommand(0x08); Delay_ms(400); LCD_WriteCommand(0x0c); Delay_ms(400); LCD_WriteCommand(0x08); Delay_ms(200); LCD_WriteCommand(0x0c); Delay_ms(5); LCD_WriteCommand(0x01); / clear display Delay_ms(5);/*; 显示字符表代码*/void LC

24、D_Char_Display() unsigned char s; LCD_Clear_Screen(); /清屏 LCD_WriteCommand(0x80); /设置显示位置为第一行 for(s=0;s16;s+) LCD_WriteData(0x30+s); LCD_WriteCommand(0x90); /设置显示位置为第二行 for(s=0;s16;s+) LCD_WriteData(0x40+s); LCD_WriteCommand(0x88); /设置显示位置为第三行 for(s=0;s16;s+) LCD_WriteData(0x50+s); LCD_WriteCommand(

25、0x98); /设置显示位置为第四行 for(s=0;s16;s+) LCD_WriteData(0x60+s); /* * 清屏函数 * */void LCD_Clear_Screen() LCD_WriteCommand(0x34); /扩充指令操作 Delay_ms(5); LCD_WriteCommand(0x30); /基本指令操作 Delay_ms(5); LCD_WriteCommand(0x01); /清屏 Delay_ms(5); void LCD_GPIO_Init() / Liquid 12864 with word lib pin define P3DIR |= BIT

26、0+BIT4+BIT5; / RS,RW,EN Select output P3OUT |= BIT0+BIT4+BIT5; P11DIR |= BIT0; / RST Select output P11OUT |= BIT0; P8DIR |= 0xFF; / LCD_Data,Select output void Init_Clock(void) unsigned int i; WDTCTL = WDTPW + WDTHOLD; / Stop watchdog timer / P11DIR = BIT0+BIT1+BIT2; / P11.1-2 to output direction /P

27、11SEL |= BIT0+BIT1+BIT2; / P11.1-2 to output SMCLK,MCLK P5SEL |= 0x0C; / Port select XT2 UCSCTL6 &= XT2OFF; / Enae XT2 even if not used UCSCTL3 |= SELREF_2; / FLLref = REFO UCSCTL4 |= SELA_2; /辅助系统时钟来源REFO UCSCTL4 |= SELS_5 + SELM_5; / SMCLK=MCLK=XT2-25M _NOP(); UCSCTL5 |= DIVM_2 + DIVS_2; /MCLK=25M

28、;SMCLK=25M;ACLK=32768 do UCSCTL7 &= (XT2OFFG + XT1LFOFFG + DCOFFG); / Clear XT2,XT1,DCO fault flags SFRIFG1 &= OFIFG; / Clear fault flags for(i=0;i Data Out (UCB1SIMO)/ | |/ | P5.4|- Data In (UCB1SOMI)/ | |/ CS Serial Clock Out (UCB1CLK)/ Shuyang Zhong/ U-Program China, Texas Instruments Inc./ Mar 2

29、013/ Built with CCE Version: 5.1.1/*#include msp430x54xA.h#includeads1118.hvoid ADS1118_GPIO_Init(void) P1OUT |= 0x02; / Set P1.1 for CS P1DIR |= 0x02; / Set P1.1 to output direction P3SEL |= 0x80; / P3.7 option select P5SEL |= 0x30;/ P5.4,5 option select P5DIR |= 0x01;/ Set P5.0 to output direction

30、void ADS1118_SPI_Init(void) UCB1CTL1 |= UCSWRST; / *Put state machine in reset* UCB1CTL0 |= UCMST+UCSYNC+UCMSB; / 3-pin, 8-bit SPI master / Clock polarity high, MSB UCB1CTL1 |= UCSSEL_2; / SMCLK UCB1BR0 = 0x05; / /2 UCB1BR1 = 0; / UCB1CTL1 &= UCSWRST; / *Initialize USCI state machine* _delay_cycles(100); / Wa

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号