Forum: Mikrocontroller und Digitale Elektronik I/O Platine: Schaltung


von Simon (Gast)


Angehängte Dateien:

Lesenswert?

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?

von oldmax (Gast)


Lesenswert?

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

von Michael U. (amiga)


Lesenswert?

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

von Stefan S. (sschultewolter)


Angehängte Dateien:

Lesenswert?

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.

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.