19/12/2016

Módulo carregador USB "uCharge" (Rev. 1)

Esta revisão do módulo uCharge traz algumas melhorias face à versão original, cujo projecto foi apresentado no post de 27 de Novembro. Nomeadamente, deu-se mais ênfase à eficiência, embora sem diferenças significativas em termos práticos. O layout da placa também foi alterado de modo a possibilitar uma melhor dissipação térmica em torno dos componentes críticos. De resto, esta nova versão do módulo é muito semelhante à anterior.

Parâmetros de funcionamento:
– V d. mín. = 6,01V
– V d. máx. = 16,73V
– I L máx. = 1,75A


Características eléctricas:
– I d. (V d. = 7V, I L = 0A) = 15,47mA
– I d. (V d. = 16V, I L = 0A) = 6,64mA
– P (V d. = 7V, I L = 0A) = 108,3mW
– P (V d. = 16V, I L = 0A) = 106,3mW


Módulo carregador USB "uCharge", revisão 1.

Foram feitas poucas modificações a nível do circuito. A salientar, o díodo em D2 é agora um rectificador Schottky do tipo FSV540. Este tipo de díodo apresenta uma queda de tensão muito inferior em comparação com um díodo rectificador vulgar, o que se traduz numa maior eficiência energética. O fusível F1 passa a ser um PPTC do tipo 2920L185, que permite até 1,85A de corrente. Fez-se esta correcção para que o módulo possa debitar a corrente nominal quando alimentado pela tensão mínima prevista.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido RNS1E101MDN1;
C3 – Condensador cerâmico multi-camada 10µF 25V (1210);
C4 – Condensador cerâmico multi-camada 3,3nF 25V (0805);
C5 – Condensador cerâmico multi-camada 22µF 10V (1210);
C6 – Condensador electrolítico de nióbio NOJD107M010 (NOJD107M010RWJ ou equiv.);
D1 – Díodo TVS SMBJ18A;
D2 – Díodo rectificador Schottky FSV540;
D3 – Díodo Zener BZX84-B16;
D4/5 – Díodo Schottky BAT54;
D6 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 2920L185;
IC1 – Conversor DC-DC TPS62143 (TPS62143RTG);
IC2 – Circuito de protecção PolyZen ZEN056V175A12YM;
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2 – Conector USB Molex 67068-8001;
J3 – Conector USB Molex 67643-2911;
JP1 – Conector header macho de 3 pinos (com shunt);
L1 – Indutor de potência XFL4020-222MEB;
Q1 – Tirístor SCR MCR703AT4G;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2/3 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R4 – Resistor de filme espesso 180Ω±5% 1/8W (0805).


Como é habitual, o layout da placa está disponível nos formatos brd (Eagle 7.7.0) e Gerber. A respectiva encomenda deve ser feita através do OSH Park, dado que o layout foi desenhado tendo em conta as especificações deste serviço. Caso prefira outro serviço de fabrico, verifique se o mesmo suporta layouts de quatro camadas, furação a partir de 0,5mm e se o stackup e materiais são os mesmos. Relativamente à montagem, aplicam-se as recomendações que foram dadas para o projecto original.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/58rz...i6vh
Diagrama do circuito (Eagle 7.7.0 sch): http://app.box.com/s/ik85...w8wr
Layout da placa (pdf): http://app.box.com/s/mk7h...p6he
Layout da placa (Eagle 7.7.0 brd): http://app.box.com/s/waym...rdc8
Ficheiros Gerber: http://app.box.com/s/l9fq...ice1
Notas do projecto: http://app.box.com/s/ljte...jzbh
Pasta contendo todos os ficheiros: http://app.box.com/s/erok...2sxm
Projecto no OSH Park: http://www.oshpark.com/shared_projects/14wvI0Bu

09/12/2016

Placa de desenvolvimento "Prop II" (Rev. A)

Esta é uma revisão maior ao projecto "Prop II", apresentado no post de 11 de Setembro. A placa revista incorpora um regulador de tensão de tipo diferente, capaz de fornecer mais corrente. Fora isso, não foram introduzidas alterações significativas. Contudo, o regulador mais potente altera as características da placa, abrindo novas possibilidades e fazendo desta uma revisão importante.

Pormenor do regulador de tensão na nova placa.

O circuito é quase idêntico ao da versão original. Porém e como já foi referido, o regulador em IC2 é de um tipo diferente, tratando-se de um TPS73233 da Texas Instruments. Tal regulador é capaz de fornecer até 250mA de corrente, uma clara melhoria relativamente ao TPS70933 originalmente usado, cujo valor nominal é apenas 150mA. Desta forma, é possível disponibilizar mais corrente aos circuitos externos alimentados pela placa e, por conseguinte, desenvolver projectos mais exigentes sem necessidade de reforçar a alimentação. Todavia, havendo essa necessidade, o TPS73233 pode igualmente trabalhar em paralelo com outras fontes de tensão.

Lista de componentes:
C1/2/4 – Condensador cerâmico multi-camada 1µF 10V (0805);
C3 – Condensador cerâmico multi-camada 10nF 10V (0805);
C5-10/13 – Condensador cerâmico multi-camada 100nF 10V (0805);
C11/12 – Condensador cerâmico multi-camada 47pF 10V (0805);
D1 – Díodo Schottky FYV0704S;
D2 – Díodo Zener BZX84-B3V3;
D3 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 1210L020;
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2 – Regulador de tensão TPS73233 (TPS73233DBV);
IC3 – Conversor USB-UART FT230X (FT230XQ);
IC4 – Micro-controlador P8X32A (P8X32A-Q44);
IC5 – Memória EEPROM M24512 (M24512-DFMC6TP);
J1 – Conector USB Hirose ZX62D-B-5PA8;
J2-7 – Conector header macho de 5 pinos;
Q1 – Transístor MOSFET BSS138;
Q2 – Tirístor SCR S4X8BS;
R1 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R2 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R3 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 27Ω±5% 1/8W (0805);
R6/7 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
S1 – Interruptor pulsador C&K PTS525SMG15J (PTS525SMG15JSMTR2LFS);
X1 – Cristal Abracon ABMM-6.000MHz-B2-T.


Novamente, o layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Recomendo que a encomenda da placa seja feita via OSH Park, visto que o layout foi desenhado tendo em vista as especificações deste serviço. Caso deseje utilizar um serviço de fabrico alternativo, verifique se o mesmo suporta layouts de quatro camadas com furação mínima de 0.5mm. Relativamente à soldadura dos componentes, aplicam-se os mesmos cuidados que foram sugeridos para o projecto original.

Montada a placa, é sempre necessário configurar o respectivo interface FT230X para que esta funcione correctamente. Mais uma vez apelo à utilização da aplicação FT_Prog para esse fim. O ficheiro de configuração encontra-se dentro da pasta "Firmware", localizada na pasta do projecto. Deverá ler as instruções antes de proceder à configuração.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/hf1o...ytrx
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/opvf...ayqd
Layout da placa (pdf): http://app.box.com/s/2qig...ml56
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/krm7...1sb4
Ficheiros Gerber: http://app.box.com/s/fkn2...4b0r
Firmware (com instruções): http://app.box.com/s/tf9o...g7kc
Notas do projecto: http://app.box.com/s/yav0...6lom
Pasta contendo todos os ficheiros: http://app.box.com/s/5ljc...x915
Projecto no OSH Park: http://www.oshpark.com/shared_projects/14wvI0Bu
FT_Prog: http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

27/11/2016

Módulo carregador USB "uCharge"

Este é um módulo que permite alimentar dispositivos USB, possibilitando ao mesmo tempo a comunicação com um PC. O módulo pode fornecer até 1,75A, o que corresponde a mais do triplo da corrente normalmente fornecida por um porto USB 2.0. Para além do mais, pode funcionar sem estar ligado a um computador, neste caso como um simples carregador USB. Tais características tornam o uCharge muito útil na alimentação de dispositivos que requeiram uma corrente superior a 500mA.

Parâmetros de funcionamento:
– V d. mín. = 6,63V
– V d. máx. = 17,27V
– I L máx. = 1,75A


Características eléctricas:
– I d. (V d. = 7V, I L = 0A) = 16,64mA
– I d. (V d. = 16V, I L = 0A) = 6,85mA
– P (V d. = 7V, I L = 0A) = 116,5mW
– P (V d. = 16V, I L = 0A) = 109,6mW


Módulo carregador USB "uCharge".

O componente central do circuito é o TPS62143 (IC1), um conversor DC-DC da Texas Instruments capaz de fornecer até 2A de corrente. Essencialmente, é este conversor que vai fornecer uma tensão regulada de 5V ao dispositivo a ser alimentado. À saída do mesmo, um filtro constituído por L1 e C5 converte a corrente pulsada em corrente contínua. Neste aspecto, é importante salientar que a ondulação após o filtro nunca é superior a 20mVpp, e isto em regime de carga máxima. O conversor DC-DC pode ficar habilitado apenas enquanto for detectada a tensão Vbus proveniente do porto anfitrião, ou então de modo permanente, conforme a posição do shunt em JP1.

Foram implementadas numerosas medidas de protecção contra sobre-tensões, inversões de polaridade, excesso de corrente e descargas electrostáticas. Um circuito crowbar com SCR, constituído pelo tirístor Q1 e por D3, C1 e R1, protege contra sobre-tensões. Esta protecção é complementada por D1, que é um díodo Zener adequado para transientes, e portanto cuja acção é muito mais rápida. A protecção contra inversões de polaridade é garantida por D2, também em conjunção com D1. O fusível em F1 actua em caso de sobre-corrente na alimentação, servindo de complemento às protecções anteriores.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido RNS1E101MDN1;
C3 – Condensador cerâmico multi-camada 10µF 25V (1210);
C4 – Condensador cerâmico multi-camada 3,3nF 25V (0805);
C5 – Condensador cerâmico multi-camada 22µF 10V (1210);
C6 – Condensador electrolítico de nióbio NOJD107M010 (NOJD107M010RWJ ou equiv.);
D1 – Díodo TVS SMBJ18A;
D2 – Díodo rectificador S3A;
D3 – Díodo Zener BZX84-B16;
D4/5 – Díodo Schottky BAT54;
D6 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 2920L150;
IC1 – Conversor DC-DC TPS62143 (TPS62143RTG);
IC2 – Circuito de protecção PolyZen ZEN056V175A12YM;
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2 – Conector USB Molex 67068-8001;
J3 – Conector USB Molex 67643-2911;
JP1 – Conector header macho de 3 pinos (com shunt);
L1 – Indutor de potência XFL4020-222MEB;
Q1 – Tirístor SCR MCR703AT4G;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2/3 – Resistor de filme espesso 47KΩ±5% 1/8W (0805);
R4 – Resistor de filme espesso 180Ω±5% 1/8W (0805).


O layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Como de costume, recomendo que a encomenda da placa seja feita através do OSH Park, dado que o layout foi desenhado em concordância com as especificações deste serviço. Se porventura desejar utilizar outro serviço de fabrico, verifique se o mesmo suporta layouts de quatro camadas, furação a partir de 0,5mm e se o stackup e materiais são idênticos. Convêm reforçar que este último critério é determinante para uma impedância correcta do par diferencial de USB.

Relativamente à montagem, esta requer algum equipamento especializado. A soldadura dos componentes SMD deve ser feita por refusão com ar quente. Por outro lado, os componentes through-hole podem ser soldados empregando um ferro de soldar. Após a soldadura e de modo a finalizar, deverá colar os pés de borracha na parte inferior da placa. Recomendo pés do tipo SJ5076, da 3M.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/gbmk...rws2
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/n5wz...xo9o
Layout da placa (pdf): http://app.box.com/s/ryg0...msxu
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/w43g...i2alj
Ficheiros Gerber: http://app.box.com/s/4z7j...kq55
Notas do projecto: http://app.box.com/s/47bt...xqcu
Pasta contendo todos os ficheiros: http://app.box.com/s/02zn...0w2j
Projecto no OSH Park: http://www.oshpark.com/shared_projects/0ATgQXZD

13/11/2016

Programa de demonstração para a placa de desenvolvimento "Prop II"

Este programa é muito semelhante ao que já fora apresentado no post de 2 de Agosto, porém mais optimizado. Criado com o mesmo propósito, utiliza os oito núcleos de processamento do micro-controlador P8X32A para o cálculo de números primos. Para tal, o utilizador introduz os valores limite, e o programa irá determinar todos os números primos entre esses valores. Por ser intensivo em termos de processamento, este programa atesta bem as capacidades do P8X32A.

Para utilizar o programa, é necessário carregá-lo com o SimpleIDE. Caso não o tenha feito anteriormente, deve transferir primeiro o ficheiro "prop-ii.cfg" para a pasta "propeller-load" da sua instalação. Tal passo permite utilizar o perfil de hardware adequado à placa Prop II. Deverá também transferir o ficheiro do projecto e o respectivo código C para a pasta dos projectos do SimpleIDE. Por último, tendo a placa ligada ao computador, abra o projecto com o nome "Prop_II_primos.side" e escolha a opção "Run with Terminal" (tecla F8).

Programa de demonstração a correr no terminal do SimpleIDE.

Todavia, é importante frisar que o terminal do SimpleIDE é algo lento, o que pode levar a paragens aparentes na execução com a consequente omissão de linhas de resultados. Em alternativa, pode utilizar a opção "Load EEPROM & Run" (tecla F11) para guardar o programa na EEPROM. Depois basta utilizar outra aplicação de comunicação série, como o PuTTY por exemplo, para executar o programa. Desta forma não é necessário recorrer ao terminal do SimpleIDE.

Programa a correr no PuTTY. O SimpleIDE é visível em segundo plano.

Links importantes:
Projecto SimpleIDE: http://app.box.com/s/3sc7...qcu4
Programa em C: http://app.box.com/s/445z...6ai9
Perfil de hardware: http://app.box.com/s/j49y...chhm
Pasta contendo todos os ficheiros: http://app.box.com/s/p1so...18n1

23/10/2016

Placa de teste PTUSB2

À semelhança da PTUSB1 (veja o post de 24 de Setembro), trata-se de uma placa desenvolvida para testes no âmbito do protocolo USB. Como a sua predecessora, possibilita a medição da corrente de consumo e o controlo da tensão de alimentação (Vbus) para o dispositivo em teste. Contudo, esta nova placa não só suporta as versões 2.0 e 1.1 do padrão USB, como também suporta a nova versão 3.1 "Gen 2" com velocidades de transferência até 10Gb/s. Nesse aspecto, convêm referir que o funcionamento a 10Gb/s foi confirmado sem perdas assinaláveis.

Placa de teste PTUSB2.

Placa PTUSB2 a ser empregue para medir o consumo de um disco externo.

O circuito é bastante simples. Dois conectores USB, um de tipo A e outro de tipo B, estão interligados através de três pares diferenciais, sendo dois deles usados para a comunicação em "SuperSpeed" e o restante reservado para USB 2.0. Os conectores partilham também a mesma massa e chassis. Contudo, a linha de Vbus encontra-se interrompida de um conector para o outro, por forma a permitir a interrupção ou medição de corrente, assim como o controle da tensão que alimenta o dispositivo. Convém salientar que, em concordância com a especificação da norma USB, todos os pares diferenciais têm a sua impedância controlada a 90Ω.

Lista de componentes:
J1 – Conector USB Amphenol GSB3211311WEU;
J2/4 – Borne vermelho;
J3/5 – Borne preto;
J6 – Conector USB Amphenol GSB311131HR.


Novamente, o layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Recomendo que a encomenda da placa seja feita via OSH Park, visto que o layout foi desenhado tendo as especificações deste serviço em mente. Caso deseje utilizar outro serviço, verifique se o mesmo suporta layouts de quatro camadas, furos a partir de 0,5mm, e se o stackup e materiais são iguais. Tal critério é determinante para a impedância do pares diferenciais. A montagem da placa não requer ferramentas especiais, bastando para isso um simples ferro de soldar de 25W e um jogo de chaves de bocas ou de lunetas.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/cswf...jyxu
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/vpcv...vbvc
Layout da placa (pdf): http://app.box.com/s/nkee...p7bp
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/h3sf...bhzd
Ficheiros Gerber: http://app.box.com/s/zr20...xwdb
Notas do projecto: http://app.box.com/s/j7ax...t26w
Pasta contendo todos os ficheiros: http://app.box.com/s/sz0c...kkp7
Projecto no OSH Park: http://oshpark.com/shared_projects/GzwxAlCj

05/10/2016

Programa de teste para a placa de desenvolvimento "Prop II"

Este programa é praticamente idêntico ao programa de teste apresentado no post de 24 de Julho, desenvolvido para a placa Prop. O seu propósito é o mesmo: testar os pinos da placa de modo a verificar a existência de curto-circuitos. O utilizador introduz o número do pino a comutar, e o programa prontamente indica se a operação foi bem sucedida ou se houve um erro.

Programa de teste a correr no terminal do SimpleIDE.

Como anteriormente, é necessário utilizar o SimpleIDE para correr o teste. Em primeiro lugar, deve transferir o ficheiro "prop-ii.cfg" para a pasta "propeller-load" da sua instalação. Isso permitirá aplicar o perfil de hardware adequado à placa Prop II. Também deverá transferir o ficheiro do projecto e o código C para a pasta dos projectos do SimpleIDE. Por fim, com a placa ligada ao computador, basta abrir o projecto com o nome "Prop_II_teste.side" e escolher a opção "Run with Terminal" (tecla F8) para executar o programa.

Links importantes:
Projecto SimpleIDE: http://app.box.com/s/xyg6...3b8m
Programa em C: http://app.box.com/s/zmub...ovzr
Perfil de hardware: http://app.box.com/s/31qc...6x93
Pasta contendo todos os ficheiros: http://app.box.com/s/9nrq...816o

24/09/2016

Placa de teste PTUSB1

Hoje apresento uma placa criada especificamente para testes dentro do protocolo USB. A PTUSB1 foi desenhada com o intuito de permitir a medição da corrente de consumo e também o controlo da tensão de alimentação (vulgo Vbus) para o dispositivo a testar. Suporta as versões 2.0 e 1.1 do padrão USB. Aliás, convêm salientar que o funcionamento da placa foi comprovado com vários dispositivos sem se verificarem quaisquer perdas de desempenho.

Placa de teste PTUSB1.

Placa PTUSB1 a ser utilizada para medir o consumo de um dispositivo USB.

O circuito é extremamente simples. Na sua essência, esta placa é constituída por dois conectores USB, um do tipo A e o outro do tipo B, ligados através de um par diferencial e com a mesma massa e chassis. A linha de Vbus, que é a responsável pela alimentação do dispositivo por parte do anfitrião, encontra-se interrompida de modo a permitir a medição de corrente. Tal configuração também permite a injecção de tensão para o dispositivo independentemente da tensão disponível no porto anfitrião. É de frisar que o par diferencial tem a sua impedância controlada a 90Ω, de acordo com a especificação da norma USB.

Lista de componentes:
J1 – Conector USB Molex 67068-8001;
J2/4 – Borne vermelho;
J3/5 – Borne preto;
J6 – Conector USB Molex 67643-2911.


O layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. Recomendo que a encomenda da placa seja feita via OSH Park, dado que o layout foi desenhado tendo em conta as especificações deste serviço. Caso deseje utilizar outro serviço, verifique se o mesmo suporta layouts de quatro camadas, furos a partir de 0,5mm, e se o stackup e materiais são os mesmos. Este último critério é determinante para a impedância do par diferencial. A montagem da placa não requer instruções muito especificas, bastando para tal um ferro de soldar de 25W e um jogo de chaves de bocas ou de lunetas.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/0na6...bfgt
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/bzmd...xp15
Layout da placa (pdf): http://app.box.com/s/iaoh...0lil
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/jdfw...ie0z
Ficheiros Gerber: http://app.box.com/s/6ow5...tew7
Notas do projecto: http://app.box.com/s/1k6t...a8xv
Pasta contendo todos os ficheiros: http://app.box.com/s/gn0z...s5d1
Projecto no OSH Park: http://oshpark.com/shared_projects/EwXI88CL

11/09/2016

Placa de desenvolvimento "Prop II"

Esta é uma nova placa de desenvolvimento baseada no P8X32A, à semelhança da placa Prop apresentada em posts anteriores (26 de Março e 2 de Julho). De facto, esta nova placa é uma evolução da sua predecessora, mas com características de tal modo distintas que foi necessário criar um novo projecto com outro nome. Em especial, foi escolhido um cristal de 6MHz para fornecer a base de tempo, o que possibilita uma operação perfeitamente estável em regime de overclock (a 96MHz), e isto utilizando a tensão nominal de 3,3V. A Prop II também conta com 64KB de memória EEPROM e um LED para indicar a presença de alimentação.

Placa de desenvolvimento "Prop II".

Placa Prop II em funcionamento. O LED indica que a placa está a ser alimentada.

O circuito é muito semelhante ao da última revisão da placa Prop, pelo que seria desnecessário detalhar muito sobre o funcionamento do mesmo. No entanto, é importante mencionar as particularidades deste projecto. A sublinhar, como a base de tempo dada pelo cristal (X1) é agora de 6MHz, as frequências de trabalho após multiplicação com recurso à PLL interna do micro-controlador também serão diferentes: é possível pois obter frequências de 6, 12, 24, 48 e 96MHz. A memória EEPROM em IC5 é de um tipo diferente e comporta 64KB, o dobro da memória presente na placa original. Por último, o LED em D3 indica a presença de 3,3V na placa, servindo R2 para limitar a corrente que o atravessa.

Lista de componentes:
C1/2/4 – Condensador cerâmico multi-camada 1µF 10V (0805);
C3 – Condensador cerâmico multi-camada 10nF 10V (0805);
C5-10/13 – Condensador cerâmico multi-camada 100nF 10V (0805);
C11/12 – Condensador cerâmico multi-camada 47pF 10V (0805);
D1 – Díodo Schottky FYV0704S;
D2 – Díodo Zener BZX84-B3V3;
D3 – LED Kingbright APT2012EC (ou KPT-2012EC);
F1 – Fusível PPTC 1210L020;
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2 – Regulador de tensão TPS70933 (TPS70933DBV);
IC3 – Conversor USB-UART FT230X (FT230XQ);
IC4 – Micro-controlador P8X32A (P8X32A-Q44);
IC5 – Memória EEPROM M24512 (M24512-DFMC6TP);
J1 – Conector USB Hirose ZX62D-B-5PA8;
J2-7 – Conector header macho de 5 pinos;
Q1 – Transístor MOSFET BSS138;
Q2 – Tirístor SCR S4X8BS;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R3/4 – Resistor de filme espesso 27Ω±5% 1/8W (0805);
R5/6 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
S1 – Interruptor pulsador C&K PTS525SMG15J (PTS525SMG15JSMTR2LFS);
X1 – Cristal Abracon ABMM-6.000MHz-B2-T.


Como em projectos anteriores, o layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. A encomenda da placa deve ser feita via OSH Park, visto que este serviço suporta todos os requisitos do layout. Pode sempre usar outro serviço de fabrico, se preferir, mas tenha em atenção que o mesmo deve suportar layouts de quatro camadas e furação a partir de 0,5mm.

A montagem da placa requer algum equipamento específico. Nomeadamente, a soldadura dos componentes SMD deve ser feita por refusão com ar quente. Note que a memória em IC5 requer cuidados redobrados na aplicação da pasta de solda com stencil, visto que o encapsulamento é do tipo DFN com espaçamento entre pinos muito reduzido. Os restantes componentes, sendo through-hole, podem ser soldados com um simples ferro de soldar. Para tal, um ferro de 25W é o suficiente.

Por último, após a montagem é necessário configurar o FT230X de modo a que a placa opere correctamente. Deste modo, e mais uma vez, recomendo a aplicação FT_Prog. O ficheiro de configuração necessário encontra-se dentro da pasta "Firmware", por sua vez localizada na pasta do projecto. Aconselho que leia as instruções antes de proceder à configuração.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/yj17...7022
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/erml...5toa
Layout da placa (pdf): http://app.box.com/s/jg77...q5uh
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/o14k...l690
Ficheiros Gerber: http://app.box.com/s/umvk...vpwn
Firmware (com instruções): http://app.box.com/s/4rg7...vl67
Notas do projecto: http://app.box.com/s/muiv...zw8o
Pasta contendo todos os ficheiros: http://app.box.com/s/wi1o...n02g
Projecto no OSH Park: http://oshpark.com/shared_projects/VmzrduRz
FT_Prog: http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

02/09/2016

Propeller P8X32A

O Propeller P8X32A é um micro-controlador de 32 bits da Parallax que integra oito núcleos de processamento (vulgo cogs). Este micro-controlador foi concebido por Chip Gracey, co-fundador da Parallax, que também criou as linguagens PASM (de Propeller Assembly) e SPIN para o mesmo. Foi introduzido no mercado em 2006, sendo fabricado com tecnologia CMOS de 350nm.

Para além dos 8 núcleos de processamento, o P8X32A conta com 32KB de memória RAM partilhada e 2KB de memória RAM dedicada a cada núcleo, o que perfaz um total de 48KB. Também tem 32KB de memória ROM para o mapa de caracteres, para as tabelas logarítmica, anti-logarítmica e de seno, para o bootloader e para o interpretador de SPIN. Para além do mais, pode operar até 80Mz sem overclock, o que corresponde a um processamento de 20MIPS por núcleo.

Micro-controladores P8X32A em vários encapsulamentos. O P8X32A está disponível em DIP de 40 pinos, e em QFN e QFP de 44 pinos.

Como é evidente na fotografia acima, o P8X32A está disponível em diversos encapsulamentos: DIP de 40 pinos, QFN de 44 pinos e QFP, também de 44 pinos. Em especial, a versão em DIP é muito útil em prototipagem, uma vez que pode ser facilmente montada numa placa de ensaio. As versões em QFP e QFN podem ser empregues em projectos finais que requeiram alguma miniaturização.

Em síntese, o P8X32A é um micro-controlador bastante potente. Adicionalmente, é muito acessível e fácil de programar, dado que existem várias aplicações de desenvolvimento, para além de haver documentação e suporte na Internet. Pode por isso ser facilmente implementado em projectos de automação, robótica, aquisição de dados e outras aplicações que envolvam computação.

16/08/2016

Shunt resistivo SR10S3A

O SR10S3A não é mais do que um resistor de precisão, especialmente adaptado para medição de corrente pelo método dos quatro pontos. Como tal, este dispositivo é munido de quatro bornes, sendo dois destinados à passagem da corrente a medir e dois para a medição da queda de tensão. O conceito subjacente ao referido método baseia-se na lei de Ohm: tendo um resistor de valor fixo, pela medição da queda de tensão aos seus terminais é possível calcular a corrente que o atravessa. Neste caso em particular, o valor do resistor é de 0,1Ω (o que se traduz numa condutância de 10S). É importante sublinhar que a corrente máxima suportada é de 3,8A.

Shunt resistivo SR10S3A.

O SR10S3A em uso com uma carga de 56Ω. A tensão está ajustada para cerca de 5V e, por conseguinte, a corrente medida é de 89mA.

O circuito é extremamente simples. O elemento central, como já foi mencionado, é um resistor de 0,1Ω com tolerância de 1%. Este resistor está dimensionado para suportar correntes até 3,8A, dissipando assim 1,5W no pior caso. Em cada terminal estão ligados dois bornes: um para corrente e outro para medição em tensão. Deste modo, é possível fazer passar corrente através do resistor e medir em simultâneo a queda de tensão resultante.

Lista de componentes:
J1-4 – Borne vermelho;
R1 – Resistor bobinado 0,1Ω±1% 3W.


O layout da placa está disponível nos formatos brd (Eagle 7.6.0) e Gerber. A placa pode ser encomendada através do OSH Park ou utilizando qualquer outro serviço de fabrico. Tratando-se de um projecto muito básico, é suficiente empregar um ferro de soldar de 25W aquando a soldadura do resistor. A montagem dos bornes requer somente uma chave de bocas ou de lunetas.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/xpna...0n2t
Diagrama do circuito (Eagle 7.6.0 sch): http://app.box.com/s/y320...1pvu
Layout da placa (pdf): http://app.box.com/s/dnqs...7rx2
Layout da placa (Eagle 7.6.0 brd): http://app.box.com/s/ysjz...gh7v
Ficheiros Gerber: http://app.box.com/s/n80u...z382
Notas do projecto: http://app.box.com/s/e8i8...bofd
Pasta contendo todos os ficheiros: http://app.box.com/s/vwh7...9zy3
Projecto no OSH Park: http://oshpark.com/shared_projects/ymsVScPA

07/08/2016

Imagens repostas

No post de 25 de Julho reportei um problema que impedia o carregamento das imagens do blogue, dado que as respectivas referências ficaram inválidas. Entretanto todos os posta contendo imagens foram revistos, e a situação foi corrigida. Espero, pois, que este inconveniente não tenha prejudicado a leitura do blogue.

02/08/2016

Programa de demonstração para a placa de desenvolvimento "Prop"

Este programa de demonstração foi criado com o intuito de avaliar o desempenho da placa Prop. Como tal, tira partido dos oito núcleos de processamento do micro-controlador P8X32A para calcular números primos. Basta ao utilizador introduzir os valores limite, e o programa calcula todos os números primos entre esses valores. Como é muito intensivo em termos de processamento, o presente programa ilustra bem as capacidades do P8X32A e, por arrastamento, da Prop.

De modo a utilizar o programa, deverá carregá-lo com o SimpleIDE (veja o post de 12 de Junho). Caso não o tenha feito anteriormente, recomendo que transfira primeiro o ficheiro "prop.cfg" para a pasta "propeller-load" da sua instalação. Isso permitirá aplicar o perfil de hardware adequado à placa. É necessário transferir também o ficheiro do projecto e o código C para a pasta dos projectos do SimpleIDE. Por último, com a placa ligada ao computador, abra o projecto "Prop_primos.side" e escolha a opção "Run with Terminal" (tecla F8).

Programa de demonstração a correr no terminal do SimpleIDE.

Contudo, fica uma ressalva: o terminal do SimpleIDE é um tanto ou quanto lento, e por isso pode haver paragens aparentes durante a execução com omissão de linhas de resultados. Uma maneira alternativa consiste em programar a EEPROM da placa pela opção "Load EEPROM & Run" (tecla F11). Desta forma é possível executar o programa posteriormente e sem recurso ao terminal do SimpleIDE, utilizando outros programas de comunicação série, como por exemplo o PuTTY.

Programa a correr no PuTTY. O SimpleIDE é visível em segundo plano.

À semelhança do programa de teste, este programa pode ser usado noutras placas baseadas no P8X32A. Tendo o cuidado prévio de seleccionar o perfil de hardware adequado à placa em questão, aplicam-se os mesmos procedimentos.

Links importantes:
Projecto SimpleIDE: http://app.box.com/s/821s...ff6s
Programa em C: http://app.box.com/s/7r63...wva0
Perfil de hardware: http://app.box.com/s/3nav...a87c
Pasta contendo todos os ficheiros: http://app.box.com/s/8d7t...wd8f

25/07/2016

Imagens com referências inválidas

Hoje venho anunciar um problema relacionado com as imagens do blogue. Como poderá ter constatado, a maioria das imagens não carrega. Esse problema foi causado por uma modificação nas propriedades de partilha da pasta onde estão armazenadas as imagens, dentro do Picasa. Embora tenha revertido a modificação anterior, a quase totalidade das imagens ficou com referências inválidas.

Para resolver esta questão, terei que repor as imagens post a post, o que irá levar alguns dias. Posto isto, apresento desde já as minhas desculpas por este incómodo. Tentarei ser o mais célere possível.

24/07/2016

Programa de teste para a placa de desenvolvimento "Prop"

Como o título sugere, trata-se de um programa para verificar o funcionamento da placa Prop. Basicamente, este programa permite testar individualmente os pinos da placa. Para tal basta introduzir o número do pino a comutar, e o programa logo indica se a operação foi bem sucedida ou não. Desta forma, é possível detectar a existência de curto-circuitos, sejam estes à massa, à alimentação ou entre pinos.

Programa de teste a correr no terminal do SimpleIDE.

Para correr o teste é necessário utilizar o SimpleIDE (veja o post de 12 de Junho para mais detalhes). Antes de mais, deve transferir o ficheiro "prop.cfg" para dentro da pasta "propeller-load", localizada na pasta da aplicação. Isso permitirá utilizar o perfil de hardware correcto para esta placa. Deverá também transferir o ficheiro do projecto e o código C para dentro da pasta de projectos do SimpleIDE. Depois, tendo a placa ligada ao computador, basta abrir o projecto com o nome de ficheiro "Prop_teste.side" e escolher a opção "Run with Terminal" (tecla F8) para executar o programa.

Embora tenha sido concebido para a Prop, este programa pode ser empregue para testar outras placas de desenvolvimento baseadas no P8X32A. Após seleccionar o perfil de hardware adequado à placa em questão, os passos para a testar são exactamente os mesmos. Note que, se não seleccionar de antemão o perfil adequado, a placa poderá não funcionar correctamente.

Links importantes:
Projecto SimpleIDE: http://app.box.com/s/62u9...fntv
Programa em C: http://app.box.com/s/gulf...9v6m
Perfil de hardware: http://app.box.com/s/asqz...qmv0
Pasta contendo todos os ficheiros: http://app.box.com/s/0xq3...2xcr

02/07/2016

Placa de desenvolvimento "Prop" (Rev. 1)

Trata-se de uma revisão menor do projecto “Prop”, originalmente apresentado no post de 26 de Março. Esta revisão visa minimizar os problemas de instabilidade em regime de overclock (veja o post de 4 de Junho para mais detalhes). Contudo, é importante salientar que só alguns integrados P8X32A serão suficientemente estáveis a 128HMz, e isto com alimentação de 3,8V. Por conseguinte, mesmo tendo em conta as correcções elaboradas nesta revisão, não se garante uma operação estável da nova placa nas condições anteriores.

Placa de desenvolvimento "Prop", revisão 1.

Pormenor do fusível F1 e do díodo Schottky em D1.

O circuito 'crowbar' em pormenor. O SCR está em Q2.

A nível do circuito, as poucas modificações que foram implementadas focam-se na alimentação e respectivas protecções. O fusível F1 é um PPTC do tipo 1210L035, em lugar do 1210L010 previamente usado. A protecção contra sobre-tensões a jusante de F1 é agora realizada por um circuito crowbar com SCR (constituído por D2, C3, R1 e Q2) que, ao invés de um simples díodo Zener, possui uma curva de disparo extremamente acentuada. Por outro lado, a protecção contra inversões de polaridade é garantida pelo díodo Schottky em D1. No restante, o circuito é similar ao original.

Lista de componentes:
C1/4 – Condensador cerâmico multi-camada 1µF 10V (0805);
C2 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C3 – Condensador cerâmico multi-camada 10nF 10V (0805);
C5-10/13 – Condensador cerâmico multi-camada 100nF 10V (0805);
C11/12 – Condensador cerâmico multi-camada 47pF 10V (0805);
D1 – Díodo Schottky FYV0704S;
D2 – Díodo Zener BZX84-B3V6;
F1 – Fusível PPTC 1210L035/30 (ou 1210L035, como alternativa);
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2 – Regulador de tensão TPS70933 (TPS70933DBV);
IC3 – Conversor USB-UART FT230X (FT230XQ);
IC4 – Micro-controlador P8X32A (P8X32A-Q44);
IC5 – Memória EEPROM 24LC256 (24LC256-I/MS);
J1 – Conector USB Hirose ZX62D-B-5PA8;
J2-7 – Conector header macho de 5 pinos;
Q1 – Transístor MOSFET BSS138;
Q2 – Tirístor SCR S4X8BS;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2/3 – Resistor de filme espesso 27Ω±5% 1/8W (0805);
R4/5 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
S1 – Interruptor pulsador C&K PTS525SMG15J (PTS525SMG15JSMTR2LFS);
X1 – Cristal CTS 406C35E08M00000.


Como anteriormente, o layout da placa está disponível nos formatos brd (Eagle 7.5.0) e Gerber. De novo, recomendo que a encomenda da mesma seja feita através do OSH Park, dado que o layout foi desenhado tendo em conta as especificações desse serviço. Pode sempre usar outro serviço de fabrico, se o mesmo suportar layouts de quatro camadas com furação a partir de 0,5mm. Quanto à montagem, aplicam-se os mesmos cuidados que foram sugeridos para o projecto original.

Uma vez montada a placa, é necessário carregar as configurações para o FT230X. Para tal fim, deverá utilizar o FT_Prog. Note que este passo é essencial para habilitar o regulador e, consequentemente, a alimentação de todo o circuito por USB. O ficheiro de configuração encontra-se dentro da pasta "Firmware", localizada na pasta do projecto. Novamente aconselho a leitura das instruções que acompanham o dito ficheiro.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/51jb...mk61
Diagrama do circuito (Eagle 7.5.0 sch): http://app.box.com/s/ha98...tzyi
Layout da placa (pdf): http://app.box.com/s/jmzf...1bx4
Layout da placa (Eagle 7.5.0 brd): http://app.box.com/s/gtuz...mwhi
Ficheiros Gerber: http://app.box.com/s/to6y...xgsu
Firmware (com instruções): http://app.box.com/s/pcpc...kdln
Notas do projecto: http://app.box.com/s/adjc...08d4
Pasta contendo todos os ficheiros: http://app.box.com/s/cx0p...2ovh
Projecto no OSH Park: http://oshpark.com/shared_projects/b8txXhPG
FT_Prog: http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

12/06/2016

SimpleIDE

O SimpleIDE é uma aplicação de desenvolvimento que permite programar dispositivos baseados no Propeller P8X32A. Embora esta aplicação não seja oficialmente recomendada pela Parallax, ao contrário do Propeller Tool, pode ser instalada em sistemas Windows, Linux (Debian) ou Mac OS X. Para além disso, o SimpleIDE providencia um ambiente gráfico bastante simples, com suporte para C e C++, não esquecendo o SPIN que é a linguagem de programação nativa do micro-controlador P8X32A.

Aplicação SimpleIDE com terminal de comunicação série aberto.

No entanto, apesar de todos estes pontos fortes, existe uma razão pela qual o SimpleIDE não é oficialmente recomendado: quando se compila um dado programa em C ou C++ o código objecto não sai tão optimizado como poderia. Ainda assim, o compilador que está por trás, o Propeller GCC, faz um excelente trabalho a gerar código optimizado e compacto. Em suma e a meu ver, o SimpleIDE é uma aplicação capaz e que pode ser usada em contexto profissional.

Links:
Parallax: http://www.parallax.com/
SimpleIDE: http://learn.parallax.com/tutorials/language/propeller-c/propeller-c-set-simpleide

04/06/2016

Modificações à placa de desenvolvimento "Prop"

De modo a contextualizar, a Prop é uma placa de desenvolvimento baseada no micro-controlador Propeller P8X32A da Parallax. Para referência, o projecto propriamente dito foi apresentado no post de 26 de Março. Contudo, esta placa apresenta alguns problemas que agudizam a instabilidade do micro-controlador quando em regime de overclock (isto é, com a frequência de trabalho definida a 128MHz), especialmente porque é necessário ter uma alimentação consistente e não inferior a 3,8V nessas condições.

O que se sucede é que, em tal regime, o consumo de corrente do micro-controlador dobra. Para além disso, existe uma passagem de corrente significativa através de D1, um díodo Zener colocado justamente para proteger o circuito contra sobre-tensões. Este díodo consome cerca de 10mA quando a 3,3V, sendo que a corrente aumenta de forma quase exponencial com a tensão. Este consumo de corrente faz com que F1, um fusível PPTC do tipo 1210L010, apresente uma queda de tensão apreciável, na ordem das décimas de volt. Estes factores fazem com que a tensão que alimenta o micro-controlador se apresente instável.

Caso seja necessário fazer overclocking, sugiro então a remoção de D1 e a substituição do PPTC em F1 por um do tipo 1210L035. Note que, ao fazer tais modificações, está a retirar a protecção contra sobre-tensões e inversões de polaridade relativamente aos pinos de alimentação. Nesse caso, a alimentação nunca deverá exceder os 4,0V. Também é importante advertir que, mesmo com estas modificações, não se garante a estabilidade do micro-controlador quando em overclock.

Placa não modificada.

A placa após a modificação. Foi removido o díodo D1 e F1 é de um tipo diferente.

Será lançada em breve uma nova revisão que resolve os problemas que a placa actual apresenta. A nova versão da placa irá incorporar um PPTC do tipo 1210L035 e, em vez do díodo Zener em D1, terá um circuito crowbar com SCR complementado com um díodo Schottky em anti-paralelo. O projecto já está disponível no repositório de ficheiros.

17/05/2016

Cinco anos de blogue

Faz hoje cinco anos que este blogue teve inicio, na altura como "Projectos de Electrónica". Entretanto o seu escopo alargou, perdendo um pouco o aspecto de blogue e focando noutros temas para além dos projectos, vindo a ganhar o nome "Bloguetrónica" após alguns meses. Todavia, a missão de partilhar conhecimento manteve-se.

A minha experiência como autor deste blogue tem sido positiva. Com os projectos houve espaço para experimentar, errar e aprender com os erros. Deste modo, foi-me possível crescer não só pela via da auto-aprendizagem, como pelos conselhos que tenho vindo a receber, os quais agradeço. No fundo, a electrónica é uma ciência muito prática que, na minha opinião, não se aprende somente através da teoria constante nos manuais. Requer experimentação: tentativas, falhas, e novas tentativas.

Posto isto, é meu desejo que me seja permitido continuar com o blogue. A electrónica tem sido a minha paixão durante muitos anos. O blogue tem sido a minha forma de a partilhar. No fim, de nada serve criar conhecimento, se este não for partilhado.

01/05/2016

Gerador de relógio GR10M-S

O GR10M-S é um gerador de relógio a 10 MHz, notável por ter um jitter de fase inferior a 600fs (medido entre 12KHz e 5MHz). Tecnicamente é uma evolução do GR10M-O, se bem que a precisão é a mesma (0,025ppm de desvio em frequência). Incorpora porém um filtro de jitter para minimizar o ruído de fase. Por conseguinte, o GR10M-S não só é útil como base de tempo de referência dada a sua precisão, como pode servir de base de tempo para conversão analógico-digital pelo seu baixo jitter. Em suma, este gerador de relógio também encontra aplicações fora do campo da instrumentação.

Parâmetros de funcionamento:
– V d. mín. = 6,15V
– V d. máx. = 14,2V
– Z L mín. = 50Ω


Características eléctricas:
– I d. (Z L = 50Ω@1,65V) = 364,8mA
– P (V d. = 7V, Z L = 50Ω@1,65V) = 2,553W
– P (V d. = 13V, Z L = 50Ω@1,65V) = 4,742W


Características do sinal de saída:
– Frequência: 10MHz±0,025ppm
– Razão cíclica: 0,5
Jitter de fase (CLKO1/J2, 12-5000KHz): 461fsrms*
Jitter de fase (CLKO2/J3, 12-5000KHz): 569fsrms*
Jitter ciclo-a-ciclo (CLKO1/J2): 2,68psrms*
Jitter ciclo-a-ciclo (CLKO2/J3): 2,82psrms*
Jitter periódico (CLKO1/J2): 1,55psrms*
Jitter periódico (CLKO2/J3): 1,62psrms*
– Amplitude (Z L = 50Ω@0V): 2,28Vpp
– Amplitude (Z L = 50Ω@1,65V): 2,54Vpp
– Amplitude (Z L > 100KΩ): 3,30Vpp


* De acordo com a caracterização feita no laboratório JitterLabs (http://www.jitterlabs.com/)

Gerador de relógio GR10M-S.

A frequência do sinal de saída do GR10M-S a ser medida com um frequencímetro.

À semelhança do GR10M-O, a base de tempo do circuito é dada pelo AOCJYR-10.000MHz-M5625LF (IC2), um OCXO da Abracon. A diferença fundamental é que em vez de um simples buffer de relógio, o circuito emprega um filtro de jitter para distribuir o sinal gerado. Essa função é desempenhada pelo o Si5317D da Silicon Labs, em IC3. Este filtro reduz o ruído de fase e, com efeito, o jitter.

Tal como em projectos anteriores, foram aplicadas diversas medidas de protecção contra sobre-tensões, inversões de polaridade, sobre-corrente e descargas electrostáticas. Novamente, a protecção contra sobre-tensões é exercida por um circuito crowbar com SCR (D3, C1, R1 e Q1), servindo D1 apenas para suprimir surtos mais rápidos, como complemento ao circuito anterior. As restantes medidas não são novas, pelo que seria fastidioso enumerá-las em pormenor.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido PLF1D470MCL2;
C3/4 – Condensador electrolítico de nióbio NOJA106M006 (NOJA106M006RWJ ou equiv.);
C5/7-11 – Condensador cerâmico multi-camada 100nF 10V (0805);
C6 – Condensador cerâmico multi-camada 1µF 10V (0805);
D1 – Díodo TVS SMAJ15A;
D2 – Díodo rectificador S2A;
D3 – Díodo Zener BZX84-B13;
D4 – LED WP1503CB-ID;
F1 – Fusível PPTC 2016L075/60;
HS1/2 – Dissipador DA-T263-201E;
IC1 – Regulador de tensão LM1117SX-3.3;
IC2 – Oscilador de cristal AOCJYR-10.000MHz-M5625LF;
IC3 – Filtro de jitter Si5317D (Si5317D-C-GM);
IC4/5 – Circuito de protecção TVS SP4020-01FTG;
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2/3 – Conector BNC Amphenol RF 112659;
L1 – Conta de ferrite BLM21PG331SN1;
Q1 – Tirístor SCR NYC222STT1G;
R1/4-5 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R3 – Resistor de filme espesso 100Ω±5% 1/8W (0805);
S1 – Interruptor pulsador C&K GP11MCBE;
X1 – Cristal Abracon ABM8-166-114.285MHz.


O layout da placa está disponível nos formatos brd (Eagle 7.5.0) e Gerber. Mais uma vez recomendo que a encomenda da placa seja feita através do OSH Park, uma vez que o layout cumpre com as especificações deste serviço. Em alternativa, pode sempre usar outro serviço de fabrico, desde que o mesmo suporte furos a partir de 0,5mm. Quanto à montagem, a soldadura dos componentes SMD deve ser feita por refusão com ar quente, preferencialmente empregando um forno eléctrico com temperatura regulável. Os restantes componentes soldam-se pelo método usual.

A caixa recomendada para o projecto é a Hammond 1457C801. É uma caixa em alumínio anodizado com tampas revestidas a pó preto. Pode também optar pela caixa 1457C801BK, do mesmo fabricante, com o corpo também revestido a pó preto. Os painéis frontal e traseiro devem ser trabalhados de de acordo com o guia de furação.

Caixa Hammond 1457C801 (versão anodizada). Esta é a caixa recomendada.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/5uv9...95xz
Diagrama do circuito (Eagle 7.5.0 sch): http://app.box.com/s/oao6...hl0y
Layout da placa (pdf): http://app.box.com/s/ukz2...9eji
Layout da placa (Eagle 7.5.0 brd): http://app.box.com/s/i3sk...edr6
Ficheiros Gerber: http://app.box.com/s/7vnz...gefg
Guia de furação: http://app.box.com/s/h2ub...hsla
Notas do projecto: http://app.box.com/s/6pld...dnvk
Relatório de caracterização: http://app.box.com/s/raof...v4it
Pasta contendo todos os ficheiros: http://app.box.com/s/u749...deiu
Projecto no OSH Park: http://oshpark.com/shared_projects/X1ocstvj
JitterLabs: http://www.jitterlabs.com/

26/03/2016

Placa de desenvolvimento "Prop"

Prop é uma placa de desenvolvimento baseada no Propeller P8X32A, um micro-controlador de 32 bits da Parallax que contém oito núcleos de processamento (vulgo cores ou, neste caso em particular, cogs). Para além desse elemento central, esta placa incorpora uma memória EEPROM de 32KB para aplicações e uma interface UART para programação e comunicação via USB. Tendo uma base de tempo de 8MHz, a frequência de trabalho do P8X32A pode ir até 128MHz em regime de overclock, se bem que a frequência máxima recomendada para uma operação estável é de 64MHz. Em suma, a Prop é uma placa de desenvolvimento extremamente capaz e versátil, podendo até ser empregue em aplicações de computação.

Placa de desenvolvimento "Prop".

O circuito é algo complexo, dado o número de componentes que integra. Como foi referido, a peça central é o Propeller P8X32A da Parallax (IC4). A sua base de tempo deriva de X1, um cristal de 8MHz. Esta base de tempo pode ser multiplicada por uma PLL interna ao micro-controlador, por forma a obter frequências de trabalho de 8, 16, 32, 64 e 128MHz. Em alternativa, o P8X32A pode ser configurado para usar uma das suas bases de tempo internas, de 20KHz e 12MHz.

O P8X32A comunica com o mundo exterior por meio de um conversor USB-UART, o FT230X (IC3). Tal conversor não só torna possível a programação da placa por USB, como também possibilita a interacção com um qualquer programa que lá esteja a correr (via porta COM virtual). Por outro lado, também habilita a alimentação da placa, detalhe que irei explicar mais adiante. O armazenamento do código a executar é feito por uma memória EEPROM 24LC256 dedicada ao micro-controlador.

A alimentação da placa pode ser feita por USB, através do regulador IC2, ou utilizando os pinos de alimentação "+3V3" e "GND". Aliás, o esquema de alimentação implementado é sui generis, por permitir as duas alimentações em simultâneo sem necessidade de configuração. Isto deve se ao tipo de regulador utilizado, o TPS70933, que pode funcionar em paralelo com outras fontes de tensão. Este regulador é habilitado pelo FT230X (por intermédio de Q1) para que a Prop cumpra com as especificações USB quanto ao consumo de corrente em modo de suspensão. Adicionalmente, quando alimentada por USB, a placa pode alimentar circuitos externos utilizando os pinos acima mencionados.

Este projecto emprega algumas protecções contra sobre-tensões, corrente excessiva e inversões de polaridade na alimentação. A salientar, o dispositivo de protecção PolyZen em IC1 protege todos os componentes alimentados directamente por USB, ao passo que D1 a par com F1 protege os demais. O fusível F1 também limita a corrente quando a placa está a alimentar um circuito externo, de modo a que a corrente fornecida por USB nunca exceda a capacidade do porto anfitrião. Note que, ao contrário dos pinos de alimentação, os pinos de E/S não estão protegidos.

Lista de componentes:
C1/3 – Condensador cerâmico multi-camada 1µF 10V (0805);
C2 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C4-9/12 – Condensador cerâmico multi-camada 100nF 10V (0805);
C10/11 – Condensador cerâmico multi-camada 47pF 10V (0805);
D1 – Díodo Zener 1SMA5915BT3G;
F1 – Fusível PPTC 1210L010;
IC1 – Circuito de protecção PolyZen ZEN056V075A48LS;
IC2 – Regulador de tensão TPS70933 (TPS70933DBV);
IC3 – Conversor USB-UART FT230X (FT230XQ);
IC4 – Micro-controlador P8X32A (P8X32A-Q44);
IC5 – Memória EEPROM 24LC256 (24LC256-I/MS);
J1 – Conector USB Hirose ZX62D-B-5PA8;
J2-7 – Conector header macho de 5 pinos;
Q1 – Transístor MOSFET BSS138;
R1/2 – Resistor de filme espesso 27Ω±5% 1/8W (0805);
R3/4 – Resistor de filme espesso 4,7KΩ±5% 1/8W (0805);
S1 – Interruptor pulsador C&K PTS525SMG15J (PTS525SMG15JSMTR2LFS);
X1 – Cristal CTS 406C35E08M00000.


O layout está disponível nos formatos brd (Eagle 7.4.0) e Gerber. Como de costume, recomendo que a encomenda da placa seja feita através do OSH Park, visto que o layout foi concebido em concordância com as especificações deste serviço. Pode usar outro serviço de fabrico, desde que o mesmo suporte layouts de quatro camadas com furação mínima de 0,5mm ou menos. Tanto melhor, se as especificações de stack-up e os materiais forem idênticos.

Relativamente à montagem, esta requer equipamento mais especializado, assim como alguma experiência. A montagem dos componentes SMD deve ser feita por refusão com ar quente (o uso de forno é desaconselhado), soldando primeiro os componentes da face superior e depois os da face inferior. É importante advertir que, e em especial aquando a soldadura dos últimos, deve aplicar o calor estritamente necessário e no espaço de tempo mais curto possível. Soldados todos os componentes SMD, poderá então soldar os componentes through-hole pelo processo usual.

Após a montagem da placa, é necessário programar o respectivo firmware para que a mesma funcione. Por defeito, o FT230X não traz as configurações adequadas. Nesse sentido, recomendo a sua programação utilizando o FT_Prog, uma ferramenta de configuração da FTDI. O ficheiro de configuração necessário encontra-se dentro da pasta "Firmware" que está dentro da pasta do projecto. Aconselho a leitura das instruções, na referida pasta.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/brpb...p0xb
Diagrama do circuito (Eagle 7.4.0 sch): http://app.box.com/s/vh5z...heli
Layout da placa (pdf): http://app.box.com/s/1fd8...99kk
Layout da placa (Eagle 7.4.0 brd): http://app.box.com/s/1gab...zuzj
Ficheiros Gerber: http://app.box.com/s/wa3e...5p0y
Firmware (com instruções): http://app.box.com/s/vxgc...igrp
Notas do projecto: http://app.box.com/s/3acn...5tao
Pasta contendo todos os ficheiros: http://app.box.com/s/g0z9...uxxf
Projecto no OSH Park: http://oshpark.com/shared_projects/lKDVmu2m
FT_Prog: http://www.ftdichip.com/Support/Utilities.htm#FT_PROG

14/02/2016

Gerador de relógio GR10M-O

Seguindo o mesmo conceito do GR10M, o GR10M-O é um gerador de relógio a 10MHz que serve como base de tempo de referência. Porém, com um desvio em frequência de apenas 0,025ppm, é bastante mais preciso do que o seu predecessor. Tal precisão advém do facto de utilizar um oscilador OCXO ao invés de um simples TCXO. Em contrapartida, apresenta um consumo substancialmente maior e o desempenho em termos de jitter é um pouco inferior.

Parâmetros de funcionamento:
– V d. mín. = 6,13V
– V d. máx. = 14,2V
– Z L mín. = 50Ω


Características eléctricas:
– I d. (Z L = 50Ω@1,65V) = 157,5mA
– P (V d. = 7V, Z L = 50Ω@1,65V) = 1,103W
– P (V d. = 13V, Z L = 50Ω@1,65V) = 2,048W


Características do sinal de saída:
– Frequência: 10MHz±0,025ppm
– Razão cíclica: 0,5±10%
– Jitter de fase (12-5000KHz): 1,59psrms
– Amplitude (Z L = 50Ω@1,65V): 1,82Vpp
– Amplitude (Z L > 100KΩ): 3,30Vpp


Gerador de relógio GR10M-O.

A base de tempo deste circuito é dada pelo AOCJYR-10.000MHz-M5625LF da Abracon (IC2), o qual, tratando-se de um OCXO, regula a sua temperatura interna para uma melhor estabilidade. Consequentemente, este oscilador oferece uma precisão de 0,025ppm, garantida entre -40 e 85°C. O buffer em IC3 distribui o sinal de relógio para as duas saídas. Novamente foi escolhido o CDCLVC1102 da Texas Instruments para esta função, dadas as suas características de jitter.

À semelhança do GR10M, foram implementadas várias medidas de protecção contra sobre-tensões, inversões de polaridade, corrente excessiva na alimentação e descargas electrostáticas. A destacar, a protecção de sobre-tensão na alimentação é feita por um circuito crowbar com SCR, constituído por D3, C1, R1 e Q1. Em comparação com um díodo Zener de potência, tal circuito tem o potencial de suportar correntes muito maiores, embora com o inconveniente de ser necessário desligar a alimentação para o rearmar. As restantes protecções são semelhantes e o respectivo funcionamento idêntico.

Lista de componentes:
C1 – Condensador cerâmico multi-camada 10nF 10V (0805);
C2 – Condensador de electrólito sólido PLF1D470MCL2;
C3/4 – Condensador electrolítico de nióbio NOJA106M006 (NOJA106M006RWJ ou equiv.);
C5/8 – Condensador cerâmico multi-camada 100nF 10V (0805);
C6 – Condensador cerâmico multi-camada 2,2µF 10V (0805);
C7 – Condensador cerâmico multi-camada 1µF 10V (0805);
D1 – Díodo TVS SMAJ15A;
D2 – Díodo rectificador S1A;
D3 – Díodo Zener BZX84-B13;
D4 – LED WP1503CB-ID;
F1 – Fusível PPTC 1812L035/30;
HS1 – Dissipador DA-T263-101E;
IC1 – Regulador de tensão LM1117SX-3.3;
IC2 – Oscilador de cristal AOCJYR-10.000MHz-M5625LF;
IC3 – Buffer de relógio CDCLVC1102 (CDCLVC1102PW);
IC4/5 – Circuito de protecção TVS SP4020-01FTG;
J1 – Receptáculo de alimentação 5,5mm x 2,1mm;
J2/3 – Conector SMB Amphenol Connex 142146;
L1 – Conta de ferrite BLM21PG331SN1;
Q1 – Tirístor SCR NYC222STT1G;
R1 – Resistor de filme espesso 150Ω±5% 1/8W (0805);
R2 – Resistor de filme espesso 82Ω±5% 1/8W (0805);
R3/4 – Resistor de filme espesso 4,7Ω±5% 1/8W (0805).


O layout da placa está disponível nos formatos brd (Eagle 7.4.0) e Gerber. Como é habitual, recomendo que a encomenda da mesma seja feita através do OSH Park. Pode usar qualquer outro serviço de fabrico, desde que este suporte furação a partir de 0,5mm. Quanto à montagem, a soldadura dos componentes SMD deve ser feita via refusão com ar quente, de preferência utilizando um forno eléctrico com regulação de temperatura. Os restantes componentes podem ser soldados com um ferro de soldar.

A caixa recomendada para este projecto é a Hammond 1455D801. É uma caixa em alumínio anodizado, com acabamento disponível em várias cores. A placa foi dimensionada conforme os requisitos da caixa em questão. Os painéis frontal e traseiros devem ser trabalhados segundo o guia de furação.

Caixa Hammond 1455D801 (versão em anodizado azul). Esta é a caixa recomendada para o projecto.

Links importantes:
Diagrama do circuito (pdf): http://app.box.com/s/k7v3...4xr2
Diagrama do circuito (Eagle 7.4.0 sch): http://app.box.com/s/r1rs...t0ns
Layout da placa (pdf): http://app.box.com/s/u5is...8bqj
Layout da placa (Eagle 7.4.0 brd): http://app.box.com/s/n64k...sd96
Ficheiros Gerber: http://app.box.com/s/qnvk...tckx
Guia de furação: http://app.box.com/s/qts5...y06y
Notas do projecto: http://app.box.com/s/u5m1...vj7s
Pasta contendo todos os ficheiros: http://app.box.com/s/os5k...ze8m
Projecto no OSH Park: http://oshpark.com/shared_projects/PJN8R4p9