quarta-feira, janeiro 10, 2024

Mini Avaliação: Duas Placas de Baixo Custo com o CH32V003

Mais duas placas com o CH32V003 encontradas na AliExpress. Ambas com preço tão baixo que você precisa comprar meia dúzia para não pagar mais no frete que no produto. Um dos motivos de serem tão baratas: não possuem cristal.


O CH32V003 possui um oscilador interno de 24MHz calibrado na fabrica, com precisão de 2%. É bem inferior à precisão de um cristal (da ordem de 20ppm - partes por milhão), mas suficiente para muitas aplicações.

A primeira placa é da WeAct Studio, de quem já comprei outras placas. A qualidade da placa é boa e tem documentação no github: https://github.com/WeActStudio/WeActStudio.CH32V003CoreBoard. A placa é bem semelhante à Nano CHV32003 que eu já comentei, com as diferenças de não ter cristal, ser um pouco maior (24 pinos, acrescentando o sinal Vin) e ter o sinal de reset no conector de programação. Isto significa que ela tem um botão de Reset e um LED (ligado a D4). No momento da compra você precisa escolher entre a versão 3,3V e a 5,0V. A versão que comprei é a 3,3V e ela tem um regulador para baixar os 5V da USB nos 3,3V que alimentam o microcontrolador.

A segunda placa é vendida por "MI YU KOUNG", tem preço menor, uma qualidade ligeiramente inferior e nenhuma documentação. Embora o tamanho seja igual ao da placa da WeAct, tem dois pinos a menos (no lugar de 3V3, 5V e Vin tem somente V). Esta parte da alimentação me confundiu um pouco, já que o anúncio menciona apenas que a placa opera a 3,3 ou 5V. Medindo os pinos V alimentando pela USB, temos 5V, o que mostra que a placa não tem regulador. Se você quiser operar a 3,3V vai ter que alimentar pelos pinos dos conectores. A placa não tem botão de reset, mas tem dois LEDs, um de alimentação e outra ligado ao microcontrolador. E aqui surgiu um problema que atrapalhou o meu sono por uma noite.

Em uma decisão infeliz, o LED foi conectado ao pino D1, que é o pino usado para programação/debug. A placa vem com um software Blink já gravado. O problema é quando você tenta programar: dá erro. Tem uma pergunta a respeito na página do vendedor, mas ele não respondeu. Primeiro eu pensei que era algum problema elétrico ocasionado pelo LED e arranquei ele da placa (não faça isso!). Continuou não funcionando...

Pesquisando um pouco, vi que o projeto ch32v003fun tem um software de programação por linha de comando (estava usando o software da WCH, fabricante do CH32V) e este software tem uma opção -u para "apagar a flash controlando a alimentação". Estudei um pouco mais e bingo! O problema é que o software gravado reconfigura o pino PD1 e impede a programação. Controlando a alimentação é possível apagar a Flash antes do firmware reconfigurar o pino. Este recurso também está disponível no software da WCH:

Uma vez apagado o firmware a programação pode ser feita sem problemas (desde que você deixe o pino PD1 em paz).

Veredito

Se a sua aplicação não requer a precisão de um cristal e os recursos e desempenho do CH32V003 te atendem, a placa da WeAct Studio é uma boa opção. A placa da "MI YU KOUNG" tem um preço menor, mas algumas opções questionáveis de projeto (sem regulador de tensão e o LED no PD1).


Nenhum comentário: