Hallo! Ich habe 3 etwas allgemeinere Fragen. Es geht darum mittels Mikroncontroller verschiedene Sensoren auszulesen, die aber unterschiedliche Interfaces besitzen (z.B. I²C oder SPI). Diese Daten (z.B. eine Temperatur) sollen dann an ein Mastersystem geschickt werden, welches die Daten weiter verarbeitet (z.B. ein PC). 1. Sollte man Meßwerte lieber im Mikrocontroller oder im Mastersystem umwandeln? 2. Diese Daten könnten man in einer Art Liste verwalten. Sollt das der Mikrocontroller oder das Mastersystem tun? 3.Sollte sich der Mikrcontroller selbst irgendwie melden (da kommt es natürlich auf die Schnittstelle Mastersystem-Mikrcontroller an) oder sollte man das ganze besser zyklisch abfragen? Könnt ihr mir hier ein paar Hinweise geben? Ich wäre sehr dankbar! Ich hoffe das ganze ist nicht zu schwammig formuliert. Gruß
zu 1. du kannst keine Temperatur mit einer Leitung übertragen, da es elektrische Leitungen sind. Deswegen umwandeln im Sensor. ;-)
@Obelix: Er schrieb Messwerte, nicht Messgrößen @Neuling: Temperaturmessung klingt nach wenigen Messungen pro Zeit, die relativ leicht auszuwerten sind. Nur mit dem Sensor ist der µC hoffnungslos unterfordert - ergo kann er auch selbst rechnen. Wenn Bedarf da ist, auch etwas Statistik mit den Messwerten machen. Der PC würde dann den Wert immer abrufen. Halte ich für besser, da der µC nicht weiß, wann der PC Werte braucht, ob das Programm überhaupt läuft und man so das Intervall noch leichter beeinflussen kann.
Es kann einfacher sein, den Controller seine Messwerte permanent oder in Abständen automatisch zyklisch rausblasen zu lassen, wenn das Interface das zulässt. Spart die Abfrage durch den PC.
Ich wolte damit aber auch nur sagen, das ich die Fragen etwas schwammig formuliert finde. :-)
> Ich wolte damit aber auch nur sagen, das ich die Fragen etwas schwammig > formuliert finde. :-) Und du denkst das wird besser, wenn du ihn verwirrst? :-)
Hallo! Danke für eure Antworten bisher! Ich glaube das war wirklich noch zu schwammig. Es geht darum dass ich verschiedene Sensoren habe, z.B. Bewegungssensoren, Farbsensoren, 3 Achsen Sensoren... dazu kommen noch ein paar Aktoren. Ich möchte diese jetzt zyklisch auswerten. Das Problem bei der Sache ist, dass manche ihre Daten als pulsweitenmoduliertes Signal liefern, andere haben eine SPI Schnittstelle, wieder andere I²C. Alle Sensoren sollen von einem Mastersystem verwaltet werden. Der Mikrcontroller hängt quasi "dazwischen". Der Temperatursensor sollte nur ein Beispiel sein.
Umwandeln ? Du solltest bei Integergroessen (Ganzzahl) bleiben, da sie viel schneller sind. Floating point ist nur fuer ein Benutzerinterface von Bedeutung. Floating point umrechnungen macht man besser auf dem PC. Irgend eine Regelung macht man bevorzugt mit Integergroessen.
Ja, zuerst sollten die Werte natuerlich als Ganzzahlwert vorliegen, die kann man dann manipulieren und herumschicken.
Man kann ja aus dem A/D-Wert der Temperatur (bei 10 Bit 0..1023) eine Temperatur *100 berechnen,falls die Randbeschaltung so genaue Messung zulässt.Dann hätte man z.b. bei einem 16-Bit Integer einen Temperaturbereich von 0..655,35°C. Oder mit negativen Werten von -327..+327°C. So spart man sich die Fließkomma und kann dann am PC (oder wo auch immer) die 100 wieder rauskürzen.
Der µC sollte die Messwerte in brauchbare und aussagekräftige Werte umrechnen und so in einem einheitlichen Format an den Master schicken, der sie bei bedarf zyklisch abfragen kann.
Seph hat es doch schon geschrieben: Fließkomma-Zahlen braucht der Mensch, weil er sie gewohnt ist. Ein Mikrocontroller kann besser mit ganzen Zahlen rechnen. Das erfordert bei der Plaung des Programms zwar etwas mehr Aufwand, dafür kann man die Berechnung i.d.R. dem Controller überlassen. Fixpunkt-Arithmetik ist hier noch ein wichtiges Stichwort: Man erweitert alle Koeffizienten so, dass man sich Nachkommastellen sparen kann. Wenn man mit einer Dezimalen Basis (10, 100, 1000,...) erweitert, braucht man bei der Ausgabe nur an der richtigen Stelle ein Komma setzen... Man sollte sich einfach darüber im Klaren sein, was man überhaupt machen will.
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.