Heim Der Blog Blog Details

Smart Socket basierend auf STM32

August 14 2025
Ampheo

Anfrage

Globaler Lieferant elektronischer Komponenten AMPHEO PTY LTD: Umfangreiches Inventar für One-Stop-Shopping. Einfache Anfragen, schnelle, individuelle Lösungen und Angebote.

SCHNELLE ANFRAGE
ZUR RFQ-LISTE HINZUFÜGEN
Hier ist ein kompakter, aber vollständiger Entwurf, den Sie für eine STM32-basierte Smart Socket (Typ G/13 A freundlich, aber anpassbar an andere Stecker) verfolgen können.

Hier ist ein kompakter, aber vollständiger Entwurf, den Sie für eine STM32-basierte Smart Socket (Typ G/13 A freundlich, aber anpassbar an andere Stecker) verfolgen können.

Smart Socket basierend auf STM32

1) Ziel-Spezifikationen (Vorschlag)

  • AC-Eingang: 220–240 V AC, 50 Hz (wenn möglich für 90–264 V universell auslegen)

  • Last: bis 13–16 A ohmsch (bei induktiven Lasten abwerten)

  • Standby-Verbrauch: < 0,5 W

  • Kommunikation: WLAN (mit BLE-Provisioning) oder Thread/BLE; optional Matter

  • Messung: Wirkleistungs-Genauigkeit ≤ ±1 % (Klasse 1), Spannung/Strom/Energie, Leistungsfaktor

  • Sicherheit: Relais-Schweißdetektion, Übertemperatur/Überstrom-Abschaltung, Überspannungs- & ESD-Schutz

  • OTA: Sicher, fehlertolerant (Dual-Bank)

2) System-Blockdiagramm (einpoliges Schalten)

  css
 
AC-Phase ── Sicherung ── NTC ── MOV ── EMI-Filter ──▶ Relais/SSR ──▶ Steckdose (Phase)
                                      │
                                      ├── Shunt/CT ─► Mess-IC/AFE ──► STM32
                                      │
                           Isoliertes AC/DC 3–5 V ─► MCU, Funk, LEDs, Sensoren

3) Kernbauteile (bewährte Optionen)

  • MCU (Auswahl):

    • STM32G0B1 (kostengünstig, viele I/Os/ADCs, ideal mit externem Funkmodul)

    • STM32U5 (niedriger Stromverbrauch + TrustZone für mehr Sicherheit)

    • STM32WB55 / WBA (BLE/Thread integriert; externes WLAN bei Bedarf)

  • Funk (falls WLAN): ESP32-C3-MINI / ESP32-C6-MINI (UART/SPI zum STM32) oder Murata Type 1DX.

  • Messung (Auswahl):

    • STPM33/34 (ST-Energie-Mess-AFE, SPI; hohe Genauigkeit)

    • ADE7953 (ADI, SPI/I²C; weit verbreitet)

    • Budget: HLW8032/8012 (UART; ausreichend für Verbrauchsgeräte)

  • Netzteil: Zertifiziertes 3–5 W AC/DC-Modul (z. B. 5 V) + LDO/DC-DC auf 3,3 V.

  • Schaltelement:

    • 16 A-Relais (mechanisch; niedriger Verlust; Snubber parallel zu den Kontakten)

    • Triac-SSR (BTA16 + Optotriac MOC3063, Nulldurchgang) für geräuschloses Schalten (nicht optimal für alle Schaltnetzteile – testen!)

  • Schutz & Sensorik:
    Sicherung (träge), MOV (z. B. 14D471), NTC-Einschaltstrombegrenzer, X2-Kondensator + Gleichtaktdrossel, TVS auf den Kleinspannungs-Schienen, NTC/Temperaturfühler am Relais.

4) Stromerfassung

  • Shunt (1 mΩ, 3–5 W, 1 %): beste Genauigkeit/Kosten; benötigt isolierten oder hoch-CMR-Eingang.

  • Stromwandler: galvanisch getrennt; einfacher Bürdenwiderstand; etwas größer.

5) Firmware-Architektur (FreeRTOS empfohlen)

  • Tasks

    • metrology_task (500–1000 Hz Abtastung oder IRQ-gesteuert)

    • control_task (Relais, Sicherheitsabschaltungen)

    • comm_task (MQTT/Matter, TLS, Keep-Alive)

    • provisioning_task (BLE/SoftAP-Einrichtung)

    • ota_task (Herunterladen, Verifizieren, Umschalten)

    • ui_task (Taster/LEDs)

    • watchdog (IWDG + Brown-Out)

  • Boot/OTA: Dual-Bank-Firmware im internen Flash oder externem QSPI; AES-GCM signiert+verschlüsselt; Rollback bei Fehler.

6) Beispiel-Datenfluss

  • Mit ADE/STPM: IC liefert I, V, P, E, PF; alle 100–200 ms über SPI/I²C auslesen.

  • Raw-ADC: Shunt & Spannungsteiler mit Timer-getriggertem ADC + DMA; RMS/Wirkleistung in Fixed-Point berechnen.

Minimal-RMS-Code (Konzept, C):

 
c

volatile int16_t i_buf[N], v_buf[N];

void compute_rms_power(void){
  int64_t sum_i2=0, sum_v2=0, sum_p=0;
  int32_t acc_i=0, acc_v=0;
  for(int k=0;k<N;k++){ acc_i += i_buf[k]; acc_v += v_buf[k]; }
  int32_t off_i = acc_i / N, off_v = acc_v / N;

  for(int k=0;k<N;k++){
    int32_t i = i_buf[k] - off_i;
    int32_t v = v_buf[k] - off_v;
    sum_i2 += (int64_t)i*i;
    sum_v2 += (int64_t)v*v;
    sum_p  += (int64_t)i*v;
  }
  float Irms = sqrtf((float)sum_i2/N) * I_SCALE;
  float Vrms = sqrtf((float)sum_v2/N) * V_SCALE;
  float Pavg = ((float)sum_p/N) * P_SCALE;
}

7) Konnektivität & Protokoll

  • Einrichtung: BLE-zu-WLAN oder SoftAP + Captive Portal.

  • Cloud: MQTT über TLS 1.2/1.3 (mbedTLS), mit LWT.

  • Lokal: Matter über WLAN/Thread.

8) Sicherheits- & Zulassungscheckliste

  • Kriech-/Luftstrecken: ≥ 6–8 mm zwischen Netz und SELV.

  • Thermik: < 30 °C Erwärmung am Relais/Shunt bei 13 A in 40 °C Umgebung.

  • EMV: Leitungs-/Feldstörungen nach EN 55014 / CISPR 14, Stoßspannung ±2 kV L-N.

  • Normen: IEC 60335-1 (Haushalt) oder 62368-1 (ITE).

  • Funk: CE/FCC/IMDA.

9) PCB- & Mechanik-Tipps

  • Zwei-Zonen-Layout: Hochvolt- und Kleinspannungs-Bereich trennen.

  • Relais-Leiterbahnen: ≥ 16 A ausgelegt, dicker Kupferauftrag oder Schiene.

  • Snubber: RC (z. B. 100 Ω + 100 nF X2) für induktive Lasten.

  • Temperaturfühler: NTC am Relaisgehäuse; Abschaltung > 85–90 °C.

  • Taster/LED: Multifunktionstaster, RGB-LED.

10) Schweißdetektion

  • Spannung hinter dem Relais messen → falls „Aus“, aber Spannung vorhanden, Fehler melden.

11) Kalibrierung & Fertigung

  • Zweipunkt-Kalibrierung (z. B. 230 V/2 A und 230 V/10 A).

  • Koeffizienten im NVM speichern.

  • Prüfplatz: AC-Quelle + Referenzzähler, Relais-Zyklen-Test, Überspannungstest, Geräte-Schlüssel provisionieren.

12) Beispiel-Pin-Mapping (STM32G0B1)

  • SPI1: zu STPM33/ADE7953

  • UART2: zu ESP32-C3

  • GPIO: Relais, Taster, RGB-LED

  • ADC: NTC, Hilfsspannung

  • I²C1: Temp-Sensor / EEPROM

13) Mini-Referenz-BOM

  • MCU: STM32G0B1Kx

  • Funk: ESP32-C3-MINI

  • Messung: STPM33 + Shunt 1 mΩ/3–5 W

  • Netzteil: 5 V/3 W zertifiziertes AC-DC-Modul + 3,3 V-Wandler

  • Schalter: 16 A-Relais oder BTA16 + MOC3063

  • Schutz: Sicherung, MOV 470 VAC, NTC 5–10 Ω, TVS, X2 100 nF, CMC

  • Sensoren/UI: NTC, RGB-LED, Taster

Ampheo