Forum: Mikrocontroller und Digitale Elektronik Schaltung OK?


von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

Ich plane eine Art tragbares Gerät mit mehreren Schnittstellen und G-LCD 
(Beitrag "Display mit Touchscreen bei Pollin?"). Im Anhang mal eine 
Schaltung (ist das erste mal, dass ich mit Eagle arbeite).

USB soll in Software erfolgen (s. Elektor März 2007), wie auch PS/2 für 
eine Tastatur. Ebenso ist ein Erweiterungs-Port vorhanden (ich verwende 
hierzu gerne 15pol Sub-D), wegen der Knappheit an Pins sind einige 
mehrfach verwendet. Sollt eich besser Schieberegister einsetzen?

Sind irgendwelche groben Fehler drin?
Allgemein: Glaubt ihr, dass der ATMega32 mit den Ganzen Aufgaben 
überfordert ist? Sollte ich z.B. noch einen zweite Controller nur fürs 
Display einbauen und diesen dann über I2C/SPI/etc. ansteuern?
Brauche ich für USB bzw. PS/2 eigene Abblockkondensatoren?

grüssse
g.

von gadgaet (Gast)


Lesenswert?

Niemand?

von spess53 (Gast)


Lesenswert?

Hi

Nur auf den ersten Blick:

- 100nF an VCC/AVCC fehlen
- deine Busleitung ist nicht verbunden
- dein ISP-Anschluss ist mit Datanleitungen vom LCD verbunden. Die 
sollten
  mit Widerständen entkoppelt werden (LCD).

MfG Spess

von HildeK (Gast)


Lesenswert?

>Sind irgendwelche groben Fehler drin?
Auf Anhieb sehe ich nur, dass das Netzteil keine Verbindung zu GND hat.

von gadgaet (Gast)


Lesenswert?

100nF sind da (oben).
Intern sind die Busleitungen alle verbunden, würde wahrscheinlich 
schrecklich aussehen, wenn ich die so verbinden würde...
Widerstände vor dem ISP oder vor dem LCD?
Mir kommen langsam Zweifel, ob der ATMega das alles packt...

von HildeK (Gast)


Lesenswert?

Äh ...
Sollte EXT9 / EXT10 gebrückt werden können, um als RS232-Loop dienen, so 
sollte der Ausgang Pin 12 des IC1 ev. noch ein paar hundert Ohm als 
Serienwiderstand erhalten.

von Gast (Gast)


Lesenswert?

Hallo,
Fragen über Fragen...

Baue doch deine Schaltung Stück für Stück auf einem Steckbrett auf.
Ein Stück Hardware zusammenstecken, die Software dafür entwerfen, 
ausprobieren und weiter.

1. Controller und ISP
2. RS232
3. Display
4. USB
5. Touch + PS2
usw...

Ein MEGA32 wird die Aufgabenstellung sicherlich schaffen, allerdings 
nicht alles gleichzeitig.

MfG

von Andreas W. (geier99)


Lesenswert?

und mir fällt noch auf:
- ISP ist etwas ungewöhnlich belegt. (nicht ganz der Standard von den 
üblichen Programmer)
- bei der RS232-Schnittstelle ist doch "GND" normalerweise der PIN 5

von (prx) A. K. (prx)


Lesenswert?

Bei Diode und wie hier kleinem C vor dem Regler kann D1 entfallen.

von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

Steckbrett ist gerade ziemlich belegt, muss erstmal Platz schaffen 
;-)... So werd' ichs auch machen.
RXD/TXD auf dem EXT-Port sind nur gedacht, um Zugriff auf die TTL-Pegel 
zu haben.
Ich hätte wahrscheinlich etwas mehr Spielraum, wenn ich 
Display-Ansteuerung+Touch auslagern würde, oder? Welchen Controller 
würdet ihr dafür nehmen und wie sollte dieser am besten mit dem Mega32 
zusammenarbeiten (d.h. welches Protokoll)? Dann hätte ich auch ein paar 
Pins mehr frei und müsste keine mehrfach belegen.

grüssse
g.

von gadgaet (Gast)


Lesenswert?

@A.K. D.h. D1 und den Elko weglassen?
@Andreas: Ja, ISP ist ungewöhnlich. Mich hat es nur gewundert, dass die 
üblichen Stecker nicht wirklich verpolsicher sind, der Stecker ist in 
echt auch etwas unförmiger und hat 7 Pole (GND ist doppelt). GND dürfte 
ja an Pin 5 sein, die Nummerierung ist hier nur irgendwie anders.

von (prx) A. K. (prx)


Lesenswert?

gadgaet schrieb:

> @A.K. D.h. D1 und den Elko weglassen?

Elko drinlassen, Diode überflüssig. Die ist nur sinnvoll, wenn in 
grösserem Umfang Strom rückwärts durch den Regler fliessen könnte.

von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

Die Diode war drin, falls versehentlich mal die Betriebsspannung 
falschrum angelegt wird (kann bei 9V-Clip ja leicht mal passieren). 
Brauchen VCC und AVCC wirklich beiden einen eigenen C? Auch wenn sie 
verbunden werden?

von (prx) A. K. (prx)


Lesenswert?

D1, nicht D2. Ich kann nix dafür, dass du von rechts nach links 
nummerierst ;-).

von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

OK, hab mich vertan.

von Andreas W. (geier99)


Lesenswert?

Dann sage ich nur mal Vorsicht :-)

Sicherheitshalber solltest Du dann im Board nochmal kontrollieren, ob 
die Signale auch am richtigen Pin liegen.

Ich würde mich auf jeden Fall immer nach der Pin-Nummerierung richten 
wie sie von Eagle vergeben wird (ausser Du hast das Bauteil selbst 
angelegt),
denn für das Layout ist nur die Pin-Nummerierung relevant, da die 
grafische Anordnung der Pins im Schaltplan nichts mit der wirklichen 
Positionierung der Pins im Board zu tun hat.

von (prx) A. K. (prx)


Lesenswert?

J1 bringt auch nix. AREF kann intern auf AVCC geschaltet werden.

von (prx) A. K. (prx)


Lesenswert?

Wenn präzise Analogmessung gewünscht, dann ist ein L/C-Filter vor AVCC 
sinnvoll, wie in Datasheet empfohlen.

von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

Board wird's sowieso keins geben... Hab vor, das ganze auf Lochraster 
aufzubauen. Erstens kommt es billiger und zweitens habe ich noch etwas 
Spielraum, wenn ich noch was einbauen will bzw. noch was ändern will.
@A.K.: Ich glaube, so präzise muss es nicht sein.

von Andreas W. (geier99)


Lesenswert?

gadgaet schrieb:
> Widerstände vor dem ISP oder vor dem LCD?
vor dem LCD.

Da es aber nur Eingänge sind, wird es wahrscheinlich auch ohne 
Widerstände funktionieren (mit  bist du auf der sicheren Seite :-) )

von spess53 (Gast)


Lesenswert?

Hi

>Da es aber nur Eingänge sind...

LCD7..14 sind die Datenleitungen.

MfG Spess

von gadgaet (Gast)


Lesenswert?

Wie bewegt man in Eagle eigentlich ganze Gruppen? Habe bis jetzt nur 
rausgefunden, wie man einzelne Bauteile bewegt...

von Andreas W. (geier99)


Lesenswert?

group symbol anklicken (viereck)
Bereich markieren
dann move anklicken

danach mit rechter maus taste die gruppe anklicken und verschieben.

von gadgaet (Gast)


Lesenswert?

Danke. Wäre ich nie drauf gekommen...

von kurz (Gast)


Lesenswert?

Doch da kommst Du auch drauf. Steht in der Hilfe.

von MaWin (Gast)


Lesenswert?

> Doch da kommst Du auch drauf. Steht in der Hilfe.

Andere Programme funktionieren intuitiv....

von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

Gut, habe mich jetzt doch für eine 2-Controller-Lösung entschieden. 
Anbindung erfolgt über I²C, dürfte das von der Geschwindigkeit reichen? 
Ich kann ja immer noch auf SPI umsteigen, falls nicht. Die Leitungen für 
SPI sind die selben, die auch bei ISP benutzt werden?

von gast (Gast)


Lesenswert?

Warum ist am COM-Port 1 auf Masse gelegt? Das gehört auf Pin5

von Michael U. (amiga)


Lesenswert?

Hallo,

gadgaet schrieb:
> Steckbrett ist gerade ziemlich belegt, muss erstmal Platz schaffen
> ;-)... So werd' ichs auch machen.
Dann leiste Dir ein zweites... ;-)))

> RXD/TXD auf dem EXT-Port sind nur gedacht, um Zugriff auf die TTL-Pegel
> zu haben.
GND RS232 wurde schon mehrfach erwähnt, ist Pin5, nicht Pin1.
Ich halte es nicht für sinnvoll, eine eigene Belegung für den ISP zu 
benutzen, wenn es nicht zwingende Gründe wie z.B. spezieller 
Steckverbinder aus Platzgründen usw., gibt.
Bei 2x3 ist man mit der üblichen immer gut bedient, selbst wenn der 
Steckverbinder z.B. kein 2,54mm Raster hat, ist ein 1;1 Adapter 
schneller gebaut, als jedesmal erst rätseln zu müssen, wo welches Pin 
gelandet ist.

> Ich hätte wahrscheinlich etwas mehr Spielraum, wenn ich
> Display-Ansteuerung+Touch auslagern würde, oder? Welchen Controller
> würdet ihr dafür nehmen und wie sollte dieser am besten mit dem Mega32
> zusammenarbeiten (d.h. welches Protokoll)? Dann hätte ich auch ein paar
> Pins mehr frei und müsste keine mehrfach belegen.

Man kann auch 5 AVR nehmen, um etwas Nachdenken im Vorfeld 
einzusparen...
Mehrfachbelegungen sind überhaupt kein Problem, wenn man jederzeit 
darüber nachdenkt, was die Komponenten machen. ISP-Pins als Ausgang 
stören nicht, wenn die Komponente sich nicht daran stört, daß da 
ISP-Daten anliegen.
Displaydaten z.B sind egal, solange E oder /CS bei Reset = L und damit 
TriState der AVR-Leitungen nicht aktiv sind. AVR als Eingang darf eben 
in diesem Zustand kein anderes ICs aktive Ausgänge haben. Das ist mit 
einem passenden PullUp/PullDown Widerstand an /CS, E, oder was auch 
immer, kein Problem.

Zum "schafft das ein Mega32": was soll er denn machen?
Erstmal abschätzen, was zeitkritisch werden wird.
Hier sicher USB. Muß also, während eine USB-Übertragung läuft, 
"gleichzeitig" was anderes passieren? Display? Uninteressant, kann man 
sowieso nicht so schnell ablesen, läßt sich also vermutlich irgendwie 
einschachteln.
Sensoren einlesen?
Sind wirklich welche dabei, die sehr häufig bearbeitet werden müssen und 
Zeit kosten?

Tastatur: so schnell tippt keiner, wie sind die möglichen 
Reaktionszeiten des PS/2, beißt sich das, wenn jemand während einer 
USB-Übertragung eine Taste drückt oder ist die Zeit, bis USB den Kram 
freigeben kann, immer so kurz, daß man die Tastatur zwischenschieben 
kann?

Sowas kann man im Vorfeld zumindest abschätzen und eben die als kritisch 
vermuteten Kombinationen mit Softwareteilen auf dem Steckbrett 
durchspielen.

Nur was man nicht in Assembler programmieren kann, das muß man Löten. 
;-))

Gruß aus Berlin
Michael

von Michael G. (linuxgeek) Benutzerseite


Lesenswert?

Hm... also USB direkt am Mega32? Was willst Du denn da machen? Wenn das 
zuverlaessig funktionieren soll waerst Du mit einem FT232 besser 
beraten. Und eine Batterie in Verbindung mit einem 7805 ist keine so 
gute Idee, der saugt die Dir ziemlich schnell leer, selbst wenn die 
Schaltung unbelastet ist. Da braeuchtest einen etwas effizienteren 
Wandler.

Michael

von gadgaet (Gast)


Angehängte Dateien:

Lesenswert?

USB war eigentlich nur als Spielerei gedacht, aber, da hast du recht 
Michael, einen wirklichen Nutzen bring das nicht... Kann ich ja auch ein 
andermal ausprobieren.
Wegen der seriellen Schnittstelle bin ich jetzt etwas verwirrt: Muss ich 
TXD des µC an RXD von SUB-D-9 anschließen und umgekehrt? Also praktisch 
ein Nullmodemkabel machen?

von gadgaet (Gast)


Lesenswert?

Wäre eine Schaltung mit einem LM317 sparsamer? Den hätte ich nämlich 
noch da...

von Karl H. (kbuchegg)


Lesenswert?

gadgaet schrieb:
> USB war eigentlich nur als Spielerei gedacht, aber, da hast du recht
> Michael, einen wirklichen Nutzen bring das nicht... Kann ich ja auch ein
> andermal ausprobieren.
> Wegen der seriellen Schnittstelle bin ich jetzt etwas verwirrt: Muss ich
> TXD des µC an RXD von SUB-D-9 anschließen und umgekehrt? Also praktisch
> ein Nullmodemkabel machen?

Mach es vor aqllen Dingen richtig.
Hier zb. hat Hilde ganz gut beschrieben, wie es sein sollte (und in der 
Praxis oft nicht ist)
Beitrag "Re: RS232 funktioniert nicht!"


Ist dein RS232 ein männlicher Anschluss oder ein weiblicher?

(Beachte: Auch im Tutorial ist das falsch. Eigentlich sollte auf so eine 
µC Platine ein männlicher Anschluss. Ein µC als eigenständiger 
Rechenknecht ist schliesslich ein DTE)

von gadgaet (Gast)


Lesenswert?

Ich dachte erst an einen weiblichen Anschluss, damit sich das Teil 
problemlos an einen PC anschließen lässt. Männlich wäre auch denkbar, um 
andere Geräte mit µC "kontrollieren" zu können. Ich tendiere aber zu 
einem weiblichen. Aber es gibt ja Gender Changer... Oder ist da noch 
etwas anderes zu berücksichtigen?

von gadgaet (Gast)


Lesenswert?

Ah, OK. Hätte den Beitrag gleich lesen müssen. Habe weder eine 
Stiftleiste noch ein Nullmodemkabel da...

von gadgaet (Gast)


Lesenswert?

Muss ich die nicht benutzten Eingänge des ADM232LJN auch ein bestimmtes 
Potential legen oder kann ich sie offen lassen?

von (prx) A. K. (prx)


Lesenswert?

gadgaet schrieb:

> Wäre eine Schaltung mit einem LM317 sparsamer? Den hätte ich nämlich
> noch da...

Pekuniär ja, physikalisch nein.

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.