Jump to content

rolfdegen

Members
  • Posts

    457
  • Joined

  • Last visited

  • Days Won

    14

Posts posted by rolfdegen

  1. Hallöchen..

    Es tut mir leid wenn ich zur Zeit wenig schreibe. Aber wir stecken mitten in der Vorbereitung für die
    Superbooth Messe in Berlin. Andre hat für unseren
    Prototyp auf die Schnelle ein Gehäuse aus Plexiglas und Holzseitenteile gebaut. Es ist noch nicht
    ganz fertig, aber sieht doch schon gut aus wie ich finde.

    Das Gehäuse
    P1060137.JPG
    Großes Bild

    P1060136.JPG
    Großes Bild

    Die Superbooth 17 findet vom 20 - 22.April in Berlin im FEZ (Kinder-, Jugend- und Familienzentrum)
    statt. Insgesammt 167 Aussteller sollen dort sein geschockt Hab mal gekuckt wer da noch so da ist zB die
    Firma Kurzweil, Yamaha, Steinberg, Nativ Instruments, Roland, Moog Music, Ableton, Doepfer uvm
    Wer uns besuchen möchte findet uns am Stand 0503 von Sonic Potions im 2.OG (siehe Bild).

    Superbooth 17
    Superbooth.JPG
    Großes Bild

    Gruß Rolf 

  2. Woran ich zur Zeit arbeite..

    an einer neuen Sequencer- und Arpeggiator-Funktion im DEGENERATOR. Das alte Sequencer
    Menü sah zwar schick aus, hatte aber eine schlechte Einteilung für die Stepps und keine Arpeggiator-
    Funktion. Aus diesem Grund habe ich das ganze Menü noch einmal neu gestaltet. Alle Funktionen
    finden jetzt auf einer Menüseite ihren Platz und die 16 Stepps sind in zwei Gruppen zu jeweils 8
    Stepps im oberen Teil des Bildschirms aufgeteilt. Mit "Mode" kann zwischen Sequencer und
    Arpeggiator umgeschaltet werden. Mit "BPM" (Beats per Minute) kann die Taktgeschwindigkeit von
    1- 250 verändert werden. Mit "Note" kann die Notenlänge von 1/2 bis 1/16 eingestellt werden. Mit
    "DIR" die Spielrichtung. Die Menüseite ist noch nicht fertig. Weitere Parameter werden folgen. 

    Neues Sequencer-ArpeggiatorMenü
    SEQARP.jpg

    Altes Sequencer Menü
    Seq_01.jpg

    Gruß Rolf 

  3. Halli.. hallo..

    Es gibt wieder Neuigkeiten zu berichten. Das 2.Filterboard für den DE-GENERATOR ist fertig.
    Es handelt sich um einen stereophonen 4-Pole Mision Filter mit folgenden Eigenschaften:

    • Lowpass 6dB
    • Lowpass 12dB
    • Lowpass 18dB
    • Lowpass 24dB
    • Bandpass 12dB
    • Hochpass 12dB
    • Lowpass + Hochpass 12dB


    SMR4 Filter im DE-GENERATOR
    20170218_163049.jpg
    Link zum vergrößern: https://plus.google.com/photos/photo/114...YrqmpzwRA&hl=de


    Schaltplan SMR4 Filter
    Degenerator_SMR4.jpg
    Link zum vergrößern: https://plus.google.com/photos/photo/114...qA9dn_mAE&hl=de


    Kleines Filter Video
    FB_SMR4.JPG
    Zm Video: https://www.facebook.com/tubeohm.tubeohm...27302477354296/
    Info: Lautstärke einschalten!

    Gruß Rolf 

  4. Es ist geschafft...

    Kurz vor dem Jahreswechsel kann ich verkünden, dass der DE-GENERATOR bzw die Elektronik fertig
    ist und alles funktioniert. Die nächsten Tage und Wochen werden wir noch am Gehäuse und an der
    Software arbeiten.

    DE-GENERATOR
    20161230_214541.jpg

    20161230_214711.jpg

    20161230_214719.jpg

    20161230_214833.jpg

    20161230_214908.jpg

    Zum Vergleich noch einmal die alte Elektronik
    IMG_20160506_201543.jpg

     

    Mehr Info gibts hier: http://www.cczwei-forum.de/cc2/thread.php?threadid=5878&threadview=0&hilight=&hilightuser=0&sid=9e58b6207c6a0de33f72ad655c1d0862&page=29


    Gruß Rolf 

  5. Der zweite Gehäuse Entwurf von unserem Designer...

    161115_first-ideas%2B%25281%2529.png

    Einiges ist noch nicht korrekt gezeichnet. So zum Beispiel die Bezeichnung über der DC-Buchse. Das Gerät wird mit einem 12VDC Netzteil betrieben. Midi In/Out sind nicht eindeutig beschriftet. Die Encoder Knöpfe dürfen keine Markierung haben.

    Gruß Rolf 
     

  6. Hallöchen zusammen...

    Problem
    Beim Dauerbetrieb des Degenerators ist uns aufgefallen, dass die Kühlung des Festspannungsreglers 7805 auf dem Motherboard trotz Kühlkörper nicht ausreichend ist bzw im Gehäuse einen kritischen Wert erreichen könnte. Ein Austausch des Kühlkörpers gegen einen größeren ist wegen Platzmangels im (späteren) Gehäuse und auf dem Motherboard nicht möglich.

    DEGENERATOR Power circuit
    Power.JPG

    Über den Festspannungsregler IC3 7805 und X3 LF33CV wird das CPU-Board und das Pannel-Board mit Strom versorgt. Die Stromaufnahme beträgt ca. 149mA. Bei der Planung des Motherboard's hatte ich die Versorgungsspannung für die LED-Hintergrundbeleuchtung über einen Widerstand an die +12V Versorgungspannung vom Netzteil vorgesehen. Aber falls jemand auf die Idee kommt und das Gerät mit einer höheren Spannung versorgt, hätte das eventuell den Tod der LED-Hintergrungdbeleuchtung zur Folge. Aus diesem Grund habe ich die Hintergrundbeleuchtung an die 3.3 Volt Versorgungsspannung vom Pannel-Board angeschlossen. Das hatte aber den Nachteil, dass der 7805 zusätzlich 82mA mehr Strom für die LED-Hintergrundbeleuchtung liefern musste. Die Verlustleistung am 7805 stiegt jetzt von 1.0 Watt auf 1.6 Watt. Da noch kein Gehäuse vorhanden ist, habe ich für die Temperaturmessung als Ersatz einen kleinen geschlossenen Karton benutzt und auf der Vorder- und Rückseite kleine Lüftungsschlitze eingeschnitten. Die gemessene Temperatur am Kühlkörper stieg auf über 57 °C.

    Temeraturmessung im Karton
    20161115_153841.jpg

    Vorderseite mit SD Karten Slot und Lüftungslöschern
    20161115_183415.jpg

    Rückseite mit Lüftungslöschern am Festspannungsregler
    20161115_154054.jpg


    Lösung
    Um die Strombelastung des Festspannungsregler 7805 IC3 auf dem Motherboard zu verringern, habe ich jetzt die LED-Hintergrundbeleuchtung über einen zweiten 7805 IC10 auf dem Pannel-Board an die +12V Versorgungsspannung angeschlossen. An diesem fallen ca. 0.6 Watt ab. Ein Kühlkörper ist dafür nicht notwendig. Durch die geringere Belastung wird der Kühlkörper des 7805 IC3 auf dem Motherboard jetzt nur noch 43-44 °C heiß.

    Pannel-Board
    Pannel.jpg



    Gruß Rolf 

  7. Hallöchen..

    In der Zwischenzeit konnte Radiomicky sein Problem lösen... freut mich Zunge raus 

    Mein Freund Andre arbeitet fleißig am Pannelboard. Das Ganze sieht jetzt so aus..

    Entwurf Pannelboard
    P1050961.JPG

    Die zwei weissen Tasten mit dem Start/Stop Symbol für den Sequenzer und Record Funktion sind beleuchtet. Unterhalb der Encoder sind die Tasten für die am häufigsten genutzen Menü Seiten. Mit der Taste "MOD" kommt man zB direkt in die ModulationsMatrix. 

    Entwurf Gehäuse
    Case_29.jpg

    Gruß Rolf 

  8. Hallö.. halla

    Mein guter Freund Andre aus Oer-Erkenschwick entwickelt zur Zeit das Platinen Layout für's Panne-
    board. Nächste Woche Montag vor dem Feiertag ist noch einmal eine Team-Besprechung. Es wird
    vorwiegend ums Gehäuse Designe und die verwendete Filterkarte gehen. Ferner werden noch einige
    Kleinigkeiten besprochen und der zweite Prototyp getestet. Ich für mein Teil habe den endgültigen
    Schaltplan für's Pannelboard gezeichnet und programmiere noch an einigen Kleinigkeiten rum. Zum
    Schluss soll der Degenerator noch einen Bootloader erhalten, um aktuelle Firmware über SD Karte
    zu laden.

    Bild: Degenerator Pannelboard
    PanelBoard%2B33-22.jpg

    Link zum Bild: https://lh6.googleusercontent.com/-s2AKm...ard%2B33-22.jpg


    Gruß Rolf 

  9. Hallöchen..

    Für die Wiedergabe von Samples stehen im Degenerator 982KB externes SRAM zur Verfügung. Das SRAM ist in verschiedenen Blockgrößen unterteilt. Der erste Block ist für zwei Sample-Files reserviert. Der freie Speicherplatz für einen zu ladenden Sample verringert sich in Abhängigkeit von der Größe des zu erst geladenen Samples. Der 2. und 3. Speicherblock ist für zwei 32KB Wellenform Bänke für Oszillator 1 und Oszillator 2 vorgesehen. Beim Umschalten auf eine andere Wellenformbank werden die Daten von der SD Karte in das SRAM geladen. Der 4.Speicherblock dient als Zwischenspeicher für die Grafische Darstellung des Sample-Files.

    1MB XRAM im Degnerator
    Xram30.jpg

    20161009_192615.jpg

    Gruß Rolf 

  10. Hallo liebe Freunde smile 

    Ich habe die "Optimierung" in Atmel Studio 7 von -OS zu -O1 geändert. Das Ergebnis ist ein schnellerer Code und ein wenig mehr Code im Programmspeicher des Xmega Prozessors.
    Durch die geänderte Optimierung ist der Code für die Berechnung und Speicherung der Oszillatorwerte wesentlich schneller geworden. Ferner werden die Menüseiten schneller aufgebaut. Die Prozessorauslastung liegt jetzt bei ca. 31%. 

    Bild 1:Berechnung von 2x40 Oszillatorwerten und speichern in den Puffer in 514 usec mit optimize -OS
    SDS00011.jpg


    Bild 2: Berechnung von 2x40 Oszillatorwerten und speichern in den Buffer in 308 usec mit optimize -O1
    SDS00012.jpg

    Gelb: 25 Mikrosekunden Intervall. Es werden zwei Samples aus dem Puffer gelesen und an die beiden DACs gesendet
    Violett: Berechnet 2x40 Oscillatorwerte und speichert diese in einen Puffer

    Jetzt ist alles super schnell und fluppt schön großes Grinsen 

    Hallöchen..

    Ich habe aus Interesse mal die max Zeit für das Berechnen und abspeichern der Oszillatorwerte in den Puffer gemessen. Je nach Art der Synthese ergeben unterschiedliche Zeiten für die Berechnung bis maximal 352 usec. Im Video kann man das schön verfolgen. Gelb die errechnete Wellenform und voilett die benötigte Zeit.

    Time.JPG
     

    Youtube: https://www.youtube.com/watch?v=AbtCYI0X_TI&feature=youtu.be


    Gruß Rolf

  11. Hallöchen miteinander smile 

    Heute gehts um Puffergröße und CPU Ressourcen

    Im Degenerator wird viel gerechnet zB Echtzeitberechnung von zwei Oszillatoren, Sampling, 3 LFO's, 2 Envelopes, Modulationsmatrix, Grafisches Benutzerinterface, Oszilloskop Funktion uvm. Die Prozessorressourcen in so einer 32MHz "schnellen" ATMEL MCU (Xmega128AU) sind leider sehr knapp und ich musste nach intelligenten Lösungen suchen damit alles schnell und fehlerfrei funktioniert. Für eine spätere Weiterentwicklung die eventuell mehr CPU Leistung benötigt, ist der Austausch der CPU-Platine gegen eine Platine mit einem leistungsstärkeren ARM Prozessor gedacht.

    Im Degenerator benötigt die Berechnungsroutine für die Oszillatoren (violett) ca. 41% der gesammten Rechenleistung eines Xmegas. Alle 25usec werden zwei Oszillatorwerte (gelb) aus einem Puffer an die beiden DAC Ausgänge gesendet. Das dauert ca. 1 usec und entspricht einer Samplerate von 40KHz. Da es sehr uneffizent wäre die Oszillatorwerte alle 25usec neu zu berechnen (so habe ich es füher gemacht), benutze ich eine Pufferroutine, in der vorab 2x40 Oszillatorwerte berrechnet und in einem Puffer zwischen gespeichert werden. Alle 25usec werden dann die Werte aus dem Puffer gelesen und an den DAC gesendet. Das hört sich einfach an ist es aber nicht. Der Buffer besteht eigentlich aus zwei Doppelpuffer mit jeweils 80 Byte für beide Oszillatoren. Um die Funktionsweise der Pufferroutine zu erläutern beziehe ich mich aber nur auf einen Doppelpuffer.

    Bild 1: Doppelpuffer
    Buffer1.jpg

    Funktionweise des Doppelpuffers
    Bild 1: Der geschlossene Kreis verdeutlicht den Ablauf, da in einer ständigen Wiederholung nach dem zweiten Puffer wieder der erste folgt. Jeder Puffer fasst hier 40 Samples, entsprechend einer Latenz von ms. Wie diese 1 ms entstehen ist einfach nachzuvollziehen. Beim Start der Wiedergabe befindet sich der Positionszeiger an der mit 0 bezeichneten Stelle. Da beim Start der Wiedergabe der erste Puffer bereits abgespielt wird kopiert die Software alle Daten zunächst in den zweiten Puffer. Stellen Sie sich (in Zeitlupe) vor, wie sich der Zeiger im Uhrzeigersinn fortbewegt. Bei einer Samplefrequenz von 40 kHz werden die 40 Samples in nur 1 ms abgearbeitet. Sobald der Zeiger die Grenze zwischen den Puffern erreicht hat (Position 1) wird ein Interrupt ausgelöst, und die Software berechnet die nächsten 40 Samples und speichert diese in den (nunmehr abgearbeiteten) ersten Puffer. Der zweite Puffer wird nun abgespielt, am Ende (Position 0) wieder ein Interrupt ausgelöst, Sampels werden wieder berechnet und in den zweiten Puffer kopiert.. Das ganze Pufferspiel wiederholt sich unendlich.


    Bild 2: Zeitintervall der Pufferfunktion
    SDS00010.BMP

    Gelb: 25 usec Intervall für Sampleausgabe auf den DAC (Dauer ca. 1usec)
    Violett: 1 ms Intervall für die Berechnung von 80 Samples (Dauer ca. 412usec)

    Im nächsten Beitrag gehts ums Thema Puffer und Midi Latenz

    Bis dahin liebe Grüße aus Wuppertal. Rolf 

  12. Hallöchen miteinander!

    Bekanntlich kommt nach jede Lösung eines Problems ein neues Problem dazu. So auch im
    Degenerator. Im Degenerator arbeiten zwei Oszillatoren deren Werte in zwei 64 Byte großen
    Zwischenspeichern geschrieben werden und in einem Timer Interrupt an den DAC Ausgang
    gesendet werden. Dabei traten bei kurzen Attack-Werten störende Klickgeräusche auf (Bild 2).
    Eine Analyse der Programmabläufe und Betrachtung auf dem Oszilloskop brachte mich dann auf
    den Pfad der Erleuchtung holy-willi 

    In einem Timer Interrupt wird jede Millisekunde geprüft, ob Midi-Daten im Empfangsbuffer
    vorhanden sind und ggf die neuen Notenwerte für die beiden Oszillatoren berechnet.

    Danach fülle ich die beiden Zwischenspeicher mit jeweils 64 neuen Oszillator Werten.

    Danach aktualisiere ich die beiden Envelopes und die CV-Outputs für VCA und VCF.

    In einem Timer Interrupt mit höchster Priorität, werden alle 25usec jeweils ein Werte aus den
    beiden Zwischenspeichern gelesen und an den DAC Ausgang gesendet (Bild 1).

    Zuvor hatte ich die Notenwerte für die beiden Oszillatoren in der Envelope Routine aktuallisiert.
    Das führte dazu, dass sich von der alten Note noch Reste im Zwischenspeicher befanden und
    dies zu Störungen am Audioausgang führte (Bild 2).

    Bild 1: Midi-Input (gelb) und störungsfreier Audioausgang (violett)
    Midi_Delay.jpg

    Bild 2: Audioausgang mit Klickgeräusch am Anfang
    Buf_64Byte.jpg

    Gruß Rolf 

  13. Hallöchen miteinander!

    Nach einer kleinen (Kaffee) Pause gehts jetzt weiter Augenzwinkern 

    Mein ein Jahr altes 70MHz Oszilloskop Siglent SDS1072CML ist defekt. Die Hintergrundbeleuchtung
    flackert und gibt vermutlich irgendwann ganz den Geist auf. Die Ursache laut Hersteller ist vermutlich
    ein defekter Elko auf der Netzteil Platine. Da ich das Oszilloskop vor ca. einem Jahr über Amazon
    gekauft hatte, konnte ich Dank freundlicher Unterstützung eines Service Mitarbeiters das defekte
    Gerät an Amazon zurückschicken. Da der Hersteller Siglent die Produktion dieses Modells ein-
    gestellt hat, habe ich mich für ein neueres 100MHz Scope von Siglent entschieden. Es ist das
    SDS1102CML+. Die Plus Versionen haben eine verbesserte Displayauflösung (800 x 480), ein
    Redesign der Bedienelemente, eine LAN Schnittstelle und eine Speicheroptimierung (mehr
    Speicher für die Aufnahmefunktion, weniger Speicher für intern gespeicherte Signale).


    Fazit: Das einzige was mich etwas stört, ist die violette Anzeige für den zweiten Kanal. Die ist mir
    etwas zu dunkel. Mein altes Scope hatte für den zweiten Kanal eine hellblaue Farbe und war
    desshalb etwas besser abzulesen. Aber ansonsten kann ich mich nicht beklagen. Für knapp 355,-
    Euro bekommt man aus China ein gute Qualität geliefert.

    Oszilloskop Siglent SDS1102CML+
    SDS1102CML%252B.JPG

    Gruß Rolf 

  14. Hallo zusammen...

    Das Filterboard für den Degenerator ist fertig. Es handelt sich um einen 12dB Stereo-Multi-Filter mit Umschaltung auf LP/HP/BP. An dem zweiten Filterboard (SMR4-Pole mixing) wird noch gearbeitet.

    Degenrator mit Filterboard
    IMG_20160902_154423.jpg

    IMG_20160902_154639.jpg 

×
×
  • Create New...