mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Sinus mit PWM und tiny2313 - suche Codebeispiel


Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Matthias Lipinsky (lippy)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Troll Blaubär (blaubeer)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Michael Waiblinger (wiebel42)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, Michael. Klasse! Damit werde ich mal anfangen. Ich werde einen 
IR2110 mit IRF730 einsetzen.

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuche gerade, Dein Programm auf tiny2313 umzustricken. (Du benutzt 
anscheinend ATmega169).

Was machst Du mit dem ADC in Deinem Programm?

Autor: Michael Waiblinger (wiebel42)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Snt Opfer (snt-opfer)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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).

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bzw. welche V Source nimmt man? Nimmt man einen FILESTIM1 oder 
irdendeine der VSRC?

Autor: ChristophK (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Laßt mal, ich gehe mal ins Orcad-Forum. Will dieses Forum jetzt nicht 
mit eigentlich sachfremden Themen "verseuchen".

Antwort schreiben

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

Wichtige Regeln - erst lesen, dann posten!

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

Formatierung (mehr Informationen...)

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




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

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