Pesquisar este blog

quarta-feira, 15 de outubro de 2014

Irrigador automático programável

Sistema para Irrigação Automática de Plantas

Precisei bolar um sistema para regar automaticamente alguns pés de pimenta que plantei, enquanto estiver viajando, já que as pimenteiras precisam ser regadas todos os dias. Isso é um equipamento baseado em timers que ligariam uma bomba elétrica por determinado tempo e somente depois de um intervalo voltariam a ser acionados. Esses equipamentos existem comercialmente, mas são muito caros e não seriam difíceis de serem montados. 
O circuito em si não tem nada de novo, apenas um microcontrolador PIC com alguns botões para programar os tempos, um relé para ligar o motor da bomba e um display para enxergar as coisas (programação de tempos, contagem, etc).
A bomba escolhida foi dessas de fontes decorativas, que trabalham submersas na água e tem alimentação diretamente na rede elétrica (127Vac ou 220Vac). Comprei uma com vazão de 220 litros por hora com pressão para até 0,5 metro de diferença. Ela tem também um ajuste de vazão e saída para mangueira de 5 mm interna.  Comprei também alguns Ts (divisores de ar para aquários) com torneirinha que ajudam a regular a quantidade de água que vai para cada derivação nas mangueiras siliconadas de diâmetro 5 mm externo.

Acima o esquema elétrico. O display é um desses de 16 x 2 linhas comum, o relé é um de 5V ou de 12V (dependendo de onde o ligamos na fonte) As chaves podem ser do tipo push-buttons normalmente abertas, eu usei chaves alavanca spdt que fica NA,  onde a primeira serve como duplo comando (reset e botão 1) e as demais apenas para um comando. Usei uma placa universal, portanto não desenhei um layout para uma placa de circuito impresso. 

Acima uma foto do controlador timer com a bomba de água, as mangueiras e os divisores de ar. Essa configuração me permite 6 saídas de água. 

Detalhe dos divisores de ar e das 6 saídas de água.

O controlador dentro de uma caixa de plástico Patola PB112, mostrando o menu inicial (setup: configura o tempo de acionamento da bomba, o intervalo entre as regas e se inicia regando)

Display indicando que a bomba está acionada (led aceso). Na tomada devemos ligar o plugue da bomba de água. 

O código Hexa para o PIC (16F628) é o seguinte:
:10000000B20147290408A70006108610861083163F
:100010000610861086100F30860583122708B21846
:100020002E283A30A100FC30DF203330A6004220D9
:100030001030A1006830DF2042206430DE20223002
:10004000A600422028302D200C302D2001302D20FC
:1000500006302D20B21427082E283214A600321C98
:100060003C288610033C031C412841200730A10096
:10007000D030DF20031408003214FE3C031942295B
:100080008614321C321006140F3086052608F0390B
:1000900086040610A60E321842283230DE200314E1
:1000A0000800B31329080319B3170530A800273037
:1000B000A300103067200330A300E8306720A301BD
:1000C00064306720A3010A30672024086E28A2004C
:1000D0002508A1002408A0000B212008A000A803E7
:1000E0000319B313290803197828280203180800F4
:1000F0002008031DB313B31B0800303E3D29A300A5
:10010000360884008417340980058413A308031972
:100110004229F030A50022088038A400F030A50361
:100120000319A5000319A303031942299728AE2038
:10013000030120183408A21F3408A2080319030180
:10014000A40FA42880068B28A52800008E288317DA
:100150008001840AFF3E031DA828422921082004AB
:100160000319A00A8030201AA1062019A106A018A0
:10017000A106210DA00DA10D422983161C141A08F9
:1001800083169B0A4229030183169A001C155530D9
:100190009D00AA309D009C149C18CC281C119B0A21
:1001A0004229A301A200FF30A207031CA307031CDE
:1001B00042290330A100DF30DF20D328A101E83E2F
:1001C000A000A109FC30031CE828A0070318E528BB
:1001D000A0076400A10FE5282018EE28A01CF22833
:1001E0000000F2280800A2000130FB28A20006301F
:1001F000FB28A2000530A80023082102031D0229C4
:1002000022082002043003180130031902302805A7
:10021000031DFF304229A501A4011030A600210DC5
:10022000A40DA50D2208A4022308031C230FA50278
:10023000031821292208A40723080318230FA50760
:100240000310A00DA10DA60B0F2920084229103084
:10025000A800A101A001A70CA60C031C35292208A7
:10026000A00723080318230FA107A10CA00CA50CBD
:10027000A40CA80B2B2924084229840031088A00E9
:10028000300882008313031383126400080083166E
:10029000FE3085008601831207309F0020308400E5
:1002A0006030A820A03084005030A8202030840086
:1002B0003030A720FE3003200130032049300320D6
:1002C000723003207230032069300320673003202E
:1002D00061300320643003206F300320723003202C
:1002E0002030032061300320753003207430032058
:1002F0006F3003206D30032020300320FE300320B8
:10030000C0300320613003207030032065300320AB
:100310007230032074300320653003202030032026
:100320003130032020300320703003202F30032091
:10033000203003206D300320653003206E30032011
:100340007530032064008518A829FA30D120D629F9
:10035000C20A0319C30A6030A000EA30A1004308B2
:10036000A3004208F920031DD32983169B018312A1
:10037000BD20C900831601309B008312BD20BE0042
:10038000831602309B008312BD20BF00831603300A
:100390009B008312BD20BA00831604309B00831299
:1003A000BD20BB00732C6430DE20A2290630B600CD
:1003B0000830B4006430A2000A307F2083169B010D
:1003C0008312BD20C900831601309B008312BD201B
:1003D000BE00831602309B008312BD20BF0083162F
:1003E00003309B008312BD20BA00831604309B00AB
:1003F0008312BD20BB00FE300320013003205330A8
:1004000003206530032074300320753003207030E2
:100410000320203003203D3003203E3003202030D5
:100420000320623003206F300320743003206130DA
:1004300003206F3003202030032031300320FE30B2
:100440000320C0300320493003206E300320693080
:1004500003206330032069300320613003203D30E6
:1004600003203E30032020300320623003206F3011
:10047000032074300320613003206F3003202030CC
:1004800003203230032064008518492AFA30D12035
:10049000502A640005194F2AFA30D120732C432AC0
:1004A000BE01BF01FE300320013003205430032081
:1004B000653003206D300320703003206F3003203F
:1004C0002030032069300320723003207230032073
:1004D000693003206730032061300320633003203C
:1004E000613003206F30032020300320FE300320D2
:1004F000C0300320A9013E08A4003F08A500023037
:10050000B000B1015120203003207330032065304A
:10051000032067300320753003206E3003206430E1
:1005200003206F300320733003206430D120640037
:100530008519BF2AFA30D1200A30BE070318BF0A36
:10054000FE300320C0300320A9013E08A4003F086C
:10055000A5000230B000B1015120203003207330DB
:1005600003206530032067300320753003206E3090
:100570000320643003206F300320733003206400B5
:100580000519E62AFA30D120BE0A0319BF0AFE3047
:100590000320C0300320A9013E08A4003F08A500A5
:1005A0000230B000B101512020300320733003200D
:1005B0006530032067300320753003206E30032040
:1005C000643003206F3003207330032064008518EB
:1005D0000C2BFA30D120BE01BF01FE300320C03009
:1005E0000320A9013E08A4003F08A5000230B00086
:1005F000B1015120203003207330032065300320E7
:1006000067300320753003206E30032064300320F0
:100610006F300320733003206400051A1E2BFA305C
:10062000D120831601309B0083123E08C42083161C
:1006300002309B0083123F08C4201F2B972ABA0167
:10064000BB01FE300320013003205430032065300D
:1006500003206D300320703003206F3003202030E2
:100660000320693003206E3003207430032065308E
:1006700003207230032076300320613003206C3079
:1006800003206F3003203A300320FE300320C030B7
:100690000320A9013A08A4003B08A5000230B000DD
:1006A000B1015120203003206D3003206930032038
:1006B0006E30032075300320743003206F30032028
:1006C000733003206430D120640085197C2BFA300C
:1006D000D1203A08A0003B08A100A3013B30F6203E
:1006E000031D772B3C30BA070318BB0A7B2B0A305B
:1006F000BA070318BB0AAE2364000519932BFA301E
:10070000D1203A08A0003B08A100A3013B30F6200D
:10071000031D8F2B0530BA070318BB0A922BBA0AA8
:100720000319BB0AAE23640085189B2BC830D12067
:10073000BA01BB01AE236400051AAD2BC830D1202D
:10074000831603309B0083123A08C42083160430BA
:100750009B0083123B08C420112C642B3A08A00094
:100760003B08A1003C30A200A3010B21B8002108E6
:10077000B9003808A6003908A7003C30A200A30140
:100780002721C0002508C10040083A02BC004108EA
:10079000031C013E3B02BD00FE300320013003205C
:1007A00054300320653003206D3003207030032067
:1007B0006F30032020300320693003206E30032087
:1007C000743003206530032072300320763003201C
:1007D000613003206C3003206F3003203A30032057
:1007E000FE300320C0300320A9013808A4003908D6
:1007F000A5000230B000B101512068300320203044
:100800000320A9013C08A4003D08A5000230B00067
:10081000B10151206D300320693003206E30032078
:100820000800FE30032001300320493003206E30E1
:1008300003206930032063300320693003206130D6
:1008400003202030032061300320673003207530FF
:100850000320613003206E300320643003206F30AA
:100860000320203003203F300320FE300320C0301F
:10087000032033300320203003203D30032020307C
:10088000032073300320693003206D3003202030B3
:1008900003202030032034300320203003203D305B
:1008A0000320203003206E300320613003206F309E
:1008B000032064008519662CFA30D1200130C9006C
:1008C00083169B0183124908C420D6296400051AA7
:1008D000722CFA30D120C90183169B01831249087A
:1008E000C420D629592C0630B6000830B400643034
:1008F000A2000A307F2064004908013C031D812CBE
:100900001C25C201C3014208A0004308A1003B0806
:10091000A3003A08F320031D1A2D42083A02C6002C
:100920004308031C013E3B02C7004608A0004708DD
:10093000A1003C30A200A3010B21B8002108B9009E
:100940003808A6003908A7003C30A200A3012721DF
:10095000C0002508C10040084602BC004108031C35
:10096000013E4702BD00FE30032001300320463027
:100970000320613003206C30032074300320613089
:1009800003206E300320643003206F3003202030BA
:10099000032020300320203003202030032020308B
:1009A0000320203003202030032020300320FE309D
:1009B0000320C0300320A9013808A4003908A5008D
:1009C0000230B000B10151206830032020300320F4
:1009D000A9013C08A4003D08A5000230B000B10107
:1009E00051206D300320693003206E300320C40194
:1009F000C5014408A0004508A100A3013B30F32035
:100A0000031D162D06150130A300F330D22064001B
:100A1000051A0D2DFA30D120D62906110130A30078
:100A2000F330D220C40A0319C50FF92CC20A0319E6
:100A3000C30F832C1C25812C0630B6000830B4006F
:100A40006430A2000A307F20051400000615C201A0
:100A5000C3014208A0004308A1003F08A3003E08CC
:100A6000F320031D8A2DFE3003200130032049307E
:100A70000320723003207230032069300320673076
:100A80000320613003206E300320643003206F3078
:100A900003202E3003202E3003202E3003202E3052
:100AA00003202E3003202E3003202E300320FE3072
:100AB0000320C0300320A9014208A4004308A50078
:100AC0000230B000B10151202030032073300320E8
:100AD0006530032067300320753003206E3003201B
:100AE000643003206F300320733003202030032054
:100AF00020300320203003200330A300E730D22031
:100B000064008518862DFA30D120D629C20A03192F
:100B1000C30F292D051000000611080063008E2D5B
:02400E00613F10
:00000001FF

O funcionamento é simples, ao ligarmos o controlador na tomada, ele inicia mostrando a opção para entrar no menu de opções e se nada for feito, ele entra em modo de operação automaticamente após alguns segundos (para o caso de faltar energia). No menu podemos selecionar o tempo de rega, com o botão 2 aumentando o tempo de 1 em 1s e o botão 3 aumenta em 10s. O botão 1 limpa o tempo e o botão 4 aceita o tempo. A seguir escolhemos o tempo de intervalo, o botão 2 aumenta de 1 minuto e o botão 3 aumenta 10 min e depois passa para horas (o botão 2 passa a aumentar de 5 minutos). De novo o  botão 1 limpa o tempo e o botão 4 aceita o intervalo. Finalmente se tem a opção para iniciar os ciclos com uma rega inicial ou não.  O botão reset sempre reinicializa o controlador, enquanto o botão 4 interrompe o ciclo e volta para o menu. No menu temos a opção para iniciar o ciclo.  Os tempos programados são guardados na memória EEPROM do PIC e portanto são recuperados mesmo com falta de energia.



segunda-feira, 15 de setembro de 2014

Hi End Show 2014

Visita ao Hi End Show de 2014


Este último fim de semana visitei o Hi End show 2014 novamente no hotel Maksoud Plaza, e posto aqui algumas fotos dos equipamentos que achei mais interessantes.


Acima um amplificador de potência da Dan Dagostino, com um lindo medidor de potência analógico na frente e dissipadores de calor de cobre nas laterais com furos para melhor ventilação.



Um toca fitas de rolo que tocava músicas nas audições de alguns equipamentos.


O pequeno amplificador valvulado da CAV (China) com dock station e dois canais estéreo de 2W.


Acima a gigantesca caixa acústica da Diasound (produzida no Brasil em Goiás), maior do que eu.


O amplificador estéreo valvulado integrado da Audionote aberto e com dois grandes transformadores de saída à mostra. Circuito muito bem construído.


Outro amplificador valvulado da Audionote, com grandes válvulas triodo na saída.


Um dos belos amplificadores valvulados da Triode (Japão) à venda na mostra.


E o pequeno amplificador valvulado Ruby da Triode, com válvulas EL84 (6BQ5) nas saídas. Uma jóia, como o próprio nome indica.


sábado, 31 de maio de 2014

Amplificador Compactron

Amplificador valvulado com a 6AS11 Compactron - 1W de potência em single ended


Resolvi alterar o amplificador com a 6AS11 pra usar um transformador de força e usar uma fonte de alta tensão convencional de forma a aumentar a potência de saída do amplificador, assim como usar uma malha de realimentação para melhorar a estabilidade e aumentar a resposta em frequência.
Também fiz uma nova montagem, agora usando um chassis de alumínio e os componentes soldados certinhos em mini plaquinhas com ilhoses.
Segue o novo esquema:























Nesse esquema existem as tensões medidas no circuito e assim podemos também ter uma ideia das correntes em cada válvula. A polarização do pentodo ficou em 5,9V, o que nos deixa com uma corrente de catodo de 27mA dos quais uns 22mA de corrente de placa e o restante pela grade de screen, em modo ultra linear.
Com esse circuito consegui obter 8Vpp a 1kHz sem muita distorção sobre uma carga de 8 ohms resistiva. Isso dá uma potência de 1W.  Esse valor cai bastante quando o sinal for abaixo dos 200Hz, o transformador de saída é pequeno (3/4 polegada) e não consegue uma potência significativa sem distorção. Na faixa superior a resposta é bem razoável, chegando a 10kHz.

Cabe ressaltar que ainda deixei de usar um triodo que sobrou na 6AS11 (ela tem dois triodo e um pentodo), o que permitiria fazer mais um estágio de ganho e talvez colocar um controle de tom. Pra um mini amplificador de guitarra, com apenas uma válvula seria possível montar um amplificador quase completo.

Vejam fotos do circuito montado:

















E abaixo alguns oscilogramas, pra quem quiser ver o que acontece com a saturação progressiva da válvula e a distorção resultante (diferente do clipping de um amplificador transistorizado):






sexta-feira, 16 de maio de 2014

Injetor de Sinais


Injetor de Sinais microcontrolado

Mais um projeto simples para gerar sinais de áudio para teste, dessa vez usando um microcontrolador pequeno e barato, o PIC 12F629, que tem apenas 8 pinos em encapsulamento DIP. Desses 8 pinos, 6 são usados para acesso às portas de entrada e saída. A ideia é usar 5 portas de saída para gerar níveis que serão convertidos em sinal analógico por uma rede resistiva ponderada. A porta restante será usada como entrada para um botão que selecionará as frequências do sinal geral. Escolhi gerar 60Hz, 400Hz, 1kHz e 1,5kHz (máximo) selecionados apertando o botão sequencialmente e em círculo (volta aos 60Hz após 1500Hz).
Com 5 bits de faixa dinâmica podemos gerar 32 níveis analógicos que formarão o sinal analógico, como as saídas do PIC geram somente sinais lógicos TTL, ao final da conversão teremos um nível DC positivo somado ao sinal, que deverá ser acoplado ao dispositivo em teste por um capacitor de saída para retirar o nível DC. Os 32 degraus podem ser suavizados usando-se mais uma rede RC como filtro, mas que vai atenuar o sinal final.
A técnica para gerar as senóides aqui não foi a de DDS, apenas vario o tempo entre cada amostra (20 amostras com valores tabelados) de forma a aumentar ou diminuir o período do sinal. O 12F629 tem muito pouca memória pra se implementar DDS.
Como conversor D-A (digital-analógico) optei por usar resistores com ponderação ao invés de usar uma rede R-2R porque não seriam muitos bits a converter, então são poucos valores a ponderar. Como cada bit deve ter o dobro da ponderação do bit menos significativo subsequente, os resistores escolhidos foram: 510 ohms, 1kohms, 2kohms, 3,9kohms e 8,2kohms.  Haverá um pequeno erro na ponderação, mas a aplicação não é para testes e medições de distorção harmônica, apenas para ter um sinal mais perto de senoidal do que quadrado (usado na maioria dos injetores de sinal simples).

O esquema é o seguinte:

Todo o circuito pode ser montado em uma pequena plaquinha universal e acomodado em uma caixinha.
As frequências podem sofrer um pequeno desvio devido ao fato de o PIC ser configurado com o oscilador interno que não é muito preciso, mas obtive valores bem próximos dos desejados (medidos com um frequêncimetro rudimentar de 3 dígitos embutido no meu laboratoriozinho digital):




Finalmente uma foto do sinal no "osciloscópio" do Gameboy. Esse sinal é de 1kHz obtido da saída 2 (após o filtro RC) com 1Vpp.  Na saída 1 é possível obter um sinal com 4Vpp.

E aqui a montagem final numa plaquinha universal:


Um vídeo com os sinais gerados e visualizados no osciloscópio, onde é possível ver os degraus da onda:
http://youtu.be/NWpha4t2pMU

Pra finalizar o firmware pra ser gravado no PIC:
:100000002828A301A200FF30A207031CA307031C9A
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:1000400000002228080083130313831264000800B1
:10005000073099008316083085008312850103302C
:10006000BC003030B800B901203085003908A1004B
:1000700038080F20243085003908A10038080F20E7
:10008000313085003908A10038080F203430850050
:100090003908A10038080F20363085003908A10042
:1000A00038080F20373085003908A10038080F20A4
:1000B000363085003908A10038080F20343085001B
:1000C0003908A10038080F20313085003908A10017
:1000D00038080F20243085003908A10038080F2087
:1000E000203085003908A10038080F201330850022
:1000F0003908A10038080F20063085003908A10012
:1001000038080F20033085003908A10038080F2077
:10011000013085003908A10038080F208501390811
:10012000A10038080F20013085003908A1003808E7
:100130000F20033085003908A10038080F20063051
:1001400085003908A10038080F20133085000630DB
:100150003802BA000030031C013E3902BB003B08E4
:10016000A1003A080F20B52034286400851DB92865
:10017000080064008519C628C8300120BC0A640044
:100180003C08053C031DC6280130BC0064003C0847
:10019000013C031DCF283230B8000330B9006400A1
:1001A0003C08023C031DD7287730B800B901640031
:1001B0003C08033C031DDF282D30B800B901640062
:1001C0003C08043C031DE7281D30B800B9010800B5
:0401D0006300E828B8
:02400E008C3FE5
:00000001FF

domingo, 9 de março de 2014

Circuito para testar motores de passo


Eu precisava de um circuito para testar alguns pequenos motores de passo para um novo projeto e resolvi bolar um com velocidade ajustável e escolha do sentido de rotação. Pra facilitar incorporei o circuito de driver para motores unipolares (os bipolares necessitam de ponte H).
O resultado foi esse circuito simples usando um PIC12F629 como gerador da sequência de pulsos, onde um botão controla sequencialmente o período dos pulsos, inciando em 20ms, para 10ms, indo para 100ms e decrescendo em passos de 10ms. O outro botão apenas altera o sentido de rotação.  Os transistores do circuito driver são BC337 para 500mA, portanto não aguentariam motores de maior porte e torque.  A tensão para alimentação do circuito é de 5V e para os motores pode variar até uns 30V.

Segue o esquema, o firmware e duas fotos da montagem numa placa padrão.





















O firmware para o 12F629:
:100000002828A301A200FF30A207031CA307031C9A
:1000100023280330A100DF300F200328A101E83E90
:10002000A000A109FC30031C1828A00703181528FC
:10003000A0076400A10F152820181E28A01C222844
:1000400000002228080083130313831264000800B1
:1000500007309900831628308500831285011430FB
:10006000B9001030850039080120143085003908A6
:100070000120043085003908012006308500390848
:10008000012002308500390801200330850039083D
:100090000120013085003908012011308500390820
:1000A00001206400851D5D280A30B902640039080A
:1000B0000A3C031D5D286430B9006400851E612878
:1000C000622831281130850039080120013085006F
:1000D00039080120033085003908012002308500ED
:1000E00039080120063085003908012004308500D8
:1000F00039080120143085003908012010308500AE
:10010000390801206400851D8E280A30B902640078
:1001100039080A3C031D8E286430B9006400851E2E
:0A012000922831286228630093281A
:02400E00843FED
:00000001FF


Adendo:
Eu havia colocado o pequeno potenciômetro na plaquinha, mas que estava sem uso. na verdade eu já tinha pensado em fazer um controle analógico tanto para a velocidade como para estabelecer qual o sentido de rotação. Então aqui uma versão com o potenciômetro:

Neste circuito o microcontrolador agora é um PIC12F675 que possui conversor analógico-digital. O programa então foi modificado para ler a posição do potenciômetro (na verdade ele converte a tensão do cursor do potenciômetro) e conforme o valor convertido ele define qual a velocidade e o sentido. A conversão é feita para 8 bits, então temos valores de 0 a 255. Se o valor lido for maior do que 127, então o sentido será um e se o valor for menor do que 128, o sentido será contrário. O valor determina a largura dos pulsos para os passos do motor. Assim quanto mais perto do centro, mais largo deve ser o pulso (faz-se o cálculo 256-valor ou o próprio valor, dependendo do sentido). A largura mínima será de 1ms, a máxima de 127ms.  A chave serve para que o uC efetive a leitura da posição do potenciômetro e movimente o motor no sentido e velocidade desejados.  Há uma mudança no pino de saída para uma das fases em relação ao primeiro esquema. 
O firmware para o 12F675:

:100000003C280F39A0000310A00DA00D1F08E039F7
:10001000200401389F000030A100323023209F14BB
:100020009F181028A1011E083728A301A200FF3045
:10003000A207031CA307031C37280330A100DF30ED
:1000400023201728A101E83EA000A109FC30031CD1
:100050002C28A00703182928A0076400A10F29282D
:1000600020183228A01C36280000362808008313E8
:10007000031383126400080083161830850083126E
:100080000C309F00831638309F0083128501143096
:10009000BA00203085003A081520243085003A083F
:1000A0001520043085003A081520063085003A08EE
:1000B0001520023085003A081520033085003A08E3
:1000C0001520013085003A081520213085003A08B6
:1000D00015206400851D882803300120B9006400C4
:1000E00080303902031C7F2864003908FF3C031D5F
:1000F0007B28FE30B9003908FF3CBA00892864002B
:100100003908003C031D86280130B9003908BA00BF
:100110004928213085003A081520013085003A0829
:100120001520033085003A081520023085003A0872
:100130001520063085003A081520043085003A085D
:100140001520243085003A081520203085003A0813
:1001500015206400851DC82803300120B900640003
:10016000803039020318BE2864003908003C031DA2
:10017000BB280130B9003908BA00492864003908A1
:10018000FF3C031DC528FE30B9003908FF3CBA000A
:0601900089286300C92864
:02400E00843FED
:00000001FF

quarta-feira, 12 de fevereiro de 2014

Computador Nestor Nova Eletrônica

NESTOR o computador pessoal da década de 80


Em meados de 1984, saiu numa edição da saudosa revista Nova Eletrônica, um projeto de computador pessoal para ser montado pelos leitores e que foi segmentado nos diversos números seguintes.  Naquela época o microprocessador mais famoso era o Zilog Z80, de oito bits e que podia rodar os programas escritos para o microprocessador 8080A da Intel (esse era o tataravô do atuais processadores da Intel). O Z80 era usado em vários computadores pessoais da época: TRS-80 da Radio Shack (aqui tinha clones da Dismac e outros fabricantes), no super ultra vendido ZX-81 (aqui clonado pela Microdigital no TK-82C, TK-85 e TK-83; pela Prológica com o CP-200 e Ritas com seu Ringo470) e pelo melhor de todos: o ZX-SPECTRUM (aqui TK-90X e TK-95), além de CP500, Itautec I7000, Sistema 700, etc. O Z80  era usado até nos Apple II, num cartão especial para rodar programas em sistema operacional CP/M e assim usar o dBase II e processador de texto Wordstar.  A base instalada do Z80 era enorme e muita gente tinha conhecimentos de sua programação.

Foi natural então que a revista (editora Editele) escolhesse esse microprocessador para seu projeto.  Surgiu assim o NESTOR, que era um computador bem básico com um teclado de 24 teclas, e displays de leds de 7 segmentos para apresentar os dados e endereços, bem como apresentar algumas mensagens com caracteres alfabéticos rudimentares.  Apesar  do Z80 poder endereçar até 64 kbytes (uma miséria hoje em dia), o Nestor original só tinha 1 kbyte de RAM formada por dois cis 2114 e um programa monitor de 2 kbytes gravado em uma memória EPROM 2716. Um punhado de cis TTL completavam o computador para realizar a seleção de blocos de memória, formar as portas de entrada e saída, controlar os displays de leds e ler o teclado. Tudo isso rodando a um clock de 3,58MHz (cristal de TV) e alimentado por uma fonte de 5Vdc/1A.

Nas edições seguintes, foram informados o layout da placa (dupla face - o que dificultava bastante a confecção caseira) e a listagem do programa monitor que deveria ser gravado na EPROM. Mais adiante surgiram a interface para cassete, de forma que os programas digitados pudessem ser gravados em fitas cassete e depois recuperados, e um circuito para gravação de EPROMs.

Não precisa dizer que ele não aceitava programas escritos em linguagem de alto nível (tipo C, pascal, basic, cobol, fortran, etc). Os programas precisavam ser entrados em formato hexadecimal em cada endereço. Isto é, programação em linguagem de máquina no seu nível mais baixo (mais baixo que isso, só entrando em binário), assim o programador precisava escrever os mnemônicos num papel e depois traduzi-los para os códigos hexadecimais de cada instrução (op codes) para poder entrar. Ou usar um programa assembler (montador tradutor) em outro computador para fazer isso.
Mesmo assim, um computador desses era um valioso instrumento de aprendizado, pois o Z80 era ensinado em todas escolas de eletrônica. Todo mundo queria aprender assembly (linguagem de máquina) do Z80.  Além de ser também um grande aprendizado para entender a estrutura lógica do hardware de computadores digitais.
Pois bem, eu comprei todas as revistas que saíram sobre esse computador, comprei as peças (inclusive teclas), cis, gravei EPROM (tive que digitar toda a listagem) e fiquei esperando um dia conseguir construir esse computador. O problema maior era fazer a placa. A placa era de face dupla, a face superior veio desenhada na revista, mas a face inferior tinha o desenho também, mas com uma grande besteira da revista, pois no layout foram inseridos quadrados em cor marrom (sobre as trilhas pretas) separando os blocos do computador. Ou seja, o layout era inútil para reprodução, sem falar que o alinhamento das duas faces é muito difícil.
Assim, fiquei quase 30 anos no meu sonho, com minhas pecinhas bem guardadas.

Ano passado, o pessoal do grupo Clube do TK no Yahoo, do qual faço parte e só tem sujeito da minha faixa etária e que era vidrado nos computadores pessoais de antigamente (tipo TK, MSX, Color Computer, Amiga, etc etc), reviveu a ideia de montar o Nestor. E o grande Victor Trucco redesenhou e reprojetou o Nestor, com ajuda do Fabio Belavenuto no software. Obviamente meus olhos brilharam e meu sonho de 30 anos podia se tornar realidade. Ele batizou o computador de NESTOR+, pois tinha uns melhoramentos: agora o computador teria 32kbytes de RAM num ci 62256, o processador foi atualizado para um Z80 CMOS (o Z80A original de 4MHz era NMOS), a interface cassete foi embutida na placa principal (que ficou menor).
Imediatamente muita gente se inscreveu querendo o Nestor+.  No começo do ano pudemos saber que o protótipo funcionava e que iriam produzir uma  série limitada de placas.  Pra adquirir, havia duas opções: montado e em kit. Obviamente optei pelo kit, pois queria ter o prazer de montá-lo eu mesmo.
Essa semana me chegou o kit com todas as peças (não vou usar as minhas peças guardadas há tanto tempo, até poderia usar algumas, pelo menos o Z80 e os TTLs, mas não as memórias e nem as teclas).
Agora, minhas próximas postagens no blog, serão sobre a montagem do Nestor+.
Comecei a fazer a checagem da placa, verificando se todas as conexões e trilhas estão ok, com o multímetro em modo de continuidade (apitando quando ok). Já achei dois problemas, mas foram resolvidos.
Próximo passo: começar a soldagem dos componentes.
Abaixo algumas fotos do Nestor original e do Nestor+.

A capa da revista com a foto do Nestor da época, note as teclas antigas e em pouco número para os padrões de hoje:

Foto do Nestor+ montado pelo Victor Trucco, com placa mais compacta e outra disposição dos componentes e teclas pequenas, e a grande memória RAM de 32 kbytes:

O meu kit:


quarta-feira, 4 de dezembro de 2013

Oscilador Senoidal Valvulado

GERADOR DE ÁUDIO VALVULADO COM 6BQ7

Continuando com minhas experiências com osciladores de áudio, chegou a vez de montar um gerador de áudio valvulado. Achei um esquema na internet usando a 12AT7 e por ponte de Wien. Resolvi adaptar o esquema para usar a 6BQ7 que tem um ganho (mu) um pouco menor, mas como não necessitamos de ter um ganho alto e o oscilador fica limitado a ter um ganho de 3, ela deveria servir. Ela é um duplo triodo muito usada nos amplificadores da Meteoro, com base noval e filamentos de 6,3V. Além disso vou usar uma tensão de alimentação menor do que a do esquema original.

O esquema original é esse:
Nesse projeto a frequência é ajustável e variável de acordo com a posição do potenciômetro duplo de 1 Mohm. Como eu não tinha um desses, resolvi fazer o oscilador com valor fixo. A fórmula da frequência é:
Freq = 1 / (2 x pi x R x C)  desde que as duas resistências e os dois capacitores da malha de realimentação positiva sejam iguais.Essa malha (ou loop) de realimentação vai ter um ganho de 1/3 (atenuação por 3) na frequência escolhida.

Minha adaptação, usando as peças que eu tinha:
Esquema do meu circuito

Já na malha de realimentação negativa (a que define o ganho para compensar a atenuação) temos que ter um ganho de 3 para compensar a atenuação de 1/3 na malha positiva de forma a ter um ganho geral de 1. Mas para o oscilador começar a funcionar, inicialmente precisamos ter um ganho geral maior do que 1, e portanto um ganho maior do que 3 na malha de realimentação negativa. Usando a velha dica da lâmpada incandescente que inicialmente tem uma baixa resistência quando desenergizada e que aumenta a medida que ela esquenta, achei uma lâmpada de 130 V e uns 3 W de potência. Ela inicialmente tem o filamento frio com 369 ohms, então a resistência do potenciômetro de ajuste tem que ter mais do que duas vezes esse valor (na verdade bem mais pois a resistência da lâmpada vai aumentar bastante). No esquema original usaram um de 5k, o que adotei como valor a ser usado.

A lâmpada


A montagem foi feita numa plaquinha de fibra de vidro com ilhóses e terminais que eu faço em casa e permite uma rápida soldagem e muitas e muitas modificações (virtualmente indestrutível). Tudo fixado a um chassis de chapa de alumínio, com furos e locais pra fixação de soquetes, bornes, barras sindal, e conectores. O transformador de força também foi feito por mim pra uma versão de um pequeno amplificador valvulado.


Para minha surpresa, o circuito funcionou logo de primeira (ajustando o potenciômetro de 5k) e obtive essa linda senoide de 480 Hz (conforme calculado) de 1 Vrms e uma pequena distorção. Fazendo a medição do valor do potenciômetro, ele ficou em 1220 ohms, de forma que a lâmpada deve ficar com um valor de metade disso (610 ohms energizada).


O valor calculado da frequência segue abaixo:
Freq = 1 / (2 x 3,14159265 x 10000 x 33 x 10^-9) = 482 Hz
O osciloscópio estava com varredura vertical em 1 V por quadrícula e 1 ms por quadrícula horizontal.