mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frequenzumrichter für einen 12Volt Asynchronmotor


Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Freunde,

Wie geht es euch?
Ich bin neu hier.
Bitte entschuldigt mich, dass ich so direkt bin.
Ich habe ein Problem, deshalb bitte, nein flehe euch um Rat.
Ich habe aus einem VW passat baujahr 2005 (Unfallauto) eine elektrische 
Servolenkung ausgebaut. Die habe ich wiederum auseinander gebaut, um an 
den 12Volt Drehstrom Asynchronmotor ranzukommen, was mir auch gelungen 
ist.
Nun will ich einen Frequenz Umrichter dafür bauen.

Ich denke, dass ich die nötigen Bauteile dazu habe:
3x FUJI 2MBI300S-120 400A IGBT
10x IR2110 IGBT/MOSFET treiber
1x Autobatterie
1x AVR-NET-IO Bausatz von Pollin
und die zu Betrieb erfordlichen Komponenten


Ich programmiere ausschließlich mit dem c-compiler von CodevisionAVR.
Nur weiß ich nicht, wie man Timer programmiert.
Kann mir jemand von Euch beim programmieren des ATmega32 
mikrocontroller's helfen.
Ich will die Frequenz und den Strangstrom über zwei seperate 
Potentiometer einstellen können.

ich wäre Euch für Eure Hilfe sehr zu Dank verpflichtet

schöne Grüße

Peter

: Verschoben durch Admin
Autor: seennoob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal hier

Frequenzumrichter mit Raumzeigermodulation

lg Patrick

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

vielen Dank für deine Antwort.
Aber wie übertrage ich das jetzt für codevisionAVR?

Danke im Voruas

schöne Grüße

Autor: Bernd Rüter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Drehstrom-Asynchronmotor ?

Oder ist es ein EC-Motor (BLDC) ?

Jedenfalls der Trick am Programmieren (in jeder Programmiersprache) ist:
Man versteht das Problem,
man versteht die Lösung,
man schreibt die Lösung in der Sprache des Compilers...

That's it !

Autor: GGaasstt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die 3 IGBTs kannst du gleich entsorgen. Oder als Briefbeschwerer nutzen. 
Oder mir schenken. Ähem.
Für 12 Volt sind die völlig ungeeignet, da etwa (bei niedrigen Strömen 
schon) 1 Volt dran abfallen; die Dinger werden entsprechend warm.  Für 
sowas verwendet man MosFETs. Naja, bei niedrigen Strömen kann man die 
wohl verwenden, Kühlkörper vorrausgesetzt. Aber der Wirkungsgrad ist 
mies.

Du brauchst letztlich eine Pulsweitenmodulation (PWM), das können die 
Timer vom Atmega32 schon. Wie, das steht im Datenblatt, hier im 
Tutorial, und so...

Das Pulsweitenverhältnis wird über eines der Register gesteuert; Da 
müssen dann eben die Spannungswerte rein, sinusförmig, etwa 120° 
phasenversetzt.

Gruß

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich befürchte an den IGBT wird mehr als 1V abfallen, bei nur 12V hat man 
nichts zu verschenken. Also FET einsetzen!

Wie hoch soll die maximale Frequenz sein? bzw. die maximale Drehzahl des 
Motors?


Axel

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an Alle,

vielen Dank für eure Antworten. Ehrlich gesagt habe ich nicht erwartet, 
dass mir so viele helfen werden:)

@Bernd Rüter
Ja, es ist ein Drehstrom-Asynchronmotor für 12Volt

@GGaasstt
Gibt es denn MOSFET's in grösseren bauformen als TO-247
ich hätte mir auch 6 IRFP2907 beschaffen können. Nur glaube ich nicht, 
dass die dünnen beinchen von der TO-247 Bauform überhaupt die angegeben 
201Amperen aushalten. Parallelschalten will ich auch nicht.


@Düsendieb
maximal 120Hz

danke im Voraus


schöne Grüße

Peter

Autor: MirkoB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
201 Ampere? Das sind überschlagsmäßig 2,4 kW... Ich nehme mal an, das 
das die obere Schmerzgrenze bei Vollast ist.

Da Du ihn bestimmt nur auf dem Tisch im Leerlauf betreiben willst (als 
Versuchsaufbau zum lernen), kann man da eine ganze Ecke tiefer rangehen.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@MirkoB

ne ne das ist nicht der Motor. Der zieht im Betrieb 160A.
Die 201A beziehen sich auf dem IRFP2907, welcher laut datenblatt diesen 
strom schalten kann. Was ich stark bezweifle.

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Gehäuse/die Bonddrähte halten Max 90A aus, aber ohne Last sollte der 
Motor bedeutend weniger ziehen.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Luk4s K.

also will da schon eine last dranhängen.

hmm scheinbar kann mir doch keiner bei der entwicklung eines Programms 
helfen.

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
... hmm scheinbar kann mir doch keiner bei der entwicklung eines 
Programms
helfen. ...

Guter Trick. Aber wirkt er auch?

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Martin

was für ein trick?
was meinst du?

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du noch das Originale Steuergerät? Schau dir doch mal an, wie der 
Leistungsteil dort gelöst wurde.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da komm ich nicht ran. Es ist nämlich in Kunststoff eingegossen.

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Gehäuse des (AU)IRF7739 hält 375A, der Chip bei optimalen 
Bedingungen 270A. Der Haken: Das DirectFet Gehäuse lässt sich schwer 
löten.
Die MOSFETs im D2PAK scheinen auch einiges auszuhalten...

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja wo bekommt man die kostengünstig.
Die IGBT's haben mich insgesamt 75€ gekostet.
ich will nicht mehr als 30€ für 6 stück ausgeben

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tipp: Um den MOSFET zu finden, den du suchst, frag mal die 
Parametrischen suchen der Hersteller und von Distributoren.

Autor: Das große 51er Anwendungsbuch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso kauft man für 75€ IGBTs (und dann noch 3 obwohl man 6 bräuchte), 
wenn man keinen blassen Schimmer davon hat?

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Das große 51er Anwendungsbuch

das sind Halbbrücken. daher 3 stück

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ist das ein guter ansatz?
nur einphasig

const int sinustabelle[] PROGMEM=
{
0x80,0x83,0x86,0x89,0x8c,0x8f,0x92,0x95,0x98,0x9c,0x9f,0xa2,0xa5,0xa8,0x 
ab,0xae,
0xb0,0xb3,0xb6,0xb9,0xbc,0xbf,0xc1,0xc4,0xc7,0xc9,0xcc,0xce,0xd1,0xd3,0x 
d5,0xd8,
0xda,0xdc,0xde,0xe0,0xe2,0xe4,0xe6,0xe8,0xea,0xec,0xed,0xef,0xf0,0xf2,0x 
f3,0xf5,
0xf6,0xf7,0xf8,0xf9,0xfa,0xfb,0xfc,0xfc,0xfd,0xfe,0xfe,0xff,0xff,0xff,0x 
ff,0xff,
0xff,0xff,0xff,0xff,0xff,0xff,0xfe,0xfe,0xfd,0xfc,0xfc,0xfb,0xfa,0xf9,0x 
f8,0xf7,
0xf6,0xf5,0xf3,0xf2,0xf0,0xef,0xed,0xec,0xea,0xe8,0xe6,0xe4,0xe2,0xe0,0x 
de,0xdc,
0xda,0xd8,0xd5,0xd3,0xd1,0xce,0xcc,0xc9,0xc7,0xc4,0xc1,0xbf,0xbc,0xb9,0x 
b6,0xb3,
0xb0,0xae,0xab,0xa8,0xa5,0xa2,0x9f,0x9c,0x98,0x95,0x92,0x8f,0x8c,0x89,0x 
86,0x83,
0x80,0x7c,0x79,0x76,0x73,0x70,0x6d,0x6a,0x67,0x63,0x60,0x5d,0x5a,0x57,0x 
54,0x51,
0x4f,0x4c,0x49,0x46,0x43,0x40,0x3e,0x3b,0x38,0x36,0x33,0x31,0x2e,0x2c,0x 
2a,0x27,
0x25,0x23,0x21,0x1f,0x1d,0x1b,0x19,0x17,0x15,0x13,0x12,0x10,0x0f,0x0d,0x 
0c,0x0a,
0x09,0x08,0x07,0x06,0x05,0x04,0x03,0x03,0x02,0x01,0x01,0x00,0x00,0x00,0x 
00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x05,0x06,0x 
07,0x08,
0x09,0x0a,0x0c,0x0d,0x0f,0x10,0x12,0x13,0x15,0x17,0x19,0x1b,0x1d,0x1f,0x 
21,0x23,
0x25,0x27,0x2a,0x2c,0x2e,0x31,0x33,0x36,0x38,0x3b,0x3e,0x40,0x43,0x46,0x 
49,0x4c,
0x4f,0x51,0x54,0x57,0x5a,0x5d,0x60,0x63,0x67,0x6a,0x6d,0x70,0x73,0x76,0x 
79,0x7c
};

unsigned int i=0;
ISR(TIMER1_COMPA_vect){
  OCR1A=pgm_read_byte(&sinustabelle[i]);
   i++;
  }
int main(void) {

DDRD=0x00;
PORTD=0xFF;
DDRB=0xFF;
OCR1A=80;
TCCR1A=0x91;
TCCR1B=0x01;
TIMSK=0x10;

sei();
    while (1) {
    }
}

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ah langsam verstehe ich.
könnt ihr mir noch sagen wie man 3 unabhängige pwm ausgänge deklariert?

Autor: MaWin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ist das ein guter ansatz?

Nein.


Eher so was:

http://www.tinaja.com/glib/msintro1.pdf

Autor: GGaasstt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"i" muss ab einem bestimmten Wert wieder von vorne anfangen.

Der 16bit-Timer kann zwei weitere PWM-Ausgänge bereitstellen.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@GGaasstt

und wie mache ich das am besten in codevision?

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich gebs auf!

Autor: GGaasstt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Motivation muss ja ganz beachtlich sein.

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Stalin schrieb:
> Ich gebs auf!

Nein, nicht doch.
Die Unterschiede zwischen Codevision und GCC sind auch nicht so immens 
und GCC kannst du auch kostenlos beziehen.
Für den Leistungsteil musst du nur geeignete Mosfets finden, dabei 
helfen dir die parametrischen Suchmaschinen der Hersteller / Distris 
weiter.
Wo ist das Problem?

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das muss doch mit IGBT klappen.

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Stalin schrieb:
> das muss doch mit IGBT klappen.

IGBTs sind bescheuert anzusteuern s. diesbezüglich 
Beitrag "Re: BLDC, Synchronmaschine, Drehfeld Experimentierschaltung" ff.

Des weiteren haben IGBTs wenn eingeschaltet einen Spannungsabfall von 
ca. 2V
Das macht bei 150A 300W, nicht wirklich sinnvoll
zum Vergleich ein 1mOhm Mosfet: 22.5 Watt

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
egal.
weiß keiner von euch wie man PWM in CodevisionAVR prorgammiert?

wie bestimme ich die frequenz über ICR1H=0x00 und ICR1L=0x00?
über OCR1A lege ich doch pulsbreite fest, oder?
Und wie übergebe das PWM-Signal einem PORT Pin?

danke

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das AVR-GCC-Tutorial lässt sich mit ein wenig Verstand auch auf 
Codevision übertragen. Falls nicht, lade dir eben wie bereits gesagt 
AVR-GCC (WinAVR) runter.
Das Forum ist nicht da, um Grundlagen zum n+1 mal zu vermitteln.
Zuerst würde ich allerdings den Leistungsteil zu laufen bekommen.

Autor: Düsendieb (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was hast Du gegen mein Programm von hier:


seennoob schrieb:
> Schau mal hier
>
>
>
> Frequenzumrichter mit Raumzeigermodulation
>
>
>
> lg Patrick

Axel

Autor: Lukas K. (carrotindustries)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist für GCC und nicht für sein geliebtes Codevision...
Warum verwenden eigentlich manche kommerzielle C Compiler, wenn GCC 
eigentlich schon sehr komfortabel ist (Wer ne IDE braucht, kann Eclipse 
nehmen...)

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,


Luk4s K. schrieb:
> Das AVR-GCC-Tutorial lässt sich mit ein wenig Verstand auch auf
> Codevision übertragen. Falls nicht, lade dir eben wie bereits gesagt
> AVR-GCC (WinAVR) runter.
> Das Forum ist nicht da, um Grundlagen zum n+1 mal zu vermitteln.
> Zuerst würde ich allerdings den Leistungsteil zu laufen bekommen.

Wenn das deine Art ist Neulinge so willkommen zu heißen, empfinde ich 
tiefstes Mitleid für dich.


nichtsdestotrotz würd ich mich sehr freuen, wenn Ihr mir ein Tutorium 
für CodevisionAVR C empfehlen könntet.


schöne Grüße

Autor: Barny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für CodeVision brauchst du kein eigenes Tutorial.
C ist C. Egal ob nun von bei CodeVision oder AVR-GCC.

Der einzige Unterschied sind diverse Makros und spezielle Funktionen.
Die kann man aber leicht ändern, da sich normalerweise nur die 
Bezeichnung leicht ändert.
Erstelle einfach ein CodeVision Projekt und füge die Dateien des AVR-GCC 
Projektes ein.
Nach dem Compilieren wird es zwar ein paar Fehler geben, aber dir wird 
ja genau gesagt was nicht verstanden wird und geändert werden muss.
(Du solltest aber zuerst einmal die Includes für Prozessor,... 
einfügen.)

Ein kleiner Tipp zum Schluss:
Lese dir bitte die Antworten durch die dir gegeben werden.
Denn deine Antworten könnten von so manchen als Beratungsresistenz 
ausgelegt werden.

Autor: Honkmichi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal ne andere Frage zwischendurch, was hat so ein Motor aus der 
Servolenkung für eine Leistung? Ihr sprecht da von ~160A das scheint 
viel Leistung zu sein.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Honkmichi

Der Motor hat etwa 1700Watt. Ich kann gerne ein paar davon machen, wenn 
Ihr wollt.

@Barny

Das habe ich schon probiert. So sachen wie SIGNAL(SIG_OVERFLOW0) oder 
dem TCCR1A und TCCR1B  kennt der CodevisionAVR nicht .

Barny schrieb:
> Ein kleiner Tipp zum Schluss:
> Lese dir bitte die Antworten durch die dir gegeben werden.
> Denn deine Antworten könnten von so manchen als Beratungsresistenz
> ausgelegt werden.

irgendwie werde ich dieses Gefühl nicht los, dass hier Ressentiments 
gegen mich gehegt werden. Liegt das an meinem Namen?

Autor: Peter Stalin (itanium-ia64)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,



ich habe mal was zusammen geschnipselt.
Aber der CodevisionAVR gibt mir eine Warnung aus.

Warning: C:\Users\Stalin\Documents\PWM.c(43): overflow is possible in 16 
bit addition, casting to 'long' may be required



Das Programm läuft auch nicht wirklich ab.


sollte ich vielleicht eine Sinus-Tabelle verwenden?


schöne Grüße

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Warning: C:\Users\Stalin\Documents\PWM.c(43): overflow is possible in 16
>bit addition, casting to 'long' may be required

Dein Problem ist die englische Sprache?

"Überlauf ist möglich in 16 bit Addition, ein casting auf long könnte 
benötigt werden." (Deutsches Wort für casting?)

Evtl bringt ein Casting auf long die Lösung, damit es keinen Überlauf 
gibt?

Zu den Mosfets/ IGBTs
Du brauchst bei einem Lenkservomotor RICHTIG Fette Mosfets.
Etweder Semikron Einzelmosfets 
http://www.semikron.com/products/data/cur/assets/S...

Ich hatte letztens MOSFET Module 250N06(? genauen Typ vergessen) im 
ISOTOP Gehäuse in der Hand. Oben mit vier M5 Schrauben. Soetwas geht 
dafür.
Vergleichbar: http://www.st.com/stonline/products/literature/ds/6872.pdf

Ich würde mich jedoch erstmal im Freundeskreis umhören, ob jemand eine 
ordentliche Ratschencrimpzange hat, um die 10mm² Kabelschuhe zu 
verarbeiten.

Womit willst Du anfangen, mit der Software oder mit der Hardware?

zur Software kann ich leider nicht viel beitragen, da ich nur 
Hobbyprogrammierer bin.

Gruß Axelr.

PS: dem Tip, mal im KFZ nachzusehen, wie dort dieser Motor angesteuert 
wird, würde ich nachgehen

Autor: Axel R. (axelr) Flattr this
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich kenne jetzt deinen Lenkmotor nicht und weis auch nicht, aus welchem 
Auto der ist. Aber die komplette Elektronik steckt da schon drinn.
Je nach Anbauort spricht der Bosch Fachmann von Strömen zwischen 48 und 
80 Ampere gesamt.
Also den Lenkmotor ausm Opel, den ich mir ansah, war ein Stinknormaler, 
wenn auch kräftiger 12Volt-Bürsten-Motor. Mit soviel Drehmoment, das es 
die Welle abgeschoren hatte. Das ganze war auf nem KettCar 
verbaut(verbastelt eher).

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Axel,


vielen Dank für deine schnelle Antwort.
Leider hat das Long auch nicht funktioniert:(

Hätte ich das mit den MOSFET im ISOTOP Gehäuse gewusst, hätte ich mir 
welche geholt.
Jetzt habe ich schon IGBT's, die 300A schalten können.
Ich habe auch schon durch die IGBT's 240A bei 12V mit Hilfe einer 
Autobatterie fließen lassen. Die IGBT's wurden dabei nicht sonderlich 
warm, höchstens handwarm.


>>PS: dem Tip, mal im KFZ nachzusehen, wie dort dieser Motor angesteuert
>>wird, würde ich nachgehen

Nun ja, es ist ein Drehstromasynchronmmotor für 12Volt, welcher 2 Spulen 
Paare hat.


Danke

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Axel,


>>Ich kenne jetzt deinen Lenkmotor nicht und weis auch nicht, aus welchem
>>Auto der ist. Aber die komplette Elektronik steckt da schon drinn.
>>Je nach Anbauort spricht der Bosch Fachmann von Strömen zwischen 48 und
>>80 Ampere gesamt.
>>Also den Lenkmotor ausm Opel, den ich mir ansah, war ein Stinknormaler,
>>wenn auch kräftiger 12Volt-Bürsten-Motor. Mit soviel Drehmoment, das es
>>die Welle abgeschoren hatte. Das ganze war auf nem KettCar
>>verbaut(verbastelt eher).


Der Lenkmotor stammt aus einem VW Passat baujahr 2005. Der Lenkmotor 
zwar auch Bosch, aber alles andere als ein Bürstenmotor.
Ich mach mal ein paar Bilder.

Bis gleich

Autor: Peter Stalin (itanium-ia64)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So hier die Bilder

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mach mal Fotos, bin gespannt.

Nebenbei: Infineon verbaut (nachweislich) den IPB180N04 in der 
Leistungsendstufe bei den elektrischen Lenkunterstützungen. Es muss also 
kein ISOTOP sein, wie es aussieht.


Ich hoffe, der komische Link funktioniert;)

http://de.sitestat.com/infineon/infineon/s?infineo...

Mit dem IGBT allerdings bleibt ordentlich Leistung im Modul hängen. Ich 
hatte mal eine Übersicht (Excel-Tabelle) erstellt, ab wann es sich 
lohnt, von Mosfet auf IGBT zu gehen.
Beitrag "Re: vernünftige IGBT Ansteuerung?"
Letztendes habe ich auch einen 300A-IGBT genommen. waren aber auch 
120Volt. Da kam es auf Ein-zwei Volt nicht so an.

Autor: Peter Diener (pdiener) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann mir nicht vorstellen, dass die aufwändigen Berechnungen in dem 
oben gezeigten Quellcode in Echtzeit auf einem AVR schnell genug sind.

Alle Space-Vector-PWM Lösungen für den AVR, die ich kenne, arbeiten mit 
Sinustabellen.

Außerdem ist das Programm außerordentlich unübersichtlich, was neben den 
vielen Variablen ohne sinnvollem Namen (w, i, j, x, tril) besonders 
daran liegt, dass nichts kommentiert ist.

Ich würde nicht versuchen, diesen Quellcode weiterzunutzen.

Stattdessen würde ich einen funktionierenden Ansatz verwenden.
Entweder einen der oben beschriebenen oder einen von Atmel auf den 
ATmega32 portieren:
http://www.atmel.com/dyn/resources/prod_documents/...

Im Prinzip unterscheidet sich die Syntax von CodevisionAVR nicht groß 
vom avrgcc, somit funktionieren alle Beispiele aus dem Datenblatt schon 
mit ganz kleinen Änderungen. Im Datenblatt ist die Funktion von allen 
Hardwaremodulen, also auch von den PWM-Einheiten der Timer genau und 
teilweise sogar mit Codebeispiel beschrieben.

Grüße,

Peter

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,


danke für den Hinweis.

Ich habe mal code beispiele runtergeladen, aber irgendwie verstehe das 
ganze nicht. ich bin zu dumm dafür.




schöne Grüße

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn man sich den Code eines der um Umlauf befindlichen DIY 
Brushlessregler schnappt, und die dort anzutreffende Blockkommutation 
antestet? Das sollte doch ähnlich laufen, oder?

Ich denke ja immer noch, das es eine 3Phasen Synchron Maschine ist.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Axel,


das mit dem Brushlessregler habe ich nicht probiert. sollte ich 
vielleicht mal machen. Aber ich bin mir absolut sicher,dass es sich 
hierbei um einen Asynchronmotor handelt. Der Motor hat kein Rastmoment 
und keine Schleifringe.
Danke

schöne Grüße

Peter



PS: weißt du wo man diese IPB180N04 kostengünstig herbekommt?

Autor: ... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Stalin schrieb:
> Der Motor hat kein Rastmoment

Muss auch bei einem BLDC-Motor nicht unbedingt sein.
Ansonsten schau dich doch mal hier um:
http://www.mikrokopter.de/ucwiki/BrushlessCtrl

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Stalin schrieb:
> PS: weißt du wo man diese IPB180N04 kostengünstig herbekommt?

Den nicht, aber den hier:
http://de.farnell.com/international-rectifier/auir...

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
geil danke!

der kann wirklich auch die 240A?

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TC = 25°

Wenn Du den Siliziumchip auf 25 Grad Celsius halten kannst, ja - dann 
gehen 230A.
Ich kanns nicht...

Hier brauchst Du sicher 4 Stück parallel auf der Platine und von 
weidmüller die guten Platinenabgriffe zum Schrauben. Da ist alles nicht 
so einfach.
Aber - ich will nichts und niemanden aufhalten ;)

LXBL 15.00/1/90 oder die Nuller LXBL 15.00/0/90

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kommst sicher mit einem MOSFET-Pärchen pro Strang hin.
Also wenn Du Dir 6 Stück bestellst und die vernünftig auf die Platine 
bringst, sollte der Motor schon in Bewegung zu setzen sein. Bin ich mir 
ganz sicher. Der Strom teilt sich ja auch noch auf die drei Phasen auf. 
Das wird schon gehen.
Es ist aber eben recht anspruchsvoll.
Betselle Dir gleich ein paar richtige dicke Elkos, mit denen Du 
unmittelbar auf die Platine dicht bei den Mofets die Betriebsspannung 
abblockst. auch ruhig ein paar Folienkondensatoren it rauf aufs Board.

Viel Erfolg und Spaß
Axelr.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Axel, du bist der Beste! :)

Dann werde ich mir mal 12 stück, nur zur sicherheit;)
Und die kann ich auch mit dem IR2110 IGBT/MOSFET treiber ansteuern?
Ich habe eine Schaltung nach dem Datenblatt entworfen, aber irgendwie 
funktioniert Sie nicht:(

Noch was zum Motor: 
http://rb-kwin.bosch.com/at/de/leistungverbrauchem...


schöne Grüße

Autor: Peter Stalin (itanium-ia64)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier der Schaltplan

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir da jemand mit der schaltung helfen?

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Stalin schrieb:

> Ich habe eine Schaltung nach dem Datenblatt entworfen, aber irgendwie
> funktioniert Sie nicht:(
>
> schöne Grüße

Hatte ich überlesen, das es nicht funktioniert - sorry.
WAS genau geht denn nicht?
Auf den ersten Blick sehe ich in deiner Schaltung einen 100µF-Elko...

Muss der so groß sein? Bau mal hier testweise einen anderen rein. 
Etweder einen Tantal oder einen keramischen Kondensator. 100µF muss der 
nicht haben. Wichtiger ist hoher Rippelstrom, den er abkönnen muss.

Autor: Peter Stalin (itanium-ia64)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun ja, ich will ja mit niedrigen frequenzen arbeiten, daher die 100µF. 
dieser Kondensator ist für das Gate des High-Side Transistors.


ich habe es auch mit 1µF probiert, hat nicht geklappt:(

Autor: Axel R. (axelr) Flattr this
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>hat nicht geklappt:(

Tut mir leid, das ist keine Aussgae, auf der ich (oder gern auch andere 
hier im Forum) eine Fehleranalyse betreiben oder Hilfestellung geben 
können.

Schaltung, Foto vom Gesamtaufbau usw. brauchen wir.
Hast Du einen Kurzschluss auf der Halbbrücke, steuert der "obere" 
Transistor nicht durch, der "untere", oder werden beide nicht 
angesteuert?

Sind die Masseanschlüsse von Controller und Treiberbaugruppe verbunden?
Mit welcher Software läuft dein Aufbau?

Kannst Due die Gatespannungen messen? Hast Du ein Oszilloskop?

Viele Grüße
Axelr.

Autor: Max Max (max_m1)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Leute,

inzwischen ist ja etwas Zeit vergangen. Ist es jemanden gelungen so 
einen Motor zum laufen zu bekommen?

Ich hab fast den Baugleichen Asynchronmotor aus einer Lenkung und möchte 
den Motor gerne zum Laufen bringen.

Im Anhang ein paar Bilder (leider waren die Bauteile mit einem Gehäuse 
verklebt welches ich erst mittels Lötkolben wegschmelzen musste)

mfg

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.