MIDI-CV Interface Frage

Dieses Thema im Forum "Lötkunst" wurde erstellt von Klaus, 29. Januar 2008.

  1. Klaus

    Klaus -

    Hallo,
    ich will mir ein MIDI-CV Interface selbst bauen. Als PIC kommt ein 16F877 zum Einsatz. Ich überlege jetzt, ob ich 8 DACs für die CVs verbaue oder lieber einen DAC und einen 4051 Multiplexer einsetze.

    Ich würde mich freuen, wenn ich ein paar Kommentare mit pro und contra zur jeweiligen Bauweise bekäme.

    Den PIC will ich in C programmieren, da ich früher schon mal C-Programme geschrieben habe. Einen Pic habe ich allerdings noch nicht programmiert. Wenn sich da jemand gut auskennt, darf er sich auch gerne melden ;-)

    Gruß
    Klaus
     
  2. Anonymous

    Anonymous Guest

    Die 4051 Lösung ist *viel* bezahlbarer, langsamer und ungenauer - allerdings war sie für viele der Poly-Dickschiffe der 80er gut genug.
    Der Problem ist übrigens generell eher die Filterung und Parameterglättung der Spannungen als die Genauigkeit. (Die braucht man nur für Tonhöhe)
     
  3. Klaus

    Klaus -

    @Fetz
    Dann vielleicht 2 DACs. Einen für Pitch CV, den anderen durch den 4051 für die übrigen CVs?

    Was meinst du mit Filterung und Parameterglättung? Sowas wie einen Slew-Limiter mit extrem kurzer Zeit?
     
  4. MiK

    MiK Löten&Coden

    Moin,

    ich jag sorglos 64. bzw. 80 CVs über einen DAC und viele Multiplexer raus, und das performt richtig sauber. Es kostet zwar eine gewisse Energie, alles perfekt aufeinander abzustimmen, wirklich mit dem Oszilloskop Slew Rates anschauen und in der Software die perfekte Sequenz zwischen Einschalten/Ausschalten der Analogschalter zu finden, aber bei dem teuren 16bit-DAC den ich da verwende, wäre es in 64 DACs völlig unbezahlbar.

    Scanrate bei 80 CVs ist übrigens 1KHz, also 1ms Latenz im Extremfall - für MIDI-CV reicht das aus. Mit 8 CVs könntest Du logischerweise auf 10KHz, 0,1ms, das wäre mehr als nur ausreichend.

    Aber glaub mir - die Kapazitäten von IC-Beinchen und vermutlich auch die im IC bei so einem 4051 werden Dir das Leben nicht leicht machen. Und schau, dass die Schaltleitungen für den 4051 immer weit weit weg von den analogen Signalleitungen liegen. Bei den 80KHz, mit denen ich das Zeug da schalte, merkt man dann schon kurze Nadelimpulse auf einigen Outputs - die sind aber hintenraus am gesteuerten Synth nicht wahrnehmbar.

    ...Michael
     
  5. Klaus

    Klaus -

    @MiK
    Welchen DAC benutzt du? Ich bin noch auf der Suche.
     
  6. MiK

    MiK Löten&Coden

    Den MAX541 von Maxim:

    http://www.maxim-ic.com/quick_view2.cfm/qv_pk/1419

    Da gibts ne ähnlich heissende Version von AD glaub ich. Das Ding ist nicht billig, aber saugut. Wird per SPI gefüttert, weiss nicht, ob die PICs sowas haben, ich bin AVR-User :)
     
  7. Klaus

    Klaus -

    Wo kann man den MAX541 beziehen?
     
  8. Versuch es doch mal direkt bei MAXIM über das "Free Sample" Angebot. Ich weiss nicht ob die so einfach ein Teil verschicken, aber "Versuch macht kluch"


    Unten auf der Seite unter "Ordering Info" auf "Sample" klicken.
     
  9. MiK

    MiK Löten&Coden

    Ich hatte meine auf diese Art bezogen. Gibt halt max. 2 Stück pro Bauteil. Also einfach mal 2 ordern. Verlieren kannst nix. Entweder schicken sies raus oder halt nicht, kosten tuts auf jeden Fall nix.

    Zum offiziell Kaufen gesehen hatte ich die mal bei RS.

    Leider siehts mit 16bit-DACs bei den bekannten Hobbyversorgern etwas dünn aus.
     
  10. Klaus

    Klaus -

    Ich habe mir schon eine Menge DACs angesehen, aber was mich stört; (fast) alles SMD. :cry:
     
  11. MiK

    MiK Löten&Coden

    Ja, diese non-Breadboard-tauglichen Editionen sind total in Mode :)

    Gibt aber im Zweifelsfall kleine Adapterlis. Kumpel hatte sich auch mal versehentlich ATtinys in SMD geordert und dann halt mit so nem Adapter genutzt. Wobei das bei diesem Beispiel glaub albern war, die Adapter kosten sicher mehr als ATtinys in DIP-Verpackung.

    ...Michael
     
  12. Klaus

    Klaus -

    Mal 'ne (ganz doofe :dunno: ) Frage: Was (außer höherem Schaltungs- und Programmieraufwand) spricht eigentlich gegen 2 8Bit DACs statt einem 16 Bit DAC? Einer kriegt das Lower Byte (bei 5 V 0,00007629 V x 0-255), der andere bekommt das Upper Byte( 0,01954 V x 0-255). Der Abgleich wird vielleicht etwas kompliziert :cry: - Aber mal so ganz theoretisch :?:
     
  13. MiK

    MiK Löten&Coden

    Das Ging mir auch durchn Kopp bei der Entwicklung des Synths damals. Hatte ich sogar in abgewandelter Form mal laufen, weil ich viele CVs ja eh nur 8 Bit brauch. 1 8bit Wandler und an einigen CVs wie Pitch dann halt nen Fine und nen Coarse Ausgang. Theoretisch musst du ja dem einen DAC nur nen Spannungsteiler durch exakt 256 zur Seite stellen. Mit 0.1%-Widerständen kriegt man das sogar ganz toll hin. Den OpAmp, den man dazwischen reinbaut, kann man mit noch nem Trimmer ausstatten, um den Offset wegzukriegen. Und nach einer ausgiebigen Kalibrierung passt das dann sicher auch erstmal.

    Die Frage ist nur - ists nicht einfacher, gleich nen 16bit DAC zu nehmen? :)

    Sprich - man kann natürlich 2 8bit-Dinger nehmen, aber wie Du schon sagst - Abgleich wird unentspannt, und denk daran, dass der Kram mit der Zeit auch rumdriftet, Du also hin und wieder mal nachkalibrieren musst, weils sich sonst mehr als nur seltsam verhält :)

    Und Du solltest, um die übelsten Probleme zu vermeiden, die CVs sinnvoll aufteilen. Also z.B. Halbtöne auf dem einen DAC, die Fine-Pitch auf dem Anderen. Sonst kann Dir ne Abweichung ganz schön seltsame Töne erzeugen, wenn Du z.B. die Halbtonschritte auf 2 DACs "verteilst".

    Aber es hat sich bei 16bit eh der Spannungsbereich -10,7V bis +10,7V bewährt, das sind praktisch genau 256 pro Halbton, also ist die Bedingung erfüllt.
     
  14. Klaus

    Klaus -

    Hi MiK,
    mir ist auch klar, dass ein 16 Bit DAC die bessere Lösung ist, aber ich habe bisher keinen (bezahlbaren) im DIP/DIL Gehäuse gefunden :!: :cry:
     
  15. MiK

    MiK Löten&Coden

    Jetzt order halt einfach erstmal die Samples bei Maxim, dann sieht man weiter. So hatte ich mit dem Zeug ja auch angefangen.

    Und wenns eilig ist, bau halt ersma ne Ersatzschaltung mit Schieberegistern und R2R-Ladder :) Oder nimm nen 8bit-DAC (AD7524 oder so) mit 16bit-Schieberegister davor und ignorier erstmal die unteren 8 Bits.

    Die Ansteuerung der 16bit-SPI-DACs ist quasi immer gleich. Und parallele DACs verwendet heut kaum noch einer.
     
  16. Klaus

    Klaus -

    Ich habe gerade eine Sample Order aufgegeben. Sie wurde aber nicht direkt bestätigt, da für diesen Artikel eine Genehmigung des Managements nötig ist :roll:
     
  17. MiK

    MiK Löten&Coden

    Ich weiss gar nimmer, wie das bei meinem damals war, kann aber sein, dass das auch der Fall war. Einfach mal hoffen :)

    ...Michael
     
  18. Klaus

    Klaus -

    Noch eine Frage zum Multiplexer (CD4051). Hält der nach Umschalten auf einen anderen Out so ganz alleine die Spannung, oder muß man außer einem OP als Buffer noch was anderes beachten? Ich habe verschiedene Schaltungen mit dem 4051 gesehen und mal wurde er über 3 Transen, mal über einen 74HC574 angesteuert. Ist das auch bei einem PIC nötig, oder kann der das direkt?

    Ich weiß: Ich stelle mal wieder viel zu viele Fragen :oops:
     
  19. MiK

    MiK Löten&Coden

    Den kannst digital direkt ansteuern. Die erfahrungsgemäss sinnvolle Reihenfolge:

    INH auf 1 ziehen, kurz warten, dem DAC seinen Wert reinwerfen, danach den neuen Port auf A, B, C am 4051 setzen, kurz warten, INH auf 0 ziehen.

    Die "kurz warten"-Timings musst evtl. mim Oszilloskop optimieren, denke an die Slew Rate von dem ganzen Kram davor. Hinter dem DAC kommt ein OpAmp-Buffer hin, der das Signal aufbereitet und evtl. symmetriert, beachte, dass der Output nicht über die Versorgung vom 4051 geht (üblicherweise +-5V), wenn der Clippt, wirds sehr unlustig. So +-3V rum hat sich bewährt, dann kannst mit 27K/100K an den Output-Opamps das auf +-10V skalieren.

    Die 4051-Outputs gehen an Kondensatoren, ich hab mit 2,2nF gute Erfahrungen gemacht, das geht dann an den + Input vom OpAmp, während das Feedback-Netzwerk vom OpAmp die Skalierung übernimmt.

    Fürs Messen der Slew Rates programmierst Du 2 hintereinander liegende Outputs auf Minimalwert und Maximalwert und schaust, dass der Input vom 4051 sich nur verändert, während der INH-Input auf high liegt. Dann bekommst Du am Output was Stabiles raus. Wenn Du da noch kleine Peaks siehst, kommt das von der kapazitiven Kopplung der Digitalleitungen in die benachbarten Pins des 4051, die "offen" sind. Da musst Du einfach durch, auf dem Breadboad ist das aber schlimmer als später auf ner Platine. Mit sinnvollen Masseflächen sollte man das weitgehend unterdrücken können, ich habs auf Lochraaster, da kommen die Peaks konstruktionsbedingt dann noch durch.
     
  20. Klaus

    Klaus -

    @MiK
    Maxim hat sich nicht gemeldet und der günstigste Preis für den Max541, den ich gefunden habe, liegt bei ca. 60,-€. :shock:

    Ich habe mich deshalb für den AD420AN von Analog-Devices entschieden. Der liegt so bei 25,-€ bei Farnell, aber die wollen Nix an mich verkaufen, weil ich weder eine Firma noch ein Student bin :twisted:

    Also weitersuchen.
     
  21. MiK

    MiK Löten&Coden

    Moin,

    ich sach doch, das is alles Mist. Das mit Maxim ist doof, vielleicht ist der gar nimmer im Programm. Bei RS kriegt man ihn auch nicht mehr, was etwas seltsam ist, die haben viel Zeug, und da gabs ihn mal - fuer 20-30 EUR rum.

    Du kannst mal noch DigiKey (de.digikey.com) versuchen, die sind aber im Versand glaub mächtig teuer, weil die glaub sogar von Amiland direkt schicken. Aber die haben eigentlich alles. Übrigens auch nen MAX541CCPA+ für 20,57 EUR :)

    Vielleicht schickt Maxim das Zeug aber noch.

    Viel Glück!

    ...Michael
     
  22. Klaus

    Klaus -

    Digikey will, wenn ich mich an meine Suche von gestern recht erinnere, eine Mindestabnahme von 15 Stück.
     
  23. MiK

    MiK Löten&Coden

  24. kannst du den anal. dev. chip nicht möglicherweise als sample kommen lassen?
     

Diese Seite empfehlen