http://www.mikroe.com/downloads/get/1970/easyavr_v7_schematics_v101.pdf
Hallo, würde gerne so etwas wie dort mit dem PullUp und PullDowns bauen
als Testplatine, bei dem ich umschalten kann, ob ich einen Input oder
einen Output nutze.
Die Tristate Schalter sind sehr teuer. Würde darauf verzichten und das
ggf. mit Jumpern erledigen. Also kann man sich die 2 eingerahmten
DIL-Switches oben im gelben Kästchen wegdenken. Daraus werden dann 3x8
Stiftleisten.
Gibt es sonst noch Probleme ggf mit der Schaltung?
Hi Simom
Diese Anordnung macht nicht wirklich Sinn. Schau dir allein mal einen
einzigen Ausgang des Controllers an. Mit einer "1" schaltest du die LED.
Gut. Dann ist da aber direkt rechts daneben im Schaltbild ein SChalter,
der diesen Ausgang auf "0" zieht. Na ja, kurzzeitig steckt der
Controller das vielleicht weg, aber ist es tatsächlich nur ein kleiner
Augenblick, wo dieser "Kurzschluss" besteht? Nichts gegen
Experimentierboards, aber da würde ich eher mal ein paar € für ein
Steckbrett ausgeben und Verbindungsdrähtte. So sind schnell beliebige
Schaltungen gesteckt und du bist an keine Vorgaben gebunden. Und wenn du
dann LED-Reihen haben willst, gut, dann bau dir eine und mach die
Verbindungsdrähte dann an die Adapterplatine. Willst du ein Tastenfeld,
auch gut, eine separate Platine und dann die Taster übers Steckbrett mit
dem Controller verbunden. Und noch ein Tip. Die AVR haben eingebaute
Pull-Up. Das bedeutet, ein Taster muss nach GND geschaltet werden, wenn
man die internen Dinger benutzen will. Nun ist aber unsere Kopflogik ein
gedrückter Taster = "1". Also entgegengesetzt der physikalischen Logik,
nämlich gedrückt heißt "0". Wenn man dann wie ich in der einzig wahren
Sprache (kleiner Scherz) arbeitet, kann das schon mal zur Verwirrung
führen. Daher mache ich es wie die "Großen" und lade mir ein Abbild der
Eingänge in eine Variable. Dabei wird der Status gedreht, so das ein
geschlossener Kontakt auch einer "1" entspricht.
Gruß oldmax
Hallo,
ich kann oldmax hier nur zustimmen. Man braucht sowas nicht wirklich.
Zum Testen oder einfach rumspielen dient bei mir auch ein Steckbrett.
Sachen, die ich gerade mal brauche und die nicht draufpassen bekommen
einen Adapter, meist ein Stück Lochraster mit Stiftleisten. Sowas landet
hintergher in einem Schubfach. Da liegen eben im Laufe der Jahre diverse
Schnipsel rum. 2-3 Einstellregler, Schalter, eine 8er Reihe LEDs, ein
Stück mit 4 Tastern, Temperaturfühler, keine Ahnung, müßte ich mal
genauer durchgehen. Die Sachen sind selten schön, nur funktionell.
Ich wüßte ganz praktisch garnicht, was ich mit einem Projekt wie Deinem
anfangen sollte. Ich habe allgemein öfter das Gefühl, es wird zuviel
probiert und zuwenig nachgedacht. Ein Prozessor würfelt nicht, der macht
nicht immer, was man erwartet, er macht aber immer, was man ihm sagt.
Wenn auf einem AVR mit einem Befehl ein Pin auf Ausgang gesetzt wird und
mit Setzen von H-Pegel eine LED eingeaschaltet wird, dann stimmt diese
Befehlsfolge mit den richtigen Parametern immer. An jedem PIN, an jeden
Port, auf jedem AVR.
Gruß aus Berlin
Michael
oldmax schrieb:> Hi Simom> Diese Anordnung macht nicht wirklich Sinn. Schau dir allein mal einen> einzigen Ausgang des Controllers an. Mit einer "1" schaltest du die LED.> Gut. Dann ist da aber direkt rechts daneben im Schaltbild ein SChalter,> der diesen Ausgang auf "0" zieht. Na ja, kurzzeitig steckt der> Controller das vielleicht weg, aber ist es tatsächlich nur ein kleiner> Augenblick, wo dieser "Kurzschluss" besteht?
Sehe ich auch so, in der Beschaltung wird dir der AVR/... schnell
abgeschossen. Denn, sobald du einen Ausgang am AVR/... aktivierst, der
schalter aber kurzgeschlossen ist, mit GND wird der Strom zu groß.
Du könntest hier einen "Angsthasenwiderstand" kombinieren mit den Leds.
> Nichts gegen> Experimentierboards, aber da würde ich eher mal ein paar € für ein> Steckbrett ausgeben und Verbindungsdrähtte. So sind schnell beliebige> Schaltungen gesteckt und du bist an keine Vorgaben gebunden. Und wenn du> dann LED-Reihen haben willst, gut, dann bau dir eine und mach die> Verbindungsdrähte dann an die Adapterplatine.
Sowas macht aber auch nicht immer Sinn. Ich habe hier viele Ports
(MCP23S17) immer auf einen Wannenstecker (2x5Pol) herausgeführt. Diese
kann man direkt nicht so ins Steckbrett packen. Alternativ müssten hier
immer 8-10 Leitungen (weiblich -> männlich) aufs Steckbrett gezogen
werden. Das habe ich für 2 MCPs gemacht, das war dann nachher sehr
unübersicht aufgrund der Menge an Leitungen. Nutzte diese Steckbretter
gerne, aber dafür sind die einfach zu viel, oder man muss mit den
Drahtbrücken arbeiten, die flach aufliegen, was aber auch nicht immer
optimal ist. Für solche Zwecke bietet es sich an, Breakouts für den
Wannenstecker zu machen, der dass ganze von 2x5 auf 1x10 wandelt.
> Willst du ein Tastenfeld,> auch gut, eine separate Platine und dann die Taster übers Steckbrett mit> dem Controller verbunden. Und noch ein Tip. Die AVR haben eingebaute> Pull-Up. Das bedeutet, ein Taster muss nach GND geschaltet werden, wenn> man die internen Dinger benutzen will. Nun ist aber unsere Kopflogik ein> gedrückter Taster = "1". Also entgegengesetzt der physikalischen Logik,> nämlich gedrückt heißt "0". Wenn man dann wie ich in der einzig wahren> Sprache (kleiner Scherz) arbeitet, kann das schon mal zur Verwirrung> führen. Daher mache ich es wie die "Großen" und lade mir ein Abbild der> Eingänge in eine Variable. Dabei wird der Status gedreht, so das ein> geschlossener Kontakt auch einer "1" entspricht.> Gruß oldmax
Ich glaub dem TE ging es weniger um die logischen Pegel. Manchmal kommt
man um externe Pullups nicht herum, wenn eine gewisse Leitungslänge
erreicht ist. PullDown halte ich in der Regel aber für nicht notwendig.
Einzelne IOs kann ich nicht umschalten, ist auch nicht nötig. Halte da
lieber die Inputs getrennt, wenn man wirklich mal die Interrupts für
sowas nutzen möchte (in Verbindung mit Peter Danneggers Entprelllibary).
Ich kann beim Löten entscheiden, ob ich einen Port als Ausgang oder
Eingang nutzen will. Beim Eingang wird nur der 8Pos -DipSchalter
verlötet. Die 8 PullUps werden nur optional bestückt. Um das ganze für
den AVR und MCP sicherer zu machen, teilen sich die Leds und die Taster
einen Widerstand nach Gnd, der so bemessen ist, dass deutlich weniger
als 20mA fließen. Mir reichen 5-8mA für Leds aus. Sollte ein Port als
Ausgang funktionieren, lasse ich den Schalter weg und verlöte nur die
Leds.
Das ganze ist zwar noch nicht fertig, aber vielleicht passt dir sowas
vom Aufbau.
Ansonsten geht meine Meinung in die, wie es Michael auch gedeutet hat.
Soll es etwas aufgeräumt sein, dann ggf. noch zusätzlich mit
Adapterplatinen arbeiten. Meine werde ich für ~1-2€/Stk beim Chinesen
fertigen lassen, ob die je in der Stückzahl gebraucht werden, ist
Nebensache. Gelötet wird nur bei Bedarf.