Defekte USV

Im letzten Jahr hat meine APC USV den Geist aufgegeben und nur noch vor sich hin gepiept. Nachdem mein Schwiegervater (Elektromeister) das Ding untersucht hat und nichts finden konnte, habe ich mich etwas mehr in das Thema Elektrotechnik (Transformatoren, Transistoren, Spulen, etc.) eingelesen und habe mich dann auch nochmal auf die Suche nach dem Fehler gemacht.

Zuerst hatte ich den Transformator untersucht, der schien aber soweit okay zu sein. Anschließend habe ich noch ein paar Leitungen gemessen und bin dann irgendwann darauf gestoßen das die 12V Batterie im Betrieb keine 230V AC über den Transformator ausspuckt. Also habe ich angefangen die MOSFET zu testen und siehe da, einer war defekt.  Ein neuer ist nun bestellt. Wenn ich Zeit hatte ihn einzubauen und alles wieder zusammen zu setzen, werde ich berichten ob der Austausch dieser kleinen Komponente tatsächlich das Problem war.

Mini Punktschweißgerät

Vor einiger Zeit hatte ich mir ja den Mikrowellentransformator geholt um mir daraus bei Gelegenheit mal ein Punktschweißgerät zu bauen. Bis ich dazu komme habe ich mir erst einmal mit einer etwas kleineren Version ausgeholfen. Einem 2,7V 500 Farad Kondensator, an dem ich einfach zwei Adern angelötet habe.

Punktschweißgerät

Kürzlich hab ich mir gedacht das es ganz nützlich sein könnte ein Punktscheißgerät zu haben, um damit z.B. 18650er Akkus zu einem großen Batterie-Paket zusammen zu schweißen.

Somit habe ich mir eine alte Mikrowelle besorgt und bei dieser den Transformator ausgebaut. Anschließend habe ich dort die Sekundärspule entfernt und durch ein 16mm² Kabel mit 1½ Windungen ersetzt. Die Spannung beträgt nun 1,71V. Wieviel Ampere nun tatsächlich dabei rum kommen kann ich leider nicht sagen, da mein Messgerät bei 600 Ampere schlapp macht. Aber im folgenden Video kann man sehen das es ausreicht um einen Inbusschlüssel zu schmelzen.

Ja okay, ich habe erstmal nur damit rum gespielt, aber wenn ich Zeit habe wird daraus dann auch wirklich mal ein Punktschweißgerät.

LEDs zur Energiegewinnung

LEDs können nicht nur leuchten, sie können sogar Strom erzeugen. Bzw. Licht in Strom umwandeln. Um das zu demonstrieren habe ich 14 weiße LEDs in Reihe geschaltet.

Im Bild sieht man das der Blitz meiner Kamera ca. 16mV erzeugt. Im Video sind schon immerhin gut 1,6V zu messen bei direkter Sonneneinstrahlung.

16mV

Bewegungsmelder

Dieser 5V Bewegungsmelder (PIR) lässt eine einfache LED aufleuchten, sobald eine Bewegung erkannt wurde. Die ist erst einmal ein simpler Prototyp. Später soll hieraus eine etwas komfortablere Schaltung werden, welche die Belegung eines Meetingraums von außerhalb über eine große deutlich erkennbare Lampe mit den Farben rot und grün kennzeichnet.

Tesla Coil

Da sich mein Sohn auch sehr von Strom und Technik beeindrucken lässt, habe ich ein Tesla Coil Kit bestellt um damit ein wenig „spielen“ zu können.

Der Aufbau war ziemlich einfach und in nicht einmal 15 Minuten erledigt.

Als nächstes will ich mir eine eigene große Version bauen, die mehr biete als einen kleinen „Funken“.

Hamster Überwachung

Wir haben einen Hamster adoptiert. Nachdem ich ihn fast zwei Wochen nicht gesehen habe, habe ich einen alten RedBear WiFi micro ausgegraben (NodeMCU tut’s auch) und mit einem Bewegungsmelder Modul im Hamsterkäfig platziert. Das Modul hat mir dann mittels WiFi Verbindung via IFTTT eine Benachrichtigung zukommen lassen, sobald eine Bewegung im Käfig wahrgenommen wurde.

Es hat nicht lange gedauert, da sind mir die ständigen Benachrichtigungen in der Nacht auf die Nerven gegangen und ich habe noch ein Zeitmodul hinzugefügt, sowie einen Schalter, der dafür sorgt das ich keine Benachrichtigung bekomme wenn jemand den Käfig öffnet. Außerdem habe ich ein Timeout von 5 Minuten hinzugefügt, um die Benachrichtigungen auf ein Minimum zu reduzieren.

Code

#ifndef __CC3200R1M1RGC__
#include <SPI.h>
#endif
#include <WiFi.h>
#include <Wire.h>
#include "RTClib.h"

char ssid[] = ""; // wifi ssid
char password[] = ""; // wifi password

int button = 8;
int caseClosed = 0;
int pir = 0;
int timeout = 0;
int movement = 0;

char server[] = "maker.ifttt.com";

WiFiClient client;

String IFTTT_KEY = ""; // private ifttt key
String IFTTT_EVENT = "hamster_moved";

RTC_DS1307 rtc;

void setup() {
  Serial.begin(9600);

  if (!rtc.begin()) {
    Serial.println("Couldn't find RTC");
    while (1);
  }

  pinMode(LED, OUTPUT);
  pinMode(pir, INPUT);
  pinMode(button, INPUT);

  movement = digitalRead(pir);
  caseClosed = digitalRead(button);

  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(300);
  }
  
  while (WiFi.localIP() == INADDR_NONE) {
    delay(300);
  }
}

// the loop routine runs over and over again forever:
void loop() {
  caseClosed = digitalRead(button);
  DateTime now = rtc.now();

  if (caseClosed == HIGH) {
    if (timeout >= 600 * 5) { // every 5min
      timeout = 0;
    }
  
    if (timeout == 0) {
      movement = digitalRead(pir);
    } else {
      movement = 0;
      timeout++;
    }
  
    if (movement == HIGH) { // motion detected
      delay(1000); // wait a little bit and then check again if case is still closed
      caseClosed = digitalRead(button); // check once again if case is closed

      if (caseClosed == HIGH) {
        timeout++; // disable to trigger all time
        digitalWrite(LED, LOW);
  
        if (now.hour() >= 9 && now.hour() < 20) {
          ifttt_trigger(IFTTT_KEY, IFTTT_EVENT, now);
        }
  
        digitalWrite(LED, HIGH);
      }
    } else {
      digitalWrite(LED, HIGH);
    }
  } else {
    timeout = 1; // wait 5min after case open to check movement again
  }

  delay(100);
}

//******************************************************************************************
// This method makes a HTTP connection to the server & does a GET request for user name
// Simply pass in the badge ID to query as a String.
// Returns string:
//   - Returns "<NAME>"if badge ID is registered
//   - Returns "NULL" if badge ID is not registered
//   - Returns "FAIL" if REST API failed
//******************************************************************************************
String ifttt_trigger(String KEY, String EVENT, DateTime now) {
  String name = "";
  // close any connection before send a new request.
  // This will free the socket on the WiFi shield
  client.stop();

  // if there's a successful connection:
  if (client.connect(server, 80)) {
    
    // This is optional. You can send additional data to IFTTT along with your HTTP POST that triggers the action
    String PostData = "{\"value1\" : \"" + String(now.unixtime()) + "\", \"value2\" : \""+ String(now.hour()) +"\", \"value3\" : \"" + String(now.minute()) + "\" }";
    
    Serial.println(PostData);
    //Serial.println("connected to server... Getting name...");
    // send the HTTP PUT request:
    String request = "POST /trigger/";
    request += EVENT;
    request += "/with/key/";
    request += KEY;
    request += " HTTP/1.1";
    
    Serial.println(request);    
    client.println(request);
    client.println("Host: maker.ifttt.com");
    client.println("User-Agent: Energia/1.1");
    client.println("Connection: close");
    client.println("Content-Type: application/json");
    client.print("Content-Length: ");
    client.println(PostData.length());
    client.println();
    client.println(PostData);
    client.println();

  }
  else {
    // if you couldn't make a connection:
    Serial.println("Connection failed");
    return "FAIL"; // rest API failed...
  }
  
  // Capture response from the server. (10 second timeout)
  long timeOut = 4000;
  long lastTime = millis();
  
  while((millis()-lastTime) < timeOut){  // Wait for incoming response from server
    while (client.available()) {         // Characters incoming from the server
      char c = client.read();            // Read characters
      Serial.write(c);
    }
    
  }
  Serial.println();
  Serial.println("Request Complete!");
  //return name; // Return the complete name received from server
  return "SUCCESS";
}

Party-Deckenlampe (die Idee)

Für die Decke soll eine neue Lampe her die sowohl als Partylicht, aber auch als normale Lampe fungieren soll.
Die Lampe soll kreisförmig werden und einen Durchmesser von 120cm haben.

Es gibt zwei Leuchtquellen.

  1. Eine indirekte Beleuchtung die ringförmig hinter der Lampe versteckt ist.
  2. Eine direkte Beleuchtung, welche ebenfalls kreisförmig (Durchmesser 100cm) mit 19 LED Ringen gestaltet wird.

Beide Lichtquellen werden mit LED Stripes gebaut, bei den jede LED einzeln ansteuerbar ist. Insgesamt werden etwas über 1200 LEDs zum Einsatz kommen, die in Summe bei voller Beleuchtung knapp 500 Watt verbrauchen.

Die direkte Beleuchtung soll hinter satiniertem Acrylglas (Milchglas) verbaut werden und die restliche Konstruktion ist planmäßig aus Holz, welches weiß angestrichen wird.

Hier eine grobe Zeichnung (Vogelperspektive):

  • Der weiße Bereich ist der Holzring, welcher weiß angestrichen wird.
  • Hellgrau ist das satinierte Acrylglas.
  • Dunkelgrau sind die einzelnen LED Ringe (direkte Beleuchtung), welche nach unten strahlen.
  • Orange sind Elemente aus Holz für die Befestigung. Der orangene Kreis wird ebenfalls von außen weiß angestrichen. Dort wird anschließend die indirekte Beleuchtung angebracht, welche dann seitlich strahlt.

Hardware