# Lietotāju Izstrādājumi >  USB  RS485  pāreja ar lediem uz DIN sliedes

## Powerons

Nolēmu iepostēt vienkāršu bet noderīgu lietu - USB - RS485 pāreju.

 Protams pilns internets ar līdzīgiem aparātiem, kāpēc tad savajadzējās taisīt jaunu?

1. Stiprināms uz DIN sliedes.
2. kompakts izmērs.
3. Led indikācija uz noraidīšanu un saņemšanu - sīkums bet ļoti svarīgs

DIN stiprināmo korpusu var dabūt elfa.lv preces kods:50-185-69

Manā gadījuma šis aparāts, paredzēts mājas automātikai sadales kastē blakus Raspberry PI

Shēma un PCB:


Bildes, kā tas izskatās dabā:



Izejas faili - Eagle faili, PDF ar zīmējumu, un PCB zīmējums bildes formātā

USB-485-DIN.zip

----------


## JDat

Labi! Pat ļoti labi!. Vienīgi, apsveru iespēju par galvanītisku atsaist starp USB un RS-485. Nu tā, iespējamai papildus drošibai. Vai vajag? Varbūt nevajag. Vienkārši man tāds niķis.

----------


## M_J

Noderīga lieta. Par šo pašu tematu man nedod mieru viens jautājums. Gan jau atbildi ir iespējams atrast, nejautājot šeit, bet izmantojot gadījumu, tomēr pajautāšu. RS485 draivera mikroshēmai ir tās divas kājiņas, kas parasti tiek saslēgtas kopā, kuras ļauj to pārslēgt no uztveršanas uz raidīšanu. Šajā shēmā tās ir pieslēgtas FT232 13. izvadam. Esmu redzējis RS232 - RS485 pāreju shēmas, kur pārslēgšanās uz raidīšanu tiek realizēta tiklīdz TX izvadā parādās signāls, citreiz pārslēgšanai tiek izmantots kāds cits RS232 signāls, Otrajā gadījumā, protams, programmā, kas ir uz PC jābūt paredzētai attiecīgās kājas vadībai, toties pārslēgšanos šurpu/turpu var realizēt precīzi vajadzīgajā momentā. Pašreiz lietoju pāreju, kur pārslēgšanās realizēta automātiski, parādoties TX signālam, problēmu nav bijis, bet strādājis esmu tikai ar dažiem kontrolieriem un maziem datu apmaiņas ātrumiem, kur pārslēgšanās aiztures no uztveršanas uz raidīšanu nespēlē būtisku lomu. Bet pieļauju, ka ir kontrolieri un programmas, kur šāds vienkāršots piegājiens neiet cauri. Bet to es nezinu, tāpēc jautāju, kā ir ar šo lietu?

----------


## Powerons

> Vienīgi, apsveru iespēju par galvanītisku atsaist starp USB un RS-485.


 Manā gadījumā neko atdalīt nevajadzēja, bet ir vietas kur tā atdalīšana var noderēt.
Tas rs485 čips ir speciāli DIP korpusā, ja nu pamanās to nosvilināt lai var apmainīt. Pagaidām neko nosvilinājis nēsmu.
 Lai gan vienreiz viņam izeju salaidu uz īsiem, tikai uzsila un nenosvila, tur iekšā bija aizsardzība  :: 




> RS485 draivera mikroshēmai ir tās divas kājiņas, kas parasti tiek saslēgtas kopā, kuras ļauj to pārslēgt no uztveršanas uz raidīšanu. Šajā shēmā tās ir pieslēgtas FT232 13. izvadam.


 Diemžēl vēl joprojām, neesmu redzējis tādu usb pāreju, kas spētu aizstāt RS232 reālu dzelzizku portu.

bet par pārējo, paraugs ņemts no šejienes un te arī viss apraksīts, negribas to pašu vienkārši pārakstīt:
http://bsvi.ru/perexodnik-usb-rs485/

Ar tiem USB portiem problēma tāda, ka tiem  signāls RTS reaģē par lēnu, un tāpēc tas kļūst neizmantojams.

Tā 13 kāja arī padod signālu tiklīdz ko sāk sūtīt.

Pārējo cik nu var izdara pull Up un pool down rezistori izejā, lai trokšņi līnijā nebūtu. Varbūt ka uz lieliem attālumiem tam ir nozīme

----------


## marizo

Tiešām labi!
Man jau arī kaut kā patiktos, ja būtu izolācija starp USB un 485, tad būtu gatavs pat dažus uztaisīt/nopirkt. Diezgan populāri izolatori ir ADUM1301, bet mazumcena neinteresanta, klāt vēl DIY ņemšanās, tad jau vienkāršāk nopirkt kaut ko no CN.
M_J, jāskatās, cik ātri, piemēram, FT232 pārslēdzas starp RX/TX. Man patīk, ka šī opcija ir norādāma mikroshēmas uzstādījumos, vienreiz ieprogrammē un aizmirst. Nedomāju, ka tur var rasties kādas problēmas pat pie lieliem ātrumiem, it īpaši, ja 485 uzlikti pull-up/pull-down un end rezistori.
Agrāk ir redzētas shēmas, kur no RS232 TX signāla ar 555 taisīja slēgšanos. Tur gan bija jāpārregulē tā pārslēgšanās aizture dažādiem ātrumiem.

----------


## M_J

Es optiskajai atsaistei izmantoju 6N137, maksā centus, uz 115200 iet ka prieks, ātrāk neesmu mēģinājis. Lai nobarotu to shēmas daļu, kas ir aiz izolācijas, lietoju AIMTEC AM1S-0505SZ. Tas - saziņai starp kontrolieriem. Starp PC un kontrolieri CP2102 + tie paši 6N137 + AIMTEC. Bet tur viss notiek pa tiešo bez RS485 jo USB ligzda ir jau uz kontroliera plates. Bet ja gribas ar starp PC un kontrolieri sarunāties caur RS485, man ir USB - COM pāreja + shēmiņa, kāda redzama Powerona dotajā linkā, ar 555 taimeri. Tas viss arī iet uz 115200, bet, skatoties ar osciloskopu man tas signāls īsti nepatīk, visu laiku notiek tizla slēgāšanās RX/TX. Gribu no tā tikt vaļā, turklāt līdz minimumam samazināt pauzes starp paketēm.

----------


## M_J

Mana versija par USB-RS485 pāreju. Tas gan nav gluži precīzi. Ikdienā rodas vajadzība pieslēgties pie dažādām ierīcēm. Gan ar RS485, gan ar LIN (automobilistu vidū pazīstama arī kā K līnija), gan ar RX un TX līnijām 5V līmenī (tipisks piemērs - auto gāzes vadības bloki). Lai nevajadzētu katram gadījumam savu pāreju, uztaisīju vienu universālo ar galvanisku atsaisti. Izmantota mikroshēma CP2102, optroni 6N137, DC-DC pārveidotājs AIMTEC AM1S-0505SZ un ATTINY2313, kurš ļauj realizēt pieminētos fiziskos signāla līmeņus ierīces izejās bez peremičku spraudīšanas. Lai pārslēgtos starp minētajiem līniju variantiem, jānospiež mikroslēdzis un jāpatur nospiestā stāvoklī 2 sekundes. Ir divas gaismas diodes, kas indicē izvēlēto variantu, divas citas indicē TX un RX līniju stāvokli. Pie viena pamēģināju lāzerprintera-gludekļa tehnoloģiju. Dzelteno ķīniešu papīru neesmu iepircis, mēģināju glancēto papīru no viena reklāmas kataloga. Konstatēju ka mans Brother printeris nav labākais variants šādām nodarbēm. Elfas kataloga papīru saburza, bet glancētais foto papīrs ir par biezu, to vienkārši nevelk iekšā. Arī tonera kārtiņa plāna. Pagaidām ar rezultātu esmu ļoti nemierā. Bet ierīce strādā ar visa veida līnijām. Pārbaudīju līdz ātrumam 115200. Pagaidām bez kastītes. Paredzēta caurspīdīga kastīte no TME.

Shēma pievienotajā pdf failā.

usb.pdf

----------


## JDat

M_J, vari var palūgr principiālo shēmu? USB bitbang CDC neievieš uzticību.  ::  Te prasās pēc FTDI vai Atmega32U.

----------


## M_J

Shēma klāt pieliktajā failā usb.pdf, kuru blakus bildēm grūti pamanīt.

----------


## JDat

Tagad pamanīju. Jautājums: kāpēc nav izmantots MAX485 line driver? Paskaties http://www.rs485.com shēmas. Gan atradīsi arī kaut ko priekš sevis.

----------


## M_J

Bija doma izmantot MAX485 vai kādu analogu. Bet MAX485 līnijas draiveris nestrādātu ar mašīnu K līniju vai ar gāzes iekārtu RX TX līnijām. Tad priekš šīm līnijām vajadzētu atsevišķas izejas. To es negribēju. Gribēju lai pie tām pašām klemmēm pēc vajadzības varētu slēgt gan RS485, gan K līniju, gan RX un TX līnijas.

----------


## Powerons

Priekš specifiskām individuālām vajadzībām tik universiāls aparāts,  jau labs. 
Kādam cita diez vai tik universiālu aparātu vajadzēs.

Aparāts drīzāk izstrādāts, tāds kuru varētu rūpnieciski ražot, ne mājās kopā lipināt.

Man gan šķiet, ka aiziet līdz QFN izmēram mājas apstākļos taisītai PCB diez vai ir vērts. Ir tomēr varbūtiba ka var kas neizdoties ar pirmo piegājienu.
Cita lieta, ja vajadezīgais čips ir tikai un vienīgi iekš QFN.

----------


## simistors

Tas ir tīri priekš sava hobija, vai komerciālos nōlūkos ? Taujāju  tāpēc, ka man ir līdzīga interese un nodarbe, bet man tas šķiet ļoti vecmodīgi. 

Ne mūsdienu auto ar k- līniju aplūkot, ne  jauna un moderna gāzes iekārta runāsies ar tx-rx... tīri sportiska interese un nekas personīgs. ::

----------


## M_J

CP2102 ir tikai QFN korpusā. Un mājas apstākļos uztaisīju tikai pirmo eksemplāru. Pasūtīšu Almiko kādu čupiņu ar platītēm, salodēšu, lai stāv plauktā, lai var iedot, ja kādam vajadzēs. Kaut kā vienmēr tā sanāk, ka kādam steidzīgi un neatliekami ievajagas kādu pāreju, atdodu savējo un palieku bešā, kamēr nopērku vai salodēju nākošo.

----------


## Powerons

Ar ko CP2102 ir tik labs, ka bija jāņem čips QFN korpusā?

Man doma iepirkt kādu čupiņu ar CH340G lēts,  nezinu cilk labs vai slikts, bet maz kājas un so16 korpusā
Man ir USB rs232 pāreja kurai draiverim klāt:  CH340  un tam darbojās programma  QModBus
 Ar FTDI tā karās aukšā. Ar citiem softiem nav problēmas.

----------


## M_J

Ta velns viņu zina vai hobija, vai komerciālos nolūkos. Protams, lai slēgtos pie mašīnām vislabākais ir ražotāja oriģinālais verķis ... vai ķīnīzeru klons. Ir man čupiņa ar pēdējiem. Bet ne visiem dzīves gadījumiem. Un gadās situācijas, kad problēmu var atrisināt ar kādu vienkāršu, internetā sameklētu "tūli" un k līnijas adapteri. Labi, ja tāds ir pa rokai. Ar gāzes sistēmām neaizraujos, par pēdējām modes tendencēm neinteresējos bet visi tie itāļu/poļu 4-tās vai kuras tur paaudzes gāzes kompji ar 4 kontaktu štekerīti, kuriem esmu slēdzies klāt, pa TTL līmeņa RX-TX līnijām ir strādājuši. Un atkal - labi ja tāds vadiņš ir pa rokai. Bet to auto lietu pa lielam esmu nometis malā, ja nu galīgi neizdodas atsisties, kādu auto paskatos. Pašreiz darbojos ar koģenerācijas elektrostacijām. Pārslēgties uz to bija kā iekāpt laika mašīnā un pabraukt vienus 20 gadus atpakaļ. Motoru vadība ir tādā līmenī, kā auto bija 91. gadā. Labi, ka nav uz lampām. RS485 būs vēl ilgi un dikti. Un ir vēl šādas tādas paša konstrukcijas, kā platjoslas lambda zondes kontrolieris, elektroniskā droseļvārsta vadība, kas strādā pa k līniju.

----------


## M_J

Nebija nekādas dziļās domas izvēloties CP2102. Pirms dažiem gadiem, kad radās fiksā ideja paspēlēties ar šāda veida pāreju, Argusā FTDI nebija uz vietas, bet CP2102 bija. Mazus SMD korpusus nekad neesmu uztvēris kā problēmu, tieši otrādi, patīk knibināties ar sīkām detaļām. CP2102 aizgāja uzreiz, bez kādām problēmām un kāršanās, kāpēc gan meklēt ko citu?

----------


## sharps

Poweron kādu draiveri tu izmantoji tam FT232 čipam. Vai viņu orģinālo VCP draiveri? Skatījos FTDI mājas lapā USB-RS485 pārveidotāju, tad tam tur 485 mikrenes 2ā un 3ā kāja tiek dzenāta neatkarīgi viena no otras.

----------


## marizo

FTDI ir tādas labas CBUS0-4 izejas, kuras var konfigurēt ar FTDI tūli (neatceros, kā precīzi saucās). Ar tām var pieviest visādas papildus iespējas - LED indikāciju par sūtīšanu, saņemšanu, ieslēgt/izslēgt RS485 čipu u.c. Tur arī rodas iespēja FT232 pašam menedžēt sūtīšanas/saņemšanas pārslēgšanos. 
Attiecībā uz 485 2, 3 kāju - principā tās darbojas inversi- t.i., vadot abas kopā ar TXDEN signālu, nekad neiegūsi loopback- nesaņemsi nosūtītos datus.
Ja 2. vada ar PWREN#, tad uztvērējs visu laiku būs ieslēgts (loopback), izņemot tad, ja FT232 nebūs darba stāvoklī (bez barošanas - uz to netiks sūtīti RX dati), jebšu vienkāršiem vārdiem - iemidzina 485 čipu, ja tas nav vajadzīgs.

----------


## sharps

Tas laikam ir USB-485 Echo Configuration Utility vai šis otrs. Pēc FT232 čipa manuāļa sanāk ka CBUS0-4 ir nokonfigurēti defaultā un atbilst shēmā parādītam. Man pašam ir RS232 UB232 platīte ar TTL izejas līmeņiem. Parādījusies vajadzība man tagad pēc USB-RS485. Tad nu pētu iespējas pieslēgt pie PC.

PS
FTDI shēma CBUS3 (PWREN#) ir pieslegts pie MOSFET, bet ne pie 485 mikrenes 2ās kājas. Pie 2as kājas pieslēgts CBUS4 (SLEEP#).
....


Pēc idejas sanāk ka es savu UB232 plati varu papildināt uz maketnieces ar 485 čipu un cilāt 2-3 kāju kaut vai ar RTS# signālu. Vai tā?

----------


## marizo

Nez, kā ir default un kā konkrētā gadījumā. Arī FT232 datu lapā ir viena 485 shēma, tur CBUS2 (TXDEN) pie 3; CBUS3 (PWREN#) pie 2. Pietam - nekas neliedz nokonfigurēt 2 CBUS ar vienu funkciju, kā ērtāk iztrasēt plati, tā arī var uzlikt.
Katrā ziņā Tevis dotā 485 konvertera aprakstā figurē teksts:



> *5.4* *Local Echo*
> RS485 systems often have local echo enabled. This means any data transmitted by a device is echoed back to itself. The USB-RS485-WE cable allows for local echo to be enabled/disabled by changing a bit in the FT232R EEPROM. If CBUS4 in the EEPROM is set for “PWRON#” local echo is enabled. If CBUS4 in the EEPROM is set for “TXDEN” local echo is disabled.
> Users can set this with MPROG from www.ftdichip.com
> The default for the local echo is disabled (CBUS4 set for “TXDEN).


 Tā ka Echo konfigurācija ar to tooli iedarbojas tikai uz CBUS4.
MOSFET liek, lai varētu atslēgt parējai shēmai barošanu. Kamēr FTDI nav pienācīgi inicializējies, kompis var sākt lamāties, ja šim no USB sāks smelt lielo strāvu. USB specifikācija tā liek, kaut pats esmu licis PIC, dažus led un DS18B20 pa tiešo un viss ir darbojies.
Tas UB232 ir šis? Tam var izmantot CBUS0 un CBUS1 (attiecīgi plates 6. un 5. kontakts), lai slēgātu 485 virzienus.
Bet varbūt vienkāršāk paņemt kaut ko no šiem, gan jau var atrast kādam arī shēmu.

----------


## sharps

Jā šis pats UB232.
Tie ebay risinājumi ir pietiekami lēti viens otrs, lai pats kaut ko ķīmiķotu augšā. Viena FT232 mikrene jau maksā tikpat cik gatava plate.
Ok paldies par informāciju. Nav tik traki kā sākumā likās. Tapu gudrāks par šo. Bija doma stabilu komunikāciju starp MCU un PC uztaisīt, lai uz PHP kodētu lapu ko izvadīt varētu. It kā kaut kādus datus nolasīt varēju, bet ikai tad ja pats MCU sūta viņam neko neprasot. Šeit arī man bija tā aizķeršanās, ka no PC sūtot komandu viņa te aiziet, bet nav abildes no MCU un otrādi. Tuvākā laika būs jaizmēģina tā lieta. Varētu vēl full duplex RS485, bet sākumā šis jāpamēģina.

----------


## marizo

Nu testiem jau var izmantot TTL RX/TX. Kad panākta stabila darbība, tad var pieviest RS485. MCU pusē jau tāpat jāmaina datu virziens.

----------


## sharps

Beidzot tiku pie tās savas UB232 FTDI  plates testēšanas. CBUS0 ieprogrammēju kā TXDEN un pievienoju pie ST485  čipa 2-3 kājām. 485 tīkla savienoti Master kontrolieris, izpildierīce  ar kontrolieri un PC.  Master laiku pa laikam pēc savas programmas sūta  "cietās" komandas. PC konsole tās komandas arī smuki paradās.  Izpildierīce arī izpilda komandas tīri korekti. No PC konsoles es šīs  komandas arī varu nosūtīt, kuras brīvi saprot izpildierīce. Bitrate  tīklam 19200. Datiem praktiski nav nekādu kolīziju. Izskatās ka lieta  iet. Tikai viena nianse. Izslēdzot PC kāda no ierīcēm mēdz nokārties un  nākas to restartēt.

----------

