Hallo, ich möchte mich erstmal mit wenigen Worten vorstellen. Ich bin 19 Jahre Alt, mache momentan eine Ausbildung zum Elektroniker für Geräte und Systeme (kurz EGS) bei der Marine. Des Weiteren interessiere mich nebenbei sehr für Elektronik. Doch langsam nehmen meine Projekte an Umfang zu, so das ich nun doch – langsam aber sicher – auf Mikrokontroller umsteigen muss ;) Ich habe mir für meine ersten Schritte bei eBay für wenig Geld einen Atmel Programmer geholt und gleich mal mit einem ATMEGA8515 bestückt um erste Read/Write Erfahrungen zu Sammeln. Als nächstes fing ich an mich durch das 150 Seiten starke AVR Instruction Set zu wühlen und die Befehle kennen zu lernen. Und ich musste feststellen, dass doch starke Ähnlichkeit besteht mit dem in unserer Ausbildung verwendetem MFA und dessen Befehlssatz. Doch leider kann ich meine geschriebenen Programme nicht testen (also erste Input/Output Tests), so dass ich mich nun doch dazu entschlossen habe ein kleines Testboard zu bauen welches ausschließlich für den ATMEGA8515 konzipiert sein soll. Es soll (in seiner ersten Variante) schlicht und einfach in der Lage sein durch Taster/Schalter/ext. Quellen Signale auf die Ports zu geben bzw. sollen LEDs den Output-Status anzeigen. Da ich (soweit ich informiert bin) die Ports frei als Input- bzw. Output-Ports benutzen kann bin ich auf eine Umschaltung angewiesen, so dass ich per Schalter auswählen kann ob ich den Port nun als I oder als O Port nutzen möchte. Weiter soll über Jumper einstellbar sein ob ich einen Taster, Schalter oder doch eine externe Quelle zur Signaleinspeisung benutze. Über einen weiteren Jumper möchte ich entscheiden ob an dem Taster/Schalter nun ein HIGH oder ein LOW geschaltet wird. Und als letztes möchte ich einen Pull-Down Widerstand per Jumper zuschalten können (Intern sind ja, wenn ich es richtig aus dem Datenblatt entnommen habe bereits Pull-Up Widerstände enthalten). Nun möchte ich von euch Wissen ob ich den im Anhang befindlichen Schaltplan als Beschaltung für alle der 32 I/O Ports nutzen kann. Ich weiß, dass es solche Boards bereits (recht) günstig gibt, erhoffe mir aber doch etwas Erfahrung durch das selbst entwickeln.
Ich würde mal vielleicht ein Board für modernere ATMEGAs (16 32 162) bauen, oder halt 2 Sockel vorsehen, da es ja 2 grundverschiedene Anschlußbelegungen gibt (+ und Masse in der Mitte oder oben rechts und unten links, wie bei TTL-ICs). Es gibt so tolle Nullkraftsockel, die für diese Zwecke bestens geeignet sind und oftes Umstecken der Prozessoren ohne Schaden überstehen. Das ganze kanst Du (frei verdrahtet) auf eine Lochrasterplatine löten oder Du holst Dir ein Steckbrett (Breadboard) dafür (wobei gelötet immer besser ist, als gesteckt. Natürlich kannst Du Dir auch ein Board ätzen, keine Frage. Den Schaltplan kannst Du prinzipiell für alle Pins benutzen, aber Du solltest beim Programmieren der Ports immer aufpassen, daß Du keinen Ausgang auf irgendein festes Potential ohne Last dazwischen schaltest, sonst kommt Rauch aus dem Prozessor und dann war er mal.
die Ports über Schalter zwischen I/O umschalten ist teuer und aufwändig. Da finde ich die Lösung vom STK500 ganz gut: alle Ports sind über gleiche Stecker (10pol. Pfostenstecker) nach aussen geführt. Über ein Flachbandkabel kann man dann die Ports mit Tastern oder LED's verbinden. Hat allerdings den Nachteil dass dann immer 8 Bit In oder 8 Bit Out sein müssen. Ich habe mir daher ein Adapterkabel gemacht mit dem ich von den 10pin Pfosten auf einen 10pol. Leiterplattenverbinder gehe und den dann in ein Steckbrettt einstecke, da kann dann beliebiege Peripherie draufgebaut werden.
Erstmal vielen Dank für die schnellen Antworten. Ich wollte das Board schon Ätzen lassen, da wir hier über ein voll ausgestattetes Ätz-Labor verfügen. Einen Nullkraftsockel wollte ich sowieso benutzen. Nun noch mal zurück zu den I/O Ports. Wie meinst Du das mit der Last? Würde der Transistor am Ausgang als Last reichen? Das mit dem Umschalten mag ja kompliziert sein aber fürs erste reicht mir das so, die Ports kann ich ja trotzdem noch extern beschalten durch die Lötstifte. Dazu muss ich halt nur die Jumper entsprechend stecken und ich kann beliebige Signale oder Erweiterungsplatinen etc. anschließen. Fürs erste reicht mir diese Lösung vollkommen. Wenn ihr das so Absegnet mach ich heute oder morgen den gesamten Schaltplan fertig und das Layout, stell das dann noch mal hier rein und gebs Montag oder Dienstag zum Ätzen ;)
die Umschaltung ob in oder out ist kein Problem du musst dafür aber einen Pin opfern der dann je nachdem ob high oder low dem µC mitteilt was die Ports sein sollen. Genauso ist es damit ob er auf high oder low reagieren soll hier geht ein weiterer Pin drauf. Also 2 Pins um einen Port konfigurieren zu können. Oder aber du installierst einen kleinen Dipschalter um das dem µC digital mitzuteilen zu 3 Schalter für 8 verschiedene Varienten dann sparst du schonmal 3 Pins ein. Hättest also 3 volle Ports und 5 weitere Pins.
Mit der Last meinte ich, daß wenn Du einen Pin als Ausgang definierst (gewollt oder ungewollt), darfst Du diesen nicht direkt mit Masse oder Vcc verbinden, weil der Pintreiber dann der Geist aufgibt. Es muß in dem Fall ´ne Last (Widerstand oder anderer Stromverbraucher) dazwischen und es dürfen nicht mehr als 20 mA fließen! Es müssen also Schutzmaßnahmen getroffen werden oder aber der Pin bleibt bewußt offen.
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.