ntc final2

18
Professor: James Alexandre Baraniuk Aula: Segunda - Feira 17h30m Controle de temperatura negativa utilizando NTC Jagher, Eduardo; Loures, Emanuelle M.; Tam, Gisele Universidade Federal do Paraná Centro Politécnico – Jd. das Américas – 81531-990 – Curitiba – PR - Brasil Resumo Este trabalho visa desenvolver e aplicar um circuito eletrônico que possa medir temperaturas entre -55 o C e 0 o C para atuar no local medido com um resistor a fim de aquecer o local , em seguida atualiza um display de LCD com o valor instantâneo de temperatura medida e posteriormente enviar para um computador os dados coletados em um período pré estipulado. Palavras-chaves: NTC, temperatura negativa. Introdução A temperatura influencia praticamente em todas as propriedades físicas e químicas de um elemento. Para recipientes metálicos que detêm substâncias extremamente frias, como nitrogênio líquido, é interessante saber a temperatura em seus pontos mais frágeis, pois o metal pode apresentar fissuras e perder parte de sua vida útil. Assim, o objetivo do trabalho é criar um sensor de temperaturas negativas e aquecer o local, caso a medição apresente um valor abaixo do desejado. Fundamentação Teórica O transdutor escolhido é o NTC 173-103LAD-301 fabricado pela Honeywell Sensing and Control cujo beta ( β) é 3750K e a resistência nominal em 25 grau Celsius é 10 k.Ω , o encapsulamento é C0805 e o preço por unidade é $0,50. Foi escolhido este transdutor pelo alto custo benefício e por suas características intrínsecas, incluindo a faixa de operação e o encapsulamento, este último

Upload: marcos-cabral

Post on 20-Mar-2016

287 views

Category:

Documents


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ntc final2

Professor: James Alexandre Baraniuk Aula: Segunda - Feira 17h30m

Controle de temperatura negativa utilizando NTC

Jagher, Eduardo; Loures, Emanuelle M.; Tam, GiseleUniversidade Federal do Paraná

Centro Politécnico – Jd. das Américas – 81531-990 – Curitiba – PR - Brasil

Resumo

Este trabalho visa desenvolver e aplicar um circuito eletrônico que possa medir temperaturas entre -55 oC e 0oC para atuar no local medido com um resistor a fim de aquecer o local , em seguida atualiza um display de LCD com o valor instantâneo de temperatura medida e posteriormente enviar para um computador os dados coletados em um período pré estipulado.

Palavras-chaves: NTC, temperatura negativa.

Introdução

A temperatura influencia praticamente em todas as propriedades físicas e químicas de um elemento. Para recipientes metálicos que detêm substâncias extremamente frias, como nitrogênio líquido, é interessante saber a temperatura em seus pontos mais frágeis, pois o metal pode apresentar fissuras e perder parte de sua vida útil. Assim, o objetivo do trabalho é criar um sensor de temperaturas negativas e aquecer o local, caso a medição apresente um valor abaixo do desejado.

Fundamentação Teórica

O transdutor escolhido é o NTC 173-103LAD-301 fabricado pela Honeywell Sensing and Control cujo beta (β) é 3750K e a resistência nominal em 25 grau Celsius é 10 k.Ω, o encapsulamento é C0805 e o preço por unidade é $0,50. Foi escolhido este transdutor pelo alto custo benefício e por suas características intrínsecas, incluindo a faixa de operação e o

encapsulamento, este último proporcionando uma pequena influência na medida devido a sua baixa capacidade térmica. Sua resistência varia com a temperatura conforme a equação 1, mostrada no gráfico 1. Sendo Rn a resistência nominal do dispositivo à 25 oC e β o coeficiente de sensibilidade térmica do dispositivo.

Rntc (T )=Rn∗e( βT− β

278,15 ) (1)

Gráfico 1.

A resistência do NTC não varia linearmente com a temperatura, como observado no gráfico 1, por isso há a necessidade de linearizá-la. Para isso utiliza-se

Page 2: Ntc final2

um resistor em paralelo ao NTC, a fim de linearizar a resistência do conjunto em torno de um ponto central, como mostra na figura 1.

Figura 1.

Para o cálculo do valor do resistor R sh utiliza-se a equação 2, sendo Tc a temperatura central em Kelvin (K) e Rtc a resistência Rntc para a temperatura Tc, visto na equação 3.

R sh=Rtc∗β−2Tcβ+2Tc

(2)

Rtc=Rntc(Tc) (3)

É possível observar no gráfico 2 a resistência do conjunto em função da temperatura. Com essa topologia de resistores em paralelo é possível linearizar a resistência do conjunto em torno de uma temperatura central, contudo perde-se um pouco da sensibilidade do NTC.

Gráfico 2.

Em seguida pode-se medir uma tensão proporcional à variação da resistência do conjunto, para isso

utiliza-se uma ponte de Wheatstone conforme a figura 2.

Figura 2.

Com este circuito mede-se uma tensão diferencial na ponte proporcional à resistência dos conjuntos NTC’s. Para esta configuração da ponte as tensões v+¿ e v−¿ podem ser descritas a partir das equações 4 e 5 respectivamente e a tensão diferencial pela equação 6. Sendo NTC a resistência do conjunto R sh e Rntc, visto na equação 7.

v+¿R 1∗10NTC (T )+R1

−5 (4)

v−¿NTC (T )∗10NTC (T )+R2

−5 (5)

vdif (T )=¿ (6)

NTC (T )= 11Rsh

+ 1Rntc(T )

(7)

Obteve-se a tensão diferencial na ponte de Wheatstone e é preciso condicionar o sinal para enviar a um microcontrolador que

Page 3: Ntc final2

irá efetuar a medida propriamente dita. Para isso utilizou-se um amplificador de instrumentação, especificado na figura 3 e um circuito de proteção em série a fim de que as máximas variações de temperaturas ocasionem as máximas variações de tensão possíveis na entrada do conversor A/D do micro controlador.

Figura 3.

Para este projeto a faixa de temperatura visada é de -55 oC a 0oC, portanto a máxima variação de temperatura é de 55oC. O microcontrolador utilizado é o MSP430, cujos limites de tensão de entrada na porta A/D é de 0 volts à 3,3 volts, sendo assim pré-definido que a tensão de 0 volt corresponde à -55oC e 3,3 volts corresponde à 0oC, dessa forma consegue-se a melhor resolução possível dentro da faixa de operação. Para satisfazer o condicionamento imposto acima devemos dimensionar R1 e R2 de modo que vdif (−55)=0. Com isso pode se concluir quev+¿v−¿, resolvida esta igualdade obtemos a equação 8.

10∗R1∗(NTC (−55)+R2)=NTC (−55)∗10∗(NTC (−55)+R1) (8)

Para facilitar os cálculos utilizou-se R1=R2 e foi obtido a equação 9.

R1=R2=NTC (−55) (9)

Com R1e R2calculados podemos saber qual será vdif (0) a partir da equação 6. Com o valor de vdif (0), calcula-se o ganho do amplificador de instrumentação de modo que vout contenha-se entre 0 e 3,3 volts com a equação 10, sendo vout a tensão de entrada do microcontrolador.

Ganho= 3,3vdif (0)

(10)

Por último conecta-se à saída do amplificador diferencial um circuito de proteção mostrado na figura 4, para que a tensão enviada ao micro controlador não ultrapasse os limites de tensão da entrada A/D.

Figura 4.

Para implementar todos os cálculos de uma forma rápida e prática foi desenvolvido um programa no MatLAB(anexo 1) que calcula todos os valores dos resistores assim como o ganho do amplificador e gera os gráficos de tensão em função da temperatura. Assim obtemos os valores dos componentes e a resposta da tensão em função da temperatura na porta de entrada do A/D do micro controlador, apresentado no gráfico 3.

Page 4: Ntc final2

Gráfico 3.

Aquisição de dados e processamento:

O conversor A/D do microcontrolador MSP430 tem uma resolução de 10 bits, portanto ele resolve tensões de amplitude mínima de 3,22mV. A tensão é lida 256 vezes consecutiva e depois extraída a média para aumentar a resolução do conversor em 4 bits. Depois de converter o valor de tensão e feita a média, o MSP irá associar uma temperatura ao valor de tensão medido. Genericamente esta associação é dada por uma função Tm (vdif ).

Observando o Gráfico 3 podemos utilizar uma aproximação de Tm (dif ) como um polinômio de 1ª ordem, obtido na equação 11. Para esta aproximação obtemos uma reta aproximada que corresponde ao gráfico 4, e um módulo do erro de aproximação visto no gráfico 5.

T m(v dif )=A∗v dif+B (11)

Gráfico 4.

Gráfico 5.

Para uma melhor aproximação foi definido um novo Tm (vdif ) como um polinômio de 3ª ordem, na equação 12. Para esta aproximação obteve-se uma equação cúbica aproximada observada no gráfico 6, e um módulo do erro de aproximação no gráfico 7.

T m (vdif )=A∗vdif3 +B∗vdif2 +C∗vdif+D

(12)

Gráfico 6

Page 5: Ntc final2

. Gráfico 7.

Como os erros para Tm (vdif ) definida pela equação 12 são menores que Tm (vdif ) definida pela equação 11, foi utilizado a aproximação cúbica para caracterizar a temperatura. A comparação dos erros poderá ser analisada no gráfico 8.

Gráfico 8.

Calibração:

É feita a partir da exposição dos NTC’s a uma temperatura conhecida de 0ºC, e a qualquer momento que são feitas as leituras é possível calibrar a tensão lida, pressionando botão de calibração que está na placa do MSP.

Atuação do Resistor:

Quando a temperatura se encontra abaixo de -40ºC, o resistor será acionado por um sinal PWN (algoritmo vide anexo 2) tal que a temperatura fique sempre acima -40ºC. O duty cycle é influenciado pela temperatura medida pelo

sensor, conforme a temperatura diminui o período que ele permanece ativo aumenta de tal modo que o resistor continue aquecendo o local e o sensor registre uma temperatura maior que -40ºC.

Comunicação Serial:

É feita a partir da interface UART, entre o microcontrolador e o conversor USB, tendo a comunicação com o micro controlador uma simulação de comunicação serial RS232. Portanto o envio da informação é feito a partir de bytes com a configuração padrão do RS232: baud rate de 9600, 8N1.

São enviados 4 bytes sendo os dois bytes do centro a informação de nível de tensão lida na porta AD do micro controlador. A tensão lida a partir dos dois bytes são reconstruídas por um programa do MatLAB (anexo 3) e com esse valor o programa, calcula e atualiza uma interface gráfica (figura 5) mostrando qual a temperatura no sensor.

Page 6: Ntc final2

ANEXOS

Anexo 1.

% Calculo da ponte de wheatstone tensao condicionada e ganho %% Eduardo Jagher, Emanuelle Mussy Loures, Gisele Tam %% Rev 1.0 03/03/2013 % close all B = 3750; % KelvinRn = 10000; % OhmsT = -55:0.1:0; % Vetor temperatura em grau celsiusK = 273.15*ones(1,length(T));K25 = (273.15+25)*ones(1,length(T));if (length(T)/2)==(round(length(T)/2)) Tc = (T(length(T)/2-150)+T(length(T)/2+151))/2; % grau celsiuselse Tc = T(round(length(T)/2)-150); % grau celsiusendRtc = Rn*exp(B/(273.15+Tc)-B/(273.15+25)); % OhmsRsh = Rtc*((B-2*(273.15+Tc))/(B+2*(273.15+Tc))) % Resitor paralelo em OhmsRntc = Rn*exp(B./(K+T)-B./(K25));R = (((1/Rsh+1./(Rn*exp(B./(K+T)-B./(K25)))).^-1));R1 = R(1)R2 = R1v1 = R1*10./(R+R1*ones(1,length(T)))-5*ones(1,length(T));v2 = R*10./(R+R2*ones(1,length(T)))-5*ones(1,length(T));vd = v1-v2; % voltganho = 3.3/max(vd) % ganho do amplificador rg = 10000;r1 = 10000;r3 = 10000;r2 = (1+2*r1/rg)*r3/ganhovdcond = vd*ganho;figureplot(T,Rntc)grid onxlabel('Temperatura graus celsius')ylabel('Resistencia NTC')figureplot(T,R)grid onxlabel('Temperatura graus celsius')ylabel('Resistencia Linearizada')figureplot(T,v1)grid onxlabel('Temperatura graus celsius')ylabel('Tensao v1')figureplot(T,v2)grid onxlabel('Temperatura graus celsius')ylabel('Tensao v2')figureplot(T,vd)grid on

Page 7: Ntc final2

xlabel('Temperatura graus celsius')ylabel('Tensao diferencial')figureplot(vdcond,T)grid onxlabel('Tensao diferencial na porta do MSP')ylabel('Temperatura graus celsius')plot(T,vdcond)grid onxlabel('Temperatura graus celsius')ylabel('Tensao diferencial na porta do MSP')figureplot(vdcond,T)grid onxlabel('Tensao diferencial na porta do MSP')ylabel('Temperatura graus celsius')hold onA = polyfit(vdcond,T,3);save POLY A C = polyfit(vdcond,T,1);Tmodelo = A(1,1)*vdcond.^3+A(1,2)*vdcond.^2+A(1,3)*vdcond+A(1,4)*ones(1,length(T));Tmodelo2 = C(1,1)*vdcond+C(1,2)*ones(1,length(T));plot(vdcond,Tmodelo,'red')hold offfigureplot(vdcond,T,vdcond,Tmodelo2,'red')grid onxlabel('Tensao diferencial na porta do MSP')ylabel('Temperatura graus celsius')hold onErr1 = Tmodelo2-T;Err2 = Tmodelo-T;figureplot(T,abs(Err1))grid onxlabel('Temperatura graus celsius')ylabel('Modulo Erro1')figureplot(T,abs(Err2))grid onxlabel('Temperatura graus celsius')ylabel('Modulo Erro2')figureplot(T,abs(Err2),T,abs(Err1),'red')grid onxlabel('Temperatura graus celsius')ylabel('Erro comparacao')

Anexo 2.

# include <msp430g2553.h> unsigned long voltMeasured=0;float voltAverage=0;float voltCalibration=1;float volt=0;float tempCalc;

Page 8: Ntc final2

float Axya = 1.224;float Axyb = -5.7222;float Axyc = 22.0542;float Axyd = -54.6968;unsigned int delay1;unsigned long delay2;char l;char h;unsigned int v; void UARTconfigure (void);void UARTtransmit (char c);void main(void){ WDTCTL = WDTPW + WDTHOLD; // stop WDT UARTconfigure (); //Configure port// P1DIR |= 0x41; // BIT0 e BIT6 P1OUT &= ~0x01; // BIT0 P1DIR &= ~0x08; // BIT3 P1REN |= 0x08; // BIT3 // start aplication //while ((P1IN & 0x08)){ P1OUT |= 0x40; // bit p1.6 high __delay_cycles(100000); // Pausa P1OUT &= ~0x40; // bit p1.6 down P1OUT |= 0x01; // bit p1.6 high __delay_cycles(100000); // Pausa P1OUT &= ~0x01; // bit p1.6 down } // Configure ADC Temp Sensor Channel // ADC10CTL1 = INCH_7 + ADC10DIV_3; // Temp Sensor ADC10CLK/4 ADC10CTL0 = ADC10SHT_3 + ADC10ON + ADC10IE; __delay_cycles(1000); // Wait for ADC Ref to settle // Configure ADC Temp Sensor Channel // while (1) { if((P1IN & 0x08)) // Default calibration when skip start aplication { P1OUT |= 0x40; // BIT6 high program on while (1) { // Moving average filter out of 256 values to somewhat stabilize sampled ADC voltAverage = 0; voltMeasured = 0; unsigned int i; for (i = 0; i < 256; i++) { ADC10CTL0 |= ENC + ADC10SC; // Sampling and conversion start voltMeasured += ADC10MEM; // register ADC value }

Page 9: Ntc final2

voltAverage = voltMeasured; voltAverage = voltAverage/1023/256; // Divide by 256 to get average volt = 3.3*voltAverage/voltCalibration; // Get decimal voltage // Temperature calculation, MatLab modelation tempCalc = Axya*volt*volt*volt + Axyb*volt*volt + Axyc*volt + Axyd; v = volt*10000; l = v&0xFF; h = v>>8; // Transmit // UARTtransmit (255); UARTtransmit (l); UARTtransmit (h); UARTtransmit (255); // Transmit // // Temperature calculation, MatLab modelation while (!(P1IN & 0x08)) { voltCalibration = 0; for (i = 0; i < 256; i++) { ADC10CTL0 |= ENC + ADC10SC; voltCalibration += ADC10MEM; } voltCalibration = voltCalibration/1023/256; // Divide by 256 to get average P1OUT ^= 0x40; // inverte bit __delay_cycles(100000); // Wait+ P1OUT ^= 0x40; // inverte bit } delay1 = -39-tempCalc; delay2 = 16-delay1; tempCalc = -tempCalc; if (tempCalc >= 40){ for (i = 0; i < delay1;i++){ P1OUT |= 0X01; //P1.0 High __delay_cycles(10); //Pausa } for (i = 0; i < delay2;i++){ P1OUT &= ~0X01; //P1.0 Low __delay_cycles(1); // Pausa } } } } }}void UARTconfigure (void){ P1SEL |= BIT1+BIT2; P1SEL2 |= BIT1+BIT2; UCA0CTL1 = 0x81; UCA0CTL0 = 0x00;

Page 10: Ntc final2

UCA0BR0 = 104&255; // UCA0BR1 = 104>>8; // UCA0MCTL = 6<<1; UCA0CTL1 = 0x80;}void UARTtransmit (char c){ while(!(IFG2 & UCA0TXIFG)); UCA0TXBUF = c; }

Anexo3.

% Função BOXr para leitura e interface da temperatura %% Eduardo Jagher, Emanuelle Mussy Loures, Gisele Tam %% Rev 1.0 03/03/2013 % function varargout = BOXr(varargin)% BOXr MATLAB code for BOXr.fig% BOXr, by itself, creates a new BOXr or raises the existing% singleton*.%% H = BOXr returns the handle to a new BOXr or the handle to% the existing singleton*.%% BOXr('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in BOXr.M with the given input arguments.%% BOXr('Property','Value',...) creates a new BOXr or raises the% existing singleton*. Starting from the left, property value pairs are% applied to the GUI before BOXr_OpeningFcn gets called. An% unrecognized property name or invalid value makes property application% stop. All inputs are passed to BOXr_OpeningFcn via varargin.%% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help BOXr % Last Modified by GUIDE v2.5 04-Mar-2013 17:09:43 % Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @BOXr_OpeningFcn, ... 'gui_OutputFcn', @BOXr_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []);

Page 11: Ntc final2

if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1});end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});else gui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT % --- Executes just before BOXr is made visible.function BOXr_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to BOXr (see VARARGIN) % Choose default command line output for BOXrhandles.output = hObject; % Update handles structureguidata(hObject, handles); % UIWAIT makes BOXr wait for user response (see UIRESUME)% uiwait(handles.figure1); % --- Outputs from this function are returned to the command line.function varargout = BOXr_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structurevarargout{1} = handles.output; % --- Executes during object creation, after setting all properties.function text2_CreateFcn(hObject, eventdata, handles) % hObject handle to text2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % --- Executes on button press in pushbuttonstart. function pushbuttonstart_Callback(hObject, eventdata, handles)global freezeglobal stopglobal nglobal TT = zeros(100,3); % vetor temperatura real

Page 12: Ntc final2

stop=1;freeze=0;n=1;s = get(handles.popup,'Value');ss = get(handles.popupg,'Value');GET_COM_PORT % Função porta serialfclose(seriall);fopen(seriall);load POLYwhile(stop==1) TEMPrr % Função Leituraif(freeze==1)% Não faz nadapause(0.2)else set(handles.text2,'String',Tempc); set(handles.text3,'String',Tempf); set(handles.text4,'String',Tempk); pause(0.2)endend fclose(seriall); set(handles.text2,'String','Stoped'); set(handles.text3,'String','Stoped'); set(handles.text4,'String','Stoped'); % hObject handle to pushbuttonstart (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbuttonstop.function pushbuttonstop_Callback(hObject, eventdata, handles)global freezeglobal stopfreeze = 0;stop = 0; % hObject handle to pushbuttonstop (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % --- Executes during object creation, after setting all properties.function text1_CreateFcn(hObject, eventdata, handles)% hObject handle to text1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % --- Executes during object creation, after setting all properties.function text6_CreateFcn(hObject, eventdata, handles)% hObject handle to text6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called

Page 13: Ntc final2

% --- Executes during object creation, after setting all properties.function text3_CreateFcn(hObject, eventdata, handles)% hObject handle to text3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % --- Executes during object creation, after setting all properties.function text13_CreateFcn(hObject, eventdata, handles)% hObject handle to text13 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % --- Executes on button press in pushbuttonfreeze.function pushbuttonfreeze_Callback(hObject, eventdata, handles)global stopglobal freezeif (freeze==0) freeze=1; set(handles.pushbuttonfreeze,'String','De-freeze')else freeze=0; set(handles.pushbuttonfreeze,'String','Freeze')end% hObject handle to pushbuttonfreeze (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % --- Executes on button press in pushbuttonget.function pushbuttonget_Callback(hObject, eventdata, handles)serialports=instrhwinfo('serial');nPorts = length(serialports.SerialPorts);set(handles.text13, 'String',[ serialports.SerialPorts ]);% hObject handle to pushbuttonget (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % --- Executes on selection change in popup.function popup_Callback(hObject, eventdata, handles)% hObject handle to popup (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns popup contents as cell array% contents{get(hObject,'Value')} returns selected item from popup % --- Executes during object creation, after setting all properties.function popup_CreateFcn(hObject, eventdata, handles)% hObject handle to popup (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB

Page 14: Ntc final2

% handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end % --- Executes on selection change in popupg.function popupg_Callback(hObject, eventdata, handles) % hObject handle to popupg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns popupg contents as cell array% contents{get(hObject,'Value')} returns selected item from popupg % --- Executes during object creation, after setting all properties.function popupg_CreateFcn(hObject, eventdata, handles)% hObject handle to popupg (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');end

Page 15: Ntc final2