Suchen

Messung und Signalverarbeitung Intelligente Sensoren mit MCU-Technologie realisieren

| Autor / Redakteur: Peter Forstner* / Holger Heller

In der Industrie ist eine Vielzahl verschiedener Sensoren im Einsatz. Diese unterscheiden sich nicht nur im Messprinzip, sondern auch in ihrer Entfernung zum Prozessor. Manche Messungen

Firma zum Thema

( Archiv: Vogel Business Media )

In der Industrie ist eine Vielzahl verschiedener Sensoren im Einsatz. Diese unterscheiden sich nicht nur im Messprinzip, sondern auch in ihrer Entfernung zum Prozessor. Manche Messungen liefern digitale Ergebnisse, wie z.B. Pulse bei einer Rotationserkennung. Häufig erzeugt der Sensor aber auch ein analoges Signal, wie einen Widerstandwert, eine Spannung oder eine Kapazität, die vor der Verarbeitung in einem Prozessor in einen digitalen Wert übergeführt werden muss. Intelligente Sensoren vereinen dabei die Messung und Weiterverarbeitung aufgenommener Werte.

Bei herkömmlichen Messvorgängen müssen die gewandelten binären Digitalwerte vor der Weiterverarbeitung meist in normierte Werte umgerechnet werden, wie z.B. der hexadezimale ADC-Messwert 0x2F4 in die Temperatur 290 °K umgerechnet werden muss. Im Falle einer Regelung errechnet ein Prozessor aus den gemessenen Werten neue Werte für Aktoren wie Motoren oder Ventile. Diese Aktoren sind ebenfalls an den Hauptprozessor anzuschließen und unterliegen der gleichen Problematik wie die Sensoren. Häufig sind analoge Sensoren vor der Messung zu kalibrieren und Offset, Verstärkung und nichtlineares Verhalten zu berücksichtigen. Ein Sensortausch kann deshalb eine Kalibrierung erfordern, bevor der neue Sensor im System verwendet werden kann.

Bildergalerie

Wird der Sensor mit einem kleinen Mikrocontroller gekoppelt, lässt sich ein intelligenter Sensor aufbauen und eine Vielzahl der o.g. Probleme eliminieren. Sensorkalibrierung, Korrektur von Nichtlinearitäten, Umrechnung der binären Messwerte in normierte Werte und digitale Messwertübermittlung vom intelligenten Sensor zum Hauptprozessor erleichtern die System-Implementierung erheblich. Zusätzlich kann ein intelligenter Sensor auch Alterungseffekte kompensieren und Plausibilitätsüberprüfungen der Messergebnisse durchführen. Ein System mit einem Hauptprozessor und intelligenten Sensoren ist in Bild 1 dargestellt.

Das nahezu unüberschaubare MCU-Angebot variiert in Bitbreite, Speichergröße, integrierter digitaler und analoger Peripherie, Pin-Anzahl und daraus resultierender Gehäusegröße und Preis. Diese Situation macht die Auswahl der geeigneten MCU für intelligente Sensoren nicht einfach. Für analoge Sensoren benötigt eine MCU zusätzlich die Möglichkeit der A/D-Wandlung. Die Kalibrierung, Linearisierung und Normierung der Messwerte erfordert eine leistungsstarke 16-Bit-CPU. Hierbei ist zusätzlich auf geringen Stromverbrauch zu achten, um bei einem längeren Kabel den Spannungsabfall gering zu halten. Beim Einsatz einer großen Zahl von Sensoren schlägt ein hoher Stromverbrauch automatisch negativ zu Buche, da sich der Verbrauch aller Sensoren addiert. Akzeptiert eine MCU einen weiten Versorgungsspannungsbereich sind zusätzliche Komponenten, wie LDOs eventuell überflüssig.

MSP430-MCUs als Allrounder

Bei all diesen Anforderungen bieten sich die 14-Pin-Derivate der MSP430-MCU-Familie von Texas Instruments an. Die Bausteine bieten eine leistungsstarke 16-Bit-CPU, verschiedene Analog- und Digitalfunktionen und einen geringen Stromverbrauch. Um unterschiedlichste Sensoren an diese MCU-Familie anschließen zu können, stehen die 14-Pin-Derivate MSP430F20xx wahlweise mit unterschiedlichen A/D-Wandlern zur Verfügung (Bild 2):

• Komparator: Ideal zur Messung sich langsam ändernder Widerstandswerte. Häufig verwendet bei Temperaturmessungen. Bei ordentlicher Genauigkeit ergibt sich somit eine preislich attraktive Lösung.

• ADC10: Der 10-Bit-SAR-Wandler (Successive Approximation Register) bietet eine hohe Sample-Rate und Flexibilität. Eine Referenzspannungsquelle ist integriert, ebenso wie eine DMA, über die gemessene Werte direkt in den Speicher oder zur Peripherie gelangen.

• SD16: Dieser 16-Bit-Wandler nach dem Sigma-Delta-Prinzip zeichnet sich durch eine hohe Auflösung von relativ langsamen Eingangssignalen aus. Die Eingänge sind differenziell und deshalb für Brückenschaltungen (z.B. Dehnungsmessstreifen) geeignet. Auch dieser Wandler verfügt über eine integrierte Referenzspannungsquelle.

Programmierbare Pull-Up- und Pull-Down-Widerstände und Quarzoszillator

Um möglichst viele externe Bauteile einzusparen, befinden sich im MSP430F20xx programmierbare Pull-Up- und Pull-Down-Widerstände. Für präzise Zeitmessungen und zur Implementierung einer Echtzeituhr steht ein Quarzoszillator bereit, der sowohl für 32768 Hz als auch für Frequenzen im MHz-Bereich geeignet ist. Ist eine präzise Zeit nicht erforderlich, kann die MCU preisgünstig ohne Quarz und nur mit den beiden integrierten RC-Oszillatoren DCO und VLO betrieben werden. Die Frequenz des DCO (Digital Controller Oscillator) ist je nach Umgebungsbedingungen laut Datenblatt bis zu ±1% genau, während der VLO (Very Low Power and Low Frequency Oscillator) mit einer typischen Frequenz von 12 kHz auch Ultra-Low-Power-Applikationen ohne 32-kHz-Quarz erlaubt.

MSP430-typisch ist die Kompatibilität aller MSP430-Bausteine, die den Weg zu höherwertigen Prozessoren mit mehr Speicher und Peripherie offen hält. Analoge Sensoren in größerer Entfernung zum Hautprozessor stellen immer ein Problem dar. Zum einen beeinflusst ein Spannungsabfall entlang der Leitung das Messergebnis und zum anderen können externe Störungen das Messergebnis nachhaltig verfälschen. Abhilfen schaffen hier die Trennung von Force- und Sense-Leitungen, sowie das Abschirmen von Messleitungen. Diese aufwändigen Leitungen und die dazu gehörigen Steckverbinder verteuern jedoch den Sensor nicht unerheblich.

Intelligenter Sensor mit MCU überträgt Messergebnis digital

Ein intelligenter Sensor mit einem Mikrocontroller überträgt das Messergebnis digital und ist damit erheblich besser gegen Störungen gesichert. Alle drei 14-Pin-Versionen des MSP430 bieten die Möglichkeit, die gemessenen und aufbereiteten Werte über eine synchrone Kommunikation (z.B. SPI oder I2C) zum Hauptprozessor zu übermitteln. Mit einer, durch einen Timer unterstützen Software-UART ist zusätzlich eine Übertragung im RS232-Standard möglich. Am Anfang steht immer die Hard- und SoftwareeEntwicklung. Intelligente Sensoren sollten auch eine intelligente und einfach zu handhabende Entwicklungsumgebung bieten.

Wie beim MSP430 üblich, haben auch die kleinen 14-Pin-Versionen MSP430F20xx eine eingebaute, separate Debug-Hardware, die keine Ressourcen der CPU oder des Speichers verbraucht. Diese Debug-Hardware wird bei allen MSP430-Versionen über vier JTAG-Signalleitungen (TDO, TDI, TCK und TMS) kontrolliert. Da bereits zwei Pins für die Spannungsversorgung und weitere zwei Pins für die notwendigen Kontrollsignale RESET und TEST verbraucht werden, würde die Verwendung einer JTAG-Verbindung mit vier Signalleitungen nur noch sechs Pins für die Applikation zulassen. Darum wurde den MSP430F20xx-Bausteinen zusätzlich zum JTAG-Anschluss das neue Debugging-Interface SBW (Spy Bi Wire) addiert. Diese Schnittstelle benötigt nur zwei Leitungen und benutzt die für die Applikation normalerweise nicht verwendbaren Pins RESET und TEST. Dadurch benötigt der Anschluss des Debuggers keine zusätzlichen Pins und es stehen alle zehn verbleibenden Pins für die Applikation zur Verfügung. Die Funktionalität der eingebauten Debug-Hardware entspricht zu 100% der gewohnt komfortablen Entwicklungsumgebung aller anderen MSP430-Versionen.

Programmcode in den Flash-Speicher der MCU übertragen

Ist die Entwicklung abgeschlossen, muss der intelligente Sensor produziert werden. Sowohl über das JTAG-Interface als auch über SBW ist der Programmcode des MSP430 einfach und schnell in den Flash-Speicher der MCU zu übertragen. Nun folgt die Möglichkeit der Sensorkalibrierung und Kennlinienkorrektur. Hier kommt zum Tragen, dass der intelligente Sensor über eine MCU verfügt, die eine Kalibrierung im Zusammenspiel mit dem Board-Test-Equipment automatisch in Eigenregie durchführt. Bei einem Temperatursensor ist es möglich, den intelligenten Sensor mehreren verschiedenen, bekannten Temperaturen auszusetzen. Die MCU führt dabei jeweils eine Temperaturmessung durch und speichert die Abweichungen im eigenen Flash. Einfaches Löschen und Programmieren des eigenen Flash mit der eigenen Software ist bekanntermaßen eine Eigenschaft aller MSP430. Der Flash-Speicher hat hierfür alle notwendigen Komponenten, wie Flash-Timing-Generator und Charge-Pump bereits eingebaut. Es ist nur notwendig, eine geeignete Versorgungsspannung zur Verfügung zu stellen.

Wird in einem System ein Hauptprozessor um zusätzliche Mikrocontroller für die Sensoren erweitert, kommt die Befürchtung auf, dass dadurch das gesamte System teuerer wird. Diese Vermutung ist aber meist nicht gültig, da durch die verteilte Intelligenz auch Spareffekte auftreten, wie günstigere Kabel und Stecker sowie ein preiswerterer Hauptprozessor. Tabelle 1 zeigt den Kostenvergleichen der gleichen Applikation mit zwei unterschiedlichen Lösungsansätzen. Neben den geringeren Kosten bietet die Lösung mit intelligenten Sensoren deutliche technische Vorteile gegenüber der Einprozessorlösung.

Sensor mit MCU: Ihr Nutzen

Durch die kleineren Einheiten ist die Entwicklung eines Gesamtsystems mit intelligenten Sensoren einfacher als eine Einprozessorlösung. Die Installation und Betriebssicherheit eines Systems erhöht sich durch intelligente Sensoren, speziell wenn dadurch analoge Leitungen zu Sensoren durch digitale Leitungen zur Prozessorkommunikation ersetzt werden. Intelligente Sensoren erweitern auch die Funktionalität durch Kalibrierung, Kompensierung nichtlinearer Kennlinien und Normierung der Messwerte. Zusätzlich vereinfacht sich die Wartung und Reparatur von Systemen durch Fehlererkennung aufgrund von Plausibilitätsprüfungen und einfachem Sensortausch. Die Kosten müssen dadurch nicht steigen, in vielen Fällen kann das gesamte System sogar preiswerter werden. Sowohl die unkomplizierte Softwareentwicklung, die vielfältigen integrierten analogen und digitalen Funktionen als auch der extrem niedrige Stromverbrauch machen die 14-Pin-Mikrocontroller MSP430F20xx zur geeigneten Wahl für intelligente Sensoren.

*Peter Forstner gehört der Member Group Technical Staff für MSP430-Applikationen in Zentraleuropa bei Texas Instruments in Freising an.

(ID:186036)