Quem acompanha o blog já conhece a minha decepção com o Arduino Uno R4. Mas não resisti testar uma placa da WeActStudio com o mesmo microcontrolador (Renessas RA4M1).
O Microcontrolador RA4M1
As principais características do RA4M1 da Renessas são:
- ARM Cortex M4, com unidade de ponto flutuante
- Clock de 48MHz
- 256k de memória Flash
- 32k de RAM
- USB nativa
- Um bom conjunto de periféricos (4xUART, 2xSPI, 2xI2C, CAN, ADC, DAC)
- Relógio de tempo real (RTC)
- Operação de 1,6 a 5,5V
Apesar do clock e memória modestos frente aos ESP32 e RP2xxx, o RA4M1 é bem mais poderoso que o ATmega328 das versões anteriores do Uno e viabiliza uma série de novas aplicações mantendo o formato e a interface de hardware.
Mini Review da RA4M1 64 pin Core Board
Este placa troca o formato padrão do Uno por uma alternativa bem mais compacta, com fileiras duplas de pinos dando acesso a praticamente todos os pinos do microcontrolador.
Além do cristal para operação a 48MHz, a placa dispõe de um cristal de 32kHz para o RTC. Isto faz uma diferença incrível na precisão, nos meus testes (comparando as placas com o meu PC) a diferença após 4 horas foi inferior a um segundo; o Uno R4 Mínima apresentou 30 segundos de erro após meia hora!
Outro ponto importante é a disponibilidade do pino VBAT no conector, permitindo conectar uma bateria para manter a data e hora mesmo sem a alimentação principal. Este recurso está disponível no R4 WiFi mas não no R4 Minima.
A placa possui três botões: o Reset, MD (para entrar no bootloader) e um botão "de usuário" (ligado a P013).
Um detalhe é que existem dois modelos desta placa, um com I/O operando a 3,3V e outro operando a 5V. Isto é uma opção de fábrica e envolve a troca do regulador de tensão.
A documentação no github inclui o esquema da placa e alguns exemplos simples, mas sem instruções de como compilar os exemplos.
O preço da placa (no momento que escrevo) é um pouco maior que metade do preço de um clone do Uno R4 Minima.
Considero esta placa bem mais atraente que a R4 Minima, exceto se você pretende usar em conjunto com um shield Arduino.
Usando a placa com a IDE Arduino
Uma desvantagem desta placa é a falta de suporte à programação. A Renessas possui uma IDE para essa linha de microcontroladores, aparentemente gratis (não investiguei). A programação provavelmente envolve acessar diretamente registradores ou se familizar com uma camada de abstração proprietária.
Daí o meu interesse em usar a IDE Arduino, pelo menos para testes iniciais. Deu algum trabalho, mas tive sucesso (pelo menos no programa simples de teste que eu fiz).
A primeira dificuldade é a instalação do bootloader do Arduino. Infelizmente a IDE não tem suporte direto a isso. Se você procurar nos arquivos instalados no Windows para suporte ao Uno R4, vai achar o bootloader na pasta
{usuario}\AppData\Local\Arduino15\packages\arduino\hardware\renesas_uno\1.2.2\bootloaders\UNO_R4
Além dos bootloaders, tem um README.md com algumas dicas de como instalar. O primeiro passo é baixar a instalar a ferramenta da Renessas, o que existe um cadastro com várias perguntas. Em seguida, coloque a placa no modo bootloader, ligando ou pressionando o Reset com o botão MD apertado. Junto com a ferramenta da Renessas foi instalado o driver necessário. Aí, estando o caminho para a ferramenta no path, basta executar o comando
rfp-cli -device ra -port {porta} -p dfu_minima.hex
Onde {porta} é a serial (COMxx) que aparece ao conectar a placa no modo bootloader.
Feito isso, a placa será reconhecida pela IDE como um Uno R4 Minima.
Para configurar o RTC para usar o cristal de 32KHz, coloque a linha abaixo antes do include do RTC.h:
#define RTC_CLOCK_SOURCE RTC_CLOCK_SOURCE_SUBCLK
Nenhum comentário:
Postar um comentário