HEAD

cookieOptions = {msg};

Pesquise o que deseja neste site

quarta-feira, 20 de junho de 2012

SliTaz Linux rodando na Mini-ITX

De volta a minha velha PMI8M. (para quem não sabe o que é vale a pena dar uma navegada nos posts marcados com Mini-ITX).

Desta vez usando outra distro do Linux o SliTaz GNU/Linux.

Para quem procura uma plataforma para projetos ou para um pequeno webserver ou servidor de arquivos esta parece ser uma boa distro. Para começar eu vou adiantando foi fácil colocá-la para rodar, ao contrário de outras experiências mais traumáticas do passado. Mas vamos ao que interessa.

1. Onde vai rodar:

  • Placa Mini-ITX modelo PMI8M com processador Intel Celeron M rodando a 550MHz, 512Mb de RAM.
  • Boot feito em um pendrive de 1Gb. (bem antigo por sinal).
  • Destino final um Compact Flash de 1Gb.

2. O que vc precisa para fazer isso funcionar:

  • Baixe o iso tipo LiveCD do Slitaz: slitaz-4.0.iso (35Mb somente).
  • Queime em uma mídia de CD, pode ser um RW como eu fiz.
    • opção para os aventureiros é rodar em uma VM ,mas esse não era o objetivo aqui.
  • Será necessário um computador com drive de CD/DVD e uma porta USB e conexão a internet.

3. A receitinha de bolo:

3.1. No computador de casa:

  • Com CD do slitaz no drive faça o boot (problemas, vide google).
  • Entre na opção SliTaz core live.
  • Cliquei no ícone do terminal e siga os passos dados aqui handbook:liveusb
  • Ta bom vai eu coloco aqui, meu pendrive era o /dev/sda1
fdisk -l # normalmente vai ser /dev/sda1
#seja cauteloso aqui, lembre-se é o PC de casa
tazusb format /dev/sda1 
#finalmente gerando o liveUSB
tazusb gen-liveusb /dev/sda1
  • Ou então apenas digite tazusb e siga as instruções (em texto)

3.2. Na Mini-ITX:

  • Boot no pendrive criado.
  • Entre na mesma opção de Slitaz core live.
  • No terminal vamos formatar o compact flash. No meu caso esta ligado em uma IDE ATA.
  • (aviso: se tem algo no compact flash é hora de salvar).
fdisk -l | grep Disk #solta uma lista dos seus discos
fdisk /dev/hdc
#mostra sua lista de partições
fdisk> p 
#apague todas, esse passo vai acontecer N vezes 
#onde N=seu nr. de partições
fdisk> d
#faça uma partição primaria 
fdisk> c
#salva e sai 
fdisk> w 
#formata partição criada
mkfs.ext3 /dev/hdc1
  • De volta ao Slitaz clique no Ícone do painel de controle.
    • Install
    • Escolha origem LiveUSB
    • Destino /dev/hdc1 (cartão compact flash)
    • Importante escolha a instalação previa do Grub.
    • reboot

Tive uma falha nesse primeiro boot do compact flash, o root apontava para hd2, bastou editar na tela do Grub mesmo pressionando 'e' e trocar para hd0. O seu pode não ser o hd0 então ainda no Grub rode o comando:

# find /boot/grub/stage1 (a saída deve apontar onde se encontra seu boot).

É isso ai, para os que chegaram no mesmo ponto felicitações, aos que não chegaram: http://forum.slitaz.org/

Obs: Meu blog é de caráter informativo e não me responsabilizo pela reprodução dos procedimentos aqui informados nem o sucesso dos mesmos. Caso queria repedir que foi feito,  é necessário conhecimento mínimo no assunto e técnica. Procure um supervisor caso não se sinta seguro.

quarta-feira, 13 de junho de 2012

HACK: Motor de passo de uma impressora HP

Após desmontar uma antiga impressora da HP que estava encalhada na casa dos meus pais eu resolvi usar o motor de passo que encontrei. Primeiro passo: Hack ou reengenharia.

Foto da etiqueta do motor.

Foto do conector (adotei essa pinagem para facilitar a análise)

Agora é pegar o multímetro e analisar como esse motor esta ligado. Seguindo a pinagem mostrada na figura anterior temos:
Figura representando as boninas do motor.

No meu desconhecimento em como tratar um motor com as derivações centrais curto-circuitadas. E como eu já tenho um driver para motor de passo (bipolar) comprado na  MC33926 da Pololu, (mostrado neste post). Vou simplesmente remover a ligação 3 e usá-lo na montagem bipolar, eis o que fiz:

remoção do jump entre os taps centrais.

Próximo passo será ligar no driver e fazer um pequeno ensaio, mas fica para um novo post. Para quem deseja se adiantar, veja no meu post (eZ430 gerando meu PWM para o motor). A ideia é ligar 1,2 nos pinos M1 out1 e M1 out2 do driver e pinos 4,5 nos pinos M2 out1 e M2 out2.

Keep reading and keep rowing...


Obs: Meu blog é de caráter informativo e não me responsabilizo pela reprodução dos procedimentos aqui informados nem o sucesso dos mesmos. Caso queria repedir que foi feito,  é necessário conhecimento mínimo no assunto e técnica. Procure um supervisor caso não se sinta seguro.

quarta-feira, 14 de dezembro de 2011

Shield LCD Nokia 1100 para Launchpad

Fiz este pequeno shield de LCD para placa Launchpad da Texas Instruments. Assim pude testar minha interface com LCD da Nokia modelo 1100. Um antigo celular que foi muito vendido na sua época e ainda é encontrado rodando por ai. E o melhor em muitas sucatas ou gavetas de antigos usuários.

Shield LCD Nokia 1100 para launchpad.
A pinagem pode ser encontrada neste outro post:
http://www.esd-talk.com/2011/12/pinagem-do-lcd-nokia-1100.html

Vista completa do shield.

Keep reading and keep rowing...

Pinagem do LCD Nokia 1100

Seguindo mais um post na série pinagens, mostro a pinagem do LCD do celular da Nokia 1100 um modelo antigo mas muio vendido que é facilmente encontrado em sucata ou nas gavetas de antigos donos!

Foto da montagem: pinagem encontrada por testes e comparação.

sábado, 5 de novembro de 2011

Receiver infrared from scratch

Encontrei um controle remoto sem uso de um antigo aparelho de som automotivo então decidi criar um receptor de infrared e usá-lo para ajustar alguns parâmetros no meu robô de labirinto (ou ao menos do projeto dele). É bem mais prático que ficar apertando botões diretamente, ainda mais no caso de robôs pequenos.

controle usado


Existem várias opções prontas no mercado, mas o divertido é partir de um projeto do zero, usando um foto diodo um filtro RC passivo e um comparador tipo schmitt trigger. 

Meu primeiro desafio foi encontrar qual protocolo o controle usava, já que não tem nada escrito nele, tip uma etiqueta informando. Depois de uma boa pesquisa na internet achei a fonte ideal para estudar e entender como a coisa funciona.


Este site dá uma pequena introdução de como a coisa funciona e ainda descreve os muitos protocolos existentes e ainda muito ativos no mercado.

JVC, NEC, Nokia, IR5, IR6, etc...

Bem a grande maioria usa freqüência de portadora entre 36kHz e 40kHz. Sendo assim, parti para um pequeno ensaio para descobrir qual protocolo meu controle usa.

Usando duas pilhas AAA sem série +-3V, coloquei o foto diodo polarizado reversamente com um resistor de 220ohms em série. Liguei meu osciloscópio USB e medi a tensão sobre o diodo, eis o resultado:


O sinal mostra tudo o que queremos saber. A frequência da portadora de ~38kHz (na figura não é mostrada, fiz um zoom no préambulo para descobrir). O préambulo de ~9ms seguido de um espaço de ~4ms. Dá para ver que tem zeros e uns representados usando o protocolo da NEC. Marcas de 560us e espaços iguais para os zeros e marca de 560us seguido de um espaço longo de mais de 2ms para representar o um.

Resolvido qual protocolo o controle usa, agora é remover o sinal da portadora usando um pequeno filtro RC. Para um teste do circuito fiz uma simulação do Tina TI.



Gerei um sinal de frequência baixa 800Hz com uma portadora na frequência de 38kHz. O cáculo do filtro é simples segue uma referência para consulta: 


Ajustando para componentes que já tenho em minha casa, coloquei a frequência de corte para ~1,6kHz suficiente para remover a portadora e preservar o dado que transita em uma frequência abaixo de 1kHz.

C=100nF e R=1k ohms.

O ideal nesse tipo de circuito é construir um amplificador do tipo AGC (automatic gain control) para que a distância do controle ao receptor não influencie a leitura, no meu caso como quero um projeto simples e que funcione de perto vou apenas digitalizar o sinal usando um schmitt trigger assim tenho níveis bem definidos para jogar na porta de um microcontrolador. O circuito simulado já esta com comparador e o nível ajustado para o nível médio da tensão de alimentação (feito pelo divisor na entrada negativa do AO).

Em meu circuito real vou usar um LM311, já estava na mão e serve bem para meu propósito. Segue minha montagem:

Apenas ajustei os componentes para estudar a melhor montagem.

Soldei todos as pernas para deixar os componentes firmes, agora é desenhar como vão ser as conexões.

Como meu plano de montagem em mãos agora é só ter paciência e soldar alguns fios.

Eis a montagem final e o resultado na tela no osciloscópio

Montagem final.

Sinal condicionado e pronto para ser enviado a uma porta do microcontrolador.


Um bom projeto para final de semana, legal para relembrar a época em que tudo era feito "from scratch". Além de bem útil e muito barato.

Em breve publicarei a decodificação do sinal no microcontrolador. 


Ate breve e continuem remando... 



quarta-feira, 28 de setembro de 2011

Joule Thief o ladrão de energia

Um circuito bem popular para "voltage boost" em uma análise de perto. Muito difundido como circuito para acender LEDs usando pilhas de relógio ou no fim da vida, este circuito auto-oscilador elevador de tensão tem muitas utilidades nos mais diversos projetos.



Conhecido como ladrão de Joules ou "Joule Thief". Tem esse nome pois elevando a tensão consegue drenar ate o último Joule de uma pilha, mesmo que sua tensão esteja na ordem dos milivolts.

referências: http://en.wikipedia.org/wiki/Joule_thief

Usando o software de SPICE TINA-TI fiz a simulação do circuito acima usando um toroide com indutância mútua de 3uH e uma resistência de 1K(R2) no lugar do LED.

Vout (gráfico verde) e Veb (gráfico vermelho)

Na prática fiz uma montagem com um toroide encontrado em uma antiga fonte ATX. Seguindo a mesma montagem do diagrama, primeiramente com uma resistência de 10K ohms e depois com um LED no lugar de R2.

toroide de uma fonte ATX, enrolado com 20 voltas.


Aplicando tensão Vcc = 2,9V obtive as seguintes formas de onda:


O circuito ressonou em uma frequência de 33kHz dando picos de 60V mas com uma tensão rms de aproximadamente 7V. Ligando um LED no lugar do resistor R2 e alimentando agora com uma tensão de 1,5V temos a seguinte onda medindo a tensão coletor-emissor ponto Vout no diagrama.

Vcc=1,5V - Vpp-ec=3V - frequência de oscilação 12,5kHz

Caso queiram montar este circuito em casa, existe muita referência no youtube mostrando o passo a passo. Deixo aqui a lista de componentes para refazer o mesmo circuito que fiz, ou semelhante já que o toroide foi reaproveitado de uma velha fonte ATX (alias pode-se achar praticamente todos os componentes  da montagem em velhos aparelhos).

Referenciar o diagrama de montagem:

R1 = resistor de 1K ohms.
T1 = transistor BC337
M1 = toroide retirado de uma fonte ATX com diâmetro externo de 16mm, 20 voltas no enrolamento.
R2 = resistor de 10K ohms ou um LED de alto brilho.

Vale lembrar que na montagem do transformador toroidal os dois enrolamentos devem ser ligados em oposição (na foto o fio vermelho esta ligado no fio branco mas em sentidos de enrolamento opostos).

Keep reading and keep rowing...

sábado, 17 de setembro de 2011

Ensaio do motor com driver MC33926


Primeiro ensaio feito para o motor DC escovado com redução de 30:1 controlado pelo driver MC33926 da Pololu. Um pequeno ensaio para determinar a corrente máxima do motor sem carga. Não traz muita informação, foi mais para validar a montagem proposta no ultimo post.

Alimentando o motor com aproximadamente 7.5V e a lógica com outro conjunto de pilhas com tensão de aproximadamente 2.8V. Fui variando o duty cycle de 0% ate 100% usando uma freqüência de 16kHz. 



Como mostrado na foto a corrente foi medida diretamente na alimentação colocando o multímetro em série com minha fonte de 7.5V (um conjunto de pilhas recarregáveis em série). A corrente começa em 11.8mA e vai ate 69.3mA. Minha próxima medida será aplicando alguma carga ao motor tentando estimar seu torque.

Keep reading and keep rowing...

Um local para debater assuntos relacionados a eletrônica , programação, desenvolvimento de sistemas e robótica.

Procure o assunto que deseja no blog

Google