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
Womit misst du? Mit einem Multimeter geht das nicht. Die Impulse sind sicher zu schnell und es wird irgend was gemessen.
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.
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...
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
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.
Hab einen MAX232E verbaut. Die Linien haben Namen welche, über welche die Verbindung hergestellt wird. Stefan
TX enable = 0 ? Oder andersherum gefragt, hast Du irgendwo noch ein TXEN=1 im Code?
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?
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.
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
Stefan schrieb: > ich hab den ganzen code auch oben als Anhang angehängt. Dein Code funktioniert ohne Includes? Das glaube ich eher nicht.
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.
Hab den Pin des MAX232 hochgelötet. Gleiches Problem, keine 5V sondern nur 0,6V. Kann der ATmega32 defekt sein?
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.