Sinus aus Rechteck bzw. Sägezahn aus Rechteck

  • Gibt es irgendwie einfache Varianten (oder auch komplizierte, oder auch überhaupt welche) aus einer Rechteckschwingung (im hörbaren Bereich, also sowas von 150 - 15000 Hz) eine


    a.) Sinusschwingung

    b.) Sägezahnschwingung


    zu erzeugen / generieren ???



    Gern auch als Link(s) oder Schubs in die richtige Richtung zum Weitersuchen.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Moin ThoralfAsmussen ,


    ich habe diese Schaltung hier verwendet, um aus 16KHz symmetrischem Rechteck einen Sinus zu erzeugen, um damit meine MünzFW 63 und MünzFW 21 zum Geld kassieren zu bewegen:



    Wenn C8, C10 und C11 größer gewählt werden, sollte daraus auch ein Sägezahn generiert werden. Die unterschiedlichen Werte könnte man mit einem Mehrfach-Umschalter auswählbar machen. Die Übertrager, Relais und die Koppelkondensatoren wirst du wahrscheinlich nicht brauchen, bei meinen MünzFW's sind sie unerlässlich, um das Signal symmetrisch auf die Teilnehmer-Leitung zu bekommen - ebenso die Koppelkondesatoren.

  • Für den Sinus reicht (bei einer festen Frequenz) ein (mehrpoliger) Tiefpass, für den Sägezahn ein Integrator. Was hast Du konkret vor?

  • also sowas von 150 - 15000 Hz)


    Für den Sinus reicht (bei einer festen Frequenz) ein (mehrpoliger) Tiefpass

    Finde das Dilemma...


    Bei zwei Dekaden wird das nix mit dem Tiefpass...


    Da ist die Lösung sehr aufwändig, Ich würde eine Frequenzvervielfachung implementieren und einen Sinus aus einem EPROM auslesen und den dann D/A-wandeln. Das wäre völlig Frequenzunabhängig.


    Mitglied im Verband der nicht anonymen Elektroschrottabhängigen


  • Oder einfach einen RPi Pico nehmen - Da kann man bei so niedrigen Frequenzen den Sinus einfach on-the-fly berechnen. Für die Frequenzmessung gibt es einen Timer mit 1uS Auflösung. Man braucht allerdings einen externen DAC. Codebeispiel hier: https://github.com/elehobica/pico_sine_wave_i2s_32b


    Wir wissen ja nicht, was das werden soll. Overkill oder angemessen, Preis, erforderliche Präzision, eigene Kenntnisse, es kommt halt darauf an :)

  • Ein Sinussignal aus einer Gleichspannung (oder aus einem Dreieck) zu machen, ist wesentlich einfacher, als den Umweg über ein (vor allem über ein gleichfrequentes) Rechtecksignal zu gehen. Wenn du also keinen guten Grund hast, warum du ausgerechnet ein Rechtecksignal als Input haben willst, dann mach's anders. Wenn das Rechtecksignal wesentlich höherfrequenter als der gewünschte Sinus ist, wird's auch einfacher. Du solltest auch noch schreiben, mit was du das Signal belasten willst: Viele wunderschöne Sinusse degenerieren je nach Schaltung fürchterlich, wenn ein bißchen Last draufkommt.

  • ich habe in den 70er Jahren mal für einen Freund eine Böhm-Orgel gebaut. Diese Orgeln hatten einen Rechteck/Sägezahn-Generator für alle Töne. Es gab einen "Sinus-Riegel-Zusatz", mit dem man von dem obertonreichen Rechteck/Sägezahntönen zu reinen "Sinussound" umschalten konnte. Das ganze geschah durch eine ganze Reihe von RC-Gliedern (je Oktave ?), soweit ich mich erinnere. Unterlagen habe ich leider keine mehr, aber hier könnte man mit einer Suche beginnen


    Roland

  • Finde das Dilemma...


    Bei zwei Dekaden wird das nix mit dem Tiefpass...


    Da ist die Lösung sehr aufwändig, Ich würde eine Frequenzvervielfachung implementieren und einen Sinus aus einem EPROM auslesen und den dann D/A-wandeln. Das wäre völlig Frequenzunabhängig.

    So, wie die Frage formuliert ist, weiß ich nicht, ob es dem OP um eine feste oder eine variable Frequenz aus diesem Intervall geht ‒ er spricht von "einer Rechteckschwingung im hörbaren Bereich". Daher die Frage, was er eigentlich vor hat.


    Wahrscheinlich wäre es einfacher, alle Signale gemeinsam zu erzeugen.


    Wenn es ein externes Rechtecksignal sein muss, könnte man alternativ auch die Frequenz mit einem Microcontroller messen und den Sinus dazu berechnen / nachschlagen ‒ das wäre hardwareseitig recht schlank.

  • Für den Sinus reicht (bei einer festen Frequenz) ein (mehrpoliger) Tiefpass, für den Sägezahn ein Integrator. Was hast Du konkret vor?


    Die Grund-Idee war sowas wie einen 555 zu nehmen und dann aus dem Signal andere Wellenformen zu "erzeugen".


    Keine Ahnung ob das überhaupt geht, aber den Antworten nach scheint es ja zumindest nicht völlig unmöglich.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Die Grund-Idee war sowas wie einen 555 zu nehmen und dann aus dem Signal andere Wellenformen zu "erzeugen".


    Keine Ahnung ob das überhaupt geht, aber den Antworten nach scheint es ja zumindest nicht völlig unmöglich.

    Nein, aber es ist von hinten durch die Brust ins Auge: Aus einem Rechteck einen Sinus (gleicher Frequenz) zu machen ist viel aufwändiger als aus einem Sinus ein Rechteck, ein Dreieck oder einen Sägezahn zu machen. Letzlich führen viele Wege zum Ziel:


    • Bei AliExpress oder eBay findest Du haufenweise Module auf Basis z.B. eines AD9833, die Dir für sehr kleines Geld einen wunderschönen Sinus, das passende Dreieck oder Rechteck erzeugen; nur den Sägezahn müsstest Du dazu integrieren. Ansteuerung über irgendeinen Mikrocontroller, z.B. Arduino.
    • Oder Du nimmst einen fertigen AVR-DDS und passt ggf den Code an.
    • Oder (bei Deinem sehr gutmütigen Frequenzbereich) Du verwendest eine USB-Soundkarte entweder am PC oder in Verbindung mit einem Raspberry Pi oder ähnlichem Gerät.
    • Oder Du nimmst gleich einen richtigen Funktionsgenerator, die sind auch nicht mehr so furchtbar teuer.

    Was davon die beste Variante ist, hängt davon ab, was Du vorhast.


    Was hast Du vor?

  • Den XR2206/7 hatte ich gestern auch schon im Kopf, der hat aber ein Dreieck und kein Saegezahn.

    Laut Datenblatt sollte auch ein Sägezahn möglich sein:


    Ich habe so einen Funktionsgenerator vor zig Jahren zusammengebaut. Habe ihn aber schon sehr lange nicht benutzt.

  • Ja, stimmt.

    Ich hatte mir nur Bild 2 angeschaut, da steht Triangel und Sine.

    Aber Saegezahn ist ja auch ein Dreieck. An Pin 7 und 8 sind 2 Widerstaende fuer den Flankenanstieg, Bild 14 zeigt die Saegezahnerzeugung, dort wird der Rechteckausgang fuer die Umschaltung Pin 7/8 benutzt.

    Alles richtig.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Ich hatte neulich eine ähnliche Anforderung - einen Morsepiepser für's Technikum29.


    Da ich von Analogtechnik ja keine Ahnung habe und hier über alle Arduinos rumliegen, hab ich den genommen. Aber das Rechtecksignal klang wirklich jämmerlich. Ich habe dann ein paar Versuche mit einfachem Tiefpass gemacht (Kondensator+Widerstand mehrfach hintereinander), aber so toll war das alles nicht. Und da der kleine China-Verstärker dann auch nicht das gebracht hat, was ich erhofft hatte, habe ich am Ende einfach einen ollen PC-Laufsprecher mit eingebautem Verstärker drangehängt. Der hat einen Klangregler und wenn man die Höhen rausnimmt, dann klingt es ganz ordentlich (ist ja auch ein Tiefpass). Problem gelöst.


    Der Morsepiepser bekommt dann dank Arduino noch ein paar Sonderfunktionen. ;)

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Erstmal Vielen Dank für die vielen Antworten. War am WE unterwegs und werde da mal nächste Woche genauer durchsehen.


    Die ICs ( bei XR2206/7 ) sehen gut aus, aber es ging durchaus auch um sowas wie "maximal billig" (555 = 0.27EUR) und trotzdem "brauchbar". Brauchbar wäre alles, was irgendwie wie ein Homecomputer klingt. Ich hatte sogar was gefunden, wo man mit NANDs einen "Rechtecksound" bauen kann. Links kommen später mal und evtl ein Scan. Der Nachteil an der 555 Lösung wäre aus meiner Sicht v.a., daß man da am Besten fixe Frequenzwerte einstellen müßte (d.h. Widerstände, die so angepaßt und eingestellt sind, daß normale Notenwerte herausfallen (C,D,E,F,G,A,H,C).

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Die ICs ( bei XR2206/7 ) sehen gut aus, aber es ging durchaus auch um sowas wie "maximal billig" (555 = 0.27EUR) und trotzdem "brauchbar". Brauchbar wäre alles, was irgendwie wie ein Homecomputer klingt.

    Du verrätst uns immer noch nicht, was Du vorhast, aber: Einen YM2149 (Yamaha-Version des AY-3-8910) bekommst Du in China schon für unter einem Euro. Das plus ein ATmega zur Ansteuerung dürfte billiger sein als das, was Du noch um den 555 herumbasteln willst.

  • Du verrätst uns immer noch nicht, was Du vorhast, aber: Einen YM2149 (Yamaha-Version des AY-3-8910) bekommst Du in China schon für unter einem Euro. Das plus ein ATmega zur Ansteuerung dürfte billiger sein als das, was Du noch um den 555 herumbasteln willst.

    :)


    Ja ... , das ist mir ja selbst auch noch nicht ganz klar. Es gibt halt so eine Bastelei, die ich kenne, weil mal selbst gebaut, die ein "Klavier" mit einem 555 und ganz einfachen Tastern nachgebaut hat. Eher eine Art Gimmick, damals aber schon irgendwie nett. Irgendwie dachte ich, daß man das evtl auch noch "verschönern" könnte und darum eben Sinus/Rechteck/Sägezahn. So Sachen wie Decay/Sustain oder Lautstärke sind da ja noch außen vor. Polyphon wäre halt auch nett und evtl. modular (also weitere "Stimmen" zusteckbar). Das Ganze optimalerweise per Rechner ansteuerbar.

    Ich habe natürlich schon bißchen eine Vorstellung was da gehen könnte - z.B. mit 23 Bit-Infos von extern für die Töne, als auch für die Lautstärke, als auch für die Octave. Das sind dann 8 Töne , mit bis zu 8 Octaven und bei der Laustärke könnte es fast bißchen mehr sein (7 Volumes scheint wenig, reicht aber auch).

    Wahrscheinlich müßte das auch irgendwie so sein, daß man die Töne anschaltet und optimalerweise auch wieder abschaltet. Oder eine Haltezeit mitgibt, dann wird es aber kompliziert.


    So richtig klar, was das eigentlich soll, kann ich auch nicht sagen. Was man sich halt so einfallen läßt ... Wenn Du so willst, am ehesten erstmal was, was eine Art externe Soundkarte sein könnte, wenns funktioniert. Aber wie das dann klingt, kann man eh schlecht abschätzen.


    Die Sache mit dem 555 ist halt einerseits "historisch", andererseits "preisbewußt" und v.a. wohl noch lange "verfügbar". Die Chips von oben z.B. gibt es bei reichelt schon nicht mehr, obwohl man schon noch jede Menge Bausätze damit beim "E" findet und auch eine schöne Infoseite ist mir über den Weg gelaufen.


    Die eigentlich Baunaleitung für das ursprüngliche "Klavier" habe ich bisher auch noch nicht wiedergefunden. Vermutlich muß das aber in so einem Elektronikbastelbuch von Herrn (Autor) Schlenzig gewesen sein. Habe aber noch nicht alles durchgewühlt, wo es sein könnte.



    Das Problem an den Arduino Lösungen und den Vorschlägen aus #12 ist möglicherweise, daß so was wie ein C16 / ZX81 / JC2 / 130XE evtl. gar nicht schnell genu sind, um das wirklich ausnutzen und bespielen zu können. Minimalvorstellung wäre ja sowas wie ein Art Trackerplayer, der da 8 Stimmen Noten polyphon drüberschieben kann.


    Interessant war auch das Stichwort mit dem "SinusEPROM". Das klingt auch witzig.


    Das besondere Extra an einem 555 wäre evtl. noch, daß man evtl. die Ausgangsfrequenzen als Inputs auf die benachbarten ICs zurückkoppeln könnte. Entweder geht dabei der Chip kaputt oder es gibt interessante Sounds. Das ist auch sowas, was ich mal ausprobieren wollte. Aber erstmal im "Bastelzustand". Kann aber beim mir eh dauern, sowas.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Hallo ThoralfAsmussen , wenn du in den Musikinstrumentenbau einsteigen willst solltest du noch bedenken: eine Oktave hat 12 (Halb-)töne ! Und wenn es mehr als Spielerei sein soll denke daran, dass du auch polyphon spielen können musst. D.h. du möchtest auch mehrere Tasten gleichzeitig anschlagen und Akkorde spielen. Dann kommst du nicht um einen Tongenerator drumrum, der alle 12 Halbtöne aller 8 Oktaven (= 96 versch. Töne) gleichzeitig liefern kann. Die Töne müssen gemeinsam von einem Masteroszillator abgeleitet werden, damit die Stimmung stimmt (witziges Wortspiel). Mit einer Tastenmatrix, ggf elektronisch computergesteuert, lenkst du dann die Töne, die gerade angeschlagen werden, zum Verstärker weiter.

    Einen guten Einblick in all die Hintergründe gibt das Buch von Rainer Böhm "Elektronische Orgeln und ihr Selbstbau", Franzis-Verlag 1979. Findet man noch für kleines Geld in Internet-Antiquariaten


    Gruß

    Roland

  • Zusatz: aus dem oben Gesagten wird klar, dass man mit einem 555er (monophon) oder mehreren 555ern (polyphon) nicht weit kommt: man müsste für jeden Ton entsprechende RC-Kombinationen für die Tonhöhe vorhalten. Die Feinabstimmung der Halbtöne zueinander halte ich für praktisch (mit angemessenem) Aufwand nicht lösbar


    Roland

  • Die "Schaltung" war so, daß man die Töne über eine Kombination aus Stell-/Fixwiderstand vorgeben konnte und sowieso erstmal "stimmen" mußte.


    Das Buch werde ich mir mal ansehen. Danke.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Das Problem an den Arduino Lösungen und den Vorschlägen aus #12 ist möglicherweise, daß so was wie ein C16 / ZX81 / JC2 / 130XE evtl. gar nicht schnell genu sind, um das wirklich ausnutzen und bespielen zu können. Minimalvorstellung wäre ja sowas wie ein Art Trackerplayer, der da 8 Stimmen Noten polyphon drüberschieben kann.

    Mir ist nicht ganz klar wie Du Deine Kreation überhaupt ansteuern willst. Über Tasten oder über eine Schnittstelle von einem Computer. Der Engpass ist vermutlich nicht der Computer, sondern Deine "Synthesizerbox". Der Arduino wird vermutlich zu langsam sein, oder Du musst alles 8-fach aufbauen.


    Falls Du wirklich 8 Stimmen gleichzeitig erzeugen und auch aufgenommene Sequenzen abspielen willst, dann empfehle ich Dir nicht einen Arduino sondern z.B. den TEENSY 4.1, den ich in meinem FLUXTEEN verbaut habe. Der lässt sich so einfach wie der Arduino programmieren (praktisch gleiche Programmieroberfläche), hat eine Reihe von analogen (Ein- und) Ausgängen die Du dann nur analog auf einen Ausgang bringen musst und er ist schnell (600 MHz). Er verfügt auch über 500KB direkt ansprechbares RAM und ca. 2MB EPROM. Damit wärst Du voll felxibel, auch was die Kommunikation mit einem anderen Computer oder Tastaturinput betrifft. Sogar eine SD-SKarte kann man reinstecken.


    Der Preis ist derzeit bei ca. 40,- Euro, aber Du brauchst kaum Zusätze, ausgenommen die analoge Verschaltung. Stromversorgung geht direkt von einer USB-Schnittstelle.


    Schönen Abend!


    PAW