segunda-feira, novembro 30, 2009

A nail for a fuse

Some time ago I wrote about the analogy between Electronics and Software Development. Today I came across another interesting analogy: A nail for a fuse - an analogy between fuses and assertions.

This nice reading was written by Miro Samek and can be read here: http://www.embeddedgurus.net/state-space/2009/11/nail-for-fuse.html

sexta-feira, novembro 27, 2009

how to enable the touch screen on the Sun simulator?

Emulators of WTK from Sun, by default, does not come with the touch screen enabled. But what if we need to develop something for this type of phone?

All we need do is change the configuration of the equipment for which we want to enable the touch screen.

Equipment available for the simulator are in sub-directories within

wtklib\devices\

which is under the root folder of the WTK. The name of the sub-directory is the same as the device available for the simulator.

The configuration file ends with the extension. Properties. Open the configuration file and change the line

touch_screen = false
to
touch_screen = true

For example, suppose that the WTK is used WTK2.5.2_01 and we want to enable the touch screen to the device DefaultColorPhone.

Go to folder

C:\WTK2.5.2_01\wtklib\devices\DefaultColorPhone
then open the
DefaultColorPhone.properties

file and change the line

touch_screen = false
to
touch_screen = true

Foruns that I like / Fóruns que eu gosto

In English:

Em português:

Como habilitar touch screen no simulador da Sun

Os emuladores do WTK da Sun, por padrão, não vem com o touch screen habilitado. Mas e se precisarmos desenvolver algo para esse tipo de celular ?

Tudo o que precisamos fazer é alterar a configuração do aparelho para o qual desejamos habilitar o touch screen.

Os aparelhos disponíveis para o simulador encontram-se em subdiretórios dentro de
wtklib\devices\
que fica sob a pasta raiz do WTK. O nome dos subdiretórios é o mesmo do aparelho disponível para o simulador.

O arquivo de configuração termina com a extensão .properties. Abra o arquivo de configuração e altere a linha
touch_screen=false
para
touch_screen=true

Por exemplo, vamos supor que o WTK utilizado é o WTK2.5.2_01 e que desejamos habilitar o touch screen para o aparelho DefaultColorPhone.

Vá em
C:\WTK2.5.2_01\wtklib\devices\DefaultColorPhone

abra o arquivo

DefaultColorPhone.properties

e altere a linha
touch_screen=false
para
touch_screen=true

quarta-feira, novembro 25, 2009

uControl número 7

Já está disponível o número 7 da revista uControl, editado pelo pessoal do site MicroPIC. Ela está disponível gratuitamente sob o formato pdf. A qualidade do material publicado é excelente. Recomendo a todos.

Ah, vale lembrar que a revista está em espanhol.

Tu podes obtê-la aqui.

segunda-feira, novembro 16, 2009

There is no Free Software that can compete with Matlab

There are two things I really dislike.

1) Usually who ports MS Windows software for Linux doesn't care about quality. You can see bad behavior and / or bad looking. Matlab, for instance, has a nice look and feel on Windows but its Linux version is too ugly. It seems that some beginner was in charge of Matlab's port.

2) It seems that on open source software everyone wants to create its own application. It doesn't matter if there are other applications that do the same.

During my research time on mathematical and statistical software to use instead of Matlab/Simulink I found out a giant list of software. And know what? None of them is as good as Matlab/Simulink. They are not even as easy as Matlab/Simulink.

I'm not saying these software aren't good. I'm saying that they cannot compete because Matlab/Simulink helps you develop your solutions in a very easy, robust and intuitive way.

No one wants or can spend time with incomplete tools or tools that make life difficult for user. In short, it is very difficult to convince an engineer or a mathematician to use free software.

I would like the brilliant minds working developing free software for mathematics come together to develop a single mathematical software. So this software could compete on an equal footing with commercial programs.

There  are two article that express this better than wrote on these to articles: Why Free Software has poor usability, and how to improve it (by Matthew Paul Thomas) and http://ometer.com/hacking.html (this article was written in December, 1999 but is very up to date.).


Bellow you can see three links that contains lists of programs, plotting software and libraries that are related to math.


http://karmak.org/2003/linux-scimath/math.html
http://www.linux.org/apps/all/Scientific/Math.html

http://www.usinglinux.org/math/

sexta-feira, novembro 13, 2009

Newton C. Braga lança seu site

Ontem recebi um e-mail do Newton C. Braga, informando que o seu site foi oficialmente lançado.

Isso é uma excelente notícia. Todos que gostam de eletrônica aqui no Brasil com 100% de certeza conhecem o excelente trabalho que ele vem desenvolvendo ao longo dos anos.

Então fica a dica de ouro: visite o site que tu só tens a ganhar.

Ah, ele também tem twitter.

segunda-feira, novembro 09, 2009

Sintonia de Controladores

Ficar fazendo continhas de taberneiro é uma chatice muito grande. Além  disso estamos sujeitos, por falta de atenção, a cometer erros.

Então resolvi fazer uma planilha em que entramos com os parâmetros e as contas são feitas automagicamente.

Ela encontra-se na seção Arquivos Úteis, no link Sintonia de Controladores.

Qualquer erro, por favor, informem-me.

quarta-feira, novembro 04, 2009

How to plot the state-space output using Matlab

Suppose we need to determine the wave form, overshoot , rise time, settling time and the final value (steady state output value) of a specific process.

Moreover, instead of function transfer G(s) we've got the State-Space equations. How to do it in a easy way? I mean, how to do it without any kind of math ?

Simulink has block named State-Space. It requires four matrices (A, B, C e D) that are the solution of State-Space equations, as shown below.

State-Space equation are

and

where
x = state vector (n-vector)
u = control vector (r-vector)
y = system's output vector (m-vector)
A = n x m constant matrix
B  = n x r constant matrix
C = m x n constant matrix
D = m x r constant matrix

All we need to do is to determine these four matrices and to use the State-Space block. Is it too complicated? No at all.


Let me use an example to explain the process.

Suppose we have the following State-Space equations:


We can rewrite these equations in order to let them look like matrices. Take a look:

 

By inspection we get the four matrices:

  
 
 

Now you must create a new Simulink model and then you will insert the State-Space block (you can find it on Simulink->Continuous)

The next step is to connect Step and Scope blocks, as show below.


You need to use Matlab syntax to express the matrices. So, we have

A = [0 1; -4 -2]
B = [0;4]
C = [1 0]
D = [0;0]

As all D's elements are zero, we can rewrite D matrix as

D = 0

Double-click the State-Space block then insert A, B, C e D values as shown in the picture below.


Ok. Now you just need to simulate it, get the output system's graphic and get all values directly from it.

The graphic to this sample system  can be seen in the next picture.


I recommend you to read Ogata's Modern Control Engineering.

Did you like this post? Please rate it. Did you dislike it? So your rate is much more important!

Did I make any mistake? Wrong theory? Bad English? Wrong command? Please, post a comment complaining about it. So I can improve my posts.

terça-feira, novembro 03, 2009

Modelos para SPICE

Todos os simuladores do tipo SPICE vêm como uma quantidade razoável de modelos que é mais que suficiente para quem está começando.

E conforme tuas habilidades aumentam, a tua necessidade por modelos mais específicos também aumentará.

A lista de endereços a seguir contém vários modelos para SPICE disponíveis de graça. Espero que ela seja útil para ti.

De tempos em tempos eu vou atualizá-la.

SPICE Models

All flavors of SPICE simulators comes with a reasonable number of models that are more than enough for beginners.

And as your skills increase, so will your need for more specific models.

The following list of links has many SPICE models available for free. I hope it will be useful to you.

From time to time I will update it.

domingo, novembro 01, 2009

Como plotar saída de funções de espaço-de-estados no Matlab

Suponha que tenhamos que determinar a forma de onda, o sobre-sinal, os tempos de subida e de estabilização bem como o valor de regime de um processo.

Suponha ainda que, ao invés da função de transferência G(s), foram fornecidas as equações de Espaço-de-Estados. Como fazer isso, sem contas nem complicações?

Faremos isso por meio do bloco State-Space do Simulink. Este bloco espera o fornecimento de quatro matrizes (A, B, C e D), que satisfaçam as equações de Espaço-de-Estados, conforme mostrado abaixo.


As equações de Espaço-de-Estados são

e

onde
x é o vetor de estado (n-vetor)
u é o vetor de controle (r-vetor)
y é o vetor de saída do sistema (m-vetor)
A é a matriz n x m
B  é a matriz n x r
C é a matriz m x n
D é a matriz m x r

Tudo o que precisamos fazer é determinar as quatro matrizes e usar o bloco State-Space. Complicado? Nem um pouco.

Vou mostrar, por meio de um exemplo, como fazer.

Suponha que as equações de Espaço-de-Estados que nós temos são

Podemos reescrever essas equações de modo a deixá-las em um forma matricial. Veja:

 
Por inspeção, obtemos as quatro matrizes:

  
 
 
Agora, crie um novo modelo do Simulink e insira o bloco State-Space (que se encontra em Simulink->Continuous) e conecte o bloco Step e o Scope, conforme mostrado na figura abaixo.


As matrizes devem ser escritas com a sintaxe do matlab. Assim, temos que

A = [0 1; -4 -2]
B = [0;4]
C = [1 0]
D = [0;0]

Como todos os elementos da matriz D são nulos, ela pode ser escrita simplesmente como

D = 0

Dê um clique duplo no bloco State-Space e insira os valores de A, B, C e D, conforme mostrado na figura abaixo.



Pronto. Agora é só simular, obter o gráfico da respsota do sistema e de lá obter os valores desejados. O gŕafico para o sistema do exemplo é visto a seguir.


Recomendo os três livros a seguir: