Hur koppla RS232 till UART på AVR-processor

Robot, CNC, Pneumatik, Hydraulik, mm
Användarvisningsbild
larsboy
Inlägg: 10
Blev medlem: 24 april 2005, 13:51:50

Hur koppla RS232 till UART på AVR-processor

Inlägg av larsboy »

Jag vill koppla sladdarna i COM1-kabeln från min dator direkt till UART:en på en AVR-processor (Mega8), och funderar på hur detta enklast ska göras.

Jag behöver inte ha kommunikation båda vägarna, utan det räcker med att kunna skicka meddelanden från dator till microprocessor.

Som jag har förstått det så skickar COM1 en signal mellan 0 och +20V. AVR-processorn tar emot en signal som bör ligga kring 3,5V.
Skulle det vara möjligt att helt enkelt koppla in två högohmiga motstånd i serie med COM1 och rätt i jord, för att på det sättet skapa spänningsdelning och få ut rätt signalstyrka till processorn?

Det kanske finns någon krets att använda?

Om någon har erfarenhet av detta får ni gärna komma med tips.
Användarvisningsbild
Hedis
Inlägg: 2488
Blev medlem: 8 december 2003, 15:10:44
Ort: Vänersborg
Kontakt:

Inlägg av Hedis »

Om du skall göra det riktigt så skall en MAx232 användar för signalkonverteringen.

rs232 arbetar mellan +12v och -12 enligt specen. (+/- 15v tydligen :)) Men däremot börjar elektroniken i vissa fall bli snällare emot nivåerna.
Tror det finns fall där det fungerat med 0-5v tom.

Däremot så skall signalen inverteras.

Sök på Max232 så skall du nog hitta några läsvärda trådar.
Man kan även fuska till sig inverteringen med en/två transistorer.

Edit: HÄR har du lite info om det hela.
Användarvisningsbild
larsboy
Inlägg: 10
Blev medlem: 24 april 2005, 13:51:50

Inlägg av larsboy »

Tack för tipset. Ska kolla upp det.
frejo
Inlägg: 496
Blev medlem: 21 april 2004, 21:43:01
Ort: Linköping

Inlägg av frejo »

Använd t.ex. max3222.

Koppla:
TXD från uC till T1IN
RXD från uC till R1OUT

T1OUT till Pinne 2 i kontaktdonet (Recv Data)
R1IN till pinne 3 i kontaktdonet. (Trans Data)

Glöm inte att jorda signal ground i kontaktdonet... det tog mig en stund att förstå varför kommunikationen upphörde så fort programmeraren kopplades ur, den jordade via parallellporten ;)

Bild


Ladda sen ner denna lib:
http://hubbard.engr.scu.edu/embedded/avr/avrlib/

Plocka ett exempel från AVRLib och du har allt igång på mindre än 5 min ;)
Skriv svar