Powermeter

Aus LaborWiki
Version vom 18. September 2011, 21:08 Uhr von Siro (Diskussion | Beiträge) (stromkasten anschluss)
Wechseln zu: Navigation, Suche
Kran
Diese Seite befindet sich noch im Aufbau bzw. wird gerade heftig überarbeitet. Vorsicht: Herumliegende Gedankenfetzen!
Dieser Banner ist hier dokumentiert.
           
Powermeter

Release status: beta [box doku]

IMGP1609.JPG
Description
Author(s)  Pl4nkton, siro
Last Version  0.99
Platform  AVR (ATXmega192a3)
License  Source: GPL
Download  c Code, trac





Echtzeit Leistungsmessung der Labor Stromversorgung und an 32A Außenleitung der Drehstromladekiste.

Status

  • Code
  • Layout gnd gnd_iso mit x2 / widerstand und Überspannungsschutz nach Spannungsteiler
  • Kalibirierung
  • Code verbesserungen
  • DMA für memcpy & memset
  • feste samplewerte (vielfaches von 2) ??
  • sqrt asm routine ??

Planung

Bauteile:

  • 3 Stromwandler für 50A (L1, L2, L3) [1]
  • ATXMEGA 192A3-AU - 2 * 2M samples + dma
  • Gehäuse HUT 4-C
  • CAN
    • MCP2515
    • TI ISO1050
  • SIM1-0505 SIL4 (5V DC/ 5V DC galvanische Trennung) ist ungeregelt also Linearregler nach schalten
  • ZR431L (ADJUSTABLE PRECISION SHUNT REGULATOR) SOT23 1.24V
  • Überspannungsschutz

ADC:

  • differential ADC signed mode, negativer Pin auf Vref (1,65V)
  • alle Spannungen am ADC Eingang müssen zwischen GND - Vcc (0 - 3,3V) liegen !
  • Messwerte sind +/- 11bit 0x031F == 3,3V, 0x0000 == 1,65V, 0xFCE0 == 0V

v2

  • ADE7858
  • Rogowski spulen zur Strommessung
  • Display
    • EA DOGL128S-6 könnte passen [2]
    • oled 128*64 3.3V core / 12V led [3]
    • [4] color oled

Layout

  • Messbereich: 35A max
    • Um = SQRT(2)*35A/1000* 33 Ohm = +-1.63 V
  • Messbereich: 250 V Max (Außenleiter-Nullleiter)
    • U = SQRT(2)*250V=354V
    • Spannungsteiler 215:1
    • mit R1=470k und R2=2k2 Spannungsteiler von 214.63:1
    • Um=SQRT(2)*250V*2200/472200=+-1,647V
  • Spannungsreferenz Vref = 3.3V/2 = 1.65V
    • Vout=(1+R1/R2)*1.24V
    • R1/R2 = 1.65V/1.24V -1 = 0,330645161
    • mit R1 = 33k und R2 = 100k
    • Vout=(0,33+1)*1.24V=1,6492V
  • TODO: Spannungsoffset

Energiebedarf

3,3V muss > 1W sein

  • Xmega max 18mA + 6 mA ADCs + x
  • mcp 2515 5mA
  • iso 1050 2mA

5V

  • iso 1050 73 mA

Spannungen

Nicht isoliert vom Bus

  • 12-24V Canbus power
  • 5V vom DC/DC aus 12-24V

Isoliert vom Bus

  • 3,3V 1W vom DC/DC aus 5V
  • 12V OLED ?

ATXMega 192A3

Verwendete Peripherie

  • Taktgenerator (32Mhz Interner PLL)
  • Timer0 (16Mhz Takt an PD2)
  • RTC
  • Interrupt
  • Events (startet den ADC, startet DMA Block transfers)
  • ADC1, ADC2 (Messung der Spannungen)
  • DMA0, DMA1 (Transfer der Messergebnisse in den SRAM)
  • USARTC1 (Debugging)
  • Timer1 (generiert Events, welche die ADCs starten)
  • GPIO (LEDs,...)

Pinbelegung

PDI

  • 56 - PDI_DATA
  • 57 - RESET / PDI_CLK


PA / ADC1 - Spannung

  • PA0 - Nullpunkt
  • PA1 - Nullpunkt
  • PA2 - L1 Spannungsteiler
  • PA3 - L2 Spannungsteiler
  • PA4 - L3 Spannungsteiler


PB / ADC2 - Strom

  • PB0 - Nullpunkt
  • PB1 - Nullpunkt
  • PB2 - L1 Stromwandler
  • PB3 - L2 Stromwandler
  • PB4 - L3 Stromwandler
  • PB5 - L4 Stromwandler
  • PB6 - L5 Stromwandler
  • PB7 - L6 Stromwandler

CAN - MCP2515

  • PD1 - INT
  • PD2 - CLK
  • PD4 - cs
  • PD5 - mosi
  • PD6 - miso
  • PD7 - sck

RGB-LED common Anode

  • PC0 -
  • PC1 -
  • PC2 -

LED - Status

  • LED aus - Powermeter aus, Energieversorgung überprüfen
  • LED grün - Powermeter ist an, misst keine Daten
  • LED blau - Powermeter misst Daten
  • LED cyan - Powermeter berechnet Leistungsaufnahme
  • LED rot - Fehler

Software

  • configure powemeter_driver
  • ... -> Timer1 -> ADCA & ADCB -> DMA -> SRAM -> DMAInterrupt -> Timer1 -> ...
  • main()
    • check can_handler
    • wait for ADC_data_ready
    • calculate power

CAN

Die Daten werden einmal pro Sekunde über den Can-Bus geschickt. Powermeter CAN Adresse: 0x05 Port: 0x06

  • Packet1
    • byte0: 0x00
    • byte1: id -> TODO
    • byte2: length of following data
  • Packet2
    • byte0: 0x01
    • 4bytes: (long) Channel1 P
  • Packet3
    • byte0: 0x02
    • 4bytes: (long) Channel2 P
  • Packet4
    • byte0: 0x03
    • 4bytes: (long) Channel3 P
  • Packet5
    • byte0: 0x04
    • 4bytes: (long) Channel1 S
  • Packet6
    • byte0: 0x05
    • 4bytes: (long) Channel2 S
  • Packet7
    • byte0: 0x06
    • 4bytes: (long) Channel3 S
  • Packet8
    • byte0: 0x07
    • 4bytes: (long) Channel1 Ueff
  • Packet9
    • byte0: 0x08
    • 4bytes: (long) Channel2 Ueff
  • Packet10
    • byte0: 0x09
    • 4bytes: (long) Channel3 Ueff
  • Packet11
    • byte0: 0x0a
    • 4bytes: (long) Channel1 Ieff
  • Packet12
    • byte0: 0x0b
    • 4bytes: (long) Channel2 Ieff
  • Packet13
    • byte0: 0x0c
    • 4bytes: (long) Channel3 Ieff

Messwerte

Spannungsteiler

  • P1: 100/0,4650
  • P2: 100/0,4647
  • P3: 100/0,4647

Strom-Shunt

  • P1: 32,9 Ohm
  • P2: 32,9 Ohm
  • P3: 32,9 Ohm

Stromkasten Vortragsraum Farbe der Phasen Labor

Strom:

  • L1: grün
  • L2: braun
  • L3: blau

Spannung:

  • L1: 7
  • L2: 8
  • L3: 9

Hilfreicher Link:

Ähnliche Projekte:

Verwandtes Projekt von dem man lernen kann:

Brauchbarer Schaltplan zur Strommessung über Shunt: (Seite 5)

Mathe:

Xmega zeug: