Pesquisar este blog

sábado, 31 de agosto de 2013

OCTOSWITCH - CHAVEADOR DE PEDAIS

Dado o know-how que obtive ao desenvolver o hexaswitch, consegui fazer um chaveador mais simples, usando um PIC com menos pinos. Essa versão não permite que se escolha bancos de presets, assim ele pode selecionar e armazenar apenas 8 presets (patches) de 8 loops, que ficam gravados na memória EEPROM de forma a não perder as configurações quando o equipamento for desligado.

Como o 16F628 possui apenas 16 portas de entrada/saída, e destes 8 são usados para acionar os relés/chaves dos loops e respectivos leds, sobraram 8 portas pra acionar um display e ler as chaves de seleção e programação. Aí começam os malabarismos pra aproveitar ao máximo as portas que sobraram. Como são 8 chaves (momentâneas) para selecionar os presets e mais duas chaves de controle (programa e bypass) totalizando 10 chaves. A princípio eu pensei em fazer uma matriz de chaves, mas isso consumiria mais portas do que desejava pois para acionar 8 leds também deveria ter um sistema de matriz ou multiplexação. Optei por usar um display de 7 segmentos para mostrar o número do preset selecionado e um decodificador BCD para 7 segmentos que é o ci CD4511, que usa 4 entradas em binário. Assim, tirando as 4 portas para acionar o 4511, sobraram 4 portas pra ler as chaves.
Havia a opção de usar outro ci que seria um codificador de 16 entradas para 4 saídas binárias. Mas como eu não queria usar mais integrados, resolvi usar uma técnica de codificação usando simples diodos, o que funcionou nas simulações. Em tese 4 entradas codificadas poderiam distinguir até 16 chaves. Mas como 10 eram suficientes e isso simplifica o layout, deixo sobrando 6 possibilidades, para futuras expansões.

O esquema é o abaixo:

E o firmware para o 16F628(A):

:10000000712883178001840AFF3E031D02286C2893
:1000100083161C141A0883169B0A6C280301831686
:100020009A001C1555309D00AA309D009C149C1808
:1000300017281C119B0A6C28A301A200FF30A207FD
:10004000031CA307031C6C280330A100DF302A2007
:100050001E28A101E83EA000A109FC30031C3328A2
:10006000A00703183028A0076400A10F302820182B
:100070003928A01C3D2800003D280800A2000530BA
:10008000A80023082102031D47282208200204306B
:1000900003180130031902302805031DFF306C28B6
:1000A000A501A4011030A600210DA40DA50D220864
:1000B000A4022308031C230FA502031866282208A4
:1000C000A40723080318230FA5070310A00DA10DF3
:1000D000A60B542820086C28831303138312640092
:1000E00008008316F03085008601831207309F00D8
:1000F0002030840060300220A03084005030022084
:10010000203084003030012083167E309B00831223
:100110000820B80083167F309B0083120820B900A6
:100120006400E1300502031C9728B801B901E830EA
:10013000A0000330A1003908A30038083E20031DA9
:10014000A2289028B80A0319B90A83167E309B00AA
:10015000831238080F2083167F309B0083123908E2
:100160000F200130BA0064003A08013C031DC42886
:10017000013085000130BB003B0883169B008312D1
:100180000820BD003D08860064003A08023C031DBB
:10019000D528023085000230BB003B0883169B0047
:1001A00083120820BD003D08860064003A08033C25
:1001B000031DE628033085000330BB003B0883168F
:1001C0009B0083120820BD003D08860064003A08A9
:1001D000043C031DF728043085000430BB003B08B5
:1001E00083169B0083120820BD003D088600640032
:1001F0003A08053C031D0829053085000530BB0081
:100200003B0883169B0083120820BD003D08860032
:1002100064003A08063C031D1929063085000630A3
:10022000BB003B0883169B0083120820BD003D08DD
:10023000860064003A08073C031D2A290730850020
:100240000730BB003B0883169B0083120820BD00CB
:100250003D08860064003A08083C031D3B2908302D
:1002600085000830BB003B0883169B0083120820E2
:10027000BD003D08860064003A08093C031D412981
:10028000512964003A080A3C031D4F2964003C18B8
:100290004C2986013C144F293D0886003C10AD21B5
:1002A000B3288501AD2164003A08013C031D5C2997
:1002B0000130BD063D08860064003A08023C031D7B
:1002C00065290230BD063D08860064003A08033CFB
:1002D000031D6E290430BD063D08860064003A08FF
:1002E000043C031D77290830BD063D0886006400E4
:1002F0003A08053C031D80291030BD063D088600E4
:1003000064003A08063C031D89292030BD063D08DB
:10031000860064003A08073C031D92294030BD0660
:100320003D08860064003A08083C031D9B29803084
:10033000BD063D08860064003A08093C031DAC294F
:100340003B0883169B0083123D080F203B08850065
:100350003D088600BA01B32851290508BE00F030D7
:10036000BE053E08A000A1011030A200A30150204C
:10037000BE0064003E08013C031DC1290130BA00E3
:100380000A2A64003E08023C031DC9290230BA0053
:100390000A2A64003E08043C031DD1290330BA0038
:1003A0000A2A64003E08083C031DD9290430BA001B
:1003B0000A2A64003E08033C031DE1290530BA0007
:1003C0000A2A64003E08053C031DE9290630BA00EC
:1003D0000A2A64003E08093C031DF1290730BA00CF
:1003E0000A2A64003E08063C031DF9290830BA00B9
:1003F0000A2A64003E080C3C031D012A0930BA0099
:100400000A2A64003E080A3C031D092A0A30BA0081
:100410000A2ABA0164003A08003C0319132A013081
:0C042000A3002C301D2008006300142AEB
:02400E00103F61
:00000001FF

Aqui um rascunho do layout em placa 10x5cm:


A operação é simples. Ao ligar o chaveador, entra no preset 1. As chaves P1 a P8 selecionam os presets com os loops (são 8) acionados indicados pelos respectivos leds.  A chave BYPASS simplesmente desliga todos os loops (e leds) e mantém o preset atual. Ao apertar BYPASS novamente, volta ao preset que estava com os loops que estavam ativados.  Para programar os loops em cada preset, basta escolher primeiro o preset a ser configurado e apertar PROGRAM, que o display vai mostrar 0 (indicando que está em modo de programa) e as chaves P1 a P8 passam a ligar e desligar os loops (P1 para o loop 1 e assim por diante). O led do loop aceso indica se ele vai estar ativo ou não. Para sair do modo de programa, basta apertar a chave de PROGRAM novamente que o display volta a apresentar o número do preset que foi programado.
O Nevio do Handmades, montou esse chaveador e fez alguns vídeos bem instrutivos demonstrando o funcionamento:
https://www.youtube.com/watch?v=CEMsefys2do
http://www.youtube.com/watch?v=xtyX6BHv2Ro



8 comentários:

Névio disse...

Ae mestre, ótimo o seu projeto, recomendo a todos!! Ele funciona perfeitamente!! Muito obrigado por esse presente e pela a super ajuda que me dá por e-mail!!
Abração!!

Névio

Arildo Junior disse...

Olá amigo, fiquei muito interessado nesse projeto. Tenho muita vontade de montar um desses para mim, mas tenho conhecimento de eletrônica limitado. Pelo que entendi, no primeiro esquema mostra apenas uma seção onde vai o relé, tendo que adicionar mais 7, uma para cada loop, correto? Poderia me dizer como ligar o loop? qual o relé e resistor.. Você teria o desenho da PCB completo para impressão, já com o lugar para colocar os relés, tipo a do amigo Névio? Obrigado

Xformer disse...

Olá Arildo. Sim, seu entendimento está correto, precisaria de mais 7 transistores e resistores de base para acionar mais relés (cada relé ativa ou desativa um loop). O transistor vai depender do relé usado, mas uma boa dica seria usar um ci tipo ULN2803 que já tem 8 transistores para acionar relés e simplifica o layout - veja o do Nevio no site Handmades, que usa esse ci). O loop é basicamente um curto circuito para quando o pedal estiver fora do caminho (bypass) e faz as conexões para o pedal e seu efeito fazer parte do circuito. Tem um diagrama mostrando as ligações nessa postagem do blog.
Abraço e boa montagem.

Arildo Junior disse...

Obrigado por responder. Vi o projeto do Névio e ficou bem mais fácil. Tenho outras duas dúvidas: O relé é um de 5v duplo(segue link dele)? Outra coisa, teria como adicionar leds para sinalizar qual preset está ativado, além daqueles que mostram quais loops estão? Obrigado http://www.soldafria.com.br/rele-jrc-19f-5v-2-polos-2-posicoes-8-terminais-p-1136.html

Xformer disse...

A indicação do preset ou patch é feita pelo display de 7 segmentos.
É melhor usar um relé de mais de 5V, pois pode ser que os mesmos 5V que alimentam o circuito sejam insuficientes (vai perder um pouco no transistor driver) e vai gerar muito ruído, podendo deixar o PIC louco. Eu usaria um de 12V e alimentado se possível com fonte separada da do PIC.

Arildo Junior disse...

Entendi, então para eu ligar 12v nos relés, tenho que cortar a trilha do pino 10 do ULN2803 e ligar diretamente nos 12v? Outra coisa, para eu ter 12v, posso duplicar a etapa onde tem o LM7805 e seus resistores e capacitores, apenas substituindo o transistor pelo LM7812, mantendo os demais, com seus respectivos valores e utilizando o mesmo trafo? Obrigado

Lidio disse...

Olá, amigo. Parabéns pelos projetos, inteligentes e úteis. Você pode me enviar o desenho da placa para que eu monte o projeto? Você possui também o código na forma de comandos? Meu e-mail é: lidio.garranzo@hotmail.com Obrigado, abraços, Lídio

Bruno Benitez disse...

Ola meus amigos preciso muito montar um desse, esse ja esta conferido? desde ja obrigado