Forum: Mikrocontroller und Digitale Elektronik Anfänger: Geht das so?


von Moritz I. (nietsnie)


Angehängte Dateien:

Lesenswert?

Hallo Allerseits!

Ich hab noch kaum Erfahrung mit Mikrocontrollern... und daran 
angebundenen Schaltungen gar nicht.
Ich habe mir das Schaltbild anhand von verschiedenen kleineren 
Schaltbildern aus Artikeln hier auf der Seite zusammengebaut. Ich würde 
mich super freuen, wenn sich das jemand angucken könnte und ggf. 
konstruktive Kritik oder Verbesserungsvorschläge machen würde. Kann das 
überhaupt so gehen alles?

Vielleicht noch eine kleine Beschreibung, was das ganze werden/machen 
soll:
Ich habe mehrere Terrarien, die mit einer Heizmatte und Beleuchtung 
ausgestattet sind. Nun möchte ich in den Becken an geeigneter Stelle die 
Temperatur messen und anhand eines einstellbaren Sollwertes wird dann 
die Heizung an oder aus geschaltet.
Die Beleuchtung wird erstmal ohne "echte Uhr" ein und ausgeschaltet. 
Später soll vielleicht noch ein RTC-Chip dazu kommen...

Das Programmieren bekomme ich hin, damit hab ich erfahrung. Aber ich hab 
keine Ahnung, ob die Schaltung so tut... ob das alles so Sinn macht.

Die fünf Schalter im unteren Teil sollen eine Steuerung für ein Menü im 
Display darstellen.
Aktuell hab ich mich erstmal auf 3 Temperatur-Messeingänge und 3 
Ausgänge beschränkt. Später sollen da noch ein paar dazu kommen.

An die RJ11-Stecker rechts unten kommt ein Steckdosen-Zwischenteil 
(sorry, aber ich habe keine Ahnung, wie man das korrekterweise nennt), 
dass ich bei ELV gefunden habe und mir perfekt für diesen Einsatzzweck 
scheint:
http://www.elv.de/Schaltinterface-SI-230-2,-230-V,-Komplettbausatz/x.aspx/cid_74/detail_10/detail2_24333/flv_/bereich_/marke_

Stecker deswegen, weil ich das ganze Modular halten möchte... und nicht 
benötigte Schaltinterfaces einfach abnehmen, ohne dass sie unnötig 
rumfliegen.

Ich danke schon mal allen, die sich das ansehen! Und wenn noch Fragen 
sind, versuch ich sie zu klären. Ihr würdet mir sehr helfen, wenn mir 
jemand sagt, dass das so geht oder nicht gehen kann und was ich ändern 
muss/sollte.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Für was brauchst Du IC1 und IC5? Der Prozessor hat doch noch genügend 
Pins frei.

Überlege Dir eine Schutzschaltung, dass wenn der Prozessor steht, dass 
dann die Ausgänge sicher abschalten.
Beispiel hier:
Beitrag "Re: Heizungssteurung im Eigenbau"
T18/T19. Es muss das Signal "Rel_EIN" immer getoggelt werden. Wenn der 
Prozessor steht, dann ist die Relais-Spannung weg.

von Moritz I. (nietsnie)


Lesenswert?

Ja, noch hat der Prozessor genügend Pins frei... mit 3 Sensoren und 3 
Ausgängen soll das auch erstmal nur ein Anfang sein. Wenn das 
funktioniert, soll es in Richtung von 10 und mehr Sensoren und Ausgängen 
gehen... dann dürften die Pins langsam knapp werden. Und so wie ich das 
verstanden habe, kann ich mit den beiden ICs die Eingänge bzw. Ausgänge 
beliebig erweitern, ohne dass mir die Pins ausgehen. Das war mein 
Gedanke dahinter.

Bzw. IC5 (74HC165N) ist vielleicht wirklich überflüssig... nur für die 
Schalter. Da hast du recht.

Ich bin mir noch nicht sicher, wie ich die Sensoren (DS18S20) an so 
einen Baustein schalten kann, dass man sie alle auslesen kann... da steh 
ich noch ziemlich auf dem Schlauch.

Das mit der Schutzschaltung ist ein sehr sehr guter Hinweis! Daran habe 
ich noch gar nicht gedacht.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

OK, für die Ausgänge kannst Du anstatt den 74HC595 besser den TPIC6C595 
von TI nehmen, damit würden die Widerstände R6..8 und Transis Q4..6 weg 
fallen.

Nach den Tastern müssen Pull-Down Widerstände sein. Die Pull-Ups vor den 
Tastern braucht es nicht.

Der 7805 ist irgendwie auch überflüssig, zumindest so wie er 
angeschlossen ist. Oder gibt es da noch eine Buchse für externe 
Stromversorgung?

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Beim Display musst Du noch ins Datenblatt schauen, wenn das ein EA-DOG 
sein sollte könnte man das auch über SPI ansteuern, braucht weniger 
Leitungen.
Vor allem die offenen Pins D0..D3 gefallen mir nicht.

von Jobst M. (jobstens-de)


Lesenswert?

Die Temperatursensoren kannst Du alle an einen Anschluss hängen. Ist 
dann aber etwas umständlicher die Dinger anzusprechen. Einmal 
implementiert, lassen sich aber beliebig viele an eine Leitung hängen.

Den 74HC595 kannst Du kaskadieren. Das Signal, das bei QH* heraus kommt 
einfach in den nächsten 74HC595 hineinschieben.

Damit werden keine weiteren Pins benötigt, wenn aufgerüstet werden soll.

Bei vernünftiger Programmierung ändert sich dann nicht mal die SW, wenn 
weitere Sensoren dazu kommen.

Nun kannst Du die Taster direkt an den Controller hängen und das Display 
auch im 8-Bit-Modus benutzen.


Die Adressierung mehrerer DS18S20 an einem Bus wird im Datenblatt 
beschrieben.



Gruß

Jobst

von Moritz I. (nietsnie)


Lesenswert?

Hallo Markus!

Danke für deine Gedanken! Wie gesagt, ich bin mit der Elektronik in 
diesem Bereich nicht sonderlich bewandert. Daher hab ich mir das alles 
aus Artikeln hier auf der Seite zusammengesucht und versucht, nach 
bestem Wissen das in eine gemeinsame Schaltung zu "verbasteln".

> OK, für die Ausgänge kannst Du anstatt den 74HC595 besser den TPIC6C595
> von TI nehmen, damit würden die Widerstände R6..8 und Transis Q4..6 weg
> fallen.
Das werde ich gleich mal umsetzen im Schaltplan, danke! :-) Die kann man 
auch beliebig kaskadieren, wie den 74HC595? Ich such gleich mal dazu, 
aber wenn du es aus dem Kopf weißt (vielleicht verhält er sich ja exakt 
genau so), geht das natürlich schneller. ;-)

> Nach den Tastern müssen Pull-Down Widerstände sein. Die Pull-Ups vor den
> Tastern braucht es nicht.
Ganz dumme Frage: Wo ist der Unterschied? Ich kann mit Pull-Up/-Down 
(noch) nicht so viel anfangen...

> Der 7805 ist irgendwie auch überflüssig, zumindest so wie er
> angeschlossen ist. Oder gibt es da noch eine Buchse für externe
> Stromversorgung?
Mein Gedanke war, zum Aufspielen des Programms den CON2 zu verwenden... 
und im "standalone" Betrieb das ganze mit einem Netzteil zu versorgen. 
Die Schaltung dafür hab ich mir hier abgeguckt: 
AVR-Tutorial: Equipment: Stromversorgung
Den anderen Teil der Schaltung dort hab ich mir hier abgeguckt: 
AVR-Tutorial: Equipment: Selbstbau

Ich werde gleich auch noch eine Buchse für die externe Stromversorgung 
einzeichnen, wo ich dachte, dass sie sitzen müsste...

> Vor allem die offenen Pins D0..D3 gefallen mir nicht.
Das hab ich mir hier abgeguckt und schien mir logisch: 
AVR-Tutorial: LCD: Anschluss an den Controller

Ganz großen Dank auf jeden Fall schon mal für die gute Hilfe hier! :-)

von Moritz I. (nietsnie)


Angehängte Dateien:

Lesenswert?

So, ich hab das mal Umgebaut... Aufgrund dessen, dass EAGLE den 
TPIC6C595 nicht kannte, hab ich der Einfachheit halber den vorhandenen 
IC einfach umbenannt... xD

von Sven B. (sven_b)


Lesenswert?

Hi,

ich bin mir nicht sicher, aber kommt aus deinem USBprog nur 5V?
Weil dein 7805 glaube ich etwas mehr Spannung (glaube so um die 7v) 
braucht damit er richtig funktioniert, sonst kommen da keine 5V raus.

Vielleicht irre ich aber auch, bin selbst noch anfänger ;)

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Der TPIC6C595 funktioniert genau gleich, hat aber andere Pinbelegung.

Pull Up: Widerstand an +5V
Pull Down: Widerstand an GND
Mach man, damit ein bestimmter Pegel am Eingang des Prozessors ist wenn 
die Taste offen (nicht betätigt) ist, ansonsten kann es sein der Pin 
"Flackert"

>Das hab ich mir hier abgeguckt
Abgucken ist nur die halbe Miete, denn in Demo-Plänen sind meistens 
Fehler. Zur Sicherheit IMMER das Datenblatt des Herstellers verwenden, 
dort sind zu meist Anschlussbeispiele drin.
(Inclusive Errata-Dokumente des Prozessors)
Die meiste Arbeit einer Schaltplanerstellung ist das lesen der Dokus...

von Jobst M. (jobstens-de)


Lesenswert?

R3 - R5 sind parallel - kannst Du also durch einen ersetzen, bzw. R4-R5 
weg lassen.

Der 7805 sollte mindestens 7,5V am Eingang haben.

Einige Displays arbeiten mit Contrast an Masse ganz gut, andere haben 
damit Probleme. Du solltest dort ein Poti vorsehen.

Du benutzt einen Quarzoszillator. Reicht nicht ein einfacher Quarz?

Die Pullups für die Taster kannst Du auch im Controller aktivieren.

Die Führung der Spannungsversorgung im Bild ist gewöhnungsbedürftig und 
unübersichtlich, jedoch nicht falsch. (Wenn ich mich nicht verguckt 
habe)



Gruß

Jobst

von Sven B. (sven_b)


Lesenswert?

ich hätte da auch noch eine kleine Frage.

Ich nutze den AVR Dragon, AVR Studio 4 und einen Atmega88.
Wenn ich jetzt per ISP den ATmega programmiere, dann kann ich ja, wärend 
der Dragon noch mit dem Target verbunden ist, die "neuen" Funktionen 
testen.

Ich habe noch nicht probiert die Pins PB5..3 (also SCK,MISO,MOSI) als 
Aus-bzw. Eingang zu nutzen weil ich nicht wusste, ob der Dragon evtl 
dadurch schaden nehmen kann bzw. ob das überhaupt funktionieren würde 
wenn ich das ISP-Kabel noch im Target eingesteckt lasse.

Ich hoffe mein Problem ist halbwegs verständlich ;)

von spess53 (Gast)


Lesenswert?

Hi

- von jedem VCC/AVCC einen 100n nach Masse
- an AREF nur ein Kondensator nach Masse. VCC lässt sich intern an AREF
  schalten

MfG Spess

von Harry L. (mysth)


Lesenswert?

Der VTg-Anschluss am ISP-Connector (Pin 2) muss auf +5V und nicht auf 
die Eingangsseite des 7805! So kannst du leicht deinen 
Programmieradapter schiessen!
Ausserdem solltest du die Diode weglassen! An diesem Pin erkennen einige 
Adapter die Betriebsspannung des Zielsystems. (3,3 oder 5V)

Harry

von Moritz I. (nietsnie)


Angehängte Dateien:

Lesenswert?

Ich danke allen für die weiteren Hinweise! :-)
Natürlich habt ihr recht und ich muss wesentlich mehr Datenblätter 
lesen! Aber ich brauchte erstmal einen Anfang...

Ich habe nun auch gesehen im Datenblatt, dass der 7805 mindestens 7,5V 
benötigt. Daher hab ich jetzt den Vorschlag von mysth auch umgesetzt 
(erschien mir dann auch logisch!) und den USBprog hinter den 7805 
gesetzt. So wird der µC in jedem Fall mit 5V versorgt... entweder über 
den USBprog oder über ein externes Netzteil.

jobstens-de
> Du benutzt einen Quarzoszillator. Reicht nicht ein einfacher Quarz?
Ich gebe ganz offen zu, dass ich keine Ahnung habe im Moment, ob auch 
ein einfacher Quarz reicht und wo überhaupt der Unterschied ist. Mal 
sehen, ob ich das die nächsten Tage rausbekomme.

spess53
> - von jedem VCC/AVCC einen 100n nach Masse
Bedeutet das, dass ich für jeden einzelnen dieser Pins am µC einen 100n 
Kondensator nach Masse einbauen soll? Oder einer für jeweils alle 
"gleichen"? Das dürfte ja erfüllt sein...

Weitere Anmerkungen sind mir stets willkommen! :-)

von Jobst M. (jobstens-de)


Lesenswert?

Moritz Ittmann schrieb:
> Bedeutet das, dass ich für jeden einzelnen dieser Pins am µC einen 100n
> Kondensator nach Masse einbauen soll?

Genau. Möglichst kurz angebunden.


Die ATmegas haben einen integrierten Quarzoszillator. Nur den Quarz + 2x 
22pF muß man noch dazu tun.

Du kannst natürlich auch einen eigenen Quarzoszillator benutzen. Nur 
notwendig ist der nicht.


Gruß

Jobst

von Moritz I. (nietsnie)


Angehängte Dateien:

Lesenswert?

Danke Jobst für die Erläuterungen.
Ich hab die Kondensatoren jetzt eingesetzt.

Eine Frage hab ich da noch gerade... der 10k R2... ist der ein 
Überbleibsel von meinen "Abguck-Aktionen"? So wie ich das verstehe, ist 
das ein Pull-Up, der dafür sorgt, dass sich der Reset-Kontakt in einem 
kontrollierten Zustand befindet, wenn nichts am USBprog angeschlossen 
ist.

von Markus M. (Firma: EleLa - www.elela.de) (mmvisual)


Lesenswert?

Wo sind die Pull-Down Widerstande nach den Tastern hin gekommen?
Im Posting von 16.05.2010 03:34 waren die noch drin.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Tue uns und dir einen Gefallen und verbinde nicht alle 
Versorgungsleitungen miteinander, sondern verwende die entsprechenden 
Symbole. Dadurch wird es viel einfacher, den Schaltplan zu lesen.

von Jobst M. (jobstens-de)


Lesenswert?

Markus Müller schrieb:
> Wo sind die Pull-Down Widerstande nach den Tastern hin gekommen?
> Im Posting von 16.05.2010 03:34 waren die noch drin.

Ach verdammte Kiste, die Taster hängen gemeinsam ja an +Ub und nicht an 
GND.
(Bei der Betriebsspannungsführung kann man ja auch mal durcheinander 
kommen)

Wenn Du die internen Pull-Ups benutzen möchtest, musst Du das Signal 
auch gegen GND ziehen. Also Taster alle an GND oder Pull-Downs (wieder) 
rein.


Schönen Tag!

Jobst

von Mitleser (Gast)


Lesenswert?

Für die DS18S20 die an einem Dateneingang betrieben werden benötigst du 
nur einen 4k7 als Pullup.

von Sven (Gast)


Lesenswert?

Ich würde den 7805 mit ner Diode von Ausgang nach Eingang gegen 
Verpolung schützen. Sonst hast du beim Programmieren quasi -5V am 
Ausgang von dem Teil und das mögen die meines Wissens nach nicht.

von Moritz I. (nietsnie)


Angehängte Dateien:

Lesenswert?

So... ich hab jetzt mal kräftig umgebaut. Ich gebe ja zu, dass der Plan 
"etwas" unübersichtlich war (auch wenn ich mir Mühe gegeben hab). Aber 
ich wusste nicht, wie es besser wird... hoffentlich hab ich's jetzt mit 
den Symbolen nicht übertrieben.

von Heiko (Gast)


Lesenswert?

So langsam nimmt das ganze Formen an, bei denen wahrscheinlich mehr Löt- 
als Designfehler passieren werden ;)

Von der Beschaltung des ATMega, der Tasten, des 7805 und des LCD her 
sieht das für mich soweit gut aus (die anderen Bauteile habe ich noch 
nie verwendet) Nur bei R1 würde ich nochmal nachschauen, ob da wirklich 
330 Ohm sinnvoll sind, denn die LCDs, die ich bisher genutzt habe, 
brauchten eher so in der Größenordnung 10 Ohm. Das waren aber auch alles 
blau/weiße. (4.2V Flussspannung -> 0.8V bleiben übrig, 100mA oder so 
sind Nennstrom -> 8Ohm)

Ansonsten nur noch ein paar Tipps zur Form:

Meistens zeichnet man die GND-Symbole "nach unten" und die 5V-Symbole 
"nach oben" - also zum Beispiel von dem Pin am USB-Prog-Stecker eine 
Leitung nach links, Knick nach oben und der Pfeil vom Symbol zeigt nach 
oben.

Du musst nicht jeden Pin mit einem "Lötpunkt" mit dem Netz verbinden. Es 
reicht, eine Leitung am Pin anzufangen bzw. zu beenden. Sieht dann 
gleich nochmal viel aufgeräumter aus - genau wie wenn du den Pin-Layer 
(diese grünen Kreise) ausblendest.

Und noch eine Kleinigkeit: Du darfst die 100n-Kondensatoren (C5, C7, 
C13) natürlich gerne so einzeichnen wie du es getan hast. Du kannst im 
Schaltplan aber auch erst alle Pins zusammenführen und dann die 
Kondensatoren einfach parallel zwischen 5V und GND zeichnen -> wieder 
etwas Spinnennetz beseitigt. Im Layout bzw. auf der Platine ist es dann 
natürlich wichtig, dass jeder Kondensator an "seinem" Pin sitzt, aber im 
Schaltplan ist das ziemlich egal.

MfG, Heiko

von Moritz I. (nietsnie)


Angehängte Dateien:

Lesenswert?

Hallo Heiko,

danke für die Tipps! Du hast recht, jetzt sieht das noch deutlich besser 
aus. Ich bin auch deinem Rat gefolgt und habe die Lötpunkte entfernt. 
Nur an Leitungsknoten (ich weiß nicht, wie ich es besser nennen soll) 
habe ich sie gelassen, weil ich fand, dass es hilft.

> Nur bei R1 würde ich nochmal nachschauen, ob da wirklich
> 330 Ohm sinnvoll sind, denn die LCDs, die ich bisher genutzt habe,
> brauchten eher so in der Größenordnung 10 Ohm.
Danke für den Hinweis. Ich werde das noch mal genau prüfen für das 
Display, dass ich im Auge habe.


Am Anfang dieses Threads hat mich mmvisual noch auf etwas hingewiesen. 
Ich sollte eine Art Sicherung einbauen, die verhindert, dass die Heizung 
kontinuierlich Heizt, sollte der µC aus irgend einem Grund "abstürzen".
> Überlege Dir eine Schutzschaltung, dass wenn der Prozessor steht, dass
> dann die Ausgänge sicher abschalten.
Leider habe ich nicht den geringsten Schimmer, wie das aussehen könnte, 
finde es aber einleuchtend, dass so eine Schaltung durchaus Sinn macht.
Ich will keine fertige Lösung hierfür... aber vielleicht kann mir jemand 
Tipps oder Ansätze in die richtige Richtung geben?

Super vielen Dank an alle für die Hilfe und die Geduld mit mir!

von Jobst M. (jobstens-de)


Lesenswert?

Nein, der Plan geht so ja gar nicht, das ist ja viel zu übersichtlich! 
:-D

Wenn der Prozessor steht, passiert auch nichts mehr an seinen Ausgängen. 
Es sei denn, er hat sich in einem Programmteil verheddert, in dem er nur 
noch die Pins H-L-H-L-H-L... setzt.

Die Idee war, daß die Relais nur anziehen, solange eine Wechselspannung 
aus dem Controller kommt, sollte er ausfallen, fallen auch die Relais 
ab.

Also mußt Du ...
1
uC-Pin----C---+---AK---+---+--Freigabepin (G)
2
              |        |   |
3
              K        C   R
4
              A        |   |
5
              |        |   |
6
             GND      GND GND
7
8
K = Kathode und A = Anode einer Diode (z.B. 1N4148)

Einfach die Freigabepins der TPIC6C595 mit so einer Schaltung versehen.
Wenn am uC-Pin keine H-L-H-L-H...-Folgen mehr erscheinen, fallen die 
Relais sehr bald ab.


Gruß

Jobst

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.