Pedal de Efeitos (Parte III): Ajeitando a bagunça...

Bom, o pedal está andando bem devagar mas em breve deve ficar pronto. Esta semana tive que dar uma ajeitada no conversor DA (com malha R2R) por falta de espaço no protoboard. Como o DA usa 37 resistores (usei resistores de 1k x 1% que é o que eu tinha a mão, assim os ramos 2R são feitos com dois resistores mesmo) acabou ocupando muito espaço e para fazer o efeito de reverberação eu precisaria (teoricamente, não sei se vai funcionar) de mais um DA que ocuparia mais espaço ainda. Já estava complicado montar os amplificadores operacionais para os filtros e mixers então resolvi montar os DA's numa placa universal. Os DA's ficaram assim:

Malha R2R

Conversor DA com malha R2R

Outra coisa que estou começando a olhar é o layout dos componentes na caixa. Vou usar uma caixa clone da Hammond 1550M e cheguei as duas configurações abaixo. A caixa ainda não foi furada, preciso desenhar um painel para avaliar se os controles ficarão bons nessas configurações. Só tenho uma caixa e não posso errar.
Caixa do pedal de efeitos

Caixa pedal de efeitos

Minha cidade...

Bom, o leitor Carlinhos comentou no post anterior pedindo para que eu colocasse um pouco da minha história. Já pensei em escrever algo assim, mas não sei nem por onde começar. Enquanto não organizo as idéias vejam esse vídeo sobre a minha cidade que encontrei no blog do Giácomo. Tirando o ufanismo (dá pra usar essa palavra aqui ou é só pra país?) o vídeo tem algumas imagens interessantes. Qualquer hora vou escrever alguma coisa sobre esse tal "Vale da Eletrônica" também...

Sobre a memória WOM (Write Only Memory) 25120 da Signetics

Curioso como o tempo passa e a gente sempre acaba descobrindo novos fatos pitorescos sobre a história da eletrônica. Ontem mesmo fiquei sabendo que uma velha piada que eu ouvi no curso técnico e na faculdade tem um fundo “histórico” muito interessante. Trata-se da história da WOM ou “Memória Somente de Escrita” (numa tradução tosca, se tiver uma melhor manifeste-se).

Este termo era usado nas piadas com os “bixos” que eram mandados até a loja de componentes comprar réguas de medir tensão, pacotes de elétrons e a tal WOM (com a variação de EWOM e EEWOM).
Write Only Memory
Pois então, descobri ontem em minhas leituras diárias que na década de 70 do século passado a Signetics publicou em um de seus manuais uma referencia a um componente WOM. Tratava-se da memória 25120 com capacidade de 9046 x N bits (onde N = 0). Fazendo uma rápida pesquisa cheguei a história de que um engenheiro da Signetics chateado com o processo burocrático de aprovação de novos manuais incluiu de brincadeira as especificações da 25120 junto com outras de verdade. O pessoal de lá acabou aprovando e saiu publicado num manual sobre novos produtos e só foram descobrir quando receberam pedidos de informações pelos clientes. O manual teve que ser reeditado e os “defeituosos” foram recolhidos.

Aparentemente a piada foi aprovada pela Signetics já que em Abril de 1973 eles compraram um espaço de 2 páginas na revista “Electronics” e publicaram um anuncio com o datasheet completo da memória. O datasheet inclui até curvas (como a de “Quantidade de pinos” x “Número de vezes que a memória foi colocada num soquete”) e o diagrama em blocos (O mesmo aí de cima). Agradecendo a Era da Internet veja você mesmo o datasheet clicando aqui.

Segundo a revista “Rádio-Electronics” de Abril de 1973 a memória estaria à venda no dia 1º de Abril daquele ano com as primeiras entregas marcadas para 31 de Fevereiro de 1974. Existe até uma foto do componente na figura 4 na página 53 desta edição. ;-)

Agora só falta aparecer o datasheet dos DED (Dark-Emitting Diodes, bons para usar como indicadores de equipamentos desligados) que a Texas publicou por volta desta mesma época.

Pedal de Efeitos (Parte II): Teste de delay

Com o setup inicial montado parti esta semana para o teste do primeiro efeito: o Delay. Aqui vale contar a história da idéia para o pedal. Tudo começou quando vi o CI PT2399 a venda no site Solda Fria. Curioso que sou procurei pelo datasheet (já que eu não sabia pra que servia o CI) e fiquei indignado com a falta de informações por parte do fabricante. No manual não tem nem um diagrama em blocos do CI. É dito apenas que o CI possui 44k de memória e que possui conversores AD e DA trabalhando em uma alta freqüência de amostragem. Isso não significava muita coisa, pois faltavam dados, números palpáveis.

Então, procurando pela rede não se acha muito mais do que este datasheet. Como a maioria dos circuitos de eco/delay para pedais de guitarra usam este CI, resolvi conversar com um colega guitarrista sobre o assunto. Depois da conversa aprendi muito mais do que esperava, descobrindo um novo campo para fuçar. Isso foi no inicio do ano e vi muitos circuitos de pedais desde então. Acabei dizendo a meu colega que eu conseguiria fazer um pedal de delay usando um microcontrolador e não o PT2399. Ele gostou da idéia e pediu para que eu a colocasse em prática.

Comecei a pensar num circuito capaz de fazer o delay e cheguei a algo parecido com isso aqui (Clique para aumentar):
Esquema pedal de efeitos

O PIC18F4550 foi minha primeira opção não por causa da interface USB mas por ser relativamente fácil de encontrar e possuir um módulo conversor AD capaz de chegar a uns 100k Samples. Essa taxa, segundo meus cálculos, é a mínima para se conseguir amostrar o áudio e uma entrada extra para um potenciômetro de controle do efeito. Como pode ser visto no esquema eu usaria um DA de 8 bits pra começar. Eu já estava pronto pra montar tudo quando encontrei o kit da Freescale. Este kit acabou me poupando muito tempo, já que o Coldfire que vem nele possui 32kB de memória RAM e quase tudo pra começar. Além do fato de eu programar muito mais rápido com uControladores da Freescale do que num PIC.

Para criar o efeito de delay o microcontrolador amostra o áudio numa freqüência fixa e vai guardando na memória RAM. Esta memória é usada igual aos antigos delays de fita, com um loop de gravação. Um contador indica em qual posição da memória a próxima amostra deve ser gravada. Lendo as amostras anteriores e jogando no conversor DA temos o sinal atrasado. A diferença entre a posição das amostras atuais e as amostras atrasadas pode ser definida pelo valor de uma tensão num potenciômetro ligado a outra porta do conversor AD.

Esta semana fiz o código do delay usando 15000 amostras na memória RAM (30kB) e testei com o áudio vindo do PC. O resultado pode ser ouvido no vídeo abaixo. No vídeo dá pra notar a diferença dos tempos de delay. Usei um trecho de fala (que não foi escolhido por acaso) pra facilitar a identificação do efeito.

Como o teste foi bem sucedido tenho que passar agora para o projeto das partes de entrada e saída analógicas. Este circuito contará com um pré-amplificador de entrada para elevar o nível de um captador de guitarra que é bem baixo até uns 4.5V para a entrada do AD. Também colocarei um filtro passa-baixas na saída do DA para suavizar o sinal. E, claro, vou ver se coloco uma realimentação para obter o efeito de decaimento no sinal.

Por enquanto não vou colocar meu código aqui, pois ainda tem muito que melhorar. Quando estiver pronto coloco todo o projeto disponível para quem quiser testar também.

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.