Powermeter: Unterschied zwischen den Versionen
Aus LaborWiki
Siro (Diskussion | Beiträge) K (+CAN protokoll) |
KKeine Bearbeitungszusammenfassung |
||
Zeile 18: | Zeile 18: | ||
== Status == | == Status == | ||
* | * Code | ||
* Layout gnd gnd_iso mit x2 / widerstand und Überspannungsschutz nach Spannungsteiler | |||
== Planung == | == Planung == |
Version vom 18. September 2011, 20:21 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
- Code
- Layout gnd gnd_iso mit x2 / widerstand und Überspannungsschutz nach Spannungsteiler
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 ?
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
- L1: grün
- L2: braun
- L3: blau
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