Wenns irgend geht, würde ich gerne was Fertiges nehmen.
Gibts passende fertige Frequenzumrichter für einen GMCC DA110S1C-30FZ
BLDC ca.1500W max?
Gibts fertige einfach einzusetzende chips für die Ansteuerung des
stk621?
Gibts fertigen verständlichen code?
Ein 1500W BLDC? Hat der Motor denn keine Sensoren? Und mit den paar
Stufen in deiner Sinustabelle kommt da nie im Leben was anständiges
raus. Wenn du einen Mega328 benutzt, dann schau dir mal die AVR444 für
sensorlose BLDC an oder die AVR447 für Motoren mit Sensoren (letztere
macht auch gleich Sinusmodulation).
Wenn du nur Blockkommutation brauchst, ist es übrigens viel einfacher,
die OC PWM einfach aktiv zu lassen und nur das Ausgangsmuster über DDR
Masken weiterzuschalten. Das ist dann eine Tabelle mit 6 Schritten für
die 6 Sektoren des Motors.
grundschüler schrieb:> GMCC DA110S1C-30FZ
Darunter finde ich nur irgendeinen komischen Lüftermotor.
Matthias S. schrieb:> Darunter finde ich nur irgendeinen komischen Lüftermotor.
Danke erstmal für dein Interessre. Ich kenne natürlich dein FU-Projekt
und AN AVR447, auf die du verweist.
Die Tabellenwerte habe ich aus AN AVR447 ausgemessen. 24 Steps, um
erstmal zu sehen, ob es mit dem m328 prinzipiell funktioniert. Das ist
der erste Code-Entwurf. Die Anzahl der Steps kann sicher noch erhöht
werden, wenn die Rechenleistung des m328 es hergibt. Um die
Rechenleistung in der ISR zu reduzieren, werde ich für jede Halbbrücke
eine eigene sinetable anlegen. Bestellt habe ich bereits den m328pb,
der hat zwei zusätzliche Timer, so dass ein separater Timer fürs
Hauptprogramm zur Verfügung steht.
Aussagen zum Motor findet man z.B. hier:
http://www.areacooling.de/produkt/vollhermetischer-rollkolbenverdichter-gmcc/da110s1c-30fz
Er hat nur drei Anschlüsse, ist also sensorless.
grundschüler schrieb:> Aussagen zum Motor findet man z.B. hier:> http://www.areacooling.de/produkt/vollhermetischer-rollkolbenverdichter-gmcc/da110s1c-30fz
Da finde ich aber einen 1-phasigen 3,3 kW Motor.
> 24 Steps, um> erstmal zu sehen, ob es mit dem m328 prinzipiell funktioniert.
Das ist unnötig, denn sowohl AVR447 als auch der 3-Phasenumrichter
zeigen ja, das es geht. Ich will dir den Spass ja nicht nehmen, das Rad
neu zu erfinden, aber im Allgemeinen kommt man schneller zum Ziel, wenn
man schon was fertiges nimmt und darauf aufbaut. In deinem Fall wäre das
die Konstruktion einer Mörder-Endstufe, um deinen Motor anzusteuern.
Matthias S. schrieb:> Da finde ich aber einen 1-phasigen 3,3 kW Motor.
In den Details:
Motorart DC Inverter
3,3kW ist die Kälteleistung bei 846Watt elektrischer Aufnahme bei
bestimmten Randbedingungen. Das Teil hat drei Anschlüsse und wird
mittels STK621/Inverter angesteuert. Es ist ein BLDC-Kompressor, der in
vielen Inverter-Klimaanlagen eingebaut wird.
>Ich will dir den Spass ja nicht nehmen...
Ich will das Rad nicht neu erfinden und soweit möglich auf Vorhandenes
zurückgreifen. Die Mörder-Endstufe ist mit dem stk621 ja bereits fertig
vorhanden.
Es fehlt halt nur die logiclevel-Ansteuerung der 6 Halbbrücken. Das
code-example zu AVR447 scheint nur eine Blockkommutierung und keine
pwm-Ansteuerung zu enthalten. Ich werde mir dein FU-Projekt aber auch
nochmal daraufhin ansehen, ob man die sinetable für einen BLDC abänder
kann. Wahrscheinlich ist dann aber die Entwicklung eines eigenen
BLDC-Programms einfacher, zumal ich den m328pb verwenden kann.
grundschüler schrieb:> Das> code-example zu AVR447 scheint nur eine Blockkommutierung
Aber keineswegs. AVR447 startet einen Sensor-BLDC zwar im Blockmodus,
schaltet aber dann auf Sinus um. Der Titel lautet:
> AVR447: Sinusoidal driving of three-phase> permanent magnet motor using> ATmega48/88/168
Welche Form hat die induzierte Spannung? Sinus ist nicht immer das
Mittel der Wahl. Bei dem was man üblicherweise BLDC nennt ist es
richtig gehend falsch. Blockkommutierung FTW.
* Updates the output compare registers of the timer 0 and timer 2 which
8
* control the duty cycle of the PWM output and thereby the speed of the
9
* motor. The method used ensures that that all PWM channels are behaving
10
* same duty cycle.
11
*
12
* \param speed Compare match value that defines PWM duty cycle.
13
*
14
* \return void
15
*/
16
staticvoidSet_Speed(unsignedcharspeed)
17
{
18
TIFR0=TIFR0;// Clear TC0 interrupt flags
19
while(!(TIFR0&(1<<TOV0)));// Wait for TOV to ensure that all registers are
20
// updated in the same timer cycle
21
__disable_interrupt();
22
OCR0A=speed;// Change the duty cycle
23
OCR0B=speed;
24
OCR2B=speed;
25
__enable_interrupt();
26
}
Ich finde in dem code weder Sinustable noch Sinusberechnung. Außerdem
habe ich weder Hallsensoren noch shunt, also sensorless. Wenn ich den
code nicht verstehe - bin kein Informatiker - schreib ich ihn lieber
vereinfacht selbst.
karl schrieb:> Welche Form hat die induzierte Spannung?> Bei dem was man üblicherweise BLDC nennt ist Sinus richtig gehend> falsch.
Oh je, wenn ich das wüsste. Das Datenblatt stk621 gibt zur Ansteuerung
nicht viel her. Ich warte noch auf ein 15V Steckernetzteil für die
Versorgung des stk621, wenn ich das habe, werde ich Sinus und Block mit
20Hz einfach mal ausprobieren. Lässt sich in der sinetable ja leicht
ändern.
Am besten wär wohl ein fertiger -passender- BLDC-FU. Wäre für
Empfehlungen dankbar.