Raumzeigermodulation auf Tricore

Gast #883167
Lesenswert?

Hallo,

ich habe eine Raumzeigermodulation auf einem Tricore1796 programmiert 
(mit Dave und Tasking).
Prinzipiell funktioniert das auch, aber leider ignoriert der µC 
sporadisch Aus-und Einschaltbefehle, so dass hin und wieder Kurzschlüsse 
in der IGBTBrücke geschaltet werden.
Hat von Euch schonmal irgendwer sowas zum Laufen gebaracht oder weiß, ob 
man irgendwo so eine RZM für den Tricore als Beispiel bekommt?

viele Grüße
Jens
#910128
Lesenswert?

hallo

Hört sich interessant an. Betände vielleicht die möglichkeit das Konzept 
etwas genauer zu sehen zu bekommen. Plan gerade sowas ähnliches aber 
begehe damit eher "Technisches Neuland".

Ich muss zu geben die TRICORE Architektur ist mir nicht bekannt. Ich 
hätt das mit der PWM einfach über den Compare modus von den Timern 
gelöst oder wenn vorhanden PMW funktion.

mfg Patrick
Persönliche Seite #910251
Lesenswert?

Die meisten TriCore-Derivate haben Timer-Arrays, der TC1796 zB zwei 
globale Timer Arrays GPTA0/1 und ein lokales Timer Array LTCA, insgesamt 
glaub an die 96 Timer.

Mehrere solcher Timer eines Arrays können zusammengefasst werden, um 
komplexere Signale zu erzeugen, dazu gehört auch Mehrphasen-PWM.
D.h. in einem Timer des Arrays kann man auf das Ergebnis des 
vorhergehenden zurückgreifen und die Signale sukzessive durch AND, OR, 
Timer Start/End/Reset zusammenbasteln bis man die gewünschten 
Signalformen hat. Ist schon ne Zeit her, daß ich das gemacht hab. Code 
kann ich hier keinen posten.

Evtl. kann man mit DAvE was zusammenclicken um nen Anfang zu bekommen, 
aber der Code, den DAvE macht, ist für viele Sachen zu statisch. Auf 
lange Sicht fährst man mit handgemachtem Code besser, stabiler und 
wartbarer.

Function Units auf TriCore selbst zu proggen ist dennoch ne Ochsentour. 
Die Maschine ist mächtig, aber die Datenblätter sind grottenmies und die 
Errata Sheets meterdick.
#910257
Lesenswert?

An was erinnert mich nur an eine meterdicke Fehlerliste.

Außerdem wirds so sein wenn man sich in eine neue Architektur einliest 
und dann in die Praxis umsetzt kommts zu verdammt viel Problemen wie 
schon gesagt worden ist der Tricore ist verdammt mächtig. Wenn es ein 
günstiges Entwicklungsboard gibt ist er sicher mal das Ausprobieren 
wert. Aber im Internet hab ich so eins noch nicht gefunden.

Mir stellt sich grad die Frage braucht man echt einen Tricore für so ein 
Projekt bei nur 3 Phasen ?

Zu den 96 timern muss ich echt sagen WOW.
Persönliche Seite #910375
Lesenswert?

Beitrag "Tricore Einsteigerfragen"

http://www.infineon.com/cms/de/product/channel.html?channel=ff80808112ab681d0112ab6b55d607d9

Da sind auch Links auf Entwicklungsboards:

Ansonsten würd ich mal versuchen, Kontakt aufzunehmen mit potentiellen 
Lieferanten von Hardware (TriBoard, EasyRun, miniWiggler, UAD, ...), 
Compiler (GCC, zB von Tasking, HighTec), Debugger (PLS, ...). Das hast 
schon mal ein Gefühl was der Support taugt, ist ja nicht unwichtig.

Vorher würd ich aber überlegen, ob ein anderer µC nich besser geeignet 
bzw mit weniger Aufwand die Aufgabe zu lösen ist. Es ist wohl nicht NUR 
eine 3-Phasen-PWM, sondern ist bestimmt noch anderes Zeug zu erledigen, 
so daß sich vielleicht ein Echtzeit-OS rechnet: TCP/IP-Stack, NTFS, weiß 
der Teufel...

Für das EasyRun gibts ne Beispiel-Applikation mit 3-Phasen PWM für 
sensorlose BLDC, vielleicht passt das ja schon. Ticker einfach mal den 
Hersteller an.
#910378
Lesenswert?

Naja mein Professor würde sagen "so ein ATmega oder der alte 8051er ist 
auch genug"

Für den FU werd ich nen ARM7 oder was in die Richtung verwenden.

Gibts da auch etwas in Linux richtung weil du ja gesagt Echtzeit-OS
Denn dann hät ich schpn ein paar Ideen um die leistung auszunutzen.
#953879
Lesenswert?

Wo bekommt man so ein Entwicklungsboard für den Tricore am besten her ? 
Jetzt ist endgültig die die Wahl für den µC gefallen. Manche werden 
glauben ich schieß mit einem Schiffsmörser auf Spatzen, aber ich GLAUBE, 
dass ich die solche Leistung benötige. Naja das GPTA ist einfach nur 
genial für das!


Leider muss ich zugeben, es wird ein Neuanfang!

MFG Patrick
Gast #983894
Lesenswert?

Hallo,

bin grad vom Betreuer meiner Diplomarbeit drauf aufmeksam gemacht 
worden, dass es in diesem Fred noch weiter ging. Wenn man bei Google 
nach "Raumzeigermodulation" sucht, ist dieser Fred der erste Treffer.
Daher möchte ich kurz Rückmeldung geben.
Das ganze war eine Diplomarbeit mit der Aufgabe, eine Asynchronmaschine 
feldorientiert zu regeln. Dabei kann motorisch und generatorisch 
gefahren werden. Bei generatorischem Betrieb kann die Energie in das 
Netz eingespeist werden.
Mittlerweile funktioniert alles und die Arbeit wurde letzte Woche 
abgegeben.
Ich hab Code mit Dave erzeugt, um mit den Timern eine RZ-PWM zu steuern.
Diesen hab ich unter Tasking eingebunden und mit meiner Soft zusammen 
auf den Tricore überspielt.
Wenn die Arbeit bewertet ist, werde ich mal fragen, ob und in welchem 
Umfang ich weitere Infos herausgeben darf.

viele Grüße
Jens
Gast #984889
Lesenswert?

Hallo,

nein das Grundkonzept nicht. Möglicherweise das eine oder andere Detail, 
oder das was weiter draus wird. Um jeden Ärger zu vermeiden, lassen wir 
einfach jede Info, die den Lehrstuhl verlässt, über den Schreibtisch vom 
Prof laufen.

viele Grüße
Jens
#984913
Lesenswert?

Naja ich mach das so, dass diese Arbeit KOMPLET PRIVAT. Muss hald alles 
selber bezahlen dafür können mir meine Profs nicht reinpfuschen. 
Außerdem gewisse von ihnen meinen das so etwas einfach zu viel ist naja 
das kennt man dann besonders an ihrer begeisterung aber egal.

Ist es eigentlich erlaubt sich erkundigen mit welcher Frequenz du bei 
der PWM arbeitest und ein paar Tipps vielleicht bezüglich des µC's 
usw...

Hab das gleiche vor wie du nur hald mit 6 Phasen und Dahlandermotor.

MFG Patrick
Gast #986071
Lesenswert?

Hi,

meine PWM läuft auf 20 KHz. Der Tricore kann auch wesentlich mehr (da 
kann man dann z.B. lustige Dinge mit Funkuhren machen...;-)
Wenn es der Tricore sein soll, würd ich das wieder mit Dave und Tasking 
machen. Kannst ja vorher mal beim Hersteller fragen, ob der was fertiges 
hat, aber 6-phasige Motoren sind ja nicht so der Standart.
Unter Dave die Timerzellen so verschalten, dass immer 2 folgende Zellen
einen Pin schalten. Dann ist immer ein einem Register der 
Einschaltzeitpunkt, in einem anderen der Ausschaltzeitpunkt. So hast Du 
denn erstmal ein festes Tastverhältnis. In dem C-Code werden die 
Register dann mit durch Sinus- und Cosinusfunktionen berechneten Werten 
überschrieben.
Würde das dann erstmal einphasig machen und dann erweitern.

viele Grüße
Jens
#986093
Lesenswert?

Ich nehm auch keinen direkten 6 Phasenmotor sondern nehm einen 
Dahlandermotor und schalte die 6Phasen in Secheck. Dann wird das mit den 
Quadranten für die Vektoren schon etwas aufwendig. Achja wenn ich 
pfusche bei den Halbbrücken werd ich wohl auch einiges Stören aber das 
ist ne nebensache gg.

Werd wohl vom 8051 er auf den Tricore umsteigen müssen. Jetzt kämpf ich 
noch mit der Steuersoftware und Hardware. Hast du die 
Sinus-/Cosinuswerte immer wieder berechnet oder eine Tabelle benutzt ?
Fallst sonst noch irgendwelche Tipps zum Tricore hast ich würd mich über 
jede Hilfe freuen die ich bekomme. Das Projekt ist komplett Privat also 
der Fortschritt ist eher langsam muss ja noch zur Schule.

MFG Patrick

Wenn du von Funkuhren sprichst dann fällt mir die 5m Parabolschüssel ein 
auf dem Dach der HTL mit eier Sendeleistung von 160W die direkt auf den 
Mondgericgtet sind. echt cooles Teil gg
Angehängte Dateien:
Gast #987908
Lesenswert?

Hi,

warum nimmst Du keine Standart-Asynchrommaschine oder schaltest Deinen
Motor nicht einfach zu einem Dreiphasigen?
Hab Sinus-Cosinus-Funktionen verwendet. Der TC hat da genug Power.
Später als noch Regelungen usw. dazu kamen hab ich die dann Durch 
Tabellen
ersetzt.

Jens
#988600
Lesenswert?

Naja wie du das sagst klingt das einfach aber ich muss ne 
Clarke-Transformation machen um auf den Zeiger zu kommen. Das ist bei 3 
(6) Phasen nicht mehr so leicht.

Aja zu der Leistungserhöhung. Bei 6 Phasen fließt ja gleichzeitig mehr 
Strom in den Motor was die folge hat das das Magnetfeld stärker wird. 
Aber das mit der Sätigung usw muss ich ja dir ned erzählen.

MFG Patrick
Gast #988721
Lesenswert?

Hi,

nein, das brauchst Du nicht. Der Raumzeiger läuft mit konstanter 
Geschwindigkeit um. Entsprechend werden die Leistungsstufen angesteuert.
Zumindest ist das im gesteuerten Betrieb so und das sollte die Basis 
sein. Falls Du eine komplette Feldorientierte Regelung planst, brauchst 
Du mehrere Transformationen. Aber das sollte der übernächste Schritt 
sein.
Der mögliche Strom ist abhängig vom Drahtdurchmesser. Dabei ist es egal,
ob die Spulen zusammengeschaltet sind, oder jede ihre eigene 
Leistunggstufe hat.

Jens
#988731
Lesenswert?

Schön langsam erreich ich mit dem Vorhaben meine Grenzen denn 
Raumzeigermodulation und besonders der Tricore stehen nicht auf dem 
Stundenplan . Wenn ich an µC Programmieren denke was wir zur zeit machen 
dann kommt mir ein Schmunzeln "C-Crashkurs". Deswegen ist es auch 
Privat.

MFG Patrick
#988754
Lesenswert?

Patrick Weinberger wrote:
> Schön langsam erreich ich mit dem Vorhaben meine Grenzen denn
> Raumzeigermodulation und besonders der Tricore stehen nicht auf dem
> Stundenplan . Wenn ich an µC Programmieren denke was wir zur zeit machen
> dann kommt mir ein Schmunzeln "C-Crashkurs". Deswegen ist es auch
> Privat.

Hallo Patrick,

gleich in zwei Freds parallel zum gleichen Thema :-)
Ohne dich jetzt beleidigen oder kleinmachen zu wollen - ein kleiner 
Hinweis meinerseits:
Hol dir doch mal ein schönes Buch über Grundlagen der elektrischen 
Maschinen. Da wird der ganze Kram mit Raumzeigerdarstellung und 
Maschinengrößen ein bisschen ausführlicher und mit mehr background als 
hier im Forum erklärt. Wenn du spezielle Fragen irgenwo hast, kannst du 
ja gerne nachhaken, aber dieses doch relativ komplexe Thema alles nur zu 
"ergoooogeln" und zu erfragen halte ich für etwas uneffektiv...

Ein Literaturvorschlag wäre beispielsweise "Elektrische Antriebe - 
Grundlagen" von Schröder

Schalte doch - gerade wenn es ein privates Projekt ist - erstmal einen 
Gang zurück. Hol dir erst mal einen kleineren Controller und 
programmiere deine Zeigermodulation erstmal für ein "ganz normales" 
3-phasen System. Die Thematik ist komplex genug um später aufzubohren 
;-)

Gleich mit einem Tricore und 6-phasen anzufangen ist schon etwas heftig 
für meinen Geschmack - gerade wenn die Theorie dahinter noch nicht so 
recht sitzt (wie es ja der Fall zu sein scheint).

Komplizierter kann man es immer machen, aber dazu muss die Basis 
stimmen!

Gruß
Christian
#1088475
Lesenswert?

Hallo Zusammen,

wir verwenden auch einen TC1796 für Antriebs-Systeme.
Dazu haben wir ein Multiprozessor-System aufgebaut, das wir auch gerne 
an Private Kunden verkaufen oder wenn man eine Zusammenarbeit erwarten 
kann, ein Rack auch gerne verleihen...

@ Patric,

Du hast Dir ja eine schöne Einstiegsarbeit gesucht, wie sieht diese im 
Moment aus?


Gruss an alle & schöne Weihnachten!


Frank Mayer

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