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
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.
@ 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...
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
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
@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
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!
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
@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.
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
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
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...
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
@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
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.
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.
@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...