Temperatursensor mit Arduino + Ausgabe

Hallo an alle,

ich habe folgendes Problem und würde mich sehr über eure Hilfe freuen.

Ich habe vor einen Temperatursensor mit einem Arduino zu verbinden und diese Info dann an ein Display auszugeben. Das Display wäre 2-stellig mit Minuszeichen also 15 einzelne Displays die jeweils einzeln an und ausgeschaltet werden müssen, je nach Temperatur.

Der Arduino müsste meiner Meinung nach an 15 Relais angeschlossen werden um diese jeweils an und auszuschalten, richtig?

Die Stromzufuhr für die Displays ist bereits sichergestellt, es müssten bloß die Relais dazwischen geschalten werden und der Controller angeschlossen/programmiert werden.?

Gibt es dazu eventuell Vorschläge von euch welcher Arduino bzw. welcher Temperatursensor sich am besten eignen würde?

Habe gelesen das der Uno 14 I/O hat, also einer zu wenig, also müsste meiner Ansicht nach der Mega her, oder?

Gibt es schon eine fertig programmierte Routine dafür?

Ich muss dazu sagen ich habe leider nur wenig Erfahrung auf dem Gebiet der Elektrotechnik bzw Programmierung, bin aber bereits in der Einarbeitungsphase und hoffe ich kann mein Wissen auch dadurch ein wenig vergrößern. Also nicht übel nehmen, falls die eine oder andere "eiinfache" Frage von mir kommt.

Ich hoffe ihr könnt mir weiterhelfen, vielen dank schon mal im voraus dafür.

Was ist denn das für Display, daß pro Segment ein Relais notwendig ist? Schaltest du damit Weichen am Frankfurter Hauptbahnhof und zeigst du die Temperatur mit ICE-Zügen an?

Für traditionelle 7-Segment LED anzeigen gehen einfacher auch. Da gibt es einerseits fertige Treiberchips, du kannst sie auch mit so IC wie den 74hc595 ansteuern. Damit brauchst du am Arduino nur 3 Digitalausgänge für die ganze Anzeige.

Für so Dinge reicht ein Uno voll und ganz, da ist es ökonomischer in 1.50? in die Treiber zu investieren. Alternativ kannst du auch ein serielles Display nehmen, die kosten auch nicht die Welt. Es hängt wieder davon ab, was du erreichen willst.

Für die Software gibt es genügend Beispiele, man sollte nur wissen, was genau gebraucht wird.

Korman

Der Arduino müsste meiner Meinung nach an 15 Relais angeschlossen werden um diese jeweils an und auszuschalten, richtig?

Mach dich nich unglücklich! Relais wären in dem Fall absoluter Overkill, prinzipiell könntest du die LEDs direkt am Mikrocontroller betreiben. Aber selbst das ist Verschwendung von Hardwareressourcen. Die Ansteuerung kannst du über Multiplexing hinbekommen, selbst wenn du den Dezimalpunkt und ein Minuszeichen separat ansteuerst, würdest du Pins sparen. Alternativ könnte man noch einen Schritt weiter gehen und die Anzeige über ein Schieberegister realisieren.

Als Temperatursensor kommen mehrere Typen in Frage, für Anfänger einfach zu handhaben dürfte wohl der LM35 sein.

das "display" ist im endeffekt ein folie die vollflächig leuchtet. somit ist jedes pixel der 7 segment anzeige eine einzelne folie und müsste meiner meinung nach auch einzeln an bzw ausgeschaltet werden.

Dann wirst du wahrscheinlich pro Segment eine Transistor brauchen, der die notwendigen Ströme verkraften kann. Hast du einen Link zum Datenblatt von der Folie?

Der Rest mit den Schieberegister bleibt davon unberührt.

Korman

Eine leuchtende Folie? Also im Sinne dieser EL-Folien (z.B. http://www.conrad.de/ce/de/product/184096/)? Selbst in dem Fall sollte man nicht 15 Pins opfern, auch wenn die Inverter nicht für Multiplexing geeignet sind. Also zeig mal dein Display, dass man überhaupt weiß, worauf man antworten soll...

so würde das display ausshehen und jedes pixel müsste man einzeln ansteuern um die gewünschte zahl zu erhalten, denke ich zumindest

keine dezimalstelle oder plus, nur minus

genau es ist ein EL display, was wir selber hergestellt haben http://yfrog.com/g1742ej (blos eine testprobe)

@sth77 was meinst du mit zeigen? also was soll ich zeigen was weiterhelfen könnte?

Zeigen im Sinne von: Gibt es ein Datenblatt, ein Konstruktionsprinzip etc. der Anzeige. Bis jetzt war nicht klar, dass solch eine Leuchtfolie mit Ansteuerelektronik zur Ausführung kommt. Hätte eben gut und gern auch eine zweistellige LED-7-Segment-Anzeige sein können. Für konkrete Antworten muss man eben auch konkrete Fragen stellen. ;)

genau es ist ein EL display, was wir selber hergestellt haben http://yfrog.com/g1742ej (blos eine testprobe)

Jetzt wird es interessanter. Was für Spannung, Strom und Frequenz wandern denn da über das Rote und Schwarz Kabel in deinem Photo?

Ich kann mir gut vorstellen, daß ihr mit einer Versorgung für alle Segmente auskommt und jedes Segment dann mit einem Transistor der die 110 oder so Volt aushält schaltet. Diese Transistoren von einem 74hc595 Schieberegister steuern, das wiederum über 3 bis 4 Leitungen von einem Arduino Uno versorgt wird. Der Rest ist ein Bißchen Software.

Korman

ja klar versteh ich schon :-) also der aufbau den ich mir vorgestellt hatte war so

wären halt bloß 15 pixel die gesteuert werden müssten und das °C wäre eh die ganze zeit an

ob man das jetzt wirklich so machen muss/kann wäre auch noch die frage

nochmal zur anzeige: die folien sind im prinzip wie ein kondensator aufgebaut und werden mit ca 100V / 400Hz zum leuchten gebracht

ein einzelnes display braucht ca 25mA

um nun eine 2stellige temperaturanzeige zu realisieren müssten die einzelnen pixel meiner meinung einzeln angesteuert (an/aus) werden, was mich dann zum mikrocontroller bzw arduino gebracht hat

bei weiteren unklarheiten, einfach fragen

erstmal danke an euch

Ich glaube nicht, dass du einen Inverter für alle Folien nehmen kannst. Je nach angezeigeter Zahl/Temperatur leuchten unterschiedlich viele Elemente, inwieweit der Inverter für mehrere Folien zulässig ist kann ich dir nicht sagen. Auch eine Helligkeitsreduktion bei mehreren leuchtenden Elementen schließe ich nicht aus. Daher wäre meine Idee, jedes Element mit einem eigenen Inverter auszustatten (auch wenn das den Preis erhöht), der benötigte Transistor muss dann nur die Versorgungsspannung des Inverters schalten.

Wofür soll denn die Anzeige gebaut werden?

Folgender Link enthält was du brauchst: http://www.arduino.cc/en/Tutorial/ShiftOut Ersetze nur die LED durch Transistoren die deine Folien schalten. Die Software danach anzupassen, daß die richtigen Folien eingeschalten werden ist nachher einfach.

Wofür soll denn die Anzeige gebaut werden?

Ich würde einmal annehmen, um ein großes Thermometer zu basteln.

Korman

Ich würde einmal annehmen, um ein großes Thermometer zu basteln.

Dass ich da nicht allein drauf gekommen bin! ;) Spaß beiseite, ich wollte den konkreten Anwendungszweck wissen, vielleicht kann man bei der Sensorwahl (Messgenauigkeit, Ansteuerung etc.) noch andere Ideen vorbringen.

Zwei Stellen mit Minus, da kommt nicht viel anderes in Frage als Außentemperatur oder Kühlschrank / Kühlhalle.

Korman

ja genau soll eine ganz einfache temperaturanzeige werden. der fokus liegt eigentlich bei den displays, die temperaturanzeige ist bloß eine anwendung also zunächst weniger wichtig wofür, bzw genauigkeit auch nicht soo wichtigt ;)

wir haben einen inverter bereits für 4 folien erfolgreich getestet, für mehr hatten wor noch keine möglichkeit, kommt aber bald ansonsten würden wir zwei brauchen, mehr werden zu teuer

also wenn ich dich/euch richtig verstehe: der transistor würde wie ein relais funktionieren blos elektronisch und nich mechanisch? dieser müsste die ca 100 V / 400 Hz aushalten?

Ja, außerdem solltet ihr abklären ob es auch negative Spannung gibt und ob der Strom ein Problem wird (25mA sind nicht problematisch). Davon hängt dann ab, was sich da am besten eignet, ob Transistor, FET, Triac oder was auch immer. Am besten jemanden Fragen, der sich mit Elektronik auskennt, nicht einen Softwarefuzzy wie mich.

Korman

ok, ein was noch zu der seite nach dem controller, was ist der vorteil eines transistors gegenüber einem relais? ist der aufbau prinzipiell möglich sowie ich ihn vorhins gezeigt hatte? (abgesehen von der anzahl der inverter)

zu der controller sache habe ich eben eine relativ simple lösung gefunden
um das sensorsignal im controller zu wandeln, der rest wäre programmierung was mit dem jeweiligen signal angefangen werden soll

jedoch besteht das problem mit dem einen ausgang zu wenig von den einfachen arduino boards, die sache mit dem schieberegister wäre da vielleicht anwendbar, die habe ich aber leider net ganz verstanden.

Du kannst ebenso die analogen Eingänge umdeklarieren (pinMode), um so zusätzliche Ausgänge zu haben, falls du von deinem Vorhaben jedes Segment einzeln zu steuern nicht abweichen willst. Einfacher ist wirklich die Lösung ,ittels Shiftregister, wie sie hier schon mehrfach vorgeschlagen wurde. Diese Idee wurde auch heute schon in einem anderen Thread hinreichend genau beschrieben:

Im Prinzip "fütterst" du den bzw. die ICs mit einer Bitfolge: "1000100111011010" an einem Pin, zwischen jedem Bit gibt man ein Taktsignal (Clk=Clock) an einem zweiten Pin aus und zu guter letzt schaltet man die Ausgänge des Schieberegisters scharf (Enable). Für neue Werte/Zahlen/Temperaturen, wird einfach nach diesem Prinzip eine neue Bitfolge hineingeschoben.