Hallo, ich habe ein kleines Mikrocontroller-Board entworfen. Bevor ich es baue, möchte ich wissen, ob es funktioniert, oder ob ich einen Fehler gemacht habe. Bitte schaut es euch mal an (PDF als Anlage). Spezielles Augenmerk bitte auf die Beschaltung des Controllers. Z.B. Ob das mit der UART richtig ist, so dass ich mit dieser Schaltung den µC programmieren kann. Danke im Voraus, liebevoll ... Sebastian Barth
also man tut sich scher diesen schaltplan zu lesen, sorry. und wenn man nicht genau weiß was die schlatung macht um so mehr. aber ein paar sachen die ins auge fallen - kein einziger IC hat 100nF als ablock kondi! )kerko verwenden) - der T1 ist meiner ansicht nach in der verkehrten richtung - bin mir nicht sicher aber ich glaube beim max232 gehören 10µ kos -> datasheet! - für was machst du dir einen u-teiler an port3.2??? - bin mir nicht sicher ob dein 8051 eine latchup diode am reset hat -> datasheet, anosnten müsstest du an deinem 1µ ko eine diode parallel setzten damit dein µC nicht zerstört wird wenn der strom abgeht! bg
- Was ist ein ablock kondi?! :) 100nF, wo? - Joa, T1 is falschrum :/ - Der MAX232 brauch 1µF Kondensatoren. (Datasheet als Anlage) - Der Spannungsteiler war meine einfachste Methode um zu sehen, ob VCC auf 12V steht. (Hab leider am falschen pin des Powersteckers abgegriffen, kann aber die Wiederstandsgrößen ändern - zum Glück. - Der Kondensator an RST (C7) hat eigendlich 10µF, hab mich verschrieben. Idee aus Peter's Entwicklungsboard: http://www.mikrocontroller.net/forum/read-1-25968.html#new Danke schonmal :)
Der uc und diverse Logik brauchen eine niederohmige und glatte Spannungsversorgung. Beides macht ein 100 nF Kerko direkt an vcc. Dabei musst du ggf. beim Layout aufpassen (keine Stichleitungen, niederohmig nach gnd, möglichst nah am Pin) aber da findet man sicher was im Forum zu. Stichwort Abblockkondensator oder so??
Gilt natürlich auch für diverse analog Verstärker und dergleichen, nur falls da so etwas auf dich zu kommt.
Ah, Danke! Gibt es noch irgendwelche Fehler? Könnt ihr euch nochmal genau den Programmierteil (UART) ansehen? Danke, .. Sebastian
Hi, zum Programmierteil schau mal den Schaltplan im Anhang an... D1 ist verkehrt herum und Pin 4 und 7 sind vertauscht. Gruß Andreas
Oh, .. Danke! Habe den Schaltplan jetzt mal geupdatet. (Liegt als Anlage bei) Fällt euch noch irgend ein Problem auf? Ich hoffe nicht :)
Den ersten Fehler hab ich selber gefunden :) ... ... An Sub-D Buchse "PC-LINK" ist Pin1 mit Pin4 vertauscht. Fehler behoben und neue Version als Anlage beigefügt.
Ich gehe mal davon aus, dass es keine logischen Fehler mehr im Schaltplan gibt. Dann werde ich mich mal an die Platine machen. Danke an alle :)
Was soll denn das werden wenns fertig ist? Das der Schaltplan keine logischen Fehler hat, halte ich für eine sehr wage Aussage! - Wo sind die Stützkondensatoren, die über jedes IC's gehören? (MAX232 min 1µ, siehe Datenblatt!) - Warum geht PC-Link-PSEN (Pin 7) nicht mit über den MAX232? Frei ist noch einer! - Wo ist die Schutzdiode, damit C7 nicht den Reseteingang brät? - Widerstand (ca. 10 Ohm) in Resetleitung, sonst zerhaut C7 auch angeschlossene Taster (ggf. auch Transistor T2)! - Wie soll das mit INT0 gehen? Wenn Spannungsüberwachung, dann bitte ordentlich per Comparator! Zu dem ist INT0 fast zu schade dafür. - Warum hat der Key-Pad-Con weder GND noch Vcc? Dann gibt es da noch ein paar Elemente wie P0, bei denen ich nich weiß, wofür/warum. Hat weder Pullups noch eine Spannungsversorgung mit dran. Wenn das Board permanent über PC mit Spannung versorgt werden soll, ist noch min. ein RC-Filter direkt hinter der Versorgungsbuchse ratsam. Spannungsspitzen und Verseuchung durch andere Verbraucher (oder schwaches Netzteil) können den MC zu fehlern bringen, die sich nur schwer finden oder gar nicht nachvollziehen lassen! Ja, so eine Schaltung hat es schnell in sich...! Gruß, Arne
- Wo sind die Stützkondensatoren, die über jedes IC's gehören? (MAX232 min 1µ, siehe Datenblatt!) A: Also bei jedem IC direkt zwischen GND und VCC? Warum nicht ein gemeinsamer? - Warum geht PC-Link-PSEN (Pin 7) nicht mit über den MAX232? Frei ist noch einer! A: Wie würde ds dann aussehen? Verstehe nicht. - Wo ist die Schutzdiode, damit C7 nicht den Reseteingang brät? A: Schutzdiode? z.B. auch eine 1N4148? Zwischen C7/R1-Punkt und RST Pin am MC? Wo Anode/Kathode? - Widerstand (ca. 10 Ohm) in Resetleitung, sonst zerhaut C7 auch angeschlossene Taster (ggf. auch Transistor T2)! A: Position also (vom MC ausgesehen) MC -> Schutzdiode -> C7/R1-Punkt -> GENAU HIER ? - Wie soll das mit INT0 gehen? Wenn Spannungsüberwachung, dann bitte ordentlich per Comparator! Zu dem ist INT0 fast zu schade dafür. A: Will eigendlich nur wissen, ob Spannung anliegt, oder nicht. Was du genau daran scheiße findest, verstehe ich nicht! - Warum hat der Key-Pad-Con weder GND noch Vcc?` A: Ist ne 3x4 Matrix-Tastatur, die direkt in die Stiftleiste eingesteckt wird. Maximale Leitungsstrecke außerhalb der Platine zum Taster = 5cm. Dann gibt es da noch ein paar Elemente wie P0, bei denen ich nich weiß, wofür/warum. Hat weder Pullups noch eine Spannungsversorgung mit dran. A: Das sind meine Optionalen Uplinks zu einer zweiten Platine. Der µC hat doch an P0 und P2 interne Pullups?! Brauche ich die PUs überhaupt, wenn ich die zwei Ports als Daten- und Adress-Port zur Ansteuerung externem Rams benutze? Wenn das Board permanent über PC mit Spannung versorgt werden soll, ist noch min. ein RC-Filter direkt hinter der Versorgungsbuchse ratsam. A: RC-Filter?! Reicht da nicht der C8 - 100nF ? Ich weiß, sind wirklich doofe Fragen! Bitte aber trotzdem darum, mir bei den Antworten dazu zu helfen! liebevoll .. Sebastian
R11, R12, R13: Welchen Basisvorwiderstand muss ich wählen? Den hab anz und gar vergessen! Leider weiß ich nicht, wie man so etwas ausrechnet. Habe das DBL als Anlage beigefügt. Danke, Sebastian
1.) hab ich dir großteils was arne geschrieben hat auch schon gesagt! 2.) glaub ist fast besser wenn du dir mal ein board besorgst, bzw. machst was shcon funktioniert, sonst erntest du dir nur frust ein, denn auch wenn der schaltplan funktionieren sollte, dann hast du eine unterbrochene leiterbahn und dann weißt du nciht wo du zum suchen anfangen sollst! aber nun zu deinen fragen an arne (wenn ich sie dir beantworten darf?) - Wo sind die Stützkondensatoren, die über jedes IC's gehören? (MAX232 min 1µ, siehe Datenblatt!) A: Also bei jedem IC direkt zwischen GND und VCC? Warum nicht ein gemeinsamer? C: Du MUSST unbedingt zu jeden IC einen 100nF KERKO (keramikkondensator) legen, und den nicht irrgendwo sondern anhe dem ic bei gnd und vcc positionieren! - Wo ist die Schutzdiode, damit C7 nicht den Reseteingang brät? A: Schutzdiode? z.B. auch eine 1N4148? Zwischen C7/R1-Punkt und RST Pin am MC? Wo Anode/Kathode? C: du musst parallel zum kondensator eine diode hängen kathode an vcc! - Widerstand (ca. 10 Ohm) in Resetleitung, sonst zerhaut C7 auch angeschlossene Taster (ggf. auch Transistor T2)! A: Position also (vom MC ausgesehen) MC -> Schutzdiode -> C7/R1-Punkt -> GENAU HIER ? C: naja der taster (den ich nicht finde) wirds schon nichts machen, der t2 wird auch nicht defekt zumindest wenn du die diode endlich einbaust wie schon ein paar mal erwähnt! also da brauchst du keinen widerstand! (außer es hängt noch was dran was ich jetzt nicht sehe, sorry, aber diese schaltplan ist wirklcih sehr unübersichtlich!) - Wie soll das mit INT0 gehen? Wenn Spannungsüberwachung, dann bitte ordentlich per Comparator! Zu dem ist INT0 fast zu schade dafür. A: Will eigendlich nur wissen, ob Spannung anliegt, oder nicht. Was du genau daran scheiße findest, verstehe ich nicht! C: du weißt ob spannung anliegt oder nicht wenn dein µC arbeitet, liegt nämlich keine mehr an arbeitet dein µC nicht, also brint dir das relativ wenig! (welchen unterschied machst du zwischen vcc und +5V????) rc-filter ist nicht unbedingt nötig, aber ich würd einen verpolungsschutz reingeben z.bsp. 1n4148 bzw. 1n4007 (je nach strom) und danach einen 100µF elko und einen 100nF dass passt dann schon, größer schwankungen bekommst du mit rc glieder auch nicht so schön weg da brauchst du schon lc glieder aber du wirst ja keine versaute spannung anlegen oder???? wenn ich mich nicht irre hat p0 keine internetn pull ups, da musst mal im datasheet nachlesen oder wars der 2er oder alle 2, weiß nicht mehr ist doch schon 4jahre her als ich das letzte mal mit diesen dingern gearbeitet hab.
was willst du den mit den transitoren schalten? wenn die transisotren als schalter betrieben werden kanns du daumen mal pi wie folgt rechnen: Ilmax = ist der maximale Laststrom, also der maximale Strom den der Transistor auf GND schalten muss. Ib = Ilmax / b, b ist bei BC547A/B/C verschieden. nimm einen C typen und rechne mit b=200 und suchs dir exakt aus dem datenblatt! (b streut aber sehr, also kannst ruhig 200 nehmen) um den tr. in den schaltbetrieb zu bekommen (übersteuerbereich) nimmt man ein ü zwischen 2 und 5 an. dann wird dein ibü = ib*ü ibü muss nun dein µC liefer können, naja das ist nicht so schwer. ibü = (UportausVCCmin - UfTr)/Rv UportausVCCmin die minemale ausgansspannung bei high ausgang rechnen wir mit 4V UfTr nehmen wir 0,7V und nun kannst du deinen Rv ausrechnen. aber wenn mich nicht alles irrt, ich müsste wirklich mal im datasheet nachlesen, kann der 8051 nur 400µ im high betrieb das könnte vielleicht wenig sein. also nimm einen 4k7 pull up auf vcc zu deinem port pin und dann gehst du noch vom port zur basis mit 330R dass haut dann sicher hin für ströme < 100mA = Ilast und schnell schalten willst du ja eh nicht oder?
- Wo ist die Schutzdiode, damit C7 nicht den Reseteingang brät? A: Schutzdiode? z.B. auch eine 1N4148? Zwischen C7/R1-Punkt und RST Pin am MC? Wo Anode/Kathode? C: du musst parallel zum kondensator eine diode hängen kathode an vcc! A2: Reicht da eine 1N4148? - Wie soll das mit INT0 gehen? Wenn Spannungsüberwachung, dann bitte ordentlich per Comparator! Zu dem ist INT0 fast zu schade dafür. A: Will eigendlich nur wissen, ob Spannung anliegt, oder nicht. Was du genau daran scheiße findest, verstehe ich nicht! C: du weißt ob spannung anliegt oder nicht wenn dein µC arbeitet, liegt nämlich keine mehr an arbeitet dein µC nicht, also brint dir das relativ wenig! (welchen unterschied machst du zwischen vcc und +5V????) A2: +5V ist die Versorgungsspannung der ganzen Schaltung. VCC ist eine Spannung, die irgendwann anliegt. Sie beträgt 5V. Ich möchte wissen, wann diese Spannung anliegt! Welche Widerstände (R6/R7) muss ich wählen? Auf jedenfall mus R7<R6, oder? wenn ich mich nicht irre hat p0 keine internetn pull ups, da musst mal im datasheet nachlesen oder wars der 2er oder alle 2, weiß nicht mehr ist doch schon 4jahre her als ich das letzte mal mit diesen dingern gearbeitet hab. A: Datasheet ist auch hier im Thread weiter oben (S.11,12 im Sheet). Habe da auch nachgelesen. Port2 scheint Pull-Ups zu haben, aber aus Port0 werde ich nicht schlau! Würdest du mal nachsehen? Bitte? Was die Vorwiderstände R11, R12, R13 angeht: Die Transistoren T3, T4, T5 sollten eine fremde Spannung auf den gemeinsamen GND schalten. Genauer gesagt, soll so ein Logikeingang auf 0 gesetzt werden. Also brauche ich keine 100mA. Leider check ich überhaupt nicht, was du da geschrieben hast mit dem Ausrechnen. Danke, .. Sebastian Kann mir bitte einer noch erklären, wie
A2: Reicht da eine 1N4148? C2: JA A2: +5V ist die Versorgungsspannung der ganzen Schaltung. VCC ist eine Spannung, die irgendwann anliegt. Sie beträgt 5V. Ich möchte wissen, wann diese Spannung anliegt! Welche Widerstände (R6/R7) muss ich wählen? Auf jedenfall mus R7<R6, oder? C2: nimm dohc einfach 100k und geh direkt auf den port pin! finde das datahseet nicht hab eins von intel reingestellt port 0 hat KEINE internet pull ups! also geh einfach her und geh von vcc bzw. +5V mit einem 4k7 Widerstand auf den porteingang. (bsp. VCC -|==R==|-P0.0) von den anschluss P0.0 gehst du mit einem 330R zu der Basis des Tr (Bsp. P0.0---|==R==|---BasisTR) an P0.0 hast du also einen Knoten von R:4k7 und R:330R) sollte verständlich sein! kannst natürlich auch einen 10k statt den 4k7 nehmen wenn du nicht viel strom ziehst oder höher!
A2: +5V ist die Versorgungsspannung der ganzen Schaltung. VCC ist eine Spannung, die irgendwann anliegt. Sie beträgt 5V. Ich möchte wissen, wann diese Spannung anliegt! Welche Widerstände (R6/R7) muss ich wählen? Auf jedenfall mus R7<R6, oder? C2: nimm dohc einfach 100k und geh direkt auf den port pin! A3: Ist doch ein Port mit internem Pull-Up Wiederstand. Wenn die Spannung anliegt, wäre der Pin immernoch auf 1. D.h. ich brauch nen externen Pull-Down. Oder gäbe das Probleme? finde das datahseet nicht hab eins von intel reingestellt port 0 hat KEINE internet pull ups! also geh einfach her und geh von vcc bzw. +5V mit einem 4k7 Widerstand auf den porteingang. (bsp. VCC -|==R==|-P0.0) von den anschluss P0.0 gehst du mit einem 330R zu der Basis des Tr (Bsp. P0.0---|==R==|---BasisTR) an P0.0 hast du also einen Knoten von R:4k7 und R:330R) sollte verständlich sein! A: Ich habe zwei Nutzungen von P0: 1. Als Adressbus für externe Dinge (RAM/ROM/EEPROM), bei dem ich keine PUs oder PDs brauche (wenn ich das Datenblatt richtig verstanden habe). 2. Als Ausgang zu den Transistoren hin. Da brauch ich doch dann auch keinen Pull-Up?! Nur den 330Ohm zum Transistor?! (Habe eine neue Version der Schaltung als Anlage beigefügt.) Danke, .. Sebastian
C2: nimm dohc einfach 100k und geh direkt auf den port pin! A3: Ist doch ein Port mit internem Pull-Up Wiederstand. Wenn die Spannung anliegt, wäre der Pin immernoch auf 1. D.h. ich brauch nen externen Pull-Down. Oder gäbe das Probleme? C3: ja stimmt der hat ja glaub ich ~40k pull ups dann nimm statt den 100k einen 4k7 oder 10k dass geht genau so gut! siehe seite 116 da sieht man das ich p0 mit den andern verwechselt habe, d.h. du brauchs wirklich nur einen 1k bis 4k7 zu basis des transistors! und du sollst keine 1µ KERKOs nehmen für die Abblock Kos sonder 100nF!!! (das motte je großer um so besser ist da total falsch!!! man nimmt bei höherfrequenten sachen sogar dann 10n 1n ... oder mixturen draus!)
C2: nimm doch einfach 100k und geh direkt auf den port pin! A3: Ist doch ein Port mit internem Pull-Up Wiederstand. Wenn die Spannung anliegt, wäre der Pin immernoch auf 1. D.h. ich brauch nen externen Pull-Down. Oder gäbe das Probleme? C3: ja stimmt der hat ja glaub ich ~40k pull ups dann nimm statt den 100k einen 4k7 oder 10k dass geht genau so gut! A4: Dann nehme ich für R7 einen 10k als Pull-Down. Und für R8 (VCC=5V) einen niedrigeren, z.B. 7.1k, damit VCC an P3.2 (Int0) dem GND gegenüber dominiert, wenn VCC anliegt. Oder? und du sollst keine 1µ KERKOs nehmen für die Abblock Kos sonder 100nF!!! (das motte je großer um so besser ist da total falsch!!! man nimmt bei höherfrequenten sachen sogar dann 10n 1n ... oder mixturen draus!) Jetzt habe ich 4 x 100nF zwischen +5V und GND. Einmal am +5V Anschluss und an allen ICs direkt. So richtig? (Anhang!)
wenn du R7 und R8 verwenden willst ist es so ok, du könntest aber das ganze wegllassen und den eingang auf tristate schalten dann siehst eh ob was da ist oder nicht, aber auf den einen R solls nicht ankommen so hab ich jetzt nichts mehr gesehen, die segmantansteuerung hab ich aber nicht gecheckt! bg
Supi, Danke! Das mit Tristate hab ich mal gelesen und nicht gecheckt! :) Ich denke ich bleiben bei R7 und R8. Vielen Dank für eure Hilfe und Geduld!
Hi, hab alles nochmal überarbeitet und die doofen Transistoren durch Optokoppler getauscht. Vielleicht könnt ihr euch den Teil nochmal kurz anscheuen?! :D Wäre Super! liebevoll .. Sebastian
Hi und sorry, bin einfach zu selten online im Moment (Umzug...). Auf ein Neues? Stützkondis sind da - sehr gut! Ohne die kann sich die Schaltung aufschwingen und abrauchen (is echt nicht schön sowas) bestenfalls fällt sie spontan mal aus. - Diode D3 hat keine Funktion(!); gehört von GND (A) nach RST(K), um eine negative Spannung beim abschalten an RST zu verhindern. - Deine Spannungsüberwachung an INT0 ist immer noch Schrott! Damit das funktionieren könnte, müßte der MC-Port Pull-Downs haben - hat er aber nicht! Selbst wenn Vcc auf 0V sinkt, zieht der interne Pull-Up die Spannung zu weit hoch, so daß Du mit Sicherheit in einem undeffinierten Spannungsbereich kommst. Ein zulässiger Low-Pegel sollte 0,7V nicht überschreiten (näheres wie immer Angaben im Datenblatt)! Notfalls machs mit Transistor wie bei T1. - Stützkondi 100nF für IC2 reicht nicht! Min. noch 1µF-Elko parallel dazu. Notfalls im Datenblatt vom MAX232 nachsehen. Der Rest bleibt wohl eine Frage des Geschmacks. Ich würde Dir dennoch einen 10 Ohm-Widerstand in Reihe zum Reset-Elko raten. Je nach Elko können sehr häftige Peaks entstehen - die sollte man nicht unterschätzen! PullUps brauchst Du für RAM an P0 und P2 nicht. Da scheiden sich manchmal die Gester wegen Störsicherheit, aber bei ext. Buszugriffen aktiviert der 8051er eigene PUs, von denen offensichtlich nicht viele wissen. Wenn Du ext. RAM (und ggf ROM) auf der zweiten Platine verbauen willst, dann solltest Du auch gleich die entsprechenden Steuerleitungen mit auf die Stecker legen (sofern nicht über C-Uplink schon geschehen). Für Zugriffe auf ein PRG-ROM würde noch PSEN benötigt. In der Regel macht sich ein großer Stecker mit allem besser, als unzählige kleine... . Etwas eigentartig finde ich noch die großen Stecker an P0 und P2. Warum 20polige wenn schon 10-polige reichen??? Nehmen auch deutlich weniger Platz auf der Platine weg. ;) Gruß, Arne
Hallo, ich hab da jetzt mal einen Transistor (T3) an Int0 gelegt. Ich hoffe, dass das so richtig ist! Die Widerstandswerte habe ich nicht angepasst. Ich weiß leider nicht, wie ich auf diese Werte komme! Ich verstehe auch nicht, auf welche Größe I(B) vom T3 begrenzt wird?! Mindestens durch R8 wird er auf [ U(VCC) / R(R8) ] begrenzt. Aber wie wirkt sich R7 dann aus? Ich finde im Datenblatt vom BC547 auch keine Angaben über I(Bmax)! Brauch man denn nicht noch einen Widerstand zwischen dem gemeinsamen Punkt R8/R7 und der Basis des T3? Muss man den I(C) vom T3 nicht auch noch begrenzen, oder macht das der µC intern? Zum T1 ergänzend: Durch den Spannungsteiler an der Basis von T1 hat dieser eine Basis-Emitter-Spannung von 6V .. oder? Ist das nicht viel zu viel? Bitte helft mir, .. ich bin nun endgültig verwirrt! :( hoffnungsvoll .. Sebastian
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.