Mudanças entre as edições de "AVR Detonator"
Ir para navegação
Ir para pesquisar
(Criou página com '*Proposta: construir um gravador/programador de AVR do tipo paralelo ("alta tensão") stand-alone (não necessitando conectar um micro ou Arduino) e capaz de gravar o bootloader ...') |
|||
(12 revisões intermediárias por 3 usuários não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
+ | ==Proposta== |
||
− | + | Construir um gravador/programador de AVR do tipo paralelo ("alta tensão") stand-alone (não necessitando conectar um micro ou Arduino) e capaz de gravar o bootloader do Arduino com o apertar de um botão. |
|
⚫ | |||
+ | |||
⚫ | |||
+ | ==Status== |
||
⚫ | |||
+ | |||
− | **Status: Em estudos, devo iniciar o desenvolvimento após a Virada Hacker |
||
+ | 20/05/21: Projeto Concluído! |
||
⚫ | |||
+ | |||
⚫ | |||
+ | https://www.youtube.com/watch?v=N0eQWW3gNOw |
||
+ | |||
+ | 06/07/20: Hardware protótipo (parte do gravador) e rotinas de apagamento, leitura e escrita da Flash funcionando. Tampa da caixa feita na laser cutter: |
||
+ | |||
+ | [[Arquivo:Tampa_ATmega_Detonator.jpg|400px]] |
||
+ | |||
+ | 14/06/2020: Agora vai! |
||
+ | |||
⚫ | |||
⚫ | |||
+ | |||
⚫ | |||
⚫ | |||
⚫ | |||
+ | |||
+ | ==Ideia Revisada== |
||
+ | |||
+ | * Usar um display I2C ao invés de LEDs |
||
+ | * Oferecer o bootloader da Metaboard ao invés do Arduino 2000/2009 |
||
+ | * Usar um ATmega328 + PCF8574 |
||
+ | |||
+ | ===Circuito=== |
||
+ | |||
+ | * Alimentação |
||
+ | ** Precisa de 5 e 12V |
||
+ | ** Mais simples é gerar primeiro os 12V (transformador + ponte de diodos + 7812) e depois abaixar para 5V com 7805 |
||
+ | ** Alternativa é gerar os 12V a partir dos 5V usando um "charge pump" controlado pelo ATmega |
||
+ | * Microcontrolador |
||
+ | ** ATmega328 |
||
+ | ** Cristal 16MHz, bootloader Arduino |
||
+ | ** Expansão dos IOs usando PCF8574 (conexão I2C) |
||
+ | ** Conector para cabo serial USB/TTL (carga do programa e dos bootloaders a serem gravados) |
||
+ | * Periféricos |
||
+ | ** Display OLED 0,96" monocromatico, conectado por I2C |
||
+ | ** Um botão "Detona!" |
||
+ | ** Um rotary encoder com botão |
||
+ | ** EEProm I2C 24C32 |
||
+ | *São necessárias 19 conexões entre o circuito de gravação e o ATmega a gravar: |
||
+ | ** Vcc/AVcc - alimentação (colocar somente quando executando, deve dar para ligar direto em um I/O do microcontrolador) |
||
+ | ** RDY, OE, WR, BS1, BS2, XA0, XA1 e PAGE1 - sinais de controle (ligados diretos ao microcontrolador) |
||
+ | ** RESET - sinal de reset |
||
+ | *** Opção A: ligar aos 12V através de um resistor de 1K e a um transistor NPN para forçar ground |
||
+ | *** Opção B: usar um acoplador ótico para conectar os 12V |
||
+ | *** Opção C: usar um par de transistores (NPN + PNP) para conectar os 12V |
||
+ | ** DATA0 a DATA7 - dados (conectado ao PCF8574) |
||
+ | |||
+ | ===Documentação=== |
||
+ | |||
+ | https://github.com/dquadros/ATmegaDetonator |
||
+ | |||
+ | ==Ideia Inicial== |
||
+ | |||
+ | ===Rascunho da vista superior=== |
||
+ | [[Arquivo:AVR_Detonator.png]] |
||
+ | |||
+ | ===Operação=== |
||
+ | * Colocar o ATmega no soquete |
||
+ | * Apertar o botão Executa |
||
+ | * Indica nos LEDs da direita o tipo de ATmega |
||
+ | * Use botão Seleciona para selecionar o boot a gravar |
||
+ | * Segura o botão Burn (botão de alavanca de contato momentâneo com tampa protetora) |
||
+ | * Aperta o botão Executa |
||
+ | * LED no alto à esquerda indicam o resultado das operações |
||
+ | |||
+ | ===Circuito=== |
||
+ | |||
+ | *São necessárias 19 conexões entre o circuito de gravação e o ATmega sendo gravado: |
||
+ | ** Vcc/AVcc - alimentação (colocar somente quando executando) |
||
+ | ** RDY, OE, WR, BS1, BS2, XA0, XA1 e PAGE1 - sinais de controle |
||
+ | ** RESET - sinal de reset, aqui são colocados 12V durante a execução |
||
+ | ** DATA0 a DATA7 - dados |
||
+ | * Precisa de mais |
||
+ | ** 3 I/Os para os três botões |
||
+ | ** 3 I/Os para os 7 LEDs (usando um decodificador 3 p/ 8 como o 74238) |
||
+ | ** 2 I/Os para ligação a EEPROM 24C32 onde serão gravados os bootloaders |
||
+ | ** Rx/Tx serial para carga/atualização dos bootloaders na 24C32 |
||
+ | |||
+ | Ideias de implementação: |
||
+ | * Usar um PIC 16F887 que tem I/O suficiente para conectar direto, mas é mais chato de programar |
||
+ | * Usar um ATmega328 com uma expansão de I/O (74HC595 ou PCF8574) para os dados |
||
+ | |||
[[Categoria:Projetos]] |
[[Categoria:Projetos]] |
Edição atual tal como às 09h59min de 15 de outubro de 2022
Proposta
Construir um gravador/programador de AVR do tipo paralelo ("alta tensão") stand-alone (não necessitando conectar um micro ou Arduino) e capaz de gravar o bootloader do Arduino com o apertar de um botão.
Status
20/05/21: Projeto Concluído!
https://www.youtube.com/watch?v=N0eQWW3gNOw
06/07/20: Hardware protótipo (parte do gravador) e rotinas de apagamento, leitura e escrita da Flash funcionando. Tampa da caixa feita na laser cutter:
14/06/2020: Agora vai!
Interessados
Alguns projetos para ponto de partida
- High Voltage Programmer
- HV Rescue Shield - evolução do projeto acima
Ideia Revisada
- Usar um display I2C ao invés de LEDs
- Oferecer o bootloader da Metaboard ao invés do Arduino 2000/2009
- Usar um ATmega328 + PCF8574
Circuito
- Alimentação
- Precisa de 5 e 12V
- Mais simples é gerar primeiro os 12V (transformador + ponte de diodos + 7812) e depois abaixar para 5V com 7805
- Alternativa é gerar os 12V a partir dos 5V usando um "charge pump" controlado pelo ATmega
- Microcontrolador
- ATmega328
- Cristal 16MHz, bootloader Arduino
- Expansão dos IOs usando PCF8574 (conexão I2C)
- Conector para cabo serial USB/TTL (carga do programa e dos bootloaders a serem gravados)
- Periféricos
- Display OLED 0,96" monocromatico, conectado por I2C
- Um botão "Detona!"
- Um rotary encoder com botão
- EEProm I2C 24C32
- São necessárias 19 conexões entre o circuito de gravação e o ATmega a gravar:
- Vcc/AVcc - alimentação (colocar somente quando executando, deve dar para ligar direto em um I/O do microcontrolador)
- RDY, OE, WR, BS1, BS2, XA0, XA1 e PAGE1 - sinais de controle (ligados diretos ao microcontrolador)
- RESET - sinal de reset
- Opção A: ligar aos 12V através de um resistor de 1K e a um transistor NPN para forçar ground
- Opção B: usar um acoplador ótico para conectar os 12V
- Opção C: usar um par de transistores (NPN + PNP) para conectar os 12V
- DATA0 a DATA7 - dados (conectado ao PCF8574)
Documentação
https://github.com/dquadros/ATmegaDetonator
Ideia Inicial
Rascunho da vista superior
Operação
- Colocar o ATmega no soquete
- Apertar o botão Executa
- Indica nos LEDs da direita o tipo de ATmega
- Use botão Seleciona para selecionar o boot a gravar
- Segura o botão Burn (botão de alavanca de contato momentâneo com tampa protetora)
- Aperta o botão Executa
- LED no alto à esquerda indicam o resultado das operações
Circuito
- São necessárias 19 conexões entre o circuito de gravação e o ATmega sendo gravado:
- Vcc/AVcc - alimentação (colocar somente quando executando)
- RDY, OE, WR, BS1, BS2, XA0, XA1 e PAGE1 - sinais de controle
- RESET - sinal de reset, aqui são colocados 12V durante a execução
- DATA0 a DATA7 - dados
- Precisa de mais
- 3 I/Os para os três botões
- 3 I/Os para os 7 LEDs (usando um decodificador 3 p/ 8 como o 74238)
- 2 I/Os para ligação a EEPROM 24C32 onde serão gravados os bootloaders
- Rx/Tx serial para carga/atualização dos bootloaders na 24C32
Ideias de implementação:
- Usar um PIC 16F887 que tem I/O suficiente para conectar direto, mas é mais chato de programar
- Usar um ATmega328 com uma expansão de I/O (74HC595 ou PCF8574) para os dados