UNO32 ChipKit

chipkit uno32
chipkit uno32

Já ouviu aquela frase popular “comprar gato por lebre”? Normalmente isso é associado a um mal negócio, mas não seria o caso adquirindo uma plaquinha dessas – A UNO32, e você vai entender o porquê.

Com 42 pinos de I/O disponíveis, essa board te dá 128K de flash e 16K de RAM para usar toda sua criatividade. A board possui 2 LEDs de usuários, nos pinos 13 e 43, na parte baixa da placa, auxiliando a brincadeira inicial.

A conexão USB é a mini porque essa board já nasceu há algum tempo (há um modelo mais novo, vale conferir). Pode ser uma excelente opção para leitura analógica, pois conta com 12 entradas (!). Agora vamos falar do processador.

Essa board vem paramentada com 0 Microchip® PIC32MX320F128H, um PIC de 80MHz de 32-bits, arquitetura MIPS. Pra quem pensou que ia programar um Arduino, SIM – você vai programar um Arduino; bem, não exatamente um Arduino, mas COMO um Arduino. Essa board é compatível com shields, tem 5v de tensão e 2 reguladores na board – um para o fornecimento de 5v e outro 3.3v exclusivamente para proteger a MCU.




Você não vai usar a IDE do Arduino, mas um clone dela – a MPIDE. Os sketches tem o mesmo formato do Arduino, inclusive as chamadas, mas se você quiser virar um PIC-eiro (essa doeu), dá pra usar o MPLAB pra programar ela, sem problemas! Ou seja, você acaba tendo 2 plataformas em uma única board, porque você pode criar em “Arduino”, depois “migrar para PIC”, tudo em uma board só, sem sequer desconectar o cabo! Já estava com ela encostada aqui há alguns anos e nunca fiz nada por alguma razão que ainda não descobri. Hoje resolvi tirar da caixa pra ver e foi um imenso prazer! Mas essa aqui saiu de linha porque tem uma atualização, mas o procedimento será o mesmo, portanto leia esse post e depois se tiver interesse, pode comprar a versão mais atual por aí à menos de 30 doletas. Parece um pouco caro, né? Mas acontece que essa board além de valer por duas como citei anteriormente, ela é uma MIPS poderosa; ela vai te dar liberdade para programar como se fosse um Arduino, ou um PIC 8-bits ou uma MIPS de 80MHZ que ela é. Está quase valendo por 3 boards já. E eu acho que consigo te deixar com vontade de adquirí-la, se ainda não o fiz. Veja a interface com um sketch de exemplo:
mpide-150

Como você pode ver, não terá problemas para desenvolver em uma board dessas. Pode parecer esquisito, mas o LED de energia ao lado do jack da fonte se acende mesmo quando energizado pela USB. Ele consome tipicamente 75mA e a fonte de alimentação pode ir de 7v a 15v, dentro da normalidade, ou até 20v de entrada que é o gargalo do regulador de tensão dele. O mínimo de 7v é necessário para garantir os 5v oferecido pela board. O lado negativo dessa alimentação é a falta de uma ponte de diodos no jack, então você não pode errar na fonte; o pino é VCC e a capa é GND.

Se você reparar, essa board tem uma série de jumpers, tudo especificado nesse documento PDF.

O JP2 na posição de bypass é utilizado para alimentar shields conectados à board. O pino 2 é VCC3.3 e pode oferecer ae 425mA. o pino 3 é VCC5.0 para alimentar os shields, oferecendo até 900mA ao shield (EXCLUSIVAMENTE NESSE PINO, NÂO VÁ ACIONAR UM MOTOR DE PASSO NOS PINOS DIGITAIS). Os pinos 4 e5 são o ground entre o UNO32 e os shields. VIN (pino 6) é utilizado para receber tensão de uma fonte externa e esse pino não é regulado. Ele pode ser utilizado tamém pelo UNO32 para ser alimentado pelo shield invés de uma fonte externa.

Muita atenção nesse ponto

O PIC32 trabalha à 3.3v e muitos Arduinos à 5v, por isso é fundamental ter em mente o cuidado com o nível lógico na intercomunicação. Também deve-se considerar se os 3.3v são suficientes para que a saída seja reconhecida como nível lógico alto para 5v. Os pinos de I/O são tolerantes a 5v mas os pinos analógicos NÃO SÃO! Existe todo um conjunto eletrônico em volta disso para proteger esses pinos e essa é uma das características que achei mais fantásticas nessa board. Em suma, voce pode aplicar 5v lógico a qualquer pino da board sem risco de danificar a MCU. A tensão mínima para operar é 2.4v à 12mA.

Mais um ponto de anteção é que as entradas e saídas podem lidar com no máximo 18mA em TODOS os pinos. A corrente total de entrada ou saída não deve exceder 200mA e a tensão máxima aplicada aos pinos de I/O não devem ir além de 5.5. Os pinos da borda da placa correspondem aos pinos do Arduino UNO.




Identificação dos pinos

Os pinos próximo à borda correspondem ao Arduino UNO, portanto, quando for utilizar os pinos dos barramentos internos, basta notar que a numeração está em duas colunas, sendo a da esquerda a correspondência dos pinos internos, enquanto a da direita, a correspondência aos pinos do Arduino UNO.

Assim como no UNO, o pino 13 conecta ao LED, nessa board, identificado como LD4. O pino 43 conecta ao LED LD5 e não tem outro conector.

UART(s)

Assim como no Arduino UNO, os pinos 0 e 1 correspondem à UART RX/TX respectivamente. Mas essa board tem um extra – uma segunda UART, tal qual o Arduino Leonardo! Essa segunda UART esa localizada nos pinos 39 (RX) e 40 (TX).

Outros barramentos

Claro que uma MCU poderosa dessa conta com outros barramentos, como SPI e I²C. Se adquirir a board, não se esqueça de ler esse documento.

Recursos

Obviamente a board possui alguns pinos PWM de 10 bits de resolução (!) e várias interrupções externas, o que supera em muito as expectativas ao trabalhar com interrupções. O conversor A/D não deve receber mais de 3.3v como já citado, mas vale reforçar.

RTCC

Seu coração está pronto para bater forte? Então vamos lá: Essa MCU tem um circuito RTCC (Real Time Clock Calendar) que pode ser utilizado para manter informações de data! Esse RTCC requer uma frequencia de 32.768KHz. Mas esse cristal não está na placa. Para isso, ao lado da MCU na marca IC tem um furico pra você soldar o cristal Citizen CFS206-32.768KDZF-UB, caso deseje utilizar o RTCC.

Se desejar conectá-la ao PicKit3, no manual de referência você tem as instruções, nada complicado.

Características

Revise os recursos dessa board, nessa tabela da Microchip:

resources

E o datasheet da MCU, caso deseje programar alá PIC:
O datasheet

Enfim, não tenho nenhum projeto pra ela agora, mas tão logo precise de um Arduino tradicional, a utilizarei no lugar para mostrar ela trabalhando.

Siga-nos no Do bit Ao Byte no Facebook.

Prefere twitter? @DobitAoByte.

Inscreva-se no nosso canal Do bit Ao Byte Brasil no YouTube.

Próximo post a caminho!




Comments

comments

Djames Suhanko

Djames Suhanko é Perito Forense Digital. Já atuou com deployer em sistemas de missão critica em diversos países pelo mundão. Programador Shell, Python, C, C++ e Qt, tendo contato com embarcados ( ora profissionalmente, ora por lazer ) desde 2009.

Deixe uma resposta