Serial port de robo danificada

Tenho um botnroll one A, que usa o sistema de arduino pra funcionar. A porta q fazia comunicação com o computador, no estilo USB-B, parou de funcionar, e a peca só é produzida na Eslovenia. Perguntei no forum pros gringos e eles me falaram q dava pra usar qualquer outra porta que tivesse funcao de serial port, mas nao to achando nenhuma aqui na internet. Vou anexar foto da serial port original(USB-B), da sugerida pelos gringos e o data sheet da serial port original.
Alguem pode me indicar uma serial port que conseguiria substituir e atender minhas necessidades?
Grato
PoUSB12 user manual (2).pdf (35.6 KB)



É este o modelo do seu robot?

O que está danificado, só o conector? Ou a comunicação com o "arduino"?

Sim

Apenas o conector

Boa parte das informações que você podia pegar já foram dadas lá. A peça original é uma porta USB-B com um conversor CP-2102 estrategicamente integrado. Assim como eles, eu nunca tinha visto uma dessas.

Para substituir o conversor, no Brasil eu achei esse modelo aqui:

https://www.eletrogate.com/modulo-conversor-usb-2.0-para-rs232-ttl-cp2102-5-pinos

só que ele não vai simplesmente encaixar no lugar da peça anterior. Teria que soldar pinos na placa original para poder conectar esse conversor na placa com jumpers.

O conector danificado é USB Tipo B femea.
Procure na sua região/cidade algum lugar que venda o conector USB tipo B femea.
Voce tem pratica para fazer fazer solda em PCBs?

Este desta foto parece estar montado em um pequeno PCB.
image

O original USB Tipo B Femea é assim:

image

O problema é esse. A PCB onde o conector está soldado tem um conversor integrado:

image

Sua ideia é comprar um conector USB fêmea comum e soldar na PCB que tem o conversor? É também uma possibilidade, mas precisávamos ter certeza que o conversor não está danificado. Veja o que diz o OP:

Diante disso, eu desconfio que esse CP2102 que tem na PCB já era...

Realmente, o CP2102 ta quebrado no meio

Entao, esse nao tem o mesmo numero de entradas do meu. Tem 3 a menos

Aí seria interessante alguém com mais conhecimento em protocolos de comunicação que eu se manifestar. Talvez os pinos DTR, RTS e Suspend do seu conector não estivessem ligados a lugar nenhum. Olhando para a placa do circuito, você identifica onde eles estão ligados?

O pino DTR, por exemplo, aparece em conversores FTDI (chip FT232RL). Não é o mesmo chip que estava sendo usado antes (CP2102). Em todo caso, eu acredito que funcionará também.

EDIT: pensando bem, acho que é melhor mesmo usar um FTDI. Esse é um exemplo:

https://www.eletrogate.com/modulo-conversor-usb-para-rs232-ttl-ft232rl

O pino DTR parece estar relacionado a resetar o Arduino, colocando o bootloader pra funcionar.

Eu nao entendo muito dessas coisas, ate pq n tenho formacao em nada, estou no colegio ainda. Mas no caso de usar esse que vc recomendou, qual a diferenca entre ftdi e o cp2102? Ele pelo jeito tem varias entradas, entao ele conseguiria funcionar seguindo os padroes do original em tese? Nao consigo ver pra onde esses pinos tao indo, pq n tem esquematico pro robo infelizmente, mas vou anexar uma foto dele, se ajuda
Edit: Achei o esquematico do robo, ta na última pagina desse manual:
Manual-Montagem-Bot'n-Roll-ONE-A (5).pdf (6.0 MB)

Acho que você está de parabéns por já estar trabalhando com robótica.
Nenhum de nós sabe tudo. Eu sou engenheiro, mas não eletrônico. Comecei a mexer com Arduino como diversão em 2021. Então tem muita coisa que eu também não sei. Essa aqui é uma delas:

Preciso estudar mais. Ambos parecem ser conversores USB/TTL que apenas usam chips diferentes como base. Num primeiro momento me pareceu fazer sentido substituir o chip antigo por um igual, mas sua observação sobre a diferença no número de pinos dos dois módulos realmente foi boa. Como a gente não tem o esquemático da placa,

só podemos responder mesmo em tese. E em tese, sim. O novo conversor deveria funcionar como o original. Esse segundo que eu sugeri provavelmente tem pinagem mais parecida com a da sua placa.

Na verdade não era a essa figura que eu me referia, mas sim ao diagrama que indica onde cada componente elétrico vai ligado . :wink:

Eis aqui uma terceira alternativa, que usa o mesmo chip original (CP2102), mas tem espaço para o pino DTR:

https://www.makerhero.com/produto/modulo-conversor-usb-ttl-cp2102-serial-rs232/

nesse caso aqui, a complicação é que você teria que soldar os pinos na placa do conversor também.

Eu tenho certa experiencia com solda, entao nao seria um problema. A maior complicacao que encontro é a diferenca entre a quantidade de pinos e os nomes dos mesmos, ja que varios nao correspondem, entao nao tenho certeza de onde soldaria cada pino

image

O segundo modelo que eu te mandei (post #11) tem todos os pinos exceto o SUSPEND. O terceiro modelo (post #13) não tem o Suspend e o RTS, mas o DTR pode fazer as vezes do RTS pelo que eu andei lendo.

Daqui pra frente não tem muito jeito. Ou você compra o mais parecido e testa, ou você pede uma peça original da Eslovênia. :man_shrugging:t2:

Ok, vamos por partes:
Parte 1. Diferença entre CP102 e FTDI (FTDI USB/RS232).

Resumindo simploriamente, 'eles são de fabricantes diferentes'.

Veja na imagem abaixo.

Ambos desempenham a mesma função de interface USB com padrão RS232 de nivel TTL.
Veja que ambos tem os pincipais pinos do padrão RS232.
Ex: RX, TX, RTS, DTR, DTR, CTS.....

No seu robo só são usados os RX, TX, RTS, DTR.

Mas acho que será mais façil encontrar o adaptador com o FTDI.

Parte 2:
Troca do seu USB atual, (com o cp102), por um modulo externo.
Em todos módulos com CP2102 que encontrei a venda no Brasil, nenhum tinha a saída RTS disponível.
image

Então sugiro que voce use o modulo com o chip FTDI, além de ser mais fácil de encontrar eles tem o pino RTS disponível.

A imagem abaixo é a parte do esquemático da sua placa do robot, relativa a placa USB/CP2102.

Ao remover o conector junto com a plaquinha, estes são os pinos que deverão ser religados com o novo modulo.

image

Solde uma ponta de um fio em cada pino deste na placa do robot e solde a outra ponta no modulo FTDI.

Depois voce terá que usar outro cabo para conectar o seu robot no PC pois este modulo usa o conector USB mini ao invés do USB type B.

Terá também que instalar o driver para o FTDI, para que este novo modulo seja reconhecido.

Espero ter ajudado. Qualquer dificuldade estamos por aqui.

PS: Segue abaixo o esquemático completo da placa do seu robot.
Não encontrei onde na placa vai ligado o pino SUSPENDE.

Schematics-Bot'n-Roll-ONE-A.pdf (760.6 KB)

1 Like

Boa Noite
Muito obrigado pelo esclarecimento.
Realmente, estava cojitando usar ftdi ao inves de cp2102. Minha maior duvida é encontrar um conversor serial que tenha todos os pinos necessarios. No decorrer da sua pesquisa, por acaso você teria encontrado algum que se encaixasse nas especificacoes? Outra coisa, voce sabe o que SUSPEND, na eletronica, poderia significar ou ser usado para?

Como não consegui identificar onde no circuito do robot vai ligado o pino SUSPEND,
e por conhecer bem o protocolo RS232, acredito que ele é desnecessário.
Como o custo do modulo com o FTDI é muito barato, vale a pena tentar usa-lo sem conectar nada no pino SUSPENDE.
Mas caso queira algum modulo que tenha este pino, pode adquirir este na Mouser nos EEUUU. Eles enviam para o Brasil.
https://www.mouser.com/datasheet/2/368/ug254_cp2102n_miniek-2489569.pdf

https://www.mouser.com/ProductDetail/Silicon-Labs/CP2102N-MINIEK?qs=bYcAidFZG4gm0B6FZQu4VA%3D%3D&mgh=1&utm_id=17222215321&gad_source=1&gclid=CjwKCAjw59q2BhBOEiwAKc0ijVjSU-SB_SXOvwCZXC9g0xY2ik-Yp1sPPTZUdwoF3zKtwsKTwx8QQRoCW0IQAvD_BwE

Voce mora em que estado do Brasil?

PS:
Explicação do datasheet do CP1202 sobre o pino SUSPEND
"SUSPEND 12* D Out This pin is driven high when the CP2102 enters the USB suspend
state."
Ref: https://www.sparkfun.com/datasheets/IC/cp2102.pdf

Eu moro no MS.
Voce sabe quanto tempo leva pra chegar no Brasil em média?
Outra coisa, nao consegui visualizar na imagem o nome de cada pino, essa informacao esta no arquivo que voce enviou?