基于MSP430自动胀管控制器的研制

发布者:Yaqi最新更新时间:2010-10-10 来源: 电子设计工程关键字:自动胀管机  单片机  1stOpt  数据拟合  MSP430F149 手机看文章 扫描二维码
随时随地手机看文章

  胀管机是针对冷凝器、冷油器、加热器、换热器中各类管材与管板胀接需要而设计开发的一种专用设备。其控制器的基本原理是用驱动电机(又称驱动马达、胀管机头)的工作电流来标定所加载的负荷,即驱动电机在一定的工作电流值下,提供相当数量的扭矩,而与之相当数量的扭矩可以通过旋转胀管器产生一定的膨胀量(胀力),它是可以被测量的。因此,通过精确测量并控制驱动马达的工作电流值,就可获得并控制所需要的膨胀量(胀力)。

  目前,市场上大多数的胀管机采用51单片机,但其缺点比较突出。如内部无存储器,必需外接Flash或EPROM存储设置信息,这就导致电路比较复杂,不利于扩展,且工作电压范围较窄,抗干扰能力较差。而采用MSP430F149单片机的胀管机可以有效克服这些缺点。

  1 工作原理

  图l为系统的整体框图。通过框图来分析胀管机的工作过程:上电后,手动开关按下,这时手动检测电路会检测到开启信号,并通过光电隔离(隔置强电流)送入单片机;此时交流电通过电流互感器把交流加在负载上,并通过整流滤波电路把交流变成直流,经过延时电路延迟一段时间以便避开电机的启动电流,再经过放大处理,把电流信号输入单片机进行A/D转换并处理;同时继电器控制主开关M-SW打开,电机启动,面板上显示设置的电流值和电机转动的电流实时值:当实际电流以检测电流为基准发生变化时,单片机通过继电器控制换向开关D-SW换向进行胀管或退胀操作。同时,指示灯可以显示胀管机的工作状态。按键可以设置胀力,选用电机的3种不同功率档位。在电机空载的情况下,手动开关按下后,主开关打开,转头转动,此时采集的电流信号送入单片机。经过大约6 s,单片机把其测得的空转电流平均值显示出来,此时主开关断开,转头停止转动。在设置胀力时,胀力设置值必须大于电机空转时的电流值,否则电机无法进行胀管操作。

系统的整体框图

  2 电路设计

  220 V交流输入后,通过稳压模块持续输出稳定的+5 V和+12 V的电压,为线路板的电源提供保证。同时使用TPS76301将+5 V电压转换得到+3 V电压,为单片机供电。220 V的交流电通过光电隔离分别为控制A/D采集的继电器555延时电路以及D-SW换向电路提供+12V的电源。

  当手动开关按下后,电源接通,单片机采集电流信号并进行A/D转换。图2为A/D信号采集电路.交流输入通过电流互感器T1,把交流加在负载上,并通过整流滤波电路变成直流,由继电器K5控制输出电流信号AA/D且送入前面板,经LM358放大处理后得到的电流信号AA/D1交由单片机MSP430进行采集处理。继电器K5的0端是与555延时电路的输出端相连,并由555延时电路输出信号来控制其工作状态。

A

  在胀管机开启时有一个非常大的瞬间电流,会导致刚开机马上就关机,无法正常启动。因此,需要一个由555延时电路组成的避峰电路来避开瞬间的大电流,延迟开机时间。图3为延时避峰电路,NE555的引脚2(TRIG)在胀管机开启时会有一个脉冲,使得引脚3(Q)的电平变为低电平,图2中的继电器K5线圈通电工作,断开连接,导致单片机无法进行信号采集。同时,电容开始充电,NE555的引脚7(DIS)内部导通。脉冲过后,电容通过引脚7开始放电,TRIG和THR的电压开始降低,当电压降到一定程度Q变为高电平,引脚7脚内部截止,K5停止工作,信号采集正常,避免了出现开机立刻关机的现象。

延时避峰电路

  在胀管机中需要设计一个互锁电路控制电机的运行状态,进行胀管、退胀操作,互锁电路如图4所示。通过单片机控制A0,A1两点的电平,使其分别控制M-SW,D-SW电位的高低。当A1点被置为低电平时,光电隔离工作,使得D-SW为高电平,从而Q2导通,L-SW为低,D10(RET-URN)灯亮,即退胀状态;若A1点被置为高电平,则D-SW被置低,K3继电器的线圈工作,使得L-SW为高,因此退胀灯熄灭,此为胀管状态。当A0点被置为低电平时,光电隔离触发,使得M-SW为高电平,从而Q1集电极与地相通,则继电器K1线圈通电开始工作,并由此断开输入与电机的连接状态。因此,通过继电器实现电路互锁,并控制电机的运行状态。

互锁电路

  此外,在双头胀管机的设计中,为了保证两个胀管器同时工作且互相不受影响,增添了由555定时器及16位双稳态JK触发器74LS76的组合电路,如图5所示。由图中可以看出,MODE开关在每次按下和松开时,都为HAl7555提供了一个脉冲信号,同时输出至HD74LS76使得在CHA,CHB2个指示灯的负端电平高低按照JK触发器的规律变化,于是满足了在每次MODE开关进行变化时,双头胀管机的两边可以独立工作而不受影响。

由555定时器及16位双稳态JK触发器74LS76的组合电路

  3 软件设计

  MSP430的内核CPU结构是按照精简指令集和高透明的宗旨设计的,使用的指令有硬件执行的内核和基于现有硬件结构的高效率仿真指令,具有丰富的寻址方式,简洁的指令,大量的寄存器以及片内的数据存储都可以参加多种运算,具有高效的查表处理方法和较高的处理速度,在8 MHz晶体下运算能力达到每秒钟运算100万条指令。这些特点使该系列单片机采用C语言开发仍有很高效率,从而可以提高开发的周期,也可以实现程序的可移植性。本系统软件开发所采用的是MSP430系列单片机专用的集成开发环境IAR Embedded Workbench,采用C语言编程。

  在该仪器的程序设计中,由于在电机换向的瞬间会产生大电流的冲击,须对换向的延时时间进行恰当设置,否则会对仪器、电机乃至操作者造成极大损伤。该仪器的软件设计流程如图6所示。

仪器的软件设计流程

  4 电流标定及拟合

  经过实验测定,延时避峰电路延迟时间T约为1.32 s。表1是实验所测得A/D值与电流I值。

实验所测得A

  根据表1的数据用拟合软件lstOpt进行曲线拟合。并求出拟合公式。图7是用1stOpt对数据进行曲线拟合得到的曲线,其中一条是实际曲线,一条是经过计算得到的拟合曲线。其均方根误差RMSE=0.040 73,平方和误差SSE=0.119 45,测定系数DC=O.999 6l,平均相关系数R=0.999 88l;由此可看出曲线拟合的相当好,拟合程度高。

用1stOpt对数据进行曲线拟合得到的曲线

  通过1stOpt得到的拟合公式为:

公式

  其中:y为电流I,x为A/D值,p1=-10.630 343 410 453 1,p2=1.745 270 764 713 4,p3=-O.104 720 964 439 341,p4=0.003 091 662 786 520 87.p5=-4.382 000 357 851 88x10-5,p6=2.41932l 657 545 33x10-7。

  此拟合公式标定出电流I值与A/D值之间的关系;并可根据相应的A/D值求得对应的I值。

  5 结论

  用MSP430单片机研制的胀管机成本低,工作电压范围宽,扩展能力强,抗干扰能力强。同时,单片机内部的模数转换模块又大大减少了电路板面积及其他外围扩展器件,使得整套工具体积小,便于使用。该胀管机可挂接300、400、600 W3种不同功率的驱动电机;全数字显示设定值和实时值;用按键操作进行胀力的数字设定和调节;对挂载不同功率的驱动电机,自动提示所允许设定的最小值和最大值;自动检测驱动电机是否工作正常;操作时有声、光提示功能,操作简便、直观、灵活;LED指示工作时的状态;能自动记录和显示胀管的次数;具有漏电保护功能。该胀管机优点突出,在国内多家企业得到了广泛的应用,受到一致好评。

关键字:自动胀管机  单片机  1stOpt  数据拟合  MSP430F149 引用地址:基于MSP430自动胀管控制器的研制

上一篇:基于单片机的风机温度控制系统的设计
下一篇:分析:NVIDIA、CUDA与x86到底是何关系

推荐阅读最新更新时间:2024-03-16 12:30

平凡单片机教学 第十九讲 定时/计数器实验2
前面我们做了定时器的实验,现在来看一看计数实验,在工作中计数通常会有两种要求:第一、将计数的值显示出来,第二、计数值到一定程度即中断报警。第一种如各种计数器、里程表,第二种如前面例中讲到的生产线上的计数。先看第一种吧。我们的硬件中是这样连线的:324构成的振荡器连到定时/计数器1的外部引脚T1上面,我们就利用这个来做一个计数实验,要将计数的值显示出来,当然最好用数码管了,可我们还没讲到这一部份,为了避免把问题复杂化,我们用P1口的8个LED来显示计到的数据。 程序如下: ORG 0000H AJMP START ORG 30H START: MOV SP,#5FH MOV TMOD,#01000000
[单片机]
ZigBee-CC2530单片机 - DMA方式复制数据
程序源码 #include ioCC2530.h #include stdio.h #define LED1 P1_0 // P1_0定义为P1_0 #define LED2 P1_1 // P1_0定义为P1_1 #define SW1 P1_2 //SW1端口宏定义 enum SYSCLK_SRC { RC_16MHz,XOSC_32MHz }; /**************************************************************/ #pragma bitfields = reversed //使用大端格式 typedef struct { uns
[单片机]
基于AVR单片机的高精度频率调节器
1?引言? 在现代化工业生产与高精度测试中,我们需要相当精确的频率来帮助判断设备性能指标。而且我们希望能够微调该频率。采用压控振荡器得到的频率不够精确,微调频率步骤烦琐,耗时漫长,因此有些测试项目限制了压控振荡器的使用。 Mega系列单片机是Atmel公司于2002年起陆续推出的。这款AVR增强型单片机具有速度快,抗干扰能力强,价格低廉等诸多优点。为了加快AVR单片机的软件编制,Atmel以及第三方提供的开发工具多种多样,程序开发方便有效。该单片机内部FLASH结构功能灵活,加锁后很难解密,可以最大限度地保护知识产权。AVR单片机可以广泛应用于通信、野外测试、汽车电子、医疗器械等领域,并且适用于各种低电压、低功耗的场合。? 本文
[单片机]
如何设计一个基于单片机的简易示波器?
1、系统结构框图 图1系统结构图 1.1、信号调理电路 信号调理电路要完成的功能是:程控放大,叠加直流分量。程控放大的作用是:当输入信号的幅度很小的时候就需要对输入信号进行放大,使得被测信号可以在LCD上尽可能清楚的显示出来。叠加直流分量的作用是:ATmega16自带的A/D是单电源的,没办法输入负压而待测信号又往往有负压。这时候就需要这样一个电路,可以把负压抬高到0电平以上。 图2信号调理电路原理图 R1,R2分别由一个模拟开关CD4051来连接不同的电阻,不同的R1,R2通过公式:这样就可以实现程控放大功能了。可调电阻R9用来设置信号调理电路加入的直流分量的大小。放大后的信号和直流分量最后由U3模拟加法器叠
[测试测量]
如何设计一个基于<font color='red'>单片机</font>的简易示波器?
单片机该如何学习,给你12个建议
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域的广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的32位300M的高速单片机。1、万事开头难、要勇敢迈出第一步,那么该如何学习。   开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有单片机实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了
[单片机]
I2C总线数字式温湿度传感器SHT11及其在单片机系统的应用
摘要:SHT11是瑞士Sensirion公司生产的具有I2C总线接口的单片全校准数字式相对湿度和温度传感器。该传感器采用独特的CMOSens TM技术,具有数字式输出、免调试、免标定、免外围电路及全互换的特点。文中对传感器的性能特点、接口时序与命令进行了详细的阐述,给出了SHT11与单片机的接口电路及相应程序。 关键词:数字式;温湿度传感器;I2C总线;单片机 1 概述 温湿度的测量在仓储管理、生产制造、气象观测、科学研究以及日常生活中被广泛应用,传统的模拟式湿度传感器一般都要设计信号调理电路并需要经过复杂的校准和标定过程,因此测量精度难以保证,且在线性度、重复性、互换性、一致性等方面往往不尽人意。SHT11是瑞士Sens
[应用]
提高MSP430G系列单片机的Flash 擦写寿命的软件流程
在嵌入式设计中,许多应用设计都需要使用EEPROM 存储非易失性数据,由于成本原因,某些 单片机 在芯片内部并没有集成EEPROM。MSP430G 系列处理器是TI 推出的低成本16 位处理器,在MSP430G 系列单片机中并不具备EEPROM。为了存储非易失性数据,MSP430G 系列处理器在芯片内部划分出了256 字节的Flash 空间作为信息Flash,可用于存储非易失性数据,但是由于Flash 与EEPROM 在擦写寿命上存在一定差距,所以在实际应用中,这种应用方式并不能够满足所有客户的需求。本应用笔记介绍了使用代码区域Flash 来模拟EEPROM,通过一定的软件处理算法,可以大大增加数据存储周期的一种方法。本文给出
[单片机]
提高MSP430G系列<font color='red'>单片机</font>的Flash 擦写寿命的软件流程
详解STM32单片机堆栈
学习STM32单片机的时候,总是能遇到“堆栈”这个概念。分享本文,希望对你理解堆栈有帮助。 对于了解一点汇编编程的人,就可以知道,堆栈是内存中一段连续的存储区域,用来保存一些临时数据。堆栈操作由PUSH、POP两条指令来完成。而程序内存可以分为几个区: 栈区(stack) 堆区(Heap) 全局区(static) 文字常亮区程序代码区 程序编译之后,全局变量,静态变量已经分配好内存空间,在函数运行时,程序需要为局部变量分配栈空间,当中断来时,也需要将函数指针入栈,保护现场,以便于中断处理完之后再回到之前执行的函数。 栈是从高到低分配,堆是从低到高分配。 普通单片机与STM32单片机中堆栈的区别 普通单片机启动时,不需要用b
[单片机]
详解STM32<font color='red'>单片机</font>堆栈
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved