terça-feira, junho 16, 2020

Programação "Alta Voltagem" do ATmega - Parte 2

Nesta segunda parte vou discutir algumas opções que estou fazendo no meu projeto.

Ideia atual do painel

Painel / Interface com Operador

A ideia deste projeto vem de, pelo menos, 2012. Isto explica algumas legendas no primeiro rascunho do painel ("interface com operador").


Dois anos atrás, quando ameacei retornar o projeto, resolvi substituir os vários LEDs por um display OLED com interface I2C. Uma ideia mais recente é substituir o botão por um encoder com chave para facilitar a seleção de opções. A imagem no início do post é a minha visão atual.

Processador Principal

Em 2012 eu cheguei a pensar em usar um PIC (o que teria uma certa ironia), mas logo me decidi pelo ATmega328. No protótipo na protoboard vou usar um Arduino Nano, não decidi ainda se na montagem final uso um Nano, um Mini Pro ou diretamente um ATmega328.

Conexões

A minha segunda maior preocupação é a grande quantidade de sinais envolvidos (a primeira é o software). Um expansor de I/O PCF5874 alivia o número de pinos do ATmega principal que serão usados:

Arduino                                      ATmega

0  --- RxD -+- USB
1  --- TxD -+
2  ----------------------------------------  Vcc
3  --- TKP521? ----------------------------  Reset
4  ----------------------------------------  OE
5  ----------------------------------------  WR
6  ----------------------------------------  BS1
7  ----------------------------------------  BS2
8  ----------------------------------------  XA0
9  ----------------------------------------  XA1
10 ----------------------------------------  PAGEL
11 ----------------------------------------  XTAL1
12 --- Botão do Encoder
13
A0 -+- Encoder
A1 -+
A2 --- Botão "Detonar"
A3 ----------------------------------------  Rdy
A4 --- SDA -+- I2C -+- 5874 ---------------  D7 a D0
A5 --- SCL -+       +- Display
                    +- 24C32

Reparem que vamos ter três dispositivos I2C: display, expansor de I/O e uma memória EEPRom para armazenar os bootloaders a serem gravados.

Alimentação

São necessárias tensões de 5 e 12V, com baixa corrente. A minha opção foi montar uma fonte interna regulada de 12V, com transformador, diodos, capacitores e um 78L12 e depois reduzir os 12V para 5V através de um 78L05.

Uma alternativa interessante seria ter uma fonte de 5V externa e gerar os 12V a partir dela. Isto poderia ser feito sob controle do processador (como eu fiz aqui) ou montando um circuito booster.

Uma outra questão é como chavear os 12V, pois o pino de reset terá que ser colocado em 0 ou 12V (mais precisamente, entre 11,5 e 12,5V) sob controle do processador. O fato de não precisar colocar em 5V simplifica as coisas. Uma opção simples é deixar os 12V sempre ligados através de um resistor e usar um transistor para forçar 0V. Outra opção, mais segura, é usar um acoplador ótico (dos que eu tenho na gaveta o TLP521 parece ser o mais adequado, por ter menor queda de tensão no fototransistor). Uma terceira opção, exagerada, é o TC4427 (um driver que comprei para controlar motores). Minha primeira tentativa será o TLP521.


Tomadas estas decisões, no próximo post vamos começar a colocar a mão na massa.

Nenhum comentário: