sexta-feira, 7 de junho de 2013

PIColino - Development Board para PIC

Mais um projeto que estou encabeçando, apresento-lhes em primeira mão o Picolino! Dá até para ter idéia né?!

Muitos já procuraram por aí uma placa de desenvolvimento com a versatilidade do Arduino, mas, para a família de microcontroladores PIC essa busca nunca é satisfatória por diversos fatores, dentre eles cito o custo e design. Talvez o que mais chegue perto é o ChipKit. Mas não vou entrar nesses assuntos agora.

A minha proposta é apresentar para vocês um projeto novo e acredito que vai ajudar bastante muita gente nos trabalhos de conclusão de curso. É o Picolino, uma placa QUASE  compatível com o conhecido Arduino... Mas o core dele é um PIC da famila 18F de 28 pinos.

O Picolino

O hardware do Picolino deverá possuir as seguintes características:
  • Alguma Compatibilidade (pin/pin) com shields Arduino;
  • Clock de 20MHz ou mais (isso garantirá no máximo 5MIPS para as famílias PIC18F ou 1MIPS/MHz em PIC24 e PIC32)
  • Porta Serial RS232 nativo (ainda insisto no RS232, apesar do USB estar começando a aparecer com mais frequencia);
  • Simples de usar, simples de implementar;
  • Compacto: "best fit" na categoria.(aproveita o mesmo layoute do Arduino, só que espelhado)

Por design do microcontrolador, aparecerão as restrições:
  • Ausencia de PWM pins. Terá que ser feito via software!
  • I2C pins e RXTX em localização diferente do arduino
  • Programação via conector próprio (Sem bootloader ainda)
  • 5 portos AD (em vez de 6 no arduino) (mesmo trazendo 6 pinos no conector RA)
  • SPI (MISO/MOSI/SCLK/SS) via software apenas!

Mesmo com algumas restrições que o afastam ainda mais do Arduino, o projeto parece ser promissor. Haja visto que existe uma base de conhecimento imensa usando PIC tais como compiladores, livros didáticos e muitos outros recursos de software.

Ser "best fit" na categoria significa que ele provê o máximo de funcionalidade possível e que pelo menos, num projeto de tamanho razoável (controle de iluminação, temperatura, controles pequenos), pelo menos 50% da sua capacidade seja usada. Isto é, o seu integrado e suas funcionalidades não tenham pinos desperdiçados!

Escolhi a família de microcontroladores PIC18F sendo a placa base, compatível com os seguintes microcontroladores:

PIC18F2520
PIC18F2550
PIC18F2580
PIC18F26K20
CPU clk (max)
40
48
40
64
CPU clk (MIPS)
10
12
10
16
MEM (CODE)
32K
32K
32K
64
MEM (RAM)
1.5K
2K
1.5K
3.5K
MEM (EEPROM)
256
256
256
1K
IO PINS
25
24
25
25
AD converters
10
10
8
10
Timers
4
4
4
4
PWM
2
2
1
1
RS232
Y
Y
Y
Y
I2C
Y
Y
Y
Y
SPI
Y
Y
Y
Y
USB

Y


CAN


Y

LIN
Y
Y
Y
Y


 Ainda tem o PIC18F252 que ficou de fora da comparação. Mas é tirar um e colocar outro no lugar. 

Especial atenção para quem utilizar PIC18F2550: O pino RC3 é perdido pois nesse chip ele é usado para ser referencia de VUSB!

Protótipo

Não costumo perder tempo nos meus projetos. Sempre que começo a pensar, já tenho que implementar algo que possa ser facilmente realizável e entender as suas dificuldades. Então temos abaixo o esquema inicial do protótipo. Parece promissor.

Surpresa!!! Saiba que o picolino tem quase a mesma configuração de pinos de um AVR, só que espelhado...  Isso cria uma nova e interessante solução. conector do Arduino tem que ser colocado no lado da solda. Sendo assim fica pro lado dos componentes o conector dos shields Picolino

Mandei hoje (06/06/2013) a requisição para cotação da manufatura de 6 protótipos... quer ver como ele vai ficar?


Os componentes nessa fase são through hole. Futuras versões virão mais compactos. Usarei SMD.

Agora a surpresa... Saiba que o Picolino tem quase a mesma configuração de pinos de um Arduino, só que espelhado...  Isso cria uma nova e interessante solução: - conector do Arduino tem que ser colocado no lado da solda. Sendo assim fica pro lado dos componentes o conector dos shields Picolino, veja o esquema abaixo:

   .Picolino. Arduino Shield
   .    |   .  
=|-.   =|=  . -|=-|=
[| .   [|   .  |] |
<| .   [|   .  || | 
=|-.   =|=  . -|=-|=
   .    |   .
O desenho não ficou bom..

Ambiente de Programação

Esse é um assunto delicado. Pois desenvolver hardware e software ao mesmo tempo é algo complexo e demanda muito tempo... não tenho equipe comigo nisso. Então vamos fazer assim.

Fica o leitor liberado para usar o que quiser, mas desde que tenha possibilidade de escrever o firmware através do porto ICSP da placa. 

Em paralelo, vou estar trabalhando com uma frente: SDCC. Onde criarei wrappers que facilitem a programação. Em seguida o bootloader. Fica o leitor liberado para usar com toda liberdade. 

--//--

Quando chegar as placas do Picolino, eu atualizo este post...  :)

Nenhum comentário:

Postar um comentário