Frequenzumrichter / 3-Phasenbrücke
Motivation
Heutzutage gibt es für die verschiedensten Teilgebiete der Elektrotechnik bereits eine Vielzahl vorkonfigurierter, modularer und kostengünstiger Entwicklungsumgebungen, dank deren Verfügbarkeit ein Testsystem bzw. ein Prototyp für die unterschiedlichsten Anwendungen meist relativ schnell realisiert werden kann. Hierzu zählen beispielsweise Entwicklungsumgebungen aus folgenden Bereichen:
- Mikrocontroller ( STM, Microchip, Atmel, … )
- FPGAs und DSPs ( Altera, Xilinx, TI, Analog Devices, … )
- Motorsysteme ( Maxon Motors, Trinamic, Infineon, … )
- Mess- und Sensortechnik ( Analog Devices, Linear Technology, … )
Zielsetzung
Ziel dieses Projektes ist der Entwurf sowie die Fertigung einer möglichst universellen 3-Phasenbrücke. Im Vordergrund dieser Entwicklung sollen hierbei ein robustes Design, wie auch flexible Ansteuermöglichkeiten der Brücke stehen.
Stromsensoren
Zur Realisierung einer galvanisch getrennten Strommessung aller 3 Phasen wurden die Strom-Messwandler ACS770 (Allegro Micro Systems) ausgewahlt. Diese Sensoren basieren auf dem Halleffekt und sind pinkompatibel in den Messbereichen ± 50A, ± 100A, ± 150A und ± 200A verfügbar.
Die Wandler werden über 5V versorgt und stellen eine stromproportionale Spannung am Ausgang zur Verfügung.
Die Wandler werden über 5V versorgt und stellen eine stromproportionale Spannung am Ausgang zur Verfügung.
A/D-Wandler
Die von den Strom-Messwandlern gemessenen Phasenströme sollen von der Brücke digital an das zur Ansteuerung verwendete Zielsystem übertragen werden. Das Zielsystem kann diese Messwerte dann verwenden, um beispielsweise einen Stromregler (z.B. für feldorientierte Vektorregelung), eine Nulldurchgangserkennung (z.B. fur geberlose Ansteuerung) oder eine Überstromabschaltung zu implementieren. Hierfür ist es notwendig, min. zwei Phasenströme zeitgleich zu samplen. Der A/D-Wandler AD7866 (Analog Devices) ist für diese Aufgabe ideal geeignet:
Schaltplan
Layout
Software
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | int main(void) { SystemInit(); /* MCU initialisieren */ SystemCoreClockUpdate(); /* Kernfrequenz updaten */ delay_init(); /* Delay-Funktionen initialisieren */ ports_init(); /* Ports initialisieren */ init_sin_arr(); /* Sinusarray vorbereiten */ init_3_phase_pwm(); /* 3-Phasen-PWM initialisieren */ if (SysTick_Config(SystemCoreClock / 1000)) while (1); ad9850_init(); /* AD9850 initialisieren */ init_ext_int(); /* Externen Interrupt konfigurieren */ ad9850_set_freq( 10 * 360.0 ); while(1) { } } |
ไม่มีความคิดเห็น:
แสดงความคิดเห็น