1-Draht-Mikrocontroller mit parasitärer Stromversorgung?

17

Ich habe die 1-Draht-Sensoren von Dallas gesehen, sie sehen toll aus. Aber ich möchte einige benutzerdefinierte 1-Draht-Slaves herstellen, die parasitär mit Strom versorgt werden können (nur Masse + Daten).

Kann jemand einen Low-Power-Mikrocontroller empfehlen, der dafür geeignet ist?

Hat jemand eine Beispielschaltung für die Stromversorgung einer MCU über den 1-Draht-Bus?

Toby Jaffey
quelle
Java-Schaltflächen. Sie existieren. Ich habe es geschafft. Java Card IIRC
Tim Williscroft
Um die Frage weiter zu verfolgen und zu verbessern - wie sieht es mit dem Power-On-Reset der MCU aus? Wie wird das angesprochen? (Bei Sensoren, die speziell für 1-Draht ausgelegt sind, sollte dies vom Gerät selbst so gehandhabt werden, wie es dafür vorbereitet ist.) Sollte die MCU mit einer Brownout-Erkennung ausgestattet sein? Ist das genug?
mazurnification
@macurnification - das klingt nach einer neuen Frage für mich
Toby Jaffey

Antworten:

17

Bei dem Ein-Draht-Bus wird der Bus passiv (dh mit einem Widerstand) in das System gezogen, und Geräte kommunizieren auf dem Bus, indem sie den Bus nach unten ziehen. Was ich tun würde, wenn ich Strom aus dem Bus ziehen wollte, ist:

  1. Führen Sie die Datenleitung direkt in den Dateneingang Ihres Mikrocontrollers ein.
  2. Führen Sie die Datenleitung auch in eine Schottky-Diode ein.
  3. Legen Sie am Ausgang der Diode einen größeren Kondensator (z. B. 10 uF) an Masse.
  4. Senden Sie den Ausgang der Diode an den VCC-Pin Ihres Mikrocontrollers.

Sie sollten eine Schottky-Diode verwenden, um den Spannungsabfall zu minimieren. Die Dioden / Kondensatorkombination sollte so ausgelegt sein, dass eine Kommunikation stattfinden kann (dh der Bus muss regelmäßig geerdet werden), ohne dass die MCU heruntergefahren werden muss. Wenn Sie den Kondensator nach der Diode platzieren, bleiben die Übergänge auf den Busdaten scharf, während der Leistungsabfall (Spannung) für Ihre MCU allmählich abfällt. Je geringer der Stromverbrauch des verwendeten Geräts ist, desto geringer ist der Stromverbrauch Ihres Kondensators. Allerdings funktioniert wahrscheinlich so ziemlich jede MCU für Sie. Ich bevorzuge die AVRs von Atmel, aber auch die PICs von TI MSP430 und Microchip sind gute Kandidaten für einen geringen Stromverbrauch.

vicatcu
quelle
9
+1 auf dem TI MSP430s. Ich denke, sie gewinnen den Wettbewerb mit dem niedrigsten Stromverbrauch.
Pingswept
8
Ich bin sicher, Sie könnten ein paar Kartoffeln ausschalten :)
Jim
2
Was meinst du mit "Puffer"? Normalerweise würde man eine Diode verwenden, vorzugsweise eine Schottky-Diode wegen ihres geringen Spannungsabfalls.
Starblue
2
@starblue a buffer ist eine elektrische Komponente, die normalerweise verwendet wird, um die Treiberstärke zu erhöhen und einen niederohmigen Ausgang bereitzustellen, während das Eingangssignal "durchgelassen" wird. Es hat den Effekt, dass seine Eingabe von seiner Ausgabe effektiv isoliert wird, während die Ausgabe der Eingabe "folgt". Es gibt viele Möglichkeiten, dies zu implementieren (ein Operationsverstärker ist eine Möglichkeit; zwei in Reihe geschaltete CMOS-Inverter sind eine andere Möglichkeit), aber Sie können sie auch als diskrete Komponenten oder ICs finden.
Vicatcu
1
@vicatcu Ich denke, Starblue weiß, was ein Logikpuffer ist - Nur ein nicht invertierender Verstärker. Er hätte sich vielleicht gefragt, ob Sie sich auf etwas anderes bezogen haben. Sie vergessen, dass der Eingangsvorspannungsstrom eines Puffers in der Größenordnung von Nano- oder Mikroampere liegt und dass dieser Strom nicht zu Ihrem Kondensator, sondern zu Masse geleitet wird. Ein herkömmlicher Puffer (wie der CD4010) funktioniert nicht ohne Strom und Masse. Wenn Ihre Antwort ausgewählt wurde, bearbeiten Sie sie bitte, um diese Tatsache widerzuspiegeln.
Kevin Vermeer
7

Sie könnten erwägen, die Funktionen Ihres benutzerdefinierten Slaves um eine Anforderung zu erweitern, die besagt, dass "OK, ich werde hier für eine Weile viel Strom benötigen", und Ihrem Ausgang ein MOSFET-Pullup hinzuzufügen. Dann können Sie diese Funktion für einige Zyklen ausschalten und prüfen , ob der Slave immer noch zulässt, dass die Leitung mit Widerstand nach oben gezogen wird (siehe Abbildung 2 auf Seite 3 des Datenblattes DS18S20). ). Viele 1-Draht-Geräte sind nicht ' t wirklich 1-Draht. Wenn Sie nicht mit tatsächlichen 1-Draht-Bauteilen interagieren müssen und / oder den Masterknoten steuern, können Sie Ihre eigenen Spezifikationen definieren, was die Sache viel einfacher machen sollte.

Ihre Arbeit wird erleichtert, weil Ihr Mikro wahrscheinlich zwischen den 5V des Busses und dem Zerfall bis zu ~ 2.6 auskommt. Daher sollte der oben erwähnte Schottky- und Kondensatoraufbau funktionieren oder sogar eine Siliziumdiode. Betrachten Sie die folgenden Diodenaufbauten:

  • Siliziumdiode: Das wäre meine erste Wahl. Solange Ihr Mikro und alle Peripheriegeräte mit 4,3 V betrieben werden können, minimieren Sie Ihren Rückstrom auf einem Schottky von zehn auf Hunderte (und im warmen Zustand sogar auf bis zu zehn Nano-Ampere)
  • Schottky-Diode: Nur verwenden, wenn die 0,4 V zwischen der Standarddiode und Schottky für Ihre Anwendung von Bedeutung sind, aber ein Sperrstrom in der Größenordnung von 100 uA akzeptabel ist.
  • Ideale Diode: Probieren Sie den LTC4411 oder eine ähnliche aus, wenn die Kosten keine Rolle spielen (nur 1,75 USD, aber mehr als eine passive Diode) und ein Rückstrom von 20 uA akzeptabel sind. Informationen zum Stromverbrauch finden Sie im Datenblatt des MSP430. Bei 3 V (bei Verwendung eines Li-Ionen-Akkus anstelle einer undichten Super-Kappe, vorausgesetzt, Sie möchten dieses Gerät möglicherweise entfernen, aber den Arbeitsspeicher für die Ausführung von Code mit geringerer Leistung beibehalten) kann ein Ruhezustand von 100 nA (Nano-Ampere, 0,1 uA) erforderlich sein ein externer Interrupt (wie ein Pinwechsel!)

Die andere Möglichkeit besteht darin, den Strombedarf zu bemessen und eine Batterie zu verwenden. Siehe diesen App-Hinweis von Maxim. Wenn Sie Ihren MSP430 im Ruhemodus halten können (dh nur bei einem Pinwechsel, wie bei einem 1-Draht-Initialisierungsimpuls, aufwachen), können Sie einen Durchschnitt von weniger als 1 uA erzielen und eine Knopfzelle hält zehn Jahre lang (theoretisch) lange soll das gerät halten

Kevin Vermeer
quelle
Ist die ideale Diode schnell genug, um sich beim Übertragen von Daten auszuschalten?
mazurnification
5

Verwenden Sie einen Kondensator zum Speichern der Energie, verbinden Sie das negative Ende des Kondensators mit Masse und schließen Sie eine Schottky-Diode zwischen der Datenleitung und dem Kondensator an. Schottky-Dioden haben einen geringen Durchlassabfall.

Jason S
quelle
5

Der TI MSP430 wurde erwähnt und ich stimme zu. Ich habe den MSP430F1101 verwendet, der mit einem 32,768- kHz- Quarz arbeitet und mit 3 V betrieben wird, der weniger als 4 verbrauchtμ A . Bei 2,2 V wären es sogar weniger.

Um den Mikrocontroller über den Bus zu versorgen, benötigen Sie nur eine Diode und einen Kondensator. Der Kondensator puffert die Busspannung und die Diode verhindert, dass ein niedriger Pegel auf dem Bus den Kondensator entlädt. Wählen Sie eine Schottky-Diode, um einen minimalen Spannungsabfall zu erzielen.

Achtung: Dreckstrick voraus!
Dieses Mädchen braucht die Diode nicht, um ihren Mikrocontroller parasitär mit Strom zu versorgen, und selbst der Kondensator scheint nicht erforderlich zu sein. Sie verwendet eine Spule als RFID-Antenne an einem E / A-Port und die Spannung an der Spule speist das Gerät über die Klemmdioden.

Bildbeschreibung hier eingeben

VDDVDD

stevenvh
quelle
Wehe ...! Wenn Russel oder Olin sehen, dass Klemme Diodenmissbrauch ... :-)
Curd
1
@ Curd - Russell oder Olin? Wie habe ich mich gefühlt, als ich das zum ersten Mal gesehen habe ?! :-)
Stevenvh
3

Viele der 1-Draht-App-Hinweise zeigen die Standardschaltung im Slave: einen Kondensator zwischen GND und VCC des internen Chips (in Ihrem Fall zwischen GND und VCC Ihrer CPU). Auch eine Sperrdiode von der Datenleitung zu VCC des internen Chips, um zu ermöglichen, dass sich der Kondensator füllt, wenn die Datenleitung hoch ist, aber um zu verhindern, dass Energie aus dem Kondensator abfließt, wenn die Datenleitung niedrig ist. Schauen Sie sich den Schaltplan in diesen App-Notizen an:

Solange Ihr Kondensator groß genug ist, sollten Sie in der Lage sein, die meisten modernen Mikrocontroller zu betreiben. Das Texas Instruments MSP430 war bei seiner Einführung das Mikro mit der niedrigsten Leistung. Ich habe gehört, dass Atmel behauptet, dass ihre PicoPower-AVRs weniger Strom verbrauchen als der MSP430. Auch die Microchip XLP-Mikros verbrauchen relativ wenig Strom.

Sie werden überrascht sein, was die netten Leute von 1wire.org über den Bau von Slave-1-Drahtgeräten zu sagen haben: http://www.1wire.org/index.html?target=p_142.html&lang=en-us

davidcary
quelle
Ich schätze, ich vermeide besser den Satz "1-Draht" als ...
Toby Jaffey
Interessanterweise heißt es auf dieser 1wire.org-Seite "Diese Seite NICHT ändern. Sie ist für Kunden NICHT sichtbar." Ich bin wohl kein Kunde. Vermutlich weiß "shopfactory" nicht, was passiert, wenn ihr Javascript nicht funktioniert.
Yann Vernier
1

ich

Bin gerade über diesen Thread gestolpert ... Die eigentliche Frage ist, warum du deinen Sklaven parasitär mit Strom versorgen willst. Nicht alle 1-Draht-Geräte sind parasitäre Geräte, und ich empfehle im Allgemeinen, sie nicht auf diese Weise mit Strom zu versorgen. Es ist ein Hindernis für die Notwendigkeit von Geräten auf Leiterplatten, bei denen das Hinzufügen einer einzelnen Spur ein Problem war. Abhängig von der Gesamtkonstruktion kann dies die Ursache für mehrere Probleme in einem 1-Draht-Netzwerk sein. Natürlich hängt auch viel von den Busmaster-Designs ab. Dies kann aktive Klimmzüge unterstützen.

Mikroprozessor-1-Wire-Slaves wurden erfolgreich ausgeführt, Sie müssen jedoch die allgemeinen 1-Wire-Timing-Spezifikationen erfüllen. Die meisten Implementierungen, die ich gesehen habe, gibt es nicht (insbesondere, wenn dies nicht nur für den persönlichen Gebrauch bestimmt ist). Ich würde mich freuen, mit jemandem über aktuelle Details zu sprechen. Es wurde erfolgreich auf einem 16Mhz AVR Mega8 mit den richtigen Gerätespezifikationen durchgeführt. Das Erfüllen der kritischen Reaktionszeiten mit etwas Langsamerem wäre eine echte Herausforderung und die Unterbrechung der Servicezeiten und des Aufwachens verlangsamt die Reaktionszeit im Allgemeinen zu sehr, um die Spezifikationen zu erfüllen.

Es gibt verschiedene Möglichkeiten, ein Mikro in den 1-Wire-Bus einzubauen, die in den letzten Jahren durchgeführt wurden. 1-Wire-Mikroslaves sind für mich ein besonderes Anliegen, sodass ich jedem Interessierten verschiedene Gestaltungsideen geben kann. Opcodes (Funktionen) sollten niemals adhoc entworfen werden, da dies leicht zu Problemen mit anderen 1-Wire-Geräten in einem Netzwerk führen kann.

Entschuldigung für die 1-Wire.org-Website, ich habe sie in den letzten Jahren nur aus meiner eigenen Tasche geholt, damit die Leute einen Ausgangspunkt für ihre Bemühungen mit 1-Wire hatten.

Wenn jemand Fragen zum 1-Draht-Design hat, kann er sich gerne direkt an mich unter dml (at) sprynet.com oder über [email protected] wenden. Ich werde versuchen zu helfen, wenn ich kann.


quelle