Sinus mit PWM und tiny2313 - suche Codebeispiel

Gast #625782
Lesenswert?

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.
Gast #625786
Lesenswert?

>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
#625849
Lesenswert?

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
Gast #625907
Lesenswert?

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.
#625921
Lesenswert?

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
Angehängte Dateien:
#629008
Lesenswert?

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
Gast #646609
Lesenswert?

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?
Gast #646636
Lesenswert?

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).

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren