Sida 1 av 1

PIC - MAX232 - serieport

Postat: 17 februari 2006, 14:06:59
av Jocke_1982
Hej!

Jag har suttit och pulat med att få igång seriell komm mellan pic:en och datorn. Jag har hittat två olika MAX232 - MAX232ECPE och MAX232CPE och försöker klura ut vilken jag ska använda. Har provat båda med 100nF kondingar men så fort jag kopplar in max-kretsen så sjunker spänningen på pic:ens TX från 5V till 1V. Har även provat med 1000nF kondingar men det gjorde ingen skillnad.

Nån som känner igen sig i detta?

Postat: 17 februari 2006, 14:13:44
av rehnmaak
Japp! Det är felkopplat.

Postat: 17 februari 2006, 14:17:59
av sodjan
Du har väl kopplat fel. Eller satt upp dina portar (TX/RX) fel.

Skillnaden på 232 kretsarna är väll bara att "E" varianten har ett
utökat temp-område, om jag inte minns fel. Så det skall inte
vara någon skillnad för dig.

1 uF är normalt att använda.

Men, som sagt, säkert felkopplat...

Postat: 17 februari 2006, 14:29:35
av tusse
Max232 ska inte belasta pic kretsens utgång så det bör inte bli någon spänningsskillnad.
Har du kopplat rätt? Anslut inte datorn förrän du har anslutit jorden mellan dator och egen koppling annars ryker både max232 och porten i dator och om det går illa så för du en skaplig stöt, egen erfarenhet. Enklast är att koppla direkt till PIC-kretsen via ett motstånd utan max 232.

Postat: 17 februari 2006, 14:38:06
av sodjan
> Enklast är att koppla direkt till PIC-kretsen via ett motstånd utan max 232.

Undvik det. Finns ingen anledning att inte gör rätt när Jocke redan
har allt han behöver...

Det där med "jorden", vilken jord menar du ?
Låter väldigt konstigt, normalt kan man
plugga RS232 kabeln in och ur när som helst.
Skulle man göra någon annan jord-koppling bredvid
RS232 anslutningen ?

Postat: 17 februari 2006, 14:44:59
av matseng
Enda gången det går att använda fuskvarianten med att bara koppla ett motstånd mellab PIC och PC'n är är man använder SEROUT/IN i picbasic och man bitbangar en port.

Med ett motstånd så inverteras inte signalen så som den görs via en riktig RS/TTL-omvandlare, så mjukvaran som bitbangar måste ta hänsyn till detta.

Använder man UART'en så finns det _inte_ nån flagga som man kan sätta för att tala om att signalarna är inverterade vilket medför att kommunikationen misslyckas.

Postat: 17 februari 2006, 15:04:28
av tusse

Postat: 17 februari 2006, 15:17:33
av JimmyAndersson
En liten detalj:
Jag har ofta använt kondensatorer på 10µF till MAX232. Fungerar bra, men normalt sett så brukar det som sagt vara 1µF.

Postat: 17 februari 2006, 15:34:08
av dr. Agoz
kolla så att du verkligen satt porten i rätt läge. de symtom som jag fick när jag hade för små kondingar (iof med en st3232) var att stepup:en inte kunde lyfta spänningen tillräckiligt och att signalen till datorn såg förjävlig ut men inget fel på signalerna mellan µCn och ST3232.

Postat: 17 februari 2006, 16:21:45
av Jocke_1982
Det första problemet är löst, det var en pinsam felkoppling som inte behöver nämnas mer här... =)

Nu till nästa problem: På PIC-sidan ser allt bra ut nu, men på andra sidan ligger spänningen på ungefär 3,5V i "högläge", men när den ska signalera en nolla kommer den inte ner som den ska, så jag misstänker att kondingarna är för små (har 100nF nu) efter att ha läst dr. Agoz inlägg. Ska pula lite mer senare. Tack för alla råd!

Postat: 17 februari 2006, 18:05:30
av BEEP
Har du kollat så att du har -10V och +10V på MAX232?

Postat: 17 februari 2006, 18:11:06
av sodjan
> Vad som är rätt och fel vet bara sodjan,

Så omoget...

> men på andra sidan ligger spänningen på ungefär 3,5V i "högläge",

Det är oklart vad du menar med "högläge", men...

En "etta" på RS232 sidan skall vara (ca) -5 till -15 volt.
En "nolla" ca +5 till +15 volt.
Under *normala* fall bör det ligga på ca +/- 10 V, men det beror lite
på hur andra sidan av RS232 linjen ser ut.

Alltså inverterat jämfört med det du ser på PIC pinnen.