USB -> serialTTL
Napsal: 26 zář 2020, 17:26
Ahoj,
před lety jsem si zprovoznil malou robotickou ruku ovládanou 4mi servy.
Serva jsou řízena přes <Pololu Micro Serial Servo Controller SSC> (http://www.snailshop.cz/rizeni-serv/676 ... mbled.html).
Kontrolér krmím bajty z PC přímo přes RS-232 pomocí programu v pythonu. Všechno dobře fungule i po letech.
Ale teď bych potřeboval komunikovat i z notebooku přes USB. Našel jsem doma převodník USB->serialTTL podobný tomuto: (http://www.snailshop.cz/usb/706-usbttl- ... -port.html) , ale starší. Nemá CTS a RTS, což nevadí.
To mi ale nefunguje a potřeboval bych poradit.
USB stranu převodníku jsem zapojil podle barev na ucvaklém usb kabelu.
Tx převodníku jsem zapojil na <logic-level serial input> v kontroléru (je jinde než vstup pro RS-232 úrovně.)
Rx převodníku na <logic-level serial output> kontroléru. To by nemuselo být.
Zem je jasná.
Podle stránek výrobce čipu převodníku FTDI (https://www.ftdichip.com/Drivers/VCP.htm) , by se měl převodník objevit jako další COM port a aplikace by k němu měly přistupovat stejným způsobem. Ovladače už jsou obsaženy v linuxovém jádře nad 3.0.0-19, takže bych neměl nic instalovat.
Po připojení k PC se mi převodník objeví jako /dev/ttyUSB0, takže systém ho zná.
Program jsem ponechal stejný až na jméno portu.
Po zapnutí napájení serv i kontroléru se na kontroléru rozsvítí žlutá LED a čeká na komunikaci. Po pokusu o komunikaci z PC sebou cuknou serva, rozbliká se červená LED, žlutá svítí a to je vše.
Pravděpodobně chybný formát na vstupu. Kontrolér rozpozná baudrate automaticky, očekává formát 8N1. Posílám mu 8N1 na 2400Bd, na RS-232 to funguje bezchybně.
Provedl jsem ještě pokus se starším převodníkem RS-232->TTL, podobným tomuto: (https://papouch.com/vestavny-prevodnik-rs232-ttl-p2047/) , který jsem připojil stejným způsobem na TTL vstupy kontroléru a funguje to pěkně.
Nejsem odborník, zabývám se těmito věcmi jen občas pro zábavu.
Co jsem mohl zanedbat při komunikaci přes ten USB->serialTTL převodník?
Díky za radu.
před lety jsem si zprovoznil malou robotickou ruku ovládanou 4mi servy.
Serva jsou řízena přes <Pololu Micro Serial Servo Controller SSC> (http://www.snailshop.cz/rizeni-serv/676 ... mbled.html).
Kontrolér krmím bajty z PC přímo přes RS-232 pomocí programu v pythonu. Všechno dobře fungule i po letech.
Ale teď bych potřeboval komunikovat i z notebooku přes USB. Našel jsem doma převodník USB->serialTTL podobný tomuto: (http://www.snailshop.cz/usb/706-usbttl- ... -port.html) , ale starší. Nemá CTS a RTS, což nevadí.
To mi ale nefunguje a potřeboval bych poradit.
USB stranu převodníku jsem zapojil podle barev na ucvaklém usb kabelu.
Tx převodníku jsem zapojil na <logic-level serial input> v kontroléru (je jinde než vstup pro RS-232 úrovně.)
Rx převodníku na <logic-level serial output> kontroléru. To by nemuselo být.
Zem je jasná.
Podle stránek výrobce čipu převodníku FTDI (https://www.ftdichip.com/Drivers/VCP.htm) , by se měl převodník objevit jako další COM port a aplikace by k němu měly přistupovat stejným způsobem. Ovladače už jsou obsaženy v linuxovém jádře nad 3.0.0-19, takže bych neměl nic instalovat.
Po připojení k PC se mi převodník objeví jako /dev/ttyUSB0, takže systém ho zná.
Program jsem ponechal stejný až na jméno portu.
Po zapnutí napájení serv i kontroléru se na kontroléru rozsvítí žlutá LED a čeká na komunikaci. Po pokusu o komunikaci z PC sebou cuknou serva, rozbliká se červená LED, žlutá svítí a to je vše.
Pravděpodobně chybný formát na vstupu. Kontrolér rozpozná baudrate automaticky, očekává formát 8N1. Posílám mu 8N1 na 2400Bd, na RS-232 to funguje bezchybně.
Provedl jsem ještě pokus se starším převodníkem RS-232->TTL, podobným tomuto: (https://papouch.com/vestavny-prevodnik-rs232-ttl-p2047/) , který jsem připojil stejným způsobem na TTL vstupy kontroléru a funguje to pěkně.
Nejsem odborník, zabývám se těmito věcmi jen občas pro zábavu.
Co jsem mohl zanedbat při komunikaci přes ten USB->serialTTL převodník?
Díky za radu.