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
|
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?
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