Forum: Mikrocontroller und Digitale Elektronik Fehler im Stromlaufplan!?


von Ampfing (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe die angehängte Schaltung als Platine vor mir. Leider 
funktioniert gar nichts...
Die Schaltung soll entweder per serieller Schnittstelle programmiert 
werden, oder über die optischen Schnittstellen (auch seriell) 
angesprochen werden. Zum Wählen, ob programmiert wird oder nicht sind 
zum einen die beiden Schalter auf der Platine, als auch der Jumper, der 
zum Programmieren gesetzt werden muss.
Programmiert werden soll das Ganze mit FLIP von Atmel (der µC ist ein 
AT89C51ID2).
Wenn ich in FLIP versuche die Verbindung zum Target herzustellen (egal 
welche Baudrate, egal welcher COM-Port) erhalte ich aber einen TimeOut. 
Ich nehme mal fast an, dass ich einen Fehler im Stromlaufplan habe, 
oder?
Versorgt wird das Ganze (im Moment) mit 5 V von einer externen 
Spannungsquelle, später wird es durch die beiden Pins 1 der der 
Federleisten versorgt werden.

Wäre dankbar, wenn jemand über den Stromlaufplan drüber schauen könnte 
und mir - hoffentlich - sagen kann, wo der Hund begraben liegt.

Vielen Dank schonmal im voraus und viele Grüße

von Basti (Gast)


Lesenswert?

Sorry aber der plan ist echt ne zumutung.

1. mit Masse- und Versorgungsspannungssymbolen nicht geizen, statt die 
masselinien quer durch den plan zu ziehen

2. kann man signalleitungen auch in einem bus zusammenfassen

3. würde ich am controller nur die nötige standardbeschaltung zeichnen 
und dann an jeden pin ein label machen und das dann am "anderen ende" 
wieder nur mit einem kurzen strich andeuten und auch wieder mit einem 
label versehen (in etwa so wie im anhang) was bei solchen signalen doch 
nur interessiert ist wo das andere ende hingeht und das sieht man dann 
auf den ersten blick

so blickt da jedenfalls keine sau durch, außer wenn man sich das 
ausdruckt, buntstifte nimmt, und alle verbindungen mit anderen farben 
übermalt.

von Basti (Gast)


Angehängte Dateien:

Lesenswert?

ups anhang vergessen

von Aufreger deluxe (Gast)


Lesenswert?

> ups anhang vergessen

Hättest du auch besser gelassen. fast 800 kB für ein paar schwarze 
Striche ist ne Zumutung!

von Basti (Gast)


Lesenswert?

@ aufreger deluxe: Hättest mal besser deinen browser geschlossen 
gelassen, kommen auch nur nen paar schwarze buchstaben und nen bischen 
farben, und das is noch wesentlich größer...

von Jürgen (Gast)


Lesenswert?

Hallo Ampfing,

schau Dir mal das Datenblatt an, Du brauchst am Reseteingang einen Power 
on Kondensator den ich in der Schaltung nicht finde.

von Ampfing (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

okay, entschuldigt bitte, hab noch nicht besonders viele Stromlaufpläne 
gezeichnet...
Hab jetzt eine etwas 'abgespeckte' Version davon, die glaube ich etwas 
übersichtlicher ist. Hab die beiden Federleisten weggenommen - incl. der 
Verbindungen. Deswegen sind jetzt auch am µC einige Pins nicht verbunden 
(aber die gehen sonst einfach nur per Leitung an die Federleisten, also 
keine Bauteile mehr dazwischen).
Wenn ich das richtig verstanden habe, muss ich doch zum Programmieren 
einfach nur den Pin PSEN auf low ziehen und einen Reset machen, oder? 
Für die Pegelwandlung ist ja der ADM232 zuständig.
S2 und S3 sind die Schalter um zu wählen, ob programmiert werden soll 
oder die optischen Adapter an den µC angeschlossen sind. S1 ist der 
Reset-Taster und K4 ist der Jumper.
Ist das okay so?

Viele Grüße und nochmal danke

von Basti (Gast)


Lesenswert?

also die resetbeschaltung erscheint mir nicht so der hit zu sein. ich 
würde nen ca 10k vom reset gegen masse schalten und nen 47nF parallel 
zum taster. so ist sichergestellt das bei geöffnetem taster Low-signal 
am reset pin anliegt und er nicht doch resettet

von Ampfing (Gast)


Lesenswert?

@Jürgen:
O Mann, da hast du wohl recht! Für was brauche ich den? Ich meine, wenn 
ich den Taster drücke wird doch eigentlich ein high-Pegel an den Pin 
gelegt (und so schnell, dass ich den Taster innerhalb von zwei 
Maschinenzyklen wieder loslassen kann bin ich dann ja wohl doch nicht). 
Und wenn ich den Taster loslasse bringt doch an und für sich auch der 
Kondensator nix, oder?
Wir groß muss/soll der Kondensator denn sein? Im Datenblatt finde ich 
nur, dass der Pull-Down-Widerstand ca. 200 kOhm hat...
Und brauche ich tatsächlich nen ELKO?

Danke für den Tipp und viele Grüße

von Sonic (Gast)


Lesenswert?

Du brauchst einen Pull-Up-Widerstand von RESET gegen +5V, der Taster 
muss gegen Masse schalten, sonst ist er wirkungslos. RESET ist (wie man 
sieht) low-aktiv!

von Basti (Gast)


Lesenswert?

aus dem datenblatt:

RST
Reset input. A high on this pin for two machine cycles while
the oscillator is running resets the device.

also über Pull-Down an masse und Taster gegen +5V

von Aufreger deluxe (Gast)


Angehängte Dateien:

Lesenswert?

@Basti

Ändert nichts daran, dass man die Zeichnung auch komprimieren kann. 
Einfach mal etwas mitdenken, andere die keine Breitbandverbindung haben, 
möchten sich vielleicht auch beteiligen.

von Ampfing (Gast)


Lesenswert?

Okay, nochmal zum Mitschreiben bitte...
Aus dem Datenblatt:
"RST input has a pull-down resistor allowing power-on reset by simply 
connecting an external capacitor to VCC as shown in Figure 8. Resistor 
value and input characteristics are discussed in the Section “DC 
Characteristics” of the AT89C51ID2 datasheet."

In dieser Tabelle finde ich den Widerstandswert des schon intern 
vorhanden PullDowns (wenn ich das jetzt richtig verstehe).
Das heißt für mich, ich brauche den PullDown, den Basti meint nicht, 
oder? Den Taster lass ich also gegen V+, oder? Wo schalte ich jetzt wie 
den Kondensator mit rein und welchen Wert brauche ich (ELKO oder nicht)?
Bin doch etwas verwirrt aufgrund der teilweise widersprüchlichen 
Auskünfte.

Danke für Eure Antworten und viele Grüße

von Basti (Gast)


Lesenswert?

na gut ich hatte eben ne "kastrierte" version vom datenblatt. wenn dem 
wirklich so ist müsste der PullDown ja über sein, aber ich würd nen 
kleinen kondensator (kein elko) ca 50nF parallel zum Reset-Taster 
machen. Reset Taster bleibt da wo er ist

ansonsten mess mal nach ob die versorgungsspnanung richtig ist, der 
oszillator schwingt, kontrollier die beschaltung rund um den ADM232 und 
versuch erstmal nicht über die optische sondern über die normale 
serielle obs geht

von Basti (Gast)


Lesenswert?

ach ja muss da im stecker für die serielle nicht noch was verbunden 
sein? sonst ist da immer 2 und 6 verbunden glaub ich

von Kliby (Gast)


Lesenswert?

ja die serielle schnittstelle ist falsch, wenn ich mich richtig erinnere 
müssen pin 2 und 5 (rx, tx) angeschlossen werden, falls es funktionieren 
soll, ebenfalls die masse...
bei der seriellen schnittstelle hast du einen elko zwischen 5V und 
GND... falls das ein störschutzkondensator sein soll, reichen 100n, 
damit er auch was bringt, würd ich nen keramikkondensator empfehlen, die 
elkos sind zu träge...
Bei der Spannungsversorgung würd ich zusätzlich noch bei jeder Spannung 
ein glättungskondensator einfügen, ein elko...

von Marc989 (Gast)


Lesenswert?

Serielle schnittstelle braucht Pin 2,3, und 5. Wobei 5 Masse ist.
Normalerweise reicht das aus.
Jetzt muss noch RX und TX stimmen. Weiss es grad nicht auswendig wer 
welcher ist, daher sag ich hier jetzt nix dazu.

Bei den üblichen Taktfrequenzen reicht ein 100nF Keramik Kondensator 
(X7R) aus. Jetzt kommt es extrem auf dein Platinenlayout an, wie gut sie 
funktionieren und ob du an manchen Stellen nochmal mit einem Elko 
stützen musst. Normalerweise ist das bei guter Leiterbahnführung nicht 
mehr nötig. da reicht einer am PowerSupply deiner Schaltung.

Also Prüf erstmal ob der Max232 richtig funktioniert in dem du mal ein 
Oszi an die Signalleitung hängst. Dann kannst du ausserdem noch am Quarz 
der MCU messen, ob dieser schwingt. Sonst liegt das Problem noch 
tiefer....

viel erfolg MARC989

von Marc989 (Gast)


Lesenswert?

Ups, nicht hingeschat... du hast ja einen Oszillator.
Klappt das oder muss man vorher irgendwelche fuses umschalten???

Marc989

von Sonic (Gast)


Lesenswert?

Dein Prozessor läuft im 'IDLE-Mode', wenn du RESET auf Low legst. Siehe 
Datenblatt S. 142. Der RESET-Pin ist Low-aktiv!

von Ampfing (Gast)


Lesenswert?

@Sonic:
Das Bild wiederspricht aber allem, was davor im Datenblatt steht, z.B. 
"Reset: A high on this pin for two machine cycles while the oscillator 
is running, resets the device." Das heißt doch, dass der Controller nen 
Reset macht, wenn ich High an dem Pin anlege, oder? Sonst müsste ich den 
Pin doch fest auf high legen um den Controller überhaupt betreiben zu 
können.?
Bitte nicht böse sein, wenn ich deine Auskunft hinterfrage, ich wunder 
mich nur, wie das funktionieren sollte.

@all:
Hab ziemlich viel rumgemessen und folgende 'Entdeckung' gemacht: Mein 
Controller antwortet sehr wohl! Und das Signal kommt mit TTL-Pegel auch 
noch am ADN an, ABER dieser wandelt nicht wirklich. Die 1 macht er mit 
-12 V noch richtig. Wenn er auf +12 V (für eine 0) gehen sollte schafft 
er es gerade mal bis ca. -5 V! Das reicht dem Rechner natürlich nicht um 
das Signal zu erkennen und deswegen kommt er dann in den TimeOut...
Werde also mal sehen, ob ich den Fehler irgendwo am ADN finde - 
vielleicht ist dieser ja auch einfach kaputt...
Oder an was könnte das sonst noch liegen?

Viele Grüße

von Sonic (Gast)


Lesenswert?

Hmm.. was stimmt denn nu? Nach dem Symbol des µC in deinem Schaltplan 
ist der RESET-Pin auch lowaktiv. Probier's doch einfach mal aus, musst 
ja nur den Taster drücken. Würde mich jetzt auch interessieren was 
stimmt.

von Matthias H. (Gast)


Lesenswert?

der ADN hat doch einen Enable- und einen Shutdown-Eingang.Hast du die 
auch beschaltet?

von Matthias H. (Gast)


Lesenswert?

sorry, kein Enable.

von Thomas K. (thkais)


Lesenswert?

Messe mal die Spannung am RS232-Wandler, und zwar an Pin2 und an Pin6 
(jeweils gegen Masse). An Pin2 sollten gut +8V (oder mehr) und an Pin6 
-8V (oder weniger).
Ich vermute, dass Du an Pin2 keine positive Spannung messen wirst, dann 
ist wahrscheinlich an der Beschaltung der Kondensatoren (Polung) etwas 
faul.

von Ampfing (Gast)


Lesenswert?

@Thomas Kaiser
Da habe ich auch schon dran gedacht. Leider habe ich aber gute +10 bzw. 
gute -10 V an den Pins... Die Kondensatoren sind ganz normale 100 nF 
(keine ELKOs).
Übrigens tritt das gleiche Phänomen mit einen zweiten IC auf, von daher 
gehe ich mal davon aus, dass nicht beide kaputt sind - sondern was an 
der Beschaltung nicht stimmt...

@Sonic
Also der Controller antwortet, wenn ich den Reset nicht drücke. Ob er 
auch antwortet, wenn Reset gedrückt ist (also der Pin auf high liegt) 
probier ich mal noch. Nehme aber mal eher an, dass der Pin auf high 
gelegt werden muss für nen Reset...

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.