Hallo Leute! Ich bin am entwerfen eines Lichtmischpultes (DMX512) "Pflichtenheft" : -> Dyn. Faderzuweisung (jeder Fader kann jeden Kanal Steuern) -> Grafik LCD (KS0108 kompatibel) -> Organisation der Lichtshow mit CUES(max 10 CUES Parallel) -> Audio Trigger -> Mischpult <--> PC via RS232 -> 512k SRAM fuer die Datenspeicherung Jetzt meine Frage: Welchen Kontroller würdet ihr verwenden? 8051 / AVR / C166 Ich habe schon einige kleinere Projekte mit 8051ern (ADuC812, DS80C320,...) gemacht bin jetzt aber unschlüssig was ich wählen soll. Das Hauptproblem ist der Grosse Speicher und die zeitintensiven Rechenoperationen für gute Fade Ergebnisse. Würde mich sehr über Ideen freuen! ev. auch Codes und Schaltungen z.B. für den Audio Trigger oder Lösungen für 512k RAM Danke im Voraus! mfg. Berti
Wenn Du wirklich 512k RAM brauchst, dann würde ich einen Controller mit entsprechendem Adressraum nehmen. Das Banking des Speichers kann sonst sehr nervig werden. Hast Du schonmal den M16C oder M32C von Mitsubishi angeschaut? Oder den neuen ARM von Philips, der hat massig internes RAM (und ist schnell ...). Wie viele Kanäle soll das Pult bekommen? Für Szenen etc., die gleichzeitig im Speicher sein müssen, sollte auch deutlich weniger RAM reichen. Was hälst Du von einer Memory-Card, um Szenen, Programme etc. portabel abzuspeichern? Lässt sich an den SPI-Port anschliessen. Die Rechenleistung sollte eigendlich kein Problem (mehr) darstellen, wenn es sinnvoll programmiert wird, für keinen der angesprochenen mc. Um die ganzen Potis, Taster etc. anzusteuern, würde ich mehrere (z.B.) AVRmega8 oder AVRmega16 nehmen und per IIC-Bus an den Haupt-mc anhängen. Damit kann man da Pult schön modular halten, und viel billiger geht es sicher auch nicht. In dieser Anwendung ist ja nichtmal ein Quarz notwendig. RS232 würde ich mir nicht mehr antun, schau mal nach USB-Bus über FTDI-Chips. Viele Notebooks haben gar kein RS232 mehr, und von der Geschwindigkeit ... kannst Du über den FTDI bis 1Mbaud (glaube ich) fahren. Ausserdem bekommst Du bei RS232 Probleme mit der Baudrate, weil Du 1. 115.200 und 2. 250.000 brauchst. Bei FTDI kannst Du die Baudrate zum mc hin einstellen (hat mir der Messe-Fritze gesagt, nicht selber ausprobiert). Ich habe als Diplomarbeit ein DMX512-Mischpult gebaut, das ist allerdings schon ne Weile her, als mc hatte ich den 68HC11 verwendet gehabt. Stefan
Danke erstmal für die Tips! Welche SW is am besten für besagte Chips? Ich hab nur uVision 2 zuhause und keine Lust um teures Geld noch was zu kaufen... Weiteres problem: Die kleinen Dinger sind verdammt schwer zu löten! Das Pult bekommt 24 Fader denen aber ein Kanal zwischen 1 - 512 zugewiesen werden kann (dadurch kann ich mit wenigen Fadern viele Fixtures nutzen!!) An Memory Card oder Flash card habe ich auch schon gedacht... Da scheiterte es wieder an meinen Kenntnissen! Aber SPI hört sich interresant an... was wären das zb für Karten? Das mit dem IIC Bus und den AVR's ist auch ein interresanter Ansatz... Ich hatte eine Memory Mapped I/O Version vor Augen. Aber so ist das wirklich viel besser! Vor allem übernimmt der AVR die entprellung und ähnliche Kindereien... Vor USB schrecke ich ein bisschen zurück weil ich keinerlei erfahrungen damit habe. Ich habe VC++ Programme für die RS232 geschrieben aber keine Ahnung wie ich da mit USB arbeiten soll... (Aber was nicht ist kann ja noch werden) Danke erst mal! mfg. Berti
Ich würde da Richtung gehen. Ich plane derzeit selbst ein Mischpult (allerdings für Audio). Da werden alle Poti's (Lautstärke, Gain, Bass, Treble...) von nem ATtiny26 abgefragt. Der hat bis zu 11 analoge Eingänge. Hab mal ausgerechnet, dass man mit einem ATtiny26 gut 20 Kanäle mittels Analogswitch abfragen kann, ohne etwas zu verpassen. (Da werden sich jetzt einige Fragen, nur 20? Natürlich gehen mehr, aber es wird immer aus meheren Werten pro Poti ein Mittelwert gebildet. So verhindert man Sprünge in der Lautstärke durch Wandlungsfehler des AVR oder einfach Widerstandsschwankungen der Potis ...) Dieser AVR gibt seine Werte an den Hauptprozessor per SPI weiter, allerdings nur, wenn sich auch wirklich was ändert. So kann sich der Hauptprozessor um andere wichtige Dinge kümmern und es braucht auch keinen so Leistungsstarken. Nimm doch am Anfang die serielle Schnittstelle. Ist für den Anfang am einfachsten. Wenn du dann mal Zeit und Lust hast, kannst du immer noch USB mit besagtem Chip nachrüsten.
Auch ein interresanter Ansatz! Aber da steht wieder das Problem mit den 512k... vielleicht kommt ja noch ne Lösung!
Hi! Also die karten mit spi sind mmc (MultiMediaCards). siehe z.b.http://homepage.ntlworld.com/seanellis/mmcserial.htm Nik
Für was brauchst du die 512K RAM? Um Bilder und Schriften für das Display zu speichern, kannst du ein serielles EEPROM nehemn. Auch für Variablen, die nur selten geändert werden oder die nach abschalten erhalten bleiben sollen, ist EEPROM zu empfehlen. Durchsuch mal das Forum. Da gab es erst vor kurzem nen Thread, in dem es um Speicher ging. (War der vielleicht sogar von dir?) Da kam dann serieller SRAM als antwort. Ich muß ehrlich sagen, dass ich sowas noch nicht gesehen habe, aber wenn andere das sagen, dann wird da schon was dran sein. Vielleicht kannst du auch in der Richtung was machen. Hab bei meinem vorigen Beitrag leider was verschluckt: "Ich würde da Richtung gehen." Sollte heißen: Ich würde da Richtung -AVR- gehen. Vielleicht kannst du ja mal zeigen, wie genau dein Pult aussehen wird. Ich denke, dass es interessant wäre, Lichtmischpult und Audiomischpult in einem ähnlichen Design zu bauen. :-)
>Welche SW is am besten für besagte Chips? Ich hab nur uVision 2 >zuhause >und keine Lust um teures Geld noch was zu kaufen... >Weiteres problem: Die kleinen Dinger sind verdammt schwer zu löten! Für M16C gibt es einen C-Compiler von Mitsubishi als 4-Monate-Trial. Es gibt auch noch eine alte DOS-Version (2.0), die wohl komplett frei ist. In Stuttgart bastelt schon länger jemand an einem gcc-Port für den M16C. Für ARM sollte es den gcc geben, und für AVR ja sowieso. Mir persönlich kommt das Konzept von gcc sehr entgegen, damit kann ich verschiedene mc mit meiner Lieblings-Entwicklungsumgebung bearbeiten, aber es gibt auch genug Leute, die mit einem nakten Compiler wenig anzufangen wissen. Wenn Dir das Löten Pobleme macht, dann nimm doch eine fertige Testplatine. Für den M16C gibts die von Glyn für 50, der ARM ist hier auf der Seite angeboten. Die eigendliche Peripherie dann über AVR-mc im DIL-Gehäuse anbinden, dafür reicht ein 10-pol-Stecker. Der M16C hat den Vorteil, dass er schon genug serielle Schnittstellen on-board mitbringt (5, jeweils verschiedene Modi: eine DMX, eine IIC, eine PC-Schnittstelle [FTDI-USB oder RS232], eine SPI für mmc-Card, eine zum Debuggen). Ausserdem liefert Mitsubishi einen ganz brauchbaren Debugger mit (debuggen und Programm-Download über serielle Schnittstelle). Die 16kbyte internes RAM müssten eigendlich auch ausreichen, damit kann man den M16C im Single-Chip betreiben. Es gibt aber auch CS-Logik etc. auch onboard, externes RAM wäre also auch kein Problem. >Das Pult bekommt 24 Fader denen aber ein Kanal zwischen 1 - 512 >zugewiesen werden kann (dadurch kann ich mit wenigen Fadern viele >Fixtures nutzen!!) Gutes Konzept. Aus eigener Erfahrung kann ich Dir aber nur raten, viel Zeit in die Bedienungsanleitung zu stecken, jedenfalls wennd das Pult hinterher von anderen Leuten bedient werden soll. So virtuelle Fader scheinen in die meisten Köpfe schwer reinzugehen ;-)) >An Memory Card oder Flash card habe ich auch schon gedacht... >Da scheiterte es wieder an meinen Kenntnissen! >Aber SPI hört sich interresant an... was wären das zb für Karten? Die mmc-Card hat einen "SPI-Compatibility-Mode", damit kannst Du sie direkt an den SPI-Bus anschliessen. Wenn Du sie nur in Deinem Lichtpult verwenden willst, brauchst Du ja kein Filesystem o.ä., dann ist die Software dafür auch recht einfach. >Das mit dem IIC Bus und den AVR's ist auch ein interresanter >Ansatz... >Ich hatte eine Memory Mapped I/O Version vor Augen. Aber so ist das >wirklich viel besser! Vor allem übernimmt der AVR die entprellung und >ähnliche Kindereien... >Vor USB schrecke ich ein bisschen zurück weil ich keinerlei >erfahrungen >damit habe. >Ich habe VC++ Programme für die RS232 geschrieben aber keine Ahnung >wie >ich da mit USB arbeiten soll... >(Aber was nicht ist kann ja noch werden) FTDI stellt Dir im Prinzip eine virtuelle UART zur Verfügung. Deine Software muss garnicht merken, dass es kein UART ist. Es gibt aber DLLs von FTDI, mit denen Du die Ansteuerung auch direkt in Dein Programm einbauen kannst, aber wie gesagt: nur als Option. Auf der mc-Seite sieht die Hardware so aus, dass Du statt dem RS232-Treiber den FTDI nimmst. Dieser ist über RXD/TXD seriell an den mc angeschlossen. Braucht halt noch einen Quarz (und optional noch ein EEPROM, näheres auf der FTDI-Seite). Ist wirklich narrensicher, habe noch niemand mit Problemen damit gehört. Bei meinem eigenen Pult war das eigendliche Problem übrigens die Mechanik. Ich hatte 32 Kanäle, 16 Szenen, insgesamt 52 Fader, die Schlitze haben mich fast zum Wahnsinn getrieben. Heute würde ich mir das industriell machen lassen. An den Fadern zu sparen rächt sich hinterher bitter, wenn Du sie herbekommst, dann verwende welche mit einer gleitenden Kunststoffabdeckung über dem Schlitz. Stefan
ähmm.. gaaaanz andere idee... nimm einen arm..aber einen richtig grossen der einige MB an ram drinnen hat... dann www.uclinux.org ... dann hast du linux drauf laufen... programme schreibst in der sprache die du willst...sprich die du unter linux laufen lassen willst (basic, c, perl, python,...) anbinung an den pc machst mit gemütlich mit ethernet ;) das ist richtig fix und einfachst zu verwenden..ich denke da an ein web interface per cgi das einfach die gewünschen befehle dir wegschickt... oder nimm gleichen einen industrial pc... die haben alles drauf... also auch 5.1 sound, lcd, VGA, usb,... das wär glaub ich eh das schönste...die bekommst um ca 200e...da läuft tust ein richtiges linux...booten tuts z.b von compact flash und braucht unter 10W ;) ein fertig bestücktes board sammt arm für uCLinux kostet um die 100e ich hab das noch nicht probiert werd ich aber bald machen weil ich glaube das wird für viele einsatzzwecke das einfachste sein... 73 de oe6jwf | hans
@Hans Ich kenne viele Projekte, die alle nie fertig wurden, weil es unbedingt immer sofort die eierlegende Wollmilchsau werden sollte. Siehe auch Maut Debakel. Daher lieber klein anfangen aber was auf die Beine stellen, was erstmal läuft. Und dann erst größer werden. Das geht auch viel schneller, weil man da ja auf den bereits gewonnen Erfahrungen aufbauen kann. Peter
Danke erst mal für die Zahlreichen Tipps! Werd mir jetzt erst mal gedanken machen und mich dann wieder Melden! mfg. Berti PS: ATTiny als ADC mit I^2C ist schon fix... Auch MMC ist jetzt als fixer Bestandteil zu sehen!
Hallo Leute! Will nicht nerven... ABER: Ich hab mir jetzt schon die Augen Wund gegoogelt aber noch imma nix brauchbares zum Thema MMC gefunden... Hat jemand von Euch vielleicht fertige C Libraries für einen AVR? zb. MMC_Send(addr,data) oder so was ähnliches... __________ Beim Thema DMX hab ich keine Probleme! Erledigt sowiso alles die UART... Danke im Voraus für die Hilfe mfg. Berti
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.