Ich möchte einen Sinus mittels PWM erzeugen, derart, daß ich mit etwa 20Khz bis 30KHz schalte (Sollte das menschl. Gehör nicht stören). Ich überlege, ob ich dies selber programmiere oder auf ein Codebeispiel aufsetze, das ich entsprechend modifiziere. Ich möchte möglichst geringen Klirrfaktor haben bei einem Sinus von 50Hz. Filtern werde ich mit einem LC-Glied (Drossel aus einem Computer-Schaltnetzteil). Stelle mir vor, daß ich einen Quadranten als Lookup-Tabelle vorliegen habe mit den Startwinkeln und den Einschaltzeiten. Das ganze müßte dann gespiegelt und geklappt werden. Einsetzen wollte ich den Atmel Tiny2313.
>LC-Glied (Drossel aus einem Computer-Schaltnetzteil) >auf ein Codebeispiel aufsetze, das ich entsprechend modifiziere. >suche Codebeispiel Warum nimmst du nicht IRGENDEIN anderes Programm? Das wurde zwar nicht geschrieben um 50Hz Sinus mit PWM zu generieren, aber das macht ja nix. Weil bei der Drossel gehts ja auch, die wurde ja auch für was anderes dimensioniert
Naja, wenn die Drossel schon vom PC stammt, dann dürfte irgendein PC-Programm auch passen.... Spaß beiseite, hier wurde mal eine Art Türklingel (einfacher Melodiegenerator mit Sinus-Tabelle) mit Tiny15 vorgestellt, dann auch auf ein noch besseres Projekt mit Tiny45 verwiesen, das glaube FFT nutzte. Spiele doch mal ein wenig mit der Suchfunktion dieses Forums. MfG, BlauBär
Danke, Blaubär, ich hatte schon gesucht aber nichts so richtig geeignetes gefunden. Ich will einen Powersinus erzeugen. Ich muß schnell schalten (MOSFETS oder IGBT) und wollte eben auch erst mal mangels eines anderen preiswerten Bauelements so eine ca. 20mH Induktivität eines Computerschaltnetzteils verwenden. Ausgangsleistung etwa 20-50W. Also Klingeltöne sind zwar theoretisch ganz nett aber ich muß andere Überlegungen einfließen lassen: Schaltzeiten, max. Tastverhältnis, etc.. Erreichbare Schaltfrequenz mit einem Tiny2313 (weil ich da noch ein paar von habe) Würde auch einen anderen Typ nehmen, aber ich denke, der sollte reichen.
Ich schick dir mal meinen letzten Sinus asm code, wenn du ihn verstanden
hast kannst du ihn auch nachprogrammieren, wenn es exakt 50Hz sein
sollen musst du eben die anzahl der Samples anpassen, ansonsten kann ich
dir auch noch einen Code mit Phasenraum Frequenzanpassung geben, dann
aber nichtmehr für Sinus.
Ein Wort zu IGBTs:
Was immer du vorhast vergiss IGBTs sofort, die Dinger machen sinn ab
>200V bei etlichen Ampere, die verlierst IMMER min 2V über die Emitter
Kollektor Strecke und das auch erst dann wenn du die vernünftig
getrieben bekommst. Bei einem unserer Institute haben die eine IGBT
Treiberschaltung die nichts anderes tut als einen Einzelnen (zugegeben
sehr grossen) IGBT zu schalten und selbst dafür haben die IIRC mehr als
einen uC verwendet. Tu dir einen grossen gefallen und vergiss die
Dinger, FETs sind super, IGBTs sind auch von der Techologie nur Krüken
die auf ihre Ablösung warten, ein Elektronenlochplasma ist etwas was
eigentlich völlig ungnädig ist und man nur benutzt weil man nix besseres
grade zur Hand hat, und das dann auch noch im kHz schalten zu wollen, da
brauchst du mindestens eine Halbbrücke mit FETS und ne negative
Hilfsspannung oder Ladungspumpen mit richtig wums. Du musst das Plasma
förmlich ausräumen und dann hoffen das es auch weg ist. Nein das sind
keine schönen Bauteile, solange du kannst lebe ohne sie. Ich weiss die
klingen verlockend mit hui Werten und allem aber imho sind das fiese
Biester. -wiebel
Versuche gerade, Dein Programm auf tiny2313 umzustricken. (Du benutzt anscheinend ATmega169). Was machst Du mit dem ADC in Deinem Programm?
ChristophK wrote:
> Was machst Du mit dem ADC in Deinem Programm?
Oh, hab ich vergessen zu erwähnen das der Code extrem unaufgeräumt ist.
schäm
Ja der m169 ist Teil des Butterfly DevKits und, da auf diesem ein LDR
draufklebt nutz ich den ganz gern um sachen zu steuern, in dem Fall die
Frequenz. Kannst du aber natürlich auch einfach ersatzlos streichen.
-wiebel
Hallo Wiebel und andere, ich habe ein bißchen gegrübelt und fand es nun doch besser, selbst mal zu rechnen und zu versuchen, eine PWM-Pulsfolge hinzukriegen, die den Sinus approximiert. Kennt sich jemand in PSPICE aus? Ich würde die Pulsfolge gerne mal simulieren und gucken, was nach einem Tiefpaß danach herauskommt. Weiß jemand auf die schnelle, wie man PSPICE eine Rechteckfunktion aufdrückt?
Weiss jetzt nicht welche PSpice Umgebung Du hast, aber bei OrCad gibts diverse Möglichkeiten eigene Simulus-Dateien zu erzeugen. Oder DSTM, dort kann man in zeitlichen (zum selber angeben) Abständen logisch schalten, als Pulsfolge.
Ja, ich habe die Orcad Demoversion. Ich hatte schon mal eine Analog-Stimulus Datei erzeugt, aber im Moment fehlt mir das Wissen, wie ich eine Signalquelle mit einer Rechteckfunktion beaufschlage (Stimulus).
bzw. welche V Source nimmt man? Nimmt man einen FILESTIM1 oder irdendeine der VSRC?
Laßt mal, ich gehe mal ins Orcad-Forum. Will dieses Forum jetzt nicht mit eigentlich sachfremden Themen "verseuchen".
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.