Frequenzumrichter für einen 12Volt Asynchronmotor

#1747936
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
Gast #1749269
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 !
Gast #1749277
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ß
Gast #1749391
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
#1750138
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
Gast #1750154
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.
#1750288
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) {
    }
}
#1773670
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
Gast #1773911
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.
#1774251
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?
#1793759
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
Angehängte Dateien:
Gast #1793875
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/SKM_111_AR_21911400.pdf

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
Gast #1793899
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).
Angehängte Dateien:
#1793904
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
#1793912
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
Gast #1793929
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?infineon.Products.Discretes___Standard_Products.MOSFETs.Automotive_MOSFETs.Single__N-Channel_40V_MOSFETs.DATASHEET.IPB180N04S3-02_DS_1_0.pdf&ns_type=pdf&ns_url=http://www.infineon.com/dgdl/IPB180N04S3-02_DS_1_0.pdf?folderId=db3a304412b407950112b42b75b74520&fileId=db3a304412b407950112b42ba6cf45ab

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.
Persönliche Seite #1794073
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/doc7546.pdf

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
Gast #1795147
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.
#1795866
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?
Gast #1797513
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
Gast #1797537
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.
Gast #1802038
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.
Gast #1802419
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.
#4680411
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
Angehängte Dateien:

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