Benutzer-Werkzeuge

Webseiten-Werkzeuge


betriebsstundenzaehler

Betriebsstundenzähler

Idee

Für einen Elektrowerkzeugverleih soll perspektivisch ein kostengünstiger Betriebsstundenzähler auf der Basis eines Attiny84A zum Einbau in einen Schukostecker entwickelt werden, der seine gesammelten Daten über 2.4GHz-Funk mit einem nRF24L01+ übermittelt.

Die Stromversorgung übernimmt ein Kondensatornetzteil. Die Stromaufnahme des Geräts wird grob mit Hilfe eines Magnetometers HMC5883L gemessen und die Betriebszeiten in verschiedenen Verbrauchszuständen aufsummiert. Auch der Gesamtverbrauch wird aufsummiert.

Da Flash und Eeprom nur eine gewisse Anzahl von Schreibvorgängen aushalten, und ein zyklisches Schreiben etwa alle fünf Minuten bei einem dauernd angeschlossenen Gerät schon zu über 100.000 Schreibvorgängen pro Jahr führen würde, werden die Betriebszeiten und -verbräuche nur beim Fall der Versorgungsspannung mit dem Rest der Pufferkondensatorenergie permanent gespeichert.

Die Daten werden an einer Basisstation gesammelt und an einen Server im Internet weitergereicht, der die Daten in einer Datenbank speichert und dann verschiedene Arten der Auswertung anbietet. Die Basisstation soll natürlich über 2.4GHz-Funk sowie über einen Ethernet-Anschluss verfügen. Eine Tonsignalmöglichkeit ist ebenfalls sinnvoll. Dabei wird auf ein früheres Design einer IOT-Basisstation zurückgegriffen.

Wichtig ist dabei die Möglichkeit, die Software nicht nur der Basisstation, sondern insbesonders der Betriebsstundenzähler aktualisieren zu können. Es muss also für einen Funkbootloader ein Protokoll und Software entworfen werden; zudem muss eine Bootserver-Software für die IOT-Basisstation geschrieben werden, die ihrerseits die zu ladende Software aus dem Internet bezieht.

Aktueller Status

Die Prototypen funktionieren. Das Projekt ruht jedoch, weil das „Inverkehrbringen“ eines Funkgeräts eine recht teure Zertifizierung benötigen würde. Zur Zeit denke ich alternativ über ein Auslesegerät nach, in das der Schuko-Stecker gesteckt wird. Dazu müsste der Mikrocontroller diese Situation erkennen können und würde dann die gespeicherten Verbrauchsdaten auf der 230V-Zuleitung übertragen.

Hardware-Design Version 05

Schaltplan
Board

Das Board wird mit Plastik 70 Super o.ä. behandelt und/oder in eine Silikonhülle verbaut. So kann dann eine der zwei Gerätezuleitungen mit einem dünnen Kabelbinder definiert über oder unter dem Magnetometer entlang geführt werden.

Platinenfertiger-Shootout

ÜbersichtOben links Oshpark, oben rechts Itead
Unten links Seeed, unten rechts Elecrow

Erstaunlicherweise haben alle Hersteller die nötigen Schlitze ohne Aufpreis gefräst.
OshparkBestellt am 25.März, verschickt am 2.April, erhalten am 12.April
Beste Lötstoppmaske, keinerlei Ausfransen bei 7 mil Abstand. Feiner Bestückungsdruck. Bohrungen>=13mil, Viaringe>=7mil → 12/24 Vias werden knapp. Saubere Bohrungen (man kann durch alle durchsehen). Bohrversatz ca. 3-4mil. Schlitzbreite 1mm nicht ganz eingehalten. Sollbruchstellen müssen nachgearbeitet werden.
2.46€ pro 3, 0.82€ pro Stück, kostenloser Versand.
SeeedBestellt am 25.März, verschickt am 2.April, erhalten am 16.April
Lackgefüllte Bohrlöcher. Bohrversatz ca. 2-3mil. Kein Lötstop unter ca. 7mil Abstand. Grob gerasterter Bestückungsdruck.
13.48€ pro 10 (inkl. 6.08€ Versand), 1.35€ pro Stück.
IteadBestellt am 26.März, verschickt am 31.März, erhalten am 10.April
Lackgefüllte Bohrlöcher. Bohrversatz ca. 1-3mil. Kein Lötstop unter ca. 7mil Abstand. Grob gerasterter Bestückungsdruck.
10.33€ pro 10 (inkl. 2.92€ Versand), 1.03€ pro Stück.
ElecrowBestellt am 25.März, verschickt am 1.April, erhalten am 14.April
Farbe ohne Aufpreis. Lackgefüllte Bohrlöcher. Bohrversatz ca. 1-3mil. Kein Lötstop unter ca. 12mil Abstand. Grob gerasterter Bestückungsdruck, zum Teil recht weit vom Lötstopprand schon beschnitten.
10.84€ pro 10 (incl. 3.53€ Versand), 1.08€ pro Stück.

Verbesserungen und Korrekturen

  • MISO/MOSI. Die Benennung der Attiny84a-Pins ist, gelinde gesagt, etwas unglücklich. Benutzt man USI für die SPI-Kommunikation, so werden mitnichten die MISO/MOSI-Pins benutzt, sondern die DI/DO-Pins, und diese sind so genial belegt, dass man Attiny-MISO/DO mit nRF24L01+-MOSI und Attiny-MOSI/DI mit nRF24L01+-MISO verbinden muss. Warum nur, Atmel? Dies Problem liess sich auf dem Prototyp-Board allerdings noch recht einfach beheben:
  • nRF24L01+-Probleme.
    • Der nRF24L01+ hat keine interne Brownout-Erkennung, sondern bleibt öfters bei 1.7V im TX- oder RX-Modus hängen und verbraucht dabei dann fröhlich weiter >10mA Strom. Die Lösung ist eine Spannungsversorgung über einen Attiny-Port.
    • Ursprünglich wurde der Takt für den nRF24L01+ vom CKOUT des Attiny84a gespeist. Dies hat jedoch zwei Nachteile. Zum einen beeinflusst der interne Prescaler des Attiny84a den CKOUT-Takt, zum anderer (und gravierender) wird der nRF24L01+ dann über den XT1-Eingang mit Strom versorgt. Die Lösung ist die Verwendung von Attiny-XTAL2 als Takt für den nRF24L01+. Dies macht ausserdem einen weiteren Pin verfügbar.
    • Nordic empfiehlt das zentrale Pad unter dem nRF24L01+ (das mit dem Substrat verbunden ist) /nicht/ mit GND zu verbinden.
    • Das zentrale nRF24L01+Pad ist größer als das SMD-Pad im Eagle-Paket. Neben dem SMD-Pad war darum noch Platz fur ein VCC-Via, zwar glücklicherweise mit Lötstopp abgedeckt aber trotzdem unschön.
  • Netzkondensatoren in Reihe. Zwar wird die Spannung halbiert, und beim Durchschlagen von einem der beiden Kondensatoren funktioniert der BSZ noch. Allerdings sinkt die gelieferte Stromstärke von 14mA auf 7mA im Vergleich zur Parallelschaltung, und das wird dann doch etwas sehr knapp. In der neuen Version sind daher zwei Netzkondensatoren parallelgeschaltet.
  • 4.7V-Zenerdiode. Als Spannungsregler ist ein günstiger AAT3220 gewählt, der 6V Eingangsspannung verträgt. Die Pufferkondensatoren sind ebenfalls für 6.3V spezifiziert. Eine 5.6V-Zenerdiode ist daher günstiger.
  • Brückengleichrichter. Anstelle der einfachen Schottky-Diode wird ein Brückengleichrichter eingebaut, um beide Halbwellen zu nutzen. Die Stromstärke verdoppelt sich dadurch beinahe.
  • Abschalterkennung über internen ADC.
  • Kein Debug-Ausgang.
  • Keine Programmierschnittstelle. Zum Programmieren müssen Kabel angelötet werden, was schon bei kleiner Stückzahl unmöglich wird. Stattdessen wird am Rand der Platine mit Pads und Löchern eine Schnittstelle für einen Narrow-SOIC-Testclip von 3M (www.digikey.com/product-detail/en/923655-08/923655-08-ND/) angebracht.

Hardware-Design Version 07

Schaltplan
Board
Bestückung

Verbesserungen und Korrekturen zwischen Version 07 und Version 09

  • Die 1/4W 1206-Widerstände (100Ω und 470kΩ) müssen mindestens für 500V Nennspannung ausgelegt sein.
  • Der Abstand vom unteren 230V-Eingang (mit R0 verbunden) zur Eingangsfläche von C1, C2 und R1 ist sehr klein. Normalerweise fallen über R0 nur ±4V ab. Beim Einschalten auf dem Scheitelpunkt fällt dagegen kurzzeitig eine Spannung von ca. 280V ab (die Spannung fällt nach 100μs auf ca. 40V und erreicht nach weiteren 100μs Normalwerte). Diese hohe Spannung könnte über den kleinen Abstand schlagen.
  • Die Leitungsführung ist verbessert: Quarz und Regler tauschen die Plätze, um die Oszillatorzuleitung zum nRF24L01+ zu verkürzen, und die rückseitigen Bahnen zum Programmieranschluss und zur Spannungsversorgung sind noch einmal optimiert.
  • Nach IPC-2221 reichen anscheinend intern 0.25mm Abstand zwischen Spannungen von 300-500V aus, die Schlitze sind danach also unnötig.
  • Wo immer möglich sind nun europäische Standard-Eagle-Komponenten verwendet.
  • Keepout-Bereiche um die RCL-Komponenten werden besser berücksichtigt.

Hardware-Design Version 09

Schaltplan
Board
Bestückung

Kosten

IdentSpezGrößeNrEinzelSumme
Version V05
C1,C2220nF, 450V121020.3840.768
C3,C4100μF120620.6001.200
C51μF04021 0.019
C6,C16100nF040220.0050.010
C7,C818pF040220.0640.128
C910nF04021 0.006
C101nF04021 0.006
C1133nF04021 0.018
C122.2nF04021 0.008
C134.7pF04021 0.168
C141.5pF04021 0.064
C151.0pF04021 0.064
C174.7μF, 16V08051 0.137
C18220nF04021 0.036
D1Zener 4.7VMINIMELF1 0.026
D2SchottkyMICROMELF1 0.060
L13.9nH04021 0.017
L22.7nH04021 0.017
L38.2nH04021 0.036
Q116MHz, 10ppm12101 0.758
R0100Ω12061 0.014
R1,R2220kΩ120620.0140.028
R3,R422kΩ, 1%040220.0160.032
R5,R62.2kΩ040220.0100.020
U1ATTINY84A-MUMLF201 1.010
U4ANTENNAANTENNA1 0.403
V1AAT3220SOT231 0.136
Preis ohne/mit MwSt5.1896.175
U2NRF24L01+QFN201ebay - China-Modul0.860
U3HMC5883LLPCC161ebay - China-Modul1.590
PCB Oshpark0.820
Preis aller Komponenten9.445
Version V07
D1Zener 5.6VMINIMELF1 0.026unverändert
D2'Brückengleichrichter DLPA006 160mASOT-3631 0.408statt 0.060
R1/2'470kΩ12061 0.014statt 0.028
R727kΩ, 1%04021 0.016zusätzlich
Zusatzkosten0.3500.417
Preis aller Komponenten9.862

Software

Eine erste Version einer Betriebsstundensoftware findet sich unter http://github.com/wangnick/bsz. Die entsprechende Internet-Gateway-Software für die Basisstation ist noch in Arbeit. Auch eine Kalibrierfunktion für den Stromverbrauch fehlt noch.

Ein erster Versuch eines Bootloaders findet sich unter https://github.com/wangnick/mirfboot. Der dazugehörige Bootserver ist noch in Arbeit.

Foren-Beiträge

betriebsstundenzaehler.txt · Zuletzt geändert: 2016/05/28 17:38 von sebastian