Forum: Mikrocontroller und Digitale Elektronik Erste Schaltung - noch was falsch?


von Michael Z. (incunabulum)


Angehängte Dateien:

Lesenswert?

Moin!

als Neuling (Programmieren kann ich, Elektronik versuch ich noch zu
verstehen) bin ich kurz davor, mir meine erste Platine zu ätzen. Nur,
sicher bin ich nicht, dass das alles so richtig ist - insbesondere bei
der Stromversorgung sowie der Spannungsversorgung des Atmel.... Ist das
so alles richtig? Oder hab ich einen Bock geschossen?

Das ganze ist eine kleines Board zum Messen von Temperatur, Druck und
einem Tankpegel und einem Display (über SPI) zur Anzeige. Gemessen wird
wie folgt:
- Temperatursensoren (KTY 81) über Spannungsteiler
- Drucksensor entsprechend der Beschaltung im Datenblatt angeschlossen
- Der Tanksensor hat einen Wiederstand von 20 - 180 Ohm (annäherend
linear). Gemessen wird mit Konstantstrom und dem damit verbundenn
Spannungsabfall.
Angeschlossen wird das Board im Auto, so dass die Eingangspannung (12
Volt) unsauber ist. Daher auch der Aufwand hinsichtlich Glättung und
Stabilisierung, die ich aus einem ähnlichen Projekt im Netz übernommen
habe.


Und gleich noch drei Fragen:
- Welche Aufgabe haben die Spulen beim Spannungswander und bei VCC?
- Welche Kondensatoren (Typ) verwendet Ihr am liebsten aus der
Eagle-Bibliothek. Bei meinen Vorlagen werden mal die normalen Keramik
Kondensator (Reichelt: KERKO100N), mal aus der eagle-bibliothek
capacitor-wima verwendet.
- Welche Eagle-Bibliothek liefert mir die normalen Keramik
Kondensatoren?

Schon mal Danke und cu,

Michael

von A.K. (Gast)


Lesenswert?

Spulen: Die an AVCC sorgt dafür, dass der nicht bloss Störspannungen
misst und die vor dem Regler rettet dem das Leben.

Was fehlt: 10K/47nF an Reset. In der Umgebung unbedingt
empfehlenswert.

Wenn die Analogeingänge deutlich Kabel dran haben, landen alle
eingefangenen Störungen schon säuberlich im ADC und die Werte spielen
verrückt. Lies: Kondensatoren an die ADC-Eingänge.

von Michael Z. (incunabulum)


Lesenswert?

Der ADC liest schon mal Mittelwerte aus, um so wenigstens ein bisschen
Störungen rauszufiltern. Kondensatoren könnten da aber helfen, stimmt.


Was nehm ich dort denn? Jeweils 100 nF auf GND? Reset auch über R/C auf
GND?

cu, Michael

von A.K. (Gast)


Lesenswert?

Reset: R rauf, C runter. C 10nF-100nF was grad da ist, R >= 4K7.

Ain: 100nF dürften reichen. Je nachdem was du mit den Leitungen vorhast
und wo sie liegen könnte es auch sinnvoll sein, vor Eingänge jeweils
einen 10K Serienwiderstand zu packen (dahinter C und Pin). Um dem
Controller das Leben zu retten, wann da mal mehr ankommt als ihm lieb
ist.

von Michael Z. (incunabulum)


Lesenswert?

Danke dir,
das werd ich morgen gleich ändern. Der Serienwiederstand leuchtet mir
auch ein.

Noch ne Frage: Wie heissen die herkömmlichen Keramikkondensatoren in
Eagle? (Die runden!)

von johnny.m (Gast)


Lesenswert?

Je nach Rastermaß (2,54 oder 5,08 mm) nimmste C025-024X044 oder
C050-024X044 (für Scheiben- oder Vielschichtkondensatoren).

von johnny.m (Gast)


Lesenswert?

Das Display ist falsch angeschlossen! Der Enable-Eingang (E) darf nicht
fest an 5V liegen. Die Daten an den Dateneingängen werden bei einer
fallenden Flanke an E übernommen. Du musst diesen Eingang vom µC aus
schalten, um Daten zum Display zu übertragen!

Außerdem: Gibt es einen Grund dafür, dass Du als Steuerleitungen für
das Display die SPI-Leitungen benutzt? Du hast doch genügend andere
Controllerpins frei. Das was Du gemacht hast, kann einerseits zu
"lustigen" Fehlern auf dem Display führen (was aber nicht so schlimm
ist) und andererseits die Programmierung über SPI stören.

von A.K. (Gast)


Lesenswert?

Obacht - das Ding sieht nicht wie ein HD44780 Display aus.

von johnny.m (Gast)


Lesenswert?

@A.K.:
Im Prinzip haste Recht, aber die Steuerung über den Enable
(Datenübernahme bei fallender Flanke) läuft bei den DOG-Displays genau
so, wie bei den HD44780-kompatiblen.

von Michael Z. (incunabulum)


Lesenswert?

Das Display ist nen DOG-M-Display mit 3x16 Zeichen.

Das ganze läuft im SPI-Mode (schon getestet, klappt), so dass ich
natürlich die MOSI, SCK etc. dafür verwende! Und die Verdrahtung des
Displays entspricht dem Datenblatt für SPI.

cu, mz

von johnny.m (Gast)


Lesenswert?

OK, ich war a bissl blind. Die DOG-Dinger kann man ja über SPI
ansteuern, und das ist anscheinend genau das, was Du machst... War grad
anscheinend noch nicht ganz wach... Sorry

von Tassilo B. (big_t)


Lesenswert?

DOG-M Display über SPI ansteuern macht Sinn. Allerdings fehlen die
Serienwiderstände in den SPI-Leitungen zum Display (1k-4k7). Wenn dann
noch die Resetleitung des Displays mit dem Reset des AVR zusammengelegt
wird (und nicht auf 5V), dann kann bei der ISP-Programmierung auch
nichts schiefgehen.

Tassilo

von Michael Z. (incunabulum)


Lesenswert?

Öhm, warum brauch ich denn hier noch Serienwiederstände?

Das Display an Reset zu hängen macht meiner Meinung nach nur für die
Entwicklung Sinn. Dort kann man das Display dann auch gleich resetten.
Wenn es läuft, verwend ich die Reset-Leitung doch nicht mehr. Oder
warum sollte ich das sonst noch so machen, wie von Tassilo
vorgeschalgen.

cu, mz

von Michael Z. (incunabulum)


Lesenswert?

Und in welche SPI-Leitungen denn? Alle 4?

von Tassilo B. (big_t)


Lesenswert?

Das ist mehr als Vorsichtsmaßnahme zu betrachten, gehen müßte es auch
so! Wenn beim Programmieren des AVRs die RESET-Leitung des Displays mit
runtergezogen wird, kann man ganz sicher sein, daß das Display den
Programmiervorgang nicht stört. Und die Serienwiderstände werden auch
im Datenblatt des Displays erwähnt/empfohlen, falls es Probleme mit den
Signalflanken gibt.
Und ja, alle Leitungen zwischen AVR und DOG-M, bei der RESET-Leitung
natürlich einen kleineren Wert (<1k).

Tassilo

von Michael Z. (incunabulum)


Lesenswert?

@Tassilo, stimmt. Wenn man das doch etwas magere Datenblatt lang genug
studiert, so findet man auch den entsprechenden Hinweis auf die
Serienwiederstände.
Nur um sicher zu gehen: Serienwiederstand heisst Avr - Wiederstand -
Display, oder? Im Datenblatt steh ja Pull-Down-Wiederstand, also ein
zusätzlicher Wiederstand auf Masse. Und das wäre ja was anderes, oder?

Und wie klein würdest du den Wiederstand in der Reset Leitung machen?
Kleiner 1k, aber wieviel? 470 Ohm? 1k?

Sorry, dass ich hier vielleicht dumme Fragen stelle, aber gerade bei
solchen Kleinigkeiten fehlt mir noch die Erfahrung. Und verstehen würde
ich doch gerne, warum ich was mache. Dann muss ich auch nur einmal
fragen :-)

cu & danke, mz

von Tassilo B. (big_t)


Lesenswert?

Also die Serienwiderstände dienen hauptsächlich als Strombegrenzung,
damit im Fehlerfall (z.B. beide Seiten als Ausgang programmiert) auf
keiner Seite was kaputtgehen kann. Der Pulldown-Widerstand im
Datenblatt zielt wahrscheinlich mehr in die Richtung, daß der
Eingangswiderstand der Display-Pins kleiner wird und dadurch die
Eingänge unempfindlicher gegen Störungen/Reflexionen werden. Dann muß
der AVR-Pin beim Schalten zwar mehr Strom liefern, aber das ist bei
Pulldown-Widerstandswerten >1k kein Problem. So ein Pulldown-Widerstand
ist eigentlich dazu da, um einen ansonsten unbeschalteten Eingang auf
ein definiertes Potential zu legen, damit der Eingang nicht
'flattern' kann.

Der Widerstand am Display-Reset-Pin ist wirklich nahezu Wurst, da das
Display keinen bemerkenswerten internen Pullup-Widerstand hat. Alles
<1k geht dort wunderbar, wenn du auf Nummer sicher gehen willst, nimm
100 Ohm.

 Tassilo

von Jörn P. (jonnyp)


Lesenswert?

Das Display macht mir Sorgen. Es im SPI-Modus zu betreiben ist ja gut
und schön, aber welches ist der Grundzustand beim Einschalten?? Sollte
es der parallel Modus sein, würden sich mir die Nackehaare streuben bei
dem Knoten E-R/W-Dx. Deshalb würde ich vorschlagen Pin CSB permanent auf
GND zu legen, um das Display schon beim Einschalten in den serial Mode
zu zwingen.Hier mal ein Link zum Datenblatt des Controllers:
http://www.lcd-module.de/eng/pdf/zubehoer/st7036.pdf

von Tassilo B. (big_t)


Angehängte Dateien:

Lesenswert?

Das paßt schon so, wie die Display-Pins auf Vcc bzw. Masse gelegt sind.
Genau in dieser Konstellation läuft das bei mir einwandfrei. Zum
Vergleich ist im Anhang der Schaltplan meiner aktuellen
'Bastelplatine'.

Tassilo

von Michael Z. (incunabulum)


Lesenswert?

Also das Display funktioniert mit der Beschaltung bei mir auf dem
Exp-Board ohne Probleme.

Um aber nochmal auf die Spule zurückzukommen.... den Schaltungsteil
habe ich aus einer anderen Schaltung (Web) übernommen. Das ist schon
ein Riesending! Und bei dem, was ich will, wird dann alles sehr sehr
eng.

Einige andere Schaltungen, die ebenfalls im Auto eingesetzt werden,
haben nun keine Spule, funktionieren aber auch. Warum? Was kann ich
machen, um diesen "Klopper" durch was kleineres zu ersetzen? Was
bringt mir die Spule hier wirklich?

Danke & cu, mz

von Bernd R. (Firma: Promaxx.net) (bigwumpus)


Lesenswert?

...nimm eine SMCC 47uH als L1 und einen P6KE statt des 15KE vor den
7805. Ist alles kleiner und reicht auch.
Und als Trick setze ich dann noch einen 47 Ohm 1W-Widerstand vor die
Spule, um den Strom dei Spannungsspitzen zu begrenzen. Vielleicht
erspart Dir sowas auch die Spule.

Wichtig ist, daß die Spannungsspitzen nicht in den 7805 durchschlagen.
Die TRANSILs (15KE oder P6KE) schalten schnell und können auch einiges
an Strom ab aber die Spule kann einen sprunghaften Anstieg des Stroms
verhindern.

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.