Hallo Leute! ich arbeite gerade an einen Projekt wo 16 Temperatursensoren mit einem Atmega8 gesteuert werden müssen. Die Sensoren sind ganz einfache analoge Sensoren (mit jeweils 2 Drahten). Da der Atmega8 nicht genug Pins hat, kam ich auf die Idee die 16 Sensoren über einen Relais (oder Schalter?? oder Mux??) zu steuern. Dabei soll der Mikrocontroller die Sensoren nacheinander für eine bestimmte Zeitspanne ein und ausschalten, und die gemessene Daten in seinem EEPROM speichern. Es wird in C programmiert. Es ist so zusagen mein erstes Projekt und mir fehlt jeglicher Ansatz. Ich würde mich freuen wenn mir jemand hier helfen würde. Vlt hat einer schon mal was ähnliches gemacht. dann wäre ein C-code-beispiel ein guter Anfang. Danke im voraus! Grüß
Ein erster Ansatz wäre, zu wissen, was das für Sensoren sind und was die für Signale liefern. Was soll an den Sensoren gesteuert werden?
Temperatursensor steuern => Heizwiderstand drankleben SCNR mfg mf PS: Wenn es NTC oder PTC sind, dann kann man die mit einem anderen Widerstand wie einen Spannungsteiler betreiben. Die geteilte Spannung kann dann per ADC ausgelesen werden. Ich hatte gerade die Idee: 1. Spannungsteiler-Geschichte 16x Aufbauen 2. Vier Bustreiber-ICs, von denen zwei VCC treiben und zwei GND treiben 3. Eine Gruppe von 8 Spannungsteilern wird aus einem GND-Bustreiber und einem VCC-Bustreiber versorgt, das zweimal aufbauen. 4. Die Mittenanzapfungen der beiden Spannungsteiler-Gruppen auf die 8 ADCs führen. 5.Programmablauf: eine Gruppe Bustreiber(VCC/GND) aktivieren(die andere "floatet") und mit ADC einlesen und dann die andere aktivieren und nochmal einlesen.
Such Dir Analog-Digital-Wandler mit 16 Kanälen, bzw. nimm 2 mit jeweisl 8 Kanälen. Die Werden dann per i2c oder SPI mit dem µC verbunden... Die Auswahl sollte ausreichend groß sein!
Nimm einen kleinen zweiten Prozessor und las dessen ADCs eine Gruppe messen und das Messsignal dann digital an den ersten versenden. mfg mf
Nimm DS1820 Sensoren. Du kannst davon viele an einen einzigen Bus hängen. Der Sensor kann mit zwei "Strippen" betrieben werden und ist quasi schon kalibiert. Er arbeitet digital am sogenannten 1Wire-Bus. Jeder Sensor hat eine eigene ID über die man ihm die Messstelle zuordnen kann. Wenn höhere Genauigkeit gewünscht ist, den Typ DS18B20 nehmen.
Die Sensoren sollen ja wohl nicht gesteuert werden. Oder doch? Agentp
>> "Die Sensoren sollen ja wohl nicht gesteuert werden. Oder doch?" nein eigentlich nicht! an der Sensoren sind Heizer angeschlossen und die müssen jeweils ein und ausgeschaltet werden. >> "Nimm DS1820 Sensoren. Du kannst davon viele an einen einzigen Bus hängen" Ich muss leider mit den was ich habe arbeiten. Hat vielleicht jemand noch eine idee? Danke schön
Patrick N. schrieb: > Die Sensoren sind ganz einfache analoge > Sensoren (mit jeweils 2 Drahten). Da gibts bestimmt >1000 Typen, auf die das zutrifft. Du mußt schon genauer werden (vollständige Bezeichnung und Link aufs Datenblatt oder Hersteller). Peter
Patrick N. schrieb: > Ich muss leider mit den was ich habe arbeiten. Dann verrate uns mal, was das genau ist und welche Genauigkeitsansprüche du hast? Je nachdem, ob man auf 1/1000 K oder auf 1 K messen möchte, wird die Lösung deines Problems sehr unterschiedlich aussehen. Gruß Matthias
Patrick N. schrieb: > Ich muss leider mit den was ich habe arbeiten. Und was für Sensoren hast Du? > Hat vielleicht jemand noch eine idee? Ja, ich muss meine Glaskugel mal wieder polieren... Gruss arald
Helmut (Gast) schrieb: >>Der Sensor kann mit zwei "Strippen" betrieben werden und ist quasi schon >>kalibiert. Moin, das sind sie im Leben nicht! Cheffe
Willi W. schrieb: > Patrick N. schrieb: >> Es wird in C programmiert > > Wenigstens das wissen wir schon mal ... Naja, spätestens nach fünfzig weiteren Postings können wir vielleicht in etwa ahnen, was Patrick wirklich will. Vielleicht ist bis dahin "C" ja schon durch "D" abgelöst... 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.