Tag.
Ich brauche an einem µC noch einen Taster. Allerdings ist die Platine
schon fertig entwickelt (erhebliche Arbeit).
Wir haben eine 4er-Stiftleiste für Universalzwecke rausgeführt
(PD.0-PD.3).
Die könnten wir nutzen.
Leider haben wir da kein Potential, gegen das der Schalter geschaltet
werden könnte.
Kann ich einfach PD.0 auf 0 setzen und das als 'GND' für einen Taster an
PD.1 mit aktiviertem Pullup nutzen oder spricht da was dagegen?
Es handelt sich um einen ATmega 328p.
Danke!
hinz schrieb:> Kann ich einfach PD.0 auf 0 setzen und das als 'GND' für einen Taster an> PD.1 mit aktiviertem Pullup nutzen oder spricht da was dagegen?
So macht man das bei Matrixtastaturen ohnehin, klar geht das. Denk aber
an die SW-Entprellung.
Klaus schrieb:> Erstaunliche Frage für jmd, der eine Platine "mit> erheblichem Aufwand" entwickelt hat :)
Aufwand /= Erfolg. Ein I/O-Stecker ohne Bezugspotential spricht nicht
gerade für eine durchdachte Entwicklung.
Georg
hinz schrieb:> Wir haben eine 4er-Stiftleiste für Universalzwecke
und ein fünftes Loch daneben bohren ud einen Draht nach GND ziehen geht
nicht? (als Bohrschablone eignen sich prima Lochrasterplatten)
Aber auch ohne das ich GND vergesse, manchmal hole ich mir den GND aus
einem Port wenn nicht zuviel Strom verlangt wird, Nokia5110 Display, DHT
11/22 usw.)
Thomas E. schrieb:> Robert K. schrieb:>> Dann kannst Du bis 3 Taster anschließen.>> Ach was.> 6 Taster und 12 Leds.
Mit welcher Schaltung kommst Du auf diese Zahlen?
Bei vier Ports sehe ich eine 2x2 Matrix = 4 Taster oder, je zwei
antiparallel, 8 LEDs.
12 LEDs = 4x3 kann man mit Charlieplexing erreichen. Aber wie können
dann noch Taster dazu, dann gehen doch immer die LEDs aus?!
Vielleicht sind die Pins ja auch am ADC, dann können sehr viele Taster
dran...
Liebe Grüße
DerJoe
hinz schrieb:> Wir haben eine 4er-Stiftleiste für Universalzwecke rausgeführt> (PD.0-PD.3).> Die könnten wir nutzen.
Prima, dann häng doch per (Soft-)SPI Schieberegister ran. Damit kannst
du dir beliebig IO-Ports generieren ;-)
> oder spricht da was dagegen?
Nein, spricht es nicht.
Aber warum muss man für diese Entscheidung einen Thread aufmachen?
Sonst schaltest du doch auch selbständig Pins als Ausgang, ohne im Forum
zu fragen, oder?
DerJoe schrieb:> 12 LEDs = 4x3 kann man mit Charlieplexing erreichen. Aber wie können> dann noch Taster dazu, dann gehen doch immer die LEDs aus?!
Ja, Charlieplex.
Also 6 x je 2 antiparallel geschaltete Leds. Genauso schließt man die
Taster auch an. Nur, daß man Taster nicht antiparallel schalten kann.
Deswegen nur sechs.
Klar, die Leds flippen während des Tastendrucks aus. Aber in dem Moment
konzentriert man sich auf den Taster. Und wenn man den loslässt, ist
alles wieder gut. Haptisch ist das also gar nicht so problematisch.
Nicht die schönste Lösung, aber es geht.
Und wenn man nur 4 Leitungen hat...
Robert K. schrieb:> Das könntest Du bitte mal erklären.
Ist nur das hier im Forum übliche Rumgebastel ohne jeglichen - halbwegs
professionellen - Praxisbezug :-)
Die Informatiker halt, die denken dass sie Hardware entwickeln
könnten...
Dennis schrieb:> Die Informatiker halt, die denken dass sie Hardware entwickeln> könnten...
Die Dennis-Gäste halt. Die denken, daß sie das beurteilen können.
Dennis schrieb:> Die Informatiker halt, die denken dass sie Hardware entwickeln> könnten...
Die können das nicht nur, die machen das ;-))
Gehörte bei uns zur Ausbildung.
mfg
Olaf
Thomas E. schrieb:> Also 6 x je 2 antiparallel geschaltete Leds. Genauso schließt man die> Taster auch an. Nur, daß man Taster nicht antiparallel schalten kann.> Deswegen nur sechs.
Was spricht dagegen, genauso antiparallel geschaltete Taster abzufragen?
Wofür wurden Dioden erfunden?
Zu "Tastaturen"
Vielleicht mal ihr das mal als Schaltung auf, wie das mit den Tastern
gehen soll. Nach meinem Wissen braucht es die Dioden schon allein
deshalb, um in der Matrix den Querstrom zu unterbinden und eine
Fehlinterpretation zu verhindern. Und dann geht sicher auch nur wieder
ein Taster, oder?
Zu "Charlieplex"
Da funktioniert dann auch nur eine LED je Gruppe, oder? Muss man mehrere
LEDs dann zeitlich multiplexen? Wie könnte man das lösen?
Also wäre meine Frage: Wieviele LEDs und Schalter bekommt man mit n
Leitungen gleichzeitig unabhängig gesteuert und ausgelesen?
Wie, nur 12 LED und 6 Taster?
Wenn das 4 Pins hat, kannst Du einen I2C dranbasteln. Dann kannst Du
soviele LED dranhängen, wie der Portpin Strom treiben kann. Und eine
ganze Tastatur.
Robert K. schrieb:> Also wäre meine Frage: Wieviele LEDs und Schalter bekommt man mit n> Leitungen gleichzeitig unabhängig gesteuert und ausgelesen?
Bis zu 1000 Schalter und 4000 LEDs (mindestens).
1 Leitung = GND Potential.
+
2 Leitungen = Soft-UART oder
3 Leitungen = Soft-SPI.
Und schon kann man alles mögliche machen...
Man kann wohl - ohne Jemandem zu nahe zu treten - behaupten, daß der
Beitrag über dem meinen wieder einer jener war, der typisch ist, für
gewisse Foren: Die Frage nicht verstehen und dann trotzdem einen klugen
Satz bringen.
Verehrter Marc: Ich bin ja nicht aus Bielefeld. Wenn man SO denken
wollte, dann ginge freilich "Alles", allerdings müsste man dann schon
auch konsequent sein und die dafür optimale Lösung posten, nämlich, auf
10 der 12 Leutungen verzichten, nur 2 davon nehmen und USB dranhängen.
Dann bekommen wir mehrere Millionen Schalter und Computer-Monitore mit
Millionen von LED-Elementen dran.
Das war aber nicht so ganz die Frage, denn so eine Lösung erfordert
intelligente und aktive Endgeräte. In Deinem Fall mindestens einen
I2C-slave oder UART-slvae und damit eine eigene Stromversorgung.
Bevor jetzt der nächste mit einer Ethernet-lösung kommt, präzisiere ich
mal die Randbedingungen:
Die Lösung muss passiv sein, also keine Stromaufnahme haben.
Das gilt auch für die Lösung von "Tim Thaler". 10 Portpins liefern bei
so einem Controller höchstens Strom für ein paar angehängten LEDs.
Robert K. schrieb:> Man kann wohl - ohne Jemandem zu nahe zu treten - behaupten, daß der
...
> auch konsequent sein und die dafür optimale Lösung posten, nämlich, auf> 10 der 12 Leutungen verzichten, nur 2 davon nehmen und USB dranhängen.
Tja, nur funktioniert USB nicht aus der Box - da gehört viel mehr dazu.
Und ohne dir auch zu nahe zu treten, bezweifle ich, dass du dazu
fähig bist.
> Das war aber nicht so ganz die Frage, denn so eine Lösung erfordert> intelligente und aktive Endgeräte. In Deinem Fall mindestens einen> I2C-slave oder UART-slvae und damit eine eigene Stromversorgung.
Intelligent ja, Stromversorgung nein.
M48P braucht bei 8MHz im Active max. 8mA, Idle max.2,7mA, normal
ist die Hälfte davon.
Ein Portpin liefert bis zu 40mA, also könnte der im Extremfall bis
zu 5xM48 versorgen, im Normalfall bis zu 10xM48.
> Die Lösung muss passiv sein, also keine Stromaufnahme haben.
Da must du aber leider sowohl auf Taster als auch auf LEDs verzichten
- die brauchen beide Strom.
Marc V. schrieb:> Tja, nur funktioniert USB nicht aus der Box - da gehört viel mehr dazu.
Viele Controller haben heute USB mit an board.
> Und ohne dir auch zu nahe zu treten, bezweifle ich, dass du dazu> fähig bist.
Schön, dass Du so genau weist, was Ich kann.
>> Die Lösung muss passiv sein, also keine Stromaufnahme haben.> Da must du aber leider sowohl auf Taster als auch auf LEDs verzichten> - die brauchen beide Strom.
Taster schalten nur Information weiter und LEDs sind das Ziel der
Bestromung gewesen. Die jetzt in den Kontext des Ausschlusses einer
Stromversorung mit einzubeziehen ist spitzfindig.
Robert K. schrieb:> Die jetzt in den Kontext des Ausschlusses einer> Stromversorung mit einzubeziehen ist spitzfindig
Das ist nicht spitzfindig, sondern real. Es gibt unzählige
Möglichkeiten, externe Erweiterungen anzusteuern, z.B. brauchen
CMOS-Schieberegister keinen erwähnenswerten Strom, LEDs aber schon,
sonst leuchten sie hat einfach nicht. Der Stromverbrauch der LEDs wird
letzten Endes das begrenzende Element an deiner Elektronik sein, auch
wenn du hunderte LEDs anssteuern könntest, das geht eben nicht ohne
zusätzliche Stromversorgung. Und mit dieser gibt es keine vernünftige
Einschränkung.
Da dir sowas aber offensichtlich überhaupt nicht klar ist, erhebt sich
schon die Frage, was du fachlich tatsächlich realisieren kannst, und das
liegt nicht an den Möglichkeiten der Elektronik.
Georg
Georg schrieb:> Der Stromverbrauch der LEDs wird> letzten Endes das begrenzende Element an deiner Elektronik sein, auch> wenn du hunderte LEDs anssteuern könntest, das geht eben nicht ohne> zusätzliche Stromversorgung.
Ich hab hier SMD-LED rumliegen, die brauchen als Anzeige gerade mal
100µA. Damit brauchst Du für 100 LED 10mA. Bringt der Portpin eines AVR
locker.
Die Zeiten, als man LED mit 20mA bestromen mußte um überhaupt etwas zu
erkennen und auch nur wenn die Sonne nicht scheint sind vorbei.
Robert K. schrieb:> Taster schalten nur Information weiter
Also mir fällt gerade ausser Piezotaster keine Schaltung ein, wie man
einen Taster stromlos abfragt. Irgendwas fließt durch den Pullup immer.
Und wenn man nicht zu störanfällig werden will, sollte dieser auch nicht
zu hochohmig sein.
Robert K. schrieb:> Die Lösung muss passiv sein, also keine Stromaufnahme haben.
Sagt wer? Sagt hinz nicht.
Robert K. schrieb:> Also wäre meine Frage: Wieviele LEDs und Schalter bekommt man mit n> Leitungen gleichzeitig unabhängig gesteuert und ausgelesen?
Wenn es wirklich darum ginge, das maximale aus einem bestehenden Board
rauszuholen, das nicht dafür entwickelt wurde und nun mit einer
Erweiterungsplatine versehen werden soll und darf, sind mehrere Wege
offen. Der goldene Weg ist natürlich ein Schieberegister mit digitalen
Eingängen und Ausgängen, wie schon erklärt wurde. Dann greift das
Bandbreitenlimit der treibenden Schaltung.
Robert K. schrieb:> Die Lösung muss passiv sein, also keine Stromaufnahme haben.
Einigen wir uns mal auf "keine externe Stromversorgung haben" denn ein
bischen Strom werden die Schaltungen immer benötigen. Es muss ja
Information reinfließen, egal, ob man die dem Schalten oder dem
Lampenverbrauch zurechnet.
Bei dem "Möglichen" kommt es damit allein darauf an, wieviel zusätzliche
Analoghardware man noch verwenden will.
Unter bestimmten Umständen ist Charlieplex die beste Lösung, da sie
wenige Bauteile erfordert. Vollparallel zu steuern geht (bei deutlich
mehr Aufwand und Signalverarbeitung im Steuergerät) mit "Schuhmiplex":
24 Taster und 24 LEDs über 2x2 Leitungen. Die Auswertung erfolgt über
Signalverarbeitung in einem DSP. Es gibt auch noch einen undokumentieren
Multiplexbetrieb zwischen LED und Schalter, der nur 3 Leitungen
erfordert, aber 32 Kanäle hat, den ich - wie die konkrete
Schaltungsdimensionierung - aber nicht publizieren darf.
Man könnte jetzt die Ausgangschaltung symmetrisch aufbauen und die
Dioden kurzerhand gegen die LEDs austauschen. Oder man belässt die
Dioden um die Schaltschwelle aufrecht zu erhalten und nutzt beide
Halbwellen.
Da die Schaltungen logischerweise einen Wirkungsgrad von signifikant
weniger, als 1 haben (:D) sollte man für für 32 LEDs mal 1 Ampere
kalkulieren. Ein kleiner 3Watt-Audio-Verstärker sollte reichen. Für den
Lesepfad reicht ein einfacher Leitungstreiber. Je nach
Signalverarbeitung kann man sehr enge Frequenzabstände nehmen. Zumindest
für den Lesezweig.
Wenn man das für den Ausgang auf die hiesigen Anforderungen portieren
möchte, würde ich eine komplette Oktave Abstand zwischen den Frequenzen
veranschlagen, im Audiobereich bleiben und maximal 8 LEDs pro Kanal
fahren. Das dürfte stromtechnisch schon das Limit sein, denke ich.
Eine Idee noch: Wenn es wirklich darum geht, für eine größere
Produktionscharge eine Lösung zu finden, dann sollte man einige Ports
als Stromquelle benutzen, indem man mit Übertragern und gegensinniger
Ansteuerung eine Wechselspannung übersetzt, hinten gleichrichtig und
parallel schaltet. Dann hast Du rund 1 Watt an der Hand. Mit einem
Leitungspaar machst Du eine LVDS-Verbindung, indem Du einen solchen
Übertrager mit Vorwiderständen hintrimmst. Wären 2 Power Leitungen und 2
Signalleitungen.
Weitere Verbeserung: Ein Powerzweig wird abgetrennt und zur Bildung
einer lokalen Spannung auf dem Board benutzt, um einen Optokoppler zu
treiben. Damit kommst Du dann mit Megaherzen aus dem Board raus und
knapp 1 Watt Versorgung in die Peripherie.
Marc V. schrieb:> Da must du aber leider sowohl auf Taster als auch auf LEDs verzichten> - die brauchen beide Strom.
Nö.
Es gibt 4 Pins und zwei Taster sollen dran.
Also können zwei Pins GND herzaubern.
lohnsklave schrieb:>> Da must du aber leider sowohl auf Taster als auch auf LEDs verzichten>> - die brauchen beide Strom.> Nö.> Es gibt 4 Pins und zwei Taster sollen dran.> Also können zwei Pins GND herzaubern.
Aha.
Und der benötigte Strom wird woher hergezaubert ?
Pullup braucht Strom und Pulldown kann man nicht gegen GND schalten.
lohnsklave schrieb:> Nö.> Es gibt 4 Pins und zwei Taster sollen dran.> Also können zwei Pins GND herzaubern.
Du hast es FAST richtig:
1. 1 Pin auf HI für die pullups
2. 1 Pin auf LO für die GNDs
3. 2 Pins für die Inputs
Also 4 Pins und 2 Widerstände.
Das lasse ich mir jetzt patentieren, wenn ich mir die anderen Vorschläge
so durchlese ...
Carlo schrieb:> Das lasse ich mir jetzt patentieren, wenn ich mir die anderen Vorschläge> so durchlese ...
Das ist schon gefühlt im 18. Jhd patentiert worden :-)