Forum: Mikrocontroller und Digitale Elektronik RS232 Problem


von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hallo die Herren,

hab mir folgende Platine zusammengebaut. (siehe Anhang)
Bis gestern funktionierte auch noch alles, nun hab ich allerdings ein 
Problem mit der RS232.

Zu Testzwecken hab ich ein Programm geschrieben welches den "(TXD)PD1" 
abwechselt auf High und Low zieht. Dieser, gibt aber nur noch 600mV aus. 
Anstelle der vorgesehen 5V.
Das wäre doch eine Erklährung wieso die RS232 nicht mehr möchte.

Jetzt hängt allerdings auch noch der MAX232 Baustein drauf.
Kommt das Problem eher von dem oder hat der ATmega32 was abbekommen?
Und wieso?

mfg
Stefan

von Hubert G. (hubertg)


Lesenswert?

Womit misst du? Mit einem Multimeter geht das nicht. Die Impulse sind 
sicher zu schnell und es wird irgend was gemessen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Stefan schrieb:
> hab mir folgende Platine zusammengebaut. (siehe Anhang)

Du wirst überrascht sein, aber in diesem Forum sind auch Leute 
unterwegs, die kein Eagle auf ihren Rechnern installiert haben und daher 
mit Deinen Anhängen rein gar nichts anfangen können.

Da aber nicht auszuschließen ist, daß auch diese Leute Dir helfen 
könnten, wäre es für Dich sinnvoller, Deine Dateien nicht als 
Eagle-Dateien, sondern als GIF- oder PNG-Dateien anzuhängen.

Die nämlich kann sich jeder auch ohne installiertes Eagle ansehen, auch 
mit der hier in der Forensoftware integrierten Vorschau- und 
Anzeigefunktion.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Rufus Τ. Firefly schrieb:
> Du wirst überrascht sein, aber in diesem Forum sind auch Leute
> unterwegs, die kein Eagle auf ihren Rechnern installiert haben
Oder gar solche, die eine ältere Version dieses Programms installiert 
haben...

Stefan schrieb:
> Zu Testzwecken hab ich ein Programm geschrieben
Das wäre auch nicht ganz uninteressant...

von Stefan (Gast)


Angehängte Dateien:

Lesenswert?

Hubert G. schrieb:
> Womit misst du? Mit einem Multimeter geht das nicht. Die Impulse sind
> sicher zu schnell und es wird irgend was gemessen.

Mit einem Oszi

Anbei die gewünschten Bilder und der Code für das Testprogramm: 
(Codevision)
1
while (1)
2
      {
3
       DDRD  |=  (1<<0);    // als Ausgang schalten  
4
       PORTD |= (1<<0);  
5
       DDRD  |=  (1<<1);    // als Ausgang schalten  
6
       PORTD |= (1<<1);
7
       DDRD  |=  (1<<6);    // als Ausgang schalten  
8
       PORTD |= (1<<6);
9
       
10
       
11
       delay_ms (500);
12
       
13
       PORTD &=  ~(1 << 0); 
14
       PORTD &=  ~(1 << 1); 
15
       PORTD &=  ~(1 << 6);
16
      
17
       delay_ms (500);     
18
        
19
      };
20
}

mfg
Patrick

von Karl H. (kbuchegg)


Lesenswert?

Stefan schrieb:

> Anbei die gewünschten Bilder und der Code für das Testprogramm:
> (Codevision)

Sagtest du nicht, dass du einen MAX232 im Spiel hast?
Im Schaltbild ist der nicht zu entdecken.

von Stefan (Gast)


Lesenswert?

Hab einen MAX232E verbaut.

Die Linien haben Namen welche, über welche die Verbindung hergestellt 
wird.

Stefan

von Klaus 2. (klaus2m5)


Lesenswert?

TX enable = 0 ? Oder andersherum gefragt, hast Du irgendwo noch ein 
TXEN=1 im Code?

von Karl H. (kbuchegg)


Lesenswert?

Stefan schrieb:
> Hab einen MAX232E verbaut.
>
> Die Linien haben Namen welche, über welche die Verbindung hergestellt
> wird.

Das sagt noch lange nicht, dass du zb den MAX korrekt angeschlossen 
hast.
Wenn du den MAX abziehst, sind dann die Pegel immer noch so niedrig?

von Stefan (Gast)


Lesenswert?

ich hab den ganzen code auch oben als Anhang angehängt.

Bin mir aber reletiv sicher das der Fehler nicht im Code liegt. ich 
schalte ja nur den einen PIN auf Hifh und Low, was der Controller auch 
macht, nur messe  ich anstelle von 5V nur die 0,6V.

von Charly B. (charly)


Lesenswert?

Karl Heinz Buchegger schrieb:
> Stefan schrieb:
>
>> Anbei die gewünschten Bilder und der Code für das Testprogramm:
>> (Codevision)
>
> Sagtest du nicht, dass du einen MAX232 im Spiel hast?
> Im Schaltbild ist der nicht zu entdecken.

guggst du unten mitte

>Wenn du den MAX abziehst, sind dann die Pegel immer noch so niedrig?
mit abziehen iss nix, guggst du: ist SMD



@Stefan

den Pin von MAX232 'hochloeten'  und dann nochmal messen
noch ein Tipp: den Pin des AVR mit einem kleinen .asm
Programm setzen, das vermeidet unnoetige fehlerquellen,
also im '3zeiler' pin auf H, dann anderer '3zeiler' Pin
auf L

vlG
Charly

von Klaus 2. (klaus2m5)


Lesenswert?

Stefan schrieb:
> ich hab den ganzen code auch oben als Anhang angehängt.

Dein Code funktioniert ohne Includes? Das glaube ich eher nicht.

von Karl H. (kbuchegg)


Lesenswert?

Charly B. schrieb:
> Karl Heinz Buchegger schrieb:
>> Stefan schrieb:
>>
>>> Anbei die gewünschten Bilder und der Code für das Testprogramm:
>>> (Codevision)
>>
>> Sagtest du nicht, dass du einen MAX232 im Spiel hast?
>> Im Schaltbild ist der nicht zu entdecken.
>
> guggst du unten mitte
>
>>Wenn du den MAX abziehst, sind dann die Pegel immer noch so niedrig?
> mit abziehen iss nix, guggst du: ist SMD

Oh. Sorry.
Mein Fehler.

von Stefan (Gast)


Lesenswert?

Hab den Pin des MAX232 hochgelötet.
Gleiches Problem, keine 5V sondern nur 0,6V.

Kann der ATmega32 defekt sein?

von Karl H. (kbuchegg)


Lesenswert?

Stefan schrieb:
> Hab den Pin des MAX232 hochgelötet.
> Gleiches Problem, keine 5V sondern nur 0,6V.
>
> Kann der ATmega32 defekt sein?

Prinzipiell kann der natürlich defekt sein.
Wenn ich allerdings so überlege, was ich mit meinen schon so alles 
angestellt habe und noch nie einen Ausgangstreiber geschossen habe, 
würde ich erst mal alles andere absuchen, inklusive ungewollte 
Kurzschlüsse auf der Platine. Die Dinger sind sehr robust.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> DDRD  |=  (1<<0);    // als Ausgang schalten  --> das ist der RXD-Pin
> PORTD |=  (1<<0);
Du treibst also RXD vom uC gegen RX vom Max?
Ausgang gegen Ausgang?

von Charly B. (charly)


Lesenswert?

Stefan schrieb:
> Kann der ATmega32 defekt sein?

kann schon, hatte ich aber noch nicht, loet mal
pin 12 des Max hoch und teste das folgende hex
bei 16Mhz wechselt PD0 & PD1 ~ alle 3 sekunden

vlG
Charly


:100000008FE58DBFC0E0E8E54E2E88E08EBFD8E0DA
:10001000F7E05F2EA89584B7082E877F84BF88E11C
:10002000992781BD91BD6624889A899A9098919A62
:1000300082B391E0892782BB82B392E0892782BB99
:10004000E3E0F0E00E9426000C94180088EE93E0B4
:100050000CD03197D9F708953197F1F70895689446
:1000600062F80895E89462F80895EF93FF93EE27FD
:10007000E82BE92B31F0E0EAFFE03197F1F7019747
:08008000D1F7FF91EF91089503
:00000001FF

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.