sexta-feira, 15 de novembro de 2013

Reparando o controlador da Dremel

Sabe o que acontece quando você liga a Dremel em 220Volts? O Triac do controlador de velocidade explode! Obviamente estou falando do modelo 110Volts.
O minúsculo TRIAC não resistiu à sobretensão e explodiu.
Mesmo se eu pudesse encontrar um controlador sobressalente aqui no Brasil, duvido que o preço compensasse a substituição.
A solução então foi trocar o TRIAC. Tenho certeza de que seria fácil encontrar um TRIAC equivalente na Farnell, porém era final de semana e eu não queria ficar com a máquina parada.

A solução foi usar um TRIAC comum, no caso um TIC206E que tinha disponível na minha gaveta de componentes.

Como o controlador de velocidade é uma plaquinha minúscula, a solução foi soldar alguns fios na placa e instalar o TRIAC em algum outro lugar dentro da máquina.
Fios soldados na placa controladora de velocidade
Zoom na montagem dos fios.
Foi necessário abrir um buraco na lateral do controladora para a passagem dos fios.
Furação para passagem dos fios
Em seguida, a controladora foi instalada e os fios foram arranjados de forma a não interferir com a montagem mecânica da Dremel.
Detalhe da passagem dos fios. A controladora já está montada em sua posição de funcionamento.
Finalmente, o TRIAC foi instalado na lateral da máquina, perto da entrada do cabo de alimentação. Nessa posição o poste de um dos parafusos de montagem impede o TRIAC de se mover.
TRIAC na posiçao de funcionamento.
Vista geral da Dremel aberta. O Triac foi posicionado próximo à entrada de alimentação.

Esse reparo foi feito em setembro de 2010. A máquina continua funcionando perfeitamente até hoje, ou seja há 3 anos!

terça-feira, 12 de novembro de 2013

Apagador de EPROMs

Apagador de EPROMs caseiro. O corpo é de MDF e Eucatex, pintado para dar um acabamento melhor.


Foi utilizada uma lâmpada germicida, junto com um reator eletrônico reaproveitado de uma lâmpada fluorescente compacta.


Para acomodar as EPROMs uma tira de espuma foi colada com fita dupla face na base, que fica presa à tampa, formando um T. Mais simples impossível.


Detalhe da tampa, mostrando o ressalto de MDF que tem por objetivo vedar a saída de luz bem como dar um pouco de firmeza à tampa, quando esta está fechada.



segunda-feira, 11 de novembro de 2013

Gerando Video com microcontrolador ARM

Recentemente fiz alguns experimentos para gerar vídeo por software utilizando um processador ARM, no caso um LPC1111/201 da NXP

A primeira dificuldade encontrada foi que no ARM, o tempo de execução da instrução, em ciclos de CLOCK, varia conforme o endereço em que as intruções são executadas, pois a memória FLASH do dispositivo tem uma velocidade máxima de funcionamento menor do que a do processador. Com isso, alguns Wait States são inseridos e a temporização dentro de um loop também varia.

Uma solução para contornar esse problema foi inserir no código uma diretiva para que o compilador transfira para a RAM e execute a partir de lá a função que gera os  delays para os pulsos de sincronismo.

void delay_loop(int vezes) __attribute__ ((__section__(".data.ramfunc")));

Testando a geração dos sinais de sincronismo

O sinal de vídeo foi gerado utilizando-se a interface SPI do microcontrolador no modo TI, que é o único modo adequado do LPC1111 para gerar vídeo. Os outros modos inserem pausas entre os caracteres sendo enviados pela porta SPI. Um inconveniente deste modo é que quando a saída não está transmitindo, o pino MOSI fica em tristate.  

Para somar o sinal de sincronismo ao sinal de vídeo foi utilizado um circuito simples, com diodos em série com os resistores. Esse arranjo é necessário por causa do estado tristate do sinal MOSI.

                 1K                                
 Sync o-->|---/\/\/\/\/\----+--------o Video Out   
                 220R       |      75R             
 MOSI o-->|---/\/\/\/\/\----+---/\/\/\/\/\----|GND 
                                                   

O nível de pedestal, é então obtido mantendo-se o pino Sync em nível alto. Para gerar o sinal de sincronismo, coloca-se o pino em nível baixo (o resistor de 75 Ohms puxa a linha para zero). 



Pulsos de sincronismo horizontal
Pulsos de sincronismo horizontal

Sincronismo vertical (serração)
Final do pulso de sincronismo vertical e serração


Tela de 32x24. A fonte usada foi extraída da ROM do MSX Hot Bit

Caracteres em detalhe. Video sem jitter.

.

sábado, 9 de novembro de 2013

Littlewire: Um programador USB para AVRs bem fácil de montar.

O Littlewire é um programador USB para microcontroladores AVR que usa poucos componentes.

Por se tratar de um projeto livre, toda a documentação está disponível para quem quiser montar o seu, inclusive os arquivos de 'layout' de uma placa de circuito impresso bem compacta.

Como contribuição para o projeto, eu criei uma placa de circuito impresso de face simples, de forma a tornar a montagem do programador ainda mais fácil.

  

Link para o projeto: http://littlewire.cc/
Link para os arquivos da placa, firmware, etc.

sexta-feira, 8 de novembro de 2013

Menta!

Coisas que eu fiz usando as embalagens de balas de menta como caixa.

Mentos Blaster:
Esta é uma interface USB-JTAG para CPLDs e FPGAs da Altera.

 

Link para o álbum completo.
Página do projeto: http://sa89a.net/mp.cgi/ele/ub.htm


Trident USBASP:
Minha versão de USBASP para caixa de Trident.
  

Tic Tac USBASP:
Outra interface de programação USBASP, porém em caixa de Tic Tac
  

Sonda Lógica Tic Tac:
Sonda lógica para ajudar a depurar circuitos digitais. Possui um contador binário que é extremamente eficiente para se detectar glitches.