Vienna (Austria - Europe)
Offline
Newbie
Karma: 0
Posts: 31
|
 |
« on: December 27, 2012, 10:38:41 am » |
Hallo!
Ich hätte eine Frage bzgl. meinem Stepsequencer Projektes. Kurze Beschreibung: Breadboard Arduino (d.h. "onboard") 8x4 Button LED´s; 1x8 Lauflicht LED´s, 1x8 sonstige LED´s, d.h. mittels 6x 595er Shiftregister 8 Potis mittels Mutliplexer (4051er) 2x externe EEprom´s Matrixbuttons(4x8) mittels Spannungsteiler "gelöst" (nicht optimal, bei 32 Buttons) Steuerbuttons auch mittels Spannungsteiler (anderer Analog Pin) 2x16er LCD Display Midi In +Out
Eine komplette Projektbeschreibung wird inkl. Dokus und Schaltplänen folgen, wenn das Projekt fertig ist (immerhin alles zusammen für weit unter 100 Euro!!!). Hardware ist als Prototyp fertig, Software befindet sich bei 85%.
Mir ist nur augefallen, dass - je nachdem welche Stromquelle (momentan über USB) ich anschließe, es zu einem kurzfristigen Spannungsabfall und zu einem Absturz des Atmegas kommt. Vor allem tritt der Absturz dann auf, wenn ich von einem Pattern mit vielen aktiven LED´s auf eines mit weniger wechsle Testhalber habe ich einen 4,7uf Elko zwischen VCC und GND eines 595er geschalten und das Problem war nicht mehr vorhanden. Da ich es jedoch nicht dem Zufall überlassen will, gibt es von eurer Seite her Erfahrung, a) welche Kondensatorentypen geeignet sind (Elkos, Kerkos, ...) b) welche Kapazität sie besitzen sollen c) an welchen Stellen sie im Schaltplan am besten eingebaut werden sollen (direkt bei VCC bei den Chips?)
Vielen Dank!
Liebe Grüße
Matthias
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Forum Moderator
BZ (I)
Online
Brattain Member
Karma: 160
Posts: 15625
+39 349 2158303
|
 |
« Reply #2 on: December 27, 2012, 02:23:49 pm » |
Unbedingt 0,1µF (100nF) nahe an jedem IC. Bei so vielen LEDs ist der Stromverbrauch nicht zu vernachlässigen. Ich zähle da 42 LED. Wieviel Strom gönnst Du den LEDs? Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Vienna (Austria - Europe)
Offline
Newbie
Karma: 0
Posts: 31
|
 |
« Reply #3 on: December 27, 2012, 03:46:45 pm » |
Super! 1000 Dank für eure Antworten! Das DSE-FAQ war genau, wonach ich suchte. Denk einmal, dass ich das Layout noch leicht verbessern muss. Kritisch dürfte es nicht sein, wenn ich´s sogar mit einem langsamen Elko "ausgeglichen" hab. Gesamtverbrauch muss ich mir erst ausrechnen, spendiere den 3mm LED´s jedoch wenig Strom (d.h. höherer Widerstandswert, da ich sie nicht an der Leistungsgrenze hell haben will).
Leider ist mir beim Durchtesten noch eine Frage gekommen, die betrifft die Buttons (32), die ich, mangels I/O Pins, mittels Spannungsteiler realisiert habe: Je mehr LED´s leuchten, d.h. je höher der Stromverbrauch, desto gravierender werden die Werteänderungen, jedoch leider nicht gleich, Beispiel: Ich hab folgende Fixwerte errechnet (wenn alle LED´s aus sind): const prog_uint16_t buttonmapping[]PROGMEM= { 1017,992,964,938,912,889,866,843,823,805,787,769,752,735,721,705,692,678,665,652,640,628,616,605,594,584,576,566,557,548,538,530};
D.h. 1017 als höchsten Spannungsteilerwert, 530 als niedrigsten. Sobald alle LED´s leuchten, ist der höchste Wert 1012, der niedrigste 542, d.h. sie verhalten sich antiproportional. Die einzige Lösung, die mir einfällt ist, dass ich mehrere Wertetabelle erstelle, und in Abhängigkeit der leuchtenden LED´s verwende. Ideal ist dies natürlich nicht. PS: Hab mal als Anhang zwei kleine Fotos des Prototypen gemacht!
Danke!
Liebe Grüße Matthias
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Online
Brattain Member
Karma: 160
Posts: 15625
+39 349 2158303
|
 |
« Reply #4 on: December 27, 2012, 04:12:31 pm » |
Wenn Du als Referenzspannung für den ADC die 5V Versorgungsspannung nimmst (die default eingestellt ist) dann ist die Messung immer richtig. Ein Absinken der Versorgungspannung gibt den gleichen ADC Wert, weil die Referenzspannung gleich absinkt. Hast Du ein R/2R Netzwerk genommen? Wieso schöpfst Du nicht den ganzen möglichen Wertebereich aus sondern nur die Hälfte?
Als Alternative kannst Du ein oder 2 I2C Port Expander nehmen und die Tasten in eine Matrix geben oder bei 2 MCP23017 könntest Du sogar jede Taste einzeln auf einen Eingang schalten. I2C Bus braucht 2 Pins (A4 und A5) Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Vienna (Austria - Europe)
Offline
Newbie
Karma: 0
Posts: 31
|
 |
« Reply #5 on: December 27, 2012, 04:58:43 pm » |
Das mit der Ref-Spannung wäre eine Idee! Ein I2C Port Expander hab ich mir auch schon überlegt, aber ich wollte die Kosten minimiert, v.a. sind die Port Expander schwer(er) erhältlich und nach Österreich zahl ich immer Phantasieversandkosten (10-15 Euro). Schade, weil am A4/A5 hängen eh schon zwei I2C EEproms. Den gesamten Wertebereich wollte ich nicht ausschöpfen, da die Tact-Switches, die ich verwendet habe, eher ungenau sind und somit hab ich einen höheren Treshold Wert, dazu mein "Aha-Erlebnis gerade eben: Hab die Buttons mittels einfachem Spannungsteilerprinzip realisiert (Schema: Anhang), R/2R Netzwerk klingt da interessanter, wären halt 64 Widerstände. Welchen Vorteil würde das R/2R ergeben, v.a. punkto Genauigkeit, bzw. Entprellen?
Danke u. LG Matthias
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Online
Brattain Member
Karma: 160
Posts: 15625
+39 349 2158303
|
 |
« Reply #6 on: December 27, 2012, 05:29:11 pm » |
Hab die Buttons mittels einfachem Spannungsteilerprinzip realisiert (Schema: Anhang), R/2R Netzwerk klingt da interessanter, wären halt 64 Widerstände. Welchen Vorteil würde das R/2R ergeben, v.a. punkto Genauigkeit, bzw. Entprellen? Danke u. LG Matthias
Entprellen gar keine. Genauigkeit auch keine. Vorteil Du hättest eine Binäre Abstufung. Wird bei DAC oft verwendet. Der Vorteil ist daß Du nur 1 Wert von Widerständen brauchst und nicht lange herumsuchen mußt damit die richtige Abstufung bekommst. Nochmal nachgedacht; 32 Taster sind zu viele um das Auflösen zu können. Bei bis zu ca 6 Tasten könntest Du Mehrfachbetätigungen auflösen. Den gesamten Wertebereich wollte ich nicht ausschöpfen, da die Tact-Switches, die ich verwendet habe, eher ungenau sind und somit hab ich einen höheren Treshold Wert Wenn Du den gesamten Wertebereich ausnutzt hast Du bei gleichmäßiger Unterteilung einen größeren Abstand zwischen den einzelnen Werten der Tasten von teoretisch 32 zwischen jeden Wert (und nicht wie jetzt zwischen 8 bis 25). Wenn Du den ganzen Wertebereich verwendest verdoppelst Du auch den jetzigen Werteabstand und somit die Störsicherheit. Ein I2C Port Expander hab ich mir auch schon überlegt, aber ich wollte die Kosten minimiert, v.a. sind die Port Expander schwer(er) erhältlich und nach Österreich zahl ich immer Phantasieversandkosten (10-15 Euro). https://www.distrelec.at/ishopWebFront/infoCenter.do?url=https%3A//www.distrelec.com/distrelec/infocenter.nsf/gdt%3FOpenForm%26type=gtc%26country=at%26language=deDie Kosten der Verpackung sind im Preis enthalten. Für jede Standardlieferung wird ein Versandkostenbeitrag von Euro 3,30 zuzüglich MwSt. verrechnet. Die Lieferung erfolgt in der Regel per Paketdienst. http://at.rs-online.com/web/generalDisplay.html?id=aboutRS&file=deliveryTransport bis 50€ Bestellwert 6,95€, dann gratis (ohne MwSt) oder Gratisabholen bei Verabredung im Lager in 3950 Gmünd. Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Vienna (Austria - Europe)
Offline
Newbie
Karma: 0
Posts: 31
|
 |
« Reply #7 on: December 27, 2012, 05:59:42 pm » |
Danke noch einmal für die rasche Antwort! - Prinzipiell brauch ich überhaupt keine Mehrfachbetätigung - Bezüglich R/2R Netzwerk: werde ich mir einfach einlesen, bevor ist unnötige Fragen stelle  nur bei Einzeltasterbetätigung wären es doch 1024 Werte oder? - Distrelec + RS schickten, soweit ich mich erinnern konnte, nicht an Privatkunden...distrelec jetzt anscheinend schon lt HP - Mit den Wertebereich hast du natürlich recht, hab gut 500 als unterste Schwelle genommen, die gar nicht notwendig ist...muss sowieso die ganze Matrix überdenken, hab jetzt auch bessere Tact switches zuhause liegen...nur bis ich das alle neu aufgebaut habe (v.a. in Betracht ziehend, dass sowieso eine 16 Button/Poti Reihe sinnvoller wäre, war halt mein erstes Arduino Projekt, wo ich eher blöd darauf los gebastelt habe u.v.a. dass meine 5 Monate alte Tochter mir eh keine Freizeit gönnt), vergehen sicher etliche Wochen Liebe Grüße Matthias
|
|
|
|
|
Logged
|
|
|
|
|
Forum Moderator
BZ (I)
Online
Brattain Member
Karma: 160
Posts: 15625
+39 349 2158303
|
 |
« Reply #8 on: December 27, 2012, 06:13:39 pm » |
Distrelec verkauft an Privatkunden (kannst oben rechts auswählen wegen Preise mit oder ohne MwSt). RS verkauft in Italien an Privatkunden (wenigstens an mich). Weiß aber nichts bezüglich Österreich oder Deutschland. nur bei Einzeltasterbetätigung wären es doch 1024 Werte oder? Das verstehe ich nicht ganz wie Du das meinst. Grüße Uwe
|
|
|
|
|
Logged
|
|
|
|
|
Vienna (Austria - Europe)
Offline
Newbie
Karma: 0
Posts: 31
|
 |
« Reply #9 on: December 27, 2012, 06:25:50 pm » |
Wie gesagt, beim R2/R Netzwerk les ich mich noch besser ein! Ja, in AT/DE hat man bei vielen Elektronikversandhändlern das Problem, dass man Geschäftskunde sein muss und es wird auch nachgeprüft (Ust ID), RS verschickt definitiv nicht nach AT... Eine gute, fast perfekte, Liste ist unter http://www.mikrocontroller.net/articles/Elektronikversender zu finden. LG Matthias
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 117
|
 |
« Reply #10 on: December 28, 2012, 06:46:54 am » |
Hallo,
wo hast du die (Arcade) Buttons her? Suche auch sowas für meinen Step Sequenzer.
gruß komika
|
|
|
|
|
Logged
|
|
|
|
|
|
|
Offline
Full Member
Karma: 0
Posts: 117
|
 |
« Reply #12 on: December 28, 2012, 09:23:24 am » |
Hät ich das damals gefunden... Hab jetzt schon andere. Wollte erste Digitasts nehmen, aber die sind sehr teuer.
|
|
|
|
|
Logged
|
|
|
|
|
Vienna (Austria - Europe)
Offline
Newbie
Karma: 0
Posts: 31
|
 |
« Reply #13 on: December 28, 2012, 09:30:54 am » |
Kannst du ja mal auf Vorrat kaufen  Bestell gut 80% meiner Elektronikartikel (Widerstände, Kondensatoren, IC Sockel, Stecker, Schalter, Arduino Erweiterungen, IC´s, EEproms, usw..) über Ebay, immer mit "Versandkostenfrei", da hab ich keine bösen Überraschungen. Hab schon gut 40 Pakete erhalten, nur eines nicht (LED´s um 2 Euro). Kostenersparnis zu Conrad/Reichelt etc.. gut 80-95%!!!
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Faraday Member
Karma: 16
Posts: 3195
20 LEDs are enough
|
 |
« Reply #14 on: December 28, 2012, 11:09:56 am » |
32 Buttons per Spannungsteiler? Das kann nicht wirklich gut gehen. Grund: die Spannungsdifferenzen können höchstens 100/32 % also etwa 3% betragen. Wenn Du - warum auch immer - Widerstandstoleranzen >3% hast, dann geht das schon gelegentlich schief. Und es reicht ja nicht, daß sowas einmal funktioniert. Wenn sich die Umgebungstemperatur ändert, dann ändern sich die Widerstände auch. Ich würde sowas per Schieberegister realisieren. 2 IO Pins reichen um beliebig viele Taster per Schieberegister auszulesen.
|
|
|
|
|
Logged
|
|
|
|
|
|