This page is not fully translated, yet. Please help completing the translation.
(remove this paragraph once the translation is finished)
Power-on and utilisation monitoring
Idea
To develop, for use in an tool rental, an electrical tool power-on and utilisation monitor, small enough to be placed into the wall plug. Basis is an Attiny84A, programmed to constantly send its collected data via 2.4 GHz radio nRF24L01+ to a base station.
Power is provided by a capacitive power supply directly off the mains. Power consumption of the connected tool is measured, roughly, via small-scale magnetometer HMC5883L, making it possible to collect and summarise utilisation hours under a certain number of different consumption conditions.
Since flash and eeprom memory only sustain a limited amount of write cycles, and a cyclic writing say every five minutes would lead to 100.000 write operations per year for a constantly connected tool, the collected data is written from SRAM to permanent storage only at power drop using remaining capacitor energy.
Data emitted via radio is collected at a base station, forwarding the data to a specific Internet service which stores the data records into a database and then provides versatile facilities for evaluation, statistics and/or B2B connectivity to a rental tool. The base station thus must support both 2.4GHz radio and an Ethernet connection to the Internet. A speaker would be handy as well. In my case the previously design of an IOT base station is reused for this purpose..
It is important in this context to be able to update the software not only of the IOT base station (see there for solution), but also of the remote power monitor nodes. This implies the design and implementation of a radio bootloader protocol and software for the monitoring nodes, and a respective server software for the IOT base station, which itself would draw the necessarz software from the Internet.
Hardware-Design Version 05
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
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
Verbesserungen und Korrekturen zwischen Version 07 und Version 09
- Die 1/4W 1206-Widerstände (100Ω und 470kΩ) sollten auch für mindestens für 450V 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 Programiieranschluss 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
Kosten
Ident | Spez | Größe | Nr | Einzel | Summe | |
Version V05 | ||||||
C1,C2 | 220nF, 450V | 1210 | 2 | 0.384 | 0.768 | |
C3,C4 | 100μF | 1206 | 2 | 0.600 | 1.200 | |
C5 | 1μF | 0402 | 1 | 0.019 | ||
C6,C16 | 100nF | 0402 | 2 | 0.005 | 0.010 | |
C7,C8 | 18pF | 0402 | 2 | 0.064 | 0.128 | |
C9 | 10nF | 0402 | 1 | 0.006 | ||
C10 | 1nF | 0402 | 1 | 0.006 | ||
C11 | 33nF | 0402 | 1 | 0.018 | ||
C12 | 2.2nF | 0402 | 1 | 0.008 | ||
C13 | 4.7pF | 0402 | 1 | 0.168 | ||
C14 | 1.5pF | 0402 | 1 | 0.064 | ||
C15 | 1.0pF | 0402 | 1 | 0.064 | ||
C17 | 4.7μF, 16V | 0805 | 1 | 0.137 | ||
C18 | 220nF | 0402 | 1 | 0.036 | ||
D1 | Zener 4.7V | MINIMELF | 1 | 0.026 | ||
D2 | Schottky | MICROMELF | 1 | 0.060 | ||
L1 | 3.9nH | 0402 | 1 | 0.017 | ||
L2 | 2.7nH | 0402 | 1 | 0.017 | ||
L3 | 8.2nH | 0402 | 1 | 0.036 | ||
Q1 | 16MHz, 10ppm | 1210 | 1 | 0.758 | ||
R0 | 100Ω | 1206 | 1 | 0.014 | ||
R1,R2 | 220kΩ | 1206 | 2 | 0.014 | 0.028 | |
R3,R4 | 22kΩ, 1% | 0402 | 2 | 0.016 | 0.032 | |
R5,R6 | 2.2kΩ | 0402 | 2 | 0.010 | 0.020 | |
U1 | ATTINY84A-MU | MLF20 | 1 | 1.010 | ||
U4 | ANTENNA | ANTENNA | 1 | 0.403 | ||
V1 | AAT3220 | SOT23 | 1 | 0.136 | ||
Preis ohne/mit MwSt | 5.189 | 6.175 | ||||
U2 | NRF24L01+ | QFN20 | 1 | ebay | 0.860 | |
U3 | HMC5883L | LPCC16 | 1 | ebay | 1.590 | |
PCB Oshpark | 0.820 | |||||
Preis aller Komponenten | 9.445 | |||||
Version V07 | ||||||
D1 | Zener 5.6V | MINIMELF | 1 | 0.026 | unverändert | |
D2' | Brückengleichrichter DLPA006 160mA | SOT-363 | 1 | 0.408 | statt 0.060 | |
R1/2' | 470kΩ | 1206 | 1 | 0.014 | statt 0.028 | |
R7 | 27kΩ, 1% | 0402 | 1 | 0.016 | zusätzlich | |
Zusatzkosten | 0.350 | 0.417 | ||||
Preis aller Komponenten | 9.862 | |||||
Version V09 | ||||||
R1←R0 | 100Ω 500V | 1206 | 1 | 0.033 | statt 0.014 | |
R2 | 470kΩ 500V | 1206 | 1 | 0.033 | statt 0.014 | |
Zusatzkosten | 0.038 | 0.045 | ||||
Preis aller Komponenten | 9.907 |
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.