quinta-feira, 28 de agosto de 2014

Sistemas de Controle - Solução numérica de equações de estado

Senhores alunos:


     Abaixo disponibilizo um script do Scilab para resolução numérica de equações de estado. 
          Os coeficientes das Matrizes A e B foram calculados para a representação obtida em sala do circuito RLC série, sendo que os valores dos componentes constam do cabeçalho do script. No caso, a solução considera uma entrada em degrau, mas pode ser facilmente modificada para aceitar outra entrada qualquer.

Keywords: state variables, step response, numerical solution.

-----------------------------------------------------

Script Scilab

// Simulação de dx/dt = A x(t) + B u(t), resposta a um degrau de 24V
// Circuito RLC série com R = 5, L = 1 H e C = 0,25 F,
// Condições iniciais iL(0) = 0 A e vc(0) = 4 V
// Avaliação de vc = x1 e iL = x2

function xdot=linear(t, x, A, B, u)
    xdot=A*x+B*u(t)
endfunction

function ut=u(t)
    ut=24
endfunction

// Matrizes A e B
A=[0 4;-1 -5];B=[0;1];
// O tempo de simulação é de 0 a 10s
t=0:0.1:10;
// A B e u são passados para a função linear através de uma lista
// ode é o solucionador de equações diferenciais
// fornecidas as condições iniciais, o instante inicial, o tempo de computação
// e a função
x=ode([4;0],0,t,list(linear,A,B,u))
subplot(211);
xtitle("iL x t")
plot(t,x(2,:));
xgrid
subplot(212);
xtitle("vc x t")
plot(t,x(1,:));

xgrid



quarta-feira, 27 de agosto de 2014

Programação de Computadores I - Aula de 01/09

Senhores alunos:

As notas relativas a nossa próxima aula podem ser lidas no link abaixo.

Estruturas de controle de fluxo por desvio.

Até a próxima postagem!

Keywords: flow control structures, C programming language, Fortran, Scilab.

Programação de Computadores I - sugestão de literatura:

Senhores Alunos:


Os livros

FORBELLONE, A. L. V. Lógica de Programação: a construção 
de algoritmos e estruturas de dados. 3.ed. São Paulo: Prentice Hall, 2005. (15 exemplares na biblioteca)

MANZANO, J. A. Algoritmos: lógica para desenvolvimento 
de programação de computadores. 13.ed. São Paulo: Érica, 
2002. (8 exemplares na biblioteca)

possuem muita informação e exercícios sobre algoritmos organizados em fluxogramas e pseudocódigo. Elaborem os algoritmos e convertam em programas em C ou Scilab. Programação só se aprende fazendo.

Não vou passar lista de exercícios, vocês devem buscar exercícios na literatura. 

Referências na Internet:

Boa apostila de C

http://www.inf.ufsc.br/~fernando/ine5412/C_UFMG.pdf

Boa apostila de Scilab (e Organização de Computadores)
http://www.decom.ufop.br/anderson/BCC701/IOPC_2011_1-4.pdf


Bom resto de semana!

terça-feira, 19 de agosto de 2014

Introdução a Programação em Linguagem C - Aula de 20/08/2014

Senhores alunos da turma 1880331A:


No link abaixo está disponível o arquivo relacionado com a nossa aula de amanhã.
Até a noite!

segunda-feira, 18 de agosto de 2014

Transitórios RL e RC de primeira ordem - Script com Scilab

Senhores Alunos:


Segue, abaixo, o script Scilab completo para a apresentação das equações e o traçado dos gráfico da corrente e da tensão dos transitórios RC e RL de primeira ordem.

Bom uso!

Keywords: transient response, first-order, RC circuit, RL circuit, Scilab.
  
---------------------------------------------------------------------
clc;
clear;
xdel(winsid());
disp('Avaliação do transitorio RLC de 1a ordem');
Tipo = input('Informe <1> para circuito RC <2> RL: ');
disp('Entrada de Dados');
 R = input('Valor de R =');
 Vs = input('Valor de Vs =');
if Tipo==1
    C = input('Valor de C =');
    V0 = input('Valor de V0 =');
    tau = R*C;
else 
    L = input('Valor de L =');
    I0 = input('Valor de I0 =');
    tau = L/R;
end   
t = 0:tau/1000:6*tau;
printf(' tau = %.3f\n',tau);  
if Tipo==1
        v = Vs + (V0-Vs)*exp(-t/tau);
        i = -C*(1/tau)*((V0-Vs)*exp(-t/tau));
        printf('v = %g + [%g * exp(-t/%g)]\n',Vs,V0-Vs,tau);  
        printf('i = -[%g*exp(-t/%g)]\n',C*(1/tau)*(V0-Vs),tau);  
else  
        i = (Vs/R) + (I0-(Vs/R))*exp(-t/tau);
        v = -L*(1/tau)*((I0-(Vs/R))*exp(-t/tau));
        printf('i = %g + [%g * exp(-t/%g)]\n',Vs/R,I0-Vs/R,tau);  
        printf('v = -[%g*exp(-t/%g)]\n',L*(1/tau)*(I0-Vs/R),tau); 
end 
subplot(211);
plot(t,i)
xlabel('Tempo (s)');
ylabel('Corrente (A)');
xgrid;
subplot(212);
plot(t,v)
xlabel('Tempo (s)');
ylabel('Tensão (V)');
xgrid;

quinta-feira, 14 de agosto de 2014

Lista de exercícios de transitórios de primeira ordem

Senhores alunos de Circuitos Elétricos III:


Cliquem aqui para baixar uma lista com exercícios sobre transitórios de primeira ordem selecionados a partir do livro texto.
Lembrem-se que a nossa avaliação ficou marcada para o dia 22/08.

Até a próxima postagem!

quarta-feira, 13 de agosto de 2014

Programação de Computadores I - Aula de 18/08

Senhores alunos:


Baixem aqui as notas de aula relacionadas com a nossa terceira aula.

                 ****   ATENÇÃO  ****

As notas relativas a segunda aula foram atualizadas. Baixem aqui a atualização.

Boa final de semana!

Introdução a Programação em Linguagem C - Técnico em Eletrônica - Aula de 13/08

Senhores alunos:


A partir do link abaixo é possível baixar o Plano de Ensino da disciplina e as notas da nossa segunda aula:

Segunda Aula.

segunda-feira, 11 de agosto de 2014

terça-feira, 5 de agosto de 2014

Introdução a Programação em Linguagem C - Técnico em Eletrônica - Aula Inaugural

Senhores alunos:

A partir dos links abaixo é possível baixar o Plano de Ensino da disciplina e a notas da nossa primeira aula:

Plano de Ensino.
Primeira Aula.

O Code::Blocks (versão 13.12) é um ambiente de desenvolvimento integrado (IDE) de código aberto e multiplataforma (Linux, MAC OS e Windows) para as linguagens C/C++ e Fortran. Ele oferece suporte a diversos compiladores como GCC/MinGW, SDCC, Intel C++, GNU AVR GCC entre outros.
O tutorial disponível em http://www.feng.pucrs.br/~jclima/downloads/Utilizando%20o%20Code%20Blocks.pdf  vai auxiliá-los no primeiro contato com o Code::Blocks
Link para download da versão do arquivo de instalação:

Até uma próxima postagem!