Forum: Mikrocontroller und Digitale Elektronik Heizelemten mit einem Atmega8 ansteuern


von Patrick N. (emerand)


Lesenswert?

Hallo Leute

Erstmals möchte ich mich aufrichtig bedanken für eure zahlreiche 
Zuschriften und mich entschuldigen die Missverständnisse. Ich hatte es 
selbst nicht ganz verstanden. Also hier ist noch mal das problem:

Ich muss im Rahmen des Projekts 16 Heizelementen (z.B PTC Heizelement 
12V) mit einem Atmega8 ansteuern.Dabei sollen die Heizelementen 
nacheinander für eine bestimmte Zeitspanne ein- und ausgeschaltet 
werden. Außerdem soll an jedem Heizelement ein Temperatursensor die 
Temperatur des Heizelement erfassen. Die erfasste Daten sollen direkt an 
dem ATmega8 verschickt werden und in das EEPROM des Atmega8 gespeichert 
werden und später zur Verarbeitung weitergeleitet werden.
Die Temperatursensoren sind dabei einfache analoge sensoren (z.b PT100)

also hier noch mal das Protokoll zusammengefasst:

Heizer1 an --> warte 200sek --> heizer1 aus --> temp. von heizer1 messen 
--> Messdaten im EEPROM des Atmega8 speichern --> über TWI weiterleiten.

Heizer2 an --> warte 200sek --> heizer2 aus --> temp. von heizer2 messen 
--> Messdaten im EEPROM speichern --> über TWI weiterleiten.

usw...

Heizer16 an --> warte 200sek --> heizer16 aus --> temp.von heizer16 
messen --> Messdaten im EEPROM speichern --> über TWI weiterleiten.

Schon bei der Schaltung habe ich das Problem das mein Mikrocontroller 
(Atmega8) nicht genug Pins hat um alle 16 Heizelement anzuschließen.

ich kam ich auf die Idee die 16 Heizelementen über ein Relais (oder 
Schalter?? oder Mux??)  zu steuern. aber ich habe leider keine Ahnung 
wie Relais funktioniert auch google konnte mir nicht so richtig helfen.

kann mir jemand hier das Passende Relais für mein Projekt empfehlen?

Vielleicht haben einigen hier an einem ähnlichen Projekt gearbeitet. 
dann würde ich mich freuen auf einen C-code zur Steuerung des Relais.

Danke im voraus.
Grüß

von Karl H. (kbuchegg)


Lesenswert?

Patrick N. schrieb:

> ich kam ich auf die Idee die 16 Heizelementen über ein Relais (oder
> Schalter?? oder Mux??)  zu steuern. aber ich habe leider keine Ahnung
> wie Relais funktioniert auch google konnte mir nicht so richtig helfen.

Ein Relais hilft dir da auch nicht. Du hast dann das Problem nur 
hinausgeschoben. Jedes Heizelement wird von seinem Relay angesteuert, 
aber wer steuert die ganze Relais an?

Und an dieser Stelle kommen Porterweiterungen, wie zb Schieberegister 
ins Spiel
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister

Mit so einem Schieberegister hast du dann im Grunde 8 Ausgänge, die du 
über 3 Pins vom µC steuern kannst und die im weitesten Sinne elektrisch 
identisch zu deinen µC Ausgängen sind. D.h. du musst eine Treiberstufe 
dazwischen schalten, denn die Ausgänge werden die Heizelemente nicht 
direkt treiben können, weil sie zu wenig Strom liefern.
Mit 2 kaskadierten 595 Schieberegistern bist du dabei: 16 Ausgänge, die 
am µC nur 3 Pins zur Ansteuerung benötigen.

von Patrick N. (emerand)


Lesenswert?

Danke für deine schnelle Antwort.
Dass ich zwei Schieberegistern in kaskade schalten kann um auf meine 16 
Ausgänge zu kommen, habe ich soweit verstanden. Dass ich auch eine 
Treiberstufe brauche die der Strom verstärkt ist mir auch klar.

Aber wie bekommt dann der µC die von den Temperatursensoren erfassten 
Daten?
brauche ich auch dafür 2 schieberegister 165 ?

und was ein Relais würde hier passen.

Danke nochmal.

grüß!

von Falk B. (falk)


Lesenswert?

@  Patrick N. (emerand)

>Aber wie bekommt dann der µC die von den Temperatursensoren erfassten
>Daten?

Wenn es analoge Sensoren sind, braucht du einen Analogmultiplexer.

>und was ein Relais würde hier passen.

Wozu? Je nach Leistung kann man Treiber oder MOSFETs nehmen.

MFG
Falk

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.