Powermeter: Unterschied zwischen den Versionen
Aus LaborWiki
Keine Bearbeitungszusammenfassung |
Siro (Diskussion | Beiträge) K (code status) |
||
Zeile 19: | Zeile 19: | ||
== Status == | == Status == | ||
* | * (optional) Codeoptimierungen | ||
* Layout gnd gnd_iso mit x2 / widerstand und Überspannungsschutz nach Spannungsteiler | * Layout gnd gnd_iso mit x2 / widerstand und Überspannungsschutz nach Spannungsteiler | ||
* Kalibirierung | * Kalibirierung | ||
* | * (optional) DMA für memcpy & memset | ||
* (optional) feste samplewerte (vielfaches von 2) ?? | |||
* feste samplewerte (vielfaches von 2) ?? | * (optional) sqrt asm routine ?? | ||
* sqrt asm routine ?? | |||
== Planung == | == Planung == |
Version vom 3. Oktober 2011, 21:01 Uhr
Powermeter Release status: beta [box doku] | |
---|---|
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
- (optional) Codeoptimierungen
- Layout gnd gnd_iso mit x2 / widerstand und Überspannungsschutz nach Spannungsteiler
- Kalibirierung
- (optional) DMA für memcpy & memset
- (optional) feste samplewerte (vielfaches von 2) ??
- (optional) 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
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 ?
Gehäuse Pinbelegung
Pin
- 2 - 5 CAN
- 10 L1
- 11 L2
- 12 L3
- 13 N
- 18 - 21 StromWandler Labor
- 22 - 25 StromWandler Tankstelle
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 - L3 Spannungsteiler
- PA3 - L2 Spannungsteiler
- PA4 - L1 Spannungsteiler
PB / ADC2 - Strom
- PB0 - Nullpunkt
- PB1 - Nullpunkt
- PB2 - x Stromwandler
- PB3 - L2 Stromwandler
- PB4 - x Stromwandler
- PB5 - L1 Stromwandler
- PB6 - L3 Stromwandler
- PB7 - x Stromwandler
CAN - MCP2515
- PD1 - INT
- PD2 - CLK
- PD4 - cs
- PD5 - mosi
- PD6 - miso
- PD7 - sck
RGB-LED common Anode
- PC0 - BLUE
- PC1 - GREEN
- PC2 - RED
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 blinkend - Fehler (Bufferoverflow ?)
Software
- configure powemeter_driver using Eventsystem
- ... -> Timer1 -> ADCA & ADCB -> DMA -> SRAM -> DMAInterrupt -> Timer1 -> ...
- main()
- check can_handler
- wait for ADC_data_ready
- calculate RAW power
- error led blink
Die Softare liefert RAW-Werte:
Die Spannung muss mit 0,1732177734375 = (1,65*215)/2048 multipliziert werden, um die Spannung in V zu berechnen. Der Strom muss mit 0,0147964015151515 = 1000/(33*2048) multipliziert werden, um den Strom in A zu berechnen. Die Leistung mit dementsprechend mit 0,0025629997253418 = (1,65*215*1000)/(33*2048*2048) multipliziert werden, um die Leistung in VA zu bekommen.
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 (Pin 3 8P8)
- L2: braun (Pin 1 8P8)
- L3: blau (Pin 5 8P8)
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:
- http://de.wikipedia.org/wiki/Wirkleistung#Drehstromnetz
- http://de.wikipedia.org/wiki/Blindleistung#Drehstromnetz
- http://www.zabex.de/frames/wirkleistung.html
- http://openenergymonitor.org/emon/node/59
Xmega zeug:
- http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=650685&sid=71172b31999915f30ac06da374c7a479#650685
- http://www.fourwalledcubicle.com/LUFA.php
- http://fourwalledcubicle.com/blog/archives/486
- http://de.farnell.com/atmel/at90usb162-16au/avr-usb-mcu-16k-flash-smd-tqfp32/dp/1455073
- http://www.elektronik-projekt.de/thread.php?threadid=6215