Mudanças entre as edições de "Placa KC89C72"
(12 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 14: | Linha 14: | ||
* [http://playground.arduino.cc/Main/AY38910 Exemplo no Arduino Playground] |
* [http://playground.arduino.cc/Main/AY38910 Exemplo no Arduino Playground] |
||
* [http://map.grauw.nl/resources/sound/generalinstrument_ay-3-8910.pdf Datasheet (pdf)] |
* [http://map.grauw.nl/resources/sound/generalinstrument_ay-3-8910.pdf Datasheet (pdf)] |
||
+ | * [http://bulba.untergrund.net/AY-3-8910.rar Manual com dicas de uso (rar contendo o pdf)] |
||
==Circuito== |
==Circuito== |
||
+ | Circuito montado (atualizado em 20/jan/14): |
||
⚫ | |||
+ | [[Arquivo:Circuito_KC89C72.png]] |
||
⚫ | |||
+ | |||
+ | Obs.: |
||
+ | |||
+ | * Transistor é o [http://www.fairchildsemi.com/ds/SS/SS8050.pdf S8050] |
||
+ | |||
+ | Placa: |
||
+ | |||
+ | [[Arquivo:Placa_KC89C72.jpg|640px]] |
||
+ | |||
+ | ==Estudos do Circuito== |
||
+ | |||
⚫ | |||
+ | |||
⚫ | |||
+ | ** [https://www.sparkfun.com/datasheets/IC/SN74HC595.pdf datasheet] |
||
* LM386 (amplificador de audio) para reproduzir o som diretamente em um alto falante |
* LM386 (amplificador de audio) para reproduzir o som diretamente em um alto falante |
||
+ | ** [http://www.ti.com/lit/ds/symlink/lm386.pdf datasheet] |
||
+ | ** Circuito básico: http://web.mit.edu/6.s28/www/schematics/lm386.htm |
||
+ | ** Alternativa: amplificador com transistor [http://www.fairchildsemi.com/ds/SS/SS8050.pdf S8050] |
||
* Oscilador de 2MHz |
* Oscilador de 2MHz |
||
+ | ** Ideia inicial oscilador a cristal com 74HC00 - cristal de 2MHz não é muito comum |
||
+ | ** Expansões para [http://www.simandl.cz/stranky/zxs/zxs_a.htm Spectrum ZX] e [http://8bit.yarek.pl/upgrade/zx.ay/ Timex 2048] usando oscilador RC @ 1.7MHz - parece ser a melhor opção |
||
+ | *** Nos testes o circuito acima não funcionou |
||
+ | *** Funcionou com o circuito desta [http://www.electronics-tutorials.ws/waveforms/generators.html página], com R1=330 ohms, R2=3.3K e C=470pF (dois capacitores de 1nF em série). A fórmula na página não dá o resultado correto (porque não considera o tempo de propagação das portas?). |
||
+ | *** Outro circuito é descrito [http://www.fairchildsemi.com/an/AN/AN-118.pdf neste application note] (pdf). |
||
+ | ** Ideia maluca: usar uControlador de 8 pinos para gerar o sinal a partir do oscilador interno |
||
+ | ** Pode ser outros valores entre 1 e 2MHz. Tenho um cristal de 1,8432MHz |
||
+ | ** 11/jan/14: trocado o oscilador RC por um oscilador a cristal de 2MHz com 74HC00 |
||
A conexão da placa com o microcontrolador será através de um conector com os seguintes sinais: |
A conexão da placa com o microcontrolador será através de um conector com os seguintes sinais: |
||
Linha 30: | Linha 57: | ||
* Sinais BC1 e BDIR do KC89C72 |
* Sinais BC1 e BDIR do KC89C72 |
||
+ | ==Teste em 22/9/13== |
||
− | More to follow.... |
||
+ | |||
+ | Montagem em protoboard |
||
+ | * Conexão Arduino + KC89C72 + 74HC595 conforme [http://playground.arduino.cc/Main/AY38910 exemplo no Arduino Playground] |
||
+ | * Oscilador de 1,7MHz composto de 74HC00 + RC |
||
+ | * Código copiado do [http://playground.arduino.cc/Main/AY38910 exemplo no Arduino Playground] |
||
+ | ** Pendente acertar valores para 1,7MHz ao invés de 2MHz |
||
+ | * Testados amplificador c/ LM386 e S8050 - ambos funcionaram a contento |
||
+ | |||
+ | [[Arquivo:Protoboard_KC89C72.jpg|640px]] |
||
+ | |||
+ | CIs, no sentido horário a partir do alto à esquerda: 74HC00 (NAND, para geração do clock), KC89C72 (Gerador Programável de Sons), 74HC595 (Conversor serial p/ paralelo), LM386 (amplificador de áudio). |
||
+ | |||
+ | ==Teste em Out e Nov/13== |
||
+ | |||
+ | Feita a montagem em placa padrão. Som gerado muda muito de frequência quando encosto a ponta de prova do osciloscópio na saída do oscilador, cálculo da frequência não está funcionando. Feitas experiências para montar um oscilador usando um cristal de 2MHz. |
||
+ | |||
+ | ==11 e 12/jan/14== |
||
+ | |||
+ | Substituído o oscilador RC por um com cristal de 2MHz. Som gerado continua mudando de frequência quando encosto a ponta de prova do osciloscópio na saída do oscilador, mas agora o cálculo de frequência funciona (não encostando a ponta de prova no oscilador). |
||
+ | |||
+ | ==13 a 19/jan/14== |
||
+ | |||
+ | Várias experiências feitas com sucesso, documentadas no [http://dqsoft.blogspot.com.br/search?q=KC89C72 meu blog]. |
||
+ | ==20/jan/14== |
||
+ | Projeto considerado concluído. |
||
[[Categoria:Projetos]] |
[[Categoria:Projetos]] |
Edição atual tal como às 07h28min de 20 de janeiro de 2014
Placa para Experiências com Chip de Som AY-3-8910 / KC89C72
O CI AY-3-8910 é um gerador programável de sons, usado em jogos arcade e microcomputadores pessoais como o ZX Spectrum e MSX. O objetivo deste projeto é fazer uma placa para facilitar experiências em conjunto com o Arduino e outros microcontroladores.
Será usado o chip KC89C72 que é um clone chinês do AY-3-8910.
Responsáveis em ordem alfabética
Referências
- Descrição do AY-3-8910 na Wikipedia (english)
- Descrição do AY-3-8910 na Wikipedia (português)
- Exemplo no Arduino Playground
- Datasheet (pdf)
- Manual com dicas de uso (rar contendo o pdf)
Circuito
Circuito montado (atualizado em 20/jan/14):
Obs.:
- Transistor é o S8050
Placa:
Estudos do Circuito
Será montado em uma placa padrão, contendo um soquete para o KC89C72 e os seguintes circuitos de apoio:
- 74HC595 (conversor serial para paralelo) para reduzir o número de interconexões com o microcontrolador
- LM386 (amplificador de audio) para reproduzir o som diretamente em um alto falante
- datasheet
- Circuito básico: http://web.mit.edu/6.s28/www/schematics/lm386.htm
- Alternativa: amplificador com transistor S8050
- Oscilador de 2MHz
- Ideia inicial oscilador a cristal com 74HC00 - cristal de 2MHz não é muito comum
- Expansões para Spectrum ZX e Timex 2048 usando oscilador RC @ 1.7MHz - parece ser a melhor opção
- Nos testes o circuito acima não funcionou
- Funcionou com o circuito desta página, com R1=330 ohms, R2=3.3K e C=470pF (dois capacitores de 1nF em série). A fórmula na página não dá o resultado correto (porque não considera o tempo de propagação das portas?).
- Outro circuito é descrito neste application note (pdf).
- Ideia maluca: usar uControlador de 8 pinos para gerar o sinal a partir do oscilador interno
- Pode ser outros valores entre 1 e 2MHz. Tenho um cristal de 1,8432MHz
- 11/jan/14: trocado o oscilador RC por um oscilador a cristal de 2MHz com 74HC00
A conexão da placa com o microcontrolador será através de um conector com os seguintes sinais:
- Gnd
- +5V
- Dado, Clock e Latch para o 595
- Sinais BC1 e BDIR do KC89C72
Teste em 22/9/13
Montagem em protoboard
- Conexão Arduino + KC89C72 + 74HC595 conforme exemplo no Arduino Playground
- Oscilador de 1,7MHz composto de 74HC00 + RC
- Código copiado do exemplo no Arduino Playground
- Pendente acertar valores para 1,7MHz ao invés de 2MHz
- Testados amplificador c/ LM386 e S8050 - ambos funcionaram a contento
CIs, no sentido horário a partir do alto à esquerda: 74HC00 (NAND, para geração do clock), KC89C72 (Gerador Programável de Sons), 74HC595 (Conversor serial p/ paralelo), LM386 (amplificador de áudio).
Teste em Out e Nov/13
Feita a montagem em placa padrão. Som gerado muda muito de frequência quando encosto a ponta de prova do osciloscópio na saída do oscilador, cálculo da frequência não está funcionando. Feitas experiências para montar um oscilador usando um cristal de 2MHz.
11 e 12/jan/14
Substituído o oscilador RC por um com cristal de 2MHz. Som gerado continua mudando de frequência quando encosto a ponta de prova do osciloscópio na saída do oscilador, mas agora o cálculo de frequência funciona (não encostando a ponta de prova no oscilador).
13 a 19/jan/14
Várias experiências feitas com sucesso, documentadas no meu blog.
20/jan/14
Projeto considerado concluído.