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
Engenharia é a arte de simplificar e estimar. Engineering is the art of simplifying and estimating.
segunda-feira, novembro 30, 2009
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
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
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
file and change the line
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 = falseto
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\DefaultColorPhonethen open the
DefaultColorPhone.properties
file and change the line
touch_screen = falseto
touch_screen = true
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
O arquivo de configuração termina com a extensão .properties. Abra o arquivo de configuração e altere a linha
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
abra o arquivo
e altere a linha
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=falsepara
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=falsepara
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.
Ah, vale lembrar que a revista está em espanhol.
Tu podes obtê-la aqui.
Marcadores:
eletrônica,
português
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/
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.
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.
Marcadores:
eletrônica,
português
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.
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.
Marcadores:
engenharia,
português
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.
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
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.
Marcadores:
engineering,
english,
matlab
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.
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.
- Philips
- STMicroelectronics
Marcadores:
eletrônica,
português,
spice
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.
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.
- Philips
- STMicroelectronics
Marcadores:
electronics,
english,
spice
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
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:
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
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:
Marcadores:
engenharia,
matlab,
português
Assinar:
Postagens (Atom)