Pedal de efeitos (Parte I): Testes Iniciais...

Bom, sobrou um tempinho hoje e deu pra montar um setup de testes para o pedal de efeitos para guitarras que venho planejando faz tempo. A idéia inicial é criar um pedal de delay e reverb microcontrolado. Novos efeitos devem ser acrescentados depois, se tudo der certo, é claro...

Pedal de efeitos - setup de testes

Neste primeiro teste montei uma malha R2R de 12 bits com resistores de 1k com 1% de tolerância. Pode parecer pouco nestes tempos de conversores de 16 e 24 bits para áudio mas vale lembrar que o Boss RV-3 usa conversor AD e DA de 12 bits (e o DA é com R2R). Já trabalhei com áudio em microcontroladores anteriormente usando conversores de 10 bits (AD e DA) e não ficou tão ruim assim. Foi num trabalho para a faculdade em 2004 ou 2005 (não lembro mesmo) onde usei dois microcontroladores MC9S12NE64 num projeto de transmissão de áudio pela Ethernet. Um uControlador convertia os dois canais de áudio numa taxa de uns 60kHz em 10 bits, empacotava num UDP feito nas coxas em assembly e enviava pela rede. Do outro lado um NE64 desempacotava e passava o áudio para um conversor DA feito também com malha R2R com resistores de 5% (!!!). E pior que funcionou muito bem, ninguém reclamou da qualidade do áudio. Levando isso tudo em consideração montei o seguinte conversor DA para o pedal:

Pedal de efeitos - setup de testes

O MCF51AC256 usado no pedal possui 24 conversores AD de 12 bits logo essa parte não precisou de muita coisa externa. Montei apenas um divisor em VCC/2 para gerar o nível DC e um capacitor de acoplamento. O controle dos efeitos ficará a cargo de um trimpot de 5k que vem montado na placa de demonstração.

Fiz um software de testes rapidinho no CodeWarrior 6.2 para ler os dois AD’s (entrada do sinal e o trimpot) e gerei uma dente de serra no conversor DA:

Pedal de efeitos - setup de testes

Agora só falta ligar isso numa fonte de áudio (vou usar o PC com alguns samples de guitarra) e um amplificador e começar a codificar o software do pedal. Mas isso fica pros próximos dias...

Consertando um Melocoton da Grow

Melocoton da Grow
E mais uma vez apareceu um brinquedo pra arrumar. Isso é bem comum aqui já que certa conhecida minha vive enfurnada em brechós e bazares beneficentes. Sua casa já está lotada de brinquedos comprados nestes locais mas para ela ainda não é o bastante. Há algumas semanas ela apareceu com uma nova aquisição para que eu consertasse. A bola da vez era um Melocoton da Grow.

Eu não me lembrava deste personagem até fazer uma pesquisa sobre o que se tratava. O Melocoton era um coadjuvante do extinto programa “Eliana & Cia” do SBT. O brinquedo lembra muito o “Tickle Me Elmo” original: você aperta a barriga e ele começa a falar e a tremer. A caixa que contém a parte eletrônica e mecânica fica bem acessível por um velcro nas costas do boneco. Esta facilidade de retirar a caixa faz com que seja meio difícil encontrar algum boneco completo e funcionando.
Melocoton da Grow

O problema com este aqui era que ele não tremia mais. O boneco falava todas as frases normalmente e dava pra ouvir o motor funcionando, mas sem a tremedeira. Como sempre abri o brinquedo e tirei umas foto pra colocar aqui no blog. A caixa aberta é assim:
Melocoton da Grow

Em cima a direita vemos a placa eletrônica e o motor. A esquerda fica a parte mecânica. Infelizmente a única PCB contém apenas um chip bolha e um transistor de acionamento do motor:

Na parte mecânica uma engrenagem grande com um peso colocado em uma das bordas serve para fazer o bicho tremer. O peso é relativamente grande o que causa uma tremedeira acentuada ao brinquedo. E é essa característica que acabou causando o problema no sistema. A engrenagem pequena do eixo do motor rachou e escapou. Na foto abaixo dá pra ver a rachadura:

Por sorte eu costumo guardar muitas engrenagens e outras peças de brinquedos. Dando uma vasculhada nas gavetas acabei encontrando uma equivalente:

Com a engrenagem no lugar tudo voltou ao normal. Acabei fazendo um vídeo da caixa funcionando. No vídeo também dá pra ver o consumo relativamente alto do brinquedo (a fonte mostra 1A com o motor ligado).

As placas do DEMOACKIT

Ok, acabei esquecendo de colocar mais detalhes sobre o kit da Freescale. A placa principal é esta aqui:
DEMOAC Freescale

Como dá pra ver não há um microcontrolador montado nesta placa (na verdade tem um sim, por baixo, mas é para o debugger/gravado/emulador/BDM). O motivo é que esta placa de demonstração pertence à linha “Flexis” ou “Controller Continuum” da Freescale onde existem dois modelos diferentes de uControladores compatíveis pino a pino sendo um da família S08 (de 8 bits) e outro com o core Coldfire V1 (de 32 bits – concorrentes dos ARM’s). Inclusive um mesmo projeto feito em C (e que não use mais do que alguns NOP em assembly) no Codewarrior pode ser convertido facilmente de um CI para outro sem muito esforço. Assim o kit vem também com duas placas extras com os microcontroladores montados:
Coldfire V1 and S08 boards

A placa vermelha é a do Coldfire e vem com um MCF51AC256 (256kB de flash, 32kB de RAM e até 53MHz de clock). A placa verde vem com um MC9S08AC128 (128kB de Flash, 8kB de RAM e até 20MHz de clock). A linha AC é uma das mais básicas, mas existem outras linhas com USB (JM), Ethernet (CN) e até uma especifica para equipamentos médicos (MM).

A placa principal vem com quatro LED’s e quatro chaves para o usuário, um trimpot ligado a um conversor AD e um acelerômetro de 3 eixos (xyz, mais divertido do que útil). Na foto da placa, logo abaixo do logo da Freescale fica o BDM Multilink da PEMicro que serve para debugger/gravador/etc. Infelizmente ele é travado e só funciona com os uC da linha AC. O kit funciona alimentado diretamente pela porta USB, mas pode ser ligado a uma fonte externa com a mudança de um jumper. O esquema da placa pode ser encontrado na página do kit.

O kit é relativamente barato (US$99.00 no site do fabricante) e é uma boa dica pra quem quer conhecer melhor os uC da Freescale. O ambiente de desenvolvimento (CodeWarrior) é gratuito e sem limites para Assembly e limitado em C até 32kB para a família S08 e 64kB para os Coldfires V1 o que é mais que suficiente para usuários comuns. Vale a pena perder um tempinho e estudar o Processor Expert que deixa o trabalho de desenvolvimento muito mais rápido. Com a vantagem de todo o código gerado pelo PE ser aberto e não aqueles códigos “Black Box” de uma linha como o do CCS para PIC.

Como prometido vou começar a fazer alguns projetos para o blog e vou usar o kit no primeiro. Este eu já estou discutindo há um tempinho com um colega guitarrista e será um pedal de efeitos digital. Ainda não sei se postarei o projeto completo quando concluído ou um worklog ou ainda um passo a passo com tutorial para o Codewarrior, vai depender do meu tempo disponível.

DEMOACKIT da Freescale: Brinquedinho novo para o blog

Bom, comprei este kit semana passada exclusivamente para testar algumas idéias e projetos pessoais e para o blog. Encontrei ele por acaso na Farnell e aproveitei a oportunidade. Acreditem, desde antes do blog nascer eu já tinha alguns projetos exclusivos pra ele. Este kit então é uma tentativa de mostrar alguma coisa mais útil do que as entranhas de aparelhos antigos (se bem que vou continuar fazendo isso também).

Como o DEMOACKIT chegou

DEMOACKIT

DEMOACKIT

Infelizmente (ou não) tive que trabalhar em outras coisas neste fim de semana e não deu pra fuçar muito no kit ainda. Testei apenas uma piscada de LED’s e já me deparei com o problema do CodeWarrior 6.3 dando nó com a pobre plaquinha. Mas falo disso durante a semana ou Domingo que vem.

O falso Pen drive Kingston de 64 GB

Eu já ouvi várias histórias de pen drives falsificados. No caso dos modelos Kingston de 8 GB (retrátil, caixa preta) vários colegas caíram no golpe em 2008. Normalmente são aparelhos que realmente parecem funcionar e indicar a capacidade correta. Mas existem casos mais bizarros como aquele do pen drive que era só um cabo USB numa caixinha (história esta que ninguém sabe se é verdadeira).

O falso Pen drive Kingston de 64 GB

Esta semana meu irmão foi consertar um computador de uma cliente e esta pediu pra ele dar uma olhada num pen drive que havia comprado num camelô de SP. O aparelho não dava sinal de vida quando ligado na porta USB. Nem um LED aceso. Ele acabou abrindo o pen drive e se deparou com isto:

O falso Pen drive Kingston de 64 GB

O falso Pen drive Kingston de 64 GB
A placa não possui nenhum componente montado! Olhando no site da Kingston o aparelho corresponderia ao DataTraveler 101 que vai no máximo a 16 GB. Como foi comprado na rua e com garantia zero não havia como reclamar. Meu irmão trouxe o bichinho para que eu pudesse ver e postar aqui. Fica então o alerta pra quem se deparar com uma “oferta” tentadora destas por aí.

Por dentro de um KVM automático de 4 portas da Dipo

O Macagnan comentou no post sobre o chaveador de portas paralelas e eu prometi umas fotos do KVM (Keyboard, Vídeo and Mouse switch) que meu irmão usa. O Luciano também comentou por lá falando sobre o KVM que ele montou a partir de um chaveador paralelo. Realmente é possível fazer isso, mas dependendo da configuração e placas o micro pode reclamar ou não dar boot caso não receba os dados certos do teclado e monitor. No caso citado pelo Luciano acredito que a chave deva ser colocada na posição pra um PC até que este execute o boot e inicialize o SO e só depois possa ser chaveado para o outro PC.

KVM
Este aqui meu irmão comprou na China e veio com os quatro cabos completos (1.5m cada). Ele não vem com a fonte de alimentação (9VDC) e na caixa diz que ela é opcional (embora ele não funcione sem ela). A troca dos PC’s é feita pelo botão central e a sinalização do PC ativo é feita pelos LED’s correspondentes a cada porta. Os quatro PC’s podem ser ligados ao mesmo tempo e o KVM dá conta de enviar os dados de teclado, mouse e monitor para que eles possam inicializar tudo corretamente. Além da chave de seleção dá pra trocar de PC usando combinações de teclas. Meu irmão tentou configurar isso mas até agora não conseguiu (O manual do aparelho veio em Chinês e a página do produto não é lá muito útil).

KVM

Desmontei o aparelho e tirei a foto prometida:
KVM

A placa não é tão complexa quanto parece, os CI’s em SMD são todos buffers HC244 e portas lógicas HCXX. O CI grande no soquete de 28 pinos é um microcontrolador OTP EM78P447 da Elan.

Que aparelho é este?

OBS: O post já estava pronto e enquanto estava postando resolvi dar uma olhada no aparelho e descobri um detalhe que deixei passar. Acrescentei essa descoberta como um update no texto, lá no fim. Publico o texto original como um registro da minha falta de atenção.

Comprei uma caixa de displays velhos (preciso parar de juntar coisas velhas, eu sei) e veio o seguinte aparelho:
Kodak Ektapro 1000TR Controller

A parte de baixo é assim:

Kodak Ektapro 1000TR Controller

Como se vê nas fotos não há indicação do modelo ou algo que leve a uma identificação precisa do que seja o aparelho. A principio parece um tipo de controle para um gravador, por causa das teclas “Record”, “Pause” e “Play”. Na lateral superior direita há um conector RJ11 que é a única aparente conexão externa disponível.

Neste ponto minha única certeza era de que era um dispositivo fabricado pela Kodak e a desconfiança de que teria relação com algum gravador. Se era de vídeo, áudio ou outro tipo de gravador ainda não sabia e seria necessário olhar dentro do brinquedinho.

Quatro parafusos de fenda fecham a caixa e, ao serem retirados, me deparei com a placa principal do dispositivo:

Kodak Ektapro 1000TR Controller
O projeto mecânico é muito bom indicando algo de aplicação profissional. A placa é presa por quatro furos que passam pelos quatro espaçadores para os parafusos que fecham a caixa. Fora os espaçadores a placa fica presa ao display por um conector de encaixe de 10 pinos. Desconectando a placa vemos o display, que também é preso pelos espaçadores, e a placa do teclado frontal. Desatarraxando os espaçadores o display pode ser retirado totalmente da placa.

Kodak Ektapro 1000TR Controller

Olhando mais de perto vi que o display é um Hitachi LM200 (gráfico, 64 x 240 pixels) e usa controladores HD44104. Pesquisando no São Google o melhor que encontrei foi a pinagem do display num site em Alemão. Se ele estivesse funcionando já justificaria a compra da caixa de velharias.

Deixando o display de lado, a placa controladora do aparelho me pareceu de projeto bem comum: um microcontrolador (6809 da AMI), uma EPROM de 16kB (27128), memória RAM (D4364, 8kB) e CI’s 74HC para expansões de portais. A única coisa um pouco diferente é a presença de um controlador HD61830A00 com sua memória RAM para o display gráfico.

Kodak Ektapro 1000TR Controller

Procurando por mais informações sobre a função ou modelo do aparelho encontrei apenas as identificações: “PWB User Interface” escrito na placa do teclado e “Assy. Keypad 05900005-001 Rev X3” na placa principal. Uma busca por estes termos não rendeu muita coisa e continuei sem saber que aparelho era aquele.

Sem muitas opções resolvi apelar para uma técnica de engenharia reversa que já me ajudou em outras ocasiões: Ler a EPROM e catar alguma string no arquivo que poderia ser útil. Futucando o binário encontrei apenas algumas strings, provavelmente de menus do display:

Kodak Ektapro 1000TR Controller

Não foi nada muito útil, mas as strings “PAL” e “NTSC” me levaram a crer que seria mesmo o controlador de um gravador de vídeo. Minha ultima chance seria ligar o aparelho numa fonte externa e ver se havia alguma coisa pra descobrir com o display funcionando. Após algumas medidas de continuidade, uma retirada do transistor regulador de tensão (que pensei ser um regulador integrado) e uns fios gambiarrados na placa consegui ligar o aparelho. O resultado desanimador foi este:

Kodak Ektapro 1000TR Controller

O aparelho "funcionou" e ficou apitando e indicando a mensagem "ERROR 04". Qualquer tecla que fosse pressionada não acontece nada.
Pois é, esta deve ser a primeira vez que eu não consegui identificar um aparelho com exatidão. Tenho algumas boas pistas do que seja, mas não cheguei ao modelo que facilitaria muito a busca de mais informações. Como último recurso coloquei aqui pra ver se alguém sabe do que se trata e comenta ai embaixo. Agradeço antecipadamente qualquer informação útil.

UPDATE: Pois é, deixei passar a inscrição "Kodak Spin Physics" na placa principal. Usando estes termos na busca do google o terceiro link me levou a uma página com mais detalhes do sistema Kodak Ektapro 1000TR. Trata-se então de um gravador de video de alta velocidade. Curiosamente o cara da página comprou um sistema destes sem o controlador. Ele deu um jeito de controlar o gravador construindo um novo controlador externo! Vale a pena uma olhada no site.

Testando a refrigeração do gabinete R460 da 3R System

Pois é, meu PC novo que estava montado em cima da mesa agora está em seu local definitivo. O motivo de montar daquele jeito foi para aproveitar o fim de semana (que é quando tenho mais tempo livre) pra instalar e testar tudo com calma. Esse PC foi comprado em quatro lojas diferentes: Gabinete, Monitor, acessórios e a parte de dentro. O Gabinete foi a primeira coisa que comprei e o primeiro que foi enviado. Só que foi o último a chegar! Daí deu naquilo...

A principio não havia muita necessidade de trocar o PC, o antigo dava pra trabalhar tranqüilo ainda (Pentium 4 – 3GHz). O problema era com os jogos. Tá certo que eu não jogo tanto quanto antigamente, mas estava ficando chato reduzir a qualidade dos gráficos para tentar jogar uns jogos mais recentes (de 3-4 anos atrás). Joguei todo o Command & Conquer 3 esguelando minha FX5200, mesmo com a qualidade dos gráficos colocada no nível “Sofrível”. Mesmo assim eu esperava trocar de máquina apenas quando a Blizzard lançasse “Diablo 3”. Como a Blizzard é a Blizzard o jogo só será lançado quando estiver pronto e nesse tempo eu ainda não havia jogado “Red Alert 3” e a EA já ia lançar “Command & Conquer 4”. Jogo C&C desde o demo da primeira edição (1996-97) e não queria quebrar a tradição.

Decidido então pela troca (isso foi no fim do ano passado) passei a escolha da configuração. Isso levou um tempo considerável enquanto eu lia fóruns e checava os preços nas lojas online. Minha maior desconfiança era quanto ao aquecimento da máquina. O Pentiun IV aquecia consideravelmente já que dentro do gabinete só tinha a ventoinha do processador, nem a placa de vídeo tinha um cooler. Em dias muito quentes chegava a travar tudo. Com o PC novo eu não queria correr esse risco e como esta seria uma máquina com uma performance um pouco superior o aquecimento poderia ser um problema. Escolhi o gabinete com a maior quantidade de fans que encontrei. Curiosamente, um dia após ter comprado o gabinete o Clube do Hardware fez um review do gabinete dando seu selo de aprovação. Fiquei um pouco mais aliviado mas ainda curioso em saber se a coisa não ia ficar quente.

Gabinete R460 da 3R System

Então (pra não esticar muito a conversa, já que escrevi três parágrafos e ainda não entrei no assunto do post) depois de terminar de montar fiz algumas medidas de temperatura dentro do gabinete. Pensei em usar um software para monitorar as temperaturas mas acabei usando um alicate amperométrico (Toyo TY9900T) com medidor de temperatura. O termopar foi colocado em contato com os dissipadores da placa de vídeo e do processador. Era pra ter feito medidas no HD e na fonte, mas o HD fica com uma ventoinha “na cara” o tempo todo e, no teste do dedão, a temperatura dos dois não ficou tão alta.

Gabinete R460 da 3R System

A configuração do PC é esta:
Processador: Intel Core i5 750 (2.66GHz);
Motherboard: Asus P7P55D Pro;
Placa de Vídeo: XFX GTS250 (1GB de RAM);
Memória: 2x2GB Corsair DDR3 1333MHz;
Fonte: Corsair CMPSU-550VX 550W (exagerado, mas consegui um bom preço e é melhor sobrar do que faltar);

A máquina está configurada para resolução de 1920 x 1080 com Windows 7 Pro 64 bits. As temperaturas foram medidas com o computador sem uso (Idle) por um tempo e depois rodando o jogo “Need for Speed Undercover” (foi a coisa mais pesada que eu consegui) com tudo no máximo, AA em 6x e em Full-HD.

Pra quem não conhece o R460, clique aqui e veja os detalhes no site da 3R System. É um gabinete comum com um exaustor com duas fans em cima. Existe ainda uma ventoinha na parte de baixo perto das baias para HD’s e uma pequena no fundo em cima. Essa última eu não liguei por achar que não faz diferença. A fonte é montada no “chão” do gabinete numa solução de refrigeração diferente do que estamos acostumados. Vejam as fotos no site oficial para entender melhor.

O PC está com os coolers de fábrica no processador (Box) e na placa de vídeo com suas velocidades controladas pelos drivers das placas. O gabinete possui uma chave de três posições para controle dos exaustores na parte de cima. Com ela podemos colocar as ventoinhas em velocidade máxima (High), baixa (Low – jogando alimentação direta do 5V) e desligadas. Fiz os testes com as três velocidades. Os resultados foram os seguintes:

Temperatura ambiente: 28ºC;

---> Placa de vídeo: <---
Com os exaustores desligados:
PC Parado (Idle): 50ºC
Rodando NFS Undercover: 60ºC

Com os exaustores em baixa velocidade (Low):
PC parado (Idle): 47ºC
Rodando NFS Undercover: 52ºC

Com os exaustores em velocidade máxima (High):
PC parado (Idle): 44ºC
Rodando NFS Undercover: 49ºC

---> Processador: <---
Com os exaustores desligados:
PC Parado (Idle): 55ºC
Rodando NFS Undercover: 75ºC (parei os testes antes que subisse mais)

Com os exaustores em baixa velocidade (Low):
PC parado (Idle): 43ºC
Rodando NFS Undercover: 50ºC

Com os exaustores em velocidade máxima (High):
PC parado (Idle): 41ºC
Rodando NFS Undercover: 49ºC

Não houve muitas surpresas nestes testes. A única coisa que me preocupou foi a temperatura do processador com as fans desligadas. Parei o teste quando o dissipador passou de 75ºC (temperatura alta para um dissipador), ligando os exaustores em velocidade baixa (Low). A temperatura baixou rapidamente, caindo 25ºC em menos de um minuto. Curioso que a diferença de temperatura com as ventoinhas em alta ou baixa velocidade pode ser desconsiderada para o processador. Depois disso só uso o PC com a chave do gabinete em Low (menor ruído e quase o mesmo efeito). A placa de vídeo, que era minha maior preocupação, se comportou muito bem. A temperatura não ficou tão alta como imaginava.

Bom, os resultados dos testes estão aí e espero que sejam úteis para quem tem ou está pensando em adquirir este modelo de gabinete.

Por dentro de um chaveador de portas paralelas

Comprei esse chaveador de paralelas no ferro-velho pra usar a caixa num amplificador de áudio que pretendo montar. Aproveitei pra tirar umas fotos internas pra postar aqui, enquanto inspecionava a caixa pra ver se caberia um amplizinho. No século passado esses aparelhos eram comuns mas acabaram desaparecendo com o surgimento do padrão USB.

Chaveador de portas paralelas

Por volta de 1998/99 eu fazia uma ponte ligando a paralela do PC no Zip Drive que ligava no scanner que finalmente ligava na impressora (uma citzen Printiva 700, com cartuchos de sublimação de cera impossíveis de encontrar, outra tecnologia que não vingou). Quando precisava ligar uma interface paralela cheia de CI’s TTL’s ou o gravador de 8051 tinha que tirar todo mundo da porta, já que não funcionavam com os outros aparelhos ligados. Um chaveador destes seria uma ajuda extra naqueles tempos.

Chaveador de portas paralelas

Eu pensava que o circuito interno seria de uma complexidade digna do que cobravam pelo aparelho. Ainda mais neste de quatro portas. Finalmente ao abrir o chaveador para ver o que tem dentro descobri que não poderia ser mais simples: Uma chave e fios, muitos fios. Fiquei até com pena do montador do chaveador soldando fio o dia todo.

Chaveador de portas paralelas

Depois de aberto também descobri o provável motivo do chaveador ter sido mandado pro ferro-velho. Como pode ser visto na foto abaixo uma das pastilhas da chave seletora quebrou, inutilizando uma das portas.
Chaveador de portas paralelas

PC novo...

Pois é, troquei de PC. Assim que eu tiver um tempo (e paciência) conto toda a novela que foi colocar ele pra funcionar ao mesmo tempo em que tentava cumprir alguns prazos de projetos estourando por aqui. No fim de semana tive que trabalhar com o PC neste estado (Agora tá um pouco melhor, mas ainda não acabou.):
PC novo