Boas! Alguma vez precisaram de um conversor de USB para RS232 para estabelecer comunicações série com o vosso microcontrolador? Se sim, provavelmente compraram um conversor de USB para RS232 e depois usaram um MAX232/DS232 para converter os níveis de tensão RS232 para níveis TTL ou LVTTL. A conversão feita desta forma requer algum dinheiro e também algum trabalho. Contudo, há uns cabos que fazem a conversão de uma ligação USB para uma ligação série com níveis LVTTL (compatíveis com TTL). A única coisa que tem de ser feita é mudar o conector. O último cabo que fiz custou-me apenas 1,85€ incluindo os portes! :D Se se comprar apenas um chip FTDI irá custar quase o dobro! (Sim, eu sei que os chips FTDI são provavelmente os melhores conversores USB-série mas a maioria dos utilizadores não necessitam de um conversor com as capacidades e especificações de um chip FTDI).
(Clicar na foto para ver com melhor resolução no Picasa Photostream) |
Neste post irei guiá-los pelo processo de modificar o cabo de modo a deixá-lo pronto para ligar microcontroladores ao computador para efectuar comunicações série ou até mesmo programar microcontroladores utilizando bootloaders. Antes de começar, devo dizer que esta modificação não é uma ideia minha. Vi-a no blog uCHobby e decidi fazer o meu próprio tutorial acerca da modificação do cabo (penso que a ideia original veio do blog de Jonathan Thomson. Aproveitem e consultem o blog dele também. Tem algumas coisas interessantes).
A primeira coisa que devem fazer é ir ao ebay e encomendar alguns cabos de dados do tipo DKU-5 ou CA-42 (cabos de modelos diferentes não servirão) para telemóveis Nokia. Pessoalmente, sempre encomendei os modelos DKU-5 mas penso que são essencialmente o mesmo que os CA-42. Os cabos são muito baratos e se tiverem a oportunidade de encomendar mais do que um de uma vez, sugiro que o façam, pois são cabos que são muito úteis numa grande variedade de projectos. Apesar de sempre ter encomendado cabos DKU-5, já recebi dois tipos de cabos diferentes. Na primeira encomenda recevi um cabo que continha um conversor da ArkMicro e um cabo de 6 fios. Na segunda recebi quatro cabos com um conversor PL2303 da Prolific e um cabo de 3 fios. Não é motivo para preocupações, pois apesar de serem diferentes, ambos funcionam perfeitamente e são reconhecidos no Ubuntu sem ser necessário instalar quaisquer drivers. Qual é a grande diferença, então? A diferença é que o cabo com o chip da ArkMicro pode alimentar o dispositivo a que vai ligar o cabo usando o fio de VCC, que tem 3.3V. Com os cabos com o chip PL2303 é necessário usar uma fonte de alimentação à parte para alimentar o dispositivo a que pretende ligar o cabo. Também é possível obter também uma linha de alimentação vinda do USB nestes cabos. Contudo, serão necessárias fazer modificações que vão além das que irão ser referidas neste tutorial.
Aqui está o que é necessário fazer:
- Certificar que o cabo está desligado de qualquer dispositivo em ambas as pontas.
- Cortar o cabo a cerca de 5cm do conector da Nokia. Agora teremos um cabo grande com um conector USB e outro cabo pequeno com o conector de dados da Nokia.
- Remover cerca de 1 ou 2 cm do isolamento em ambos os cabos. Se os cabos tiverem 3 condutores no interior, serão os sinais Gnd, Tx e Rx. Se tiverem mais de 3 cabos provavelmente existirá também a linha de alimentação, com 3.3V. :) De seguida é necessário descarnar também cada um dos condutores.
- Agora é altura de fazer alguns testes para descobrir que cor corresponde a cada sinal O ideal é usar a função de teste de continuidade com aviso sonoro que alguns multímetros têm. Caso o multímetro não tenha essa funcionalidade pode usar-se a função de medição de resistências (medir a resistência num condutor dará aproximadamente 0Ω). Na imagem abaixo pode observar-se o pinout do conector de dados da Nokia.
- Pin 8 - GND (Vermelho no cabo com chip ArkMicro; Preto no cabo com chip PL2303)
- Pin 7 - Rx (Verde no cabo com chip ArkMicro; Branco no cabo com chip PL2303)
- Pin 6 - Tx (Branco no cabo com chip ArkMicro; Vermelho no cabo com chip PL2303)
- Pin 5 - 3.3V (Laranja no cabo com chip ArkMicro; não existe no cabo com chip PL2303)
(Clicar na foto para ver com melhor resolução no Picasa Photostream) - Pôr uma das pontas de prova a tocar num dos pinos do conector e com a outra ponta de prova tocar nos fios descarnados um a um até se encontrar a cor que lhe corresponde. Para facilitar deve escrever-se num papel o número do pino e a cor correspondente. O processo deve repetir-se até se ter as cores dos 3 (ou 4) condutores.
- Agora que se sabe que cor corresponde a cada sinal, cortar um pouco de manga termo-retráctil e colocá-la no cabo com o conector USB. Não a aquecer ainda.
- Escolher um conector de 3 ou 4 pinos para pôr no cabo. Eu decidi usar um conector preto dos que são usados para ligar os LEDs e botões das caixas dos computadores às motherboards (estão também disponíveis nalgumas lojas como a Pololu ou a Technobots).
- Agora é preciso cravar os pinos metálicos nos cabos e depois inseri-los no encapsulamento plástico. Devemos certificar-nos de que ficam cravados de forma adequada. Se necessário aplicar alguma solda mas com cuidado para não abusar na solda, o que pode fazer com que não seja possível depois colocar os pinos no encapsulamento plástico.
- Finalmente, puxar a manga termo-retráctil para cobrir a pare dos fios e aquecê-la com o ferro de soldar.
Após estes 8 passos deverão ter um cabo conversor de USB para série com níveis LVTTL com bom aspecto e pronto a usar :D.
Get the flash player here: http://www.adobe.com/flashplayer
Anteriormente mencionei que é possível obter alimentação a partir do USB nos cabos que só têm 3 condutores. Para fazê-lo terão que abrir a ficha USB e depois procurar pelo pino de VCC da placa e soldar um fio no mesmo. Será também necessário arranjar um cabo com 4 condutores para substituir o de 3 condutores e voltar a soldar os 3 condutores nos respectivos pinos. Após isto, a ficha USB pode voltar a ser fechada com alguma cola quente. Não ficará tão robusto ou com bom aspecto como o cabo original, mas pode ser feito. Pessoalmente não o fiz, mas se forem necessários mais detalhes podem consultar a publicação original no blog de Jonathan Thomson.
Para testar o cabo, basta inserir a ficha USB no computador e inserir um fio na outra ponta do cabo ligando o Tx directamente ao Rx. De seguida abram o terminal e executem uma consola série como o "screen" (podem usar outros com o o "minicom" ou o "putty"):
screen /dev/ttyUSB0
Se não estiver instalado, pode-se fazer a instalação escrevendo
sudo apt-get install screen
De seguida basta carregar nalgumas teclas e deverão ver as letras correspondentes às mesmas a aparecer no ecrã.
Pessoalmente, desde que comecei a usar o Tiny Bootloader (tutorial em breve) e instalei o tinybldlin uso a interface gráfico da aplicação para testar os cabos.
E é tudo nesta pequena hack. Espero que venha a ser útil!
Achou esta publicação útil? Deseja contribuir para outros projectos envolvendo ciências computacionais, electrónica, robótica ou mecatrónica que serão publicados neste blog? Se sim, pode fazer uma doação utilizando o botão do Paypal abaixo. Obrigado! :)
0 Comments: