Hallo liebe Forengemeinde, ich bin noch µC-Anfänger (habe erst 2 Projekte realisiert) und brauche eure Hilfe. Ich habe folgendes Thermometer: [[http://www.produktinfo.conrad.com/datenblaetter/175000-199999/192147-as-01-de-LED_Thermometer.pdf]] Jetzt würde ich gern eine Steuerung entwickeln, mit welcher ich die gemessene Temperatur mit einer einstellbaren Temperatur vergleichen kann um dann ein Relais zu schalten. Leider komme ich an dieser Stelle nicht weiter. Meiner erste Idee war folgende: 1) Die Leitungen zwischen dem ICL 7107 und den 7-Segmentanzeigen anzpafen und in die PC bzw PD-Eingänge eines Atmega8 geben. Dadurch könnte ich doch theoretisch erkennen, welche Temperatur im Bereich von minus unendlich bis 99 °C gerade gemessen wird. Leider werden die Eingänge hier schon knapp. 2) Die gemessene Temperatur mit einer vorgegebenen Temperatur vergleichen und gegebenenfalls das Relais schalten. Bis hier her würde das evtl. noch funktionieren oder? 3) Die Vergleichstemperatur will ich aber auch einstellen können. Also brauche ich hier schon wieder die PC und PD als Ausgänge für weitere 7-Segment-Anzeigen und die Taster zum Einstellen der Temperatur. Spätestens hier kommt der Atmega8 an seine Grenzen bzgl. Ein-/Ausgänge. Ich möchte auch nicht zwischen "Messen" und "Temperatur einstellen" hin und her schalten müssen. Habt ihr eine Idee? Bitte bedenkt, ich bin noch Anfänger ;) Viele Grüße
1. Wieso nimmst du dieses Modul zur Temperaturmessung und nicht einfach einen Sensor an deinen µC? 2. Zur Ansteuerung beliebig vieler 7-Segment-Anzeigen brauchst du nur 3 Ausgänge und pro Digit ein Schieberegister (Schieberegister sind eine Möglichkeit, gibt auch andere).
zu 1. habe ich versucht, leider bekomme ich das nicht hin. Mein µC zeigte immer die gleiche Temperatur an. Habe es dann aufgegeben. zu 2. Kann ich nicht eigentlich auch einfach einen atmega16 oder 32 nehmen? Der hat doch dann genügend Ausgänge oder? - Anzahl Eingänge für Kopplung mit Temperatur-Modul: 15 (2 Zahlen-Module á 7 Segmente + das Minus-Zeichen) - Anzahl Ausgänge für 7-Segment-Anzeigen zur Temperatureinstellung: 9 (7 für Segmentanzeige + 2 zum ansteuern per Multiplexing) (Evtl. noch 1 mehr fals ich auch Kommastellen einstellen will) - 4 oder 5 für Taster und noch 1 oder 2 für LEDs Sind ungefähr 30. Sollte doch mit Atmega16 machbar sein oder? Frage: Ist ein Atmega16 / 32 komplizierter zu programmieren als ein 8er?
Robin schrieb: > zu 1. > habe ich versucht, leider bekomme ich das nicht hin. Mein µC zeigte > immer die gleiche Temperatur an. Habe es dann aufgegeben. Die Daten vom Display abzugreifen, wird bestimmt nicht einfacher. Also nur nicht zu früh aufgeben. Wie hast du es denn probiert?
Das ist schon 2 Jahre her. Hatte auch hier im Forum einen Beitrag Beitrag "DS18S20 bringt immer 127" Wollte es mir einfach machen und bereits ein Thermometer-Modul benutzen. Wieso ist denn das Abgreifen der Daten schwierig? Ich kann doch anhand der aktiven Segmente der 7-Segmentanzeigen herausbekommen, welche Temperatur anliegt. Ist sicher etwas umständlich realisiert aber auch nicht sehr fehleranfällig oder? Jedes einzelne Segment der 7-Segment-Anzeigen auch einen Eingang am Atmega und dann bekomme ich ja raus, ob da Strom anliegt oder?
Robin schrieb: > zu 1. > habe ich versucht, leider bekomme ich das nicht hin. Mein µC zeigte > immer die gleiche Temperatur an. Habe es dann aufgegeben. Daran solltest du aber arbeiten. Sich an die fertige Thermometerschaltung an die 7-Segment Ausgänge zu klemmen ist a) eine Notlösung b) mit Sicherheit nicht einfacher als einen DS1820 auszulesen, für den es fertige Funktionen hier in der Codesammlung gibt. Zur Not könnte man sich auch an die Eingangsspannung des ICL klemmen und dort einfach mit dem ADC die Messung machen. Aber im Grunde ist das ziemlich sinnlos, 2 Schaltungen parallel zu haben. Denn wenn der Sensor erst mal am Mega8 hängt und die Temperaturen zb auf einem 2-zeiligen LCD ausgegeben werden, braucht kein Mensch mehr die Originalschaltung. Mega8 DS1820 LCD Poti zum Einstellen der Schalttemperatur Relais samt Hühnerfutter zur Ansteuerung mehr brauchst du nicht. Und deine Thermomteterschaltung kannst du zu den Akten legen.
Also nur mal so als Alternative: Ich habe diesen Sensor hier an nem Arduino 2009 am laufen: http://www.play-zone.ch/de/dht-temperatur-und-feuchtigkeitssensor-breakout.html Belegt gerade mal 1 Pin. Die Temperatur wird mir auf 7-Segment anzeigen mit Schiebregistern (74hc595) ausgegeben, belegt wie oben erwähnt 3 Pins. Total also vier Pins. Das ganze bringt man an nem verregneten Samstagnachmittag zum laufen, selbst wenn man es zum ersten Mal macht. Da beim Arduino 2009 der Atmega gesockelt ist, kann man das Board auch nur zum Programmieren verwenden und den µC dann auf ne eigene Platine setzen, wenn man möchte, so kommt man sicher nicht teurer als mit einem herkömmlichen µC, nur viel einfacher. Gruss E.T.
Hallo, kann ich denn eine 7-Segment-Anzeige an einen 74HC595 anschließen? 7 Segmente á 20mA übersteigt doch die 70 zulässigen mA für das Schieberegister-
Höhere Widerstände nehmen. Den Unterschied zwischen 10 mA und 20 mA sieht man nur im direkten Vergleich.
Ja, würde nicht mehr als 10mA belasten und den Dezimalpunkt natürlich direkt anschliessen. Finde, 10mA ist für Anzeigen bis 2cm Ziffernhöhe hell genug, ansonsten braucht es halt zusätzliche Treiber.
Aso okay, ist ja ziemlich peinlich für mich. Ich dachte, durch einen höheren Widerstand nimmt nur die Spannung weiter ab. Das heißt ich dachte bisher, dass bspw. durch einen doppelt so hohen Widerstand die LED dann gar nicht mehr leuchtet und nicht einfach nur die Hälfte an mA verbrät. Sorry. Da hatte ich wohl einen Denkfehler.
gibt ja auch eine Variante eines 595, die mehr Strom kann. Oder gleich ein 2-zeiliges LCD. Ist vom Platzverbrauch her auch nicht mehr soviel größer als 2(!) komplette Temperatur-Anzeigen und braucht deutlich weniger Strom. Einziger Nachteil: zumindest Standard-LCD sind auf größere Entfernung nicht mehr so gut ablesbar wie ein paar 7-Segment. Dafür muss man sie aber auch in der Nacht nicht dunkel schalten, damit man schlafen kann :-)
Wie hoch darf denn eigentlich Strom und Spannung an den Eingängen des atmega8 sein? Ich möchte von der Leitung A/D-Converter zur 7-Segment-Anzeige einen Abzweig zu meinem µC legen. Auf der Leitung sollten laut Datenblatt wohl 3V liegen. Es ist kein Widerstand zwischengeschaltet. Kann ich einfach einen Abzweig legen? Mehr als 20mA sollten nicht auf der Leitung sein und der Atmega verträgt doch 40mA oder?
Robin schrieb: > kann ich denn eine 7-Segment-Anzeige an einen 74HC595 anschließen? 7 Einfacher ist, ein fertiges 16x2 LCD Modul zu verwenden. 6 Pins sollten dafür zu verkraften sein.
Danke für deine Antwort. Ich habe mich aber glaube etwas unklar ausgedrückt. Ich habe heute nochmal versucht, die Temperatur mit dem µC zu messen. Bekomme das nicht hin. Deshalb die Notlösung mit dem Temperaturmessungs-Modul (welches mit einem A/D-Wandler betrieben wird). Dieser steuert die 7-Segmentanzeigen an und gibt dort die Temperatur an. Ich möchte nun von jedem dieser einzelnen Verbindungskablen vom A/D-Wandler zu den Segmentanzeigen ein "Stück" vom Strom abhaben und diesen in ein (bzw. mehrere) Schieberegister leiten, um darüber später am µC feststellen zu können, welche Temperatur gemessen wurde. Klar geht das wie bereits von euch geschrieben wurde einfacher indem gleich mit dem µC gemessen wird aber ich bekomme das 1. nicht hin und 2. habe ich das Temperaturmess-Modul bereits da. Es liegt sowieso nur rum. Kann ich so einfach eine Leitung vom Verbindungskabel (A/D-Wandler zu Segment-Anzeige) zum Schieberegister ziehen?
Anbei habe ich mal aufgezeichnet, wie ich mir das gedacht habe. Leider habe ich Angst, dass es nicht funktionieren könnte, da der Strom, welcher bei eingeschalteter Segmentanzeige über den A/D Wandler abgeführt wird zu hoch ist. Ich werde aber aus dem Datenblatt nicht schlau. Ich werde blaue 7-Segmentanzeigen verwenden. Diese benötigen 3,3 Volt bei 20mA. Funktioniert das?
Sei mir nicht böse. Aber das ist doch Irrsinn was du da vor hast. Und das alles nur, weil du dich nicht mit dem DS18S20 beschäftigen willst.
Bauplan für A/D-Wandler Temperatursensor http://www.produktinfo.conrad.com/datenblaetter/175000-199999/192147-as-01-de-LED_Thermometer.pdf
@kbuchegger Also okay, du hast mit Sicherheit mehr Erfahrung als ich und ich werde mich wohl nochmal mit dem DS18S20 beschäftigen. Ich fange nochmal neu an, evtl. hatte ich ja damals auch eine kalte Lötstelle oder irgendetwas. Hoffe diesmal klappt alles. Nur weil mich die Neugier treibt: Hätte denn meine Idee mit dem Optokoppler (siehe Anhang) funktioniert oder ist das alles nicht so einfach, wie ich mir das das vorstelle? Viele Grüße und wünscht mir Glück bei meinem DS18S20² Vorhaben
Robin schrieb: > @kbuchegger > > Also okay, du hast mit Sicherheit mehr Erfahrung als ich und ich werde > mich wohl nochmal mit dem DS18S20 beschäftigen. Es gibt haufenweise Projekte mit dem DS18S20 Sowohl hier im Forum als auch in der Codesammlung als auch im Web. Und wenn du mit C nicht klarkommst - in BASCOM ist ein DS18S20 Kinderkram, weil dir BASCOM den komplizierten Teil schon abnimmt. Auch dazu gibt es massenhaft Beispielcodes hier im Forum und im Web. Einzig das gleichzeitige Multiplexen der 7-Segment mit der DS Ansteuerung könnte knifflig werden. Daher auch: Ausweichen auf LCD. Ist auch mit dem Hintergedanken, dass ja eigentlich 2 Temperaturen anzuzeigen sind, besser vereinbar. Auch hier: LCD ist mit BASCOM eine triviale Sache. Und die Sache mit der Eigenerwärmung: Sagt ja keiner, dass man den DS volle Pulle ständig wandeln lassen muss. Alle 2 Sekunden mal eine Wandlung und der DS bleibt kühl. Gleichzeitig entschärft das dann auch das Multiplexproblem. Könnte man sogar als Feature verkaufen: Man merkt wann der DS misst, wenn die 7_Segment mal kurz blinzelt. Aber wie schon ein Dutzend mal gesagt: Ich würd keine 7-Segment nehmen, sondern ein LCD, solange es keine triftigen Gründe gibt, die da dagegensprechen. "Ich hab noch nie eines benutzt"! ist kein triftiger Grund.
Und wenn dir der DS nicht zusagt. (Wink mit dem Zaunpfahl) Der ICL auf dieser Conrad Schaltung ist ein ADC. Der misst eine Spannung. Nämlich am Pin 31. Dort ist der dortige Temperatursensor angeschlossen. Spannungen messen kann dein Mega auch. Der hat ebenfalls einen ADC eingebaut. Manchmal muss man den Weg gehen, den du gehen willst und sich an die Anzeige klemmen. Ja, das kommt vor. Wenn man überhaupt nichts anderes hat als die Anzeige und auch sonst an nichts anderes herankommt. Wenn aber, so wie bei dir, noch alles möglich ist, dann ist das der komplizierteste Weg überhaupt.
Robin schrieb: > 1) Die Leitungen zwischen dem ICL 7107 und den 7-Segmentanzeigen > anzpafen Wenn es schon ein 71xx sein soll, nimm einen 7109. Bei dem ist die Anaogseite weigehend identisch mit dem 7107, der Ausgang ist aber 12Bit binär. Das kann man problemlos in einen uC einlesen und der kann ausgangsseitig auch wieder eine Anzeige treiben. Gruss Harald
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.