Hallo zusammen, ich habe ein paar Fragen zu meinem neuen Bauprojekt. (1) Ich suche einen Mikrocontroller mit dem ich viele Potis abfragen kann (viele ADC-Eingänge). (2) Oder ist es möglich diese Bausteine an meinen Atmega8 zu hängen und dann darüber die Potis abfragen. (Es werden um die 20 Potis abgefragt.) Wo finde ich Literatur über das einlesen mit solchen Chips? http://www.reichelt.de/ICs-TLC-TSA-/TLC-549-CP/3//index.html?ACTION=3&GROUPID=5480&ARTICLE=39797&SHOW=1&OFFSET=16& (3)Ich habe Motorfader. Mit dem Mikrocontroller möchte ich den fader abfragen und das passende Midievent ControlChange senden. Das habe ich schon hinbekommen. Motorfader: http://www.reichelt.de/Schiebepotis/RS60N11M9-LIN5K/3//index.html?ACTION=3&GROUPID=3713&ARTICLE=73883&SHOW=1&OFFSET=16& (4) Wie kann ich aber das Midi-Out vom PC auswerten und in "Motorbewegung" umwandeln. Der Fader soll dann an die entsprechende Position fahren. (Midi sendet: 0-127 0 = Fader steht ganz unten; 127: Fader steht ganz oben. Das sind viele Fragen. Würde mich um jede Antwort freuen, um einfach mal abzuschätzen wie schwer realisierbar es ist. Vielen Dank Gruß Fabi
:
Bearbeitet durch User
Fabian Müller schrieb: > Hallo zusammen, > > ich habe ein paar Fragen zu meinem neuen Bauprojekt. > > (1) Ich suche einen Mikrocontroller mit dem ich viele Potis abfragen > kann (viele ADC-Eingänge). Wenn diese Limitierung nicht wäre, welchen µC hättest du denn sonst genommen? Sprich: mit welchem µC (bzw. µC-Familie) kannst du umgehen? > (2) Oder ist es möglich diese Bausteine an meinen Atmega8 zu hängen Ist auch möglich. > Wo finde ich Literatur über das einlesen mit solchen Chips? Da wirst du wahrscheinlich nicht viel finden, weil es eigentlich recht trivial ist. Der IC, den du ansprechen möchtest, dem schaltest du den CS Pin auf 0 (damit fühlt sich dieser Baustein angesprochen), und mit jedem Puls auf der Clock Leitung taktet der IC das nächste Bit raus. Im Grunde ist das nichts anderes, wie das Einlesen von Daten von einem Schieberegister. Nur mit Bedienung einer CS (Chip Select) Leitung. Man könnte auch, wenn du mit deiner µC-Familie auf du und du stehst, eine Lösung ins Auge fassen, in der sich einer deiner gewohnten µC um ein paar derartige Motorfader kümmert und ein Master-µC den anderen Anweisungen gibt, was zu tun ist. Der Haupt-µC fragt dann einen der anderen: "auf welchem Wert steht deiner Fader Nummero 2 gerade?", bzw: "fahre den Fader Nummero 3 auf Position 123". Ich bin zwar kein Fan von Multiprozessor-Lösungen, aber in diesem Fall wäre das eine einfache Sache. Zumal du ja nicht nur Pins für die ADC brauchst, sondern ja auch noch den Motor jedes einzelnen Faders ansteuern können musst, was dann wunderbar in die jeweiligen Satelliten-µC passen würde. Apropos Motor: > (3)Ich habe Motorfader. Mit dem Mikrocontroller möchte ich den fader > abfragen und das passende Midievent ControlChange senden. > Das habe ich schon hinbekommen. Schön. > (4) Wie kann ich aber das Midi-Out vom PC auswerten und in > "Motorbewegung" umwandeln. Kannst du denn einen Fadermotor prinzipiell erst mal zum Drehen bringen? > Der Fader soll dann an die entsprechende Position fahren. (Midi sendet: > 0-127 > 0 = Fader steht ganz unten; 127: Fader steht ganz oben. Das ist dann ganz einfach. Dein MIDI sagt dir, du sollst den Fader auf 78 stellen. Der ADC teilt dir aber mit, dass der Fader gerade auf 56 steht. Also muss der Motor so eingeschaltet werden, dass der Wert größer wird (also entweder rechts rum drehen oder links rum drehen, je nachdem wodurch der Wert größer wird). Ein paar Hunderstelsekunden später stellt dein Programm fest, dass der Fader momentan bei 58 steht, also immer noch zu wenig für die Vorgabe von 78. Also lässt du den Motort weiterdrehen. Solange, bis der Wert, den du vom ADC kriegst mit dem übereinstimmt, den du vom MIDI gekriegt hast. Voraussetzung ist natürlich, dass du so einen Motor erst mal überhaupt zum Drehen kriegst. Ab dann ist es nur noch ein Vergleich: Wo soll der Fader stehen? Wo steht er tatsächlich? Wie rum muss daher der Motor drehen?
:
Bearbeitet durch User
Hallo, erstmal vielen Dank für deine Antwort !!! Karl Heinz schrieb: > Im Grunde ist das nichts anderes, wie das Einlesen von Daten von einem > Schieberegister. Nur mit Bedienung einer CS (Chip Select) Leitung. Ist es möglich diese Chips in Reihe zu schalten? Karl Heinz schrieb: > Wenn diese Limitierung nicht wäre, welchen µC hättest du denn sonst > genommen? Sprich: mit welchem µC (bzw. µC-Familie) kannst du umgehen? Ich würde am liebsten einen Atmega8 oder Atmega32 nehmen. Karl Heinz schrieb: > Kannst du denn einen Fadermotor prinzipiell erst mal zum Drehen bringen? Was ist eigentlich in so einem Motorfader? Ein Schrittmotor? Dann brauche ich einen L297 und L298. oder? Vielen Dank Gruß Fabi
Karl Heinz schrieb: > Dein MIDI sagt dir, du sollst den Fader auf 78 stellen. Der ADC teilt > dir aber mit, dass der Fader gerade auf 56 steht. Also muss der Motor so > eingeschaltet werden, dass der Wert größer wird (also entweder rechts > rum drehen oder links rum drehen, je nachdem wodurch der Wert größer > wird). Ein paar Hunderstelsekunden später stellt dein Programm fest, > dass der Fader momentan bei 58 steht, also immer noch zu wenig für die > Vorgabe von 78. Also lässt du den Motort weiterdrehen. Solange, bis der > Wert, den du vom ADC kriegst mit dem übereinstimmt, den du vom MIDI > gekriegt hast. ganz so einfach ist es leider nicht. rechtzeitiges abbremsen ist gefragt sonst fährt er übers ziel hinaus. und zittert lezendlich nahe der zielposition. Pid reglung ist das Zauberwort. dann sollte man den motor abschalten wenn der fader festgehalten wird. Fabian Müller schrieb: > Was ist eigentlich in so einem Motorfader? > Ein Schrittmotor? leider nicht ganz normaler dc motor ohne getriebe. nur ganz wenige Motorumdrehungen schieben den Fader von 0auf 100%
Zwanzig Euro schrieb: > ganz so einfach ist es leider nicht. rechtzeitiges abbremsen ist gefragt > sonst fährt er übers ziel hinaus. und zittert lezendlich nahe der > zielposition. Pid reglung ist das Zauberwort. dann sollte man den motor > abschalten wenn der fader festgehalten wird. Ich wollte es für den Anfang nicht zu kompliziert machen. Der TO sieht mir so aus, als ob er noch ganz andere, viel simplere Probleme hat.
Fabian Müller schrieb: > Karl Heinz schrieb: >> Kannst du denn einen Fadermotor prinzipiell erst mal zum Drehen bringen? > > Was ist eigentlich in so einem Motorfader? > Ein Schrittmotor? Soweit ich das dem Datenblatt entnehmen kann, ein einfacher Gleichstrommotor. Im Prinzip ist die Steuerung dann ähnlich wie bei einem Modellbau-Servo. Du hast ein Poti, das du mit dem Motor so verstellen mußt, daß es an einer bestimmten Position steht. Nur mußt du nach Erreichen der Position diese nicht halten, sondern einfach den Motor abschalten. Fabian Müller schrieb: > Karl Heinz schrieb: >> Im Grunde ist das nichts anderes, wie das Einlesen von Daten von einem >> Schieberegister. Nur mit Bedienung einer CS (Chip Select) Leitung. > > Ist es möglich diese Chips in Reihe zu schalten? Wenn du mit "in Reihe" eigentlich parallel meinst, dann ja. Dafür ist der CS-Anschluss ja da.
Hallo Tim, den Tipp hat er schin mal erhalten, aber offensichtlich ignoriert. Gruss Roman
Sehr viele Analogeingänge kann man recht einfach mit Analogmultiplexern abfragen. Nimm am besten den ATMega32, der hat neben den 8 ADC Eingängen auch noch genügend Steuerleitungen frei. An jeden ADC Eingang kommt der Ausgang eines Multiplexers, wie z.B. dem CD4051. Dieser hat 8 Eingänge, die mittels eines 3-bit Portes separat auf den gemeinsamen Ausgang geschaltet werden können (wie ein Schalter mit 8 Stellungen). Die MC Software setzt die Steuerleitungen A,B und C, die auf alle Multiplexer gehen, auf z.B. 000 und liest dann an den 8 ADC Eingängen die Werte von den 8 Multiplexern in Stellung 0. Dann werden die Steuerleitungen auf 001 gesetzt und die Werte dafür gelesen, usw. Insgesamt 64 Werte würden sich so mit den 8 ADC Eingängen und 8 Multiplexern lesen lassen. Falls das noch nicht reicht, gibt es auch z.B. den CD4067 mit 16 Eingängen und 4 Steuerleitungen.
Hallo, also ersteinmal vielen Dank!!!! Werde dann mit der Planung mal anfangen. habt mir schon sehr geholfen. Habe dann nur noch eine Frage. Rolf Magnus schrieb: > Soweit ich das dem Datenblatt entnehmen kann, ein einfacher > Gleichstrommotor. Im Prinzip ist die Steuerung dann ähnlich wie bei > einem Modellbau-Servo. Du hast ein Poti, das du mit dem Motor so > verstellen mußt, daß es an einer bestimmten Position steht. Nur mußt du > nach Erreichen der Position diese nicht halten, sondern einfach den > Motor abschalten. Muss ich dann PWM machen oder kann ich auch einfach den Motor für eine bestimmte Zeit anschalten. Das heißt einfach den Pin auf 1 für eine bestimmt Zeit setzen und danach wieder auf 0 setzen. Die Zeit kann man ja ausrechnen, indem man die Aktuelle Position des Motors weiß und die Position wo er hin soll und die Zeit wie lang er braucht um ein "Schritt" zu machen. Geht das??? Vielen Dank Gruß FAbi
Fabian Müller schrieb: > Muss ich dann PWM machen oder kann ich auch einfach den Motor für eine > bestimmte Zeit anschalten. > Das heißt einfach den Pin auf 1 für eine bestimmt Zeit setzen und danach > wieder auf 0 setzen. PWM musst du nicht machen. Wenn du den Motor aber auch mit weniger als "Vollgas" bewegen willst könnte es nicht schaden ;) Dazu musst du eben mal probieren wie schnell sich der Fader bei Vollgas bewegt. > Die Zeit kann man ja ausrechnen, indem man die Aktuelle Position des > Motors weiß und die Position wo er hin soll und die Zeit wie lang er > braucht um ein "Schritt" zu machen. > Geht das??? Er macht ja keine "Schritte". Das wird so wohl nicht sehr genau werden. Siehe oben! Für's erste: Anschalten, Position abfragen, warten, Position abfragen, warten, ..., wenn Position == Sollposition abschalten Für den sinnvollen Betrieb: PI(D)-Regel-Algorithmus implementieren (klingt schlimmer als es ist).
Fabian Müller schrieb: > Das heißt einfach den Pin auf 1 für eine bestimmt Zeit setzen und danach > wieder auf 0 setzen. > Die Zeit kann man ja ausrechnen, indem man die Aktuelle Position des > Motors weiß und die Position wo er hin soll und die Zeit wie lang er > braucht um ein "Schritt" zu machen. > Geht das??? Theoretisch ja. Praktisch nein! Deine Fader werden nicht zu 100% baugelich sein. Dazu kommt der natürliche Verschleiß, temperaturabhängige Schwergängigkeit der Fader, Umwelteinflüsse,... Und was passiert, wenn der Fader mit den Fingern gehalten wird, und ein MIDI-Event einen Fader bewegen will?
Tim schrieb: > Und was passiert, wenn der Fader mit den Fingern gehalten wird, und ein > MIDI-Event einen Fader bewegen will? Ein 'kluger' Algorithmus könnte sich merken, ob der Fader bereits fertig gefahren war und dann anhand einer Änderung des AD Signals auf einen User Eingriff schliessen und den Motor freigeben. Wenn man den Fader während des Fahrens festhält, wird ein PID Regler erstmal Stoff geben und mit verstärkter Kraft den Sollwert anfahren wollen, das könnte man aber auch begrenzen und als Usereingriff werten. Könnte Spass machen, so etwas zu programmieren.
Matthias Sch. schrieb: > Könnte Spass machen, so > etwas zu programmieren. Ich weiß :) Und nachdem der TO meinen Link zu µcapps ignoriert, und er es anscheinend besser weiß, klinke ich mich hier aus. Generation Arduino eben...
Matthias Sch. schrieb: > Tim schrieb: >> Und was passiert, wenn der Fader mit den Fingern gehalten wird, und ein >> MIDI-Event einen Fader bewegen will? > > Ein 'kluger' Algorithmus könnte sich merken, ob der Fader bereits fertig > gefahren war und dann anhand einer Änderung des AD Signals auf einen > User Eingriff schliessen und den Motor freigeben. Die elegantere Variante ist touch sense.
Rolf Magnus schrieb: > Die elegantere Variante ist touch sense. Genau, könnte auch sinnvoll sein. Deswegen auch der Konjunktiv in meinem Vorschlag - und die Bemerkung, das es Spass machen könnte, sowas zu programmieren. Da hängt viel mehr dran als nur der Motor- und Einregelmechanismus, sondern auch ein gutes Bedienkonzept, dann man möchte sicher auch mal speichern und so. Das alte Neumannpult, das wir im Theater hatten, hatte z.B. gar keine Motorfader, sondern LED Zeilen daneben. Die konnte man dann mit dem Fader 'einfangen' und bewegen. Auch nicht schlecht, aber Motorfader wären uns damals lieber gewesen.
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.