Usein näkee nykyisin MAX232 -piiriä käytettävän.
Mutta toimisiko tällainen vaihtoeheto mikrokontrolleripohjaisessa laitteessa,
tarkoitus on siis, että toimii
a) PC:n COM -porttiin kytkettäessä
sekä
b) PC:n USB -porttiin kytkettyyn USB-sarjaliikenneadapteriin kytkettäessä
(tämä vaihtoehto, kun laite pitää saada kytketyksi moderniin kannettavaan, jossa ei ole sarjaporttia)
Kytketään kondensaattori näin:
" " -pää kytketään sarjaporttiliittimen GND -nastaan
"-" -pää kytketään kahdella eri diodilla sekä DTR että RTS -nastaan
Diodit luonnollisesti niin päin, että niiden anodit on kytketty kondensaattorin "-" -nastaan.
Tällöin kondensaattori latautuu PC:n sarjaportista aina, kun vähintään toinen DTR ja RTS -nastoista
on jännitteeltään negatiivinen.
Tuon kondensaattorin "-" -nastasta laitetaan alasvetovastus (arvo ehkä 10-22 kilo-ohmia) sarjaporttiliittimen RxD -nastaan.
Tämä pitää RxD -nastan n. -9V jännitteessä silloin, kun RxD -nastaan ei tule muuta ohjausta (= looginen "1")
Loogista "0" -tilaa varten kytketään seuraavasti:
Mikrokontrollerin sarjaliikenne-antonasta kytketään sopivan kantavastuksen kautta PNP -transistorin kannalle.
ko. PNP -transistorin muut nastat kytketään seuraavasti:
Kollektori sarjaporttiliittimen RxD -nastaan.
Emitteri kahden sarjaankytketyn diodin läpi 5V jännitteeseen.
Nuo 2 diodia varmistamaan se, että vaikka mikrokontrolleri ei ehkä pysty antamaan 5V ulos loogisessa "1" -tilassa,
vaan "1" -tilan jännite jää ehkä 3.8V tasolle, kun mikrokontrollerin käyttöjännite on 5V,
niin PNP -transistorille 3.8V jännite kytkennän maatasoon nähden ei vielä ole negatiivinen kantajännite,
kuten se saattaisi olla, jos emitteri olisi suoraan 5V -nastaan kytketty. Näin siis loogisessa "1" -tilassa
transistori pysyy sulkutilassa n. 3.8V kantajännitteestä huolimatta.
Kun sitten mikrokontrolleri antaa ulos loogisen "0" sarjaliikenne-antonastastaan (= teoriassa 0V, ja ainakin alle 1V),
niin PNP -transistori näkee tuon negatiivisena kantajännitteenä ja alkaa johtaa päästäen n. 3.8V jännitteen PC:n
sarjaportin RxD -nastaan.
Näin siis saataisiin tehtyä RS-232 -yhteensopivat jännitetasot 4 diodilla, 1 kondensaattorilla, 2 vastuksella
ja 1 PNP -transistorilla.
Toimisiko em. ktkentä toivotulla tavalla ?
On toki tiedossa, ettei kytkentä ole 100% RS-232 -standardin mukainen,
mutta sen pitäisi silti olla ko standardin kanssa yhteensopiva, koska vastaanottopään pitäisi hyväksyä
itseisarvoltaan niinkin pienet jännitteet kuin 3V ja -3V.
Mutta toimisiko tällainen vaihtoeheto mikrokontrolleripohjaisessa laitteessa,
tarkoitus on siis, että toimii
a) PC:n COM -porttiin kytkettäessä
sekä
b) PC:n USB -porttiin kytkettyyn USB-sarjaliikenneadapteriin kytkettäessä
(tämä vaihtoehto, kun laite pitää saada kytketyksi moderniin kannettavaan, jossa ei ole sarjaporttia)
Kytketään kondensaattori näin:
" " -pää kytketään sarjaporttiliittimen GND -nastaan
"-" -pää kytketään kahdella eri diodilla sekä DTR että RTS -nastaan
Diodit luonnollisesti niin päin, että niiden anodit on kytketty kondensaattorin "-" -nastaan.
Tällöin kondensaattori latautuu PC:n sarjaportista aina, kun vähintään toinen DTR ja RTS -nastoista
on jännitteeltään negatiivinen.
Tuon kondensaattorin "-" -nastasta laitetaan alasvetovastus (arvo ehkä 10-22 kilo-ohmia) sarjaporttiliittimen RxD -nastaan.
Tämä pitää RxD -nastan n. -9V jännitteessä silloin, kun RxD -nastaan ei tule muuta ohjausta (= looginen "1")
Loogista "0" -tilaa varten kytketään seuraavasti:
Mikrokontrollerin sarjaliikenne-antonasta kytketään sopivan kantavastuksen kautta PNP -transistorin kannalle.
ko. PNP -transistorin muut nastat kytketään seuraavasti:
Kollektori sarjaporttiliittimen RxD -nastaan.
Emitteri kahden sarjaankytketyn diodin läpi 5V jännitteeseen.
Nuo 2 diodia varmistamaan se, että vaikka mikrokontrolleri ei ehkä pysty antamaan 5V ulos loogisessa "1" -tilassa,
vaan "1" -tilan jännite jää ehkä 3.8V tasolle, kun mikrokontrollerin käyttöjännite on 5V,
niin PNP -transistorille 3.8V jännite kytkennän maatasoon nähden ei vielä ole negatiivinen kantajännite,
kuten se saattaisi olla, jos emitteri olisi suoraan 5V -nastaan kytketty. Näin siis loogisessa "1" -tilassa
transistori pysyy sulkutilassa n. 3.8V kantajännitteestä huolimatta.
Kun sitten mikrokontrolleri antaa ulos loogisen "0" sarjaliikenne-antonastastaan (= teoriassa 0V, ja ainakin alle 1V),
niin PNP -transistori näkee tuon negatiivisena kantajännitteenä ja alkaa johtaa päästäen n. 3.8V jännitteen PC:n
sarjaportin RxD -nastaan.
Näin siis saataisiin tehtyä RS-232 -yhteensopivat jännitetasot 4 diodilla, 1 kondensaattorilla, 2 vastuksella
ja 1 PNP -transistorilla.
Toimisiko em. ktkentä toivotulla tavalla ?
On toki tiedossa, ettei kytkentä ole 100% RS-232 -standardin mukainen,
mutta sen pitäisi silti olla ko standardin kanssa yhteensopiva, koska vastaanottopään pitäisi hyväksyä
itseisarvoltaan niinkin pienet jännitteet kuin 3V ja -3V.
Vastaukset 4
Vanhimmat
max kyllä tekee itse tarvittavat jännitteet
Jos sovitin voi olla erillinen niin itse ostaisin ebay kaupasta. Ei paljon kannata itse tehdä. Aikanaan kyllä tein itse mutta vastaavan saa valmiina osien hinnalla jos ei halvemmalla. Muutenkin tuo ebay on oikea aarreaitta elektroniikka harrastukseen, jos ei ihan kaikkea ole pakko tehdä itse alusta alkaen. Tosin ei tuolla komponentitkaan paljon maksa ja tulevat kirjeessä kotiin asti.
http://www.ebay.com/
hakusanat, ttl to rs232
http://shop.ebay.com/i.html?LH_BIN=1&_kw=ttl to usb&_fcid=70&_localstpos=&_sc=1&_sop=15&_sticky=1&_stpos=&gbr=1
http://shop.ebay.com/i.html?_nkw=usb to ttl rs232&_sacat=0&_stpos=&LH_BIN=1&_sop=15&gbr=1&_odkw=ttl to usb rs232&_osacat=0&_trksid=p3286.c0.m270.l1313
http://freecircuitdiagram.com/2009/03/27/simple-ttl-rs232-level-converter-using-transistor/
http://picprojects.org.uk/projects/simpleSIO/ssio.htm