Forum: Mikrocontroller und Digitale Elektronik Allgemeine Fragen zu Mikrocontrollern


von Neuling (Gast)


Lesenswert?

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ß

von Obelix (Gast)


Lesenswert?

zu 1. du kannst keine Temperatur mit einer Leitung übertragen, da es 
elektrische Leitungen sind. Deswegen umwandeln im Sensor. ;-)

von Jan M. (mueschel)


Lesenswert?

@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.

von Andreas K. (a-k)


Lesenswert?

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.

von Obelix (Gast)


Lesenswert?

@Jan : Er schrieb Meßwerte ... umwandeln.

von Obelix (Gast)


Lesenswert?

Ich wolte damit aber auch nur sagen, das ich die Fragen etwas schwammig 
formuliert finde. :-)

von Karl H. (kbuchegg)


Lesenswert?

> 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? :-)

von Neuling (Gast)


Lesenswert?

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.

von Seph (Gast)


Lesenswert?

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.

von Seph (Gast)


Lesenswert?

Ja, zuerst sollten die Werte natuerlich als Ganzzahlwert vorliegen, die 
kann man dann manipulieren und herumschicken.

von Hmm... (Gast)


Lesenswert?

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.

von Paul H. (powl)


Lesenswert?

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.

von STK500-Besitzer (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.