Technik > Tech-Talk Design & Konzepte

Entwicklung eines Midi-Switching-Systems auf Arduino-Basis

<< < (4/30) > >>

Nils H.:
Moin,


--- Zitat von: Thisamplifierisloud am 28.08.2011 01:44 ---I2C I/O - Expander : PCF8574

--- Ende Zitat ---

guter Hinweis. Gibt's bei ---- für kleines Geld.



--- Zitat von: Thisamplifierisloud am 28.08.2011 01:44 ---Schonmal an z8encore gedacht ?
In-Cicuit-Programmierung, On-Chip-Debugger, priorisierbare Interrupts,
Flashen über serielle Schnittstelle und vor allem kein Fuse-Bit-Gequarke.
Kost´ 6-7 Eu bei R&S.

--- Ende Zitat ---

mhhhh.... werde ich gerade nicht so richtig warm mit. Schnelles googlen brachte mir gerade wenig Erkenntnis über den Einstieg in die Programmierung. Das ist der Punkt, der mir bisher ganz gut an Arduino gefällt, dass es durch die gute Dokumentation und hohe Verbreitung einsteigerfreundlich ist und die Programmierung auf einer einigermaßen abstrakten Ebene stattfindet.



--- Zitat von: Firebird am 28.08.2011 02:15 ---ich habe hier

http://www.tube-town.de/ttforum/index.php/topic,14548.0.html

vor einer Weile schon mal ein Switching System für einen Amp eingestellt, daß auf dem Arduino Pro Mini basiert. Die Ausgangspins habe ich dort auch mit dem 74HC595 vervielfältigt, dabei mußt du aber darauf achten, daß der nur 35mA treiben kann, was für Relais nicht reicht. Abhilfe schafft ein nachgeschalteter ULN2803, da bist du mit 500mA pro Pin auf der sicheren Seite.

--- Ende Zitat ---

Ja, habe ich damals gesehen. In dem Thread ist ja auch anderweitig ein paar Mal die Empfehlung Arduino gefallen. Dass irgend eine Treiberschaltung benötigt wird, egal ob ULN2803 oder per diskreten Transistoren, ist mir klar.



--- Zitat von: Firebird am 28.08.2011 02:15 ---Um eingangsseitig Pins am Arduino zu sparen habe ich 74HC147 verwendet, mit dem Ding kann man neun Eingänge auf vier Bit codieren.

--- Ende Zitat ---

An der Stelle wäre es vielleicht mal ganz sinnvoll zusammen zu tragen, welche Art der Ein- und Ausgangsvervielfältigung besser oder schlechter ist. Oder ist es am Ende bei so einer Anwendung egal?

Für die Erweiterungen von Eingängen gäbe es ja die Möglichkeiten

* Taster als Matrix verschalten
* Taster über unterschiedliche Spannungsteiler über analoge Eingänge auswerten
* i²C Port Expander (PCF8574)
* Priority Encoder (74HC147)Bei den Ausgängen wären das

* Schieberegister
* ebenfalls I²C Port ExpanderHab ich was vergessen?

Gefühlsmäßig am nächsten steht mir im Moment, für den Floorcontroller einen großen µC zu nehmen, der bringt fast alles mit, was ich brauche, und ich muss nur die Taster als Matrix verschalten. In der Rackeinheit dann einen "kleinen" ATmega, Outputs per Shift Register (3 Pins), 21 Inputs ebenfalls als Matrix (10 Pins), 2 Pins Midi I/O. Ich hab da jetzt keine richtigen Argumente für, aber der flüchtige Blick über die Dokumentation brachte bei mir bei Schieberegistern und Matrixschaltung den sympatischsten Eindruck.

Der Vorteil, alles / vieles per I²C-Port-Expander zu machen, wäre vermutlich eine vereinheitlichte Programmierung über alle I/Os.

Gruß, Nils

SvR:
Salü,
Port-Expander hat halt den Vorteil, dass man sie als Ausgang und Eingang verwenden kann (auch gemischt, also einen Teil des Ports als Ein- und den anderen als Ausgang). Außerdem können sie einen Pegelwechsel per Interrupt an den µC weiterreichen (wenn dieser noch Pins für externe Interrupts frei hat), sodass man nicht pollen muss, wenn man auf Daten wartet. Praktisch ist auch, dass man einzelne Schaltungsmodule mit ner 4-Drahtleitung verbinden kann, anstatt einer 8-Poligen Flachbandleitung (z.B. kann man dann die LEDs und dem LCD an der Frontplatte ne eigene Platine spendieren und alles per I2C mit der Hauptplatine verbinden). Außerdem wird beim Port-Expander das Byte "in einem Zug" auf die Ausgänge gelegt. Beim Schieberegister wird es "durch geschoben". Bei LEDs stört das nicht, bloss bei Relais bin ich mir nicht sicher ob das Störungen geben könnte oder ob die träge genug sind.
Bissel Lesestoff: http://www.mikrocontroller.net/articles/Port-Expander_PCF8574
mfg sven

Nils H.:
Moin Sven,

danke für den Link.

Wenn ich das richtig verstanden habe, stellt sich das von Dir geschilderte Problem nicht, wenn man ein "latching" Register benutzt. Da werden die Ausgänge erst gesetzt, wenn man das Byte komplett in den IC geschoben und freigegeben hat.

Gruß, Nils

Firebird:
Hallo,

zu den Vorteilen der Port-Expander hat SvR ja schon geschrieben.
Ich bin kein Freund davon, Taster als Matrix zu verschalten, weil es einfach vom Aufbau her oft umständlich ist. Deswegen habe ich den 74HC147 verwendet. Das ist zusagen die Variante, wenn man a) kein Matrix zurechtfummeln und b) kein Bussystem wie I2C einsetzen will.

@SvR: Beim 74HC595 Schieberegister werden die Ausgänge auch "in einem Zug" geschaltet. Deswegen braucht das Ding auch drei Steuer-Leitungen: An einer liegt das zu übernehmende Bit an, mit einem Impuls an der Zweiten wird das Bit übernommen und ein internes Register weiter-geshiftet (das kann man dann beliebig oft wiederholen). Erst mit einem Impuls an der dritten Leitung wird der aktuelle Zustand des internen Registers auf die Ausgänge geschaltet. Durch dieses Verfahren kann man die Bausteine auch schön kaskadieren, damit bekommt mit drei Pins am µC beliebig viele Ausgänge hin.

Eine Sache noch zu den Interrupts, normalerweise hast du recht, man sollte stupides Pollen vermeiden, aber in dieser konkreten Anwendung ist das wurscht, der Prozessor hat ja sonst nichts zu tun, außer auf Eingabe zu warten, d.h. für die Hardwareauswahl braucht man das hier nicht zu beachten.

Edit: Nils war schneller mit dem Schieberegister...

SvR:
Salü,
Ich würde der Einfachheit halber nur ein System einsetzen. Port-Expander haben halt den Vorteil, dass sie über einen Bus angesteuert werden. Mit bis zu 8 Bausteinen an einem Bus bist du auch später noch flexibel, wenn du noch en paar Looper/Schaltausgänge willst oder doch noch ein EEPROM brauchst.
Taster zu ner Matrix löten is ja jetzt kein Hexenwerk. Da würde ich nicht extra ein IC für her nehmen. Einfach in Zeilen und Spalten aufteilen. Das ist doch nix im Vergleich zu nem Röhrenradio in ptp ;) :devil:

mfg sven

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln