Older blog entries for marcioandreyoliveira (starting at number 78)

Gravador de PICs


Bom, estou de férias até o dia 04 de janeiro e resolvi me presentear com um circuito eletrônico.

Eu gosto muito de montagens de circuitos analógicos, com amplificadores operacionais, muitos transistores, capacitores, indutores, LEDs e outros componentes discretos.

Geralmente tudo que monto é em proto-board. Assim, após o circuito estar funcionando eu o desmonto para reutilizar as peças em outras montagens.

Mas dessa vez resolvi montar algo definitivo... uma ferramenta: um gravador de PICs.

Como a maioria dos projetos que estou planejando são com os microcontroladores PIC12F675-I/P  e o 16F628A, a primeira versão do programador consegue programar os PICs de 8 e 18 pinos.

A foto abaixo ilustra o resultado final.





Há um espaço na placa para que eu habilite a gravação dos PICs de 28 e 40 pinos. Ela já está preparada para isso. Só não fiz isso na primeira versão porque faltaram componentes e eu estava sem disposição para enfrentar o comércio nesta época de compras natalinas.

Após o aparelho pronto, precisava ter certeza que ele estava funcionando. Daí, eu bolei um circuito bem simples, com 1 LED e utilizei fios no lugar chaves (que estão em falta no meu estoque).

A partir de uma combinação de sinais em nível alto e baixo em determinados pinos, o LED acenderia, apagaria ou ficaria piscando.

Utilizei o Piklab versão 0.15.2 no Ubuntu 8.04 para escrever alguns programas de teste bem simples (em assembly).

Após cada programação do PIC, eu o inseria no proto-board e usava o próprio gravador como fonte de alimentação.

Uma coisa que deve ser observada: no Ubuntu que utilizei não havia o dispositivo para a porta paralela.

Assim tive que criá-lo com o comando

sudo mknod /dev/parport c 99 0

Depois me adicionei ao grupo que tinha direito de leitura e escrita a este dispositivo (no meu caso, o grupo scanner).


A foto abaixo dá a ideia da simplicidade do circuito de teste.





Tudo funcionou muito bem. Agora preciso comprar alguns componentes para começar a brincar com meu gravador.

Bom Natal a todos.

Syndicated 2009-12-25 19:12:00 from Marcio Andrey Oliveira

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

Syndicated 2009-11-30 16:32:00 from Marcio Andrey Oliveira

how to enable the touch screen in the simulator sun?


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

Syndicated 2009-11-27 19:01:00 from Marcio Andrey Oliveira

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

Syndicated 2009-11-27 18:59:00 from Marcio Andrey Oliveira

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: http://www.micropic.es/index.php?option=com_content&task=view&id=90&Itemid=1

Syndicated 2009-11-25 17:08:00 from Marcio Andrey Oliveira

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/

Syndicated 2009-11-16 17:50:00 from Marcio Andrey Oliveira

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 http://www.newtoncbraga.com.br que tu só tens a ganhar.

Ah, ele também tem twitter: http://twitter.com/newtoncbraga.

Syndicated 2009-11-13 12:41:00 from Marcio Andrey Oliveira

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, em informem.

Syndicated 2009-11-09 05:30:00 from Marcio Andrey Oliveira

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.

Syndicated 2009-11-04 02:27:00 from Marcio Andrey Oliveira

69 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!