Hier bitte ich Euch um Anregungen, Kritik und Verbesserungsvorschläge zu dem Beitrag: http://www.mikrocontroller.net/articles/Frequenzumrichter_Wettbewerb zum 2. Mikrocontroller Wettbewerb. Der etwas ungeschickte Titel lässt sich leider nicht mehr editieren - alles andere aber schon. Freue mich auf Eure Postings, wenn sie zur Sache beitragen :-)
Mir ist eins aufgefallen: Die IR2110/2113 kannst Du schlicht weglassen. Der HCPL-3120 ist ein IGBT-Treiber mit 2,5A Ausgangsstrom. Also IR auslöten, Drähte vom HCPL-3120 zu den Gate und Source-Anschlüssen.
Gregor B. schrieb: > Mir ist eins aufgefallen: > > Die IR2110/2113 kannst Du schlicht weglassen. > Der HCPL-3120 ist ein IGBT-Treiber mit 2,5A Ausgangsstrom. > Also IR auslöten, Drähte vom HCPL-3120 zu den Gate und > Source-Anschlüssen. Theoretisch hast du natürlich recht, die IR Treiber haben allerdings eine interne 'Verriegelung' gegen gleichzeitiges Durchsteuern der Low und Highside und sie bieten den Shutdown Eingang. Man könnte den Shutdown mit den Optokopplern so realisieren, das ihnen im Fehlerfall die Vcc abgeschaltet wird, wäre also eine Möglichkeit zum Experimentieren. Wenn man übrigens einen Moment drüber nachdenkt, wird die Versorgung der Highside Optokoppler ohne Ladungspumpe zu einem richtigen Abenteuer. Insgesamt sind das dann nämlich 3 DC/DC Wandler, von denen jeder einen Highside Koppler antreibt. Gregor B. schrieb: > Also IR auslöten Hehehe, die IRs sind bei mir nach den Erfahrungen mit Halbbrücken immer gesockelt :-)
Hallo, habe die Diskussionsseite leider erst jetzt entdeckt: Beim ersten überfliegen des Artikels hatte mich gewundert daß im Foto insgesamt 6 Optokoppler verbaut sind aber im Schaltplan nur 2 gezeichnet sind. Bis mir dann auf den zweiten Blick klar wurde: Ja klar, ist ja Drehstrom und nur eine Phase der Endstufe gezeichnet. Ist aber für jemanden der in Leistungselektronik bewandert ist sicher selbstverständlich. Für mich wäre es einfacher lesbar gewesen wenn da noch ein Hinweis im Schaltplan wäre. (Block V,W wie Block U) Ansonsten würde ich bei Bedarf die Schaltung sofort nachbauen. Gruß Anja
Matthias Sch. schrieb: > die IR Treiber haben allerdings > > eine interne 'Verriegelung' gegen gleichzeitiges Durchsteuern der Low > > und Highside Nein, haben sie nicht, sieh' Dir mal das Schaltbild an, die einzigen Verbindungen zwischen den beiden ist UV-Detect und Shutdown. Wir benutzen den IR2112S, IR2113S und IR2213S und da kannst Du alle IGBTs gleichzeitig einschalten. Das sind nämlich unabhängige High- und Low-Side-Treiber und keine Halbbrückentreiber, die die Verriegelung haben.
Gregor B. schrieb: > Nein, haben sie nicht, sieh' Dir mal das Schaltbild an, die einzigen > Verbindungen zwischen den beiden ist UV-Detect und Shutdown. Probiers mal aus. Ich habe hier Testschaltungen mit 3 simplen Tastern und auch mit MCs, die HS,LS und SD ansteuern. Wenn du gleichzeitig HS und LS einschaltest, passiert da kein Shoot-Through. Das Datenblatt erwähnt auch nicht, das nach einem Shutdown erstmal LS aktiviert werden muss, bevor die HS wieder aktiviert werden kann. Ausprobiert mit IR2110 und 2113.
Hi der HCPL-3120 sollte nach Applikation (Avago Datenblatt S.18, Bild 25) mit Open-Kollektor angesteuert werden. Das verbessert das Schaltverhalten. Da wir die Steuerung mit diskreter Logik (74HC) machen habe ich einen BC548C dafür verwendet. Der benötigt dann eine RC-Parallelschaltung auf seine Basis (10kOhm || 100pF) damit der richtig zackig geht ( http://www.mikrocontroller.net/articles/Pegelwandler -> Pegelwandler mit Transistor, invertierend). Zum Versogen der Halbbrücken verwenden wir Recom DCDC-Wandler (5->15V) Typ RxxP2, jeweis 2 Stück. Als eigentlichen Treiber verwenden wir einen TI ucc37322. Damit kommt man locker im Leerlauf auf Schaltfrequenzen im mittleren kHz-Bereich (mit reiner Zeitverriegelung). Frage zur Schaltung: Warum so viel L (L3) und so wenig C (Snubber über IGBT)?
GVS schrieb: > mit Open-Kollektor angesteuert werden. Das verbessert das > Schaltverhalten. Kan man machen, ist aber in dieser Applikation nicht unbedingt nötig oder von Vorteil. Wichtig ist hier ja, das alle 6 OKs die gleiche Verzögerung liefern, der benötigte Vorwärtsstrom von 10mA ist jedenfalls kein Problem für den direkten Anschluss an den MC. Die eigentliche Schaltflanke wird in meiner Schaltung ja von den IR2110/13 geliefert, die auch noch mal interne Schmitt-Trigger am Eingang haben. Man kann aber natürlich zwischen MC und OK noch einen Opencollector Buffer setzen. Wer sich die Mühe machen will, mit den HCPL direkt die IGBTs/MOSFets anzusteuern und DC/DC Wandler zu nehmen, sollte das dann auf jeden Fall tun. Die IR mit der Ladungspumpe vermeiden halt die recht aufwendigen DC/DC Wandler, die dann ja zumindest für jede Highside notwendig wären. GVS schrieb: > Warum so viel L (L3) und so wenig C (Snubber über IGBT)? Das ist sehr abhängig von der benutzten Last. L3 flacht die Schaltflanken nur ein wenig ab, ohne sie komplett zu verrunden, Sinn ist hier lediglich, Störungen im KW Bereich zu verkleinern. Cs am Ausgang wirken sich sehr negativ auf die Verlustleistung aus und müssten recht schaltfest sein. Der FU ist auch nicht dafür gedacht, geglättete Sinusausgänge zu liefern, sondern durchaus die PWM zum Motor 'durchzureichen'. Die Motorinduktivität sorgt für den Rest. Das wird übrigens in nahezu allen kommerziellen FUs auch so gemacht und erklärt auch, warum alle Hersteller empfehlen, isolationsfeste Motore zu benutzen. GVS schrieb: > Damit kommt > man locker im Leerlauf auf Schaltfrequenzen im mittleren kHz-Bereich > (mit reiner Zeitverriegelung). Die derzeitig benutzte Schaltfrequenz im Artikel ist 31 kHz. Benutzt man den internen RC Oszillator des AVR, sind max. 15 kHz drin.
Der Wert des Zwischenkreis-Kondensators C14 (220 μF) scheint mir zu klein. C14 wird ja mit jeder Netz-Halbwelle (100 Hz) aufgeladen und muss dann die gesamte Energie an den Motor liefern, da der Strom aus dem Netz nur kurzzeitig fließt. Die pro Halbwelle benötigte Energie berechnet sich für den 550-Watt-Motor des Autors zu: 550 W / 100 Hz = 550 W * 0.01 s = 5.5 Ws Diese Energie kommt aus dem Energieinhalt (1/2 C U²) des Kondensators, und dadurch senkt sich die Spannung: 5.5 Ws = 1/2 C (Uc_max² - Uc_min²) auflösen nach Uc_min: 2 * 5.5 Ws / C = Uc_max² - Uc_min² Uc_min = √( Uc_max² - 2 * 5.5 Ws / C ) Uc_max ist 315 V (Scheitelwert der Netzspannung), somit gilt für C = 220e-6 F: Uc_min = 221.87 V Dies bedeutet, dass der Zwischenkreis eine netzfrequente Spannungsschwankung von 93.13 Volt (ca. 30%) aufweist. Ist das für die Funktion des Umrichters noch vertretbar? Es ist ja nicht so, dass die Spannung des Zwischenkreises konstant gehalten werden muss, koste es was es wolle. Große Kondensatoren verursachen Probleme beim Aufladen, wenn man das Gerät ans Netz anschließt, und abgesehen davon sind sie teurer... Insgesamt bin ich sehr froh über diesen Artikel, denn er wird mir helfen, einen eigenen Umrichter mit tieferer Pulsfrequenz (<1500 Hz, wie bei gewissen Schienenfahrzeugen) zu bauen, um Phänomene der Geräuschentwicklung an Drehstrommotoren (Stichwort: Seitenbänder der Pulsfrequenz; Töne, die mit zunehmender Drehzahl tiefer werden) zu untersuchen.
Tibor Stolz schrieb: > Dies bedeutet, dass der Zwischenkreis eine netzfrequente > Spannungsschwankung von 93.13 Volt (ca. 30%) aufweist. Hmm, tut er aber nicht. Ich habe als C14 das genommen, was ich gerade da hatte, aber kann solche Spannungseinbrüche im Betrieb bei Vollast nicht bestätigen, ich messe max, ca. 15-20 Volt. Übrigens hat mein kommerzieller Mitsubishi 750 W FU einen Zwischenkreiskondensator von gerade mal 100µF/450V.
Hallo an alle, und vielen Dank und Gratulation an Matthias. Das hat mich ermuntert auch mal einen FU zu bauen den ich dann evtl. nach meinen Wuenschen ansteuern kann und mich nicht immer mit den Herstellerspezifischen Protokollen bei den gekauften FU's verrenken muss. Ich habe auf der Lastseite einen IR2130 und 6 IRF840 verwendet. Zur Probe habe ich 3 R's in Stern Schaltung mit C's nach "Last-GND" an die Ausgaenge gehaengt und die Schaltung lastseitig mit 12V betrieben. Resultat, es kamen wunderschoene Kurven auf dem Oszi an. Dann hab ich mich mutig an die 220V getraut, und siehe da der Motor fing auch an zu drehen. Nur werden die MOSFET's sehr heiss. Ich habe einen 0.15Ohm Shunt in der Schaltung, der mir gesagt hat, das der Motor ca. 1A gezogen hat. Da sollte doch nichts warm werden oder? Mit 3Phasen und Leistungselektronik bin ich noch ziehmlich am Anfang. Also nicht lachen wenn da irgendwas toerichtes von meiner Seite kommt. Der Motor hat 40 Ohm an den Wicklungen und 270mH. Der Atmega88 ist mit 20MHz getaktet. Ausser der Anpassung der F_CPU an der Software keine Aenderung. Kann mir da jemand einen Tipp geben?
Juergen G. schrieb: > Ich habe auf der Lastseite einen IR2130 und 6 IRF840 verwendet. Den IRF2130 habe ich noch nie verwendet, lt. Datenblatt scheint er aber eine fest eingestellte Totzeit zu haben. Wenn du die geeigneten Messmittel hast, oszillografiere doch mal die Spannungsverläufe am Shunt und sieh, ob da evtl. Shoot-Throughs passieren, also starke Spannungsspitzen am Shunt. In diesem Fall (wenn du meine Schaltung verwendest) würde am Shutdown Ausgang der Schutzschaltung immer wieder durchgeschaltet. Eine LED an diesem Ausgang zeigt dir evtl. auch an, wenn da Überstrom fliesst. Zum Experimentieren kannst du auch mal die Totzeit höher drehen, ich bin mir allerdings nicht sicher, was der IR2130 da macht. Der IRF840 ist ein relativ altes 'Schlachtschiff' und hat voll durchgesteuert immerhin noch 0,85 Ohm, wird also schon warm. Du musst unbedingt darauf achten, das er satt durchgesteuert wird, Vcc am IR2130 sollte also gut bei 12 Volt oder mehr liegen. Im Zweifelsfall poste doch mal ein Schaltbild deiner Endstufe. Juergen G. schrieb: > Ausser der Anpassung der F_CPU an der Software keine Aenderung. Es betrifft nur die Anzeige der Frequenz im Display, aber bei Gelegenheit kannst du auch mal 'DIVISIONEER' in vfd.h anpassen.
HAllo bei dem übersetzten im avr studio 4.19 kommen lauter fehler kann mir jemand helfen reicht es konstanten daraus zu machen? kleiner aussschnitt In file included from ../main.c:92:0: ../vfdtables.h:35:17: error: variable 'sineTable' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
kabelbieger schrieb: > HAllo bei dem übersetzten im avr studio 4.19 kommen lauter fehler > kann mir jemand helfen Da scheint was nicht zu stimmen, denn PROGMEM ist automatisch konstant. Da ich das Programm auch mit AVR Studio 4.19 kompiliere, vermute ich, das etwas an deiner Installation nicht stimmt. Kannst du denn irgendwelche anderen C Programme kompilieren? Hast du WinAVR installiert? Was für ein Betriebssystem benutzt du?
Betriebsystem ist xp und winavr ist auch drauf....ich werde morgen erstmal neu installieren das ganze
So des rätsels lösung liegt darin nicht die aktuelle toolchain zu verwenden sondern eine ältere...klappt dann wunderbar alles...läuft super der umrichter
Ahh, cool, vielen Dank für die Mühe. Das die Jungs auch immer am Rädchen drehen müssen... Wenn du da nochmal die Versionsnummern raussuchen könntest, würde ich den Artikel entsprechend aktualisieren.
Also die letzte funktionierende toolchain in kombination mit 4.19 ist folgende: AVR Toolchain 3.3.1-1020
Sehr nett - vielen Dank! Artikel aufgefrischt.
kabelbieger schrieb: > ../vfdtables.h:35:17: error: variable 'sineTable' must be const in order > to be put into read-only section by means of '__attribute__((progmem))' Ich bin neue bei AVR und heute habe ich Atmel Studio 6.1 installiert. Bei Compilieren bekam ich die gleichen Fehler. Was soll ich machen?
Einfach statt "PROGMEM" habe ich "const PROGMEM" geschrieben und alles läuft...-
Ich möchte diesen Frequenzumrichter für den Motor von meiner Drehbank verwenden. Der Motor ist Zweiphasig. Eine Phase wird durch einen Kondensator versorgt. Ich werde nur zwei Phasen vom Frequenzumrichter verwenden und den Kondensator eliminieren. Ich habe nur Gedanken wie es mit nur einer Phase und dem Kondensator wäre... Vielleicht kann jemand die Antwort... Außerdem ist mir rätselhaft (sehe das Schaltbild) wie wurden die zwei DC/DC CONVERTER von 300 Volt auf 5 Volt und 18 Volt realisiert.
Der Motor ist Einphasig..
skorpionx schrieb: > Außerdem ist mir rätselhaft (sehe das Schaltbild) wie wurden die zwei > DC/DC > CONVERTER von 300 Volt auf 5 Volt und 18 Volt realisiert. Dann lese doch erst mal den ganzen Artikel. Oder meinst du das macht hier jemand für dich?
Ezis B. schrieb: > Der Motor ist Einphasig.. Der Motor hat zwei gleichen Wicklungen. Eine Wicklung wird über Kondensator versorgt. Der Motor wie in Steinmetzschaltung: http://de.wikipedia.org/wiki/Steinmetzschaltung Kann man so einen Motor nicht als zweiphasig bezeichnen...?
skorpionx schrieb: > Der Motor hat zwei gleichen Wicklungen. Eine Wicklung wird über > Kondensator versorgt. Der Motor wie in Steinmetzschaltung: > http://de.wikipedia.org/wiki/Steinmetzschaltung > Kann man so einen Motor nicht als zweiphasig bezeichnen...? Das ist entweder eine Steinmetzschaltung oder ein (wahrscheinlicher) Kondensatormotor. Diese Motore lassen sich nur sehr widerwillig und in einem engen Drehzahlbereich regeln, denn der Kondensator ist für die normale Arbeitsdrehzahl/Frequenz optimiert. Kurz: Nicht geeignet zum Betrieb am Frequenzumrichter. skorpionx schrieb: >> Außerdem ist mir rätselhaft (sehe das Schaltbild) wie wurden die zwei >> DC/DC >> CONVERTER von 300 Volt auf 5 Volt und 18 Volt realisiert. Steht doch alles da: 5 Volt aus einem normalen Handynetzteil und die 18 Volt aus einem leicht modifizierten Lichterketten-Schaltnetzteil. Wenn du die galvanische Trennung beachtest, geht da auch ein Trafonetzteil oder ein Notebook Adapter - oder was sonst gerade rumliegt.
nein... Die steinmetzschaltung wird an 3-phasigen Motoren eingesetzt, um diese an Wechselstrom zu betreiben... Du hast einen Kondensatormotor, der hat eine Haupt und eine Hilfswicklung... ich denke nicht dass das an einem FU funktioniert... Beitrag "Drehzahlregelung Kondensatormotor"
Arne Pfäffle schrieb: > nein... > Die steinmetzschaltung wird an 3-phasigen Motoren eingesetzt, um diese > an Wechselstrom zu betreiben... > > Du hast einen Kondensatormotor, der hat eine Haupt und eine > Hilfswicklung... ich denke nicht dass das an einem FU funktioniert... > Beitrag "Drehzahlregelung Kondensatormotor" Ergänzung: >Ezis B. schrieb: >> Der Motor ist Einphasig.. >Der Motor hat zwei gleichen Wicklungen. Eine Wicklung wird über >Kondensator versorgt. Der Motor wie in Steinmetzschaltung: >http://de.wikipedia.org/wiki/Steinmetzschaltung >Kann man so einen Motor nicht als zweiphasig bezeichnen...? in meinen Augen nicht wirklich... es ist wie gesagt eine Hauptwicklung und eine Hilfswicklung, die für den Start zuständig ist, sonst müsstet du deinen Motor von Hand starten... Mehr für deinen Motor lieber eine Phasenanschnittsteuerung...
1 | |
2 | L1 L2 L3 |
3 | | | | |
4 | | | | |
5 | | | | |
6 | - - - |
7 | | | | | | | |
8 | | | | | | | |
9 | | | | | | | |
10 | - - - |
11 | | | | |
12 | ------------ |
Normaler Drehtstrommotor in Sternschaltung
1 | |
2 | L1 N |
3 | | | C | |
4 | | |-||- | |
5 | | | | |
6 | - - - |
7 | | | | | | | |
8 | | | | | | | |
9 | | | | | | | |
10 | - - - |
11 | | | | |
12 | ------------ |
Drehstrommotor in Steinmetzschaltung Der Kondensator wird zur Phasenverschiebung eingesetzt.
:
Bearbeitet durch User
Arne Pfäffle schrieb: > in meinen Augen nicht wirklich... es ist wie gesagt eine Hauptwicklung > und eine Hilfswicklung, die für den Start zuständig ist, sonst müsstet > du deinen Motor von Hand starten... Es gibt solche Motoren mit Startwicklung (und die wird nach dem Start abgeschaltet)und welche mit zwei gleichen Wicklungen wo eine Wicklung wird permanent über Kondensator versorgt.
skorpionx schrieb: > http://www.google.de/imgres?imgurl=http://www.elektro-kahlhorn.de/media/content/images/mbk_1ph.gif&imgrefurl=http://www.elektro-kahlhorn.de/Kondensator:_:410.html&h=152&w=198&sz=1&tbnid=SXxVykIDwCifnM:&tbnh=91&tbnw=118&zoom=1&usg=__4UYkw_J2bEtGlhLRbq8zyxAAVtA=&docid=sSLtiAKEmgrFJM&sa=X&ei=5I9KUpO1NqSN4ATH_4CIBQ&ved=0CDMQ9QEwAA&dur=4024 Genau. Du siehst, es ist relativ einfach, eine Steinmetzschaltung vom Kondensatormotor zu unterscheiden, der Steinmetz hat 3 Wicklungen, der Kondensatormotor nur 2. Wenn du also wirklich einen Steinmetz mit 3 gleichen Wicklungen hast, entfernst du den Kondensator und schliesst die 3 Phasen nun alle an den Umrichter an. Solltest du aber einen Kondensatormotor besitzen, bleibt dir entweder Phasenanschnitt (mit Brummen, wie im o.a. Thread) oder eine Wellenpaketsteuerung. Ich hab mit Wellenpaket mal rumexperimentiert, bin aber bezüglich Laufruhe und der heftigen geschalteten Leistung (Pumpe mit 1200 Watt) auf keinen grünen Zweig gekommen. Übrigens gibt die Grösse des Kondensators schon einen Hinweis. Man rechnet bei Steinmetz mit ca. 60µF/kW, der Kondensatormotor besitzt wesentlich kleinere Werte.
:
Bearbeitet durch User
Ich werde versuchen den Motor mit zwei Phasen zu versorgen. Der Kondensator wird selbstverständlich entfernt. Ich werde dann auch mit der Phasenverschiebung experimentiert.
skorpionx schrieb: > Ich werde versuchen den Motor mit zwei Phasen zu versorgen. skorpionx schrieb: > Ich werde versuchen den Motor mit zwei Phasen zu versorgen. > Der Kondensator wird selbstverständlich entfernt. Bevor du das tust, mach doch mal bitte ein Foto vom Motoranschlussfeld und sag uns, wie gross der Kondensator ist.
skorpionx schrieb: > Ich werde versuchen den Motor mit zwei Phasen zu versorgen. > Der Kondensator wird selbstverständlich entfernt. Ich werde > dann auch mit der Phasenverschiebung experimentiert. aber dann den FU nur mit 230V versorgen! Sonst werden deine Wicklungen zu kurzlebigen Heizungen ;-)
Matthias Sch. schrieb: > Bevor du das tust, mach doch mal bitte ein Foto vom Motoranschlussfeld > und sag uns, wie gross der Kondensator ist. Der Kondensator hat 50 µF Kapazität.
skorpionx schrieb: > Der Kondensator hat 50 µF Kapazität. Das klingt doch gut. Wenn du den Kondensator entfernt hast, miss bitte mal zumindest ohmsch den Widerstand der drei Wicklungen. Wenn die alle gleich sind, spricht nicht viel dagegen, den FU anzuschliessen, allerdings natürlich mit allen 3 Phasen(!). Mit nur 2 Phasen wird da nicht viel passieren ausser einem brummenden Motor und seiner Unwilligkeit, sich zu drehen. Arne Pfäffle schrieb: > aber dann den FU nur mit 230V versorgen! Das ist bei der Schaltung sowieso gegeben.
:
Bearbeitet durch User
Hi, kann ich die IR2110 Treiber auch ohne Optokoppler direkt an den MC anschließen? Wenn ich VDD und VSS mit +5V und GND versorge? MfG Philipp
Philipp schrieb: > Hi, kann ich die IR2110 Treiber auch ohne Optokoppler direkt an den MC > anschließen? Wenn ich VDD und VSS mit +5V und GND versorge? > > MfG Philipp Koennen schon, aber ratsam ist das nicht. Bedenke das an den IR's eine ziehmlich hohe Spannung anliegt. Wenn Dir da ein IR abraucht kann es ohne Optos auch Deine ganze 5V Schaltung mitnehmen. Es ist billiger ein Optokoppler zu tauschen als alles was an den 5V haengt.
Philipp schrieb: > Hi, kann ich die IR2110 Treiber auch ohne Optokoppler direkt an den MC > anschließen? Wenn ich VDD und VSS mit +5V und GND versorge? VORSICHT! In diesem Fall ist die gesamte Schaltung mit dem Lichtnetz verbunden, es gibt keine galvanische Trennung mehr. D.h. am LCD, am Programmieranschluss und an den Buttons liegt dann Netzspannung! Für Niedervoltanwendungen hingegen ist das eine brauchbare Option. Wenn du am MC einen freien Pin findest, kannst du sogar das ShutDown Signal aus der Endstufe auswerten. Auch eine Strommessung wäre am Shunt denkbar.
Ok danke für die Antworten. Kenn mich noch nichts so gut aus. Ich werde die Optokoppler 6N137 benutzen. Ich baue mir eine Spannungsversorgung mit +5V für den IR2110 Eingangsseite und +12V für die Ausgangsseite. So bräuchte ich 2 Schaltungen mit einem Trafo mit Festspannungsreglern? Einer für die Steuerseite +5V und einer für den Leistungsteil mit +12 und +5V, die beide mit am GNDI hängen?
Phillip, du solltest dir mal den Artikel genau durchlesen. Da ist alles genau beschrieben!
Philipp schrieb: > So bräuchte ich 2 Schaltungen mit einem Trafo mit Festspannungsreglern? > Einer für die Steuerseite +5V und einer für den Leistungsteil mit +12 > und +5V, die beide mit am GNDI hängen? Da mir immer noch nicht klar ist, was du eigentlich vorhast, wäre ich für Aufklärung dankbar. Willst du einen Niedervoltmotor betreiben? Da die 6N137 normale Optokoppler sind, musst du für die auch keine extra 5 Volt erzeugen, sondern kannst sie mit den nicht netzgetrennten 12V betreiben, geeignete Arbeitswiderstände für die Phototransistoren vorausgesetzt.
Matthias Sch. schrieb: > Da > die 6N137 normale Optokoppler sind Nicht ganz, die haben eine Treiberstufe drin die 5V Versorgung braucht. Ich hab auch die 6N137 in meiner Schaltung. Bei mir ist der Trafo auf der HV Seite, also Trafo - Gleichrichter dann mit einem Simpleswitcher auf 15V und mit einem Linearregler auf 5V fuer die Optos. Der Atmega wird dann von den 15V ueber einen Isolierten Brick DC-DC Wandler versorgt.
Gehe ich richtig von der Annahme aus, dass die High-Side-PWM für Sinuserzeugung und die LOW-Side-PWM für die V/f-Regelung zuständig ist?? Ich versuche das Prinzip der Ansteuerung der FETs nachzuvollziehen, für jede Verbesserung oder eigene Erklärungsversuche wäre ich sehr dankbar. Schönen Abend noch..
Nein. High-Side und Low-Side werden komplementär angesteuert mit einem PWM-Signal, das aus der Sinus Tabelle gewonnen wird und skaliert (mulitpliziert wird) mit der Amplitude. Es wird dann eine Totzeit eingefügt und dann die OC Register der Timer geladen. Steht im Quelltext auch nochmal recht ausführlich drin. Das Sinusmodulierte PWM Signal findet sich also in der Ansteuerung beider Teile der Halbbrücke.
:
Bearbeitet durch User
Ich habe schon CPU-Teil mit ATmega328 mit 16Mhz Quarz. Man sieht auf dem Display Zahlen und man kann sie editieren mit Tasten. Nur die Anzeige ist dunkel und lässt sich nicht mit dem Kontrast Poti heller machen. Wahrscheinlich sind fuses nicht richtig eingestellt. Low Fuses habe ich mit 0xF7 eingestellt. Ich bin beim Atmel neue und bitte um Hilfe. Wie soll ich fuses einstellen?
Der Kontrast vom LCD wird mit dem Poti eingestellt und hat nichts mit dem Atmega zu tun. Ist doch auch gar nicht mit dem Atmega verbunden.
Jörg B. schrieb: > Der Kontrast vom LCD wird mit dem Poti eingestellt und hat nichts mit > dem Atmega zu tun. Ist doch auch gar nicht mit dem Atmega verbunden. Das weiß ich. Bitte schreibt nur das was zur die Lösung etwas bringt. Ich vermute, dass etwas mit Frequenzteilung nicht stimmt.
Dafür gibt es prima Fuse Rechner im Internet, z.B. der hier: http://www.engbedded.com/fusecalc Dein Mega328 sollte auf Full Swing Crystal, lange Reset Zeit (ist eigentlich egal, aber langer Reset schadet nichts), kein CLKDIV8, und praktischerweise auf gesetzte EESAVE Fuse gefused werden, damit du nicht immer wieder den EEPROM beschreiben musst, wenn du eine andere Software Version reinspielst. Der o.a. Fuse Calculator sagt: Low: 0xD6 , High: 0xD1, Extended: 0xFC Denke dran, das du mindestens einmal auch den EEPROM programmierst, also das *.eep File in den EEPROM (nicht den Flash!) schreibst. Wenn du den AVR mit 3,3V betreibst und dein LCD das auch verträgt (siehe Datenblatt), kann es nötig sein, eine negative Hilfsspannung für den Kontrast zu erzeugen. Mit 5V liegt die beste Kontrastspannung für normale HD44780 Displays recht nahe an 0V.
:
Bearbeitet durch User
skorpionx schrieb: > Das weiß ich. Bitte schreibt nur das was zur die Lösung etwas bringt. > Ich vermute, dass etwas mit Frequenzteilung nicht stimmt. Ich finde das hat schon ne Menge mit deiner Frage zu tun. Der Kontrast des LCD hat nun mal nichts mit dem Atmega zu tun. Da kannst du so viel an deinen Fuses herum probieren wie du willst.
und was deine Frequenz Einstellung angeht. Am einfachsten ist es immer mit den Atmel Studio. Da kann man die Fuses sehen was Sie machen und ist nicht von irgendwelchen Tools abhängig.
Jörg B. schrieb: > Am einfachsten ist es immer mit den Atmel Studio Es gibt aber viele Leute, die nun mal nicht mit AVR/Atmel Studio arbeiten, sondern eine andere Toolchain benutzen. Die Welt besteht nicht nur aus Windows. Sei so nett und spam den Thread nicht zu.
Die Änderung des fuses hat nichts gebracht. Mein BLAUES Display ist weiter ziemlich dunkel. Probeweise habe ich ein grünes Display vom meinem Transistortester gesteckt.Mit dem ist die Helligkeit ausreichend aber Kontrast-Poti steht auf 0 Volt. Wenn ich mein blaues Display in Transistortester stecke dann ist Kontrast und Helligkeit wunderbar (sogar besser als beim grünem Display). Ich vermute dass das Problem in der Timing von Ansteuerung vom Display liegt. Beim Compilieren habe ist schon eine Warnung gesehen so ung.: „F_CPU not defined for delay.h...“
Die Lösung ist nah... Mein Blaues Display arbeitet nur mit Hintergrund Beleuchtung gut. Sonst ist die Helligkeit nicht ausreichend...
CPU-Teil schon getestet. Noch Netzteil mit Filter und Endstufen. Dazwischen aber Ostern...
skorpionx schrieb: > Beim > Compilieren habe ist schon eine Warnung gesehen so ung.: > „F_CPU not defined for delay.h...“ Ja, das liegt daran, das man im AVR Studio die CPU Frequenz nicht per #define festlegt, sondern in den Projekteinstellungen. Du kannst das leicht hinzufügen, indem du per
1 | #define F_CPU 16000000UL
|
vor dem
1 | #include util/delay.h
|
die Frequenz mitteilst oder im Makefile ein '-DF_CPU 16000000' addierst. Die Fuses werden davon nicht beeinflusst, du musst also trotzdem den AVR korrekt fusen, wie oben angegeben. Auch Peter Fleurys LCD Bibliothek braucht die korrekte Angabe im lcd.h:
1 | #define XTAL 16000000
|
das sollte aber schon alles korrekt eingetragen sein. skorpionx schrieb: > Mein Blaues Display arbeitet nur mit Hintergrund > Beleuchtung gut. Deswegen finde ich die blauen LCD nicht besonders. Das Foto meines Kontrollerteils ist ohne Hintergrund Beleuchtung gemacht und trotzdem gut lesbar. skorpionx schrieb: > CPU-Teil schon getestet. Das sieht doch gut aus. Du hast zwar im Moment ein enormes V/Hz Verhältnis eingestellt, aber das kommt dann mit dem Motor... Frohe Ostern!
:
Bearbeitet durch User
Ich bin nicht sicher wie ich den Motor (U,V,W...) einschließen sollte. Rätselhaft ist für mich Z.B. die Verbindung U1 zu U2 auf dem Schaltbild (sehe oben...). Jede Endstufe wird versorgt über eigenen L4 oder alle Endstufen werden durch einen gemeinsamen L4 ?
skorpionx schrieb: > Ich bin nicht sicher wie ich den Motor (U,V,W...) einschließen sollte. > Rätselhaft ist für mich Z.B. die Verbindung U1 zu U2 auf dem Schaltbild > (sehe oben...). Auf meinem Board sind doppelte Klemmen (siehe das Foto vom Endstufenteil) für die Phasenausgänge und die zweite Klemme ist ein reiner Messpunkt(und macht die Klemme stabiler). Du schliesst den Motor also zwischen U,V, und W an, wie bei jedem FU, die V und W Endstufen sind im Schaltplan ja weggelassen. Im Foto ist das weisse Kabel der Ausgang zum Motor. skorpionx schrieb: > Jede Endstufe wird versorgt über eigenen L4 oder alle > Endstufen werden durch einen gemeinsamen L4 ? Ich speise (und so stehts ja im Schaltplan) die Endstufen mit VCCIO, und das kommt erst hinter der gemeinsamen L4. Du kannst aber gerne auch für jede Endstufe eine extra L4 einbauen, Vorteile gibts aber nicht viele, ausser das pro L weniger Strom fliesst und du etwas kleinere Drahtstärken wählen kannst.
:
Bearbeitet durch User
Matthias Sch. schrieb: > Ja, das liegt daran, das man im AVR Studio die CPU Frequenz nicht per > #define festlegt, sondern in den Projekteinstellungen. Was ist denn das für ein Blödsinn? Atmel Studio stört sich nicht im geringsten daran, wenn ein F_CPU per #define gesetzt wird. Das #define im Code ist nicht die Ursache der Fehlermeldung, so wie du es propagierst!
Kaj schrieb: >> Ja, das liegt daran, das man im AVR Studio die CPU Frequenz nicht per >> #define festlegt, sondern in den Projekteinstellungen. > Was ist denn das für ein Blödsinn? Das ist überhaupt kein Blödsinn. Und wie kommst du schon nach einem Monat darauf? Im AVR Studio 4 wird nun mal F_CPU in den Projekteinstellungen definiert und muss im Code nicht nochmal vorkommen. So ist das in meinem Quellcode gemacht. Wenn man also unter einen anderen Compiler baut (und genau das machte der Fragende), muss F_CPU im Code oder im Makefile definiert werden.
:
Bearbeitet durch User
Matthias Sch. schrieb: > Auf meinem Board sind doppelte Klemmen Man findet auch Bezeichnung für einzelne Stränge vom Motor wie Z.B.: http://de.wikipedia.org/wiki/Sternschaltung Hier werden die Enden der drei Phasenstränge dann wie folgt bezeichnet: u1 - u2 v1 - v2 w1 - w2 Und das war die Quelle meiner Unsicherheit.
Hallo, dein Thread ist zwar schon etwas älter, aber ich versuche es trotzdem mal. Ich würde gern meine I2C Displays zur Anzeige verwenden. Dann könnte man die frei werdenden Ports vielleicht auch für Erweiterungen benutzen. Allerdings sind die entsprechenden Ports PC4/5 schon mit dem Feature-Port verbunden um analoge Werte zu lesen. Könnte man diese Ports anderswo hin verlegen, so dass PC4 und 5 für den I2C freiwerden? Ich benutze einen ATMega328P, bekomme ich Probleme mit dem verfügbaren Speicher wenn noch die I2C-Bibliothek hinzukommt? Gruß und Glückwunsch nachträglich. Michael
Ach ja, habe noch was! Schau dir mal bitte den Dateianhang an. Da sind im Dach so komische Zacken drin, die ich mir nicht erklären kann. Rot ist direkt am MCU-Port aufgenommen und grün hinter einem invertierenden NPN-Transistor. Offensichtlich kommt das "Signal" schon so aus der MCU. Ich hätte jetzt auf die Sinustabelle getippt, aber das wäre wohl schon jemanden aufgefallen. Hast du eine Erklärung dafür? Michael
Michael schrieb: > Allerdings sind die entsprechenden Ports PC4/5 schon mit dem > Feature-Port verbunden um analoge Werte zu lesen. Könnte man diese Ports > anderswo hin verlegen, so dass PC4 und 5 für den I2C freiwerden? Ja, das geht natürlich. In demm Moment, wo du ein I²C Display benutzt, werden ja auch ADC0 bis ADC3 frei, die bisher die Datenleitungen zum HD44780 LCD waren. Auf diese Kanäle kannst du dann die ADC ISR umbauen. Wenn du dir die Deklarationen in vfd.h anschaust, siehst du, das das recht einfach geht:
1 | //! The ADC channel where the analog frequency control is connected.
|
2 | #define ADC_CHANNEL_FREQUENCY 4
|
3 | |
4 | //! The ADC channel where the analog V/Hz input is connected.
|
5 | #define ADC_CHANNEL_AMPLITUDE 5
|
Das musst du nur auf die gewünschten ADC Kanäle ändern. Michael schrieb: > Da sind im Dach so komische > Zacken drin, die ich mir nicht erklären kann. Die 'Zacken' sind normal, das sind die Dächer der 'Popo' Kurven, die zur Ansteuerung von Motoren etwas besser geeignet sind als reine Sinuskurven. Allerdings stimmt da was mit der Abtastrate des Oszis nicht, denn ich kann die eigentliche PWM nicht sehen, sondern nur was gemitteltes. Die Güte des Oszibildes ist also nicht optimal. Zu den 'Popokurven' findest du im Netz einige Erklärungen, und auch in der Application Note Atmel AVR447.
Ja super! ich habe nämlich nur noch die seriellen Displays. Das, was ich gerade benutze ist ziemlich zerkratzt (stammt aus dem Recycling). Das Problem mit der Kurvenform habe ich inzwischen auch erkannt. Habe mir in Excel aus der Tabelle ein Diagramm gemacht. Und dann dachte ich mir schon, dass das wohl so stimmen muss. Wenn es dir nichts ausmacht, hätte ich da noch ein paar Fragen. Da ich, bis auf den MC, noch keine Hardwarekomponenten habe, habe ich auf einem Steckbrett inkl. MC (328P, 16MHz) sechs npn-Transistoren (SF126D) jeweils paarweise E-C zusammengesteckt und die drei Motorwindungen eines Festplattenmotors daran angeschlossen. Der vierte Draht (niedriegster Widerstand) bleibt offen. Die sechs Basiswiderstände haben jeweils 220 Ohm. Ich weiß natürlich, dass das nicht so toll ist, aber die Transistoren werden einigermaßen durchgesteuert. Nur läuft der Motor nicht von selbst an. Und bei der geringsten Belastung oder wenn ich die Frequenz bis etwa 150 Hz hochfahre gibts einen Ruck und er steht. Ist das ein prinzipelles Problem mit dieser Art Motor? Bei einem normalen 3-Phasen-Motor, beispielsweise einer Werkzeugmaschienen, wurde doch früher auch nur in Dreieck-Schaltung gestartet und dann optional nach dem Anlauf auf Stern umgeschaltet. Das mit meinem Oszillogramm hast du richtig erkannt. Mein richtiger Oszi steht im Keller. Mir ist es aber derzeit zu kalt dort und habe kurzerhand die Soundkarte meines PC missbraucht (Spannungsteiler etwa 50 zu 1 und Software "Scope" von Christian Zeitnitz). Gruß
Hallo, @ Michael Michael schrieb: > doch früher auch nur in Dreieck-Schaltung gestartet und dann optional > nach dem Anlauf auf Stern umgeschaltet. Genau umgekehrt. Die Art des Motoranlaufs nennt sich Stern - Dreieck - Schaltung. Der Motor wird in Sternschaltung angefahren und danach in Dreieckschaltung umgeschaltet. gehört zwar nicht direkt zum Thema, ist aber so. Gruß deka65
Hallo Detlef, Detlef Kahrmann schrieb: > Genau umgekehrt. Die Art des Motoranlaufs nennt sich > Stern - Dreieck - Schaltung. natürlich hast du Recht, Sorry. Ich vermute, dass die Sternschaltung beim Anlaufen den Motor schützte, weil durch die Serienschaltung der Wicklungen weniger Strom gezogen wird. Bei Nenndrehzahl wurde dann nach Dreieck umgeschaltet um das Drehmoment zu erhöhen. Bei Contoller gesteuerten Motoren spielt dies keine Rolle, wie du schon bemerktest. Ich frag mich aber immer noch, warum mein HD-Motor nicht anläuft. Mir ist klar, das im Einschaltmoment 100% Schlupf da sind und damit das Drehmoment sehr niedrig sein muss. Aber dass er ohne Starthilfe garnicht dreht? Gruß Michael
Wenn der Motor 4 Anschlüsse hat, wird er vermutlich immer im Stern gefahren, wobei am Mittelpunkt +Motor liegt und die drei Wicklungen über kräftige Endstufen rundherum auf Masse gezogen werden. Diese Motoren arbeiten meistens mit 'sensorless' BLDC Algorithmen und sind für echten Drehstrom schlecht geeignet. Application Note AVR 444 gibt Hinweise, wie ein solcher Motor anzusteuern ist. http://www.atmel.com/dyn/products/app_notes.asp?family_id=607 Gut geeignet sind z.B. die Motoren aus DirectDrive Plattenspielern (ich habe hier einen wunderbaren 'Pioneer Precision Mechanics', den ich mit dem FU auf unter 10U/min bekomme) und natürlich 230/400V Drehstrommotore wie der ihm Beitrag erwähnte.
:
Bearbeitet durch User
Hab das Problem gefunden. Es saß zwischen Rückenlehne und Lötkolben. Entgegen dem Schaltbild sind die Port-Pins H und L der Phasen in der vfdtables.h anders herum. Nun läuft der 3,5´´ HD-Motor (, zwar nicht von selbst an,) aber wenigstens hat er nach einem Anstupser ein spürbares Drehmoment. Nach unten bleibt er dann bei ~8Hz (120 U/min) stehen. Statt gleich in die Datei zu schauen, hatte ich mich an den Schaltplan gehalten :-( Ich werde versuchen deine Schaltung nachzubauen. Das I²C-Display bekomme ich hoffentlich "reingestrickt". Ich habe vor, damit einen Fräsmotor anzutreiben. Wünschenswert wäre vielleicht noch die Steuerung über ein entsprechendes Programm vom PC aus. So, dann werde ich jetzt mal ein paar Teile bestellen... Danke auch noch einmal für deine nette Unterstützung. Gruß Michael
Michael schrieb: > Wünschenswert wäre vielleicht noch die Steuerung über ein > entsprechendes Programm vom PC aus. Das sollte klappen, wenn du die serielle Schnittstelle des Mega von den Buttons freiräumst. Da du jede Menge Pins mit dem I²C Display einsparst, sollte sich da eine alternative Belegung finden lassen. Die Erzeugung der 3 Phasen findet ja komplett in Interrupts statt, das Hauptprogramm kannst du dir also so hinstricken, wie du es brauchst. Lediglich die PWM Pins sind fest vorgegeben und nicht veränderbar, das liegt in der Natur des Mega. Allerdings rate ich dir, Schritt für Schritt vorzugehen. Also erstmal das Display zum laufen bringen, dann den Kommandointerpreter auf seriell umzubauen usw. Viel Erfolg!
Überstromschutz funktioniert falsch? Ich zeige zwei Oszi-Bilder. Kanal 2 Spannung auf dem R7 und Kanal 1 auf dem SD-Pin. Das alles ohne Belastung (kein Motor)! Für bessere Übersichtlichkeit habe ich das nur für eine Phase aufgenommen. Als IGBT habe ich FGH40N6S2D verwendet. Was für eine Ursache kann das sein?..
skorpionx schrieb: > Was für eine > Ursache kann das sein?.. Sieht nach Shoot-Through aus. Wenn ich das richtig interpretiere, sind auf dem Shunt Spitzen von über 20V, das riecht also nach Überstrom. Dreh die Totzeit hoch, wie im Artikel beschrieben.
:
Bearbeitet durch User
Übrigens danke für die Oszillogramme, die sollten einem anderen Nachbauer dabei helfen, solche Probleme einzugrenzen, ist ja im Artikel nur als Prosa beschrieben. Man kann entweder am SD Pin diese Rampe abfragen oder direkt am Shunt die Spitzen. Die Rampe entsteht durch den Elko am Eingang der Überstromerkennung. Unter Beobachtung der Spitzen am Shunt (ohne Last) kann man nun die Totzeit justieren, so das die Spitzen gerade verschwinden. Ich habe noch eine LED am SD Eingang, die bei Überlast anfängt, zu leuchten.
Es scheint dass etwas mit der Wirkung von der Totzeit nicht stimmt. Oben habe ich zwei Oszi Bilder vom der Spannungen auf Gates vom High Kanal (CH1) und Low Kanal (CH2).Eine Zeit 0x08 (das ist Minimum...) und das zweite Bild mit Totzeit 0x60. Totzeit wird nur eingeführt zwischen der fallende Flanke vom Low Kanal und steigende Flanke vom High Kanal. Und das ist gefährlich...
Miss mal bitte die Signale am Ausgang des MC. Die entsprechende Routine ist das hier:
1 | /*! \brief Returns the high and low values with deadband for a given compare value.
|
2 | *
|
3 | * This function takes as argument a desired compare value and inserts a symmetric
|
4 | * deadband. The compare values for high and low side with deadband are returned
|
5 | * through the two supplied pointers.
|
6 | * The variable \ref DEAD_TIME_HALF is used as deadband, and the resulting deadtime
|
7 | * will be DEAD_TIME_HALF clock cycles times 2.
|
8 | *
|
9 | * \param compareValue desired compare value
|
10 | * \param compareHighPtr Pointer used to return high side compare value with dead band.
|
11 | * \param compareLowPtr Pointer used to return low side compare value with dead band.
|
12 | */
|
13 | static void InsertDeadband(const uint8_t compareValue, uint8_t * compareHighPtr, uint8_t * compareLowPtr) |
14 | {
|
15 | if (compareValue <= DEAD_TIME_HALF) |
16 | {
|
17 | *compareHighPtr = 0x00; |
18 | *compareLowPtr = compareValue; |
19 | }
|
20 | else if (compareValue >= (0xff - DEAD_TIME_HALF)) |
21 | {
|
22 | *compareHighPtr = 0xff - (2 * DEAD_TIME_HALF); |
23 | *compareLowPtr = 0xff; |
24 | }
|
25 | else
|
26 | {
|
27 | *compareHighPtr = compareValue - DEAD_TIME_HALF; |
28 | *compareLowPtr = compareValue + DEAD_TIME_HALF; |
29 | }
|
30 | }
|
31 | ISR(TIMER1_CAPT_vect) |
32 | {
|
33 | /// intro and other stuff omitted
|
34 | |
35 | // load registers
|
36 | {
|
37 | uint8_t compareHigh, compareLow; |
38 | |
39 | InsertDeadband(tempU, &compareHigh, &compareLow); |
40 | OCR0A = compareHigh; |
41 | OCR0B = compareLow; |
42 | |
43 | InsertDeadband(tempV, &compareHigh, &compareLow); |
44 | OCR1AL = compareHigh; |
45 | OCR1BL = compareLow; |
46 | |
47 | InsertDeadband(tempW, &compareHigh, &compareLow); |
48 | OCR2A = compareHigh; |
49 | OCR2B = compareLow; |
50 | }
|
51 | }
|
Diese Routine ist biser unauffällig gewesen und wird von Atmel auch so verwendet (AVR447). Interessant ist also, was du für Treiber verwendest und wie deine Endstufe aussieht. Da die Highside bei dir überhaupt nicht auf die Einstellung der Totzeit reagiert, vermute ich da einen Fehler in der Hardware.
:
Bearbeitet durch User
Totzeit funktioniert. Im Anhang zwei Oszibilder. TotZeit_0x08 ist mit Totzeit 0x08 und TotZeit_0x30 mit Totzeit 0x30 . Masse vom Oszi hängt am Verbindung zwischen Q2 und Q3 (VS vom IR2110), Kanal 1 (blau) am Gate vom Q2 und Kanal 2 (gelb) am Gate vom Q3. (Leider beide Kanäle haben gemeinsame Masse...)
Vielen Dank für die Ozillogramme! Man sieht jetzt auch gut, warum eine kleine Totzeit den Einstellbereich maximiert und umgekehrt eine sehr hohe Totzeit den Bereich unnötig einschränkt. Wer möchte, kann MIN_DEADTIME verkleinern und mit Totzeiten nahe der null experimentieren, aber das ist natürlich gefährlich und erfordert sehr schnelle Endstufen.
Ich habe Zweifeln ob Überstromsicherung richtig arbeitet. Im Zustand ohne Überstrom liegen SD-Pins von IR2110 „in der Luft“. Das Bild1 zeigt das Ergebnis. Kanal1 ist die Spannung auf SD und Kanal2 ist die Spannung auf Pin 10. Es scheint als ob die interne Kapazität von SD-Pins beim Einschalten vom High Transistor Q2 geladen wurde. Nach dem ich SD-Pins über einen Resistor 1.6 K auf Masse eingeschlossen habe,hat sich das Oszibild etwas geändert. Das Ergebnis zeigt Bild2. Trotzdem sieht man weiter diese Picks. Das alles habe ich aufgenommen ohne Spannung auf dem Shuntresistor (R8 auf Masse...). Man könnte auch weiter nach unten mit dem Resistor 1.6 K gehen aber die Leistungsverluste auf dem Resistor und auf dem Transistor T2 müssen berücksichtigen werden. Eine Alternative wäre eine Schmitt-Trigger Schaltung. Transistor T2 (n-p-n)wäre dann im Unterstrom immer in der Sättigung.
skorpionx schrieb: > Im Zustand > ohne Überstrom liegen SD-Pins von IR2110 „in der Luft“. Nein. Die SD Pins (und auch HIN und LIN) verfügen über interne Pulldowns, wie man dem 'Functional Block Diagram' im Datenblatt entnehmen kann.
Im Schaltbild wird ein ATmega88 verwendet im Projekt steht aber nur eine HEX Datei 14Kb für den ATmega168 zur verfügung gibt es auch noch eine 8Kb Version für den ATmega88 da die 14Kb Datei nicht in den ATmega88 past.
Günter schrieb: > da die 14Kb Datei nicht in den ATmega88 past. Eine HEX Datei ist kein binäres File, sondern eine Dateikonvention, mit der die meisten Programmer zurechtkommen. Es wird also nicht direkt die HEX Datei, sondern das daraus resultierende BIN in den MC geladen. Es gibt auch Tools, die HEX in BIN umwandeln. Hab gerade nochmal nachgeschaut, die höchste im HEX File verwendete Adresse für den Mega liegt bei 0x139c und passt damit locker in den Mega88.
:
Bearbeitet durch User
recht vielen Dank für den Hinweis zu der HEX Datei. Ich bin es immer gewohnt die von ATMEL Studio erzeugte HEX in den Prozessor zu laden. Ich benutze dazu das Programm AvrOspII und den Programmer AVR 910. Hat bisher immer gut fungtioniert. Beim einladen des oben genannten Programmes wurde jedoch nach Reset nur das Displey initialisiert und der Cursor blinkt auf der ersten Stelle ,weiter passiert nichts mehr.
Günter schrieb: > wurde jedoch nach Reset > nur das Displey initialisiert und der Cursor blinkt auf der ersten > Stelle Da muss was schief gelaufen sein (vermutlich ein LCD Pin), denn der Cursor wird normalerweise gar nicht aktiviert beim Initialisieren und direkt danach soll ein Text und die Diagnosezahlen auf dem Display erscheinen. Überprüfe nochmal die Anschlüsse des LCD Pin für Pin. Die Software läuft bei den anderen Nachbauern und es gibt auch keine Updates oder so. Es kann noch sein, das eine Taste dauernd gedrückt ist, das mag der VFD nicht beim Starten - dann sollte aber 'Reading EEPROM' auf dem Display einfrieren.
:
Bearbeitet durch User
Ich habe mir die Schaltung noch einmal genau angesehen. Bei der Verdrahtung ist mir dann aufgefallen das ich das Display wie gewohnt am Anschluss RW auf Masse gelegt habe ,hier aber Softwarseitig angesteuert wird. Nach der Verbindung zu PIN 19 funktionierte die Schaltung auf Anhieb. Muss jetzt noch eine Leistungsendstufe bauen und hoffe das dann alles funktioniert. Ich bedanke mich für die schnellen Antworten. Gruß Günter
Hallo, ich habe eine integrierte Drehstrombrücke "IRAMX16UP60B" entdeckt. Könnte man die für das Leistungsteil nehmen und die Eingänge mit den ATMega Ausgängen über Optokoppler zur galv. Trennung direkt ansteuern? Die Bausteine haben einen Shunt und eine Temperaturüberwachung eingebaut. MfG Hans
Hallo, noch eine Frage. Wenn man die Ausgabe für die Parameter über I2C übertragen würde, wären doch noch ein paar Pins frei. Könnte man da noch die Temperatur und den Strom überwachen und auf dem Display ausgeben? Hätte der MC genug Rechenleistung? Die Frage soll nicht heißen das ich auch nur eine Programmzeile schreiben könnte, es ich nur eine Frage nach den Möglichkeiten. MfG Hans
Hans L. schrieb: > Könnte man da noch > die Temperatur und den Strom überwachen und auf dem Display ausgeben? Das wird doch im Artikel erwähnt. Wenn du einen Mega im QFP Gehäuse wählen würdest, hattest du noch ADC Kanal 6 und 7, die du mit sowas belegen könntest, ohne irgendwas am LCD rumzufummeln. Wer sich die Mühe macht, und eine andere Displayschnittstelle wählt, muss sich aber über das vom VFD geforderte Timing im Klaren sein. Hans L. schrieb: > Hätte der MC genug Rechenleistung? Mit Sicherheit. Das ADC Messkonstrukt erlaubt auch eine simple Erweiterung um mehr Messkanäle. Hans L. schrieb: > ich habe eine integrierte Drehstrombrücke "IRAMX16UP60B" entdeckt. > Könnte man die für das Leistungsteil nehmen und die Eingänge mit den > ATMega Ausgängen über Optokoppler zur galv. Trennung direkt ansteuern? Guckst du Datenblatt. Der MC selber liefert 0-5V Pegel, und die Optokoppler am Ausgang nach Wunsch. Wenn dein Baustein das schluckt und auch positive Logik versteht, kann das schon klappen. Wenn du da mit Netzstrom hantierst, setzt du dich allerlei Gefahren aus, frag jemanden, der sich auskennt.
Hallo, ich bin leider im SMD-Löten nicht so bewandert. Könnte man als Basis einen Arduino Nano nehmen und als eine Art DIL-40 auf die Platine stecken? Welche Möglichkeit gibt es ein Analogsignal isoliert zu übertragen? MfG Hans
:
Bearbeitet durch User
Hans L. schrieb: > Könnte man als Basis > einen Arduino Nano nehmen und als eine Art DIL-40 auf die Platine > stecken? Scheint so. Den musst du aber über ISP programmieren, denn der Arduino Bootloader ist hier im Weg. Ist übrigens nur 'DIL-30'. Hans L. schrieb: > Welche Möglichkeit gibt es ein Analogsignal isoliert zu übertragen? Jede Menge, es ist aber entscheidend, was du da messen willst. Zur Strommessung gibt es bereits isolierte Sensoren, wie z.B. die ACS Serie von Allegro. http://www.allegromicro.com/en/Products/Current-Sensor-ICs.aspx
Hallo Matthias, danke für deine geduldigen Antworten. Ich habe einen ISP-Programmer das wäre kein Problem, aber warum ist der Bootloader im Weg. Es gibt einen X-Loader mit dem könnte man über den Bootloader Hexfiles laden. MfG Hans
Hans L. schrieb: > aber warum ist der Bootloader im Weg Genau weiss ich das auch nicht, die VFD Firmware geht aber davon aus, das sie den gesamten MC für sich hat. Ich arbeite nie mit Arduino (bis auf die Hardware) und kann deshalb nur sagen, das der BL auf jeden Fall Speicher benötigt. Wenn er konfliktfrei mit der VFD Firmware läuft, umso besser. Beachte aber auch, das TXD und RXD im Projekt rücksichtslos anders belegt sind. Glücklicherweise (nicht ganz ohne Absicht) sind da allerdings nur Taster dran. Spass mit der seriellen Schnittstelle ist aber dann garantiert, wenn die VFD Firmware die seriellen Sächelchen als Tastendruck interpretiert :-P
Hallo , ich habe gesehen das alle meine Arduinonanos mit ATMega 328 bestückt sind. Lt. Datenblatt sind die pinkompatibel mit den 168ern. Sind die auch softwarekompatibel? Ohne Änderung der Software zu betreiben? MfG Hans
Hans L. schrieb: > Ohne Änderung der Software zu betreiben? Manchmal gehts, manchmal nicht. Eigentlich sollte zwischen 88 und 328 nicht allzuviel anders sein - aber der Teufel steckt im Detail. Ich hänge dir mal ein HEX an, das ich gerade für den 328 kompiliert habe.
Hallo Matthias, danke für die Hex-Datei, aber ich werde noch etwas Zeit brauchen um die Platine zu fräsen. Wenn die Platine funktioniert werde ich mal das fliegend mit dem IRAMX16 verdrahten und sehen ob bzw. wie das funktioniert. Zur Info mal das Layout der des Controlteils. MfG Hans
Hans L. schrieb: > Zur Info mal das Layout Ich hoffe aber, das du nicht wirklich die langsamen 4N33 zu benutzen. Denke daran, das die PWM Frequenz etwa bei 15kHz liegt, da kommst du mit den Darlington-OK (was sie nochmal langsamer macht) nicht weit. 6N137, HPCL2630 sind z.B. geeignete Typen.
Hallo Matthias, ich habe das jetzt geändert und benutze die HCPL3180 als galvanische Trennung. Ich würde gerne als Leistungsteil die integrierte Brücke IRAMX20up60a nehmen. http://www.irf.com/product-info/datasheets/data/iramx20up60a.pdf Die hat aber wohl eine negative Logic ( open Emmitter pins ). Könnte ich die trotzdem nehmen? Kann ich die Ansteuerung von den HCPL3180 invertieren? Würde das funktionieren? MfG Hans
Hans L. schrieb: > Kann ich die Ansteuerung von den > HCPL3180 invertieren? Würde das funktionieren? Das sollte funktionieren, wenn du die Polarität der OC Ausgänge im Programm umdrehst. Allerdings musst du peinlich darauf achten, das während der Initialisierungsphase niemals die falsche Polarität an der Brücke ankommt, denn dann machts Bumm. Du musst also mit Pullups dafür sorgen, das die Ausgänge inaktiv sind, während der MC startet. Ich halte von diesen All-In-One Brückentreibern nicht so viel, weil der Schaden bei einer Fehlfunktion gleich den kompletten Chip zerstört.
Hallo Matthias, ich versuche jetzt das Leistungsteil diskret aufzubauen. Nur zur Sicherheit, wenn der Shutdownanschluß auf Spannung liegt ist der IR2110 abgeschaltet, auf Ground ist er aktiv? In ähnlichen Schaltungen mit dem IRFP260N sind danach noch 6 Dioden MURS360, brauchst Du die nicht? MfG Hans
Hans L. schrieb: > Nur zur > Sicherheit, wenn der Shutdownanschluß auf Spannung liegt ist der IR2110 > abgeschaltet, auf Ground ist er aktiv? So isses. Hans L. schrieb: > In ähnlichen Schaltungen mit dem > IRFP260N sind danach noch 6 Dioden MURS360, brauchst Du die nicht? Wenn du damit antiparallel zu den MOSFets geschaltete Dioden meinst - nö, brauche ich hier nicht, denn die von mir verwendeten IGBT vom Typ HGTG20N60B3D haben eine (Zitat aus dem Datenblatt) ' Anti-Parallel Hyperfast Diode', die extra dafür ist. Gekauft habe ich die Dinger hier: http://www.pollin.de/shop/dt/MzkwOTY4OTk-/Bauelemente_Bauteile/Aktive_Bauelemente/Transistoren/HGTG20N60B3D_30_Stueck.html 40A und 600V genügen auch verwöhnten Ansprüchen :-) Auch der im Schaltplan erwähnte G20N60 ist ein sehr robuster Typ für Motoransteuerung und brauchte mit meinen Motoren keine extra Diode. Je nach Geschwindigkeit und Stromtragefähigkeit der internen Bodydioden des MOSFet musst du externe Dioden hinzufügen - oder eben nicht.
:
Bearbeitet durch User
Hallo Matthias, kann das einschalten von den Treibern so funktionieren? Vielen Dank für deine Antwort Hans
Hans L. schrieb: > kann das einschalten von den Treibern so funktionieren? Wenn du dem Transistor noch einen Basisvorwiderstand spendierst, sollte das klappen. Ein leuchtender HCPL schaltet dann die Treiber ein. Die Überstromsicherung hast du damit allerdings erstmal lahmgelegt. Per Software ist das einfacher. Wenn du die Routine 'DisablePWMOutputs()' für deine Zwecke benutzt, ist das praktisch das gleiche und spart Hardware.
:
Bearbeitet durch User
Hallo liebe fU-Gemeinde, ich habe mir mal die Mühe gemacht und ebenfalls das Steuerteil des fU aufgebaut. Bei mir tritt aber ein fehler im Programm auf. Der Prozessor arbeitet wie beschrieben, zuerst mit der einschaltmeldung, dann die eeprom-Abfrage usw. Leider fängt das immer wieder von vorn an, das ist eine Schleife. Hat von euch auch schon mal jemand so einen fehler gehabt?
Stefan schrieb: > Der Prozessor arbeitet wie beschrieben Welcher Prozessor? Die Schaltung arbeitet mit Mega88, 168 und 328, aber sollte jeweils für den passenden Ziel-MC kompiliert werden. Für mich klingt das so, als würdest du z.B. ein Mega88 Kompilat auf dem Mega328 ausprobieren.
Nein, ich verwende den ATMEGA168 und habe das kompilierte HEX-File incl. EEPROM-Daten aufgespielt. Also die Daten die im ZIP-Ordner hinterlegt sind.
Dann nimm mal das angehängte HEX File. Das ist explizit für einen Mega168 (ohne P und ohne A) kompiliert.
Stefan schrieb: > Habe nur ein paar von den ATMEGA168A-PU vorrätig. Muss du nur sagen. Anbei ein Kompilat für den Mega168A. Sollte sich aber vom Mega168 nicht unterscheiden. Du solltest auch unbedingt mal die Fuses des MC überprüfen. Ein aktivierter Watchdog kann auch zu solchen Resultaten führen.
:
Bearbeitet durch User
Ja, das mit den Fuses muß ich noch einmal überprüfen. Ich habe mich da an die Werte gehalten die hier schon im Forum angegeben wurden. Zitat: Der o.a. Fuse Calculator sagt: Low: 0xD6 , High: 0xD1, Extended: 0xFC Habe leider mit den ATMEGA Typen wenig Erfahrung. Hatte bisher alles mit 8051-Derivaten gemacht. Naja, mal sehen... Werde auf jeden Fall heute Abend mal die neue HEX-Datei aufspielen und vieeeeleicht habe ich ja Glück... Würde das Ding gern etwas weiterentwickeln, wenn ich Zeit habe immer Stück für Stück..
Stefan schrieb: > Würde das Ding gern etwas weiterentwickeln, wenn ich Zeit habe immer > Stück für Stück Nur zu. Am besten bekommst du aber erstmal die jetzige Version zum Laufen, das wäre hilfreich. Die richtige Einstellung ist Ext. FullSwing Crystal, langes Startup, CKDIV disabled, EESAVE enabled, SPIEN enabled, BootResetVektor disabled Und am besten programmiert man auch einmal das *.eep file, damit der EEPROM vorbesetzt ist.
So, den ersten Erfolg hatte ich nun. Diese "Schleifenprozedur" sind weg. Habe nur Deine Datei aufgepielt und es funktionierte. Es scheint doch kleine Unterschiede zu geben bei den Atmegas. Danke für die Hilfe. Ich werde dran bleiben.
@Hans Lang: Dein Layout solltest du noch mal etwas überarbeiten. Der Platz zwischen den OK-Beinchen reicht knapp als Luftstrecke zwischen 230VAC<->Bediener. Aber nur wenn er auch frei bleibt. Kupfer hat dort nichts zu suchen. Und an anderen Stellen besteht zwischen den netzführenden Leiterbahnen und denen aus dem Niderspannungsteil ein Abstand von nur ca 1mm. Das kann mehr als weh tun! Mit dem Leistungsvermögen des Stromnetzes ist nicht zu spaßen.
Ich bräuchte eine Empfehlung zum Optokoppler. Ich wollte den eigentlich weglassen, der Gleichspannungsteil im Zwischenkreis hat aber Potential zum AC-Netz, der Phasenprüfer leuchtet im Betrieb bei + und -. Also doch besser trennen. Ich möchte das Ganze mit 12V statt 18V aufbauen. Als Mosfet habe ich irf840 bestellt. Geht z.B. PC817, 4n35?
grundschüler schrieb: > Ich wollte den eigentlich > weglassen, der Gleichspannungsteil im Zwischenkreis hat aber Potential > zum AC-Netz, der Phasenprüfer leuchtet im Betrieb bei + und -. Niemals(!) darfst du die Trennung zwischen GND und GNDI aufheben, das steht aber auch fett gedruckt im Artikel, den du dir durchlesen solltest. Es besteht dann Gefahr für Leib und Leben, denn selbst der Metallrahmen des LCD führt dann Netzspannung! grundschüler schrieb: > Geht z.B. PC817, 4n35? Notfalls kannst du den 4N35 nehmen, der PC817 ist zu langsam. Die PWM Frequenz liegt bei etwa 31kHz und der 4N35 mit seinen 100kHz (10µs) ist mit Ach und Krach ausreichend, man muss aber auf weiterhin positive Logik achten (siehe unten). Nachteile sind die grosse Verzögerung und das vermutlich notwendige Hochdrehen der Totzeit, die den nutzbaren Bereich der Spannungsregelung einschränkt. Der HCPL3180 ist ideal für 12V Betrieb und könnte die Lowside sogar direkt antreiben, da er 2A Ausgangsstrom liefern kann und mit 0,2µs Delay auch richtig schnell ist. Ausserdem besitzt er positive Logik (LED an -> Ausgang high), was nicht zu verachten ist. Andere Empfehlungen stehen im Artikel, der HCPL2630 und der 6N137 sind ausreichend schnell.
:
Bearbeitet durch User
Matthias S. schrieb: > Es besteht dann Gefahr für Leib und Leben, denn selbst der > Metallrahmen des LCD führt dann Netzspannung! Das ist schon klar. Man sollte die Finger davon lassen, wenn man sich mit den Gefahren von Strom nicht auskennt. Bestellt habe ich jetzt 6N136, die sind schnell und müssten 12V abkönnen.
Die Bauteile sind jetzt angekommen. Es geht also weiter. Bei den Mosfets habe ich mich für irf840 entschieden. Ich möchte den Aufbau leicht abwandeln und orientiere mich dabei an http://www.ebay.com/itm/EGS031-threephase-pure-sine-wave-inverter-driver-board-EG8030-UPS-EPS-test-board-/130894916453 Leider gibt es das EG8030-datasheet nur in chinesisch. Ohne datasheet nützt das Teil wohl nicht allzuviel. Da es mir mehr um das Verständnis als um einen fertigen FU geht, möchte ich das PWM-Signal ohnehin selbst generieren. Frage zum shunt: Meine ir2110-Versorgungsspannung wird 12V. Ich möchte den shutdown einstellbar machen. R9/R8 durch Potis ersetzen?
grundschüler schrieb: > R9/R8 durch Potis ersetzen? Du könntest über den Shunt ein Poti legen und am Schleifer die Basis von T1 anschliessen. Der Shunt sollte dann so bemessen sein, das in der empfindlichsten Einstellung etwa 0,7V an ihm abfallen. Mit dem Poti kann man dann die Einstellung unempfindlicher machen. Das Ändern von R8 oder R9 bringt nichts.
super Programm. Ganz kleiner Ergänzungsvorschlag für die menues:
1 | // black button - cycle through parameters
|
2 | case 1 : parameter++; if (parameter > NUMPARAMS) parameter = 0; |
3 | |
4 | if(parameter){ |
5 | lcd_goto(1,11); |
6 | lcd_putc('#'); |
7 | lcd_goto(1,5); |
8 | lcd_putc(' '); |
9 | }else{ |
10 | lcd_goto(1,11); |
11 | lcd_putc(' '); |
12 | lcd_goto(1,5); |
13 | lcd_putc('#'); |
14 | }
|
15 | _delay_ms(200); |
16 | break; |
Ich habe in der Hauptschleife noch einen Sekundentimer integriert, der die tatsächliche Frequenz misst:
1 | for(;;) |
2 | {//+++++++++++++ while +++++++++++++++ |
3 | |
4 | if(t1>14000){ |
5 | // led1_tog;
|
6 | lcd_goto(4,10); |
7 | lcd_int4(sec,0); |
8 | sec++; |
9 | t1=0; |
10 | //++++++ sec ++++++
|
11 | |
12 | lcd_goto(4,16); |
13 | lcd_int4((zlx),0); |
14 | zlx=0; |
15 | |
16 | }//---------- sec ----------- |
17 | |
18 | execCommand(); |
19 | }//+++++++++++++ while +++++++++++++++ |
20 | }
|
grundschüler schrieb: > super Programm. Ganz kleiner Ergänzungsvorschlag für die menues: Wäre schon, wenn du schreibst, wofür das sein soll. Falls du wissen willst, welches der aktive Parameter ist, musst du dir nur den Cursor anschauen, der steht schon richtig. grundschüler schrieb: > der > die tatsächliche Frequenz misst Die tatsächliche Frequenz könntest du aber nur mit einer externen Referenz messen. So zählst du lediglich mit dem internen Takt.
:
Bearbeitet durch User
Matthias S. schrieb: > nur den Cursor Das war das Problem. Cursor wird nicht angezeigt. Externe Referenz ist die Küchenuhr, mit der der Sekundentakt abgeglichen ist.
grundschüler schrieb: > Das war das Problem. Cursor wird nicht angezeigt. Du scheinst ein Display zu haben, bei dem der Unterstrich fehlt.
ich benutze i2c-lcds ohne Cursor. Nach der Umstellung fehlte dann zwangsläufig der Cursor. Dadurch das Problem mit der Anzeige. Beim Zeittakt fällt auf, dass sich Taktfrequenz nach Reduzierung der Amplitude unter 100% um ca. 5% verlangsamt. Wie kann das sein? Setzt der Takt bei Berechnung der Amplitude aus?
grundschüler schrieb: > Wie kann das sein? Nicht hier. Da du aber eine umgebaute Version benutzt (ich habe da was von I2C gelesen), ist es möglich das deine modifizierte Version Probleme hat, den Timer1_IRQ ohne Verzögerung zu bedienen. Alle anderen Interruptroutinen müssen sich dieser unterordnen und sich von dieser unterbrechen lassen.
:
Bearbeitet durch User
Matthias S. schrieb: > Timer1_IRQ Verzögerung Eigentlich nicht. lcd läuft nur in der Hauptschleife ohne interrupt. Ich versuche den Programmaufbau zu verstehen. Die Sinustabelle hat 192 Wertepaare. Das muss bei hohen Frequenzen wegen des mcu-Taktes reduziert werden. Dies geschieht über sineTableIncrement = Inco; AdjustSineTableIndex(sineTableIncrement); ... static void AdjustSineTableIndex(const uint16_t increment) { sineTableIndex += increment ; ... Inco wird über die Taster vorgegeben und hat einen Wert zwischen 0/0Hz und 255/max Hz. Ich hätte erwartet, dass die Tabelle Wert für Wert ausgelesen wird bzw dass die Schrittweite irgendwo zwischen 1 und 4 liegt. Wieso Inco zwischen 0 und 255? Welche Werte der Tabelle werden gelesen bzw. ausgelassen?
grundschüler schrieb: > Wieso Inco zwischen 0 und 255? Welche Werte der Tabelle werden gelesen > bzw. ausgelassen? Es wird immer inco auf den Zeiger in die Tabelle addiert, der Zeiger aber auch immer wieder auf die Länge der Sinustabelle justiert. Wenn also der Zeiger erst auf 0 stand und 255 dazu addiert wird, zeigt er nach AdjustSineTableIndex() auf 255-192 = 63. grundschüler schrieb: > lcd läuft nur in der Hauptschleife ohne interrupt. Dann schau dir deine I2C Library nochmal an. Wenn die die I2C Hardware des Mega benutzt, dann kann es durchaus sein, das da der TWI Interrupt benutzt wird.
:
Bearbeitet durch User
ich verstehe Inco=193 - bei mir ca. 59,5Hz. - gibt Schrittweite 1, d.h. alle Tabellenwerte werden in einem Frequenzcyclus abgelaufen? Inco=194 - bei mir ca. 6,20Hz. - ergibt Schrittweite 2 nur noch jeder 2. Tabellenwert wird abgelaufen? Das kann irgendwie nicht sein, also verstehe ich es falsch, denn dein Programm funktioniert ja. Ich habe natürlich versucht, einen Sinusgenerator selbst zu programmieren. Mit einer 48-Werte Tabelle komm ich bis ca.70Hz bei Schrittweite 1/8Mhz. Taktfrequenz. Darüber reicht die Zeit während eines Frequenzcyclus nicht, um alle Tabellenwerte abzulaufen. Dabei habe ich wesentlich weniger Rechenaufwand in der ISR wie du. Kannst du mir erklären, wie bei deinem Code mehr als 48Werte bei 70Hz abgearbeitet werden können???
grundschüler schrieb: > Ich habe natürlich versucht, einen Sinusgenerator selbst zu > programmieren. Schau dir dafür mal bitte die AVR314 Application Note an, wo das gleiche Prinzip benutzt wird, um aus einer Sinustabelle verschiedene Tonhöhen (DTMF Töne) durch unterschiedliche Schrittweiten zu erzeugen. Als Besonderheit werden da auch gleich zwei Frequenzen gleichzeitig erzeugt und dann addiert. Das PDF beschreibt detailliert, wie das berechnet wird. http://www.atmel.com/images/doc1982.pdf Ergänzend und als Basis für das FU Projekt ist AVR447 empfehlenswert, wie auch im Projektartikel erwähnt. http://www.atmel.com/Images/doc8010.pdf Auch ist der Code des FU ja nicht sonderlich kompliziert. Wenn du dir die Timer1 ISR Schritt für Schritt anschaust, siehst du ja auch, wie es läuft. Setze ein paar Beispiele für Inco ein und plotte dir die resultierenden PWM Werte auf einen Zettel. Da die Timer übrigens im 'Phase Correct Mode' betrieben werden, liegt die Refreshrate bei 31,25kHz. (16Mhz/512)
:
Bearbeitet durch User
Matthias S. schrieb: > Setze ein paar Beispiele für Inco ein und plotte dir die > resultierenden PWM Werte auf einen Zettel. ok, habe ich mittels vb-programm probiert: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim i, step_width, zg, st_length As Integer step_width = TextBox2.Text st_length = TextBox1.Text ListBox2.Items.Clear() For i = 0 To st_length - 1 zg = zg + step_width If zg > st_length Then zg = zg - st_length If zg > st_length Then zg = zg - st_length ListBox2.Items.Add(ListBox1.Items.Item(zg)) Next 'freq = DIVISIONEER/(SINE_TABLE_LENGTH*100/Inco); Label3.Text = 59000 / (st_length * 100 / step_width) / 10 Bei Stepwidth 170=>52,2Hz ergibt sich bei mir folgende Reihe: "0","0","0","0",113,236,241,127,"0","0","0","0","0",155,250,221,82,"0"," 0","0","0",33,192,255,192,33,"0","0","0","0",82,221,250,155,"0","0","0", "0","0",128,241,236,113,"0","0","0","0","0",168,253,212,66,"0","0","0"," 0",50,202,254,180,17,"0","0","0","0",98,229,246,142,"0","0", Das wäre dann eine Sinustabelle mit gerademal acht Werten? Habe ich da irgendwo einen Denkfehler?
grundschüler schrieb: > Habe ich da > irgendwo einen Denkfehler? Zumindest ist unklar, was du dir da für Werte ausplottest. Sollen das nun 3 Phasen sein? Kann ja eigentlich nicht sein, da es nie vorkommt, das alle 3 Phasen 0 sind. Soll es nur eine Phase sein? Kann auch nicht sein, da eine Phase nicht 5 mal hintereinander null ist. Welche F_CPU setzt du voraus und warum teiltst du freq nochmal durch 10? Wie o.a. wird der Algorithmus in AVR314 ab Seite 3 erklärt. Würde man inco auf 1 setzen, wird die Sinustabelle mit der langsamsten Geschwindigkeit durchgeklappert, bei inco = 2 wird jeder 2. Wert benutzt und die Ausgangsfrequenz verdoppelt usw.
:
Bearbeitet durch User
Danke für die schnelle Antwort. Meine Sinustable ist praktisch identisch mit deiner. Die Werte für eine halbe (positive) Sinusphase, dann Nullen für die negative Phase. Das ganze 2x hintereinander, damit alle 6 Halbphasen mittels Offset Werte abgreifen können. Statt Offset sind bei dir jeweis drei einzelne Phasenwerte angegeben. Macht wohl keinen Unterschied. Errechnet wird bei mir jeweil eine halbe positive Phase. Matthias S. schrieb: > durchgeklappert Das habe ich durchgelesen und - denke ich - verstanden. Das ist ja soweit auch einfach, wenn die Schrittweite relativ klein ist. Sieht man in meinem vb-programm auch ganz gut, weswegen ich glaube, dass es richtig rechnet. Mein Problem sind die Schrittweiten zwischen ca.70 und ca.130. Da kommt dann nichts sinusartiges mehr raus. für Schrittweite 100/30Hz: 0,66,0,127,0,180,0,221,0,246,0,255,0,246,0,221,0,180,0,128,0,66,0,0,33
Matthias S. schrieb: > Welche F_CPU > setzt du voraus und warum teiltst du freq nochmal durch 10? bei mir 8MHz deswegen Divisioneer bei mir 59000 (praktisch dein Wert/2). Wenn ich es richtig verstanden habe wird bei dir - printdec(freq) - die Frequenz als *10-Wert angegeben. Deswegen im vb-Programm /10.
Ich muss noch mal nachfragen. Deine Tabelle hat 192 (*3) Werte. Davon 96 positive Sinus-Werte, dann 96 0-Werte für die negative Phase. Inco/Schrittweite von 0 bis 255. Wenn die Schrittweite bei 192/2=96 ist, werden zwangsläufig abwechselnd Werte und Nullen gegriffen. Die Schrittweite 1 entspricht 192+1=197, da die Tabelle praktisch wieder von vorne anfängt. Danach hätte man einen (linearen?) Anstieg der Frequenz nur zwischen 1 und 96, wobei ab 70 keine brauchbaren Werte mehr entstehen. Dein FU funktioniert, also ist irgendwas an meiner Theorie falsch. Was??? > Da die Timer übrigens im 'Phase Correct Mode' betrieben werden, liegt > die Refreshrate bei 31,25kHz. (16Mhz/512) Alternativer Ansatz wäre gewesen die Timer im Sägezahnmodus mit doppelter Frequenz zu betreiben (/256). Man hätte die Frequenz durch Verkleinerung der Auflösung vergrößern können, indem man beim Überlauf die Zähler TCNTx z.B. auf 128 setzt, wodurch sich die Frequenz verdoppelt aber immer noch alle Tabellenwerte abgegriffen werden. ??? Hast du mal versucht, deinen Code auf einen ARM umzusetzen?
grundschüler schrieb: > Hast du mal versucht, deinen Code auf einen ARM umzusetzen? Nicht den VFD, aber AVR447 (Brushless Motor with Sinus Modulation). Allerdings benutze ich sowohl auf dem XMega als auch auf dem STM32F100 (VL Discovery) andere Hardware, also auf dem XMega (192A3/A1) die AWEX Peripherie und auf dem STM32F100 einen Advanced Timer mit 3 PWM Registern in einem Timer. Das Prinzip bleibt aber genau das gleiche. Lies dir doch einfach mal AVR314 durch, wie jetzt schon öfter vorgeschlagen. Da steht das Prinzip mit Formeln drin.
Hallo, ich weiß nicht ob hier noch jemand rein sieht, aber ich stell da mal ne Frage. Hat mal jemand das Signal am Atmega aufgezeichnet? Bei mir kommt kein Sinus. Oder hab ich einen Denkfehler. Versetzte Phasen sind da. Die Fet´s werden auch angesteuert. Aber wenn es Sinus sein soll, passt bei mir was nicht. Gruß Lota
lota schrieb: > Aber wenn es Sinus sein soll, passt bei > mir was nicht. Dein Oszi scheint eine viel zu geringe Abtastrate zu haben. Es wird eine PWM erzeugt, die in ihrer Breite sinusmoduliert ist. Dein Oszi sieht zwar die PWM, kann aber ihre Pulsbreite nicht darstellen. Wenn du das Signal durch einen Tiefpass schickst, der die 31 kHz der PWM rausfiltert, wird auch dein Oszi die 'Popokurven' sehen.
:
Bearbeitet durch User
Hallo Mathias, das kann ich einstellen. Geht bis 250Mhz. das solte reichen. Teste ich. Danke Gruß Lota
Es gibt ein kleines Update, mit dem man jetzt beim Kompilieren auch 3 echte Sinuskurven (jeweils um 120° versetzt) erzeugen kann, statt wie bisher nur die typischen 'Popokurven' für Motoren. Wenn 'PURE_SINE_DRIVE' definiert ist (im Quellcode in main.c), wird eine andere Tabelle aktiv, mit der das erreicht wird - ausserdem wird in der Amplitudenberechnung anders gerechnet. Zur Unterscheidung meldet das Display beim Starten nun 'VFD Motor Drive' bei Benutzung der alten Tabelle und 'VFD Sine Drive' bei der neuen. Solange ich die Datei nicht in den Artikel hochladen kann (geht irgendwie nicht), hänge ich den neuen Projektordner mal hier an.
So, hat sich geklärt, die aktuelle Version ist nun auch beim Artikel zu finden. Nebenbei habe ich euch auch gleich mal 6 HEX files mit ins Archiv gepackt, jeweils für Mega88, 168 und 328 kompiliert und eben Sinus- oder Motorkurven.
Hallo Mathias, Danke füe diesen Top Beitrag! gibt es eine Stückliste? Gruss HP
Hanspeter S. schrieb: > gibt es eine Stückliste? Nö, sollte aber mit Eagle zu machen sein. Soweit ich weiss, hat bisher niemand genau diese Schaltung nachgebaut, sondern immer irgendwas modifiziert oder umgebaut.
:
Bearbeitet durch User
Hallo Matthias, Dein Frequenzumrichterprojekt scheint wirklich sehr gelungen - sofern ich das beurteilen kann. Allerdings brauche ich ein wenig Nachhilfe (elektrische Maschinen war nie mein Lieblingsthema). Hoffentlich fällt jetzt die „Meute“ nicht über mich her, wenn ich doch noch einmal die Frage stelle, warum ein Kondensatormotor nicht über einen FU geregelt werden kann. Prinzipiell ist doch so ein Motor auch eine Asynchronmaschine und der Kondensator dient doch nur zur Phasenverschiebung für die Hilfswicklung – oder? Wenn ich nun die Phasenverschiebung der Hilfswicklung mit einer um 90° verschobenen Tabelle realisieren könnte (natürlich mit der dafür notwendigen Hardware), müsste der Motor doch laufen können und zwar ohne den Original-Kondensator, der natürlich nur für eine Frequenz ausgelegt werden kann. Eine solche Lösung könnte dann evtl. für den gesamten Regel-Frequenzbereich funktionieren. Wo liegt mein Denkfehler? Gruß Peter
PA A. schrieb: > Eine solche Lösung könnte dann evtl. für den gesamten > Regel-Frequenzbereich funktionieren. > Wo liegt mein Denkfehler? Kein Denkfehler, alles soweit richtig. Allerdings gibt es Pferdefüsse, denn die Hilfwicklung ist meistens schwächer dimensioniert, verträgt also nicht die volle Leistung der Hauptwicklung. Da das auch von Motor zu Motor verschieden ist, wäre das ein Parameter für die Skalierung, der eingestellt werden sollte, das Menü müsste also erweitert werden. Wünschenswert wäre auch eine einstellbare Phasenverschiebung von z.B. 80°-100°, um Geräuschentwicklung zu minimieren. Ferner sind die drei Phasen dann auch nicht mehr beliebig austauschbar, man muss also wissen, das es zwei Hauptphasen gibt (z.B. U1 und U2) und eine Nebenphase (Z1). Das Prinzip des Kondensatormotors wird übrigens recht gut bei z.B. Youtube erklärt. Suche nach 'Single Phase Induction Motor' und du stösst auf einige recht gute Videos.
:
Bearbeitet durch User
Hallo Matthias, danke für die Hinweise. Dann werde ich das Projekt wohl doch 'mal angehen - vielleicht werde ich ja doch noch zum Motor-Profi :-) Gruß Peter
Hallo Zusammen, ich bin gerade dabei mich mit diesem Projekt zu beschäftigen und habe ein Grundlegendes Verständnisproblem. Ich verstehe nicht wie hier die Drehzahl vergrößert oder verkleinert wird auf der Timerebene. Im Detail ist ja so dass die Time im Phase Correct Mode arbeiten. D.h. jeder Timer zählt von unten (0) nach oben (bis 255) und dann wieder nach unten (0) usw. Die Pulsbreiten werden durch die Compare Werte aus der Sinustabelle verändert. Aber wie wird die Periodenzeit auf der Timerebene, also die Drehzahl verändert? Bin leider auch nicht aus der AVR447 Appnote schlauer geworden. Wäre jemand bereit das kurz zu erklären oder kann jemand mir einen Hinsweis geben wo ich dafür eine Erklärung finden kann? Grüße, Eric
Eric schrieb: > Wäre jemand bereit das kurz zu erklären Entscheidend für die Ausgangsfrequenz ist die Schrittweite zwischen zwei Tabellenzugriffen - im Progrsmm die Variable Inco. (IncrementOffset) Wenn bei zwei aufeinanderfolgenden Zugriffen auf die Tabelle nur um 1 inkrementiert wird, ergibt das die niedrigste Ausgangsfrequenz. Wird die Schrittweite erhöht, erhöht sich die Ausgangsfrequenz. Benutzt wird das u.a. auch in der AVR314 Application Note, wo nach diesem Prinzip DTMF Töne erzeugt werden.
:
Bearbeitet durch User
Ah, Danke! Jetzt habe ich es verstanden. Zumindest mal den Grundlegenden Teil Gruß Eric
Guten Morgen, zunächst einmal möchte ich Matthias für sein sehr sinnvolles und sehr gelungenes Projekt danken. Ich bereite gerade alle Zutaten vor, um seinen Umrichter für meine kleine Drehbank nachzubauen. Das Ganze wird anschließend auf eine komplette CNC-Drehbank hinauslaufen. Ich habe mich etwas intensiver mit dem Sourcecode beschäftigt und möchte hiermit eine konstruktive Kritik bzw. eine Verbesserung einbringen, vor allem im Zusammenhang mit dem Verständnis der Frequenzerzeugung. Diese wird nicht wie schon oben oft erwähnt mit der Schrittweite der Sinustabellenaufrufe bewerkstelligt sondern genauer gesagt mit der Zeitspanne zwischen den einzelnen Sinustabellenaufrufen. Die gesamte Sinuskurve aus der Tabelle wird durchfahren im gesamten Sinusfrequenzbereich von 0,6 Hz bis 162 Hz, es werden keine Werte ausgelassen wie dies bei der DTMF-Geschichte in AVR314 der Fall ist. Wie kommt diese variable Zeitspanne zustande?? Nun die Antwort liegt im Code: Die wichtigste Variable für die Frequenzerzeugung sind: 1. inco (8bit) 2. sineTableIndex (16bit) ANNAHME: inco = 1; Bei jedem TIMER1_CAPT_vect-Aufruf wird "sineTableIndex" in der Funktion "AdjustSineTableIndex" um den Wert in der Variablen "inco" inkrementiert. Danach wird "sineTableIndex" durch 256 dividiert (rechtsshift um 8 Stellen) und auf die Sinustabellenlänge von 192 angepasst. Die Division durch 256 bewirkt, dass "sineTableIndex" bei einem "inco = 1" erst nach jedem 256stem TIMER1_CAPT_vect-Aufruf um einen einzigen Zähler erhöht wird. Bei der Aufruffrequenz des TIMER1_CAPT_vect von 31,25 kHz wird somit alle 8,2 ms der nächste Wert aus der Sinustabelle in die PWM-Register geladen. Nach allen 192 Sinustabellenzugriffen vergehen 1,57 sek, das sind unsere 0,63 Hz Sinusfrequenz als Mindestfrequenz des Umrichters. ANNAHME: inco = 255 Nach wie vor wird "sineTableIndex" bei jedem TIMER1_CAPT_vect-Aufruf um "inco" inkrementiert, durch 256 dividiert und an 192 angepasst. Nur dieses Mal ist der Wert in "inco" mit 255 maximal, wodurch der "sineTableIndex" letztendlich bei jedem ISR-Aufruf um einen einzigen Zähler inkrementiert wird. Zwischen den einzelnen Sinustabellenaufrufen aller 192 Werte vergeht nun eine Zeit von 32 Mikrosek. Nach Abruf aller 192 Sinuswerte vergehen somit genau 6,1 ms, die unserer maximalen Sinusfrequenz des Umrichters von 162,8 Hz entsprechen. Man sieht hier also deutlich: In jedem Drehfrequenzbereich von 0,6 Hz bis 162 Hz werden ALLE Werte in der Sinustabelle durchlaufen. Es wird nichts übersprungen, obwohl dies sicherlich noch möglich wäre, um die Sinusfrequenz weiter zu erhöhen. Beste Grüße CNCler
CNCler schrieb: > Man sieht hier also deutlich: In jedem Drehfrequenzbereich von 0,6 Hz > bis 162 Hz werden ALLE Werte in der Sinustabelle durchlaufen. Danke für die Erklärung. Ich werde den Artikeltext mal entsprechend anpassen und wundere mich, das ich so vernagelt war, den Code zwar anzupassen und funktionsfähig zu gestalten, ihn aber anscheinend doch nicht kapiert habe, hehehe. +1 von mir. Edit: Wenn du die Zeit hast, schau doch mal unter dem Abschnitt 'Sinuserzeugung' ob ich deine Gedankengänge so richtig niedergeschrieben habe. https://www.mikrocontroller.net/articles/3-Phasen_Frequenzumrichter_mit_AVR#Sinuserzeugung Und nun ergibt das ganze endlich Sinn :-)
:
Bearbeitet durch User
Hallo Matthias, du hast es richtig beschrieben und sogar mit den entsprechenden Formeln prägnant untermauert, sehr gut. Ich freue mich schon auf den Nachbau des Umrichters. Beste Grüße CNCler
Moin moin, habe mir das ganze mal nachgebaut und festgestellt das drei Ausgänge invertiert sind. Glaube die Low Side. Betreibe das im Sine Modus mit 15khz. Mehr macht die angeschlossene Brücke nicht. mit LC Glied sehe ich brauchbare kurven am Ossi. Kann mir jemand etwas Schützenhilfe geben? Klar, könnte das ganze am Optokoppler wieder invertieren. Aber denke besser im Code. grüße und 73 DL5OP Kevin
Hallo, hat hier jemand ein schönes Layout zu diesem Projekt das man nachbauen kann? Wäre schön. Gruß Gerhard
DL5OP schrieb: > Klar, könnte das ganze am Optokoppler wieder invertieren. Die OC Ausgänge liefern an jede Phase zwei nicht überlappende komplementäre Signale, die bei flüchtiger Betrachtung invertiert gegenüber dem anderen Signal aussehen. In Wahrheit sind sie auch noch durch die Totzeit verschieden, so das ihre Flanken nicht übereinander liegen. Eine externe Invertierung ist normalerweise unnötig, denn wenn man sie bräuchte, kann man sie per Software bei der Timer Initialisierung machen.
Matthias S. schrieb: > Danke für die Erklärung. Das war vermutlich genau das Problem, weswegen ich mit dem Verständnis deines Codes gescheitert bin: Beitrag "Re: Diskussion zum Artikel "Single Chip Frequenzumrichter" für den 2. MC Wettbewerb"
Ich habe das Projekt nachgebaut und habe da mal eine Frage zu der Software. Und zwar würde ich gerne die Emitterströme der jeweiligen Low-Side IGBT messen. Dazu will ich eine zweite MCU verwenden. Die Idee ist, dass die erste MCU ein Signal an die zweite MCU ausgibt und damit die ADC Wandlung gestartet wird. Und zwar habe ich mir das so vorgestellt, dass das Signal in den jeweiligen Compare B Match Interrupts erzeugt wird. Also hier z.B. für den OC2A Ausgang. PC4 soll dann der Ausgang sein um die ADC Messung in der zweiten MCU zu starten. ISR(TIMER2_COMPA_vect) { PORTC |= (1 << PC4); //PB1 High PORTC &= ~(1 << PC4); //PB1 Low } Wenn ich das jetzt mit einem Logic Analyzer messe, dann sehe ich eine Verzögerung zwischen dem OC2A PIN und dem PC4 PIN eine Verzögerung von 17us. (Siehe Bild) CH4 --> OC2A entspricht WL CH5 --> OC2B entspricht WH CH6 --> PC4 Die MCU wird mit 16 MHz getaktet. Hat jemand eine Idee wie die relativ große Verzögerung zustande kommt und wie ich die reduzieren kann? Was noch komisch ist, dass der PC 4 zwei Signale direkt nacheinander liefert.. Grüße
Eric schrieb: > Und zwar habe ich mir das so vorgestellt, dass das Signal in den > jeweiligen Compare B Match Interrupts erzeugt wird. Was für ein Timing möchtest du denn? Die nützlichsten Signale werden vermutlich die Gatesignale sein, die der MC sowieso schon liefert. Eine zusätzliche ISR ist kritisch, weil die 3 Timer synchron laufen und alle OC Register bereits benutzt werden.
Ja, die Gate Signale für die Low-Side IGBTs wären richtig. Hatte mir am Anfang nur gedacht dass ich die über extra Pins ausgebe (Über die OC Interrups). Leider falsch gedacht. Am Mittwoch hänge ich mal nen Motor ran und teste ob der Motor sich überhaupt dreht oder ob sich noch andere Fehler eingeschlichen haben. Je nach dem werde ich dann das ein wenig umbauen und die Gate Signale verwenden, was ein wenig unschön ist, weil ich mir dafür Platinen anfertigen ließ. Trotzdem Danke und trotzdem ein tolles Projekt
Hallo, ein sehr schönes Projekt. Laut seiner Beschreibung könnte ich auch eine China Spindel betreiben und würde es auch gerne machen. Aber die Steuerung hat einen DA Wandler drin, so das ich ihn übern Rechner Steuern könnte. 0 - 5 Volt und einmal 0 - 10 Volt. Gibt es da Nicht eine Möglichkeit das zu Realisieren? Gruß Peter
Dunkel ist der Sinn deines Beitrages. Lt. wessen Beschreibung kann wer eine China Spindel (wasn das?) steuern? Welche Steuerung hat einen DA Wandler drin (der Frequenzumrichter hat sowas nämlich nicht)? Ob es eine Möglichkeit gibt, das zu realisieren, muss deswegen erstmal dahingestellt bleiben.
Man kann die Drehzahl der Spindel mittels Spannung ansteuern. Am einfachsten wäre ein Tiefpasses: https://www.mikrocontroller.net/articles/Pulsweitenmodulation#DA-Wandlung_mit_PWM
Hallo, Danke für die schnelle Antwort. Eine China Spindel ist ein Fräsmotor für eine CNC. Das Teil kommt aus China und wird daher so genand. Der Wandler ist in der Schnittstellenkarte gleich mit drauf. Tiefpass? Ja Aber bei diesen Frequenzumrichter Sind 2 Pins. Mmmmmhhhhh Gruß Peter
nach den Versuchsaufbau mit einen ATmega88PA habe ich die dazugehörige hex_File eingespielt. Die MCU wird mit 16Mhz getaktet. Das Programm arbeitet richtig aber die ausgegebene Frequenz entspricht nicht den auf den Display angezeigten Wert bei 50 Hz Anzeige wird 6 Hz ausgegeben bei100 Hz 12Hz bei150 Hz 18Hz die ausgegebene Frequenz ist demzufolge viel zu niedrig Ich habe Software dann nochmals im AVR Studio 7 compiliert das Ergebnis war dasselbe Woher kann das rühren hat da jemand eine Idee. Gruß Günter
Du solltest mal die Fuses deines MC überprüfen. Anscheinend läuft er noch im Auslieferzustand mit etwa 1 MHz. Du jedoch solltest die CLKDIV8 Fuse löschen und den 'Ext. High Frequency Crystal' Modus wählen. Wenn das bereits geschehen ist, schwingt dein Quarz nicht richtig, bzw. hat die falsche Frequenz.
Ich habe die Einstellungen der Fuse nochmals Überprüft den CLKDIV8 Fuse habe ich beim einstellen übersehen nach den löschen wurde dann die richtige Frequenz ausgegeben Für mein Vorhaben benötige ich eine Frequenz von 750Hz zum ansteuern einer Turbovakuumpumpe Da die MCU jetzt richtig läuft versuche ich jetzt die Software auf die höhere Frequenz anzupassen vielen Dank für die schnelle Hilfe ich hätte den Fehler nicht so schnell gefunden Gruß Günter
Günter P schrieb: > Für mein Vorhaben benötige ich eine Frequenz von 750Hz zum > ansteuern einer Turbovakuumpumpe Oha. Das erfordert recht weitreichende Modifikationen - die Sinustabelle muss deutlich kürzer werden. Da im derzeitigen Zustand die maximale Frequenz etwa bei 162 Hz liegt, muss die Tabelle also mindestens um den Faktor 5 gekürzt werden bzw. du legst 5 komplette Phasendurchläufe in der Tabelle ab. Darunter leidet die Genauigkeit erheblich. Es wäre zu überlegen, ob du nicht lieber Blockkommutierung für die Pumpe benutzen solltest oder einen MC benutzt, der deutlich mehr Rechenleistung hat.
ich habe mir die Software genau angeschaut und festgestellt das auf diese weise keine sinnvolle Frequenzerhöhung möglich ist. Um auf die notwendigen 750Hz zu kommen habe ich mich entschlossen ein von mir abgeschlossenes Projekt einer CNC Spindel mit einer maximalen Drehzahl von 20000 U/min (400HZ) zu erweitern. Die Frequenzerzeugung basiert auf einen AT90PWM3B mit einer reinen Sinustabelle von 2040 Inkrementen. In einen Versuch konnten die 750Hz schon recht gut erreicht werden. Der Nachteil besteht nur das an den AT90PWM3B keine LCD Anzeige anzuschließen geht und jede LCD Ausgabe die erreichbare Frequnz verringern würde. Da muß mir noch was einfallen. Gruß Günter
Günter P schrieb: > ich habe mir die Software genau angeschaut und festgestellt > das auf diese weise keine sinnvolle Frequenzerhöhung möglich ist. Habe ich mir auch schon gedacht. Wenn du da schon was mit dem 90PWM rumliegen hast, ist eine Weiterentwicklung dessen sicher sinnvoller. Günter P schrieb: > jede LCD Ausgabe die erreichbare Frequnz > verringern würde. > Da muß mir noch was einfallen. Das hingegen deutet auf ein falsches Konzept hin. Die LCD Ausgabe in meiner Software behindert die PWM überhaupt nicht, weil ich die Prioritäten anders setze. Erst kommt die Verarbeitung der Interrupts (PWM, ADC) und wenn wirklich nichts anderes zu tun ist, der Kommandointerpreter und das LCD.
Ich habe das mit der LCD Anzeige nun auch hinbekommen. Dazu habe ich jetzt die Frequenzerzeugung in die Timer0 Interruptschleife gelegt. Nur der Frequenzabgleich mit Timer0 machte etwas Schwierigkeiten. Für die LCD Anzeige habe ich die Software aus den Projekt verwendet da sie sich sehr gut anpassen läßt. Der AT90PWM3B ist eigentlich nicht für LCD Anschluß vorgesehen und man muss sich die Pins verteilt aussuchen. Hat aber geklappt. nochmals vielen Dank für helfenden Hinweise und die Unterstützung. Gruß Günter
Günter P schrieb: > Der AT90PWM3B ist eigentlich nicht für LCD Anschluß vorgesehen > und man muss sich die Pins verteilt aussuchen. Mal 'ne blöde Frage: Welche AVR sind denn für LCD Anschluß vorgesehen? Ich kenne einige mit einem integrierten LCD-Controller (z.B.: ATmega169). Das war es dann aber auch schon. Die HD44780 basierten Displays haben ein 8080-Interface, das habe ich noch an keinem AVR gesehen. Das läßt sich aber super mit ein paar GPIOs nachbilden. Dann fallen mir noch ein paar Displays mit SPI-Schnittstelle ein. Die läßt sich zur Not auch per Software auf beliebigen Pins abbilden.
Günter P schrieb: > man muss sich die Pins verteilt aussuchen Das ist immer so, wenn man keine Ausgangsmatrix für die PWM Signale hat und man auf die Pins festgenagelt ist, die der MC vorgibt. Aber > Hat aber geklappt. Im schlimmsten Fall nimmt man eines der modernen SPI Displays, bei denen nur 3 oder 4 Pins benötigt werden. Mit so einem Display sollte der FU dann auch auf einem der modernen kleineren Tiny laufen, bei denen es ja welche gibt, die auf BLDC Ansteuerung geradezu spezialisiert sind. Da kann es höchstens mit Flash ein wenig knapp werden - das sei aber als Übungsaufgabe dem geneigten Interessenten überlassen :-P
Zufällig bin ich über das Projekt gestolpert und da ist mir in den Zusammenhang ein Problem eingefallen was ich einmal hatte. Es ging um eine Heizungspumpe Grundfos Alpha 2 bei der war der Leistungstreiber FSB50450S defekt. Nach dem Tausch ging sie wieder. Jetzt stellt sich mir die Frage: Würde das hier gezeigt Projekt auch mit diesen Chip funktionieren? Gruß Franz
Franz Geier schrieb: > Würde das hier gezeigt Projekt auch mit > diesen Chip funktionieren? Nach dem Studium des FSB Datenblattes scheint nicht viel dagegen zu sprechen. Der FSB Chip integriert lediglich alle 3 Treiber und H-Brücken in einem Chip. Hinter den Optokopplern meines Projektes sollte man den FSB Chip direkt anschliessen können.
:
Bearbeitet durch User
Vielen Dank für die schnelle Antwort. Ich glaub ich hab dann ein neues Projekt für meine Liste :) Besten Dank Gruß Franz
Lieber Herr Schöldgen, an dieser Stelle möchte ich Ihnen meinen ganz außerordentlichen Dank aussprechen. Nicht nur für das Projekt "3-Phasen Frequenzumrichter mit AVR" von 2013 sondern auch für Ihr Engagement und die laufenden Antworten zu den diversen Fragen. Wie man lesen kann, hat das nicht nur vielen anderen geholfen sondern jetzt ganz explizit auch mir. Dieses ist auch der Grund warum ich diesen kleine Beitrag schreibe, denn ich möchte Teil der Hilfe, die ich hier erfahren habe gerne an die "Community" zurückgeben, vielleicht hilft es jemanden Anderen. Mein Problem war eine alte Whirlpool Wanne Hoesch Samoa von 1989. Nicht nur dass die mal sehr teuer war, viel entscheidender ist, dass sie (weil viel zu groß) früher von außen durch ein großes Loch in der Kellerwand in den Keller gekommen ist was jetzt nicht mehr gehen würde. Auch Ersatzteile natürlich Fehlanzeige. Die Steuerung (Bild5+6) ist von Siemens aus dem gleichen Jahr. Sie basiert auf einem SAB80C537-N und ist in die Jahre gekommen. Ich hatte wegen diverser Defekte mittlerweile alle Kondensatoren und Elkos getauscht. Aber dann ging die Steuerung des Pumpenmotors (3~ 0,8kW 103Hz 293o/min) nicht mehr, die ist Teil der Gesamtsteuerung. Auch hier ist es letztendlich ein 3-Phasen Frequenzumrichter, wobei der Mikro nur 3 PWM Signale liefert. Die Invertierung machen die Gatetreiber selber. In diesem Fall ein Hybridmodul, welches vergossen ist und natürlich auch nicht mehr als Ersatzteil erhältlich ist. Ich vermute auch hier sind die Kondensatoren ausgetrocknet siehe (Bild 1) Es ging nun darum diese "Hybridmodul/Gatetreiber" zu erstzen. Es ist eine Schaltung basierend auf dem HCPL3020 als schneller Optokoppler und dem IR2184 als eigentlicher Gatetreiber. Die Platine hat die gleichen Abmessungen und das Pinning wie der Ursprüngliche Hybrid. siehe (Bild 2) und (Bild 3). Für das "Shut Down" des IR2184 wird der Integrator mit dem 220nF Kondensator benutzt. Die Diode an Pin 2 verhindert eine Rückwirkung auf das PWM Signal. Als Gimmick ist die Grüne LED zu sehen, die anzeigt wenn das PWM Signal anliegt und die Schaltung arbeitet. Die Ausgänge gehen direkt an die MOSFETs IRFP450. Selbstredend, die Spannungen (5V und 12v) sind jeweils galvanisch vom Netz und untereinander entkoppelt. Die Schaltung (Bild3+4) hat noch deutlich optimierungspotential, aber sie funktioniert mittlerweile ohne Probleme. Auch das Layout kann noch verbessert werden. Die Widerstände R5+R6 mit 18 Ohm sind nur nachgefrickelt. Herr Schöldgen nach dem ich damals Ihre Schaltung sah, habe ich mich an dieses Projekt gewagt. Denn dadurch wurde mir klar dass dieses "Hexenwerk" um Frequenzumrichter, völlig überzogen ist. Wie man auch hier wieder sieht, man braucht nicht viel: Einen Mikro der die 3 PWM Signale für die 3 Phasen erzeugt 3 mal so ein Modul wie dieses hier und die Power MOSFETs. Herr Schöldgen, Ihnen vielen Dank.
Matthias S. schrieb im Beitrag #6175000: > Aber jetzt mal Tacheles - was hast du denn an der Schaltung meines FU > auszusetzen? Danke der Nachfrage. Matthias S. schrieb: > Der FU ist auch nicht dafür gedacht, geglättete > Sinusausgänge zu liefern, sondern durchaus die PWM zum Motor > 'durchzureichen'. Die Motorinduktivität sorgt für den Rest. > ... > Die derzeitig benutzte Schaltfrequenz im Artikel ist 31 kHz. Dieses 'durchzureichen' verursacht Wirbelstromverluste die speziell beim Langsam Lauf des Motors besonders hoch werden. Auch die Schaltverluste in den drei Brückenzweigen werden so unnötig hoch was einen schlechten Wirkungsgrad ergibt. Ohne 'durchreichen' sieht das übrigens so aus: https://www.sciencedirect.com/topics/engineering/pulse-width-modulation Wie in Figure 41.21. dargestellt. Das ist gang und gäbe, nur bei Deinem FU leider nicht. Wie man das Problem ganz leicht löst, habe ich da gezeigt: Beitrag "Arduino Kondensatormotor Drehzahlsteuerung" Beitrag "Re: Arduino Kondensatormotor Drehzahlsteuerung" LG old.
Wie du im Schaltplan sehen kannst, kann man durchaus Drosseln in den Ausgang hängen, was aber auch bei kommerziellen FU nur im Ausnahmefall gemacht wird. Mein Mitsubishi z.B. hat so etwas gar nicht, man kann hier lediglich zwischen verschiedenen PWM Wiederholfrequenzen auswählen.
Matthias S. schrieb: > kann man durchaus Drosseln in den > Ausgang hängen wenn "man" es nicht schafft highside und lowside separat mit PWM anzusteuern musst Du das wohl. :( LG old.
Aus der W. schrieb: > Matthias S. schrieb: >> kann man durchaus Drosseln in den >> Ausgang hängen > > wenn "man" es nicht schafft highside und lowside separat > mit PWM anzusteuern musst Du das wohl. :( Du hast immer noch nicht kapiert wie deine Endstufe kommutiert. Wird wohl auch für ewig so bleiben.
Aus der W. schrieb: > wenn "man" es nicht schafft highside und lowside separat > mit PWM anzusteuern musst Du das wohl. :( Sag mal, du hast immer noch nicht kapiert, wie der FU funktioniert? Soll ich dir jetzt nochmal erklären, das der MC sechs separate PWM Signale zur Verfügung stellt, die highside und lowside dreier Phasen separat ansteuern? Jede highside und jede lowside wird also mit einem eigenen PWM Signal versorgt.
Matthias S. schrieb: > Sag mal, du hast immer noch nicht kapiert, ... > Soll ich dir jetzt nochmal erklären, das der MC sechs separate PWM > Signale zur Verfügung stellt, die highside und lowside dreier Phasen > separat ansteuern? Ja bitte. Und zwar wie du, mit Deinem Treiber, High Side PWM schalten kannst während Low Side sperrt. Das ist nämlich Grundvoraussetzung für die für motorschonende Ansteuerung ohne sog. 'durchreichen' von PWM. LG old.
Aus der W. schrieb: > Und zwar wie du, mit Deinem Treiber, High Side PWM > schalten kannst während Low Side sperrt. Genauso wie das alle machen. Ich setze HIN auf logisch 1 und LIN auf logisch 0. Du scheint aber mit dem grundlegenden Prinzip Probleme zu haben. Die ganze PWM läuft mit hoher Wiederholfrequenz. Es handelst sich um 3 8-Bit Timer, die mit Werten zwischen 255 und 0 geladen werden. Wir lassen die Totzeit im Moment mal weg - fürs Prinzip. Für +325V am Ausgang lade ich in die 'Highside PWM' (vereinfacht, es ist eigentlich eines von 2 PWM Registern des Timers) den Wert 255, gleichzeitig wird in die Lowside PWM der Wert 0 geladen. Vereinfacht, wohl gemerkt. Bevor die Register geladen werden, wird eine Totzeit eingefügt und eine Skalierung für die Ausgangsamplitude gemacht. Das steht aber alles im Sourcecode und im ausführlichen Artikel. Aus der W. schrieb: > Das ist nämlich Grundvoraussetzung für die für motorschonende > Ansteuerung ohne sog. 'durchreichen' von PWM. Unsinn. Du redest dir da was ein, was es real nicht gibt. Die Motorinduktivität speichert und glättet so die PWM. Wie gesagt, das ist bei allen kommerziellen FU genauso. Du findest Ausgangsfilter in Sinuswechselrichtern, aber nicht in FU.
:
Bearbeitet durch User
Matthias S. schrieb: > Aus der W. schrieb: >> Das ist nämlich Grundvoraussetzung für die für motorschonende >> Ansteuerung ohne sog. 'durchreichen' von PWM. > > Unsinn. Du redest dir da was ein, was es real nicht gibt. Die > Motorinduktivität speichert und glättet die PWM. Er kapiert vor allem nicht, dass die Dioden auch ohne Ansteuerung kommutieren können.
Matthias S. schrieb: > Genauso wie das alle machen. Ich setze HIN auf logisch 1 und LIN auf > logisch 0. > Du scheint aber mit dem grundlegenden Prinzip Probleme zu haben. Das kann deine Hardware: highside: 1010101010101 lowside: 0101010101010 Das kann deine Hardware leider nicht: highside: 1010101010101 lowside: 0000000000000 ist aber Voraussetzung für motorschonende Kurven. Aus der W. schrieb: > Ohne 'durchreichen' sieht das übrigens so aus: > https://www.sciencedirect.com/topics/engineering/pulse-width-modulation > Wie in Figure 41.21. dargestellt. > Das ist gang und gäbe, nur bei Deinem FU leider nicht. LG old.
Aus der W. schrieb: > Das kann deine Hardware leider nicht: > highside: 1010101010101 > lowside: 0000000000000 Ich sach' ja, das du es nicht kapiert hast. Das muss kein FU können, weil es Unsinn ist. Es hat keinen Sinn, die Lowside offen zu lassen, weil dieser Betrieb sinnlos ist und die Wicklungen des Motor in der Luft lässt. Das wäre für den runden Lauf eines Motor Unsinn. Schau dir einen Motor in Stern- oder Dreieckschaltung an. Ich weiss schon, das du darauf hinauf möchtest, das die obere Ladungspumpe irgendwann alle ist, aber deswegen gibt es eine Wiederholfrequenz. Ausserdem kann so ein Elko für viele Millisekunden die Highside versorgen, aha sie wieder aufgeladen wird, wenn ich das für nötig befunden hätte. Aber das ist alles nicht nötig, weil die PWM Modulation ja weiterhin da ist. Ich will ja kein Rechtecksignal am Motor, was du offensichtilich vorhast, sondern eben Sinus oder die 'Popo' Motorkurven. Das ist hier kein billiger Mod. Sinus Generator mit Treppen, sondern ein echter Drehstromlieferant mit 3 Phasen. Da kommt kein Verharren auf +325V vor und auch nicht auf 0V. Sowas übrigens könnte meine Hardware, wenn ichs nur wollen würde: > highside: 1010101010101 > lowside: 0000000000010 Aber, wie o.a., ist es sinnlos. Wie wir übrigens hier schon lange festgestellt haben, sind diese Endstufen nur ein Bauvorschlag. Es sind dutzende von Modifikationen möglich und viele Erbauer haben da völlig andere Konstruktionen erschaffen. Aus der W. schrieb: > LG > old. Die Werbung kannst du dir sparen. Ich habe ein Telefon von LG und bin ganz zufrieden. Der Rest ist nur Gesabbel und nicht ehrlich.
:
Bearbeitet durch User
Matthias S. schrieb: > Ich weiss schon, das du darauf hinauf möchtest, das die obere > Ladungspumpe irgendwann alle ist, aber deswegen gibt es eine > Wiederholfrequenz. Ausserdem kann so ein Elko für viele Millisekunden > die Highside versorgen, aha sie wieder aufgeladen wird, wenn ich das für > nötig befunden hätte. "Daten: Frequenzbereich: regelbar von ca. 0,6 Hz - 162 Hz" Halbe Periodendauer durch 0,6Hz 0.5/0,6Hz = 0,84sek Also fast eine Sekunde! Du hast dir mit diesem kardinalen Fehler viele Optionen genommen! Matthias S. schrieb: > Ich will ja kein Rechtecksignal am Motor, was du offensichtilich > vorhast, sondern eben Sinus oder die 'Popo' Motorkurven. Kannst Du haben, scorpionx hat euch die integrierte PWM gezeigt und leider vergeblich erklärt: Beitrag "Frequenzumrichter für Wechselstrommotor." Und folgende Beiträge. LG old.
Aus der W. schrieb: > Also fast eine Sekunde! > > Du hast dir mit diesem kardinalen Fehler viele Optionen genommen. Es ist einfach nicht zu glauben :-( Du hast nicht mal ansatzweise kapiert, das die Ausgabefrequenz des FU nichts, aber auch gar nichts mit der PWM Wiederholfrequenz zu tun hat. Ich kann die Ausgangsfrequenz des FU im genannten Bereich steuern, aber die PWM bleibt doch weiterhin bei 31kHz. Ich habe dir jetzt mehrfach vorgeschlagen, dein Arduino Dings mal mit der Firmware des FU zu flashen und dir einfach mal die Ausgangssignale anzusehen. Wenn du das nicht kannst, aber auch nicht verstehen willst, wie mein FU funktioniert, dann ist dir nicht zu helfen. Ich würde dich auch bitten, wenn dir das grundlegende Verständnis fehlt, dir mal die entsprechende Application Note bei Microchip durchzulesen, bevor du dich hier völlig outest: http://ww1.microchip.com/downloads/en/AppNotes/doc8010.pdf Früher AVR447, jetzt AN8010. Ach, noch was. Der Typ (oldeurope) ist den ganzen Thread hier durchgegangen und hat alle meine Beiträge runtergewertet. Lsst euch davon nicht stören, sie haben dadurch nicht an Gültigkeit verloren :-)
:
Bearbeitet durch User
Matthias S. schrieb: > Es ist einfach nicht zu glauben :-( Du hast nicht mal ansatzweise > kapiert, das die Ausgabefrequenz des FU nichts, aber auch gar nichts mit > der PWM Wiederholfrequenz zu tun hat. > Ich kann die Ausgangsfrequenz des FU im genannten Bereich steuern, aber > die PWM bleibt doch weiterhin bei 31kHz. Das unterstellst du mir. Bei dir sind die 31KHz fix, bei mir die 1KHz PWM. Ich belaste meinem Motor nicht mit der PWM rail to rail Amplitude. Matthias S. schrieb: > Ach, noch was. Der Typ (oldeurope) ist den ganzen Thread hier > durchgenengen Das sollte man vor dem Einstieg in einen Thread immer tun. > und hat alle meine Beiträge runtergewertet. Lsst euch > davon nicht stören, sie haben dadurch nicht an Gültigkeit verloren :-) Warum sagst du sowas? Ich habe sowohl positive als auch negative Bewertungen abgegeben. Das wird dir ein Mod. hier sicher bestätigen. Also komm mal wieder runter. LG old.
Aus der W. schrieb: > Das unterstellst du mir. Ich unterstelle gar nichts. Ich lese einfach nur deinen Unsinn: Aus der W. schrieb: > Ausserdem kann so ein Elko für viele Millisekunden >> die Highside versorgen, aha sie wieder aufgeladen wird, wenn ich das für >> nötig befunden hätte. > > "Daten: > Frequenzbereich: regelbar von ca. 0,6 Hz - 162 Hz" > Halbe Periodendauer durch 0,6Hz > 0.5/0,6Hz = 0,84sek > > Also fast eine Sekunde! > > Du hast dir mit diesem kardinalen Fehler viele Optionen genommen! Das zeigt eindeutig, das du es eben nicht kapiert hast. Die 0,6Hz haben nichts mit der PWM Frequenz zu tun - nochmal ausdrücklich! Aus der W. schrieb: > Ich belaste meinem Motor nicht mit der PWM > rail to rail Amplitude. Für den Betrieb an Nennspannung sind Motoren aber nun mal gedacht und es macht ihnen rein gar nichts aus. Selbst mein alter Motor aus Hameln läuft wunderbar und weich, obwohl er aus einer Zeit stammt, in der von FU noch nicht die Rede war. So, und nun würde ich dich bitten, den Thread hier in Ruhe zu lassen. Ich antworte nur noch auf konkrete Fragen zu diesem Projekt. Für dein Dings hast du deinen Thread.
:
Bearbeitet durch User
Aus der W. schrieb: > Ich belaste meinem Motor nicht mit der PWM > rail to rail Amplitude. Doch, das passiert bei deinem Murks ebenso, du kapierst es nur nicht.
Matthias S. schrieb: > natürlich 230/400V Drehstrommotore 'PURE_SINE_DRIVE' Da habe ich doch noch eine Frage: Mit 325V Zwischenkreisspannung bekommst du doch nur 200V Verkettet und nicht 230V (oder gar 400V). Matthias S. schrieb: > Die 'Zacken' sind normal, das sind die Dächer der 'Popo' Kurven, die zur > Ansteuerung von Motoren etwas besser geeignet sind als reine > Sinuskurven. Mit etwas besser ist gemeint, dass der Motor dann seine 230V statt nur 200V bekommt, weil du den Sinus auf einen höheren Effektivwert verzerrst? LG old.
> Mit etwas besser ist gemeint, dass der Motor dann seine 230V
statt nur 200V bekommt, weil du den Sinus auf einen höheren
Effektivwert verzerrst?
Nein.
Er addiert eine Gleichtaktspannung zu allen drei Phasen damit nicht
momentan eine Endstufe in die Begrenzung geht wo die anderen jeweils
noch Reserven haben. Die Differenzspannung im Dreieck die an den
Motorspulen wirkt bleibt immer noch ein Sinus.
Was mich aber wirklich wunderd: Warum setzt niemand vor so einen FU eine
PFC? Dann haben wir Eingangsseitig sinusförmigen strom der viel weniger
das Netz belastet und im Zwischenkreis mehr Spannung um Motoren höher
auszusteuern.
Motorendreher-c schrieb: > Die Differenzspannung im Dreieck die an den > Motorspulen wirkt bleibt immer noch ein Sinus. Du beschreibst mit anderen Worten den Trick mit dem K3, die Popo-Kurven. Oder primitiver, den Sinus am Scheitel platt drücken. Dass sich der K3 in einem 3P-System hebt, ist klar. Ich habe den Eindruck, Ihr sucht blumige Umschreibungen für den verzerrten Sinus. Motorendreher-c schrieb: > Was mich aber wirklich wunderd: Warum setzt niemand vor so einen FU eine > PFC? Ich habe den nicht benutzt, weil mir das zu Aufwändig erscheint. Erst wenn die Verlustleistung im Gleichrichter-Vorwiderstand in die Größenordnung eines PFC kommt, würde ich mir das überlegen. Motorendreher-c schrieb: > im Zwischenkreis mehr Spannung um Motoren höher > auszusteuern. Mit Delon-Brücke passt die Zwischenkreisspannung zu einer verketten Spannung von 400V ohne Tricks. LG old.
Da wenn eine Phase bei ihren Maximun angelangt ist, die anderen beide Phasen nicht ihren Minimalwerte erreicht haben, läßt man einfach den Sternpunkt etwas um den gedachten Nullpunkt "kreisen". Mit der richtigen Kurve bekommt man dann klirrfreie Sinuskurven. Daß der Sternpunkt "eiert", merkt der Motor nur indirekt (an der höheren Amplitude). Notfalls einfach mal aufzeichnen, Tabellen erstellen und Differenzen ausrechen lassen, ...
Carl D. schrieb: > Notfalls einfach mal aufzeichnen, Tabellen erstellen und Differenzen > ausrechen lassen, ... Ergibt die "Popo"-Kurven-Verzerrung des Sinus der Strang-Spannung. Wozu die blumigen Umschreibungen? LG old.
Aus der W. schrieb: > Wozu die Blumigen Umschreibungen? Die sind nur für mathematische Analphabeten blumig.
Verzerrte Strangspannung passt nicht ins Pure Sinus Marketing. Das ist alles.
Der Ahnungslose aus der W. schrieb: > Verzerrte Strangspannung passt nicht ins Pure Sinus Marketing. > Das ist alles. Es wird nur von ungefähr einem nicht verstanden. https://de.m.wikipedia.org/wiki/Frequenzumrichter blättere bis "Optimierung durch Überlagerung von Oberschwingungen" Es geht um die Ströme durch die Motorwicklungen und nicht um die Spannung an den Anschlußklemmen gegen Netz-N gemessen.
:
Bearbeitet durch User
Hab ich gerade im Netz entdeckt: https://www.guetzold.com/wp-content/uploads/Wissenswertes_ueber_Frequenzumrichter.pdf Sehr gute Zusammenstellung rund um das Thema.
Aus der W. schrieb: > Verzerrte Strangspannung passt nicht ins Pure Sinus Marketing. Die ist nicht verzerrt, sondern sinusförmig. Das passt bloß in dein wirres Hirn nicht rein. > Das ist alles. Das ist alles.
Carl D. schrieb: > Der Ahnungslose aus der W. schrieb: >> Verzerrte Strangspannung passt nicht ins Pure Sinus Marketing. >> Das ist alles. > > Es wird nur von ungefähr einem nicht verstanden. Schauen wir mal nach: > https://de.m.wikipedia.org/wiki/Frequenzumrichter > blättere bis "Optimierung durch Überlagerung von Oberschwingungen" > > Es geht um die Ströme durch die Motorwicklungen und nicht um die > Spannung an den Anschlußklemmen gegen Netz-N gemessen. Hopa, da steht ja genau das was ich erklärt habe: "Die dadurch erreichte Leistungssteigerung des Frequenzumrichters sowie eines daran angeschlossenen Antriebs liegt in der Regel bei etwa 15 %. Das entspricht etwa dem Amplitudenverlust einer 6-Puls-Drehstrom-Gleichrichterschaltung, welcher im Zwischenkreis etwa 86 % der Spitzenspannung liefert." Pass mal auf: 325V*1,15=374V Das ist die Zwischenkreisspannung die ihr haben solltet. Und die Überlagerung mit Harmonischen nennt man nun mal Verzerrung. LG old.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.