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üß
Gast
#2172719
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.
Gast
#2172744
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
Gast
#2172762
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.
Gast
#2172765
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
Gast
#2172902
Analog Multiplexer?
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
Gast
#2172951
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
Gast
#2173563
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
Gast
#2173570
Helmut (Gast) schrieb: >>Der Sensor kann mit zwei "Strippen" betrieben werden und ist quasi schon >>kalibiert. Moin, das sind sie im Leben nicht! Cheffe
Gast
#2173590
Patrick N. schrieb: > Es wird in C programmiert Wenigstens das wissen wir schon mal ...
Gast
#2173623
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
Harald Wilhelms schrieb: > "C" ja schon durch "D" abgelöst C++? mfg mf
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.