3 phasenverschobene Signale mit AT90PWM3

Gast #3212596
Lesenswert?

Ich habe schon mit dem Tiny 861 gearbeitet, der kann 3 highspeed PWMs 
erzeugen, aber leider nicht phasenverschoben.

Ich gehe auch davon aus, daß es geht, aber bevor ich Stunden investiere 
und zum Schluß feststelle, daß es dann doch nicht geht...

Ich vermute, daß ich 3 Timer(Powerstage) gleichzeitig laufen lassen muß, 
die Frage bekomme ich die synchron, zumal die ja schneller Laufen als 
die CPU.
Gast #3212611
Lesenswert?

Die Timer sind zwar da, aber nicht symmetrisch. Ein aufgebohrter -2er. 
Ich wuerd das Teil als Kruecke bezeichnen. Nimm was Anderes, es gibt 
heut schon solche, die koennen auch noch eine programmierbare Totzeit. 
Leider nicht bei Atmel, bei Microchip.
#3212614
Lesenswert?

PWMler schrieb:
> Ich habe schon mit dem Tiny 861 gearbeitet, der kann 3 highspeed PWMs
> erzeugen, aber leider nicht phasenverschoben.

Was willst Du denn mit den Signalen steuern?

Der ATtiny861 hat einen PWM6 Mode, damit lassen sich Motoren ansteuern:
Figure 12-14. PWM6 Mode, Single-slope Operation, Timing Diagram

Es wird immer nur eine der 3 Wicklungen bestromt.
Die 3 Phasen sind also nicht überlappend, wie bei Drehstrom, sondern 
nacheinander.
Totzeit geht natürlich auch.
Gast #3212635
Lesenswert?

oh schrieb:
> Die Timer sind zwar da, aber nicht symmetrisch. Ein aufgebohrter -2er.

Verstehe ich richtig, dass es zwei symmetrische Timer gibt, die ich auch 
synchron bekomme?

Hast Du eine genaue Bezeichnung des PIC?

Peter Dannegger schrieb:
> Es wird immer nur eine der 3 Wicklungen bestromt.
> Die 3 Phasen sind also nicht überlappend, wie bei Drehstrom, sondern
> nacheinander.
> Totzeit geht natürlich auch.



Ich will 3 parallele Boost-Konverter damit betreiben, die Phasenlage ist 
dabei ist wegen dem Ripple wichtig.

d.h. die Phasen sind überlappend. Außerdem brauche ich den vollen Speed 
des Timers, um die Spulen klein zu halten.

Ich weiß, daß es dafür Ics gibt, aber die kann ich nicht verwenden.
#3212669
Lesenswert?

Da hast du wohl nicht sehr genau gelesen (aus dem AT90PWM3B datasheet):
- "All on chip PSC synchronization" (Kap 16.1 PSC Features)
- "The PSC can be chained and synchronized to provide a configuration 
to drive three half bridges." (Kap 16.2 PSC Overview).

'oh's Einwurf ist Murks: "Dead time control" (Kap. 16.1)
Gast #3212738
Lesenswert?

da wirst du bei den dsPics fündig. z.B.:

  dsPic33EP64MC502 3 PWM Paare 3.3V

ca. 1ns PWM Auflösung!!:

  dsPic30F202      4 PWM Paare 5V
  dsPic33FJ16GS502 4 PWM Paare 3.3V

alle 3 im 28DIP Gehäuse

Sowas wünsche ich mir beiden Cortexen. Gibts blos leider nicht.
Die einzelen PWM Kanäle lassen sich einfach in der Phase gegeneinander 
verschieben. Dazu ist kein Interrupt und keine Timersynchronisation 
nötig. Einfach das jeweilige PHASEX Register beschreiben und fertig.
Such bei AVR nicht weiter. Kostet nur Zeit.
Gast #3214394
Lesenswert?

PWMler schrieb:
> kann ich mit dem
> AT90pwm3 3 exact phasenverschobene PWM-signale erzeugen

ja!

bei mir läuft der PSC2 als Master und die beiden anderen PSC1 und PSC0 
synchron dazu. Die Ein- und Ausschaltzeitpunkte der drei Powerstage 
Controller werden dann jeweils über ihre eigenen Register festgelegt.

Die Initialisierung der drei PSCs sieht dann wie folgt aus:


// PSC 0 Konfiguration
PSOC0 |= (1 << POEN0A);
PCNF0 |= (1 << POP0) | (1 << PCLKSEL0) | 0;
PCTL0 |= (1 << PARUN0) | 0;


// PSC 1 Konfiguration
PSOC1 |= (1 << POEN1A);
PCNF1 |= (1 << POP1) | (1 << PCLKSEL1) | 0;
PCTL1 |= (1 << PARUN1) | 0;


// PSC 1 Konfiguration
PSOC2 |= (1 << POEN2A);
PCNF2 |= (1 << POP2) | (1 << PCLKSEL2) | 0;
PCTL2 |= (1 << PRUN2) | 0;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren