Arduino Severino USB/Serial AVR-CDC (ATmega8)

Montei o projeto AVR-CD [1] com o ATmega8 e funcionou! Estou utilizando para a comunicação com uma Arduino Severino [2].
Gostaria de ajuda porque somente consegui fazer funcionar alimentando a Arduino Severino atraves da USB, com a alimentação externa não funcionou.

[1] http://www.recursion.jp/avrcdc/cdc-232.html
[2] http://arduino.cc/en/Main/ArduinoBoardSerialSingleSided3

Paulo Gonçalves

Tem umas fotos da montagem do AVR-CDC com a Arduino Severino:

http://picasaweb.google.com.br/paulocg/ArduinoSeverinoAVRCDC?feat=directlink

Paulo Gonçalves

porquê não usa o ft232?
se for pelo encapsulamento smd, exite uma placa tipo as breakouts boards da www.sparkfun.com aqui no Brasil,
http://afonsolayout.sites.uol.com.br/ssop28.html
que fica fácil soldar o componente e montar o conversor serial-usb

além do mais pode-se pensar em fazer uma breackout específica para o conversor e assim só é necessário comprar os poucos componentes que compõem o circuito conversor.

qual o custo deste avr-cdc?

Oi Radamés,

Concordo com você que trabalhar com o FT232R não é difícil, já soldei um no adaptador da SparkFun:

http://picasaweb.google.com/paulocg/ArduinoSEVErino#5191752729566630082

Quanto ao custo, o mais significativo é do ATmega8 - R$4,50.
Eu acho que ele pode ser uma alternativa para um possivel Shield Serial/USB para o Arduino Severino.
Não é uma idéia nova, porque já existe um projeto de um Arduino que utiliza um Atmega8 para substituir o FT232R:

http://translate.google.com.br/translate?hl=pt-BR&sl=zh-CN&tl=en&u=http%3A%2F%2Farduino.tw%2F%3Fp%3D60

A utilização do AVR-CDC como conversor Serial/USB é experimental, conforme esta descrito no site do projeto:

"Although this technology is quite experimental, it may be useful to interface your original system to PC easily. The circuit is very simple, but it requires a certain amount of skills to control. If you need practical or stable solutions, or you are not familiar with electronics nor installing drivers, use the dedicated chip from vendors like FTDI."

abs,

Paulo Gonçalves

legal, mesmo!!
o Mr.Spock levantou a questão do porquê ainda não ter essa comunição USB diretamente do arduino, assim como um uprocessador da microchip o PIC18F4550.

mas voltando ao avr-cdc, estou interessado.
acho que poderia ajudar, qual o problema com alimentação externa?
você esta tentando fazer a comunicação sem utilizar as tensões da porta USB? quando utiliza a externa não funciona?

Radamés

Radamés,

Isso mesmo. Utilizando uma alimentação externa na Arduino não funcionou. Montei o circuito indicado no site do AVR-CDC [1] para quando a comunicação ocorre com um microcontrolador alimentado externamente com 5V mas mesmo assim não funcionou.

[1] http://www.recursion.jp/avrcdc/cdc-232.html#schematic

abs,

Paulo Gonçalves

Já usei o AVR-CDC, funcionou 100%, só que usei a alimentação do M8 em 5 volts, com aquele arranjo dos zeners de 3v3 para as linhas de dados da USB, conforme visto em outros projetos de exemplo no site.

Uma alternativa que achei interessante foi aquela em que o bootloader emula um gravador/ISP USBASP... perde-se uma interrupção externa, mas ganha-se a gravação dos sketches via USB...

Celso,

Obrigado pela dica!
Fiz a alteração utilizando os diodos, conforme o projeto Metaboard [1]. Agora com um jumper posso selecionar se a Severino e o adaptador USB/Serial vão utilizar alimentação da USB ou externa.
A Metaboard é interessante, porém somente é possivel carregar os sketches pela USB.

" AVR's UART lines are not used for USB. This means that they can be used for other purposes, but also that debug output written to the UART cannot be directly received via USB. "

Veja este projeto de uma Freeduino que já integra o conversor na mesma placa [2,3].

[1] Metaboard – Metalab Wiki
[2] http://www.roboticsindia.com/modules.php?name=Forums&file=viewtopic&t=4125
[3] http://letsmakerobots.com/node/10029

abs,

Paulo

Pra mim o grande problema é justamente o upload de sketches via serial, pois a grande maioria dos projetos que faço usa a serial para comunicação com outros equipamentos, são projetos stand-alone, não pra ficar mandando debug pela serial/usb... aí é um saco ter que ficar conectando e desconectando tudo pra atualizar o sketch, pois não dá pra ter um periférico E fazer upload pela serial ao mesmo tempo... o único porém é justamente a perda da interrupção externa, que pra mim é importante na leitura de cartões wiegand, que pela largura dos pulsos não podem ser lidos por pooling.