Forum: Mikrocontroller und Digitale Elektronik LED Tisch mit Berührungs-/Gegenstandserkennung


von Tim R. (herrvorragend)


Lesenswert?

Hallo allerseits,

ich bin momentan ein wenig am überlegen, ob ich eine Blitzidee von mir 
einfach mal umsetze.
Vorweg: Ich habe Erfahrung mit Mikrocontrollern, Programmierung etc.... 
zwar etwas eingerostet, aber das sollte reaktivierbar sein :)

Ich möchte gerne einen Tisch (ca. 1m x 2m) mit einer (Milch)Glasplatte 
mit LEDs bzw. RGBs versehen um einen schönen Leuchteffekt zu erhalten. 
Das ist soweit relativ einfach. Zusätzlich möchte ich aber eine 
Erkennung/Sensorik, ob beispielsweise eine Hand oder ein Glas auf dem 
Tisch steht, um diese Stelle andersfarbig leuchten zu lassen.

Mich würde interessieren, ob jemand Ideen hat, wie man relativ 
zuverlässig solch eine Erkennung durchführen kann bzw was gibt es für 
relevante Sensoriken?! Ich habe an Fotowiderstände oder 
Berührungssensoren gedacht. Bei denen bräuchte man nur eine ganze Menge 
oder?

Im Internet habe ich nur vereinzelte Themen gesehen wie diesen: 
http://www.mikrocontroller.net/topic/326455 der leider wohl gelöscht 
wurde :( Thema: "Gegenstands-Erkennung für RGB-LED-Table - 
Mikrocontroller.net"

Danke schon mal für alle konstruktiven Antworten

von Markus M. (adrock)


Lesenswert?

...warum wurde denn der andere Thread gelöscht?

Verstehe ich nicht...

Grüße
Markus

von stef (Gast)


Lesenswert?

die käuflichen Versionen machen das mit infrarot Reflex 
Lichtschranken... (ist kein michlglas)

suche mal nach: interaktiver led tisch

Ich denke das müsste über ein Kapazitiven Sensor gehen.

von Markus M. (adrock)


Lesenswert?

...wurde ja in dem anderen Thread schon alles besprochen:

- Fertigen Infrarot Proximity Sensor nehmen (Nachteil: ca. 2,50 EUR pro 
Sensor)

- Selbst mit IR-LED und Photodiode/Transistor etwas ähnliches bauen

- Kapazitiv (Nachteil: Drähte o.ä. notwendig

von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
> ...wurde ja in dem anderen Thread schon alles besprochen:
>
> - Fertigen Infrarot Proximity Sensor nehmen (Nachteil: ca. 2,50 EUR pro
> Sensor)
>
> - Selbst mit IR-LED und Photodiode/Transistor etwas ähnliches bauen
>
> - Kapazitiv (Nachteil: Drähte o.ä. notwendig

wie beschrieben, konnte ich den anderen Thread leider nicht ansehen, 
aber danke schonmal für die Infos!

von Markus M. (adrock)


Lesenswert?

Also der Threadersteller des gelöschten Threads hatte noch viele IR-LEDs 
und Photodioden zu liegen und wollte sie verwenden.

Der Gedanke war:

- die IR-LEDs zu modulieren (um das Umgebungslicht zu unterdrücken)
- die Änderungen der Spannung an der Photodiode zu Verstärken und über 
einen Analogmultiplexer auf den A/D-Wandler eines µC zu geben
- aus Änderungen in der Amplitude des Signals müsste sich dann erkennen 
lassen, ob sich etwas an der Reflexion für dieses Quadrat geändert hat 
(Gegenstand auf dem Tisch)

So die Theorie.

Mit fertigen Näherungssensoren ist es noch einfacher, diese beinhalten 
schon eine gewisse Intelligenz, lassen sich teileise sogar noch über I²C 
programmieren (Empfindlichkeit etc.), kosten aber eben mehr, im Bereich 
2-3 EUR / Stück.

Man müsste das ganze mal in einem Testaufbau verifizieren inwieweit die 
einzelnen Möglichkeiten überhaupt funktionieren für den gegebenen Aufbau 
der Oberfläche (Glas, milchig), da habe ich keine Ahnung.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
> Also der Threadersteller des gelöschten Threads hatte noch viele IR-LEDs
> und Photodioden zu liegen und wollte sie verwenden.
>
> Der Gedanke war:
>
> - die IR-LEDs zu modulieren (um das Umgebungslicht zu unterdrücken)
> - die Änderungen der Spannung an der Photodiode zu Verstärken und über
> einen Analogmultiplexer auf den A/D-Wandler eines µC zu geben
> - aus Änderungen in der Amplitude des Signals müsste sich dann erkennen
> lassen, ob sich etwas an der Reflexion für dieses Quadrat geändert hat
> (Gegenstand auf dem Tisch)
>
> So die Theorie.

theorie ist immer gut hehe... wie gut die dioden im endeffekt waren weiß 
niemand ? :)

>
> Mit fertigen Näherungssensoren ist es noch einfacher, diese beinhalten
> schon eine gewisse Intelligenz, lassen sich teileise sogar noch über I²C
> programmieren (Empfindlichkeit etc.), kosten aber eben mehr, im Bereich
> 2-3 EUR / Stück.

in einer fixen suche bin ich nur auf sau teure sensoren gestoßen, hat 
jemand mal einen link? ich glaub ich habe an der falschen stelle gesucht

>
> Man müsste das ganze mal in einem Testaufbau verifizieren inwieweit die
> einzelnen Möglichkeiten überhaupt funktionieren für den gegebenen Aufbau
> der Oberfläche (Glas, milchig), da habe ich keine Ahnung.

ja das wäre sehr interessant zu wissen

von Markus M. (adrock)


Lesenswert?

Habe mal bei Digikey geschaut, interessant waren die Sensoren von:

TAOS (TSLxxxx), z.B. TSL26711FN:

- Infrarot
- Programmierbar über I²C
- inkl. Konstantstromquelle für die IR-LED
- Anzahl Pulse einstellbar etc.
- "Interrupt" Ausgang signalisiert Annäherung
- Preis: DK 0,50€ für 3000 Stk :-), Mouser ca. 0,80€, keine 
Mindestbestellmenge.

- Gibt noch andere Serien, z.B. TSL2771, noch empfindlicher, 1,10€ ab 
100 Stk.

Weitere ähnliche Sensoren:

- Avago APDS-9120, Sender und Empfänger integriert, Preis/Stk: 1,69€ 
(RS, ab 10)
- IS31SE5001 (schlecht verfügbar)
- Si1102, Preis/Stk: 2,34€ (RS)
- IS471F, Preis/Stk: 2,64€ (RS, ab 100), einziger bedrahteter Sensor

Wenn man den ganzen Aufwand nimmt, dürfte ab einer bestimmten Stückzahl 
ein fertiger Sensor günstiger sein... man bedenke auch, dass man 
hunderte davon einlöten/bestücken muss...

: Bearbeitet durch User
von Borislav B. (boris_b)


Lesenswert?

Ich muss mich hier auch mal als RGB-Table-Fan outen ;-)

Bei meiner Planung bin ich auf folgende Kombination gestoßen:

IR-LED "SFH 409", 0,15€
IR-Empfänger "TSOP31238", 0,66€

Kommt also zusammen auf 0,81€ pro Pixel. Der Empfänger arbeitet auf 
38khz, wenn man die LED also entsprechend moduliert, sollte das ganze 
sich nicht durch Umgebungslicht stören lassen.
(Die Wellenlängen habe ich bei der Auswahl der Komponenten nicht 
berücksichtigt, da müsste man also nochmal schauen, dass die LED auch 
wirklich zum Empfänger passt)

Was meint ihr? Könnte das hinhauen?
Wäre auf jeden Fall eine schön günstige Lösung.

von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
>
> Wenn man den ganzen Aufwand nimmt, dürfte ab einer bestimmten Stückzahl
> ein fertiger Sensor günstiger sein... man bedenke auch, dass man
> hunderte davon einlöten/bestücken muss...


danke für deine Mühe... ich stehe jetzt nur gerade etwas auf dem 
Schlauch, was du mit fertig Sensor genau meinst? aber ich muss gestehen 
bin grad frisch von Arbeit gekommen, muss am we erstmal die ganzen 
Daten/Bauteile auswerten die hier zusammengetragen wurden


Boris P. schrieb:
> Ich muss mich hier auch mal als RGB-Table-Fan outen ;-)
>
> Bei meiner Planung bin ich auf folgende Kombination gestoßen:
>
> IR-LED "SFH 409", 0,15€
> IR-Empfänger "TSOP31238", 0,66€
>
> Kommt also zusammen auf 0,81€ pro Pixel. Der Empfänger arbeitet auf
> 38khz, wenn man die LED also entsprechend moduliert, sollte das ganze
> sich nicht durch Umgebungslicht stören lassen.
> (Die Wellenlängen habe ich bei der Auswahl der Komponenten nicht
> berücksichtigt, da müsste man also nochmal schauen, dass die LED auch
> wirklich zum Empfänger passt)
>
> Was meint ihr? Könnte das hinhauen?
> Wäre auf jeden Fall eine schön günstige Lösung.


schön einen weiteren Fan gefunden zu haben hehe
die Kombination ist wirklich günstig! hierzu sollte aber erst ein kurzer 
Test durchgeführt werden, ob das ganze auch dementsprecht zusammen 
funktioniert. Meine größte Sorge ist immernoch, wie sich das ganze 
Verhalten mit (Plexi-)Glas auswirkt. Glaube hier müsste ich selber mal 
eine kleine Testreihe starten oder gibt es hierzu schon Videos oder 
ähnliches die sehr aussagend sind ? :-)

für alle die es nicht kennen: ich habe gestern einen interessanten Link 
gefunden
http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html

von Chefkoch (Gast)


Lesenswert?

Qtouch?

von Basti (Gast)


Lesenswert?

Hatte unter meinem RGB Tisch mal 4 DMS getestet...


Ging ganz gut, hab es aber nicht weiter verfolgt...
Das Problem ist, kein Multitouch und herausfiltern von Querverspannungen 
bzw. eine gute mechanische Umsetzung ;)

Dafür kannst du natürlich reale Gewichte auflösen und sagen: oh, großer 
Schluck... du bist aber durstig ;)

Hab auch nen kleines YouTube Video das den Touch kurz demonstriert: 
SFCounterfeiter dort mein Name... Link mit Handy suchen, is immer so 
unpraktisch ;)

Grüße

Basti

von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> schön einen weiteren Fan gefunden zu haben hehe

Ich hoffe am Ende dieses Threads hat jeder von uns so einen RGB-Tisch 
zuhause stehen ;-)

Tim R. schrieb:
> die Kombination ist wirklich günstig! hierzu sollte aber erst ein kurzer
> Test durchgeführt werden, ob das ganze auch dementsprecht zusammen
> funktioniert. Meine größte Sorge ist immernoch, wie sich das ganze
> Verhalten mit (Plexi-)Glas auswirkt.

Laut Datenblatt passen die beiden zusammen (950nm Wellenlänge). Wäre 
noch zu testen, wie sich das in der Praxis verhält (Reflektionen am 
Plexiglas?).
Aber bei dem Herrn aus deinem Link hat es ja genau so funktioniert...

Tim R. schrieb:
> Glaube hier müsste ich selber mal eine kleine Testreihe starten

Ist halt nur immer blöd so ein paar einzelne Teile zu bestellen. Oder 
hast du einen Conrad um die Ecke?

Wie sieht es eigentlich mit den anderen Komponenten aus? Werden die hier 
auch disktutiert?
(Logik der Knoten, Bus, Controller & Ansteuerung, Stromversorgung usw.)
Ggf. könnte man ja eine Projektseite im Wiki starten? Oder den Thread zu 
den Projekten verschieben?

von Tim R. (herrvorragend)


Lesenswert?

Basti schrieb:
> Hatte unter meinem RGB Tisch mal 4 DMS getestet...
>
>
> Ging ganz gut, hab es aber nicht weiter verfolgt...
> Das Problem ist, kein Multitouch und herausfiltern von Querverspannungen
> bzw. eine gute mechanische Umsetzung ;)
>
> Dafür kannst du natürlich reale Gewichte auflösen und sagen: oh, großer
> Schluck... du bist aber durstig ;)
>
> Hab auch nen kleines YouTube Video das den Touch kurz demonstriert:
> SFCounterfeiter dort mein Name... Link mit Handy suchen, is immer so
> unpraktisch ;)
>
> Grüße
>
> Basti

netter tisch, finde das design auch relativ modern gehalten, aber 
schicht und gut :) die größe geht in ordnung, viel größer würde ich auch 
nicht gehen wollen. verrätst du deine technik dahinter?

also das projekt nimmt natürlich viel zeit und kosten in anspruch, 
sodass erst in ein paar wochen/monaten ergebnisse sichtbar werden. Das 
ganze neben der arbeit machen, macht es nicht unbedingt leichter gg 
also das direkt zu den projekten schieben würde ich nicht

aber an sich generell die ansteuerung, versorgung etc. kann hier gerne 
besprochen werden

von Markus M. (adrock)


Lesenswert?

Naja, zu der Auswertung der Sensoren hatten wir uns auch schon Gedanken 
gemacht.

Für die Beleuchtungs-LEDs könnte man der Einfachheit halber einfach die 
WS2812B nehmen.

Um die Werte der Sensoren abzufragen, könnte man entweder mehrere 
ATtinys per SPI koppeln, oder die Werte per Multiplexer abfragen.

Mit 8x 8-Bit Muitiplexern könnte man schon 256 Eingänge abfragen (8 oder 
16 I/O-Pins am Controller vorausgesetzt).

Analogmultiplexer sind auch nicht viel teurer, falls man mit Analogen 
Werten und A/D-Wandler arbeiten muss.

Eine andere Überlegung war auch für jeden Pixel einen kleinen ATtiny zu 
nehmen, der die IR-LED steuert und die Photodiode auswertet und man die 
Ergebnisse irgendwie per SPI Daisy-Chain dann abfragt... wobei 
wahrscheinlich die Implementierung dieses Pixelsensors dann schon ein 
eigenes Projekt wird...

von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
> Naja, zu der Auswertung der Sensoren hatten wir uns auch schon Gedanken
> gemacht.
>
> Für die Beleuchtungs-LEDs könnte man der Einfachheit halber einfach die
> WS2812B nehmen.
>
> Um die Werte der Sensoren abzufragen, könnte man entweder mehrere
> ATtinys per SPI koppeln, oder die Werte per Multiplexer abfragen.
>
> Mit 8x 8-Bit Muitiplexern könnte man schon 256 Eingänge abfragen (8 oder
> 16 I/O-Pins am Controller vorausgesetzt).
>
> Analogmultiplexer sind auch nicht viel teurer, falls man mit Analogen
> Werten und A/D-Wandler arbeiten muss.
>
> Eine andere Überlegung war auch für jeden Pixel einen kleinen ATtiny zu
> nehmen, der die IR-LED steuert und die Photodiode auswertet und man die
> Ergebnisse irgendwie per SPI Daisy-Chain dann abfragt... wobei
> wahrscheinlich die Implementierung dieses Pixelsensors dann schon ein
> eigenes Projekt wird...

die WS2812B sind ja interessant, kenn ich auch noch nicht. wenn ich das 
richtig gesehen habe brauchen die eine versorgungsspannung und eine 
datenleitung, wo der spezifikation entsprechend die daten in den 
korrekten zeiten gesendet werden um eine farbe zu erhalten, ist das 
richtig?!

an multiplexen hatte ich zu aller erst gedacht. einzige problem wäre 
glaube ich nur ein mehraufwand der verkabelung

du meinst also kleine platinen für jeden pixel entwerfen? ich glaube der 
bastler in dem link den ich gepostet habe, hatte es genau so gemacht... 
man hätte dann zig kleine platinen mit jeweils sensor und led drauf... 
puh das würde eine ganz schöne arbeit mit sich ziehen

von Tim R. (herrvorragend)


Lesenswert?

Boris P. schrieb:

>
> Ist halt nur immer blöd so ein paar einzelne Teile zu bestellen. Oder
> hast du einen Conrad um die Ecke?
>


und ja... ich habe in berlin gleich drei conrad läden, wenn ich es 
richtig in erinnerung habe ;)

von Markus M. (adrock)


Lesenswert?

...ja, die WS2812(B) sind schon sehr cool, nur die Ansteuerung ist nicht 
trivial, aber es gibt inzwischen viele Libraries dafür.

Man kann sie praktisch als Kette direkt zusammenhängen und jede LED 
reicht dann die Daten an die nächste weiter, nachdem sie "ihre" Daten 
empfangen hat.

Ich habe mir jetzt mal bei RS diesen Avago Näherungssensor APDS-9120 
bestellt zum probieren.

Der hat sowohl die IR-LED als auch den Empfänger gleich eingebaut. D.h. 
man benötigt keine weiteren externen Komponenten für die 
Näherungserkennung.

Mal sehen ob er tut...

Grüße
Markus

von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
> ...ja, die WS2812(B) sind schon sehr cool, nur die Ansteuerung ist nicht
> trivial, aber es gibt inzwischen viele Libraries dafür.
>
> Man kann sie praktisch als Kette direkt zusammenhängen und jede LED
> reicht dann die Daten an die nächste weiter, nachdem sie "ihre" Daten
> empfangen hat.
>
> Ich habe mir jetzt mal bei RS diesen Avago Näherungssensor APDS-9120
> bestellt zum probieren.
>
> Der hat sowohl die IR-LED als auch den Empfänger gleich eingebaut. D.h.
> man benötigt keine weiteren externen Komponenten für die
> Näherungserkennung.
>
> Mal sehen ob er tut...
>
> Grüße
> Markus

klasse deine schnellen antworten!
versteh ich das richtig, dass du solch ein projekt ebenfalls umsetzen 
magst?! das kam hier bisher gar nicht zum ausdruck

aber super, dann warte ich einfach mal deine ergebnisse ab. besteht die 
möglichkeit zum testen mit glas/plexiglas?

grüße
tim

von Borislav B. (boris_b)


Lesenswert?

Hui, die sind aber saftig teuer. Für das Geld lässt sich ja schon die 
komplette Pixel-Platine inkl. µC, RGB-LED, Sensoren und Perepherie 
umsetzen.

Ich finde auch die Lösung mit intelligenten Pixeln am sinnvollsten. Dann 
reicht eine einzige Datenleitung als Bus, um die Farbinformationen und 
die Sensordaten bidirektional zu übertragen. Der Verkabelungsaufand ist 
zudem minimal.

von Markus M. (adrock)


Lesenswert?

Also für einen konkretes Tischprojekt fehlt mir ehrlich gesagt momentan 
die Zeit und das Kleingeld.

Aber ich finde die Sensoren interessant, deswegen mache ich jetzt mal 
einen Konzepttest ob das überhaupt so funktionieren kann.

Allerdings habe ich keine genaue Ahnung wie sich Milch(Plexi)glas 
auswirkt, also ob es damit überhaupt noch funktioniert.

Mit klarem Glas bzw. ohne jegliche Mattierung wolltest Du das doch nicht 
machen nehme ich ma an?

von Basti (Gast)


Lesenswert?

Hallo,

danke für die Blumen... die Frge ist ja weniger, wie habe ichs gebaut... 
sondern, wie würde ich es heute bauen ;)

Also WS2812 ist schnell und sinnvoll. Leider sind die sehr hell für 
einen Tisch und beim Dimmen fehlt die Dynamik! Würde hier 16 Bit PWM 
Treiber der Chinesen verbauen -> MySemi!

Ansonsten habe ich 4 DMS aus jeweils einer Ebay ramsch Küchenwaage 
geholt ud fix und fertig DMS ICs mit 24 Bit Auflösung von TI 
gesampelt... brauchbar waren davon immerhin 17 Bit und das hat für 0,25 
Gramm gereicht ;)

Die Mechanik muss so gestaltet sein, dass es absolut Spannungsfrei 
arbeitet -> sehr schwieirg...

Elektrisch gesehen, ist es eher kein Kunstwerk... je nach Erfahrung... 
also Waagen und DMS Platinen plus Bauteile: 40€...
Auflösung definitiv viel höher als es deine Matrix sein wird ;)

Viel Erfolg!

Und macht euch mit IR nicht arm :D

Grüße

Basti

von Sabine (Gast)


Lesenswert?

Und das ganze irgendwie mit Ultraschall maschen? An mehreren Stellen 
Ultraschall ins Glas schicken bzw. detektieren und über die geänderte 
Dämpfung oder über Reflektionen auf die berührte Stelle schleissen. Es 
gibt ja auch robuste Touchdisplay, die mit sowas arbeiten.

Sabine

von Basti (Gast)


Lesenswert?

Klingt auch interessant, nur ist das für den Hobbisten sicher nicht so 
einfach umsetzbar... Mechanisch gesehen... Signalaufbereitung sicher 
auch nicht ohne

von Borislav B. (boris_b)


Lesenswert?

Basti schrieb:
> Klingt auch interessant, nur ist das für den Hobbisten sicher nicht so
> einfach umsetzbar... Mechanisch gesehen... Signalaufbereitung sicher
> auch nicht ohne

Und spätestens bei Multitouch wirds dann ganz schön haarig. Und gerade 
das würde bei so einem Tisch ja richtig gut kommen.

von Tim R. (herrvorragend)


Lesenswert?

http://shop.led-studien.de/de/elektronik-bausatze/led-pixel/rgb-pixel-50x50mm-inkl.-wannen-kabel

rein für die beleuchtung könnte man alternativ auch fertige pixel 
platinchen verwenden. der nachteil wäre nur, dass die sensorik für die 
touch funktionalität noch irgendwie extra behandelt werden müsste


hehe und beim suchen bin ich auf ein forenbeitrag gestoßen, wo jemand 
gerade frisch anfängt einen tisch zu bauen !

http://www.ledhilfe.de/viewtopic.php?f=35&t=18413

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

Boris P. schrieb:
> Hui, die sind aber saftig teuer. Für das Geld lässt sich ja schon die
> komplette Pixel-Platine inkl. µC, RGB-LED, Sensoren und Perepherie
> umsetzen.
>
> Ich finde auch die Lösung mit intelligenten Pixeln am sinnvollsten. Dann
> reicht eine einzige Datenleitung als Bus, um die Farbinformationen und
> die Sensordaten bidirektional zu übertragen. Der Verkabelungsaufand ist
> zudem minimal.

ich stimme dir zu. pixelplatinen bringe vorteile, wie schnelle 
austauschbarkeit und erweiterbarkeit mit sich

willst du auf diese platinen jeweils einen controller verbauen?! oder 
einen zentralen uC ?
ich frage mich nur gerade, wie du über eine leitung die farbinformation 
vom uC zur rgb und die sensor information zum uC tragen willst. quasi im 
polling den portpin von umschalten?

von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> willst du auf diese platinen jeweils einen controller verbauen?! oder
> einen zentralen uC ?
> ich frage mich nur gerade, wie du über eine leitung die farbinformation
> vom uC zur rgb und die sensor information zum uC tragen willst. quasi im
> polling den portpin von umschalten?

Ich habe vor auf jeden Pixel einen Controller zu setzen. Ein ATTinyXX 
eignet sich vermutlich am besten. Diese gibts bei geschickter auswahl 
schon ab 0,40€ das Stück.

Als "Master" schwebt mir ein Beaglebone Black vor. Der ist über 
LAN/WLAN/Bluetooth super von außen zu erreichen und kann auch komplexe 
Programme laufen lassen (animierte Fraktale auf den Tisch rendern usw.). 
Zusätzlich ist er klein, lüfterlos, verbraucht wenig Strom und kostet 
nicht viel.

Für den Bus würde ich eine Art I2C nehmen. Also nur zwei dünne 
Leitungen. Bidirektionale Kommunikation sollte damit recht leicht gehen:

Richtung 1: Master sendet Adress-Byte gefolgt von 3 Datenbytes (RGB). 
Der Slave mit der passenden Adresse übernimmt die Daten und lässt seine 
LED entsprechend leuchten.

Richtung 2: Master sendet nur die Adresse. Danach wartet er ein Bit 
lang, und lauscht auf dem Bus. Der Slave mit der entsprechenden Adresse 
nutzt diese Pause, um eine 1 oder 0 auf den Bus zu legen (Touch oder 
kein Touch). Der Master liest das Bit, und fragt dann den nächsten 
Slave.

Der Beaglebone Black hat übrigens noch zwei Realtime-Co-Prozessoren, 
über die sich so eine Kommunikation mühelos erledigen lässt (5ns 
Zykluszeit). Damit sollten gute 50Hz (RGB Daten + Touch Daten 
Übertragung) machbar sein.

PS: Je nach Anzahl der Pixel sollte man den Tisch vielleicht aufteilen, 
so dass der Master nur jede Zeile anspricht. In jeder Zeile spricht dann 
wiederrum der erste Controller mit allen anderen Controllern in der 
Zeile. So lassen sich probleme mit Spannungsverlusten bei langer 
Leitungslänge vermeiden und die Datenrate erhöhen.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

Boris P. schrieb:
> Tim R. schrieb:
>> willst du auf diese platinen jeweils einen controller verbauen?! oder
>> einen zentralen uC ?
>> ich frage mich nur gerade, wie du über eine leitung die farbinformation
>> vom uC zur rgb und die sensor information zum uC tragen willst. quasi im
>> polling den portpin von umschalten?
>
> Ich habe vor auf jeden Pixel einen Controller zu setzen. Ein ATTinyXX
> eignet sich vermutlich am besten. Diese gibts bei geschickter auswahl
> schon ab 0,40€ das Stück.
>
> Als "Master" schwebt mir ein Beaglebone Black vor. Der ist über
> LAN/WLAN/Bluetooth super von außen zu erreichen und kann auch komplexe
> Programme laufen lassen (animierte Fraktale auf den Tisch rendern usw.).
> Zusätzlich ist er klein, lüfterlos, verbraucht wenig Strom und kostet
> nicht viel.

von den beagleboards habe ich schon gehört/gelesen, scheint ja aller 
hand positive aspekte mit sich zu bringen solch ein board. mein problem 
ist der dortige arm prozessor. ich bin atmel und microchip gewöhnter. 
ich habe quasi null ahnung von arm und würde mir an dieser stelle 
unnötige probleme vermeiden wollen. aber ansonsten eine nette auswahl!

>
> Für den Bus würde ich eine Art I2C nehmen. Also nur zwei dünne
> Leitungen. Bidirektionale Kommunikation sollte damit recht leicht gehen:
>
> Richtung 1: Master sendet Adress-Byte gefolgt von 3 Datenbytes (RGB).
> Der Slave mit der passenden Adresse übernimmt die Daten und lässt seine
> LED entsprechend leuchten.
>
> Richtung 2: Master sendet nur die Adresse. Danach wartet er ein Bit
> lang, und lauscht auf dem Bus. Der Slave mit der entsprechenden Adresse
> nutzt diese Pause, um eine 1 oder 0 auf den Bus zu legen (Touch oder
> kein Touch). Der Master liest das Bit, und fragt dann den nächsten
> Slave.

ok solch eine kommunikation habe ich noch nicht in betracht gezogen, 
sollte aber machbar sein (solange keine störungen auftreten). an dieser 
stelle kam mir auch der gedanke, wie schnell das polling aller 
teilnehmer durchgeführt werden kann. also ob locker "50fps" oder mehr 
erreicht werden, müsste man evtl mal ausrechnen
>
> Der Beaglebone Black hat übrigens noch zwei Realtime-Co-Prozessoren,
> über die sich so eine Kommunikation mühelos erledigen lässt (5ns
> Zykluszeit). Damit sollten gute 50Hz (RGB Daten + Touch Daten
> Übertragung) machbar sein.
>
> PS: Je nach Anzahl der Pixel sollte man den Tisch vielleicht aufteilen,
> so dass der Master nur jede Zeile anspricht. In jeder Zeile spricht dann
> wiederrum der erste Controller mit allen anderen Controllern in der
> Zeile. So lassen sich probleme mit Spannungsverlusten bei langer
> Leitungslänge vermeiden und die Datenrate erhöhen.

du meinst einen master und für jede zeile oder spalte einen co-master? 
dieser soll dann seine ganz zeile "abchecken" und zurück zum master 
übersenden, sodass der master effektiv mit 5-10 seiner co-master 
kommuniziert und der arbeitsaufwand gering gehalten wird?

von Tim R. (herrvorragend)


Lesenswert?

an sich gefällt mir der gedanke zum übertragen, es werden eigtl keine 
mux mehr benötigt und mit einem draht hat man sehr wenig 
verkabelungsaufwand... vllt könnte man beim "protokoll" noch ein bit 
spendieren um anzugeben ob read oder write vorgang vom master ausgelöst 
wird, rein zur absicherung

ansonsten ist das hier ja schon mal eine gute entwicklung, danke :)

von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> mein problem
> ist der dortige arm prozessor. ich bin atmel und microchip gewöhnter.
> ich habe quasi null ahnung von arm und würde mir an dieser stelle
> unnötige probleme vermeiden wollen. aber ansonsten eine nette auswahl!

Das Gute ist, dass du den dann in jeder Sprache programmieren kannst, 
auch high level. Also Python, Java (script), C#, C++, C, Assembler. Da 
sollte für jeden was dabei sein ;-)

Tim R. schrieb:
> also ob locker "50fps" oder mehr
> erreicht werden, müsste man evtl mal ausrechnen

Hab ich schon ausgerechnet ;-)
50 Hz sind auf jeden Fall drin.

Tim R. schrieb:
> du meinst einen master und für jede zeile oder spalte einen co-master?
> dieser soll dann seine ganz zeile "abchecken" und zurück zum master
> übersenden, sodass der master effektiv mit 5-10 seiner co-master
> kommuniziert und der arbeitsaufwand gering gehalten wird?

Ja genau, so meinte ich das. Der Co-Master müsste dann ein etwas 
größerer µC sein, so dass er mit master und seinen Slaves kommunizieren 
kann (braucht ein paar Pins mehr).

von Tim R. (herrvorragend)


Lesenswert?

also ich würde C/C++ bevorzugen :) :D

könntest du kurz aufzeigen, was du genau gerechnet hast? vorallem für 
wieviele teilnehmer

ja ich verstehe... kann mir jetzt grad nur schwer ausmalen wieviel mehr 
diese "co-master" uC dann bringen würden. oder ob man darauf verzichtet 
und einen großen nimmt der gleich alle reihen ansteuert




wie weit ist dein projekt denn eigtl schon voran geschritten??

: Bearbeitet durch User
von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> ja ich verstehe... kann mir jetzt grad nur schwer ausmalen wieviel mehr
> diese "co-master" uC dann bringen würden. oder ob man darauf verzichtet
> und einen großen nimmt der gleich alle reihen ansteuert

Dann bekommst du wohlmöglich ein Problem mit der Leitungslänge. Bei 
meinem Tisch (10x13 Pixel sind geplant) wäre diese wtwa 10m. Laut einem 
Online-Rechner, bricht die Spannung von 5V am Ende der leitung auf etwa 
die Hälfte zusammen. Und auch die Übertragung dürfte dann schwieriger 
werden (Laufzeiten, Kapizäten usw).
Durch die Gruppierung in Zeilen entspannt sich die Sache ungemein.

Tim R. schrieb:
> könntest du kurz aufzeigen, was du genau gerechnet hast? vorallem für
> wieviele teilnehmer

Für 130 Teilnehmer komme ich auf 20ms pro Übertragung. Also 50Hz.
Die komplette Rechnung habe ich leider grad nicht hier, kann ich aber 
nachreichen).

von Tim R. (herrvorragend)


Lesenswert?

boris warum eigtl kein raspberry pi?

von Conny G. (conny_g)


Lesenswert?

Braucht es für Touch überhaupt 50 Samples pro Sekunde, da reichen doch 
10?

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> boris warum eigtl kein raspberry pi?

Den könnte man auch nehmen und zB per SPI einen 
Kommunikations-Coprozessor dranhängen, der sich um Realtime Aufgaben wie 
den Touch-Bus kümmert.
Ein RPi als Linuxsystem ist nicht gut in Realtime oder recht 
zeitkritischen Aufgaben.
Der BeagleBone hat den Vorteil, dass der einen uC schon Onboard hat.

von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> boris warum eigtl kein raspberry pi?

Für Steuerungsaufgaben ist der BBB deutlich besser geeignet:
 - Mehr Schnittstellen
 - Schneller Prozessor
 - Echtzeit-Co-Prozessoren schon an Board

Hier gibt's mehr zu dem Thema:
http://makezine.com/magazine/how-to-choose-the-right-platform-raspberry-pi-or-beaglebone-black/

Conny G. schrieb:
> Braucht es für Touch überhaupt 50 Samples pro Sekunde, da reichen
> doch 10?

Ich habe versucht das Protokoll möglichst einfach zu halten (Farben und 
Touch-Events immer abwechselnd)). Klar würde auch weniger reichen. Aber 
wenn alles im 50Hz Takt läuft, ist das doch super.

von Conny G. (conny_g)


Lesenswert?

Boris P. schrieb:

> Conny G. schrieb:
>> Braucht es für Touch überhaupt 50 Samples pro Sekunde, da reichen
>> doch 10?
>
> Ich habe versucht das Protokoll möglichst einfach zu halten (Farben und
> Touch-Events immer abwechselnd)). Klar würde auch weniger reichen. Aber
> wenn alles im 50Hz Takt läuft, ist das doch super.

Schraubt aber die Anforderungen unnötig nach oben.
Ich würde auch für die Farben keine 50fps nehmen, wenn ws2811 LEDs zum 
Einsatz kommen, denn im Unterschied zum Multiplexing leuchten diese LEDs 
ja in der zuletzt eingestellten Farbe weiter.
Also muss ich nicht mit hoher Frequenz Flimmern verhindern, sondern nur 
dafür sorgen, dass Animationen flüssig sind.
Also reichen auch hier 20-25fps locker aus.
Dann habe ich bei 25fps für RGB und Touch (bei einer analogen Auflösung 
von 1 Byte / 255 Werten pro Pixel) und 25fps für RGB dann 25 x 200 
(Tisch von 10x20) x ( 8 + 24 ) = 160 kBit/s.
Bei dieser Geschwindigkeit sollte man Busprobleme auch mit wenig Aufwand 
in den Griff bekommen.

Mit 255 Bit Auflösung kann man die Kalibrierung zentral im Master 
machen. Und sogar auf die Stärke des Touch reagieren, also die 
Entfernung der Annäherung.

Wenn man es nun noch schaffen würde das Protokoll der WS2811 in 
Leserichtung zu implementieren, dann hat man eine Kette von Attinys, die 
jeder wieder Bustreiber sind und kein Buslängenproblem.
Der Master redet mit dem ersten Touch-Attiny und der gleichzeitig mit 
dem nächsten usw. Auf diese Weise saugt man sich die Bytekette aus der 
Daisychain. Da man weiß wieviele Pixel man hat, braucht man kein 
Ende-Zeichen.
So könnte man sich den sternförmigen Aufbau und die Zeilencontroller 
sparen und hat von Grund auf keine langen Bus.

von Borislav B. (boris_b)


Lesenswert?

Wozu brauchst du denn die WS2811? Wenn du eh einen ATTiny pro Pixel 
verwendest kannst du dir den doch sparen, oder?

Conny G. schrieb:
> Dann habe ich bei 25fps für RGB und Touch (bei einer analogen Auflösung
> von 1 Byte / 255 Werten pro Pixel) und 25fps für RGB dann 25 x 200
> (Tisch von 10x20) x ( 8 + 24 ) = 160 kBit/s.
> Bei dieser Geschwindigkeit sollte man Busprobleme auch mit wenig Aufwand
> in den Griff bekommen.

was genau hast du da jetzt eingerechnet? Auch ein Start/Sync-Signal, die 
Adressierung und den Rückkanal?
Ich komme bei meiner Rechnung auf 220 kbit/s bei 50Hz Updaterate von 
Farben und Touch-Status (für 130 LEDs). Das scheint mir ein guter Wert 
zu sein.

Conny G. schrieb:
> dann hat man eine Kette von Attinys, die
> jeder wieder Bustreiber sind und kein Buslängenproblem.

Ich bin noch nicht so sicher, ob das funktioniert. Sinn und Zweck eines 
Busses ist es ja, dass alle Teilnehmer gleichzeitig lesen und schreiben 
können. Wenn du nun das Signal durch jeden Teilnehmer "durchrouten" 
musst, geht ja viel Zeit verloren. Ob das dann noch hinhaut?

Ein weiteres Problem ist zudem die Spannungsversorgung: Auf einer 10m 
leitung (1,5mm^2) kommen von den 5V am Anfang nur noch ca. die Hälfte am 
Ende an. Damit läuft natürlich kein Controller mehr. Deswegen wollte ich 
hier auf eine andere Topologie setzen.

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Boris P. schrieb:
> Wozu brauchst du denn die WS2811? Wenn du eh einen ATTiny pro Pixel
> verwendest kannst du dir den doch sparen, oder?

Könnte man auch. Mit den WS2811 müsste man sich um das RGB-PWM nicht 
mehr weiter kümmern.

> Conny G. schrieb:
>> Dann habe ich bei 25fps für RGB und Touch (bei einer analogen Auflösung
>> von 1 Byte / 255 Werten pro Pixel) und 25fps für RGB dann 25 x 200
>> (Tisch von 10x20) x ( 8 + 24 ) = 160 kBit/s.
>> Bei dieser Geschwindigkeit sollte man Busprobleme auch mit wenig Aufwand
>> in den Griff bekommen.
>
> was genau hast du da jetzt eingerechnet? Auch ein Start/Sync-Signal, die
> Adressierung und den Rückkanal?
> Ich komme bei meiner Rechnung auf 220 kbit/s bei 50Hz Updaterate von
> Farben und Touch-Status (für 130 LEDs). Das scheint mir ein guter Wert
> zu sein.

Ja, 220kBit geht auch noch. Allerdings würde ich nicht nur Touch-Status 
machen, sondern einen "analogen" Wert für Annäherung und Kalibrierung.

> Conny G. schrieb:
>> dann hat man eine Kette von Attinys, die
>> jeder wieder Bustreiber sind und kein Buslängenproblem.
>
> Ich bin noch nicht so sicher, ob das funktioniert. Sinn und Zweck eines
> Busses ist es ja, dass alle Teilnehmer gleichzeitig lesen und schreiben
> können. Wenn du nun das Signal durch jeden Teilnehmer "durchrouten"
> musst, geht ja viel Zeit verloren. Ob das dann noch hinhaut?

Das geht bei den WS2812 doch auch prima. Genau so müsste man es machen. 
Im Prinzip müssen die Attinys direkt jedes Bit weiterleiten ohne gross 
zwischenzuspeichern.
Es könnte auch Kommunikation à la I2C sein: ich schiebe einmal RGB-Bytes 
raus und erhalte direkt T 0 0 (Touch-Wert 8 Bit, Null, Null) zurück.
D.h. die Tinys würden den Bitstrom eimal direkt weiterleiten und im 
Rückkanal einen zurückschieben.
Und ein Pause wäre "Latch", den RGB-Wert übernehmen bzw. den 
Touch-Messwert für die nächste Runde speichern.

Man bräuchte also 2, evtl. 3 Leitungen von Tiny zu Tiny: Tx, Rx, Clk.

> Ein weiteres Problem ist zudem die Spannungsversorgung: Auf einer 10m
> leitung (1,5mm^2) kommen von den 5V am Anfang nur noch ca. die Hälfte am
> Ende an. Damit läuft natürlich kein Controller mehr. Deswegen wollte ich
> hier auf eine andere Topologie setzen.

Das ist das kleinste Problem einmal die Versorgung an den Spalten 
vorbeizuführen und an jeder Spalte einzuspeichen. Oder Zeile, ist völlig 
wurst.

von Borislav B. (boris_b)


Lesenswert?

Conny G. schrieb:
> Mit den WS2811 müsste man sich um das RGB-PWM nicht
> mehr weiter kümmern.

Auf den ersten Blick scheint der ca. 0,50€ zu kosten. Bei einem 
200-Pixel-Tisch wären das also schon mal 100€ nur für diesen Chip. Da 
würde ich doch lieber schnell eine Soft-PWM auf dem ATTiny 
implementieren. Ist ja kein Hexenwerk ;-)

von Conny G. (conny_g)


Lesenswert?

Boris P. schrieb:
> Conny G. schrieb:
>> Mit den WS2811 müsste man sich um das RGB-PWM nicht
>> mehr weiter kümmern.
>
> Auf den ersten Blick scheint der ca. 0,50€ zu kosten. Bei einem
> 200-Pixel-Tisch wären das also schon mal 100€ nur für diesen Chip. Da
> würde ich doch lieber schnell eine Soft-PWM auf dem ATTiny
> implementieren. Ist ja kein Hexenwerk ;-)

Und das I2C zwischen den Tinys macht auch nur Sinn, wenn der Tiny das 
PWM macht.

von Conny G. (conny_g)


Lesenswert?

Man sollte man so ein I2C-Daisy-Chain-Member mit Attiny, RGB LED als 
Prototyp bauen, bzw. 10 davon und testen. Ich glaube ist supercool so.
Oder wie man seit neuestem sagt: supersimpel, superclever ... supergeil!

von Borislav B. (boris_b)


Angehängte Dateien:

Lesenswert?

Also ich glaube man kann doch auf eine Unterteilung in Zeilen 
verzichten. Wenn man nicht alles als Kette, sondern sternförmig anordnet 
(siehe Bild), beträgt die maximale Leitungslänge ca. 70cm. Das sollte 
sowohl für die Stromversorgung als auch den Bus problemfrei sein.

Dann braucht man also nur noch einen Typ von Pixel, und die 
Buskommunikation ist auch deutlich einfacher.

Das könnte so aussehen:

Master sendet Start/Sync-Signal
-> Alle Slaves beginnen nun zu lauschen

Master sendet Addresse (8 Bit)
-> Nun weiß der entsprechende Slave dass er gemeint ist

Master sendet 24 Bit Farbinformationen
-> Slave übernimmt die Daten in seine RGB-LED-PWM

Master wartet 1 Bit lang
-> Slave setzt sein Touch-Status auf den Bus, Master liest diesen

=> Wiederhlung des Vorgehens mit nächster Adresse


Dann ist zwar keine Kalibrierung durch den Master möglich (wie oben 
vorgeschlagen), aber ich denke die ist auch verzichtbar, oder? Auch die 
Entfernung der Hand zum IR-Sensor brauche ich nicht wirklich. Daher 
sollte ein Bit als Rückkanal reichen.

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

So geht's auch, ja. Dann müsste man nicht das Chaining machen.

Wenn man es wie I2C implementiert und damit hin (RGB) und rück (Touch) 
gleichzeitig, dann bekommt man 24 Bit Rückkanal sowieso geschenkt, d.h. 
es kann dann problemlos 1 Byte Touch-Wert zurückbekommen, weil mit dem 
Taktsignal sowieso 24 Bits laufen und gar keine Extra Zeit für den 
Touch-Status gebraucht wird.

: Bearbeitet durch User
von Borislav B. (boris_b)


Lesenswert?

Conny G. schrieb:
> Wenn man es wie I2C implementiert und damit hin (RGB) und rück (Touch)
> gleichzeitig, dann bekommt man 24 Bit Rückkanal sowieso geschenkt, d.h.
> es kann dann problemlos 1 Byte Touch-Wert zurückbekommen, weil mit dem
> Taktsignal sowieso 24 Bits laufen und gar keine Extra Zeit für den
> Touch-Status gebraucht wird.

Ich kann dir nicht folgen. Du hast doch nur eine Leitung. Je mehr Daten 
du also zurücksenden möchtest, desto länger dauert das, desto kleiner 
ist die Update-Rate.
Wo bekommst du da was geschenkt?

von Conny G. (conny_g)


Lesenswert?

Boris P. schrieb:
> Conny G. schrieb:
>> Wenn man es wie I2C implementiert und damit hin (RGB) und rück (Touch)
>> gleichzeitig, dann bekommt man 24 Bit Rückkanal sowieso geschenkt, d.h.
>> es kann dann problemlos 1 Byte Touch-Wert zurückbekommen, weil mit dem
>> Taktsignal sowieso 24 Bits laufen und gar keine Extra Zeit für den
>> Touch-Status gebraucht wird.
>
> Ich kann dir nicht folgen. Du hast doch nur eine Leitung. Je mehr Daten
> du also zurücksenden möchtest, desto länger dauert das, desto kleiner
> ist die Update-Rate.
> Wo bekommst du da was geschenkt?

Sorry, ich hab's mit SPI verwechselt. Aber ich meinte SPI, da hast 
gleichzeitig TX und RX geschenkt. Mit 2 Leitungen plus Clock, das ist 
nicht so aufwändig in der Verkabelung.

Habe heute auch schonmal kurz drüber nachgedacht, ob man sich "Rails" 
aus Kupfer auf die Grundplatte machen könnte auf die man die Module dann 
aufschraubt und damit sich jede Verkabelung erspart.
Allerdings riecht mir das stark nach Busproblemen mit Kapazität, 
Induktivität und Störungen...
Lieber nimmt man gleich kurze Standardkabel wie SATA-Kabel oder so. 10cm 
für 1,70 Euro auf Ebay. Geht auch bestimmt noch billiger. Kurze 10cm 
Standard-Flachbandkabel mit 6 Polen.
Denn die Konfektionierung von 100 Kabeln (bei 10x10) ist einer der 
riesigen Arbeitszeitfresser.

von Borislav B. (boris_b)


Lesenswert?

Conny G. schrieb:
> Sorry, ich hab's mit SPI verwechselt. Aber ich meinte SPI, da hast
> gleichzeitig TX und RX geschenkt. Mit 2 Leitungen plus Clock, das ist
> nicht so aufwändig in der Verkabelung.

Klar, man könnte statt einer Datenleitung gleich zwei nehmen, dann hat 
man RX und TX gleichzeitig. Aber da es eigentlich kein Zeitproblem geben 
sollte, kann man sich die zusätzliche Leitung doch sparen, und alles auf 
einer machen.

Ist weniger Verkabelungsaufwand, billiger und hat keinerlei Nachteile.

von Conny G. (conny_g)


Lesenswert?

Dann könnte das mit den Rails evtl. doch gehen... man macht 1cm breite 
Kupferstreifen nebeneinander, die sind schon mal die Stromversorgung der 
einzelnen Pixel.
Dann braucht man die Pixel eigentlich nur mit einem dicken Lötauge 
draufschrauben und sie haben Strom, v.a. mit einer sehr dicken 
Zuleitung, also wenig Verlust.

Oder statt draufschrauben am Rand anlöten, wie die SMD-Funkmodule :-)
Aber das wäre unpraktisch, weil schlecht wartbar, da ist Schrauben 
besser.

Und das I2C entweder über ein 3. Rail, wobei das enorm Störanfällig ist.
oder mit Lötnägeln o.ä. nach unten durch das Basisbrett durch und dort 
mit 7cm geschirmtem Kabel von Nagel zu Nagel hüpfen.

Oder das Datenrail zwischen 2 Schirmschichten nehmen, also Kupfer (GND) 
+ Folie + Kupfer (DATA) + Folie + Kupfer (GND) und das immer für 1cm 
unterbrechen.
Dann könnte man hier sogar GND + Data abnehmen.

Das würde jede Verkabelung komplett ersparen.

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Oder gleich 25x25 (oder welches Maß auch immer ein Vielfaches der Pixel 
ist) Platinen als Basis nehmen.

von Tim R. (herrvorragend)


Lesenswert?

uiuiui das ist ja fortgeschritten hier heute :-)

mich würde interessieren, wie wird denn der realtime prozessor auf dem 
beagle angesprochen?!

mit dem "protokoll" zur eindrahtleitung für rgb und touch stimm ich 
überein, ich glaube das ist die einfachste und zugleich 
verdrahtungsärmste methode

ich hatte die ganze zeit eh im kopf, den master direkt vor die "reihen" 
zu setzen und somit 10 (oder mehr) reihen anzusprechen, die jeweils 1-2m 
leitungslänge haben. ich verstehe nicht ganz wie du auf 10m 
leitungslänge kommst -> zwecks spannungsabfall ?
aber in der mitte als physische sterntopologie sollte das ganze auch 
machbar sein :)

boris bei deinem protokollablauf, sollte der master nicht erst das touch 
abfragen und anschließend einen rgb wert senden? also rein aus der logik 
kann der master ja keinen rgb wert setzen, wenn der touch nicht vorher 
abgefragt wurde... es sei denn man verwendet den vorigen zyklus

die entfernung der hand wäre ein sehr nettes gimmik. daran hatte ich 
nocht gar nicht gedacht. aber das zieht einige erweiterungen mit sich 
oder?

an kupferplatten für die versorgung hatte ich auch schon gedacht, ich 
hab mit diesen nur noch nie gearbeitet und weiß nicht ob das so 
funktionieren würde, aber sehe dort eigtl keine probleme. weiß nur nicht 
ob ich mir so eine "offene leitung" in meinen tisch bauen will ;-)

für die datenleitung würde ich fertig gecrimpte kabel kaufen oder sata 
kabel wie Conny es geschrieben hatte. ich habe definitiv keine lust 
gefühlt 1000000 kabel erst ordentlich zu verarbeiten bevor ich sie 
richtig verwenden kann

... und ja das ist mir bekannt: supersimpel, superclever ... supergeil! 
;-P

von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> ich verstehe nicht ganz wie du auf 10m
> leitungslänge kommst -> zwecks spannungsabfall ?

Die kommen zustande, wenn du eine Kette über alle Pixel bildest (das war 
mal meine aller erste Idee). Bei einer Sternstruktur, ist das Problem 
natürlich weg.

Tim R. schrieb:
> boris bei deinem protokollablauf, sollte der master nicht erst das touch
> abfragen und anschließend einen rgb wert senden? also rein aus der logik
> kann der master ja keinen rgb wert setzen, wenn der touch nicht vorher
> abgefragt wurde... es sei denn man verwendet den vorigen zyklus

Meinst du Inputs lesen -> neue Ausgabe berechnen -> Outputs setzen?
Das wird so nicht klappen, da du in der kurzen Zeit das nächste Bild 
nicht berechnet bekommst. Die Übertragung auf dem Bus geht ja so 
schnell, dass da nur sehr wenig Zeit zwischen liegt. Man muss sowieso 
Anwendung (Spiel, Animation etc.) komplett vom Displaytreiber 
entkoppeln, da diese ja asynchron auf verschiedenen Prozessoren laufen.

D.h. die Anwendung berechnet so schnell die Bilder wie sie kann und 
kopiert die Daten in einen Puffer (Hauptprozessor). Der Display-Treiber 
(Realtime-Prozessor) greift sich unabhängig davon in einer festen 
Frequenz die Daten aus dem Buffer und schiebt sie an die Pixel.

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> die entfernung der hand wäre ein sehr nettes gimmik. daran hatte ich
> nocht gar nicht gedacht. aber das zieht einige erweiterungen mit sich
> oder?

Eigentlich nicht so dramatisch. Die einzelnen Pixel übermitteln nur 
einen Wert in einem Range statt 0 oder 1 für den Touch. Und der Master 
kann entweder für alle die gleich Schwelle nehmen oder nach irgendeiner 
Logik die Schwellwerte differenziert setzen.
Und bei der Auswertung des Touch kann man Annäherung einfliessen lassen, 
wenn man möchte oder auch nur per Schwelle an/aus interpretieren.
Ich fände das cool, wenn man man einen "analogen" Wert hätte - gerade 
weil es nur mässig mehr Aufwand macht (entweder höhere Datenrate bei 
I2C-ähnlichem Protokoll oder 3 Leitungen für SPI). Nur Touch j/n ist 
eine recht harte Designentscheidung, die diese Möglichkeiten eliminiert.

> an kupferplatten für die versorgung hatte ich auch schon gedacht, ich
> hab mit diesen nur noch nie gearbeitet und weiß nicht ob das so
> funktionieren würde, aber sehe dort eigtl keine probleme. weiß nur nicht
> ob ich mir so eine "offene leitung" in meinen tisch bauen will ;-)

Es wären eher Kupferfolie oder Kupferstreifen oder so. Idealerweise noch 
verzinnen im chem. Verzinnungsbad, dann oxidieren sie nicht.
Der Tisch ist ja zu. Und es sind maximal 12V würde ich annehmen, eher 
nur 5V, das ist völlig unproblematisch. Und man könnte auch noch mit 
einer ordentlichen Schicht Klarlack o.ä. eine Isolierung schaffen.

> für die datenleitung würde ich fertig gecrimpte kabel kaufen oder sata
> kabel wie Conny es geschrieben hatte. ich habe definitiv keine lust
> gefühlt 1000000 kabel erst ordentlich zu verarbeiten bevor ich sie
> richtig verwenden kann
>
> ... und ja das ist mir bekannt: supersimpel, superclever ... supergeil!
> ;-P

von Tim R. (herrvorragend)


Lesenswert?

Boris P. schrieb:
> Tim R. schrieb:
>> ich verstehe nicht ganz wie du auf 10m
>> leitungslänge kommst -> zwecks spannungsabfall ?
>
> Die kommen zustande, wenn du eine Kette über alle Pixel bildest (das war
> mal meine aller erste Idee). Bei einer Sternstruktur, ist das Problem
> natürlich weg.

ach du wolltest eine lange kette mit allen pixeln bilden?? ich hatte die 
ganze zeit für jede reihe die länge versorgung und datenleitung geplant, 
das wäre eben nur die tischlänge

>
> Tim R. schrieb:
>> boris bei deinem protokollablauf, sollte der master nicht erst das touch
>> abfragen und anschließend einen rgb wert senden? also rein aus der logik
>> kann der master ja keinen rgb wert setzen, wenn der touch nicht vorher
>> abgefragt wurde... es sei denn man verwendet den vorigen zyklus
>
> Meinst du Inputs lesen -> neue Ausgabe berechnen -> Outputs setzen?
> Das wird so nicht klappen, da du in der kurzen Zeit das nächste Bild
> nicht berechnet bekommst. Die Übertragung auf dem Bus geht ja so
> schnell, dass da nur sehr wenig Zeit zwischen liegt. Man muss sowieso
> Anwendung (Spiel, Animation etc.) komplett vom Displaytreiber
> entkoppeln, da diese ja asynchron auf verschiedenen Prozessoren laufen.

also der user aus dem link den ich zuvor gepostet habe, hatte glaube nur 
einen atmega verwendet. das sollte doch eigtl relativ gut gehen oder 
nicht? pixel abfragen, pixel setzen... und das bei 100 pixeln am besten 
rund 25mal die sekunde

>
> D.h. die Anwendung berechnet so schnell die Bilder wie sie kann und
> kopiert die Daten in einen Puffer (Hauptprozessor). Der Display-Treiber
> (Realtime-Prozessor) greift sich unabhängig davon in einer festen
> Frequenz die Daten aus dem Buffer und schiebt sie an die Pixel.

die idee der kopplung ist aber auch gut. nur mit einem mehraufwand 
verbunden, aber nun versteh ich deine entscheidung für das beagleboard 
:)



ps: kupferstreifen war auch das wort was ich gesucht habe, ich kam nicht 
drauf *g

: Bearbeitet durch User
von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> also der user aus dem link den ich zuvor gepostet habe, hatte glaube nur
> einen atmega verwendet. das sollte doch eigtl relativ gut gehen oder
> nicht? pixel abfragen, pixel setzen... und das bei 100 pixeln am besten
> rund 25mal die sekunde

Nenene, mit nem ATMega macht das glaubich keinen Spaß ;-)
Du willst ja auch WLAN und oder Bluetooth Anbindung haben, vielleicht 
einen Webserver. Und die Programmierung sollte in verschiedenen 
Hochsprachen möglich sein, so dass man vielleicht sogar Programme mit 
anderen "Nachbauern" austauschen kann. Das alles bekommst du beim BBB 
geschenkt.

von Tim R. (herrvorragend)


Lesenswert?

Boris P. schrieb:
> Tim R. schrieb:
>> also der user aus dem link den ich zuvor gepostet habe, hatte glaube nur
>> einen atmega verwendet. das sollte doch eigtl relativ gut gehen oder
>> nicht? pixel abfragen, pixel setzen... und das bei 100 pixeln am besten
>> rund 25mal die sekunde
>
> Nenene, mit nem ATMega macht das glaubich keinen Spaß ;-)
> Du willst ja auch WLAN und oder Bluetooth Anbindung haben, vielleicht
> einen Webserver. Und die Programmierung sollte in verschiedenen
> Hochsprachen möglich sein, so dass man vielleicht sogar Programme mit
> anderen "Nachbauern" austauschen kann. Das alles bekommst du beim BBB
> geschenkt.

das würde aber nach sich ziehen das wir den selben aufbau realisieren 
bzw. das du alle schaltpläne codes etc frei gibst ?! :)
erst dann können auch andere dazu ihren teil beisteuern ;)

von Borislav B. (boris_b)


Lesenswert?

Tim R. schrieb:
> das würde aber nach sich ziehen das wir den selben aufbau realisieren
> bzw. das du alle schaltpläne codes etc frei gibst ?! :)
> erst dann können auch andere dazu ihren teil beisteuern ;)

Dass der Code und die Schaltpläne frei zugänglich sind, ist für mich 
selbstverständlich. Ich würde das ganze dann eh auf einer Open-Source 
Plattform hosten. So kann sich an der Entwicklung beteiligen wer mag.

Den "Grafiktreiber" würde ich dann so implementieren, dass die Anzahl 
der Pixel, die gewünschte Datenrate usw. einstellbar sind. So kann diese 
für jedes Tisch-Format benutzt werden. Das ganze wird eine C/ASM 
Library, die dann von jeder Sprache einbindbar ist.

Dann kann jeder (ob nun Java-Scripter oder Hardcore-Assemblierer) für so 
einen Tisch eine Anwendung schreiben. Die könnte man dann auch schön auf 
dieser Plattform hosten (mit SCreenshots/Video, Beschreibung und 
Download), und sich so austauschen.

Keine Ahnung wie viele Nachbauer sich dann für sowas finden. Aber 
Versuch macht kluch ;-)

von Tim R. (herrvorragend)


Lesenswert?

Na das hättest du mal anfangs erwähnen sollen, dass du es gerne so 
machen magst ;-)

Ich weiß nicht ob sich nachbauer finden, aber sobald Entwickler eigene 
Software dafür schreiben haben wir ebenso was davon hehe

Die geschwindigkeit ist ein gutes Thema, denn je mehr Teilnehmer desto 
schneller muss der Echtzeitptozessor die Daten scheffel

Also zu aller erst sollten die kleine Struktur und das Protokoll in eine 
Datei ausgelagert werden. Und dann kann es eigtl losgehen mit dem 
schaltplan für die pixelplatine etc oder wie sieht's aus? :) sollten uns 
dann eben nur auf die Komponenten einigen

von Conny G. (conny_g)


Lesenswert?

Bin grundsätzlich auch am Bau so ein coolen Tisches interessiert. Wird 
allerdings eine Weile dauern, bis ich wirklich dazukomme, habe noch 
Projekte vorher abzuschließen.
Fände es gut, wenn wir cleveres Konzept für die Pixel finden, wie wir 
uns die ganze Wahnsinnsverkabelung ersparen / erleichtern könnten.
Also Bus oder Daisy Chain.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Bin grundsätzlich auch am Bau so ein coolen Tisches interessiert. Wird
> allerdings eine Weile dauern, bis ich wirklich dazukomme, habe noch
> Projekte vorher abzuschließen.
> Fände es gut, wenn wir cleveres Konzept für die Pixel finden, wie wir
> uns die ganze Wahnsinnsverkabelung ersparen / erleichtern könnten.
> Also Bus oder Daisy Chain.

ich habe das problem der zeit und des platzes, ich weiß noch gar nicht 
wohin mit dem ding gg

also die variante des eigenen einfachen protokolls, welches auf einer 
kaskadierung basiert, gefällt mir am besten. lasse mir gerne aber 
alternativen zeigen. somit brauch jede pixel-platine 2 leitung 
versorgung und eine bidirektionale datenleitung. macht 3 leitungen pro 
pixel :) wovon die zwei zur versorgung evtl durch die kupferstreifen 
oder ähnliches gelöst werden könnten... ich würde für die versorgung auf 
der pixelplatine zum einen steckverbindung und zum anderen evtl eine 
borung zum schrauben oder so vorschlagen

von Tim R. (herrvorragend)


Lesenswert?

http://www.schramm-software.de/bausatz/distanzsensor/

gerade durch zufall gefunden... ist ja süß :D

von Tim R. (herrvorragend)


Lesenswert?

hey kollegen eingeschlafen ?

push the thread :p

von Borislav B. (boris_b)


Lesenswert?

Hi Tim,
im Moment sieht es ja eher düster aus:
Conny ist momentan anderweitig beschäftigt:

Conny G. schrieb:
> Wird allerdings eine Weile dauern, bis ich wirklich dazukomme, habe noch
> Projekte vorher abzuschließen.

Bei Dir sieht es auch nicht besser aus:

Tim R. schrieb:
> ich habe das problem der zeit und des platzes, ich weiß noch gar nicht
> wohin mit dem ding gg

Und auch bei mir sind zurzeit noch zwei andere Projekte in Arbeit.

Zudem scheinen sich hier nicht besonders viele Interessenten zu finden. 
Außer uns Dreien meldet sich hier ja keiner. Zudem mangelt es uns (so 
wie ich das einschätze) hier und da an Expertise - z.B. ist die 
Realtime-Unit des BBB nicht so einfach zu programmieren. Daher betrachte 
ich das Projekt vorerst als "auf Eis gelegt"...

von Conny G. (conny_g)


Lesenswert?

Was ich bei derlei "Randprioritäten" gerne praktiziere ist eine Taktik 
der kleinen Schritte: definieren wo ich hin will (cooler 
RGB-Touch-Tisch) und das dann in Unterprojekte zerlegen, die für einen 
Abend taugen. Dann kann man immer dann, wenn man gerade Zeit und auf nix 
anderes Lust hat so einen Teil rausziehen und durchführen und hat nach 
ein paar Wochen dann doch schon einiges erledigt.
Und man kann schon immer mal Bauteile mitbestellen und ansammeln.
Und wir hier können uns solche Aufgaben aufteilen.

Die aufwändugste Basis des Tisches sind ja die RGB-Touch-Pixel.
Also sollte man ein erstes realistisch erscheinendes Konzept dafür 
festlegen, Bauteile bestellen, aufbauen und testen.

Der zweite Teil ist der Bus.
Dazu könnte man erstmal die One Wire Idee komplett ausformulieren.
Dann implementieren und auf zwei beliebigen uCs testen, danach mal mit 
2.
Und wenn einstweilen die Touchpixel getestet sind, macht man mal 10-20 
davon und testet nochmal. Evtl mit extra großen Abständen der Leitungen. 
Vielleicht auch mal mit 3 Kupferstreifen auf der Bodenplatte - 
vielleicht geht's ja und man spart sich die Verkabelung komplett.

Und nach diesen beiden Elementen - die eigentlich die schwierigsten sind 
- geht's um Gehäuse und die Steuerung, auch zwei getrennte Projekte.
Ebenso zerlegen, aufteilen und Schritt für Schritt abfackeln.

Also als erstes: Pixel definieren
- welche LEDs und wieviele (braucht das schon mal einen Prototyp?
- welcher Mikrocontroller?
- Bauelemente Touch?
Ziele:
- RGB: Hell genug auch bei moderatem Tageslicht
- Touchmessung moduliert für mehr Robustheit
- So wenige Bauelemente wie möglich für effizienten Aufbau
- Kostengrenze pro Pixel 3 Euro?
- ...
Fragen:
- Zusätzlich weiße LED für echtes weiß und Pastell?
- Anforderungen an den uC
  - günstig, weil 100 Stück
  - Idealerweise schon 5 PWMs für RGBW und Touch
- ...

Das müssen wir noch weiter aufrollen.

von Markus M. (adrock)


Angehängte Dateien:

Lesenswert?

Hi,

ich hatte mir ja mal den IR Näherungssensor APDS-9120 von Avago 
angeschaut (siehe auch oben).

Das Dingens ist für einen Tisch nicht brauchbar, es ist ultraklein (ca. 
4x4 mm) und ziemlich fies zu löten.

Es funktioniert grundsätzlich zwar, aber der Erfassungswinkel und 
-Abstand (im besten Fall 4cm, aber nur bei weißem Material) passen 
nicht. Auch die eingebaute IR-LED ist dafür einfach zu winzig.

Man wird also um eine Lösung mit einer externen möglichst "dicken" 
IR-Led mit breitem Abstrahlwinkel nicht umhinkommen.

Der Si1102 sieht auch noch ganz interessant aus, mit seinem 
Erfassungsbereich von max. 50cm. Allerdings mit 3x3 mm und 8 Pins auch 
ein Winzling.

Oder eben doch mit einem Controller pro Pixel aufbauen, so hätte man 
auch bei der Wahl der RGB-LEDs mehr Freiheit.

Grüße
Markus

von Tim R. (herrvorragend)


Lesenswert?

ah super, auf deine antworte habe ich gewartet! danke dir für das testen

das ist schon mal ein guter ansatz. das bauteil ist wirklich winzig. ich 
habe mir aber überlegt, wenn es wirklich mehrere pixelplatinen werden 
sollen, diese bestücken zu lassen sonst werd ich irre bei soviel löterei 
:D aber das ziel, für jeden pixel eine platine zu fertigen ist glaube 
ich schon ziemlich festgesteckt, sonst wird es unnötig aufwendig

ich werde mir gleich mal den Si1102 anschauen...

zur zeit warte ich gerade auf meine bestellung vom is471 und einer 
kleinen plexiglas platte (lichtdurchlässig)... danach werde ich mal 
einen kleinen aufbau aufm steckbrett probieren. hab noch ein kleines 
demo board von microchip rumliegen vllt werde ich auch gleich eine 
kleine auswertung auf dem uC vornehmen

von Markus M. (adrock)


Lesenswert?

Das hier ist ja im Prinzip ein wenig Grundlagenforschung, zumindest 
bzgl. des Tisches.

Wie sieht denn der geplante Aufbau des Tisches aus? Wenn man schon 
soviel Geld reinsteckt, wird man doch sicher keine Plexiglasplatte am 
Ende nehmen? Glas sollte doch schöner aussehen, oder?

Wie groß sollen denn die einzelnen "Pixel" werden? 5x5 cm? Daraus ergibt 
sich dann ja auch, wie weit die LEDs (IR + RGB) und somit auch der 
Sensor von der Scheibe entfernt sein muss, um eine gleichmäßige 
Ausleuchtung zu bekommen. Ist evtl. auch experimentell zu ermitteln.

Der Erbauer des anderen Touch-Tisches hat Milch(plexi?)glas mit 40% 
Lichtdurchlässigkeit genommen.

Grüße
Markus

von Conny G. (conny_g)


Lesenswert?

Bzgl. der Entfernung von der Glas-/Plexischeibe:

die Ausleuchtung ist gar nicht mal so die Frage. Vielmehr ist 
interessant, dass der Winkel der Touch-Erkennung möglichst schmal ist.
D.h. die IR-Diode und der IR-Receiver sollten so weit unten sitzen, dass 
der Öffnungswinkel der Messung nach oben nur noch 10-20 Grad ist.

Beim Beleuchten wäre es egal, wenn die LED 120 Grad Abstrahlwinkel hätte 
und nur so weit von der Platte entfernt ist, dass man keine Punktförmige 
Lichtquelle mehr sieht - das sind nur 5-7cm.

Diese 5-7cm reichen aber bei einer "Pixelgröße" von 60/10 = 6cm für 
10-20 Grad IR-Erkennung noch nicht aus, es ergäbe eher einen Winkel von 
45 Grad.
Müsste also doppelt so weit runter, also 10+ cm.

von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
> Das hier ist ja im Prinzip ein wenig Grundlagenforschung, zumindest
> bzgl. des Tisches.
>
> Wie sieht denn der geplante Aufbau des Tisches aus? Wenn man schon
> soviel Geld reinsteckt, wird man doch sicher keine Plexiglasplatte am
> Ende nehmen? Glas sollte doch schöner aussehen, oder?
>
> Wie groß sollen denn die einzelnen "Pixel" werden? 5x5 cm? Daraus ergibt
> sich dann ja auch, wie weit die LEDs (IR + RGB) und somit auch der
> Sensor von der Scheibe entfernt sein muss, um eine gleichmäßige
> Ausleuchtung zu bekommen. Ist evtl. auch experimentell zu ermitteln.
>
> Der Erbauer des anderen Touch-Tisches hat Milch(plexi?)glas mit 40%
> Lichtdurchlässigkeit genommen.
>
> Grüße
> Markus

ich habe jetzt einen kleinen testaufbau auf einem steckbrett mit dem 
is471 realisiert (inkl. Plexiglasscheibe).

die schaltung habe ich von 
http://www.kreatives-chaos.com/artikel/abstandssensor-mit-is471 fast 
identisch übernommen (danke an den autor). als ausgabe diente erstmal 
eine einfache kleine LED. plexiglas habe ich eine 10x10cm große plexi- 
milchglas mit 79% lichtdurchlässigkeit bei ebay genutzt (versand war 
teurer als das glas selbst :-D)

ich habe etwa 2cm abstand zwischen led und plexiglas. die erkennung lief 
soweit schon mal ganz gut. man muss aufpassen das die LED nicht den 
sensor beeinflusst. ich werde meinen prototypen nur noch etwas umbauen, 
um die led und den sensor richtig ausrichten zu können und anschließend 
gleich an einen uC zu gehen für eine eventuelle filterung. zudem muss 
ich mal eine RGB unter das glas klemmen um zu sehen wie die led als 
lichtquelle wirkt. denn ich persönlich mag keine punktausleuchtung 
sondern das gestreute licht quasi.

somit habe ich die grundlagenforschung nun am schopf gepackt.

rein aus kostengründen würde mich interessieren, wie andere sensoren 
arbeiten wie zum beispiel der TSOP oder andere sensoren die hier genannt 
wurden... wenn man 100xIS471 nimmt, kommt schon ein sümmchen zusammen... 
eine kostengünstigere alternative wäre praktisch

: Bearbeitet durch User
von Joe (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

bin mit dabei..... ;-)

Hatte dieses Video gefunden.......
https://www.youtube.com/watch?v=6WkqYltIJJU

Aber eben teuer und nur einfarbig.

Aber der erste Gedanke von mir war ganz einfach erst mal ein 
Fototransistor plus Leistungstransistor wie im Anhang.

So spät genug, muss jetzt erst mal in die Heia. ;-)

von Conny G. (conny_g)


Lesenswert?

Mir schwirrt folgendes Modell im Kopf herum:

Ein Attiny oder ähnlicher kleinstmöglicher Prozessor
lässt einen Timer mit 100 kHz laufen
pulst mit diesem Timer ein IR-LED mit 50 Khz
es wird je On-Periode der IR-LED und je Off-Periode einmal die Spannung 
an einer IR-Diode gemessen
Zwischen diesen beiden Werten wird jede Messperiode (oder auch über 100 
Messperioden zur Störungsfilterung) die Differenz gebildet
dadurch ist eine Kalibrierung auf die Umgebungshelligkeit gegeben: 
Off-Wert ist die Grundhelligkeit, On-Helligkeit ist die Abstandsmessung, 
die Differenz aus beiden ist der Sensorwert, der proportional zum 
Abstand eines Sensors ist
Je höher die Grundhelligkeit, desto geringer die Auflösung der Erkennung 
(die Differenz der beiden Wert wird geringer)

Idealerweise würde man den Messbereich noch mit einem Opamp auf die 
Referenzspannung der AD-Wandlung skalieren, das maximiert die 
Grundauflösung der Messung.

Nun kann der Attiny auch den 1-Wire-Bus bedienen und entweder ein 
digitales Signal geben - für diejenigen, die das bevorzugen - oder ein 
analoges für die Entfernung eines Gegenstands.

von Tim R. (herrvorragend)


Lesenswert?

Joe schrieb:
> Hallo zusammen,
>
> bin mit dabei..... ;-)
>
> Hatte dieses Video gefunden.......
> https://www.youtube.com/watch?v=6WkqYltIJJU
>
> Aber eben teuer und nur einfarbig.
>
> Aber der erste Gedanke von mir war ganz einfach erst mal ein
> Fototransistor plus Leistungstransistor wie im Anhang.
>
> So spät genug, muss jetzt erst mal in die Heia. ;-)

wenn ich das richtig sehe is das nen fototransi oder ? heißt der 
reagiert nur auf licht bzw. schatten. das wäre in so einem tisch meiner 
meinung nach ganz schön ungeeignet alleine wegen umgebungslicht und 
eigenen licht im pixelkästchen... oder irre ich mich?!


@Conny du willst also die LED auch gleichzeitig als sensor nutzen? ist 
dieses modell denn schon mal getestet worden oder ist das eine reine 
idee?
zumindest von den bauteilen wäre das glaub günstiger weil der is471 zum 
beispiel wegfällt... würde eben nur anfangs eine größere testreihe mit 
sich bringen...

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> @Conny du willst also die LED auch gleichzeitig als sensor nutzen? ist
> dieses modell denn schon mal getestet worden oder ist das eine reine
> idee?
> zumindest von den bauteilen wäre das glaub günstiger weil der is471 zum
> beispiel wegfällt... würde eben nur anfangs eine größere testreihe mit
> sich bringen...

Nein, ganz normal IR-LED zum senden des Messsignals und IR-Diode als 
Sensor. Das Ganze gepulst für Toleranz gg. Fremdlicht.

IR-Diode meint hier nicht IR-LED sondern IR-Foto-Diode, das sind zwei 
verschiedene Dinge.
Aber ich würde IR-Fotodiode statt Fototransistor vorschlagen, da 
IR-Fotodioden soviel ich gelesen habe schneller reagieren.

: Bearbeitet durch User
von Markus M. (adrock)


Lesenswert?

...das Problem mit den Photodioden ist aber, dass sie nur sehr kleine 
Ströme liefern. Somit kommt man um einen OP nicht herum.

Damit hat man schon wieder mehr Bauteile auf der Platine. OP und 
Hühnerfutter...

von Conny G. (conny_g)


Lesenswert?

Markus M. schrieb:
> ...das Problem mit den Photodioden ist aber, dass sie nur sehr kleine
> Ströme liefern. Somit kommt man um einen OP nicht herum.
>
> Damit hat man schon wieder mehr Bauteile auf der Platine. OP und
> Hühnerfutter...

Ui, ja, ok. Muss zugeben, dass ich noch nicht mit Photodioden gearbeitet 
habe.

Ich habe dazu gerade folgendes gefunden:

Beitrag "Re: Photodiode messen"

"An die Fotodiode wird eine Spannung in Sperrichtung angeschlossen,
die zu einer Verstärkung des Fotostromes führen kann (auf die
Beschaltung beziehen sich offensichtlich die Angaben im Datenblatt, V_R
wird in Sperrichtung angelegt und über einen Widerstand im Kreis kann
wieder eine stromproportionale Spannung abgegriffen werden). Nachteil:
U.a. geringere Linearität (sollte in diesem Fall lt. Datenblatt aber
unproblematisch sein)."

Habe gerade mal in Datenblättern nachgelesen, was der 
Schaltzeitunterschied zwischen Fototransistor und Fotodiode eigentlich 
ist.
Transistor: 5µs
http://www.vishay.com/docs/81504/bpv11.pdf
Diode: 2,5ns
http://www.vishay.com/docs/81502/bpv10.pdf

Ist also schon Faktor 1.000, bei 100 kHz Messfrequenz haben wir nur 10µs 
für die Messung.
Mit der Frequenz kann man schon noch ein bisschen runtergehen, so bis 
40-50 kHz, aber dann sinds auch nur 20µs und damit noch im 
Schaltzeitbereich des Transistors.

Ich würde also sagen: um es so zu machen wie ich skizziert habe muss es 
eine Fotodiode sein.

: Bearbeitet durch User
von Armin K. (-donald-) Benutzerseite


Lesenswert?

Hallo,
wozu IR, Sensor, Lichtschranke und weiteres?
Ihr habt doch den besten Sensor schon vorhanden! Die LED selbst.
Siehe http://cs.nyu.edu/~jhan/ledtouch/index.html

von Conny G. (conny_g)


Lesenswert?

Armin K. schrieb:
> Hallo,
> wozu IR, Sensor, Lichtschranke und weiteres?
> Ihr habt doch den besten Sensor schon vorhanden! Die LED selbst.
> Siehe http://cs.nyu.edu/~jhan/ledtouch/index.html

Wäre durchaus eine Idee.

Da würden mich zwei Fragen beschäftigen:
- ist die Empfindlichkeit genug um durch mattiertes (Plexi)Glas zu 
kommen?
- würde Infrarot nicht deutlich bessere Abgrenzung von Fremdlicht 
bieten?

Ich denke, dass die Empfindlichkeit generell und Störunempfindlichkeit 
speziell bei normalen LEDs eher kritisch stehen.
Kann aber die Dimension der Fotodiodenwirkung einer normalen LED 
überhaupt nicht einschätzen, also wie stark der Kompromiss ggü Fotodiode 
ausfällt.

Weiss das jemand, wie es um die Licht-Empfindlichkeit einer normalen 
Diode steht?

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Armin K. schrieb:
>> Hallo,
>> wozu IR, Sensor, Lichtschranke und weiteres?
>> Ihr habt doch den besten Sensor schon vorhanden! Die LED selbst.
>> Siehe http://cs.nyu.edu/~jhan/ledtouch/index.html
>
> Wäre durchaus eine Idee.
>
> Da würden mich zwei Fragen beschäftigen:
> - ist die Empfindlichkeit genug um durch mattiertes (Plexi)Glas zu
> kommen?
> - würde Infrarot nicht deutlich bessere Abgrenzung von Fremdlicht
> bieten?
>
> Ich denke, dass die Empfindlichkeit generell und Störunempfindlichkeit
> speziell bei normalen LEDs eher kritisch stehen.
> Kann aber die Dimension der Fotodiodenwirkung einer normalen LED
> überhaupt nicht einschätzen, also wie stark der Kompromiss ggü Fotodiode
> ausfällt.
>
> Weiss das jemand, wie es um die Licht-Empfindlichkeit einer normalen
> Diode steht?

das selbe dachte ich mir bei der seite auch. ich sehe nur einen dunklen 
raum mit LEDs. aber was ist, wenn das umgebungslicht eben tageslist oder 
was auch immer entspricht, dann sieht die empfindlichkeit zur messung 
mit der led selbst schon ganz anders aus und ich glaube um einiges 
schlechter als IR

den ansatz mit IR-fotodiode/transistor werde ich mal nachschauen. ich 
kenne nur fototransi-/dioden aber nicht mit IR. guter ansatz, so lässt 
sich tortzdem evtl. viel einsparen :)

von Markus M. (adrock)


Lesenswert?

Hi,

habe jetzt mal den Si1102 getestet...

Erstmal ist das Ding so winzig, dass es mich an meine Grenzen gebracht 
hat, was das Anlöten des Lackdrahtes an die 7 winzigen Pads (0,3mm x 
0,3mm) angeht.

Habe es dann zusammen mit einer SFH4056 IR-Diode ausprobiert. Es wäre 
wohl besser, eine Diode mit einem "narrow beam" zu nehmen, in der 
application note haben sie eine SFH4650 verwendet.

Das Ding ist so empfindlich, dass ich erst an einen Fehler in der 
Schaltung gedacht habe, weil es kontinuierlich etwas detektiert hat :-) 
Musste dann die Empfindlichkeit herabsetzen und IR-Diode und den 
Empfänger wirklich optisch etwas isolieren. Danach hat es immer noch 
meine Hand in ca. 10cm locker erkannt.

Die Frage ist nur, wie es auf ein Material wie Milchglas reagiert. Ich 
befürchte ja, dass das Milchglas an sich schon reflektiert und somit 
schon zu einer (Falsch-)Erkennung führt.

Grüße
Markus

von Conny G. (conny_g)


Angehängte Dateien:

Lesenswert?

Markus M. schrieb:
> Hi,
>
> habe jetzt mal den Si1102 getestet...
>
> Erstmal ist das Ding so winzig, dass es mich an meine Grenzen gebracht
> hat, was das Anlöten des Lackdrahtes an die 7 winzigen Pads (0,3mm x
> 0,3mm) angeht.
>
> Habe es dann zusammen mit einer SFH4056 IR-Diode ausprobiert. Es wäre
> wohl besser, eine Diode mit einem "narrow beam" zu nehmen, in der
> application note haben sie eine SFH4650 verwendet.
>
> Das Ding ist so empfindlich, dass ich erst an einen Fehler in der
> Schaltung gedacht habe, weil es kontinuierlich etwas detektiert hat :-)
> Musste dann die Empfindlichkeit herabsetzen und IR-Diode und den
> Empfänger wirklich optisch etwas isolieren. Danach hat es immer noch
> meine Hand in ca. 10cm locker erkannt.
>
> Die Frage ist nur, wie es auf ein Material wie Milchglas reagiert. Ich
> befürchte ja, dass das Milchglas an sich schon reflektiert und somit
> schon zu einer (Falsch-)Erkennung führt.
>
> Grüße
> Markus

Qualitativ hört sich das gut an, ich denke aus dieser Perspektive könnte 
man die Erkennung kaum besser lösen.
Das mit dem Milchglas oder Plexi müsste man einfach ausprobieren. Ich 
vermute, dass es deutlichen Einfluss auf die Erkennungsschwelle hat, 
weil man die Reflexion unter die Empfindlichkeitsschwelle nehmen müsste.
Heisst die Reichweite sinkt. Müsste aber ok sein, das haben ja andere 
mit so einem Tisch auch schon gelöst.
Und das wird bei jeder Lösung so sein.

Die Frage ist aber, ob so ein Bauteil nötig ist. Kostet zusätzliches 
Geld (2,80 Euro hab ich gerade gefunden), ist fummelig zu löten.
Und ein uC ist für Bus und PWM sowieso schon da, m.E. kann der die 
IR-Touch-Erkennung gleich mitmachen.
Ein IR-Emitter, eine IR-Diode und ein Opamp sind günstiger als der 
Si1102 alleine.

Man müsste mal einen Prototypen machen, der tut wie ich es oben 
vorgeschlagen habe und herausfinden ob das funktioniert und wie gut.
Evtl. findet sich noch eine Lösung den Opamp rauszulassen, dann wär's 
optimal.

Bzgl. der Reflexion:
Vielleicht könnte man die Unterseite sogar mit einer 
reflexionsreduzierenden Schicht bekleben, es macht sicher einen 
drastischen Unterschied ob man eine spiegelnde Plexi/Glas-Fläche hat, 
die den IR-Strahl direkt und konzentriert auf den Empfänger zurückwirft 
oder ob man eine matte Folie davor hat, die das IR in alle Richtungen 
verteilt.
Die Verteilung/Diffusion sollte das auf den Sensor reflektierende IR auf 
einen Bruchteil (Fünftel, Zehntel?) reduzieren und die Empfindlichkeit 
der Touch-Erkennung wieder entsprechen anheben.

Das hat mich jetzt mal genauer interessiert. Siehe angehängte Grafik:
Bei direkter Reflexion trifft ca. 10% der Lichtenergie des IR-Emitters 
wieder den Empfänger.
Wenn es durch eine Matte Folie "in alle Richtungen" verteilt wird, ist 
es sicher kaum mehr 1%, also ein Zehntel oder weniger.
(Der IR-Empfänger ist hier in ein kleines schwarzes Röhrchen gepackt, 
das sicherstellt, dass er nur Licht von oben bekommt).

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Es gibt jetzt einen Artikel, wo wir Erkenntnisse dokumentieren können:
http://www.mikrocontroller.net/articles/RGB_Touch_Matrix

Ich würde vorschlage nur einigermassen fertig ausdiskutierte oder 
getestete Lösungen dort zu hinterlassen. Also Diskussion, 
Lösungserarbeitung hier, Ergebnis im Artikel.

von Tim R. (herrvorragend)


Lesenswert?

Markus M. schrieb:
> Hi,
>
> habe jetzt mal den Si1102 getestet...
>
>
> Die Frage ist nur, wie es auf ein Material wie Milchglas reagiert. Ich
> befürchte ja, dass das Milchglas an sich schon reflektiert und somit
> schon zu einer (Falsch-)Erkennung führt.
>
> Grüße
> Markus

also ich habe wie gesagt mit dem is471 getestet (mit milch 
lichtdurchlässigen acryl/plexiglas). es ging wunderbar. ich musste nur 
die ausrichtung von sensor und ir-led etwas verändern und gegenseitig 
abschirmen, aber mein prototyp steht hier und funktioniert soweit 
einwandfrei. einzige problem besteht dabei, wenn die plexiglas nur ein 
wenig neigung hat, dann detektiert der sensor auch das glas (aufgrund 
des winkels). habe ca. 4-5cm abstand zwischen glas und led/sensor. und 
meine hand wird bis knapp 1-2cm über dem glas erkannt

mich würde nur noch interessieren, ob eine lösung mittels 
ir-fototransistor + verstärkerschaltung besser bzw. günstiger ist als 
die is471, weil die preislich doch etwas reinhauen bei mehreren pixeln

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> Markus M. schrieb:
>> Hi,
>>
>> habe jetzt mal den Si1102 getestet...
>>
>>
>> Die Frage ist nur, wie es auf ein Material wie Milchglas reagiert. Ich
>> befürchte ja, dass das Milchglas an sich schon reflektiert und somit
>> schon zu einer (Falsch-)Erkennung führt.
>>
>> Grüße
>> Markus
>
> also ich habe wie gesagt mit dem is471 getestet (mit milch
> lichtdurchlässigen acryl/plexiglas). es ging wunderbar. ich musste nur
> die ausrichtung von sensor und ir-led etwas verändern und gegenseitig
> abschirmen, aber mein prototyp steht hier und funktioniert soweit
> einwandfrei. einzige problem besteht dabei, wenn die plexiglas nur ein
> wenig neigung hat, dann detektiert der sensor auch das glas (aufgrund
> des winkels). habe ca. 4-5cm abstand zwischen glas und led/sensor. und
> meine hand wird bis knapp 1-2cm über dem glas erkannt

1-2cm ist fast ein bisschen wenig. Denke es sollte mehrere cm über dem 
Tisch beginnen, damit es nicht unangenehm zu bedienen ist?

> mich würde nur noch interessieren, ob eine lösung mittels
> ir-fototransistor + verstärkerschaltung besser bzw. günstiger ist als
> die is471, weil die preislich doch etwas reinhauen bei mehreren pixeln

Fototransistor m.E. ist zu langsam, wenn man mit einer Trägerfrequenz 
arbeitet, siehe oben. Bei 50-100 kHz ist das genau die Größenordnung, 
die der Fototransistor zu reagieren braucht.

von Tim R. (herrvorragend)


Lesenswert?

@Markus

falls du dir zum testen eine kleine plexiglasscheibe holen magst:

http://www.ebay.de/itm/PLEXIGLAS-Acrylglas-milchglas-79-Lichdurchlaessigkeit-4mm-kostenloser-Zuschnitt-/111002520558

habe mir dort eine 10x10x4mm besorgt (schnelle lieferung), um so den 
touch zu testen... denn ohne plexiglas sind alle testreihen die wir hier 
aufstellen eigentlich wertlos ;-)

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Tim R. schrieb:
>
> 1-2cm ist fast ein bisschen wenig. Denke es sollte mehrere cm über dem
> Tisch beginnen, damit es nicht unangenehm zu bedienen ist?
>

das ist jedem sein empfinden würde ich fast behaupten. aber zur not 
klemmt ein poti am is471, womit ich die reichweite etwas hochschrauben 
kann. ich persönlich möchte eigentlich nicht meine hand weit über den 
tisch halten, sondern wie beim smartphone oder ähnlichen richtiges 
"touch" verwenden, deshalb habe ich die reichweite eingegrenzt

>> mich würde nur noch interessieren, ob eine lösung mittels
>> ir-fototransistor + verstärkerschaltung besser bzw. günstiger ist als
>> die is471, weil die preislich doch etwas reinhauen bei mehreren pixeln
>
> Fototransistor m.E. ist zu langsam, wenn man mit einer Trägerfrequenz
> arbeitet, siehe oben. Bei 50-100 kHz ist das genau die Größenordnung,
> die der Fototransistor zu reagieren braucht.

vorallem haben die keine filter für das umgebungslicht oder ? hab 
zumindest nur normale transis gesehen die auch IR erkennen, aber nicht 
dafür "optimiert" waren...

um es mal zusammen zufassen:
wahlweise würden is471 oder der Si1102 unsere ansprüche umsetzen, 
richtig? :-)
wie sieht es eigtl. mit den TSOP aus, hat da jemand zufällig einen 
rumliegen?

grüße

von Markus M. (adrock)


Lesenswert?

...naja, der Si1102 hat auch mit einer roten LED funktioniert. Er 
funktioniert wohl zwischen 600nm und 950nm.

Ist somit nicht wirklich optimal, da ja dann auch die LEDs selbst alles 
beeinflussen würden.

Für die Lösung mit einem µC je Pixel:

Es gibt durchaus Phototransistoren, die relativ selektiv sind was die 
Wellenlänge angeht. Z.B. Osram SFH 310 FA oder 309 FA (andere 
Wellenlänge) oder auch Vishay TEFT4300 (sind jetzt alles TH Bauteile).

Idealerweise sollte man ein Modell finden, welches direkt ohne OP an den 
A/D-Wandler angeschlossen werden kann. Man müsste dann natürlich ein 
bisschen Hirnschmalz in das Programm auf dem Controller stecken, um eine 
gute Detektion zu erreichen. Aber da der Controller ja weiß, wann die 
IR-LED an/aus ist, muss er ja "nur" die Differenz des Signals vom 
Phototransistor nehmen, diese integrieren (aufsummieren über die Zeit) 
und hätte einen ersten Anhaltspunkt. Man könnte die weiteren Parameter 
für die Erkennung dann per Software gut anpassen.

Wenn man zusätzlich die RGB-LED ansteuern will und noch den BUS 
realisieren muss, kommt man allerdings mit dem kleinsten AVR nicht mehr 
hin.

Grüße
Markus

von Conny G. (conny_g)


Lesenswert?

Markus M. schrieb:
> ...naja, der Si1102 hat auch mit einer roten LED funktioniert. Er
> funktioniert wohl zwischen 600nm und 950nm.
>
> Ist somit nicht wirklich optimal, da ja dann auch die LEDs selbst alles
> beeinflussen würden.

Stimmt, der ist zu breit für eine gefilterte Wahrnehmung. Ist nicht 
einmal ein Wellenlängendiagramm drin, was dafür spricht, dass die 
Empfindlichkeit recht breit aufgestellt ist.

> Für die Lösung mit einem µC je Pixel:
>
> Es gibt durchaus Phototransistoren, die relativ selektiv sind was die
> Wellenlänge angeht. Z.B. Osram SFH 310 FA oder 309 FA (andere
> Wellenlänge) oder auch Vishay TEFT4300 (sind jetzt alles TH Bauteile).

Ich hatte darüber nachgedacht die Frequenz von IR-Fernbedienungen zu 
verwenden, also um die 40 Khz.
Hierfür würde ein Fototransistor nicht funktionieren, weil der schon 
2,5us zum schalten benötigt. 40 kHz ist 25us für eine Periode.
Das ist eher kritisch, wenn die Schaltfrequenz so nah an der 
Messfrequenz ist.
Also müsste man mit der Messfrequenz nach unten gehen, was aber 
eigentlich kein Problem wäre, wenn man nach dem Schema vorgeht:

1. IR-LED an
2. IR-Lichtstärke messen (generiertes IR-Licht)
3. IR-LED aus
4. IR-Lichtstärke messen (Fremdlicht)
5. Differenz berechnen
-> weiter bei 1
Und das für 10-20 Zyklen und den Mittelwert als Messwert verwenden

Dann muss man eigentlich nicht wie die TSOP etc. das tun mit einer 
Trägerfrequenz und Frequenzfilter arbeiten, weshalb die wohl eine recht 
hohe Frequenz verwenden.

Nach oben geschriebenem Algorithmus ist die Messfrequenz eigentlich fast 
egal, sie sollte nur hoch genug sein, dass man genügend Messwerte für 
einen Durchschnittswert in kurzer Zeit herausbekommt.
Sagen wir mal wir wollen 10-20 Touch-Werte pro Sekunde und 100 Samples 
für einen Messwert.
Dann müsste 1.000 Mal pro Sekunde gemessen werden, das schafft auch noch 
ein Fototransistor.
Man könnte dann auch noch auf 10 Khz gehen und das wäre für einen 
Fototransistor noch schaffbar (1 Periode = 40 x Schaltzeit 
Fototransistor).

> Idealerweise sollte man ein Modell finden, welches direkt ohne OP an den
> A/D-Wandler angeschlossen werden kann. Man müsste dann natürlich ein
> bisschen Hirnschmalz in das Programm auf dem Controller stecken, um eine
> gute Detektion zu erreichen. Aber da der Controller ja weiß, wann die
> IR-LED an/aus ist, muss er ja "nur" die Differenz des Signals vom
> Phototransistor nehmen, diese integrieren (aufsummieren über die Zeit)
> und hätte einen ersten Anhaltspunkt. Man könnte die weiteren Parameter
> für die Erkennung dann per Software gut anpassen.
>
> Wenn man zusätzlich die RGB-LED ansteuern will und noch den BUS
> realisieren muss, kommt man allerdings mit dem kleinsten AVR nicht mehr
> hin.

Was brauchen wir denn... genügend Taktzyklen und genügend Pins.
Taktzyklen halte ich aus dem Bauch nicht für das Problem.

Pins:
- 3 Pins für RGB, Software-PWM 8 Bit mit 1 8 Bit Timer
- 1-2 Pins für den Bus, 1 16 Bit Timer
- 1 Pin A/D Wandler für IR-Messung
= 6 Pins gesamt

Damit geht's nicht mehr mit einem 6-Beiner, mindestens 8 braucht es, 
wenn man das RESET Pin als normales Pin schaltet.

Als kleinster also Attiny13.

Der hat aber nur einen 8 Bit Timer, damit bliebe der Bus ohne Timer.
Evtl. könnte man aber auch Bus und PWM mit einem 8 Bit-Timer schaffen.

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> 1. IR-LED an
> 2. IR-Lichtstärke messen (generiertes IR-Licht)
> 3. IR-LED aus
> 4. IR-Lichtstärke messen (Fremdlicht)
> 5. Differenz berechnen
> -> weiter bei 1
> Und das für 10-20 Zyklen und den Mittelwert als Messwert verwenden

wie dolle streut denn solch ein bauteil? wenn ich 20 mal messe und alle 
werte relativ große schwankungen aufweisen, ist das auch nur halb 
gewonnen. könnte man zwar mitteln, aber die streuung bleibt trotzdem 
relativ hoch. aber der ansatz wäre eine günstige alternative

> Pins:
> - 3 Pins für RGB, Software-PWM 8 Bit mit 1 8 Bit Timer
> - 1-2 Pins für den Bus, 1 16 Bit Timer
> - 1 Pin A/D Wandler für IR-Messung
> = 6 Pins gesamt


also ein einziger Pixel-/Controller benötigt nach dem bisherigen Schema 
was wir überlegt hatten:
-3 Pins RGB, PWM mit 8 Bit Timer
-4 Pins Bus (1x RGB in, 1x RGB out, 1x Sensorwert in, 1x Sensorwert out)
-Clock?
-ADC je nach dem welche Variante verwendet wird
=7-9 Pins gesamt... nach meiner Rechnung?

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> Conny G. schrieb:
>> 1. IR-LED an
>> 2. IR-Lichtstärke messen (generiertes IR-Licht)
>> 3. IR-LED aus
>> 4. IR-Lichtstärke messen (Fremdlicht)
>> 5. Differenz berechnen
>> -> weiter bei 1
>> Und das für 10-20 Zyklen und den Mittelwert als Messwert verwenden
>
> wie dolle streut denn solch ein bauteil? wenn ich 20 mal messe und alle
> werte relativ große schwankungen aufweisen, ist das auch nur halb
> gewonnen. könnte man zwar mitteln, aber die streuung bleibt trotzdem
> relativ hoch. aber der ansatz wäre eine günstige alternative

Was meinst Du mit streuen?

>> Pins:
>> - 3 Pins für RGB, Software-PWM 8 Bit mit 1 8 Bit Timer
>> - 1-2 Pins für den Bus, 1 16 Bit Timer
>> - 1 Pin A/D Wandler für IR-Messung
>> = 6 Pins gesamt
>
>
> also ein einziger Pixel-/Controller benötigt nach dem bisherigen Schema
> was wir überlegt hatten:
> -3 Pins RGB, PWM mit 8 Bit Timer
> -4 Pins Bus (1x RGB in, 1x RGB out, 1x Sensorwert in, 1x Sensorwert out)
> -Clock?
> -ADC je nach dem welche Variante verwendet wird
> =7-9 Pins gesamt... nach meiner Rechnung?

Du hast recht, ich hab die Daisy Chain vergessen, sorry :-)
Also 6 oder 8 Pins, je nachdem ob Sensorbus separat oder nicht:
3 Pwm, 2 Bus, 1 ADC = 6
Optional plus 2 Sensorbus.

von Tim R. (herrvorragend)


Lesenswert?

wenn mehrere messungen alleine für das umgebungslicht angenommene Werte 
annehmen wie: 26 48 65 33 18 45... dann kann man das zwar mitteln, aber 
ob man dann den tatsächlich schwellwert für "touch aktiv" oder "touch 
nicht aktiv" erreicht ist relativ fraglich weil die streuung der werte 
so groß ist dass der fehler dementsprecht ansteigt. große streuung (also 
schwankung) der werte zieht einen großen fehler mit sich. oder seh ich 
das falsch?! ich kann leider nicht beurteilen wie gut diese sensoren mit 
infrarot sind und dann zusätzlich noch einer rgb im nacken...

bei der variante mit dem is471 fällt der adc pin weg ;-P
gibts denn überhaupt einen attiny mit 3 PWM kanälen? hatte gerade ein 
datenblatt offen wo leider 2 drin stand


ps: conny hast du meine nachricht bekommen?

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> wenn mehrere messungen alleine für das umgebungslicht angenommene Werte
> annehmen wie: 26 48 65 33 18 45... dann kann man das zwar mitteln, aber
> ob man dann den tatsächlich schwellwert für "touch aktiv" oder "touch
> nicht aktiv" erreicht ist relativ fraglich weil die streuung der werte
> so groß ist dass der fehler dementsprecht ansteigt. große streuung (also
> schwankung) der werte zieht einen großen fehler mit sich. oder seh ich
> das falsch?! ich kann leider nicht beurteilen wie gut diese sensoren mit
> infrarot sind und dann zusätzlich noch einer rgb im nacken...

Das mag sein, dass die Messwerte streuen, aber es sind halt Messwerte. 
Die sind ja dann für sich nicht falsch und ein fertiger Sensor hat doch 
genau dasselbe und muss damit arbeiten. Deshalb verstehe ich die Sorge 
nicht, denn wenn so ein fertiger Sensor das schafft dann wir auch.
Ein Fototransistor den wir verwenden ist ja auch nicht um eine 
Zehnerpotenz ungenauer als die Fotozelle eine fertigen Sensors?

> bei der variante mit dem is471 fällt der adc pin weg ;-P
> gibts denn überhaupt einen attiny mit 3 PWM kanälen? hatte gerade ein
> datenblatt offen wo leider 2 drin stand

Ich schrieb schon Soft PWM, brauchen für 3 windige 8 Bit Kanäle keine 
Hardware PWM.

> ps: conny hast du meine nachricht bekommen?

Ja, und geantwortet, aber Deine Emailadresse Bounces, "Mailbox Not 
available". Hab die Antwort per PN hier geschickt.

von Markus M. (adrock)


Lesenswert?

Hi,

also der "Algorithmus" macht in etwa das was die Näherungssensoren auch 
tun:

- IR LED aus
- A = Spannung am Phototransistor
- IR LED an
- B = Spannung am Phototransistor
- Summe += (A-B)

Die Summe über die Zeit X ergibt dann die Menge des reflektierten 
Lichtes. Wenn man dann noch einen Schwellwert einbaut hat man eigentlich 
schon ein einfaches Verfahren.

Nehmen wir mal an eine Messung dauert 50 µs (wie schnell ist der 
A/D-Wandler des ATtiny?), dann haben wir 20k Messungen pro Sekunde. /2 
wg. der IR-LED aus Phase und dann sagen wir mal 10 Messungen zum 
Aufsummieren... ergibt 1 ms für die Messung. Man könnte dann während der 
Messung sogar die RGB-PWM ruhen lassen um Seiteneffekte zu vermeiden.

An Pins benötigt man m.E. mindestens:

- IR LED Ausgang, könnte aber sein dass man da noch einen 
Treibertransistor benötigt, um der IR LED einen etwas höheren Strom zu 
geben (lt. Datenblatt max. 40mA für einen ATtiny 44/84). oder man 
schaltet zwei Ausgänge parallel...

- R/G/B LED Ausgang

- A/D-Wandler Eingang

- Bus (In/Out)

- Reset/debugWire

Komme da also leider auf 8 I/O-Pins.

Grüße
Markus

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Markus,

Du hast recht, IR Out habe ich auch noch vergessen!
Ja, dann sind wir incl Reset bei 8 und man könnte sich mal die 
zweitkleinsten Tinys ansehen.

von Tim R. (herrvorragend)


Lesenswert?

um mal vom theoretischen teil in die praxis zu kommen... hat denn jemand 
mal entsprechend bauteile für nen kurzen mess- bzw. testaufbau, ob das 
auch alles so funktioniert, wie gedacht? ;-P

von Conny G. (conny_g)


Lesenswert?

Ich hätte ein paar Atmega8 und Attiny da (für einen ersten Bustest oder 
den IR-Detektor Test müssten es noch nicht die finalen uCs sein), aber 
leider gar keine Zeit, weil ich noch 2 andere Projekte fertigzustellen 
habe.

von Düsendieb (Gast)


Lesenswert?


von Conny G. (conny_g)


Lesenswert?


von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Ja, und geantwortet, aber Deine Emailadresse Bounces, "Mailbox Not
> available". Hab die Antwort per PN hier geschickt.

ja stimmt mein acc hier läuft auf eine uralt trach mail :-/

aber wo seh ich hier denn meine PNs? ich stell mich gerade richtig glatt 
an und finde kein postfach oder so *peinlich

von Conny G. (conny_g)


Lesenswert?

Die PNs werden per Email weitergeleitet. Vermutlich an genau dieses 
Emailpostfach :-)

von Tim R. (herrvorragend)


Lesenswert?

bin dabei die email zu tauschen, warte auf den admin..

ähm... weiter im thread?... oder erstmal den anderen thread weiterfüllen 
? :-)

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
>
> Du hast recht, ich hab die Daisy Chain vergessen, sorry :-)
> Also 6 oder 8 Pins, je nachdem ob Sensorbus separat oder nicht:
> 3 Pwm, 2 Bus, 1 ADC = 6
> Optional plus 2 Sensorbus.

da fällt mir ein... wenn ich von einer 6pin ISP zum programmieren 
ausgehe, sind 4 Pins extra nötig... es sei denn man nimmt ein 
schaltungsdesign vor womit die pins zum proggen und ein/ausgabe 
verwendet werden können... ich weiß nur nicht wie dabei eine logik 
aussehen müsste, habe bisher isp immer extra beschalten

von Conny G. (conny_g)


Lesenswert?

Die ISP Pins kann man problemlos mit anderer Funktion belegen solange 
die andere Funktion nicht die Programmierung stört.
Oft braucht man keine extra Beschaltung dafür, manchmal tun es 
Widerstände zu den anderen Bauteilen, manchmal muss man einen digitalen 
Switch vorsehen, der durch RESET umgeschaltet wird.

von Conny G. (conny_g)


Lesenswert?

Hier auf Seite 7 steht was dazu:
http://www.atmel.com/images/atmel-2521-avr-hardware-design-considerations_application-note_avr042.pdf

Shared use of SPI programming lines
If additional devices are connected to the ISP lines, the programmer 
must be protected from any device, other than the AVR, that may try to 
drive the lines. This is especially important with the SPI bus, as it is 
similar to the ISP interface. Applying series resistors on the SPI 
lines, as depicted in Figure 3-2, is the easiest way to achieve this.
Note that the AVR will never drive the SPI lines in a programming 
situation, since the AVR is held in RESET to enter programming mode – 
and RESET’ing the AVR tri-states all pins.

D.h. wenn die Daisy Chain sicher nicht angesteuert wird während 
programmiert wird muss man nicht einmal den Widerstand einfügen.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

http://www.mikrocontroller.net/articles/AVR_In_System_Programmer

ganz unten steht etwas zur benutzung der pins :-)
problematisch wird es beim eingang, sofern dieser nicht durchgeschaltet 
ist. im Text steht:
"Als Eingänge sollte man die Pins allerdings nicht verwenden, da ein 
angeschlossener Taster zum Beispiel die Programmierimpulse kurzschließen 
würde, wenn er gedrückt ist. "

da an jeder seite ein weiter pixel oder ein master klemmt, könnte das 
sogar problematisch werden oder nicht? zum programmieren müsste die 
komplette kommunikation still gelegt sein
alternativ könnt man einfach einen großen jumper zum programmiermodus 
abkommandieren, ist nur etwas nervig das ständige umschalten *g
switch der an reset geschaltet ist, wird denke ich die sicherste methode 
sein, welchezugleich nicht kompliziert ist

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Sollte es möglich sein, dass andere in der Chain senden, dann könnte man 
die in der Appnote genannten Schutzwiderstände verwenden.
Es macht aber eigentlich keinen Sinn, dass man die Pixel-Slaves mitten 
in der laufenden Schaltung programmiert.
Und wenn der Master (die Tisch-Steuerung) aus ist, dann tun auch die 
Pixel Slaves nichts.

Ansonsten kann man dem auch ganz aus dem Weg gehen und die ISP-Pins für 
PWM verwenden.

Vielleicht sollte man aber sowieso über einen Bootloader nachdenken, der 
die Firmware automatisch von Pixel zu Pixel weitergibt :-)

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Sollte es möglich sein, dass andere in der Chain senden, dann könnte man
> die in der Appnote genannten Schutzwiderstände verwenden.
> Es macht aber eigentlich keinen Sinn, dass man die Pixel-Slaves mitten
> in der laufenden Schaltung programmiert.
> Und wenn der Master (die Tisch-Steuerung) aus ist, dann tun auch die
> Pixel Slaves nichts.

ja stimmt, an den schlafenden master hatte ich nun gar nicht gedacht... 
guten morgen g

>
> Ansonsten kann man dem auch ganz aus dem Weg gehen und die ISP-Pins für
> PWM verwenden.
>
> Vielleicht sollte man aber sowieso über einen Bootloader nachdenken, der
> die Firmware automatisch von Pixel zu Pixel weitergibt :-)

daran hatte ich auch schon gedacht, nur fand ich einen bootloader etwas 
"überzogen", bin zufrieden wenn das ganze auch so erstmal steht hehe... 
aber um nicht 100pixel nach einander programmieren zu müssen wäre eine 
lösung "über-bus-programmierung" schon sehr hilfreich

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Könnte eigentlich genauso funktionieren wie die Daisy Chain à la 
ws2811... die Firmware wird direkt weitergeschickt.
Es müsste nur ein Trigger-Event geben, wann und warum die Slaves alle im 
Bootloader bleiben.

Dazu hatte ich schon mal drangedacht, dass man 4 Bytes statt 3 
übertragen könnte.
Einerseits könnte man dann 10 Bit PWM machen, also 3x10= 30 bit und hat 
dann noch 2 Bits für Protokoll-Befehle.
Und da könnte ein Befehl sein: RGB-Daten. Ein weiterer 
Sensor-Daten-Rückwärtsgang. Und ein dritter: Bootloader-Modus.
Die Slaves blieben dann nach dem Start für xxx Millisekunden im 
Bootloader, ob das Kommando kommt und wenn nicht -> normales Programm.
Wenn Bootloader, dann wird jedes Byte gespeichert und gleich 
weitergereicht.
Und das funktioniert dann genauso wie die RGB-Übermittlung.
Und wenn es beim Flashen einen CRC-Fehler gibt, dann schaltet der Slave 
die LED auf rot, die anderen auf grün.

von Conny G. (conny_g)


Lesenswert?

Oder... jeder Slave flasht (per Bootloader) seinen Nachbarn sobald er 
selbst fertig ist.
Damit könnte eine Wiederholung automatisch durchgeführt werden, wenn mal 
der CRC-Check daneben geht.

von Tim R. (herrvorragend)


Lesenswert?

das wäre ein guter ansatz. ich muss gestehen ich habe bisher bootloader 
nur verwendet aber selbst noch nie implementiert. kann man die einfach 
(in C) programmieren?! muss man irgendwas wichtig beachten?! ich müsste 
mir an der stelle erstmal ein wenig lektüre besorgen

bei 10bit ist der nette nebeneffekt, dass 1024 statt 256 farben 
theoretisch angesteuert werden könnten :-)

ein CRC wäre an der stelle ein muss. ich sehe schon ich produziere dann 
nur rote lichter


ich habe grad mal nach jahre das gute alte eagle vorgeholt. der tiny13 
reicht, wie besprochen, nicht aus... bin gerade am tiny23 dran nen 
pinkompatiblen chip in eagle zu finden... aber an sich sollte der genug 
IOs haben. kann die tage ja mal den kleinen schaltplan hochladen und 
dann kann das entwerfen der pixelplatine schon mal los gehen

von Conny G. (conny_g)


Lesenswert?

Bootloader ist nicht so schwierig, habe ich mich schon einmal einen 
kurzen Abend damit beschäftigt und ein Progrämmchen gemacht, das auf dem 
Uart sich dann als Bootloader meldet. Ist ziemlich leicht ein C-Programm 
als Bootloader zu deklarieren, im Prinzip muss es nur in die 
Bootloader-Section geschrieben werden beim Flashen und die 
Bootloader-Fuses gesetzt werden (BL an und Startadresse). War noch nicht 
da dann auch das Flash zu schreiben, aber da gibt's viele 
Bootloaderprojekte oder Tutorials für, vermute das wäre ein weiterer 
Abend oder zwei/drei bis das tut.

Hier:
http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
Bis 6. hab ich's getestet.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

für mich klingt das gerade nach jemandem, der sich freiwillig meldet ? 
;-)

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> für mich klingt das gerade nach jemandem, der sich freiwillig meldet ?
> ;-)

Prinzipiell sehr gerne. Ich habe aber noch ein Projekt fertigzustellen, 
das noch um die 8 Wochen dauern wird, bis dahin nur Zeit zum Senf 
dazugeben.

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Tim R. schrieb:
>> für mich klingt das gerade nach jemandem, der sich freiwillig meldet ?
>> ;-)
>
> Prinzipiell sehr gerne. Ich habe aber noch ein Projekt fertigzustellen,
> das noch um die 8 Wochen dauern wird, bis dahin nur Zeit zum Senf
> dazugeben.

per spi einfach den bootloader reinladen wird wohl nicht funktionieren 
oder? es ist also ein isp-programmer dafür nötig...?! ansonsten kann man 
wirklich die komplette programmer schnittstelle "weglassen"

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> Conny G. schrieb:
>> Tim R. schrieb:
>>> für mich klingt das gerade nach jemandem, der sich freiwillig meldet ?
>>> ;-)
>>
>> Prinzipiell sehr gerne. Ich habe aber noch ein Projekt fertigzustellen,
>> das noch um die 8 Wochen dauern wird, bis dahin nur Zeit zum Senf
>> dazugeben.
>
> per spi einfach den bootloader reinladen wird wohl nicht funktionieren
> oder? es ist also ein isp-programmer dafür nötig...?! ansonsten kann man
> wirklich die komplette programmer schnittstelle "weglassen"

Nein, man muss den Bootloader schon vorher per ISP laden, dann kann man 
die Firmware mit dem Bootloader "wie auch immer" laden.
(Den Bootloader kann man sicher auch aus der Software schreiben, aber 
irgendwas muss auf dem uC laufen um ins Flash zu schreiben).

Man könnte aber für den Fall, dass man den Bootloader ersetzen muss 
einen Tag-Connect-Port vorsehen
http://www.tag-connect.com/catalog/6
Der Witz daran ist, dass man keine Headerleiste oder Stecker braucht, 
sondern nur Pads und Löcher auf der Platine hat auf die man das Kabel 
aufsteckt.
In 2-3 Wochen kann ich wohl was dazu dagen, ob es gut funktioniert. Das 
Kabel habe ich mir gerade gekauft und den Tag-Connect in eine Schaltung 
eingebaut, die ich gerade mache.

von Christian H. (c_h)


Lesenswert?

Es wäre schon möglich, dass ein Modul das nächste programmiert ohne dass 
zuvor ein Bootloader installiert wurde.

Fast jeder Atmega-Chip kann ein ISP-Programmer sein!

Dazu müssen nur die 3 SPI-Pins und der Reset-Pin des in der Kette 
nächsten, zu programmierenden Moduls mit 4 beliebigen Pins des 
vorherigen Moduls verbunden werden. Das sind leider dann 4 Leitungen von 
jedem Modul zu seinem Nachfolger, wodurch das Ziel Kabel zu sparen 
natürlich angegriffen wird. Im Gegenzug muss man die Module dann aber 
nur löten und verkabeln und nicht auch noch mit einem Bootloader 
programmieren!

Passender Source-Code würde sich bei Guloshop.de finden. Dort gibt es 
einen Programmer auf attiny85-Basis und auch den freien Source-Code. 
Dieser Programmer macht das zum Programmieren nötige SPI-Protokoll 
direkt per Port-Programmierung. Mit diesem Code könnte man bei einem 
attiny84 oder 2313 wohl 4 beliebige freie Pins mit den zum programmieren 
benötigten Pins des Nachfolgemoduls verbinden.

Der bei der Arduino-Software beiliegende Arduino-ISP Sketch ist auch 
interessant, aber weniger gut geeignet, weil er die Daten auf die 
ISP-Schnittstelle wirklich per HW-ISP des Atmega328p rausschreibt. D.h. 
SPI des Programmierers mit mit SPI des programmierten verbunden sein.

von Tim R. (herrvorragend)


Lesenswert?

also die funktion der pixel sollte anhand von einem prototypen aufbau 
mit 2-3 pixeln denke ich erstmal gemacht werden und anschließend sollte 
die software stehen... also nur im notfall wird dann nochmal die 
software für jeden pixel geändert werden... und dafür nen extra 
bootloader? zumal die pixel eh eine ISP brauchen, würde ich den 
bootloader erstmal als gimmick/feature betrachten oder nicht?

die geräte habe ich schon mal gesehen, fand ich ziemlich interessant... 
kannst ja mal berichten

tiny als DIP?

von Conny G. (conny_g)


Lesenswert?

Christian H. schrieb:
> Es wäre schon möglich, dass ein Modul das nächste programmiert ohne dass
> zuvor ein Bootloader installiert wurde.
>
> Fast jeder Atmega-Chip kann ein ISP-Programmer sein!

Das habe ich schon bedacht, aber wg. der Zielsetzung einen schlanken Bus 
zu haben, gleich ausgenommen.
Ich würde nicht mit 4 Leitungen von Pixel zu Pixel gehen wollen, nur um 
die programmieren zu können.

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> also die funktion der pixel sollte anhand von einem prototypen aufbau
> mit 2-3 pixeln denke ich erstmal gemacht werden und anschließend sollte
> die software stehen... also nur im notfall wird dann nochmal die
> software für jeden pixel geändert werden... und dafür nen extra
> bootloader? zumal die pixel eh eine ISP brauchen, würde ich den
> bootloader erstmal als gimmick/feature betrachten oder nicht?

ISP muss nicht. Man könnte die ICs auch alle vor dem Einlöten 
programmieren. Nur für eine einmalige Nutzung wäre wirklich auch ein ISP 
unnötig.

Der Bootloader ist wirklich nicht unbedingt erforderlich. Auf der 
anderen Seite ist es einfacher ein bisschen Software auf allen Pixel zu 
haben um die in einer Chain alle zu aktualisieren als einen ISP Header 
auf jedem.

So ein Tag Connect wäre allerdings wieder nicht so schlecht, denn es 
kostet nur einen Quadratzentimeter Platinenplatz und sonst keine 
Bauteilkosten oder Löterei. Dann kann man jederzeit programmieren, wenn 
man will, braucht aber nicht 100 Header einlöten.

Zusammengefasst:
- die Software der Pixel ist (und muss) simpel sein
- ann muss der Pixel nur 1x programmiert werden
- ISP-Header für 1x ist quatsch
- Bootloader wäre "nett", muss aber nicht
- also OOSP (Out of system programming :-) oder Tag Connect
- falls die Pixel in china hergestellt werden (empfehlenswert), dann Tag 
Connect

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

ich würde dann einfach zum DIP greifen... sockel auf platine löten und 
die chips alle extern bespielen und anschließend raufklemmen... FALLS 
wirklich mal eine änderung nötig ist, kann man die chips immernoch 
rausholen und muss nicht entlöten

bootloader sehe ich auch als feature

der tag connect ist nett aufjedenfall... aber ob man das extra geld 
dafür aufbringen mag... ich weiß nich so recht der tisch verschlingt an 
sich genügend geld :-)

von Conny G. (conny_g)


Lesenswert?

Wenn die Platinen in China bestückt werden... ist es günstiger DIP oder 
SMD zu bestücken oder egal?
Ggf. wäre das ein Grund lieber einen Programmierheader oder Tag-Connect 
zu nehmen als DIP und Sockel.

Man müsste frühzeitig hier Angebote einholen und entscheiden ob selbst 
oder Ausland, da die Auftragsbestückung erheblichen Einfluss auf das 
Platinendesign nimmt.
Wenn man selbst 100 Stück bestückt und nur die Platinen bestellt, dann 
nimmt man lieber DIP als dass man 20x seinen Pizzaofen laufen lässt.
Wenn man Auftragsbestückung macht und es zeigt sich, das SMD günstiger, 
einfacher oder was weiss ich ist, dann ist SMD angesagt.

von Tim R. (herrvorragend)


Lesenswert?

kenne mich mit fertigung aus asien nich sonderlich aus, vllt kann ja mal 
jemand ein link einwerfen oder selbst erfahrungswerte beisteuern ? :-)

ich wäre für platinenfertigung und die controller selbst aufbringen, hat 
den vorteil, dass notfalls die wirklich nochmal runterkönnen (anders als 
beim smd löten)... ist zwar ein tag arbeit ungefähr 100 stück zu machen, 
aber gut, dafür sparen wir an anderen stellen haufen arbeit

so hab mal den tiny2313 im dip im schaltplan drin mit dem is471... 
teurer sensor aber ich habe bisher keine wirkliche alternative deswegen 
lass ich den sensor erstmal soweit drin, kann ja ggf noch geändert 
werden...

hatten wir eigtl schon über die leds gesprochen?!

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

hab mal eben rumgeschaut nach "starken" rgb-leds...

http://www.leds24.com/SuperFlux-RGB-LED-3-Chip-diffus-50-rot-gruen-blau-steuerbar
7,62mm, 20mA pro Chip
Lichtintensität Chip: rot=2500mcd - grün=4000mcd - blau=2000mcd

oder
http://www.led1.de/shop/led-rainbow-rgb-ultrahell/48mm-rgb/strawhat-led-48mm-rgb-4-pin-wedrgb03-cm.html?xploidID=78cvmdt90dggek448avtu1l4q1
4,8mm, 20mA
Max. Lichtstärke: 500mcd (rot) 1.800mcd (grün) 400mcd (blau)

aber vllt gibts ja bei ebay auch gute pakete mit 100 stück oder so?


die Frage ist auch, eine oder mehrere RGB pro Pixel? bei it-gecko.com 
wurde eine led pro pixel genommen und sah eigtl auch ausreichend aus 
denke ich. von daher würde ich zu einer led tendieren nur weiß ich nicht 
so recht was für welche, weil des doch schon recht krasse unterschiede 
gibt

: Bearbeitet durch User
von Markus M. (adrock)


Lesenswert?

Über einen Bootloader habe ich auch nachgedacht zum programmieren der 
Pixels.

Habe auch nach RGB-LEDs geschaut. Ich verstehe nicht, wieso bei den 
günstigen z.B. Blau die geringste Lichtstärke hat, eigentlich wird es 
doch vom Auge am "schlechtesten" wahrgenommen?!

Relativ ausgeglichene LEDs werden dann wohl schon wieder teurer... aber 
auch da müsste man wohl verschiedene ausprobieren und schauen ob sie den 
Ansprüchen genügen... Die Strawhead LEDs sehen aber ganz gut aus.

Habe mal die Kosten pro Pixel überschlagen und komme leider auf so ca. 4 
EUR pro Pixel... (ATtiny44A, IR-LED, IR-Phototransistor, Hühnerfutter, 
RGB-LED) zzgl. Platinchen...

von Conny G. (conny_g)


Lesenswert?

Sollte man auf ausgewogene Lichtstärke von RGB schauen?
Die zweiteren haben ja R G B ein Verhältnis von 1 : 3,5 : 0,8, das ist 
schon extrem Richtung grün.
Man sollte eine Kalibrierung vornehmen um bei 100% alle auf gleicher 
Helligkeit zu haben (R G B nebeneinander auf 100% sollten gleich hell 
aussehen), damit würde man das schon kompensieren, aber verschwendet 
damit 70% der Leistung der grünen.

Bzgl. Lichtstärke müsste man es einfach mal testen und ein paar kleine 
Boxen aus Pappe bauen im Format einer Zelle, also 6x6x6 cm, in einer 
Höhe von ca. 10cm und unten dann diverse Test LEDs in verschiedenen 
Stückzahlen einsetzen und die Farben durchtesten.

Vielleicht erstmal 1 Stück und die Farben von verschiedenen Modell 
anschauen und danach die Helligkeit zwischen 1 und 3 Stück.
Idealerweise würde man von den Farben bei moderatem Tageslicht auch noch 
was sehen.

Für den Helligkeitstest könnte an auch erstmal mit Abschnitten eines 
WS2812(B) testen und davon 1, 2, 3 in die Box legen.
Dann kennt man den Wert an Lumen (Leistung ohne Winkelabhängigkeit) bzw. 
Candela (mit Winkelabhängigkeit), den man braucht.
Ich glaube das ist ein einfacher Ansatz, mit den WS2812 zu testen. 
Sofern dort im Datenblatt die Lichtstärken angegeben sind.

Bzgl. des Winkels sehe ich 120 Grad eigentlich als Verschwendung von 
Lichtleistung, besser hätten sie 30-60 Grad.
Denn wg. möglichst engem Winkel des IR-Sensings (jede Zelle sollte 
eigentlich nur vertikal nach oben und wenig zur Seite messen) sollte die 
Platine etwas weiter unten sitzen (mind. 10 cm) und dann habe ich nach 
oben einen Winkel von < 45 Grad.
Und alles was die RGB-LEDs breiter strahlen geht einfach nur an die 
Seitenwand und wird nur teilweise reflektiert, selbst wenn die 
Seitenwand weiss ist.

Bauform ist eigentlich egal, höchstens noch von der Bestückung (selbst 
oder China) abhängig.
Können auch relativ gross sein, haben 6x6cm Platz.

Habe mir kürzlich 8mm WS2811 RGBs bestellt, die sind ziemlich hell. Habe 
die auch noch ohne WS2811, müsste mal testen, ob die genauso hell sind.
Datenblatt habe ich leider keins dazu, die mcd/lm Werte nachzusehen...

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Markus M. schrieb:
> Habe mal die Kosten pro Pixel überschlagen und komme leider auf so ca. 4
> EUR pro Pixel... (ATtiny44A, IR-LED, IR-Phototransistor, Hühnerfutter,
> RGB-LED) zzgl. Platinchen...

Und dann sind sie noch nicht bestückt, oder?

von Conny G. (conny_g)


Lesenswert?

Hier mal die nächstbesten 8mm RGB, die Google ausgespuckt hat:

http://www.powerledworld.com/de/20pcs-x-8mm-4pin-rgb-common-anode-led-light-redgreenblue-water-clear.html?language=de&currency=EUR

Sehen gar nicht mal so schlecht aus.
Abstrahlwinkel 35% finde ich bestens.
7 Euro / 20 = 35 Cent ist zu teuer, das geht m.E. für die Hälfte.

Die sind richtig hell, Winkel 20 Grad (fast ein bisschen wenig):
http://www.leds24.com/10mm-3-Chip-Rainbow-RGB-4-Pin-LED-20-RGB-LEDs-steuerbar?gclid=CO7uyKSMz70CFQIcwwod5F0AKw

Die Superflux, die Du schon gefunden hattest:
http://www.leds24.com/SuperFlux-RGB-LED-3-Chip-diffus-50-rot-gruen-blau-steuerbar
sind etwa gleich hell, haben aber doppelten Winkel.
Der Winkel von 50% passt aber ganz gut.

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Also beim 
WS2812Bhttp://www.mikrocontroller.net/attachment/180459/WS2812B_preliminary.pdf

haben wir:

RGB IC characteristic parameter

Emitting color  Model    Wavelength(nm)  Luminous intensity(mcd)
Red             13CBAUP  620-625         390-420
Green           13CGAUP  522-525         660-720
Blue            10R1MUX  465-467         180-200

also R = 400mcd, G = 700mcd, B = 200mcd,
wobei der Abstrahlwinkel hier auch mind. 120 Grad ist.

Gegenüber den Superflux RGB:
7,62mm, 20mA pro Chip
Lichtintensität Chip: rot=2500mcd - grün=4000mcd - blau=2000mcd

ist das etwa ein Fünftel.

Man könnte es also ungefähr vergleichen, wie die Helligkeit der 
Superflux herauskommt, wenn man 4-5 der WS2812b in so eine 6x6cm Testbox 
packt und weisses/diffuses Plexiglas drüberlegt.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

heißt das die superflux sind dementsprechend 4 mal so hell oder wie kann 
man diese werte interpretieren?

dein letzter satz hat es eigentlich erst interessant gemacht... wie 
sieht das ganze unter plexiglas aus ;-)
wir können mutmaßen über abstände und lichtstärken, aber wie es im 
endeffekt ausschaut weiß man nicht, oder?
ich würde mich entschließen eine superflux oder andere led zu besorgen 
und mal unter meine lichtdurchlässige plexiglas vom touch-testaufbau zu 
packen...

habe ich das richtig verstanden, dass der abstand zwischen plexi und 
platine ~10cm bei dir in anspruch nehmen soll? ich bin momentan bei der 
hälfte...

Markus M. schrieb:
> Habe mal die Kosten pro Pixel überschlagen und komme leider auf so ca. 4
> EUR pro Pixel... (ATtiny44A, IR-LED, IR-Phototransistor, Hühnerfutter,
> RGB-LED) zzgl. Platinchen...

solange aber kein testaufbau mit einem ir-transi mal aufgebaut wurde, 
würde ich dort keine 100 stück bestellen ? .-) klang bisher simpel aber 
sollte zumindest mit einem prototypen belegbar sein...



ich wundere mich gerade wie bei gleicher stromaufnahme und anliegenden 
spannungen solch enorme lichtstärkenunterschiede zustande kommen... hat 
da jemand evtl. eine erläuterung?

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> heißt das die superflux sind dementsprechend 4 mal so hell oder wie kann
> man diese werte interpretieren?

Man muss bei den Lichtstärkeangaben immer aufpassen, ob es 
winkelabhängig (mcd = Candela) oder unabhängig (Lumen) ist.

Lumen heisst: Lichtleistung insgesamt, die abgestrahlt wird, in alle 
Richtungen. Wird deshalb auch für die Angabe Lumen/Watt verwendet -> 
wieviel der Stromleistung wird in Lichtleistung umgewandelt.
Das macht nur Sinn ohne Abstrahlwinkel.

Cancela ist eine relative Einheit:
http://de.wikipedia.org/wiki/Candela
Die Candela [kanˈdeːla] [1] (lateinisch für Kerze) ist die 
SI-Basiseinheit der Lichtstärke, das heißt des von einem Objekt in eine 
gegebene Richtung ausgesandten Lichtstroms pro Raumwinkeleinheit 
(Steradiant, sr), gemessen in großer Entfernung von der Lichtquelle.

D.h. wieviel wird pro "sr" ausgesandt.

> ich wundere mich gerade wie bei gleicher stromaufnahme und anliegenden
> spannungen solch enorme lichtstärkenunterschiede zustande kommen... hat
> da jemand evtl. eine erläuterung?

Und deshalb sind die "mcd" bei der einen LED mit dem kleineren 
Abstrahlwinkel viel größer, weil dieselbe Lichtenergie auf einen 
kleineren Winkel abgestrahlt wird.

Entscheidend ist jetzt: Wir sehen nur das Licht, das oben auf die 6x6cm 
Plexiglasplatte trifft, d.h. am besten passt der Abstrahlwinkel 
möglichst gut zur Entfernung der LED von der Plexiglasplatte und dem 
dadurch aufgespannten Winkel, dann ist sie maximal hell im vgl. zur 
Lichtleistung, die sie insgesamt hat.
Denn alles, was an die Seitenwand geht ist "verloren". (Naja, es wird 
reflektiert, aber dabei verlieren wir einen großen Anteil davon, denn es 
ist bestenfalls weiss und kein Reflektor, der es nach oben strahlt).


> dein letzter satz hat es eigentlich erst interessant gemacht... wie
> sieht das ganze unter plexiglas aus ;-)
> wir können mutmaßen über abstände und lichtstärken, aber wie es im
> endeffekt ausschaut weiß man nicht, oder?

Ja, das lässt sich nicht über die reinen Lichtstärkewerte abschätzen.
ABER: Man kann von z.B. den WS2812B ungefähr auf andere LEDs schliessen, 
wenn man mal ermittelt hat, wieviel man davon haben will.
Oder jede andere LED zum Test, wo man die Lichtstärke kennt.

> ich würde mich entschließen eine superflux oder andere led zu besorgen
> und mal unter meine lichtdurchlässige plexiglas vom touch-testaufbau zu
> packen...
>
> habe ich das richtig verstanden, dass der abstand zwischen plexi und
> platine ~10cm bei dir in anspruch nehmen soll? ich bin momentan bei der
> hälfte...

Die 10cm verfolgen folgenden Gedanken:
Für die Abstrahlung der RGB LED ist es wurst, solange der Abstrahlwinkel 
der LED zusammen mit der Entfernung das Plexi genau ausleuchten.

Aber für das Touch-Sensing ist es m.E. sehr wichtig, dass der Winkel des 
Infrarotstrahls sehr eng ist, also am besten nur 10 Grad, höchstens 20 
Grad.
Denn jede Zelle des Tischs soll die Bewegungen ja auch nur darüber 
messen und nicht noch die Nachbarzelle.

Extremes Beispiel: bei 5cm Abstand und >70-80 Grad Abstrahlwinkel der 
IR-LED könnte der IR-Sensor nicht mehr unterscheiden, ob die Bewegung 
nun über seinem Feld oder über dem Nachbarfeld stattgefunden hat, denn 
wenn Du 5cm über das Plexi gehst, geht der Strahl bereits bis zur Mitte 
des Nachbarfeld.

Deshalb sollte die Platine möglichst weit nach unten, damit es nach oben 
wie ein "Rohr" wird.
Man könnte IR-LED und Sensor auch mit einem Röhrchen abschirmen, aber 
dann ergibt sich das gegenteilige Problem, dass direkt über dem Plexi 
der "Kreis" zu klein wird und der Rand nicht erfasst wird.

Hatte dazu weiter oben schon mal eine Skizze eingestellt, oder?
Ach, die war zum Vorschlag, dass man die Unterseite des Plexi oder 
Glases mit einer Entspiegelfolie bekleben sollte um das von dem Plexi 
direkt reflektierte IR-Licht möglichst viel zu streuen.

: Bearbeitet durch User
von Tim R. (herrvorragend)


Lesenswert?

das mit dem licht ergibt sinn, ich hätte wohl doch mal fix dr. goggle 
öffnen sollen :-)

Conny G. schrieb:
> Die 10cm verfolgen folgenden Gedanken:
> Für die Abstrahlung der RGB LED ist es wurst, solange der Abstrahlwinkel
> der LED zusammen mit der Entfernung das Plexi genau ausleuchten.
>
> Aber für das Touch-Sensing ist es m.E. sehr wichtig, dass der Winkel des
> Infrarotstrahls sehr eng ist, also am besten nur 10 Grad, höchstens 20
> Grad.
> Denn jede Zelle des Tischs soll die Bewegungen ja auch nur darüber
> messen und nicht noch die Nachbarzelle.
>
> Extremes Beispiel: bei 5cm Abstand und >70-80 Grad Abstrahlwinkel der
> IR-LED könnte der IR-Sensor nicht mehr unterscheiden, ob die Bewegung
> nun über seinem Feld oder über dem Nachbarfeld stattgefunden hat, denn
> wenn Du 5cm über das Plexi gehst, geht der Strahl bereits bis zur Mitte
> des Nachbarfeld.
>
> Deshalb sollte die Platine möglichst weit nach unten, damit es nach oben
> wie ein "Rohr" wird.
> Man könnte IR-LED und Sensor auch mit einem Röhrchen abschirmen, aber
> dann ergibt sich das gegenteilige Problem, dass direkt über dem Plexi
> der "Kreis" zu klein wird und der Rand nicht erfasst wird.


also das problem hatte ich bei meinen 5cm nicht. eher genau andersrum. 
meine bewegungen wurden erst zur "mitte" am genausten erkannt... also 
ein finger war sehr kritisch, bei zwei fingern wurde es dann sehr 
zuverlässig... und sobald beide finger nah der mitte waren wurde 
erkannt... wenn sie ansatzweise einen anderen pixel berührt hätten, 
hätte das diesen pixel nicht interessiert... vllt stell ich die tage mal 
nen vid online... ich verstehe deinen gedankengang, aber müsste mal 
schauen wie der is471 bei 10cm abstand überhaupt wirkt

von Rabenvogel (Gast)


Lesenswert?

Schaut mal hier, das sieht doch schnieke aus:
http://finnrudolph.de/Blog/Mongoose_-_RGBY_Desk

von Tim R. (herrvorragend)


Lesenswert?

hätte ja nicht gedacht das man so etwas mit fototransistoren 
hinbekommt... schönes teil aufjedenfall, danke für den link!

mit fototransistoren... aber wie funktioniert das genau, dass die farbe 
festgestellt wird, müssen ja gute filter sein :)

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?


von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> In etwa so:
> http://www.instructables.com/id/Introduction-29/?lang=de

ja hatte eben ähnliche seiten gefunden... etwas aufwendig aber machbar

von Michael H. (mha1)


Lesenswert?

Wirklich interessant der Tisch mit der Farberkennung

Anstelle von Fototransistoren mit Filtern könnte man für die 
Farberkennung auch fertige Sensoren nutzen. Damit sollte sich eine 
Farberkennung relativ einfach gestalten.

Bei meinen Recherchen vor einiger Zeit habe ich die unten stehenden 
Produkte gefunden. Leider waren von kaum einem Hersteller Muster zu 
bekommen und auch bei Mouser / Digekey sind diese Bausteine oft nicht 
auf Lager (Mindestbestellmenge dann teilweise 2000 Stück).

MAXIM
MAX44005, MAX44006, MAX44008

TAOS / AMS
TCS3103, TCS3104, TCS3404, TCS3414
TCS3471x, TCS3472x, TCS3772x (x=1,3,5,7)

Intersil
ISL29120, ISL29125

Kingbright
KPS-5130PD7C

Ich habe aktuell ein paar TCS34725 zum Test für ein anderes Projekt auf 
dem Schreibtisch liegen. Leider fehlt mir die Zeit mich mit einem 
weiteren Projekt aktiv zu beschäfigen.

Die TCS34725 sind in einem DFN-6 SMD Gehäuse und damit nicht ganz 
einfach ohne Reflow-Ofen zu bestücken. Bei einem Preis von knapp EUR 2,- 
pro Stück aber für die Farberkennung recht praktisch.

von Christian H. (c_h)


Lesenswert?

Könnte man nicht für sehr kurze Zeit Rot, dann Grün, dann Blau mit der 
sowieso vorhandenen PWM-gesteuerten LED anzeigen um die aufliegenden 
Gegenstände zu bestrahlen und jeweils den einen Phototransistor pro 
Modul abfragen um so die reflektierte Menge Licht für R, G und B zu 
erhalten? Danach kann die LED wieder PWM machen, bis zur nächsten 
Messung.

von Conny G. (conny_g)


Lesenswert?

Bleiben wir doch lieber erstmal beim Touch Sensing.

von Tim R. (herrvorragend)


Lesenswert?

Christian H. schrieb:
> Könnte man nicht für sehr kurze Zeit Rot, dann Grün, dann Blau mit der
> sowieso vorhandenen PWM-gesteuerten LED anzeigen um die aufliegenden
> Gegenstände zu bestrahlen und jeweils den einen Phototransistor pro
> Modul abfragen um so die reflektierte Menge Licht für R, G und B zu
> erhalten? Danach kann die LED wieder PWM machen, bis zur nächsten
> Messung.

finde den einwand gar nich so schlecht :-) man müsste nur einen 
geeigneten fotowiderstand oder ähnliches finden... würde damit der 
"touch" nicht auch funktionieren?

einzige problem seh ich, wenn sich zwischenzeitig das umgebungslicht 
ändert

: Bearbeitet durch User
von tester (Gast)


Lesenswert?


von Tim R. (herrvorragend)


Lesenswert?

tester schrieb:
> 
http://www.reichelt.de/Optokoppler/ELI-TR9904/3/index.html?&ACTION=3&LA=2&ARTICLE=114342&GROUPID=3046&artnr=ELI+TR9904

der zufall wollte es so, mein kollege hat mir aus seinem 
bauteilreservoir so eine lichtschranke vorzaubern können... im 
datenblatt konnt ich nichts zur reichweite finden, ausser dass es für 
"scanner" und ähnliches geeignet ist... deshalb habe ich die IR-led von 
diesem bauteil an den ausgang von meinem is471 gehängt, damit ich nicht 
selbst fix ein programm schreiben muss für das signal... ich muss aber 
sagen, die erkennungsreichweite liegt bei irgendwie zwischen 0-2cm... 
also quasi gar nichts. mein poti der den transistor basis für die ir-led 
regelt konnte dabei auch nicht wirklich viel ändern. denke das mein 
aufbau soweit richtig ist, aber lasse mich gerne eines besseren 
belehren, wenn jemand erfahrung mit dem oben genannten bauteil hat ? :-)
ansonsten schade, bleibe ich bis dato bei dem is471...

ps.: leben die anderen teilnehmer hier noch ? :-P

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Lebe noch. Aber habe kein Interesse an der RGB Farbmessung. Lieber ein 
guter IR Touch Sensor.
Und da kann ich vor Testaufbau nichts dazu sagen. Und für den habe ich 
gerade keine Zeit.
Muss erst dieses Teil hier finalisieren, produzieren, programmieren, 
testen.
Beitrag "Re: Review von Schaltung und Routing"
Und danach eine Steuerung entwickeln die das DMX dafür sendet, sowie 
zwei weitere Lichtobjekte via Lichtschalter und Lan steuerbar macht.

von Tim R. (herrvorragend)


Lesenswert?

Conny G. schrieb:
> Lebe noch. Aber habe kein Interesse an der RGB Farbmessung.

die war auch eher geflaxt... glaub das nimmt noch mehr zeit in anspruch 
die ich zumindest nicht habe..

> Lieber ein
> guter IR Touch Sensor.

deswegen habe ich noch eine alternativen fototransistor getestet, aber 
mit mäßgem erfolg...

na dann viel erfolg!

von tester (Gast)


Lesenswert?

um die diskussion mal wieder ein wenig voran zu treiben:

mir kam ein gedanke beim foren-stöbern... wie wäre es mit einer 
mechanischen auswertung? zum beispiel mit waagen an jeder ecke oder 
kante... kann mir nur nicht genau vorstellen, wie genau dann die pixel 
ausgewertet werden können

nachteil: man muss berühren und ggf etwas fester drücken... ein drüber 
wischen oder im millimeterabstand drüber halten ist dann nicht mehr 
viel..

vorteil: kostengünstiger als fertig IR, wie es mit selbst erbrachter IR 
erkennung aussieht, schwer zu sagen... bisher kam leider keine zumindest 
brauchbare/getestete lösung

von Karol B. (johnpatcher)


Lesenswert?

Hi,

tester schrieb:
> mir kam ein gedanke beim foren-stöbern... wie wäre es mit einer
> mechanischen auswertung? zum beispiel mit waagen an jeder ecke oder
> kante... kann mir nur nicht genau vorstellen, wie genau dann die pixel
> ausgewertet werden können

Vorschlag wurde weiter oben sogar schon einmal gemacht. Mit persönlich 
gefällt das nicht, und ich bin auch skeptisch was die Auswertung angeht, 
gerade in Bezug auf "Multitouch". Mit IR hingegen ist das alles möglich 
-- zumindest theoretisch.

Ich hatte letztes Jahr etwas ähnliches vor (nachdem ich o.g. YouTube 
Video gesehen habe) und bin interessanterweise in vielerlei Hinsicht zu 
den selben Schlüssen gekommen, d.h. modular und Auswertung per IR.

Bin dabei auf die Kombination ELPD204-6B und ELIR604-6B gestoßen, da 
diese günstig sind und Datenblatt technisch gut zusammen passen. Ich 
hatte mir allerdings überlegt ggf. jeweils 2 oder 4 Dioden pro Modul zu 
verwenden, um auch am Rand eine vernünftige Empfindlichkeit 
gewährleisten zu können. Allerdings spielt hierbei die geometrische 
Anordnung eine Rolle, sodass Reflexionen nicht von den Nachbarn 
ausgewertet werden. Eventuell würde sich das aber auch mit ein bisschen 
Logik in der Software verhindern lassen, immerhin weiß ja die Software 
wann mit Reflexionen zu rechnen ist (also wann die IR-LEDs an sind).

Habe das Ganze auch vor mir liegen, bin allerdings noch nicht dazu 
gekommen einen vernünftigen Versuchsaufbau anzufertigen. Wurde sich denn 
mittlerweile schon auf die Größe eines Pixels geeinigt? Rein vom Bus her 
sind wir wohl auf (höchstens) 200 Module beschränkt. Alles darüber wird 
schon eine Herausforderung. Insofern würde ich 10x10cm vorschlagen, 
womit sich z.B 1x2m Fläche füllen lassen würden. Ggf. müsste man die 
Module selbst aber kleiner gestalten, sodass die einzelnen Zellen 10x10 
cm groß sind. Das hängt dann aber von der verwendeten Technik ein. Ich 
dachte hier an Holz, welcher per Laser geschnitten wird. Das hat sich im 
3D-Druck bewährt und ist verhältnismäßig stabil und günstig.

Was den Mikrocontroller angeht: Man kann auch ein paar Pins sparen, 
indem man auf echte LED-Treiber setzt. Würde das Ganze gerne hell haben, 
und da stoßen meiner Erfahrung nach die Mikrocontroller an ihre Grenzen, 
zumindest, wenn man die Datenblattkonform betreiben möchte. IR-LEDs 
vertragen i.d.R. mehr Strom und es macht wahrscheinlich Sinn das 
auszunutzen, um das SNR aufzubessern.

Ein entsprechenden LED-Treiber vorausgesetzt könnte man sich auch die 
Software-PWM sparen. Andererseits treibt das natürlich wieder die kosten 
in die Höhe.

Wir sollten uns im Übrigen auch auf das Material der Oberfläche einigen. 
Plexiglas halte ich persönlich für nicht so schön, weil ich Glas für 
beständiger und kratzfester halte, wenn man den Tisch wirklich als Tisch 
benutzten sollte.

Wie seht ihr das Alles? Besteht überhaupt noch Interesse an einem 
"gemeinsame" Projekt? Scheint ja trotz der anfänglichen Euphorie ein 
bisschen eingeschlafen zu sein das Ganze ...

Mit freundlichen Grüßen,
Karol Babioch

von Markus M. (adrock)


Lesenswert?

Hi,

so ganz grundsätzlich verfolge ich das schon noch. Allerdings habe ich 
momentan weder Zeit noch Geld einen "richtigen" Tisch zu bauen.

Deine Meinung zu der Oberfläche (echtes Glas) teile ich. Die Oberfläche 
wird direkt Auswirkungen auf die Auswertung/Aufbau der 
Berührungserkennung haben.

Auch finde ich, sollte der ganze Aufbau möglichst flach realisiert 
werden. Wer will schon einen Tisch, wo unter der Platte ein 20cm Kasten 
ist o.ä.
Daraus folgt m.E. wir benötigen einen IR Phototransistor mit möglichst 
großem Erfassungswinkel und möglichst selektivem Erfassungsbereich bzgl. 
der Wellenlänge (ansonsten Beeinflussung durch die LEDs bzw. Fremdlicht) 
und entsprechende IR LEDs (passende Wellenlänge zu dem IR 
Phototransistor).

Wenn die Auswertung/IR-Abtastung der Berührung/Näherung "Pixelweise" 
nacheinander erfolgt, sollten sich doch die Reflexionen von 
Nachbarpixeln in Grenzen halten.

Aber man müsste das wirklich alles mal an einem "Messaufbau" z.B. 3x3 
Pixel) testen.

Ob man die IR-LEDs wirklich mit höherem Impulsstrom betreiben muss wird 
sich zeigen.

Wir haben letztendlich mehrere Baustellen:

- Mechanischer Aufbau (Material, Dicke, Abstände etc.)
- IR Sender / Empfänger Auswertungsmimik
- "Beleuchtung" (RGB LED, ggf. Treiber oder WS2812B?)
- Kommunikation zwischen den Pixeln bzw. Anbindung über einen Bus (inkl. 
Möglichkeit einer automatischen Neuprogrammierung der Pixelcontroller)

Ciao...
Markus

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Markus M. schrieb:
> Auch finde ich, sollte der ganze Aufbau möglichst flach realisiert
> werden. Wer will schon einen Tisch, wo unter der Platte ein 20cm Kasten
> ist o.ä.
> Daraus folgt m.E. wir benötigen einen IR Phototransistor mit möglichst
> großem Erfassungswinkel und möglichst selektivem Erfassungsbereich bzgl.
> der Wellenlänge (ansonsten Beeinflussung durch die LEDs bzw. Fremdlicht)
> und entsprechende IR LEDs (passende Wellenlänge zu dem IR
> Phototransistor).

Das mit dem breiten Erfassungswinkel ist der falsche Ansatz. Sonst kann 
man zwei Zellen nebeneinander nicht unterscheiden, wenn es keine scharfe 
Zellenabgrenzung gibt.
Der Strahl muss aus jeder Zelle relativ steil herauskommen, dazu braucht 
es ein Stück Abstand von der Oberfläche.
Kann man selber ausrechnen: bei ca. 7x7cm Zellengröße (60x60 Tisch als 
eine Größenoption mit 10x10 Zellen) und nur 90 Grad Abstrahlwinkel wird 
eine Hand bei einem Abstand von 5cm noch in der Mitte der Nachbarzelle 
erfasst - das nimmt dem Konzept jede "Schärfe" in der Erkennung.
Wenn man steileren Winkel will, kommt man um eine gewisse Aufbauhöhe, 
wie 10cm, nicht herum (wenn man mit 1 IR-LED arbeiten will. Mir mehreren 
kann man auch welche mit schmalem Winkel nehmen oder sie in ein Röhrchen 
stecken. Aber mehrere ist m.E. bei 100 Zellen keine Optione).

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Wie seht ihr das Alles? Besteht überhaupt noch Interesse an einem
> "gemeinsame" Projekt? Scheint ja trotz der anfänglichen Euphorie ein
> bisschen eingeschlafen zu sein das Ganze ...

Schon interessiert an dem Tisch, aber wie erwähnt hab ich kaum / keine 
Zeit. Wird bei mir eher noch (2-3?) Monate dauern, bis aktuelle 
Elektronikprojekte abgefrühstückt sind.

von Ast E. (vis)


Angehängte Dateien:

Lesenswert?

schön zu lesen, dass es doch noch interessierte gibt

ich bin momentan auf wohnungssuche und würde nach erfolgreichem umzug 
mich wieder intensiv dem thema widmen.

Markus M. schrieb:
> Deine Meinung zu der Oberfläche (echtes Glas) teile ich. Die Oberfläche
> wird direkt Auswirkungen auf die Auswertung/Aufbau der
> Berührungserkennung haben.

Wollt ihr ein durchsichtiges Glas benutzen? Dann sieht man die ganze 
Elektronik, was denk ich keiner will. Also wird es ein mattes Glas 
werden. Das Problem dabei ist, es muss relativ gut Lichtdurchlässig 
sein. Gibt es geeignete Gläser dafür die auch bezahlbar sind? Ich hab 
mich aus Kostengründen und weil mein Test erfolgreich mit Plexiglas war, 
eben für lichtdurchlässige Acryl-Milchgläser entschieden

> Auch finde ich, sollte der ganze Aufbau möglichst flach realisiert
> werden. Wer will schon einen Tisch, wo unter der Platte ein 20cm Kasten
> ist o.ä.

das denke ich auch

> Daraus folgt m.E. wir benötigen einen IR Phototransistor mit möglichst
> großem Erfassungswinkel und möglichst selektivem Erfassungsbereich bzgl.
> der Wellenlänge (ansonsten Beeinflussung durch die LEDs bzw. Fremdlicht)
> und entsprechende IR LEDs (passende Wellenlänge zu dem IR
> Phototransistor).
>
> Wenn die Auswertung/IR-Abtastung der Berührung/Näherung "Pixelweise"
> nacheinander erfolgt, sollten sich doch die Reflexionen von
> Nachbarpixeln in Grenzen halten.
>
> Aber man müsste das wirklich alles mal an einem "Messaufbau" z.B. 3x3
> Pixel) testen.

Mein nächster Test sollte eine Kaskadierung von 3-4 Pixeln sein, zum 
Testen der Kommunikation und zum feststellen, wie sehr sich die IR 
Sensoriken beißen

>
> Ob man die IR-LEDs wirklich mit höherem Impulsstrom betreiben muss wird
> sich zeigen.
>
> Wir haben letztendlich mehrere Baustellen:
>
> - Mechanischer Aufbau (Material, Dicke, Abstände etc.)

ich würde ein 5x5cm Feld als Größe vorschlagen. 10x10cm ist ziemlich 
groß meines erachtens

> - IR Sender / Empfänger Auswertungsmimik
> - "Beleuchtung" (RGB LED, ggf. Treiber oder WS2812B?)

da jeder Pixel eine einzelne RGB benötigt (oder auch mehrere), würde ich 
zu relativ starken LEDs tendieren ohne extra Treiber. Die PWM kann auch 
leicht ein ATTiny liefern

> - Kommunikation zwischen den Pixeln bzw. Anbindung über einen Bus (inkl.
> Möglichkeit einer automatischen Neuprogrammierung der Pixelcontroller)

Diese Thematik war meines erachtens relativ weit voran geschritten. Im 
DaisyCHain (Kaskadierung) der Pixel kann einfach und komfortabel eine 
Kommunikation geschaffen werden. Jeder Pixel hat 2 In- und 2 Outputs. 
RGB_IN, RGB_OUT, TOUCH_IN, TOUCH_OUT... Der Mastercontroller sendet in 
jeweils 3Byte (RGB) für jeden Teilnehmer dessen Farbwerte. Der Master 
schiebt also den Datenzug von 3Byte mal x Pixel an. Der erste Teilnehmer 
entnimmt seine 3Byte Daten (RGB_IN) und schiebt die restlichen Daten 
weiter (RGB_OUT). Die Pixel senden nach erfolgreichem Empfangen ihren 
Touch-Status an den Master (ggf. über mehrere Pixel) über TOUCH_OUT. Die 
Pixel die dazwischen liegen nehmen am TOUCH_IN den Touch Status vom 
nachliegenden Pixel auf und senden diesen in der Reihe weiter.
Ich glaub ich habe das ganze gerade etwas umständlich erklärt, aber zur 
Not stehen ja oben nochmal mehrere Erläuterungen ;-)

Ich würde dabei bleiben. Es werden nur zwei UARTs benötigt, ein wenig 
Software... und das ganze kann auf alle Pixel geflasht werden.

>
> Ciao...
> Markus

Im Anhang befindet sich mal ein fixer Schaltplan von mir, so wie ich es 
mal mit der IS471 angedacht hatte. Ich werde mir gleich mal die eben 
geposteten Sensoren anschauen, evtl sind die besser. Ihr könnt ja 
einfach mal Kritik/Vorschläge/Ideen hageln lassen. :-)

Grüße
Tim


ps:
http://www.mikrocontroller.net/articles/RGB_Touch_Matrix

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Im Anhang befindet sich mal ein fixer Schaltplan von mir, so wie ich es
> mal mit der IS471 angedacht hatte. Ich werde mir gleich mal die eben
> geposteten Sensoren anschauen, evtl sind die besser. Ihr könnt ja
> einfach mal Kritik/Vorschläge/Ideen hageln lassen. :-)

Das Problem des IS471 ist halt der Preis. Meine Lösung auf Basis von 
ELPT204-6B und ELIR204-6B kostet pro Pixel nur 40 Cent.

Habe das Ganze mittlerweile auch getestet und halte das Ergebnis für 
gut. Mein Pixel ist 10x10 Pixel groß und 8 cm hoch. Das ist ziemlich 
groß, werde es nachher nochmal kleiner basteln. Der Unterschied zwischen 
"nichts aufgelegt" und "Hand aufgelegt" liegt derzeit bei 980 mV, und 
ist gut detektierbar. Interessanter wird es bei "Finger am Rand" 
aufgelegt, da wird der Unterschied entsprechend kleiner und eine echte 
Herausforderung. Mit kleineren Pixeln sollte das aber hoffentlich besser 
werden. Andererseits heißt kleinere Pixel = mehr Pixel = höhere 
Anforderung an den Bus. 10x10 sollen es bei mir schon werden, mehr ist 
besser, irgendwann dann allerdings natürlich auch eine Frage des Geldes 
;).

Was haltet ihr denn von dem Vorschlag mehrere IR-Dioden (zumindest 
Photodioden für den "Empfang") zu verwenden. Damit dürften sich nämlich 
Reflexionen aus anderen Zellen erkennen lassen, weil nicht alle 
"Empfänger" (gleich stark) angestrahlt werden. Die Frage ist nur wie 
viele vertretbar sind, wie viele Pins wir übrig haben und welche 
geometrische Anordnung sich hierfür anbietet?


Tim R. schrieb:
> da jeder Pixel eine einzelne RGB benötigt (oder auch mehrere), würde ich
> zu relativ starken LEDs tendieren ohne extra Treiber. Die PWM kann auch
> leicht ein ATTiny liefern

Starke LEDs + kein Treiber ist ein wenig ein Widerspruch. AVRs sind 
i.d.R. für irgendwas zwischen 20 mA und 40 mA spezifiziert. Meistens 
schaffen sie nicht mal das, wenn mehrere Pins gleichzeitig beansprucht 
werden. In Software kann (je nach Taktfrequenz und je nachdem wie genau 
wir den Bus implementieren) eine 8-Bit PWM  schon eine Herausforderung 
werden. Dot-Correction haben wir da dann auch noch nicht. RGB kostet 
mindestens auch 3 Pins. LED Treiber kümmern sich um all das, machen den 
Hardware Aufbau einfacher (keine Widerstände notwendig) und brauchen zum 
Teil nur ein einzigen Pin. Insofern tendiere ich ganz stark für den 
Einsatz eines solchen Treibers.

Tim R. schrieb:
> Ich würde dabei bleiben. Es werden nur zwei UARTs benötigt, ein wenig
> Software... und das ganze kann auf alle Pixel geflasht werden

Apropos flashen: Was ist aus der Bootloader Idee geworden? Wenn wir uns 
nämlich wirklich für mehrere IR-Photodioden + Logik in Software zur 
Detektion entscheiden sollten, wäre es immer denkbar, dass man 
"Verbesserungen"/Kalibrierungen einspielen möchte. Manuell 100+ Pixel zu 
flashen, macht dann wohl keinen Spaß mehr ;).

Mit freundlichen Grüßen,
Karol Babioch

von Ast E. (vis)


Lesenswert?

ja ich weiß die sind leider teuer... aber bieten auch etwas dafür, finde 
ich

mehrere sensoren wäre auch eine idee... ich kann nur nicht abschätzen 
wie die software dazu aussehen müsste bzw. ob dazu ein cleverer algo 
nötig ist, um fremdeinwirkendes IR ausschließen zu können

Ok etwas unglücklich ausgedrückt. natürlich wird eine extra beschaltung 
für die leds nötig. wie im schaltplan zu sehen hatte ich erstmal an 
transistoren zum schalten gedacht und dann sollte das ja kein problem 
darstellen, oder?

led-treiber per i2c oder was schwebt dir vor? der benötigt eben auch nur 
wieder extra platz und erzeugt kosten. aber an sich vereinfacht das 
natürlich eine menge

im datenblatt findet man leider keine distanzen zu dem sensor... aber 
wenn du meinst e funktioniert gut, kannst du gerne mal ein video oder 
ähnliches hochladen, wo die masse den effekt auch beobachten kann :-)

grüße

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> ja ich weiß die sind leider teuer... aber bieten auch etwas dafür, finde
> ich

Nichts was man nicht für 1/5 des Preises selbst bauen könnte, zumindest 
für unsere Ansprüche ...

Tim R. schrieb:
> mehrere sensoren wäre auch eine idee... ich kann nur nicht abschätzen
> wie die software dazu aussehen müsste bzw. ob dazu ein cleverer algo
> nötig ist, um fremdeinwirkendes IR ausschließen zu können

Wir müssten uns einfach auf die Größe eines Pixels festlegen. Habe jetzt 
zuletzt mit 5x5x3 cm gearbeitet, finde das fast ein wenig klein, bzw. 
bin mir nicht sicher, ob wir die Elektronik + Steckverbindungen nachher 
wirklich auf dieser Fläche unterbringen. Mehrere Sensoren machen bei 
dieser Größe vermutlich auch gar keinen Sinn. Bei 10x10 hingegen sieht 
das schon wieder anders aus.

Tim R. schrieb:
> Ok etwas unglücklich ausgedrückt. natürlich wird eine extra beschaltung
> für die leds nötig. wie im schaltplan zu sehen hatte ich erstmal an
> transistoren zum schalten gedacht und dann sollte das ja kein problem
> darstellen, oder?

Prinzipiell natürlich möglich. Erfordert aber alles extra Beschaltung. 
Ich persönlich mag bipolare Transitoren ala BC337 nicht besonders für 
diesen Zweck. FETs sind mir da lieber. Außerdem hast du noch die 
Basistransistoren vergessen ;).

Tim R. schrieb:
> led-treiber per i2c oder was schwebt dir vor? der benötigt eben auch nur
> wieder extra platz und erzeugt kosten. aber an sich vereinfacht das
> natürlich eine menge

Die gibt es in verschiedenen Ausführungen. Gibt auch echte 
Einpin-Lösungen, die implizit über das Timing gesteuert werden. Klar, 
ein bisschen teurer wird es (im Vergleich zu Widerständen + BC337). 
Platztechnisch könnte das aber sogar günstiger sein. Da wir mit der 
Diodenlösungen aber 2 Euro sparen (im Vergleich zu IS471), haben wir in 
dieser Beziehung etwas mehr Spielraum. Habe mir noch nicht alle Optionen 
angesehen, aber die gehen so in etwa bei 50 Cent los, und sollten 
hoffentlich für unter 1 Euro zu bekommen sein.

Tendenziell haben wir auch den Vorteil, dass wir eine entsprechende 
Sammelbestellung organisieren könnten. Da wohl jeder mindestens 100+ 
Module braucht, kommen wir da schnell in einen "günstigeren" Bereich.

Tim R. schrieb:
> im datenblatt findet man leider keine distanzen zu dem sensor... aber
> wenn du meinst e funktioniert gut, kannst du gerne mal ein video oder
> ähnliches hochladen, wo die masse den effekt auch beobachten kann :-)

Sind ja auch keine Distanzsensoren, sondern IR-Photodioden. Diese als 
Touch-"Sensor" zu verwenden ist im Prinzip nur eine "kreative" 
Anwendung. Die mögliche Entfernung hängt von vielen Faktoren ab - unter 
anderem wie stark die IR-LED ist und wie stark das Glas reflektiert.

Bin mit dem Ergebnis bei einem einzigen Pixel zufrieden. Werde sehen, 
dass ich das bis zum nächsten Wochenende zu einer 3x3 Konstruktion 
ausbaue und auch vernünftig per Mikrocontroller auswerte. Derzeit fehlen 
z.B. noch die RGB-LEDs, aber die sollten laut Datenblatt der 
IR-Photodiode kein allzugroßen Effekt haben. Komme dann hoffentlich auch 
dazu ein Demo-Video anzufertigen.

Unabhängig davon sollten wir uns aber trotzdem auf einige Dinge 
festlegen, bevor wir wirklich weiter machen können:

- Größe (Länge, Breite, Höhe) eines Pixels -> Mein Vorschlag: 5x5x3 cm
- Maximale Anzahl von Pixeln -> Mein Vorschlag: 20x20 wären schön, je 
nach Bus wird das aber "schwierig"
- Typ und Stärke der Oberfläche: Das hat vermutlich den größten 
Einfluss. Werde zusehen, dass ich ein paar Muster bestelle, um das dann 
auch testen zu können.

Mit freundlichen Grüßen,
Karol Babioch

von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> Nichts was man nicht für 1/5 des Preises selbst bauen könnte, zumindest
> für unsere Ansprüche ...

das ist richtig. wie reagiert dein sensor bei verschiedenen 
umgebungshelligkeiten? der is471 nutzt ja extra filter, was ich sehr gut 
fand

> Wir müssten uns einfach auf die Größe eines Pixels festlegen. Habe jetzt
> zuletzt mit 5x5x3 cm gearbeitet, finde das fast ein wenig klein, bzw.
> bin mir nicht sicher, ob wir die Elektronik + Steckverbindungen nachher
> wirklich auf dieser Fläche unterbringen. Mehrere Sensoren machen bei
> dieser Größe vermutlich auch gar keinen Sinn. Bei 10x10 hingegen sieht
> das schon wieder anders aus.

stimmt das könnte ein problem werden, bei einem 5x5 feld. evtl. doch ein 
10x10cm feld?! so lässt sich mit einer 10er reihe auch ein tisch von 
einem meter länge gut erreichen :-) bei 5x5cm feldern müssten schon 
knapp 20 pixel in eine reihe (+overhead vom gerüst)


> Prinzipiell natürlich möglich. Erfordert aber alles extra Beschaltung.
> Ich persönlich mag bipolare Transitoren ala BC337 nicht besonders für
> diesen Zweck. FETs sind mir da lieber. Außerdem hast du noch die
> Basistransistoren vergessen ;).

könntest du mir näher erläutern was du mit basistransistor meinst?


> Tendenziell haben wir auch den Vorteil, dass wir eine entsprechende
> Sammelbestellung organisieren könnten. Da wohl jeder mindestens 100+
> Module braucht, kommen wir da schnell in einen "günstigeren" Bereich.

grundsätzlich ja! müssten sich nur zum gegebenen zeitpunkt genügend 
einfinden und genau da sehe ich das problem ;-) bisher ist die resonanz 
zum wirklichen umsetzen/basteln gering..

> Sind ja auch keine Distanzsensoren, sondern IR-Photodioden. Diese als
> Touch-"Sensor" zu verwenden ist im Prinzip nur eine "kreative"
> Anwendung. Die mögliche Entfernung hängt von vielen Faktoren ab - unter
> anderem wie stark die IR-LED ist und wie stark das Glas reflektiert.
>
> Bin mit dem Ergebnis bei einem einzigen Pixel zufrieden. Werde sehen,
> dass ich das bis zum nächsten Wochenende zu einer 3x3 Konstruktion
> ausbaue und auch vernünftig per Mikrocontroller auswerte. Derzeit fehlen
> z.B. noch die RGB-LEDs, aber die sollten laut Datenblatt der
> IR-Photodiode kein allzugroßen Effekt haben. Komme dann hoffentlich auch
> dazu ein Demo-Video anzufertigen.

welche RGBs willst du benutzen?!

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> das ist richtig. wie reagiert dein sensor bei verschiedenen
> umgebungshelligkeiten?

Umgebungslicht hat natürlich einen Einfluss, sofern man sich das am 
Oszilloskop ansieht. Hält sich aber in Grenzen und lässt sich Software 
eliminieren.

Tim R. schrieb:
> der is471 nutzt ja extra filter, was ich sehr gut
> fand

Der IS471 ist ja auch eine All-in-One Lösung, die vieles übernimmt, was 
bei uns der Mikrocontroller übernimmt.

Tim R. schrieb:
> könntest du mir näher erläutern was du mit basistransistor meinst?

Sorry, meinte natürlich Basis-Widerstand.

Tim R. schrieb:
> grundsätzlich ja! müssten sich nur zum gegebenen zeitpunkt genügend
> einfinden und genau da sehe ich das problem ;-) bisher ist die resonanz
> zum wirklichen umsetzen/basteln gering..

Mal sehen, sofern wir soweit kommen, finden sich bestimmt ein paar. Habe 
im Bekanntenkreis schon einige Interessanten. Also auf 1000+ sollten wir 
leicht und locker kommen, und da lässt sich in Bezug auf Preise und 
Assemblierung eventuell schon etwas machen.

Tim R. schrieb:
> welche RGBs willst du benutzen?!

Da habe ich mir noch nicht so besonders viele Gedanken gemacht. Für den 
Testaufbau ist das ja ziemlich egal. Nachher muss man sich das mal 
genauer ansehen. Die Frage ist, ob wir auf SMD LEDs setzen, oder auf 
klassische Steckbauteile. Die IR LED und Photodiode sind gibt es meines 
Wissens nach z.B. nur in einer 3mm Steckvariante, insofern kommen wir um 
ein wenig Handarbeit nicht herum.

Im Prinzip ist mir das aber egal. Ich hätte nur gern eine vernünftige 
Helligkeit, d.h. das es auch bei Tageslicht "sichtbar" ist (deswegen 
auch LED Treiber, weil die das einfacher machen). Auf Multiplexing & Co. 
würde ich daher gerne verzichten (wobei das mit unserer Modullösung 
nicht notwendig ist). Bei 5x5x3 sollte auch eine einzige LED ausreichen, 
bei größeren Pixeln könnten ggf. mehrere notwendig werden.

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Conny G. schrieb:
> Markus M. schrieb:
>> Auch finde ich, sollte der ganze Aufbau möglichst flach realisiert
>> werden. Wer will schon einen Tisch, wo unter der Platte ein 20cm Kasten
>> ist o.ä.
>> Daraus folgt m.E. wir benötigen einen IR Phototransistor mit möglichst
>> großem Erfassungswinkel und möglichst selektivem Erfassungsbereich bzgl.
>> der Wellenlänge (ansonsten Beeinflussung durch die LEDs bzw. Fremdlicht)
>> und entsprechende IR LEDs (passende Wellenlänge zu dem IR
>> Phototransistor).
>
> Das mit dem breiten Erfassungswinkel ist der falsche Ansatz. Sonst kann
> man zwei Zellen nebeneinander nicht unterscheiden, wenn es keine scharfe
> Zellenabgrenzung gibt.
> Der Strahl muss aus jeder Zelle relativ steil herauskommen, dazu braucht
> es ein Stück Abstand von der Oberfläche.
> Kann man selber ausrechnen: bei ca. 7x7cm Zellengröße (60x60 Tisch als
> eine Größenoption mit 10x10 Zellen) und nur 90 Grad Abstrahlwinkel wird
> eine Hand bei einem Abstand von 5cm noch in der Mitte der Nachbarzelle
> erfasst - das nimmt dem Konzept jede "Schärfe" in der Erkennung.
> Wenn man steileren Winkel will, kommt man um eine gewisse Aufbauhöhe,
> wie 10cm, nicht herum (wenn man mit 1 IR-LED arbeiten will. Mir mehreren
> kann man auch welche mit schmalem Winkel nehmen oder sie in ein Röhrchen
> stecken. Aber mehrere ist m.E. bei 100 Zellen keine Optione).

Interessiert keinen? :-)

Das dürfte sich bemerkbar machen sobald man eine 3x3 Matrix versucht, 
dann wird es sich zeigen, dass der mittlere Pixel sehr schwierig alleine 
zu touchen ist, wenn der Abstrahl-/Erfassungwinkel zu breit ist.
Es dürfte dann so sein, dass bei Faust von oben, 5cm über der Fläche 
alle 9 Pixel ansprechen und das finde ich nicht so optimal.

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Tim R. schrieb:
>> das ist richtig. wie reagiert dein sensor bei verschiedenen
>> umgebungshelligkeiten?
>
> Umgebungslicht hat natürlich einen Einfluss, sofern man sich das am
> Oszilloskop ansieht. Hält sich aber in Grenzen und lässt sich Software
> eliminieren.

Misst Du schon gepulst, also wie die TSOP-IR-Empfänger?
Trägerfrequenz von 20/30 kHz abstrahlen und nur auf die reagieren?
Oder IR-Puls mit 10 kHz, Abtastung mit 20 kHz und je eine Messung mit 
"IR On" und eine Messung mit IR Off und dann Differenz als Maß?

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
>> Wir müssten uns einfach auf die Größe eines Pixels festlegen. Habe jetzt
>> zuletzt mit 5x5x3 cm gearbeitet, finde das fast ein wenig klein, bzw.
>> bin mir nicht sicher, ob wir die Elektronik + Steckverbindungen nachher
>> wirklich auf dieser Fläche unterbringen. Mehrere Sensoren machen bei
>> dieser Größe vermutlich auch gar keinen Sinn. Bei 10x10 hingegen sieht
>> das schon wieder anders aus.
>
> stimmt das könnte ein problem werden, bei einem 5x5 feld. evtl. doch ein
> 10x10cm feld?! so lässt sich mit einer 10er reihe auch ein tisch von
> einem meter länge gut erreichen :-) bei 5x5cm feldern müssten schon
> knapp 20 pixel in eine reihe (+overhead vom gerüst)
>

Ich fände einen 60x60 Couchtisch mit 10x10 Pixeln eine pragmatische 
Basis.
Dann ist jeder Pixel 6x6cm gross und man kann auch andere Tischgrößen 
fabrizieren, 120x60, 72x72, was auch immer.

Die Tiefe der Pixel würde ich 10cm machen um einen möglichst engen 
Messbereich eines Pixels zu haben.
Für eine schöne Ausleuchtung des 6x6 Vierecks braucht es auch mehr als 
3cm, würde sagen, dass dafür 5-6cm reichen könnten.
Aber der dominante Faktor für die Tiefe ist m.E. die Touch-Detektion.

von Conny G. (conny_g)



Lesenswert?

Conny G. schrieb:
> Die Tiefe der Pixel würde ich 10cm machen um einen möglichst engen
> Messbereich eines Pixels zu haben.
> Für eine schöne Ausleuchtung des 6x6 Vierecks braucht es auch mehr als
> 3cm, würde sagen, dass dafür 5-6cm reichen könnten.
> Aber der dominante Faktor für die Tiefe ist m.E. die Touch-Detektion.

Hier mal als quick & dirty Skizze, einmal 3cm Tiefe, einmal 10cm.

Man sieht, dass bei den 3cm Tiefe der Zellen ein Gegenstand von 4cm 
Durchmesser in einer Höhe von 5/6cm über dem Tisch von 3 Zellen 
nebeneinander voll erfasst wird.
Natürlich wird wg. des etwas längeren Weges von der Seite das Signal 
"links" und "recht" etwas schwächer sein - aber ich glaube nicht, dass 
man das unterscheiden kann, es wird stark genug sein.

Bei einer Tiefe von 10cm ergibt sich das Problem nicht, da der 
Messwinkel grundsätzlich viel schmaler ist.
Derselbe Gegenstand an derselben Position wird garantiert nicht erkannt.
So finde ich das optimal.

Nebenbei ist bei dieser 100mm-Tiefe-Konstellation die Fläche oben auch 
sicher optimal von der RGB-LED ausgeleuchtet.
Das wird bei den 30mm nicht so sein.
Und das ist nicht "gemeint" oder "geraten", sondern ich weiss es von 
LED-hinterleuchteten Panelen von 40x40cm, die ich vor ein paar Jahren 
mal gemacht habe.
Der Abstand der LEDs dahinter war ein paar cm, es brauchte einen Abstand 
von mindestens 6/7 cm um vorne beim gefärbten Plexi (pink) keine 
einzelnen LEDs mehr erkennen zu können.

Zur Illustration ein Foto der Panele: der Abstand zwischen vertikalen, 
nebeneinander angebrachten LED_Streifen zum Plexiglas ist 7cm, man sieht 
immer noch ein klein wenig die Kontouren der LED-Streifen dahinter.
Klar, dass das mit weniger Abstand weniger gut ausgeleuchtet wäre.

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Interessiert keinen? :-)
>
> Das dürfte sich bemerkbar machen sobald man eine 3x3 Matrix versucht,
> dann wird es sich zeigen, dass der mittlere Pixel sehr schwierig alleine
> zu touchen ist, wenn der Abstrahl-/Erfassungwinkel zu breit ist.

Mir ist natürlich vollkommen klar, was du meinst, bzw. das es rein 
geometrisch bedingt besser wäre die Konstruktion "tiefer" zu machen. 
Andererseits schaut halt "tiefer" unschöner aus ;).

Ich bin nach wie vor der Meinung, dass man diese Probleme aber mittels 
Software in den Griff bekommen kann. Die einzelnen Pixel sind ja nicht 
synchronisiert, d.h. der Puls kommt und die damit einhergehende Messung 
findet zu verschiedenen Zeit statt. Darüber hinaus könnte man z.B. auch 
über verschiedene Pulsfrequenzen für benachbarte Zellen nachdenken. 
Letztendlich könnte man die Geometrie sogar zu seinem Vorteil ausnutzen 
und die Empfindlichkeit erhöhen, indem man die Signale der benachbarten 
Zellen mit interpretiert. Das würde natürlich eine Kommunikation der 
einzelnen Pixel miteinander erfordern und dürfte auch algorithmisch 
nicht ganz einfach sein, ist aber auch nicht ausgeschlossen.

Letztendlich hilft hier nur ein Versuchsaufbau. Den werde ich in 
nächster Zeit anfertigen.

Conny G. schrieb:
> Nebenbei ist bei dieser 100mm-Tiefe-Konstellation die Fläche oben auch
> sicher optimal von der RGB-LED ausgeleuchtet.
> Das wird bei den 30mm nicht so sein.
> Und das ist nicht "gemeint" oder "geraten", sondern ich weiss es von
> LED-hinterleuchteten Panelen von 40x40cm, die ich vor ein paar Jahren
> mal gemacht habe.

Dem halte ich z.B. die gesammelten Erfahrungen mit der "Wordclock" 
entgegen. Hier beträgt der Abstand zwischen LED und "Anzeigefläche" etwa 
2 - 2,5 cm und die LEDs lassen sich nicht erkennen. Ist alles eine Frage 
des verwendeten Diffusors (bzw. in unserem Fall des verwendeten Glases). 
Auch hier geht versuchen über studieren. Bin derzeit auf der Suche nach 
günstigen Anbietern von satiniertem Glas, welches ich nachher auch in 
größerem Umfang erwerben kann. Bringt ja nichts, wenn ich das Ganze mit 
irgendwelchen Restbeständen zum Laufen bekomme, nachher aber vor dem 
Problem stehe, dass das entsprechende Glas nicht mehr aufzutreiben ist. 
Überhaupt ist das bisschen Glas für erste Tests teurer, als erwartet.

Hat hier irgendjemand Erfahrungen/Tipps? Wie stark soll das Glas sein? 
4mm scheint mir ein guter Kompromiss aus Stärke, Gewicht und Preis. Gibt 
es irgendwelche Einwände? Habe was Glas angeht sicherlich nicht die 
meiste Erfahrung, und einen Tisch habe ich auch noch nie gebaut ;). 
Letztendlich sollten wir ja alle den gleichen physikalischen Aufbau 
verwenden.

Mit freundlichen Grüßen,
Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

> Ich würde dabei bleiben. Es werden nur zwei UARTs benötigt, ein wenig
> Software...

Noch etwas zum Protokoll: Zwei UARTs bieten AVRs i.d.R. nicht, d.h. 
Bit-Banging. Bin mir um ehrlich zu sein nicht sicher, ob das mit 
Soft-PWM + Protokoll + IR-Modulierung und Auswertung alles unter einen 
Hut zu bekommen ist.

Habe mir den Wiki-Artikel jetzt mal genauer angesehen bzw. mir Gedanken 
dazu gemacht, bin mir aber in Sachen "Rückrichtung" nicht sicher wie das 
zu verstehen ist. Was genau veranlasst die Slaves dazu ihre Sensordaten 
zurückzuschicken? Und macht es wirklich Sinn die RGB Daten auslesbar zu 
machen? Normalerweise sollten die ja im Puffer des "Masters" stehen und 
bei 25 Hz Refresh-Rate ist es doch eh recht uninteressant die Daten 
auszulesen, oder?

Ansonsten frage ich mich, ob es nicht "schöner" wäre das ganze doch als 
echten Bus auszulegen und die einzelnen Pixel adressierbar zu machen. 
Damit wäre (zumindest theoretisch) auch eine Kommunikation untereinander 
möglich. Klar, es würde Overhead bedeuten, andererseits müsste man nicht 
immer alle Daten ausgeben, sondern könnte einzelne Pixel gezielt setzen 
und auslesen. Ideal wäre natürlich Unterstützung in Hardware, aber bei 
I2C kommen wir von der Geschwindigkeit und der maximalen Anzahl von 
Teilnehmern in Bedrängnis. CAN ist wahrscheinlich zu teuer, und SPI 
skaliert bei der Anzahl an Teilnehmern nicht wirklich.

Im Endeffekt denke ich hier nur laut, und es ist auch schon spät, aber 
wäre es nicht möglich das Ganze in einem "Ring" aufzubauen? Die 
einzelnen Nodes sind per UART miteinander verbunden, der Master ist 
jeweils am "Schluss", in etwa so:

Master (TX) -> Node1(RX) -> Node1(TX) -> Node2(RX) -> Node2(TX) -> ... 
-> Master (RX)

Eine echte Kommunikation untereinander ist damit nicht effizient 
möglich, aber alles andere sollte sich vereinfachen:

- Eine UART Schnittstelle pro Teilnehmer, d.h. in Hardware
- Sowohl "empfangen" als auch "senden" sind aus Sicht des Masters 
möglich
- Logik eines Teilnehmers ist einfach: Alles empfangene "untersuchen" 
und weitergeben

Wie seht ihr das? Habe ich etwas übersehen? Wird das in dieser Form 
schon irgendwo verwendet, sodass man sich auf Erfahrungen anderer 
stützen könnte?

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Interessiert keinen? :-)
>>
>> Das dürfte sich bemerkbar machen sobald man eine 3x3 Matrix versucht,
>> dann wird es sich zeigen, dass der mittlere Pixel sehr schwierig alleine
>> zu touchen ist, wenn der Abstrahl-/Erfassungwinkel zu breit ist.
>
> Mir ist natürlich vollkommen klar, was du meinst, bzw. das es rein
> geometrisch bedingt besser wäre die Konstruktion "tiefer" zu machen.
> Andererseits schaut halt "tiefer" unschöner aus ;).

Ich finde, das lässt sich im Design elegant machen.

> Ich bin nach wie vor der Meinung, dass man diese Probleme aber mittels
> Software in den Griff bekommen kann.

Das glaube ich nicht, wie soll das gehen?
In einer Zelle weiß ich ja nicht, ob die Reflexion vom Rand oder der 
Mitte kommt.
Ich könnte höchstens bei einem Signal, das ich in zwei Zellen (oder 
mehreren) empfange über die Intensität ermitteln welcher ich es zuordnen 
will. Das könnte ich aber nicht in den Zellen tun, sondern müsste es im 
Mastercontroller wie eine Kontrastverstarkung bei Pixeln rechnen.

> Die einzelnen Pixel sind ja nicht
> synchronisiert, d.h. der Puls kommt und die damit einhergehende Messung
> findet zu verschiedenen Zeit statt. Darüber hinaus könnte man z.B. auch
> über verschiedene Pulsfrequenzen für benachbarte Zellen nachdenken.

Das eliminiert aber nicht die Unschärfe durch zu großen 
Erfassungsbereich pro Zelle.

> Letztendlich könnte man die Geometrie sogar zu seinem Vorteil ausnutzen
> und die Empfindlichkeit erhöhen, indem man die Signale der benachbarten
> Zellen mit interpretiert. Das würde natürlich eine Kommunikation der
> einzelnen Pixel miteinander erfordern und dürfte auch algorithmisch
> nicht ganz einfach sein, ist aber auch nicht ausgeschlossen.

S.o., wenn man es im Master als Kontrastverstärkung macht gar nicht so 
kompliziert.

> Letztendlich hilft hier nur ein Versuchsaufbau. Den werde ich in
> nächster Zeit anfertigen.

Der beantwortet bestimmt diese Fragen am Besten.

> Conny G. schrieb:
>> Nebenbei ist bei dieser 100mm-Tiefe-Konstellation die Fläche oben auch
>> sicher optimal von der RGB-LED ausgeleuchtet.
>> Das wird bei den 30mm nicht so sein.
>> Und das ist nicht "gemeint" oder "geraten", sondern ich weiss es von
>> LED-hinterleuchteten Panelen von 40x40cm, die ich vor ein paar Jahren
>> mal gemacht habe.
>
> Dem halte ich z.B. die gesammelten Erfahrungen mit der "Wordclock"
> entgegen. Hier beträgt der Abstand zwischen LED und "Anzeigefläche" etwa
> 2 - 2,5 cm und die LEDs lassen sich nicht erkennen.

Kann ich nicht beurteilen.

> Ist alles eine Frage
> des verwendeten Diffusors (bzw. in unserem Fall des verwendeten Glases).

Es gibt 2 Faktoren, die die Optik bestimmen:
A) wie groß ist der Lichtkegel, der auf den Diffusor auftrifft.
B) wieviel verteilt der Diffusor das Licht in seinem Körper

Hier ist ein sehr wesentlicher Unterschied zwischen Plexiglas und 
Satiniertem Glas:
Plexiglas ist durch und durch milchig und verteilt deshalb das Licht 
sehr stark im Körper.
Bei Glas ist das nicht unbedingt so, wenn es nur auf der Oberfläche 
aufgeraut ist, dann sehe ich den Lichtkegel 1:1 so, wie er auftrifft.
Nur wenn es wirklich komplett durchgefärbt ist, verteilt es auch 
innerhalb des Glases.

Will sagen: der Abstand kann bei weißem Plexiglas etwas knapper sein als
oberflächlich Satiniertem Glas, weil es "aktiv" verteilt.
Bei Glas ist demnach wichtig, dass der Lichtkegel der LED das Glas 
vollflächig beleuchtet.

> Auch hier geht versuchen über studieren. Bin derzeit auf der Suche nach
> günstigen Anbietern von satiniertem Glas, welches ich nachher auch in
> größerem Umfang erwerben kann. Bringt ja nichts, wenn ich das Ganze mit
> irgendwelchen Restbeständen zum Laufen bekomme, nachher aber vor dem
> Problem stehe, dass das entsprechende Glas nicht mehr aufzutreiben ist.
> Überhaupt ist das bisschen Glas für erste Tests teurer, als erwartet.
>
> Hat hier irgendjemand Erfahrungen/Tipps? Wie stark soll das Glas sein?
> 4mm scheint mir ein guter Kompromiss aus Stärke, Gewicht und Preis. Gibt
> es irgendwelche Einwände? Habe was Glas angeht sicherlich nicht die
> meiste Erfahrung, und einen Tisch habe ich auch noch nie gebaut ;).
> Letztendlich sollten wir ja alle den gleichen physikalischen Aufbau
> verwenden.

Messe gerade mal meinen Wohnzimmertisch. 10mm. Das fände ich auch 
wichtig, denn die Platte muss alles aushalten, was da so drauf passiert. 
Etwas kräftiger abgestellte Maßkrüge, was weiß ich. (Bin in Bayern 
beheimated :-) ) Vielleicht geht ein bisschen weniger, wenn es ein 
kleiner Tisch (60x60) ist, aber weniger würde ich nicht machen wollen.
4mm ist eher Fensterglas und hält das m.E. nicht her.

>
> Mit freundlichen Grüßen,
> Karol Babioch

Lg,
Conny

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
>> Ich würde dabei bleiben. Es werden nur zwei UARTs benötigt, ein wenig
>> Software...
>
> Noch etwas zum Protokoll: Zwei UARTs bieten AVRs i.d.R. nicht, d.h.
> Bit-Banging. Bin mir um ehrlich zu sein nicht sicher, ob das mit
> Soft-PWM + Protokoll + IR-Modulierung und Auswertung alles unter einen
> Hut zu bekommen ist.
>
> Habe mir den Wiki-Artikel jetzt mal genauer angesehen bzw. mir Gedanken
> dazu gemacht, bin mir aber in Sachen "Rückrichtung" nicht sicher wie das
> zu verstehen ist. Was genau veranlasst die Slaves dazu ihre Sensordaten
> zurückzuschicken?

Das zurückschicken wird nicht veranlasst, sie werden wie bei SPI beim 
Senden gleichzeitig zurückgeschickt.

> Und macht es wirklich Sinn die RGB Daten auslesbar zu
> machen?

Die RGB-Daten werden nicht zurückgeschickt, nur die Touchdaten. Aber 
weil natürlich ebensoviele Bits zurück müssen als hin sind es je 24 Bit 
pro Node, auch wenn 8 Bit reichen würden.

>Normalerweise sollten die ja im Puffer des "Masters" stehen und
> bei 25 Hz Refresh-Rate ist es doch eh recht uninteressant die Daten
> auszulesen, oder?
>
> Ansonsten frage ich mich, ob es nicht "schöner" wäre das ganze doch als
> echten Bus auszulegen und die einzelnen Pixel adressierbar zu machen.

Schöner ja, aber deutlich aufwändiger. Und m.e. braucht man die 
individuelle Adressierung nicht, also dann lieber nur einen 3-Draht-Bus, 
dann ist die Verkabelung von 100 Nodes so einfach wie möglich.

> Damit wäre (zumindest theoretisch) auch eine Kommunikation untereinander
> möglich. Klar, es würde Overhead bedeuten, andererseits müsste man nicht
> immer alle Daten ausgeben, sondern könnte einzelne Pixel gezielt setzen
> und auslesen. Ideal wäre natürlich Unterstützung in Hardware, aber bei
> I2C kommen wir von der Geschwindigkeit und der maximalen Anzahl von
> Teilnehmern in Bedrängnis. CAN ist wahrscheinlich zu teuer, und SPI
> skaliert bei der Anzahl an Teilnehmern nicht wirklich.
>
> Im Endeffekt denke ich hier nur laut, und es ist auch schon spät, aber
> wäre es nicht möglich das Ganze in einem "Ring" aufzubauen? Die
> einzelnen Nodes sind per UART miteinander verbunden, der Master ist
> jeweils am "Schluss", in etwa so:
>
> Master (TX) -> Node1(RX) -> Node1(TX) -> Node2(RX) -> Node2(TX) -> ...
> -> Master (RX)

Wenn das wirklich klappt, könnte ich mir das auch vorstellen. Es hätte 
den Vorteil, dass es keine Leitung für einen Rückkanal braucht.
Ich hab allerdings mal versucht den Ring zu durchdenken und es sah so 
aus als hakt das. Jetzt gerade denke ich aber, es könnte gehen, saß da 
evtl dem falschen Modell auf. Gerade aber keinen frischen Kopf mehr das 
durchzudeklinieren.

> Eine echte Kommunikation untereinander ist damit nicht effizient
> möglich,

Untereinander halte ich für zu kompliziert und unnötig. Übergeordnete 
Entscheidungen, die über einen Node hinausgehen sollte der Master 
treffen.

> aber alles andere sollte sich vereinfachen:
>
> - Eine UART Schnittstelle pro Teilnehmer, d.h. in Hardware
> - Sowohl "empfangen" als auch "senden" sind aus Sicht des Masters
> möglich
> - Logik eines Teilnehmers ist einfach: Alles empfangene "untersuchen"
> und weitergeben
>
> Wie seht ihr das? Habe ich etwas übersehen? Wird das in dieser Form
> schon irgendwo verwendet, sodass man sich auf Erfahrungen anderer
> stützen könnte?
>
> Mit freundlichen Grüßen,
> Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Ich finde, das lässt sich im Design elegant machen.

Das liegt dann wohl im Auge des Betrachters. Dünn ist aber deswegen 
besser, weil man damit auch "dicke" Tische bauen kann ;). Andersherum 
wird es schwieriger.

Conny G. schrieb:
>> Ich bin nach wie vor der Meinung, dass man diese Probleme aber mittels
>> Software in den Griff bekommen kann.
>
> Das glaube ich nicht, wie soll das gehen?

Ich dachte in erster Linie daran, dass die einzelnen Zellen zu 
verschiedenen Zeitpunkten ihre Messungen durchführen. Die Nachbarzelle 
kann ja nur erfasst werden, wenn sie auch aktiv ist. Die Idee ist die 
eigene IR-LED nur kurz zu aktivieren und dann die Messung vornehmen. Die 
einzelnen Zellen laufen ja nicht synchron. Hab das Timingtechnisch aber 
noch nicht durchgerechnet geschweige denn ausprobiert.

Conny G. schrieb:
> Will sagen: der Abstand kann bei weißem Plexiglas etwas knapper sein als
> oberflächlich Satiniertem Glas, weil es "aktiv" verteilt.

Ja, mit Glas hab ich in diesem Bereich keine Erfahrungen, bekomme ich ja 
dann bald zu sehen.

Conny G. schrieb:
> Messe gerade mal meinen Wohnzimmertisch. 10mm. Das fände ich auch
> wichtig, denn die Platte muss alles aushalten, was da so drauf passiert.

Sehe ich auch so, daher fragte ich ja. Wobei dicker natürlich in unserem 
Fall ungünstiger ist, weil mehr Reflexionen und weniger Durchlass ...

Was in unserem Fall ggf. dünneres Glas ermöglichen könnte ist die 
Unterteilung der Pixel. Wenn man das als tragende Konstruktion auslegt, 
dann muss die Glasplatte selbst nicht mehr soviel aushalten. Bin aber 
kein Ingenieur, diese Erkenntnis beruht also nur auf meinem laienhaften 
Physikverständnis.

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Conny G. schrieb:
> Messe gerade mal meinen Wohnzimmertisch. 10mm. Das fände ich auch
> wichtig, denn die Platte muss alles aushalten, was da so drauf passiert.
> Etwas kräftiger abgestellte Maßkrüge, was weiß ich. (Bin in Bayern
> beheimated :-) ) Vielleicht geht ein bisschen weniger,

hier wollte ich eigentlich noch schreiben: "vielleicht 8mm"

> wenn es ein
> kleiner Tisch (60x60) ist, aber weniger würde ich nicht machen wollen.
> 4mm ist eher Fensterglas und hält das m.E. nicht her.

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Ich dachte in erster Linie daran, dass die einzelnen Zellen zu
> verschiedenen Zeitpunkten ihre Messungen durchführen. Die Nachbarzelle
> kann ja nur erfasst werden, wenn sie auch aktiv ist. Die Idee ist die
> eigene IR-LED nur kurz zu aktivieren und dann die Messung vornehmen. Die
> einzelnen Zellen laufen ja nicht synchron. Hab das Timingtechnisch aber
> noch nicht durchgerechnet geschweige denn ausprobiert.

Jetzt weiß ich wo wir uns missverstehen.
Ich meine nicht die Detektion des IR von Zelle links durch Zelle Mitte. 
Sondern, dass jedes "Auge", jede Zelle einen weiten Erfassungbereich hat 
und deshalb ein Gegenstand von mehr als einer Zelle gesehen wird, und 
zwar mit dem "eigenen" IR.
In dem von mir beschriebenen Szenario (Skizze Abstand 3cm) wird der 
Gegenstand über Zelle Mitte gleich von 9 Zellen gesehen und zwar mit dem 
eigenen IR. Und keine der Zellen kann unterscheiden, ob es Randbereich 
oder Mitte ist. Also ist schlicht die Erkennung "unscharf", aus einem 
"Pixel" werden 9.
Das Problem lässt sich also nicht durch andere Abtastfrequenz oder 
asynchrone Abtastung lösen, denn trotzdem würden Zelle links und rechts 
auch den Gegenstand sehen.

Lg,
Conny

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Wenn das wirklich klappt, könnte ich mir das auch vorstellen. Es hätte
> den Vorteil, dass es keine Leitung für einen Rückkanal braucht.
> Ich hab allerdings mal versucht den Ring zu durchdenken und es sah so
> aus als hakt das. Jetzt gerade denke ich aber, es könnte gehen, saß da
> evtl dem falschen Modell auf. Gerade aber keinen frischen Kopf mehr das
> durchzudeklinieren.

Mir scheint, dass auch fast zu einfach zu sein, aber ich habe bisher 
noch keinen Grund gefunden, warum das nicht funktionieren sollte. Würde 
vorschlagen, wir machen uns da beide nochmal Gedanken die nächsten Tage 
über ...

Interessant wäre allerdings was sich aus einem UART (ohne Quarz?) so 
herausholen lässt. Ich habe bei AVRs bisher nur mit maximal 9600 Baud 
gearbeitet, und selbst hier wird oft ein Quarz empfohlen. Der würde aber 
wiederum zwei Pins kosten :(. Gibt es hierzu bereits Erfahrungswerte?

Interessanterweise sagt das Datenblatt nämlich (ATmega168), dass bei 8 
MHz Oszillatorfrequenz und einem Wert von 1 im Baud Rate Register und 
U2X = 1 eine Übertragungsrate von 1 Mbps möglich ist (bei 0% relativem 
Fehler). Das sollte in unserem Fall ja ausreichend sein ;).

Conny G. schrieb:
> Untereinander halte ich für zu kompliziert und unnötig. Übergeordnete
> Entscheidungen, die über einen Node hinausgehen sollte der Master
> treffen.

Ok, das Modell können wir natürlich auch verfolgen. Macht wahrscheinlich 
sogar mehr Sinn, weil dadurch die Nodes einfacher/billiger sind und der 
Master sowieso genug Power hat. Habe hier wohl einen etwas zu komplexen 
Ansatz verfolgt. Ein Grund mehr für den oben vorgeschlagenen Ring ;).

Mit freundlichen Grüßen,
Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Jetzt weiß ich wo wir uns missverstehen.

Ja, in der Tat. Deine Sorge der Erkennung über anderen Zellen hängt in 
erster Linie aber wiederum von der Höhe des Gegenstandes über der 
Glasplatte ab. Ich hätte schon gedacht, dass man die Glasplatte (nahezu) 
berühren soll, insofern sind die o.g. 60mm fast ein bisschen hoch (je 
nachdem wie dick die Hände natürlich sind ;)).

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Messe gerade mal meinen Wohnzimmertisch. 10mm. Das fände ich auch
>> wichtig, denn die Platte muss alles aushalten, was da so drauf passiert.
>
> Sehe ich auch so, daher fragte ich ja. Wobei dicker natürlich in unserem
> Fall ungünstiger ist, weil mehr Reflexionen und weniger Durchlass ...

Reflexion findet nur an den beiden Grenzflächen des Glases statt, also 
hat die Dicke darauf keinen Einfluss.
Beim Durchlass hängt es davon ab, ob es massiv durchgefärbtes Milchglas 
ist oder oberflächlich satiniertes Glas.
Das spielt dann auch mit der nachfolgende Sache zusammen:

> Was in unserem Fall ggf. dünneres Glas ermöglichen könnte ist die
> Unterteilung der Pixel. Wenn man das als tragende Konstruktion auslegt,
> dann muss die Glasplatte selbst nicht mehr soviel aushalten. Bin aber
> kein Ingenieur, diese Erkenntnis beruht also nur auf meinem laienhaften
> Physikverständnis.

Das stimmt, dass die Unterkonstruktion es möglich machen könnte, das 
Glas etwas dünner zu wählen.
Im Prinzip ist die Dicke des Glases nur dann entscheidend für den 
Gesamtaufbau, wenn es entscheidend für die Diffusion der RGB-LED ist.

Ich würde aber sowieso einen größeren Abstand (10cm) für wichtig 
ansehen.
In diesem Fall ist die Dicke des Glas irrelevant und man könnte zum 
Vorteil des Durchlasses ein einseitig unten oberflächlich satiniertes 
Glas verwenden.
Das hätte unten auch wenig Spiegelung, maximalen Durchlass, weil sonst 
reines Glas.

Ansonsten ist noch der Haptik-Faktor für manchen ein Kriterium - ich 
finde den Klang eines 10mm-Glastisches beim Abstellen eines Glases 
wesentlich angenehmer (dumpfes "Tong") als bei 4mm (helles "Pling") - 
schon deshalb wäre ich für ein 8-10mm Glas.

von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Zwei UARTs bieten AVRs i.d.R. nicht

Gibt es durchaus. Bei den kleinen ist der ATtiny841 mit zwei UARTs 
interessant.

Conny G. schrieb:
> Ich meine nicht die Detektion des IR von Zelle links durch Zelle Mitte.
> Sondern, dass jedes "Auge", jede Zelle einen weiten Erfassungbereich hat
> und deshalb ein Gegenstand von mehr als einer Zelle gesehen wird, und
> zwar mit dem "eigenen" IR.

Legt man ein 3x3-Raster über den Tisch und prüft man in neun Zyklen in 
jedem Raster je ein Feld, dann hat man immer zwei inaktive Felder 
zwischen zwei aktiven Feldern. Da kann garnichts schiefgehen.

von Karol B. (johnpatcher)


Lesenswert?

Karol Babioch schrieb:
> Interessant wäre allerdings was sich aus einem UART (ohne Quarz?) so
> herausholen lässt. Ich habe bei AVRs bisher nur mit maximal 9600 Baud
> gearbeitet, und selbst hier wird oft ein Quarz empfohlen. Der würde aber
> wiederum zwei Pins kosten :(. Gibt es hierzu bereits Erfahrungswerte?

Übrigens: Die kleinen 8 Pin AVRs (bis einschließlich ATtiny85 bieten gar 
kein echtes UART Modul, sondern nur USI. Damit lassen sich laut App Note 
"AVR307: Half Duplex UART Using the USI Module" selbst bei 14.75MHz nur 
230.4 kbps erreichen.

Der nächstgrößere wäre dann der ATtiny841, der schon zwei UART Module 
bietet, dafür aber 14 Pins hat ....

Hat sich in dieser Beziehung schon jemand Gedanken gemacht? Das o.g. 
Beaglebone als Master halte ich z.B. für eine gute Lösung, aber bei den 
Nodes bin ich persönlich noch auf der Suche ...

Mit freundlichen Grüßen,
Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Konrad S. schrieb:
> Legt man ein 3x3-Raster über den Tisch und prüft man in neun Zyklen in
> jedem Raster je ein Feld, dann hat man immer zwei inaktive Felder
> zwischen zwei aktiven Feldern. Da kann garnichts schiefgehen.

Doch, Conny G. hat schon recht. Rein geometrisch bedingt, kann auch 
etwas "neben" der eigentlichen Pixelfläche detektiert werden. Das wird 
umso besser, je höher der Unterbau ist. Andererseits kann es auch bei 
einem höheren Unterbau und ungünstigen Reflexionen an der Seitenwand zu 
einem solchen Effekt kommen.

Ideal wäre natürlich eine Laufzeiterkennung. Das wird aber bei 
Lichtgeschwindigkeit und unserem Ziel, die Module möglichst billig zu 
halten, schwierig ;).

Hier hilft nur eines: Ausprobieren und sehen wie empfindlich das Ganze 
letztendlich reagiert. Ich habe bei ersten Tests z.B. festgestellt, dass 
Haut gar nicht so gut reflektiert, insofern dürfte eine "seitlich" 
angestrahlte Hand weit weniger problematisch sein, als ein idealisierter 
Totalreflektor.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Doch, Conny G. hat schon recht.

Nein. Beispiel:

  | A | B | C | D | E | F | G | H | I | J |
--+---+---+---+---+---+---+---+---+---+---+--
0 | a | b | c | a | b | c | a | b | c | a | 0
--+---+---+---+---+---+---+---+---+---+---+--
1 | d | e | f | d | e | f | d | e | f | d | 1
--+---+---+---+---+---+---+---+---+---+---+--
2 | g | h | i | g | h | i | g | h | i | g | 2
--+---+---+---+---+---+---+---+---+---+---+--
3 | a | b | c | a | b | c | a | b | c | a | 3
--+---+---+---+---+---+---+---+---+---+---+--
4 | d | e | f | d | e | f | d | e | f | d | 4
--+---+---+---+---+---+---+---+---+---+---+--
5 | g | h | i | g | h | i | g | h | i | g | 5
--+---+---+---+---+---+---+---+---+---+---+--
6 | a | b | c | a | b | c | a | b | c | a | 6
--+---+---+---+---+---+---+---+---+---+---+--
7 | d | e | f | d | e | f | d | e | f | d | 7
--+---+---+---+---+---+---+---+---+---+---+--
8 | g | h | i | g | h | i | g | h | i | g | 8
--+---+---+---+---+---+---+---+---+---+---+--
9 | a | b | c | a | b | c | a | b | c | a | 9
--+---+---+---+---+---+---+---+---+---+---+--
  | A | B | C | D | E | F | G | H | I | J |

Im Zyklus a sind die mit a markierten Felder aktiv. Ihre IR-LEDs senden 
und ihre IR-Sensoren messen. Die Felder b bis i sind inaktiv. Ihre 
IR-LEDs senden nicht und ihre IR-Sensoren messen nicht.

Danach folgt Zyklus b mit aktiven b-Feldern und inaktiven Feldern a und 
c bis i.

Entsprechend folgen die Zyklen c bis i.

Was soll da schiefgehen?

von asterix (Gast)


Lesenswert?

Hui, über Nacht ist hier ja einiges geschehen ! :-)

zum Glas:
Ich habe (wie oben gepostet) ein 4mm dickes Milch-Plexiglas mit 79% LD 
im 10x10cm Format günstig erworben. Link steht oben.
Und ich bin der Meinung das 10cm tiefe zuviel sind. Zum einen möchte ich 
zum Beispiel auch keinen Gegenstand >5cm über dem Tisch erkennen, 
sondern genau auf dem Tisch oder knapp darüber (maximal 2cm). Denn das 
ist für mich Touch. Oder nicht?!
Somit denke ich wären auch keine "großen" Tiefen nötig für den Unterbau.
Und wenn der Tisch stabilen Unterbau bekommt, kann das Glas auch etwas 
dünner werden :-)

Ich werde die Tage mal meinen Aufbau noch einmal rauskramen und das 
Touch-Verhalten genau untersuchen UND den Abstand für eine LED mir 
anschauen. Ich denke Conrad hat nicht ganz unrecht, dass die LEDs 
punktuell zu sehen sind, wenn man zu nah am Glas ist.
Diese Daten können dann zumindest als Referenz für ein 4mm Plexiglas 
dienen :-) Es kann ja gern mal jemand ein 8mm Glas testen

@Karol
Deine Idee zum 1x UART "Bus" finde ich gar nicht schlecht. Nur die Idee 
(wenn ich mich Recht entsinne) war die Überlegung zur Steigerung des 
Durchsatzes -> deswegen 2xUART. Müsste man mal durchrechnen, was bei der 
Ring Topologie an Daten durchrauschen könnte und ob das einer schönen 
Framerate (mindestens 30Hz) genügt.

@Konrad.S
Wie sollen die Zyklen denn bestimmt werden. Wann weiß ein Pixel, dass 
sein Messzyklus nun ansteht? Ich verstehe nicht ganz, wie das Timing an 
dieser Stelle zusammen kommen soll. Jedoch die Idee dahinter gefällt 
mir!


grüße

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hi Karol,

Karol Babioch schrieb:
> Was haltet ihr denn von dem Vorschlag mehrere IR-Dioden (zumindest
> Photodioden für den "Empfang") zu verwenden. Damit dürften sich nämlich
> Reflexionen aus anderen Zellen erkennen lassen, weil nicht alle
> "Empfänger" (gleich stark) angestrahlt werden. Die Frage ist nur wie
> viele vertretbar sind, wie viele Pins wir übrig haben und welche
> geometrische Anordnung sich hierfür anbietet?

Man könnte auch einen TSOPxxxx nehmen. Der hat zwar nur ein digitales 
Verhalten, aber man könnte trotzdem beim Boot eine Art "Kalibrierung" 
machen, indem man die Modulationsfrequenz der Sendediode derart in den 
Grenzbereich des TSOP fährt, dass er bei Milchglas ohne Gegenstand 
darüber gerade eben nichts mehr empfängt.

> Starke LEDs + kein Treiber ist ein wenig ein Widerspruch. AVRs sind
> i.d.R. für irgendwas zwischen 20 mA und 40 mA spezifiziert.

Es ist kein Problem, bei einem AVR (egal ob Tiny oder Mega), eine 
RGB-LED direkt über Vorwiderstände anzuschließen, siehe auch:

  Beitrag "Equinox-Uhr mit 60 ATtinys"

> Meistens
> schaffen sie nicht mal das, wenn mehrere Pins gleichzeitig beansprucht
> werden. In Software kann (je nach Taktfrequenz und je nachdem wie genau
> wir den Bus implementieren) eine 8-Bit PWM  schon eine Herausforderung
> werden.

Ich benutze im obigen Projekt 3 Hardware-PWMs, die ich softwaremäßig von 
8Bit auf 16Bit aufbohre. Dadurch bekommt man wesentlich weichere 
Übergänge hin. Bei 8 Bit sind das eher Farbsprünge - gerade im unteren 
Bereich.

> Apropos flashen: Was ist aus der Bootloader Idee geworden?

Die obige Lösung benutzt einen 2-Draht-Bus, der mit SPI vergleichbar ist 
- implementiert in Software. Dieser ist skalierbar (d.h. nicht fix von 
der Anzahl der angeschlossenen AVRs) und ich kann sämtliche 
angeschlossenen µCs in einem Rutsch per Bootloader flashen. Bei einer 
max. Übertragungsrate von bis zu 100.000 Bits/sec ist das zu flashende 
Programm ruckzuck auf alle AVRs übertragen. Diesen Bus könnte man zur 
Befehlsübertragung nutzen. Ein ATmega als Steuereinheit könnte dann 
Farbprofile oder auch Animationen in den Client-AVRs aktivieren. Diesen 
ATmega könnte man dann auch per IR-Fernbedienung fernsteuern - um zum 
Beispiel die Farben zu wechseln o.ä.

Leider sind beim ATTiny85 bei Verwendung des Busses keine Pins mehr für 
IR-Sender/Empfänger mehr frei... denn eigentlich ist dieser µC sehr 
billig (bekommt man schon für 60-70ct) und hat auch jede Menge Speicher.

Okay, man könnte statt des 2-Draht-Busses auch nur einen Draht (und 
damit SW-Uart) verwenden - bei geringerer Übertragungsrate. Dann wäre 
ein weiterer Pin frei für den Sender. Wenn man dann noch den RESET-Pin 
als Datenpin verwendet, könnte man auch noch IR empfangen. Alternative 
zum ATtiny85 wäre ein ATtiny4313.... den ATtiny2313 mit seinen 2KB Flash 
finde ich zu winzig.

Gruß,

Frank

von Markus M. (adrock)


Lesenswert?

asterix schrieb:

> Ich habe (wie oben gepostet) ein 4mm dickes Milch-Plexiglas mit 79% LD
> im 10x10cm Format günstig erworben. Link steht oben.

Ja, wobei der Trend hier eher zum echten Glas mit 8-10mm geht. Das fänd' 
ich auch schicker. Wenn man schon einen 3-stelligen EUR-Betrag für die 
Elektronik ausgibt, soll das Ding ja auch vernünftig aussehen am Ende.

> Und ich bin der Meinung das 10cm tiefe zuviel sind. Zum einen möchte ich
> zum Beispiel auch keinen Gegenstand >5cm über dem Tisch erkennen,

Ja, das sehe ich auch so. Also mir würde eine Erkennung von Gegenständen 
direkt AUF der Platte (oder 5mm drüber von mir aus :-) völlig 
ausreichen.

> dienen :-) Es kann ja gern mal jemand ein 8mm Glas testen

Ja, wobei jetzt die Frage wäre mit wieviel Lichtdurchlässigkeit.

> @Konrad.S
> Wie sollen die Zyklen denn bestimmt werden. Wann weiß ein Pixel, dass
> sein Messzyklus nun ansteht? Ich verstehe nicht ganz, wie das Timing an
> dieser Stelle zusammen kommen soll. Jedoch die Idee dahinter gefällt
> mir!

Ja, ich fände eine einfache Daisy Chain mit evtl. synchronem Takt auch 
optimal. Wenn man gleichzeitig die Sensordaten zurückgibt wäre das 
perfekt. Habe da momentan noch einen kleinen Knoten im Hirn, aber ich 
denke es könnte funktionieren. Wichtig erscheint mir vorzusehen, dass 
alle Pixel/Nodes die erhaltenenen RGB-Daten zu einem gemeinsamen 
Zeitpunkt gleichzeitig übernehmen. Wenn man einen globalen Takt hat, 
könnte man dieses durch eine längere low oder high Phase signalisieren 
(so machen es die WS2811/WS2812).

Man müsste mal schauen, was die serielle Schnittstelle vom ATtiny 
hergibt. Bitbanging sollten wir vermeiden.

Grüße
Markus

von Ast E. (vis)


Lesenswert?

Die 4mm Plexiglas waren mein erster spontaner Testkauf. Ich kenn mich 
mit normalen Glas nicht aus. Gibts denn milchiges Glas, welches sich für 
unsere Zwecke eignet (bezahlbar)?! Ich dachte in der Richtung wird immer 
auf Plexi zurückgegriffen :-) Hat jemand mal einen Link?

ps:
@ Frank M.
schönes Projekt!

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Tim R. schrieb:
> Die 4mm Plexiglas waren mein erster spontaner Testkauf. Ich kenn mich
> mit normalen Glas nicht aus. Gibts denn milchiges Glas, welches sich für
> unsere Zwecke eignet (bezahlbar)?! Ich dachte in der Richtung wird immer
> auf Plexi zurückgegriffen :-) Hat jemand mal einen Link?

Plexi verkratzt leicht. Ich will ja auch was draufstellen ;-)

Ich habe schon gedacht, diesen Tisch hier für so ein Projekt zu 
verwenden, den habe ich nämlich bereits:

  http://www.ikea.com/de/de/catalog/products/30157103/

Muss ich mal schauen, wie LEDs darunter aussehen...

> ps:
> @ Frank M.
> schönes Projekt!

Danke! :-)

von Conny G. (conny_g)


Lesenswert?

Markus M. schrieb:
 ausgibt, soll das Ding ja auch vernünftig aussehen am Ende.
>
>> Und ich bin der Meinung das 10cm tiefe zuviel sind. Zum einen möchte ich
>> zum Beispiel auch keinen Gegenstand >5cm über dem Tisch erkennen,
>
> Ja, das sehe ich auch so. Also mir würde eine Erkennung von Gegenständen
> direkt AUF der Platte (oder 5mm drüber von mir aus :-) völlig
> ausreichen.

Dann wäre wichtig, dass man mit der gefundenen Lösung beides kann. Ich 
möchte Annäherung mit analogem Wert der Messung können (ermöglicht auch 
eine globale Kalibrierurung beim Master) und auch bei 10cm was messen.
Und ich will Messschärfe / Bildschärfe per Geometrie (10cm Tiefe).

Rein geometrisch kann ein Pixelmodul ja beides, wenn der Abstrahlwinkel 
der IR LED breit genug jst.
Und der muss für wenig Höhe ja sowieso eher breit sein.
Das nutzt nur für mehr Höhe die IR Abstrahlleistung nicht optimal, weil 
50% der Leistung an die (schwarze) Seitenwand gehen.
Evtl kann man 2 Varianten von LEDs im Abstrahlwinkel finden das zu 
optimieren.

Ansonsten geht es nur um Kalibrierung, ob ich bei 10cm schon was Messe 
und analog Messe oder ob ich nur 5-10mm will und digital reagiere.

von Konrad S. (maybee)


Lesenswert?

Frank M. schrieb:
> Ich benutze im obigen Projekt 3 Hardware-PWMs, die ich softwaremäßig von
> 8Bit auf 16Bit aufbohre.

> Leider sind beim ATTiny85 bei Verwendung des Busses keine Pins mehr für
> IR-Sender/Empfänger mehr frei... denn eigentlich ist dieser µC sehr
> billig (bekommt man schon für 60-70ct) und hat auch jede Menge Speicher.

Ich kann den ATtiny841 nur nochmal wärmstens empfehlen: vier 
16-Bit-Hardware-PWM und es ist immer noch ein 8-Bit-Timer übrig, zwei 
U(S)ARTs, 512 Bytes RAM. Netto-Preis bei DigiKey: 0.9748€ bei Hundert 
Stück, 0.86644€ bei Tausend Stück.
http://www.atmel.com/Images/Atmel-8495-8-bit-AVR-Microcontrollers-ATtiny441-ATtiny841_Datasheet.pdf

asterix schrieb:
> Wie sollen die Zyklen denn bestimmt werden. Wann weiß ein Pixel, dass
> sein Messzyklus nun ansteht? Ich verstehe nicht ganz, wie das Timing an
> dieser Stelle zusammen kommen soll.

Hängt davon ab, wie die Kommunikation aussieht.

Wenn genügend Pins da sind, dann könnte man ein diffenzielles Signal zur 
Synchronisation an alle µCs führen und mit dem Analog-Komparator 
auswerten. Finde ich aber verschwenderisch, zumal immer noch Leitungen 
für die Kommunikation notwendig sind.

Bei einem Bus kann darüber auch synchronisiert werden. Ich könnte mir 
RS-485 vorstellen, allerdings mit CAN-Treibern, z.B. MCP2562 oder 
TJA1051.

von Martin S. (led_martin)


Lesenswert?

Hallo allerseits,

auch wenn ich es nicht vorhabe einen solchen Tisch zu bauen, 
interessiert mich alles was mit LEDs zu tun hat sehr, und so lese ich 
hier mit. Deshalb möchte ich auch meine Gedanken zu dem Thema kundtun:

Bei den ganzen Überlegungen zum IR-Touch habt ihr eine wichtige 
Problematik bisher übersehen, ihr braucht für die Lichtverteilung 
satiniertes Glas, oder gar Milchglas, das streut auch das IR-Licht! Wer 
hat, nimmt mal eine Milschglasscheibe, schaut von der Seite drauf, von 
der die Beleuchtung kommt, und hält auf der anderen Seite die Hand 
davor, ist die Hand zu sehen? Bei satiniertem Glas vermutlich ja, wenn 
sie nahe gunug ist, bei Milchglas wohl eher nicht, vielleicht wenn die 
Hand direkt aufliegt. Mehr 'sieht' eine Photodiode auch nicht. Sprich, 
wenn es überhaupt geht, ist das Signal recht schwach. Habt ihr schon mal 
über kapazitiven Touch nachgedacht, dünnes, grobmaschiges Drahtnetz 
knapp unter der Glasfläche, so daß es keine störenden Schatten wirft. 
Auswertung lässt sich direkt mit Mikrocontroller-Pins und ein paar 
Widerständen machen (mal Googeln), dann stört auch die Nachbarzelle 
nicht mehr.

Die Idee mit dem UART-Ring ist sehr gut, und passt auch gut zu dieser 
Anwendung. Master schickt die RGB-Daten als Paket auf die Leitung, der 
Pixelcontroller nimmt sich den ersten RGB Wert weg, schickt den Rest 
weiter, und hängt hinten seine Sensordaten dran, danach dann eine Pause 
zur Synchronisation, so braucht es auch keine Adressierung der Pixel, 
und auch keinen 2. (Software-)UART. Wenn ihr UART verwenden wollt, 
solltet ihr unbedingt eien Quarz vorsehen, daß der interne Oszillator 
dafür zu ungenau ist, ist kein Gerücht. Da beim UART nur ein mal, an der 
vorderen Flanke des Startbits, synchronisiert wird, wirken sich 
Unterschiede im Takt vom Sender und Empfänger stark aus, auch wenn sich 
die gewünschte Baudrate, durch passende Teilereinstellung, genau treffen 
lässt.

Was die Bedenken wegen der Software-PWM anbelangt, da halte ich diese 
Anwendung eher für unproblematisch. Allerdings sind 8 Bit PWM zu wenig, 
im unteren Bereich ist das sehr stufig, und wenn dann noch eine 
allgemeine Dimmung für den Abend dazukommt wird es mit den Mischfarben 
schon schwierig. Und dann will man ja vielleicht noch Farbstiche der 
RGB-LEDs korrigieren. Da sollten es schon 10-12 Bit PWM-Auflösung sein, 
sollte hier aber gehen. Ich bin gerade an einem Hobby-Projekt, da 
steuert ein ATmega328 (Der große Bruder des ATmega168, vom Speicher her) 
18 RGB-LEDs, als 3x6 Matrix, also 1/6 Multiplex, 9 Software-PWM-Kanäle. 
Da erreiche ich 300 Hz 'Bildwiederholfrequenz' bei 10 Bit PWM-Auflösung. 
Und das bei Betrieb mit dem internen 8 MHz Oszillator. Da ich dort den 
UART nutze, gleiche ich den Oszillator über das OSCCAL-Register ab, habe 
am Timer 2 einen Uhrenquarz, und nutzte das als Zeitnormal, der Abgleich 
läuft immer mit, so daß auch Spannungs- und Temperaturänderungen erfasst 
werden.

Wenn ihr RGB-LEDs über Vorwiderstände und PWM betreibt denkt daran, daß 
sich die Farbe, bei Mischfarben, oder auch Weiß, abhängig von der 
Versorgungsspannung deutlich ändert. Bei meinem Aufbau, bei dem die 
Versorgungsspannung prinzipbedingt nicht konstant ist, habe ich diesen 
Effekt dadurch stark gemildert, daß ich zu den Rot-Chips eine normale 
SI-Diose (1N4148) in Reihe schalte, und dann den gleichen Vorwiderstand 
verwende wie für Grün und Blau. Da ändert sich die Farbe zwischen 4V und 
5V Versorgungsspannung nur noch minimal. Ihr habt ja prinzipbedingt 
lange Leitungen, und somit auch Spannungsabfall. Vielleicht sollte man 
auf jede Pixelplatine einen Spannungsregler setzten, reicht ja ein 
kleiner 'L' Typ. Wenn ihr die LEDs, so wie oben schon mal vorgeschlagen, 
über (MOS-)Transistoren ansteuert könnte man auch über eine höhere 
Versorgungsspannung für die LEDs nachdenken, und dann mehrere 6-Pin RGBs 
in Reihe schalten -> Viel mehr Licht, ohne hohe Stromstärken zu brauchen 
(Bei 100 - 200 Pixeln summieren sich auch mA zu beachtlichen Werten)

Wenn ihr den IR-Touch verwenden wollt, sollten die möglichst nicht 
gleichzeitig messen, wurde ja auch schon angesprochen, bei dem schwachen 
Signal ist die Verfälschung schnell ein Problem. Da könnte das 
weiterreichen der Daten, auf dem UART-Ring, gleich als Trigger 
herhalten: Gerade Daten bekommen -> Messung starten. So würden sie alle 
schön nacheinender messen. Beim Ring könnte der Zeitversatz zwischen 
erstem und letztem Pixel vielleicht auffallen, wenn sich die RGB-Werte 
plötzlich stark ändern, vielleicht sollte ein Pixel doch 'wissen' wo im 
Ring er sich befindet, und mit einer passenden Verzögerung bei der 
Ausgabe des RGB-Wertes kompensieren. Wenn sich jede Pixelplatine ihre 
RGB-Daten wegnimmt, ist die Position im Ring durch auszählen der 
verbleibenden Daten ermittelbar.

Mit freundlichem Gruß - Martin

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Konrad S. schrieb:
> Ich kann den ATtiny841 nur nochmal wärmstens empfehlen: vier
> 16-Bit-Hardware-PWM und es ist immer noch ein 8-Bit-Timer übrig, zwei
> U(S)ARTs, 512 Bytes RAM.

Ist wirklich ein geiles Teil. Besonders gefällt mir daran, dass man die 
Timer-Outputs auf fast beliebige Pins mappen kann. Zwei 16-Bit-Timer mit 
je zwei PWM-Kanälen sind natürlich auch klasse. Die Notwendigkeit für 2 
UARTs sehe ich zwar noch nicht, aber schaden kanns nicht.

: Bearbeitet durch Moderator
von Ast E. (vis)


Lesenswert?

japp sehr gut ausgestattet... ich dachte nur an DIP, um es jedem Löter 
leicht zu machen ! :-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Tim R. schrieb:
> japp sehr gut ausgestattet... ich dachte nur an DIP, um es jedem Löter
> leicht zu machen ! :-)

Wäre mir auch lieber, leider gibt es den 841er nicht im DIP/DIL.

von Cyblord -. (cyblord)


Lesenswert?

Tim R. schrieb:
> japp sehr gut ausgestattet... ich dachte nur an DIP, um es jedem Löter
> leicht zu machen ! :-)

Also SOIC Löten sollte ja wohl jeder hinbekommen.  Habt ihr wirklich 
vor, diese vielen Module einzeln auf Lochraster mit Dips aufzubauen? Die 
macht man schon klein und kompakt in SMD und lässt sich die Platinen 
günstig aus Fernost zu 50 oder 100 Stück raus.

von Conny G. (conny_g)


Lesenswert?

cyblord ---- schrieb:
> Tim R. schrieb:
>> japp sehr gut ausgestattet... ich dachte nur an DIP, um es jedem Löter
>> leicht zu machen ! :-)
>
> Also SOIC Löten sollte ja wohl jeder hinbekommen.  Habt ihr wirklich
> vor, diese vielen Module einzeln auf Lochraster mit Dips aufzubauen? Die
> macht man schon klein und kompakt in SMD und lässt sich die Platinen
> günstig aus Fernost zu 50 oder 100 Stück raus.

So hätte ich mir das auch vorgestellt.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

cyblord ---- schrieb:
> Also SOIC Löten sollte ja wohl jeder hinbekommen.  Habt ihr wirklich
> vor, diese vielen Module einzeln auf Lochraster mit Dips aufzubauen?

Die vielen natürlich nicht, aber das erste ;-)

von Ast E. (vis)


Lesenswert?

cyblord ---- schrieb:
> Tim R. schrieb:
>> japp sehr gut ausgestattet... ich dachte nur an DIP, um es jedem Löter
>> leicht zu machen ! :-)
>
> Also SOIC Löten sollte ja wohl jeder hinbekommen.  Habt ihr wirklich
> vor, diese vielen Module einzeln auf Lochraster mit Dips aufzubauen? Die
> macht man schon klein und kompakt in SMD und lässt sich die Platinen
> günstig aus Fernost zu 50 oder 100 Stück raus.

Also die ersten Testaufbauten wären mir als DIP lieber.
Die Endprodukte könnte man auch kleiner ausfallen lassen.

Ich kenne mich in den asiatischen Kreisen nicht aus ;-) Wie viel kostet 
denn so eine Chinaproduktion ca. 100 Leiterplatten? Un-/Bestückt?

von Horst (Gast)


Lesenswert?

Ich hatte welche bei Farnell bestellt. Günstiger als bei Digikey.
Leider als SOIC gerade nicht lieferbar...

VPE: 1 Stück
1+
0,785 €

10+
0,739 €

25+
0,694 €

50+
0,653 €

von makrolöter (Gast)


Lesenswert?

Tim R. schrieb:
> die ersten Testaufbauten wären mir als DIP lieber

Was spricht gegen einen Adapter von SOIC-14/16 nach DIP-14/16?
So teuer sind die auch wieder nicht.

von Cyblord -. (cyblord)


Lesenswert?

makrolöter schrieb:
> Was spricht gegen einen Adapter von SOIC-14/16 nach DIP-14/16?
Eben. Gar nichts. Im Gegenteil. Man muss keine 2 Gehäusetypen vorhalten, 
sondern kauft immer nur SOIC.

> So teuer sind die auch wieder nicht.

http://www.ebay.de/itm/4Pcs-0-65-1-27mm-to-2-54-SO-SOP-SOIC-SSOP-TSSOP-MSOP-14-to-DIP-Adapter-convert-/281161108586?pt=Vintage_Electronics_R2&hash=item4176820c6a
Eher nicht so teuer ;-)


Leiterkarten kosten z.B. bei ITEAD (max. 5x5cm), 100 Stück = 75$.

Bestückt müsste man natürlich anfragen. Könnte sich bei 100+ Platinen 
aber schon lohnen. Selbst mit Stencil + Lötpaste + Reflowofen könnte das 
von Hand fertigen schon in Arbeit ausarten.

: Bearbeitet durch User
von ... (Gast)


Lesenswert?

beim ESC neulich war die komplette Bühne berührungsempfindlich und als 
LED Leinwand...

von Karol B. (johnpatcher)


Lesenswert?

Hi,

Konrad S. schrieb:
> Was soll da schiefgehen?

Nochmal: Es geht nicht um die Interaktion von verschiedenen Pixeln 
miteinander, sondern darum, dass ein Pixel auch Gegenstände über anderen 
Pixeln erfassen kann, wenn es sich in einer bestimmten Höhe über der 
Glasplatte befindet. Inwiefern das in der Praxis von Bedeutung ist, wird 
sich zeigen müssen. Immerhin ist eine Hand z.B. kein perfekter 
Retroreflektor.

asterix schrieb:
> Und ich bin der Meinung das 10cm tiefe zuviel sind. Zum einen möchte ich
> zum Beispiel auch keinen Gegenstand >5cm über dem Tisch erkennen,
> sondern genau auf dem Tisch oder knapp darüber (maximal 2cm). Denn das
> ist für mich Touch. Oder nicht?!

Das sehe ich auch so, beim Thema Material der Oberfläche bin ich aber 
definitiv für Glas. Klar kann man mit Plexiglas herum experimentieren, 
die Frage ist nur, inwiefern die Ergebnisse dann übertragbar sind. Die 
Dicke des Glases ist mir im Prinzip egal, stabil soll es halt sein ;).

asterix schrieb:
> @Karol
> Deine Idee zum 1x UART "Bus" finde ich gar nicht schlecht. Nur die Idee
> (wenn ich mich Recht entsinne) war die Überlegung zur Steigerung des
> Durchsatzes -> deswegen 2xUART. Müsste man mal durchrechnen, was bei der
> Ring Topologie an Daten durchrauschen könnte und ob das einer schönen
> Framerate (mindestens 30Hz) genügt.

Rein Datenratentechnisch haut das schon hin: 20 x 20 x 30 x 24 ~ 300 
kBit/s. Ein ATmega168 schafft bei 8 MHz laut Datenblatt bis zu 500 
kBit/s.
Außerdem habe ich weiter unten noch eine neue Idee ;).

Frank M. schrieb:
> Man könnte auch einen TSOPxxxx nehmen. Der hat zwar nur ein digitales
> Verhalten, aber man könnte trotzdem beim Boot eine Art "Kalibrierung"
> machen, indem man die Modulationsfrequenz der Sendediode derart in den
> Grenzbereich des TSOP fährt, dass er bei Milchglas ohne Gegenstand
> darüber gerade eben nichts mehr empfängt.

Mit einem TSOP hatte ich anfangs auch experimentiert, allerdings 
aufgrund seiner AGC schnell wieder verworfen. Das hat bei mir dermaßen 
schlecht funktioniert, dass ich SEHR skeptisch bin, ob das zu schaffen 
ist. Glaube ich erst, wenn ich es sehe ;).

Frank M. schrieb:
> Es ist kein Problem, bei einem AVR (egal ob Tiny oder Mega), eine
> RGB-LED direkt über Vorwiderstände anzuschließen, siehe auch:
>
>   Beitrag "Equinox-Uhr mit 60 ATtinys"

Interessantes Projekt. Würdest du die Helligkeit auch bei Tageslicht als 
akzeptabel beschreiben?

Frank M. schrieb:
> Ich benutze im obigen Projekt 3 Hardware-PWMs, die ich softwaremäßig von
> 8Bit auf 16Bit aufbohre. Dadurch bekommt man wesentlich weichere
> Übergänge hin. Bei 8 Bit sind das eher Farbsprünge - gerade im unteren
> Bereich.

Details zu der "Aufbohrung" würden mich interessieren. Mit welchen 
Interrupts arbeitest du?

Frank M. schrieb:
> Dieser ist skalierbar (d.h. nicht fix von
> der Anzahl der angeschlossenen AVRs) und ich kann sämtliche
> angeschlossenen µCs in einem Rutsch per Bootloader flashen.

Wobei du in der Projektbeschreibung von maximal 239 Teilnehmern 
sprichst. In unserem Fall ist das zu wenig. Ich persönlich strebe jetzt 
einfach mal 20x20 = 400 an. Auch bin ich mir ziemlich sicher, dass wir 
bei einer "Daisy-Chain" mit der erforderten Taktrate in Probleme hinein 
laufen werden, wenn die Clockleitung 10+ Meter lang ist ;).

Frank M. schrieb:
> Bei einer
> max. Übertragungsrate von bis zu 100.000 Bits/sec ist das zu flashende
> Programm ruckzuck auf alle AVRs übertragen.

Auch 100 kBit/s ist in unserem Fall leider zu wenig :(. Siehst du denn 
eine Möglichkeit, dass zu "verbessern"?

Frank M. schrieb:
> Diesen
> ATmega könnte man dann auch per IR-Fernbedienung fernsteuern - um zum
> Beispiel die Farben zu wechseln o.ä.

Ich würde bei diesem Projekt gerne auf IR-Fernbedienungen verzichten. 
Halte ich nach wie vor für unzeitgemäß. Smartphones sei dank.

Tim R. schrieb:
> Ich dachte in der Richtung wird immer
> auf Plexi zurückgegriffen :-)

Ne, also ich kenne, um ehrlich zu sein kein einzigen Plexi-Glas Tisch. 
Ist, wie schon gesagt, zu kratzanfällig.

Conny G. schrieb:
> Dann wäre wichtig, dass man mit der gefundenen Lösung beides kann. Ich
> möchte Annäherung mit analogem Wert der Messung können (ermöglicht auch
> eine globale Kalibrierurung beim Master) und auch bei 10cm was messen.

Wobei das die Ansprüche an den Bus wieder erhöht, weil nicht nur ein/aus 
übertragen werden muss, sondern ein 8/9/10 Bit ADC Wert.

Konrad S. schrieb:
> Ich kann den ATtiny841 nur nochmal wärmstens empfehlen:

Bietet in der Tat ziemlich viel für ziemlich wenig Geld. Andererseits 
ist die Frage, ob wir wirklich 14 Pins brauchen ;).

Konrad S. schrieb:
> Bei einem Bus kann darüber auch synchronisiert werden. Ich könnte mir
> RS-485 vorstellen, allerdings mit CAN-Treibern, z.B. MCP2562 oder
> TJA1051.

Braucht alles Platz und kostet Geld. Macht sich bei der Anzahl an 
Teilnehmern dann doch bemerkbar.

Martin Schlüter schrieb:
> Sprich,
> wenn es überhaupt geht, ist das Signal recht schwach.

Dass es überhaupt geht haben ja andere schon bewiesen.

Martin Schlüter schrieb:
> Habt ihr schon mal
> über kapazitiven Touch nachgedacht, dünnes, grobmaschiges Drahtnetz
> knapp unter der Glasfläche, so daß es keine störenden Schatten wirft.

Wurde in anderen Threads auch schon durchgesprochen. Netze werfen 
Schatten. Alternativ wurde auch schon diskutiert etwas Metallisches 
aufzudampfen. Die Frage ist halt, inwiefern man da als Hobbybastler zu 
bezahlbaren Preisen herankommt. Außerdem werden die Touchflächen dann 
sicherlich auch nicht mehr so scharf sein.

Martin Schlüter schrieb:
> Wenn ihr RGB-LEDs über Vorwiderstände und PWM betreibt denkt daran, daß
> sich die Farbe, bei Mischfarben, oder auch Weiß, abhängig von der
> Versorgungsspannung deutlich ändert.

Auch deswegen bin ich für LED-Treiber.

Martin Schlüter schrieb:
> Wenn ihr UART verwenden wollt,
> solltet ihr unbedingt eien Quarz vorsehen, daß der interne Oszillator
> dafür zu ungenau ist, ist kein Gerücht.

Kostet halt wieder Platz, Geld und zwei Pins.

Frank M. schrieb:
> Die Notwendigkeit für 2
> UARTs sehe ich zwar noch nicht, aber schaden kanns nicht.

Hier mein Vorschlag: Zwei gegenläufige UART-Ringe. Halbiert die 
Verzögerung bis der letzte was mitbekommen hat, und verdoppelt den 
Durchsatz. Die Hardware stände uns bei diesem Mikrocontroller ja zur 
Verfügung ;).

Frank M. schrieb:
> Wäre mir auch lieber, leider gibt es den 841er nicht im DIP/DIL.

Sehe ich nicht als Problem. Zum Einen lässt sich das nach wie vor per 
Hand löten (wenn man nicht gerade zwei linke Hände hat, oder 
eingeschränkt sieht), und zum andern wäre eine Assemblierung auch 
denkbar.

Mit freundlichen Grüßen,
Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Einziges Problem was ich noch sehe ist in der Tat die Signalisierung, 
wann die Daten übernommen bzw. angezeigt werden sollen. Der Bus arbeitet 
ja zeitlich indeterministisch, weil jeder Teilnehmer empfangen und 
senden muss und das je nach aktuellem Zustand kürzer oder länger dauern 
kann. Eine dedizierte Leitung hingegen ist auch nicht so besonders 
attraktiv und wird bei der Leitungslänge eventuell auch eine 
Herausforderung? Verzichtet man darauf, dann kann es zu Tearing-Effekten 
kommen, das ist auch unschön.

Vorschläge ;)?

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Um einen Quartz (falls UART benutzt werden soll), kommen wir denke ich 
gar nicht herum. Denn die Kommunikation ist eines der Herzstücke am 
Tisch, die muss reibungslos laufen. Dann verzichte ich aus kostengründen 
lieber auf einen LED-Treiber und nutze die 3 PWM Kanäle vom Tiny :-)


Karol Babioch schrieb:

> Das sehe ich auch so, beim Thema Material der Oberfläche bin ich aber
> definitiv für Glas. Klar kann man mit Plexiglas herum experimentieren,
> die Frage ist nur, inwiefern die Ergebnisse dann übertragbar sind. Die
> Dicke des Glases ist mir im Prinzip egal, stabil soll es halt sein ;).

Wie gesagt, hat denn jemand mal einen Link? Ich habe bisher nur Gläser 
gefunden die maximal 30% Lichtdurchlässigkeit bieten. Um aber die LEDs 
auch schön zu sehen bräuchten wir etwas mehr oder ?!

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Wie gesagt, hat denn jemand mal einen Link? Ich habe bisher nur Gläser
> gefunden die maximal 30% Lichtdurchlässigkeit bieten. Um aber die LEDs
> auch schön zu sehen bräuchten wir etwas mehr oder ?!

Für Muster habe ich mich bisher größtenteils auf eBay umgeschaut. Da 
gibt es auch 80% Lichtdurchlässigkeit, siehe z.B. [1]. Ist halt alles 
nicht ganz billig und ich würde gerne die Gewissheit haben, dass ich 
nachher auch im großen Stile an die selbe Ware komme. Sonst sind jetzt 
getroffene Designentscheidungen nachher für die Tonne.

Mit freundlichen Grüßen,
Karol Babioch

[1]: 
http://stores.ebay.de/glasereikern/Satiniertes-Glas-/_i.html?_fsub=2425365017&_sid=1041773537&_trksid=p4634.c0.m322

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Mit einem TSOP hatte ich anfangs auch experimentiert, allerdings
> aufgrund seiner AGC schnell wieder verworfen. Das hat bei mir dermaßen
> schlecht funktioniert, dass ich SEHR skeptisch bin, ob das zu schaffen
> ist. Glaube ich erst, wenn ich es sehe ;).

Vielleicht komme ich am nächsten Wochenende mal dazu, es auszuprobieren.

> Interessantes Projekt. Würdest du die Helligkeit auch bei Tageslicht als
> akzeptabel beschreiben?

Du kennst die LEDs (RGB, PLCC6) doch schon vom WordClock-Projekt. Mir 
würde die Helligkeit reichen.

> Frank M. schrieb:
>> Ich benutze im obigen Projekt 3 Hardware-PWMs, die ich softwaremäßig von
>> 8Bit auf 16Bit aufbohre. Dadurch bekommt man wesentlich weichere
>> Übergänge hin. Bei 8 Bit sind das eher Farbsprünge - gerade im unteren
>> Bereich.
>
> Details zu der "Aufbohrung" würden mich interessieren. Mit welchen
> Interrupts arbeitest du?

Ich hatte es falsch in Erinnerung, ich bohre die 8-Bit-HW-PWM mittels 
TIMER1_OVF_vect lediglich auf 12 Bit auf. Damit hat man dann aber auch 
schon 4096 Stufen statt nur 256. Auch bei kleineren Helligkeiten kann 
man dann keine Stufen mehr erkennen. Wenn wir uns für den ATtiny841 
entscheiden, spielt das aber keine Rolle mehr. Dann haben wir bereits 
hardwaremäßig 4 16-Bit-PWMs. Das reicht für RGB allemal.

> Frank M. schrieb:
>> Dieser ist skalierbar (d.h. nicht fix von
>> der Anzahl der angeschlossenen AVRs) und ich kann sämtliche
>> angeschlossenen µCs in einem Rutsch per Bootloader flashen.
>
> Wobei du in der Projektbeschreibung von maximal 239 Teilnehmern
> sprichst. In unserem Fall ist das zu wenig. Ich persönlich strebe jetzt
> einfach mal 20x20 = 400 an. Auch bin ich mir ziemlich sicher, dass wir
> bei einer "Daisy-Chain" mit der erforderten Taktrate in Probleme hinein
> laufen werden, wenn die Clockleitung 10+ Meter lang ist ;).

Die 239 sind dem Protokoll geschuldet, weil die Block-Start-Adresse ein 
Byte lang ist. Nimmt man 2 Bytes für Start- und Länge (falls man die 
überhaupt braucht, wenn man alle erreichen will), kommt man auf bis zu 
60.000 Busteilnehmer. Dann reichen aber sowieso keine 2 Drähte mehr ;-)

> Frank M. schrieb:
>> Bei einer
>> max. Übertragungsrate von bis zu 100.000 Bits/sec ist das zu flashende
>> Programm ruckzuck auf alle AVRs übertragen.
>
> Auch 100 kBit/s ist in unserem Fall leider zu wenig :(. Siehst du denn
> eine Möglichkeit, dass zu "verbessern"?

Nein, mehr ist nicht drin per Bitbanging. Dann doch lieber den 
einen/zwei HW-UART(s) eines ATtiny841.

Ich muss da irgendwo was überlesen haben... kannst Du mir mit einem Link 
oder einer kurzen Beschreibung mal auf die Sprünge helfen? Was für Daten 
sollen da denn überhaupt zwischen den ATtinys übertragen werden?

> Frank M. schrieb:
>> Diesen
>> ATmega könnte man dann auch per IR-Fernbedienung fernsteuern - um zum
>> Beispiel die Farben zu wechseln o.ä.
>
> Ich würde bei diesem Projekt gerne auf IR-Fernbedienungen verzichten.
> Halte ich nach wie vor für unzeitgemäß. Smartphones sei dank.

Gerne! Warum nicht? Ich habe mir letztens ein sehr interessantes 
WLAN-Modul bei Watterott geholt... klingt sehr vielversprechend (und 
wartet auf den ersten Test mit IRMP ;-) ).

: Bearbeitet durch Moderator
von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Vielleicht komme ich am nächsten Wochenende mal dazu, es auszuprobieren.

Lass mich gerne überraschen ;). Unabhängig davon ist ein TSOP aber 
trotzdem fast 4x teurer als eine einzelne IR-Photodiode.

Frank M. schrieb:
> Du kennst die LEDs (RGB, PLCC6) doch schon vom WordClock-Projekt. Mir
> würde die Helligkeit reichen.

Die LEDs sind auch nicht unbedingt das Problem, sondern wie viel Strom 
man da durch jagt ;). Keine Ahnung, ob der Mikrocontroller selbst stark 
genug ist (scheinbar aber schon). Außerdem braucht es selbst bei einer 
Hardware PWM 3 Pins + 2 Timer. Ein dedizierter LED Treiber (habe z.B. 
gerade das Datenblatt des CAT4003B offen) kommt mit einer Leitung aus 
und benötigt keine externen Widerstände. Bessere Treiber können auch 
eine Dot-Korrektur vornehmen, um Unterschiede in den LEDs auszugleichen. 
Klar, bei einer 16 Bit PWM kann man das auch in Software machen, aber so 
erspart man sich eine Menge Arbeit.

Frank M. schrieb:
> Ich hatte es falsch in Erinnerung, ich bohre die 8-Bit-HW-PWM mittels
> TIMER1_OVF_vect lediglich auf 12 Bit auf. Damit hat man dann aber auch
> schon 4096 Stufen statt nur 256. Auch bei kleineren Helligkeiten kann
> man dann keine Stufen mehr erkennen. Wenn wir uns für den ATtiny841
> entscheiden, spielt das aber keine Rolle mehr. Dann haben wir bereits
> hardwaremäßig 4 16-Bit-PWMs. Das reicht für RGB allemal.

Ja, 12-Bit sollten auch reichen. Sofern wir uns für den ATtiny841 
entscheiden, ist das aber alles kein Problem mehr. Andererseits kann der 
Ansatz Widerstände zur Strombegrenzung zu verwenden schon zum Problem 
werden, weil ggf. kleine Spannungsschwankungen große Farbveränderungen 
bedeuten können, siehe oben.

Frank M. schrieb:
> Ich muss da irgendwo was überlesen haben... kannst Du mir mit einem Link
> oder einer kurzen Beschreibung mal auf die Sprünge helfen? Was für Daten
> sollen da denn überhaupt zwischen den ATtinys übertragen werden?

Im Prinzip gibt es zwei Richtungen. Aus Sicht des "Masters" sieht es so 
aus:

- Ausgabe: RGB-Daten für jeden einzelnen Pixel, also mindestens 24 Bit, 
maximale Anzahl der Pixel ist noch nicht wirklich festgelegt, ich 
persönlich hätte gerne 20x20
- Eingabe: Status des Touch-Sensoren. Wenn wir es einfach halten wollen, 
dann 1 Bit (an/aus), oben wurde aber auch vorgeschlagen eine analoge 
Auswertung im Master zu ermöglichen, um dann Kontrastanalysen und 
ähnliches zu machen. Dann braucht es je nach ADC-Modus und Genauigkeit 
schon 8/9/10 Bit.

Das Ganze natürlich für jeden Pixel und mit einer Refresh-Rate von 25 - 
30 Hz. Optional wäre es schön, wenn das Protokoll noch Möglichkeiten zum 
Flashen einzelner Teilnehmer vorsehen würde. Kalibrierungen wären, je 
nachdem welchen Weg wir wählen, auch denkbar/sinnvoll, wobei das alles 
natürlich nicht regelmäßig stattfinden muss.

Mit dem ATtiny841 hab ich mich mittlerweile angefreundet, weil der eben 
zwei UART Module anbietet, wodurch wir zwei gegenläufige UART Ringe 
aufspannen könnten. Wenn wir jedem Datensatz noch eine "Framenummer" 
voranstellen, dann kann auch jeder Teilnehmer feststellen, ob er das 
Paket schon gesehen hat, und es in diesem Fall nicht mehr weiterleiten. 
Das entlastet den "Bus". Wie siehst du das? Möglich? Sinnvoll? Oder hab 
ich etwas übersehen?

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> [1]:
> 
http://stores.ebay.de/glasereikern/Satiniertes-Glas-/_i.html?_fsub=2425365017&_sid=1041773537&_trksid=p4634.c0.m322

puh, zumindest bei diesem Anbieter sind 0,6m² (maximal) bei 8mm Dicke 
schon knapp 70 Teuros. Und 20x30cm oder 10x60cm ist etwas knapp für die 
meisten oder ? ;-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:

> Die LEDs sind auch nicht unbedingt das Problem, sondern wie viel Strom
> man da durch jagt ;). Keine Ahnung, ob der Mikrocontroller selbst stark
> genug ist (scheinbar aber schon).

Ja, der Strom (max. 20mA pro Pin) ist kein Problem.

> Andererseits kann der
> Ansatz Widerstände zur Strombegrenzung zu verwenden schon zum Problem
> werden, weil ggf. kleine Spannungsschwankungen große Farbveränderungen
> bedeuten können, siehe oben.

Wo sollen diese "Spannungsschwankungen" herkommen? Bei 60 ATtinys 
hintereinander konnte ich diese nicht beobachten, schon gar nicht als 
Farbveränderungen.

> Im Prinzip gibt es zwei Richtungen. Aus Sicht des "Masters" sieht es so
> aus:
>
> - Ausgabe: RGB-Daten für jeden einzelnen Pixel, also mindestens 24 Bit
> - Eingabe: Status des Touch-Sensoren. Wenn wir es einfach halten wollen,
> dann 1 Bit (an/aus), oben wurde aber auch vorgeschlagen eine analoge
> Auswertung im Master zu ermöglichen, um dann Kontrastanalysen und
> ähnliches zu machen. Dann braucht es je nach ADC-Modus und Genauigkeit
> schon 8/9/10 Bit.

Warum muss der Master den Status jeden einzelnen Touch-Sensors wissen? 
Das kann doch jeder ATTiny-Slave selbst entscheiden, was er dann 
macht.... zum Beispiel seine LED hochfaden.

Ich sehe eher die Aufgabe eines Masters darin, den anderen ab und zu mal 
mitzuteilen, was die Slaves machen sollen, wenn der Touch-Sensor mal 
ansprechen sollte - also eine Art "Verhaltensprogramm".

Was ich mir auch vorstellen kann: Eine "Vernetzung" der Slaves 
untereinander mit jeweils dessen Nachbarn, also 4 Drähte zu jeweils dem 
Slave links, rechts, oben, unten. So können sie dann dem Nachbarn durch 
Ziehen der Strippe (standrdmäßig HIGH über Pullup) auf GND mitteilen, 
wenn ihr Touch-Sensor angesprochen hat. Dadurch können die Nachbarn ihre 
LEDs auch mal kurz ansprechen.... Wenn sie dies auch wieder den Nachbarn 
mitteilen, könnte man so ganze "Wellen" durch den Tisch laufen lassen, 
wenn jemand ein Glas abstellt.

Meiner Meinung reicht Ein-/Aus auch als Touch-Sensor aus.

: Bearbeitet durch Moderator
von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> puh, zumindest bei diesem Anbieter sind 0,6m² (maximal) bei 8mm Dicke
> schon knapp 70 Teuros. Und 20x30cm oder 10x60cm ist etwas knapp für die
> meisten oder ? ;-)

Ja, das geht ins Geld. Werde am Wochenende vielleicht doch nochmal 
lokale Glasereien abklappern, und nach Mustern/Abfällen fragen. Wobei 
sich auch hier das Problem der Wiederbeschaffung stellt ...

Karol Babioch schrieb:
> Mit dem ATtiny841 hab ich mich mittlerweile angefreundet,

Übrigens ist das doch nicht so einfach wie gedacht. Der ATtiny841 wird 
derzeit nicht wirklich gut unterstützt. Weder avr-gcc noch avrdude 
unterstützen ihn von Haus aus. Auch beim offiziellen Atmel Studio 
braucht es wohl irgendwelche Zusatz-Pakete. In Deutschland ist es auch 
gar nicht so einfach da heranzukommen. Das macht das Ganze wieder 
unattraktiv(er) :(.

Frank M. schrieb:
> Wo sollen diese "Spannungsschwankungen" herkommen? Bei 60 ATtinys
> hintereinander konnte ich diese nicht beobachten, schon gar nicht als
> Farbveränderungen.

Die Leitungen werden je nach Ausführung halt schon ziemlich lang. Und 
das Netzteil hat auch ordentlich zu tun mit dem Regulieren, wenn da 400 
RGB LEDs (= 1200 LEDs) munter an- und ausgeschaltet werden ...

Frank M. schrieb:
> Warum muss der Master den Status jeden einzelnen Touch-Sensors wissen?

Die Idee war halt, dass man im Master sich dann die Kontraste genauer 
ansehen kann, um so auch Gegenstände über der Glasplatte zu erkennen.

> Das kann doch jeder ATTiny-Slave selbst entscheiden, was er dann
> macht.... zum Beispiel seine LED hochfaden.

Ne, wirklich entscheiden sollen die Slaves nichts selber. Der Master 
soll denen schon vorschreiben was zu tun ist, wie willst du sonst 
"Spiele" und andere Formen der Interaktionen implementieren? Es kann 
z.B. durchaus sinnvoll sein gewisse Felder zu deaktivieren, egal, ob 
sich darauf nun eine Hand befindet, oder nicht. Schau dir vielleicht 
einfach mal die o.g. Videos an.

Frank M. schrieb:
> Eine "Vernetzung" der Slaves
> untereinander mit jeweils dessen Nachbarn, also 4 Drähte zu jeweils dem
> Slave links, rechts, oben, unten.

Etwas ähnliches hatte ich oben vorgeschlagen. Bei meinem aktuellen 
Vorschlag zwei UART Ringe zu verwenden wäre das auch halbwegs effizient 
möglich ohne extra Strippen. Andererseits macht eine Auswertung im 
Master schon Sinn. Der hat mehr Power und weiß, ob eine solche 
Auswertung im aktuellen Kontext überhaupt Sinn macht.

Frank M. schrieb:
> Meiner Meinung reicht Ein-/Aus auch als Touch-Sensor aus.

Allein schon zur Kalibrierungszwecken könnte es Sinn machen die 
gemessenen Analogwerte bekannt zu machen. Ich habe z.B. bei den 
IR-Photodioden gemerkt, dass die sich zum Teil schon ein wenig anders 
verhalten. Rein von der benötigten Datenübertragungsrate macht das den 
Braten auch nicht mehr fett, und sollte bei zwei Ringen mit jeweils 500 
kBit/s kein Problem sein. Was der Master dann damit anfängt bleibt ihm 
überlassen ;).

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Cyblord -. (cyblord)


Lesenswert?

Karol Babioch schrieb:

> Übrigens ist das doch nicht so einfach wie gedacht. Der ATtiny841 wird
> derzeit nicht wirklich gut unterstützt. Weder avr-gcc noch avrdude
> unterstützen ihn von Haus aus. Auch beim offiziellen Atmel Studio
> braucht es wohl irgendwelche Pakete. In Deutschland ist es auch gar
> nicht so einfach da heranzukommen. Das macht das Ganze wieder
> unattraktiv(er) :(.

Das stimmt so nicht. avr-gcc unterstüzt den 841 in der aktuellen 
Version.
Atmel Studio benötigt ein Update-Paket, aber danach gibts keine 
Probleme.
Für avrdude muss man den 841 noch in der conf datei eintragen. Haben 
hier schon einige gemacht. Ich selbst auch. Die conf gibts hier auch 
irgendwo in einem thread. Das ist kein Problem.
Digikey liefert den 841 ab 1 Stück nach D auch für privat.

Habe jetzt schon einige Projekte damit realisiert. Obwohl ich nichtmal 
das Studio verwende, sondern Eclipse mit AVR-Plugin, und ich das Plugin 
auch noch an den 841 anpassen musste. Geht absolut problemlos und in den 
nächsten Versionen wird das wohl alles schon drin sein. So ist das halt 
bei neuen Bausteinen.

gruß cyblord

von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Nochmal: Es geht nicht um die Interaktion von verschiedenen Pixeln
> miteinander, sondern darum, dass ein Pixel auch Gegenstände über anderen
> Pixeln erfassen kann, wenn es sich in einer bestimmten Höhe über der
> Glasplatte befindet.

So, jetzt hat es auch bei mir Klick gemacht. Und jetzt verstehe ich auch 
den ursprünglichen Post von Conny G. zu diesem Thema. Sorry, falls ich 
da Verwirrung gestiftet habe.

von Karol B. (johnpatcher)


Lesenswert?

cyblord ---- schrieb:
> avr-gcc unterstüzt den 841 in der aktuellen
> Version.

Wo finde ich Referenzen darauf? Auf der Homepage von avr-libc [1] ist 
davon noch keine Rede. Mein Eclipse mit aktueller Toolchain avr-gcc 
4.9.0 und avr-libc 1.8.0 listet diesen auch noch nicht auf.

cyblord ---- schrieb:
> Für avrdude muss man den 841 noch in der conf datei eintragen.

Das habe ich gesehen, ist aber die Definition von "geht nicht von Haus 
aus" ;).

cyblord ---- schrieb:
> Digikey liefert den 841 ab 1 Stück nach D auch für privat.

Ok, bei Farnell ist die Lieferzeit nämlich unbekannt, der Preis dafür 
bei 70 Cent ;).

cyblord ---- schrieb:
> Obwohl ich nichtmal
> das Studio verwende, sondern Eclipse mit AVR-Plugin, und ich das Plugin
> auch noch an den 841 anpassen musste.

Details? Ist das irgendwo dokumentiert?

cyblord ---- schrieb:
> So ist das halt
> bei neuen Bausteinen.

Ja, wobei man sich auch mehr Mühe geben könnte. Nach einem halben Jahr 
sollte das alles doch schon mal integriert sein ;).

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://www.nongnu.org/avr-libc/user-manual/using_tools.html

von Karol B. (johnpatcher)


Lesenswert?

Konrad S. schrieb:
> So, jetzt hat es auch bei mir Klick gemacht. Und jetzt verstehe ich auch
> den ursprünglichen Post von Conny G. zu diesem Thema. Sorry, falls ich
> da Verwirrung gestiftet habe.

Kein Problem, hatte das ja ursprünglich auch so gedeutet wie du ;). 
Beides sind Reflexionen und beides muss man im Design berücksichtigen.

Mit freundlichen Grüßen,
Karol Babioch

von Cyblord -. (cyblord)


Lesenswert?

Karol Babioch schrieb:
> cyblord ---- schrieb:
>> avr-gcc unterstüzt den 841 in der aktuellen
>> Version.
>
> Wo finde ich Referenzen darauf? Auf der Homepage von avr-libc [1] ist
> davon noch keine Rede. Mein Eclipse mit aktueller Toolchain avr-gcc
> 4.9.0 und avr-libc 1.8.0 listet diesen auch noch nicht auf.

Das ist ja auch veraltet. Die Toolchain wird ja inzwischen von Atmel 
gepflegt und dort findet man auch den aktuellen avr-gcc. Version kann 
ich dir grad nicht sagen. Müsste schon eine 5 davor sein.

> Details? Ist das irgendwo dokumentiert?
Nein, du kannst im Forum mal nach Tiny841 suchen, da findest du 1-2 
Threads zu dem Thema inkl. 2 Dateien für das Plugin, welche den Tiny841 
hinzufügen. Das wird aber sowieso nur für z.B. den "Fuse-Dialog" 
benötigt. Die Device-Liste holt sich das Plugin ja über avrdude.

Und btw. von Haus aus, geht es eben mit dem Atmel Studio. Da brauchsts 
dann auch keinen avrdude.

Für 3rd Party Tools kann man das nicht einfach mal so erwarten. Da muss 
man momentan halt noch selber was machen.

gruß cyblord

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

cyblord ---- schrieb:
> Das ist ja auch veraltet. Die Toolchain wird ja inzwischen von Atmel
> gepflegt und dort findet man auch den aktuellen avr-gcc.

Link?

cyblord ---- schrieb:
> Müsste schon eine 5 davor sein.

Da erzählst du mir aber was neues. avr-gcc wird parallel mit dem 
eigentlichen gcc entwickelt und da ist 4.9 Stand der Dinge (~ 1 Monat 
alt).

cyblord ---- schrieb:
> Die Device-Liste holt sich das Plugin ja über avrdude.

Ja, und avrdude braucht derzeit noch zusätzliche Einträge in der 
Konfiguration. Das Problem mit dem Eclipse Plugin ist, dass es wohl 
ziemlich tot drum geworden ist, keine Ahnung, ob sich darum noch jemand 
kümmert und es bei Gelegenheit updated?

Mit freundlichen Grüßen,
Karol Babioch

von Konrad S. (maybee)


Lesenswert?

Das aktuelle Atmel Studio 6.2 unterstützt den ATtiny841.

Ich verwende allerdings die von Atmel bereitgestellte Toolchain für 
Linux. Quelle: 
http://www.atmel.com/tools/atmelavrtoolchainforlinux.aspx?tab=overview

Bei avrdude.conf (Version 6.1) habe ich den Eintrag für den ATtiny841 
hinzugefügt. Quelle: 
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=1120422

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Frank M. schrieb:
>> Diesen
>> ATmega könnte man dann auch per IR-Fernbedienung fernsteuern - um zum
>> Beispiel die Farben zu wechseln o.ä.
>
> Ich würde bei diesem Projekt gerne auf IR-Fernbedienungen verzichten.
> Halte ich nach wie vor für unzeitgemäß. Smartphones sei dank.

Die Steuerung des Tisches sollte am Besten so aussehen: :-)
http://youtu.be/DTb0k_P1wlY

> Conny G. schrieb:
>> Dann wäre wichtig, dass man mit der gefundenen Lösung beides kann. Ich
>> möchte Annäherung mit analogem Wert der Messung können (ermöglicht auch
>> eine globale Kalibrierurung beim Master) und auch bei 10cm was messen.
>
> Wobei das die Ansprüche an den Bus wieder erhöht, weil nicht nur ein/aus
> übertragen werden muss, sondern ein 8/9/10 Bit ADC Wert.

Ja, aber - s.u. - bei 2 Bus-Ringen überträgt man eh in einer Richtung 3x 
PWM-Wert, das ist genügend Zeit um 8+ Bits Touch-Value zurückzuschicken.

> Frank M. schrieb:
>> Die Notwendigkeit für 2
>> UARTs sehe ich zwar noch nicht, aber schaden kanns nicht.
>
> Hier mein Vorschlag: Zwei gegenläufige UART-Ringe. Halbiert die
> Verzögerung bis der letzte was mitbekommen hat, und verdoppelt den
> Durchsatz. Die Hardware stände uns bei diesem Mikrocontroller ja zur
> Verfügung ;).

Jetzt sind wir nicht mehr weit von meinem Vorschlag in:
http://www.mikrocontroller.net/articles/RGB_Touch_Matrix
entfernt.
Der Unterschied ist jetzt noch, dass ich dort ein implizites CLK wie 
beim WS2812(b) angenommen habe.
Beim UART-Ansatz würde man das UART-Prinzip zugrundelegen.
Aber kann man die 2 USI nicht genau wie das WS2812-Protokoll einsetzen?
Dann ist die Zeit pro Pixel und pro Frame festgelegt und alles synchron 
und fein :-)

von Conny G. (conny_g)


Lesenswert?

Frank M. schrieb:
>> Im Prinzip gibt es zwei Richtungen. Aus Sicht des "Masters" sieht es so
>> aus:
>>
>> - Ausgabe: RGB-Daten für jeden einzelnen Pixel, also mindestens 24 Bit
>> - Eingabe: Status des Touch-Sensoren. Wenn wir es einfach halten wollen,
>> dann 1 Bit (an/aus), oben wurde aber auch vorgeschlagen eine analoge
>> Auswertung im Master zu ermöglichen, um dann Kontrastanalysen und
>> ähnliches zu machen. Dann braucht es je nach ADC-Modus und Genauigkeit
>> schon 8/9/10 Bit.
>
> Warum muss der Master den Status jeden einzelnen Touch-Sensors wissen?
> Das kann doch jeder ATTiny-Slave selbst entscheiden, was er dann
> macht.... zum Beispiel seine LED hochfaden.

Der Master entscheidet, was die Pixel machen und versorgt sie mit Daten.
Jeden einzeln, wie bei der Bildwiederholrate eines Screens: die Pixel 
wissen gar nix, nur ihren letzten RGB-Wert, den sie halten und den 
Touchstatus, den sie ständig mitteilen.
Der Master fährt ein Spiel, oder eine Animation, was auch immer.

http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html
http://youtu.be/DTb0k_P1wlY

> Ich sehe eher die Aufgabe eines Masters darin, den anderen ab und zu mal
> mitzuteilen, was die Slaves machen sollen, wenn der Touch-Sensor mal
> ansprechen sollte - also eine Art "Verhaltensprogramm".
>
> Was ich mir auch vorstellen kann: Eine "Vernetzung" der Slaves
> untereinander mit jeweils dessen Nachbarn, also 4 Drähte zu jeweils dem
> Slave links, rechts, oben, unten. So können sie dann dem Nachbarn durch
> Ziehen der Strippe (standrdmäßig HIGH über Pullup) auf GND mitteilen,
> wenn ihr Touch-Sensor angesprochen hat. Dadurch können die Nachbarn ihre
> LEDs auch mal kurz ansprechen.... Wenn sie dies auch wieder den Nachbarn
> mitteilen, könnte man so ganze "Wellen" durch den Tisch laufen lassen,
> wenn jemand ein Glas abstellt.

Zu limitiert, damit lassen sich Features wie oben verlinkt nicht lösen.

> Meiner Meinung reicht Ein-/Aus auch als Touch-Sensor aus.

M.e. muss der Touch kalibriert werden, das macht am Besten der Master im 
Gesamten. Wenn sich jeder Pixel einzeln kalibriert, kann es zu komischen 
Effekten kommen.
Und wenn schon der Master den Touchwert bekommt (was bei 2 Busringen 
kein Aufwand ist), dann kann man auch mit Annäherung spielen, wenn man 
möchte.
Wer das nicht möchte, arbeitet mit On/Off.
Halte es aber für falsch die Architektur von Anfang für On/Off zu 
limitieren.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Conny G. schrieb:

> Die Steuerung des Tisches sollte am Besten so aussehen: :-)
> http://youtu.be/DTb0k_P1wlY

Okay, das Video hat mich überzeugt, sowas kann man nur mit einem dicken 
Master machen.

Hinweise zur im Video verwendeten Hardware gibt's hier:

http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html#Platine

Während die 100 Lochrasterplatinen noch ziemlich "thin" aussehen 
(IR-Diode, Poti, (teurer!) IR-Sensor, RGB-LED und ein wenig 
Hühnerfutter), ist die Hauptplatine schon ziemlich fett - meines 
Erachtens.

Halten wir also mal fest:

Anzeige:

Der Master überträgt RGB-Werte an M x N µCs (z.B. 10x10). Dies sollten 
Zielwerte sein, die in X Hunderstel-Sekunden per Fading erreicht werden 
sollen. Die Zeitspanne X wird natürlich auch vom Master vorgegeben. Ist 
sie 0, wird der RGB-Wert instantan angezeigt. So braucht der Master 
keine Zwischenwerte zu schicken und die Clients können selbst vom 
aktuellen RGB-Wert zum Ziel-RGB-Wert faden. So habe ich das bei meinem 
Equinox-Projekt mit den 60 ATTinys gemacht. Das spart eine Menge an 
Kommunikation.

Ausserdem sind mit ein paar Bytes auf ganz einfache Weise auch 
Broadcasts möglich.

Einen UART-Ring halte ich bei bei der Anzeige für unzweckmäßig, da jeder 
Slave das empfangene Byte erst weitersenden kann, wenn es vollständig 
empfangen wurde. Dadurch ergeben sich im Ring je nach Anzahl der Slaves 
erhebliche Verzögerungszeiten. Ich würde da eher einen UART-Bus nehmen: 
Alle Slaves haben eine ausgezeichnete Adresse und horchen mit RX an 
derselben Strippe. So habe ich es mit dem Equinox-Projekt gemacht. Nur 
ist es da kein UART, sondern ein synchroner serieller Bus. Aber der 
Unterschied ist da nur marginal.

Bei dieser Vorgehensweise kann man ganze Blöcke von Daten verschicken, 
ohne die Slaves einzeln adressieren zu müssen. Man sendet Startadresse, 
Länge X des Blocks und anschließend X RGB-Werte. Dann picken sich X 
Slaves die für sie relevanten Daten aus dem Block heraus.

Sensoren:

Der Master muss jederzeit über die Sensoren informiert sein. Dies könnte 
man vielleicht tatsächlich über einen UART-Ring machen, da dies nicht so 
zeitkritisch ist. Der Master schiebt ein Kommando-Byte in den Ring und 
anschließend fallen M x N Touch-Sensor-Bits aus dem Ring am Ende wieder 
raus.

Ich würde als Master einen Raspberry-PI oder ein Carambola nehmen. Dann 
haben wir genügend Power und die nötigen Schnittstellen.

: Bearbeitet durch Moderator
von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Die Zeitspanne X wird natürlich auch vom Master vorgegeben. Ist
> sie 0, wird der RGB-Wert instantan angezeigt. So braucht der Master
> keine Zwischenwerte zu schicken und die Clients können selbst vom
> aktuellen RGB-Wert zum Ziel-RGB-Wert faden.

Halte ich nach wie vor zu "komplex". Ich würde die Clients wirklich 
"dumm" halten. Zwischenwerte & Co. sollen alle vom Master kommen. Der 
hat genug Power und kann sich Gedanken machen was Sinn macht. Ich würde 
das mit einem Touch-Monitor vergleichen. Hier kümmert sich der Monitor 
auch nur im die Eingabe (Touch) bzw. Ausgabe (Pixel). Die Auswertung der 
Eingabe(n) bzw. die Ausgabe(n) kommen vom Host.

Frank M. schrieb:
> Ich würde da eher einen UART-Bus nehmen:
> Alle Slaves haben eine ausgezeichnete Adresse und horchen mit RX an
> derselben Strippe.

Nur haben wir dann das Problem, dass die Leitung extrem (!) lang bzw. 
kapazitiv ist. Keine Ahnung, ob das so ohne Weiteres in den Griff zu 
bekommen ist. Eine individuelle Adressierung würde mir auch besser 
gefallen, aber man kann nicht alles haben ;).

Frank M. schrieb:
> Ich würde als Master einen Raspberry-PI oder ein Carambola nehmen. Dann
> haben wir genügend Power und die nötigen Schnittstellen.

Wir hatten uns weiter oben schon auf ein Beaglebone geeinigt. Ist auch 
ein Linuxboard, bietet aber den Vorteil, dass es gleich MCUs mitliefert, 
die die Kommunikation übernehmen können. Der RasPi ist z.B. ziemlich 
lahm, wenn es um das gezielte Ansteuern von einzelnen Pins geht.

Im Prinzip ist es aber auch egal, geht nur darum, dass man "schöne" 
Treiber schreibt, sodass man Anwendungen in High-Level Frameworks 
programmieren kann ohne sich um die darunterliegenden Details kümmern zu 
müssen. WiFi bzw. Ethernet inkl. Web-Interface wären auch nett.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Halte ich nach wie vor zu "komplex". Ich würde die Clients wirklich
> "dumm" halten.

Ist überhaupt nicht komplex. Wenn Du als Zeitspanne 0 schickst, hast Du 
genau Deinen "dummen" Fall. Mit Zeitspanne != 0 spart es aber jede Menge 
an Kommunikation. Hast Du Dir mal das im Equinox-Thread verlinkte Video 
heruntergeladen und angeschaut?

> Zwischenwerte & Co. sollen alle vom Master kommen. Der
> hat genug Power und kann sich Gedanken machen was Sinn macht.

Hier geht es nicht um Power, sondern um die Menge an Daten. Du hast zum 
Beispiel ein Bild (MxN = 100 RGB-Werte) und Du willst, dass eine halbe 
Sekunde ein anderes Bild gezeigt wird. Wenn Du nun das Ziel-Bild 
schickst (weitere 100 RGB-Werte), dann faden die Pixel wie von 
Geisterhand gleitend auf das Zielbild. Das gibt für jedes Pixel einen 
gleitenden Übergang, wobei die Geschwindigkeit intern bis zu 25 Updates 
pro Sekunde sein können. Stell Dir nun vor, Du müsstest die alle 
übertragen...

> Ich würde
> das mit einem Touch-Monitor vergleichen. Hier kümmert sich der Monitor
> auch nur im die Eingabe (Touch) bzw. Ausgabe (Pixel). Die Auswertung der
> Eingabe(n) bzw. die Ausgabe(n) kommen vom Host.

Das ist doch okay so. Nur die Zwischenwerte können für die Übergänge 
intern berechnet werden, sonst langweilen sich die Slaves doch nur.

> Frank M. schrieb:
>> Ich würde da eher einen UART-Bus nehmen:
>> Alle Slaves haben eine ausgezeichnete Adresse und horchen mit RX an
>> derselben Strippe.
>
> Nur haben wir dann das Problem, dass die Leitung extrem (!) lang bzw.
> kapazitiv ist.

Nö. Du legst TX des Masters auf 10 Transistoren/MOSFets und die schickst 
Du durch die Zeilen. Dann ist jede der Strippen nur maximal so lang wie 
eine Zeile und nicht M x N Zeilen.

> Keine Ahnung, ob das so ohne Weiteres in den Griff zu
> bekommen ist. Eine individuelle Adressierung würde mir auch besser
> gefallen, aber man kann nicht alles haben ;).

Doch kann man. Schau Dir mal das Video an. Die C-Funktionen sind im 
Master sehr klein, die Effekte sind aber riesig. Und wie gesagt: Mit 
Zeitspanne = 0 hast Du Deinen "Dummy-Mode" :-)

Die Funktionen zum Faden innerhalb der ATTinys kann ich gern beisteuern, 
das ist kein Problem.

> Frank M. schrieb:
>> Ich würde als Master einen Raspberry-PI oder ein Carambola nehmen. Dann
>> haben wir genügend Power und die nötigen Schnittstellen.
>
> Wir hatten uns weiter oben schon auf ein Beaglebone geeinigt. Ist auch
> ein Linuxboard, bietet aber den Vorteil, dass es gleich MCUs mitliefert,
> die die Kommunikation übernehmen können. Der RasPi ist z.B. ziemlich
> lahm, wenn es um das gezielte Ansteuern von einzelnen Pins geht.

Meinetwegen auch Beaglebone, da hab ich noch 4 Stück von in der 
Bastelkiste, kein Problem ;-)

> Im Prinzip ist es aber auch egal, geht nur darum, dass man "schöne"
> Treiber schreibt, sodass man Anwendungen in High-Level Frameworks
> programmieren kann ohne sich um die darunterliegenden Details kümmern zu
> müssen. WiFi bzw. Ethernet inkl. Web-Interface wären auch nett.

Eben. Ist alles machbar.

Gruß,

Frank

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Hast Du Dir mal das im Equinox-Thread verlinkte Video
> heruntergeladen und angeschaut?

Ja, und in deinem Fall macht das wahrscheinlich auch am meisten Sinn. 
Hier sehe ich die Notwendigkeit dafür aber nicht, weil es das Entwickeln 
von Anwendungen schwieriger bzw. unintuitiver macht. Würde das ganze 
lieber als eine Art Framebuffer behandeln, anstatt mir über verschiedene 
Timing-Aspekte Gedanken machen zu müssen.

Frank M. schrieb:
> Stell Dir nun vor, Du müsstest die alle
> übertragen...

Der Bus muss das sowieso hergeben, sofern wir irgendetwas realisieren 
wollen was mit der Intelligenz der einzelnen Clients nicht mehr möglich 
ist.

Frank M. schrieb:
> Nö. Du legst TX des Masters auf 10 Transistoren/MOSFets und die schickst
> Du durch die Zeilen. Dann ist jede der Strippen nur maximal so lang wie
> eine Zeile und nicht M x N Zeilen.

Wobei selbst das noch 1-2 Meter lang werden kann, je nachdem was die 
Leute denn effektiv vor haben. Bei den erforderlichen Taktraten stelle 
ich mir das schwierig vor. Bin aber kein ausgebildeter Elektrotechniker, 
ist nur mein Bauchgefühl. Lasse mich da gerne vom Gegenteil überzeugen 
;).

Frank M. schrieb:
> Doch kann man. Schau Dir mal das Video an. Die C-Funktionen sind im
> Master sehr klein, die Effekte sind aber riesig. Und wie gesagt: Mit
> Zeitspanne = 0 hast Du Deinen "Dummy-Mode" :-)

Das Video habe ich gesehen. Finde ich auch klasse. Aber das ist trotzdem 
nicht so besonders gut auf diesen Fall übertragbar. Wir wollen mit dem 
ganzen Tisch kontextabhängig interagieren. Intelligenz in den Clients 
halte ich eher für störend bzw. komplett unnötig. Da würde ich lieber 
den Bus so dimensionieren, dass die konstante Ausgabe von Daten mit 30 
Hz kein Problem darstellt. Im Worst-Case muss das ja auch bei "schlauen" 
Clients funktionieren, ansonsten wäre man auf das beschränkt was die 
Clients können. Und die sind nun einmal bei weitem nicht so rechenstark 
wie der dazugehörige Host.

Wie sehen das denn die anderen? Vielleicht bin ich auch der Einzige, der 
das so sieht, aber irgendwie gefällt mir die Idee von "schlauen" Clients 
nicht so besonders. Wie gesagt, ich würde das Ding eher mit einem 
Touch-Monitor vergleichen. Und bei einem solchen Monitor kommen 
sämtliche Auswertungen, Effekte und Anwendungen auch vom Host.

Mit freundlichen Grüßen,
Karol Babioch

von Konrad S. (maybee)


Lesenswert?

Ich greife mal Franks Fading auf und spinne was dran.

Unter Verzicht auf einen Quarz ergibt die 16-Bit-PWM eine Rate von 122 
Updates pro Sekunde, ein recht brauchbarer Wert. Mit einem Byte für die 
Fading-Dauer kann das Fading mehr als zwei Sekunden dauern.

Bei angenommenen fünf Bytes pro Feld, 30 Frames pro Sekunde und 
geschätzten 20 kByte pro Sekunde Nettoduchsatz könnten pro Master-TX 
durchaus 128 Felder mit Daten versorgt werden.

Der "Trick" mit mit der gemeinsamen Ansteuerung der Felder-RX geht 
ähnlich auch für den Rückkanal: Solange für der Felder-TX das TXENn-Bit 
nicht gesetzt ist, gilt die normale Funktion des Port-Pins, kann also 
hochohmiger Input sein. Felder-TX-Pins lassen sich zusammenschalten, 
wenn die Software sicherstellt, dass nur immer ein Feld sendet. Hier ist 
viel Zeit für Sensordaten der Felder, weil keine Daten vom Master 
transportiert werden müssen.

von Markus M. (adrock)


Lesenswert?

Hi,

die Nodes/Pixel sollten so minimal wie möglich sein, sowohl was die 
Bauteile als auch Intelligenz betrifft.

Bauteile:

- Controller (ATtiny841 ?)
- RGB-LED
- IR-LED
- IR-Photodiode
- ein paar Widerstände und Kondensatoren
- ggf. Quarz notwendig
- ggf. LED-Treiber

Intelligenz des Pixelcontrollers:

- Bootloader zum nachträglichen Neuprogrammieren (wichtig!)
- Implementierung einer Daisy Chain, Taktgenerierung/Weitergabe noch 
offen
- Annahme der RGB-Daten
- Software oder Hardware PWM
- Ansteuerung der IR-LED (pulsen)
- Rückgabe des Analogwertes der gemessenen Spannung (ggf. gemittelt 
und/oder Differenz aus IR-LED an/aus) an der IR-Photodiode

Sämtliche Steuerung der Pixel soll vom Master erfolgen.

Ciao...
Markus

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Frank M. schrieb:
>> Hast Du Dir mal das im Equinox-Thread verlinkte Video
>> heruntergeladen und angeschaut?
>
> Ja, und in deinem Fall macht das wahrscheinlich auch am meisten Sinn.
> Hier sehe ich die Notwendigkeit dafür aber nicht, weil es das Entwickeln
> von Anwendungen schwieriger bzw. unintuitiver macht. Würde das ganze
> lieber als eine Art Framebuffer behandeln, anstatt mir über verschiedene
> Timing-Aspekte Gedanken machen zu müssen.
>
> Frank M. schrieb:
>> Stell Dir nun vor, Du müsstest die alle
>> übertragen...
>
> Der Bus muss das sowieso hergeben, sofern wir irgendetwas realisieren
> wollen was mit der Intelligenz der einzelnen Clients nicht mehr möglich
> ist.
>
> Frank M. schrieb:
>> Nö. Du legst TX des Masters auf 10 Transistoren/MOSFets und die schickst
>> Du durch die Zeilen. Dann ist jede der Strippen nur maximal so lang wie
>> eine Zeile und nicht M x N Zeilen.
>
> Wobei selbst das noch 1-2 Meter lang werden kann, je nachdem was die
> Leute denn effektiv vor haben. Bei den erforderlichen Taktraten stelle
> ich mir das schwierig vor. Bin aber kein ausgebildeter Elektrotechniker,
> ist nur mein Bauchgefühl. Lasse mich da gerne vom Gegenteil überzeugen
> ;).
>
> Frank M. schrieb:
>> Doch kann man. Schau Dir mal das Video an. Die C-Funktionen sind im
>> Master sehr klein, die Effekte sind aber riesig. Und wie gesagt: Mit
>> Zeitspanne = 0 hast Du Deinen "Dummy-Mode" :-)
>
> Das Video habe ich gesehen. Finde ich auch klasse. Aber das ist trotzdem
> nicht so besonders gut auf diesen Fall übertragbar. Wir wollen mit dem
> ganzen Tisch kontextabhängig interagieren. Intelligenz in den Clients
> halte ich eher für störend bzw. komplett unnötig. Da würde ich lieber
> den Bus so dimensionieren, dass die konstante Ausgabe von Daten mit 30
> Hz kein Problem darstellt. Im Worst-Case muss das ja auch bei "schlauen"
> Clients funktionieren, ansonsten wäre man auf das beschränkt was die
> Clients können. Und die sind nun einmal bei weitem nicht so rechenstark
> wie der dazugehörige Host.
>
> Wie sehen das denn die anderen? Vielleicht bin ich auch der Einzige, der
> das so sieht, aber irgendwie gefällt mir die Idee von "schlauen" Clients
> nicht so besonders. Wie gesagt, ich würde das Ding eher mit einem
> Touch-Monitor vergleichen. Und bei einem solchen Monitor kommen
> sämtliche Auswertungen, Effekte und Anwendungen auch vom Host.
>
> Mit freundlichen Grüßen,
> Karol Babioch

Ich stimme Karol voll zu:
Hardware und Protokoll strukturell so simpel wie möglich, Slave = Dummer 
Pixel, der Host/Master hält den Framebuffer und überträgt das komplette 
Bild mit 25fps.

Oder anders ausgedrückt: es ist sowohl bei Software als auch bei 
Hardware der beste Weg mit dem wichtigen Base Case zu beginnen und die 
Lösung so simpel wie möglich, so komplex wie nötig aufzusetzen.
Speed-Optimierungen o.ä. macht man später, wenn man in konkrete Probleme 
läuft.
Also spare ich mir adressierbare Notes und ein komplexeres 
Bildmanagement solange ich kann und mache einen dummen Daisy Chain Bus 
und einen Framebuffer.

Es gibt keinen harten Grund eine Deltaanzeige zu machen sofern der Bus 
25fps bei 200 oder 400 Pixeln hergibt.
Wenn dann doch mal jemand eine Tanzfläche mit 10.000 Zellen bauen will, 
dann muss er sich was überlegen :-)

von Ast E. (vis)


Lesenswert?

Also 25 ist aber wirklich Untergrenze oder nicht? 35-40Hz sind doch 
schon schöner :-)

ich würde die "dumme" Salve Taktik auch bevorzugen. Ich glaub ein 
intelligenter Slave/Pixel zieht auch viel Aufmerksamkeit und Sorgen mit 
sich. Lieber einen strapazierbaren/schnellen Bus und alle Entwicklungen 
können auf dem Master laufen. Die Pixelplatinen nehmen nur noch 
RGB-Daten an, zeigen an und schicken Touch-Sensor-Wert zurück.

Hast du die alten oder neuen Beagle Bones? Also einen Black? Momentan 
sind die Dinger ja recht Rar, wie ich das mitbekommen habe :-(



P.S.:  Kommt es mir nur so vor oder wird es hier langsam ein wenig 
kuddel muddel von den Themen... wie wäre es mit einem kurzen 
Schlachtplan für die weiteren Besprechungen ? ;-)

freut mich aufjedenfall, dass sich nun viele hier beteiligen !

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Also 25 ist aber wirklich Untergrenze oder nicht? 35-40Hz sind doch
> schon schöner :-)

Kannst du denn wirklich mehr als 25 Bilder pro Sekunde wahrnehmen? Ich 
behaupte mal: Nein. Aber klar, der Bus sollte nicht an der absoluten 
Leistungsgrenze betrieben werden.

Tim R. schrieb:
> P.S.:  Kommt es mir nur so vor oder wird es hier langsam ein wenig
> kuddel muddel von den Themen... wie wäre es mit einem kurzen
> Schlachtplan für die weiteren Besprechungen ? ;-)

Mach einen Vorschlag ;). Bis zum ersten Prototyp ist das wohl alles - 
mehr oder weniger - eine Sammlung von Ideen und Anforderungen.

Mit freundlichen Grüßen,
Karol Babioch

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich finde, Karol macht einen kleinen Denkfehler beim UART-Ring. Selbst 
bei einer Übertragungsrate von 115200 Baud sind es bei 8 Bit / no parity 
insgesamt 10 Bits (inkl. Start-/Stop-Bit) pro Byte.

Damit beträgt die Übertragungsrate 11520 Byte/sec.

Nehmen wir nun 100 Slaves an und 3 Bytes für jeden RGB-Wert. Dann sind 
das 3000 zu übertragene Bytes. Die Übertragung vom Master aus dauert 
dafür minimal 3000/11520 = 0,26 Sekunden. Damit kommt man auf ca. 4 
Frames pro Sekunde. Hinzu kommen noch Verzögerungen bis zum letzten 
Slave, weil die Bytes immer erst weitergereicht werden können, wenn sie 
auch komplett empfangen wurden. Der letzte Slave erhält seine Daten also 
um einiges später, nämlich mindestens um 100/11520 Sekunden - auch wenn 
die Daten des letzten Slaves als erstes geschickt werden würden.

Mit meinem intelligenten Protokoll (zusammen mit dem UART-Bus statt 
Ring), wo nur die Unterschiede gesendet werden brauchen, reduziert sich 
die zu übertragene Datenmenge erheblich. Genauso arbeiten 
Video-Komprimierungen, welche die Datenmenge auf durchschnittlich ein 
Zehntel herunterdrücken.

Es ist auch kein Problem, für den Master eine Funktion zu schreiben, die 
einen Soll-Framebuffer übergeben bekommt und dann anhand des 
Ist-Framebuffer-Inhalts nur die Unterschiede (in Blöcken 
zusammengefasst) überträgt. Was ist daran kompliziert? Der 
Anwenderprogrammierer füllt einen Framebuffer, ruft die Send-Funktion 
auf, diese ermittelt die Diffs zum Ist-Zustand und überträgt dann nur 
die Unterschiede. Da braucht der Programmierer einer Anwendung für den 
Tisch sich überhaupt keinen Kopf drum zu machen. Das ist easy. Zusammen 
mit der Fade-Intelligenz in den Slaves kann das alles noch geglättet 
werden. Da ruckelt dann nix mehr. Die Slave-Funktionen dafür habe ich 
fix und fertig. Da muss nichts mehr neu erfunden werden noch bereitet es 
irgendeinem Kopfzerbrechen. Wenn der Anwender-Programmierer das 
Slave-Fading nicht nutzen will, benutzt er einfach als Fading-Zeitdauer 
die Null und schon erscheint das neue Bild instantan.

Wenn ich Lust und Zeit hätte, würde ich jetzt einfach mal 10 
Equinox-LED-Streifen zusammenlöten (10x15 = 150 ATtinys) und zeigen, 
dass man damit sogar einfache Filme in Farbe zeigen kann, wobei 
Farbwechsel von bestimmten Pixeln sacht ablaufen und die ATtinys damit 
sogar Zwischenbilder "berechnen" und damit Bewegungen viel flüssiger 
ablaufen.

Mit einer Komplettübertragung eines Frames über UART bekommt man das 
nicht hin, siehe oben.

Aber wie immer bei solchen Projekten: Dutzende reden, bis irgendwann 
einer anfängt und macht....

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Tim R. schrieb:
>> Also 25 ist aber wirklich Untergrenze oder nicht? 35-40Hz sind doch
>> schon schöner :-)
>
> Kannst du denn wirklich mehr als 25 Bilder pro Sekunde wahrnehmen? Ich
> behaupte mal: Nein. Aber klar, der Bus sollte nicht an der absoluten
> Leistungsgrenze betrieben werden.

Es ist hier auch anders als zB beim Multiplexing: dort ist ein Pixel ein 
n-Tel der Zeit an und (n-1)/n aus - hier brauche ich wie bei PWM eine 
hohe Refresh Rate um kein Flimmern zu sehen.

Aber unsere Pixel halten einfach den letzten Stand solange bis neue 
Daten kommen.
Also geht es nicht um flimmern, sondern um die flüssige Wahrnehmung von 
Bewegung.
Und da wir sowieso nur eine Auflösung von 10x10 oder 20x20 haben kann 
man von flüssiger Bewegung sowieso nicht sprechen, da ein Block immer um 
6cm weiterspringt oder wenn es überblendet wird über zwei Blöcke 
schmiert.
Ob das mit 25 oder 35fps passiert, das ist sowas von Wurst.

Da ist es wesentlich wichtiger ein PWM Auflösung der Pixel von 10 Bit zu 
haben, damit Farbverläufe sanft sind.

> Tim R. schrieb:
>> P.S.:  Kommt es mir nur so vor oder wird es hier langsam ein wenig
>> kuddel muddel von den Themen... wie wäre es mit einem kurzen
>> Schlachtplan für die weiteren Besprechungen ? ;-)

Es müsste mal jemand durchgehen und die wesentlichsten Fakten, 
Entscheidungen, Kontroversen rausschreiben.

> Mach einen Vorschlag ;). Bis zum ersten Prototyp ist das wohl alles -
> mehr oder weniger - eine Sammlung von Ideen und Anforderungen.

Ja, es bräuchte jetzt eine konkrete Implementation von mindestens 
3x3....

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Frank M. schrieb:

> Nehmen wir nun 100 Slaves an und 3 Bytes für jeden RGB-Wert. Dann sind
> das 3000 zu übertragene Bytes.

Sorry, ich habe falsch gerechnet. Es sind natürlich nur 300 Bytes und 
damit ist die Übertragungsdauer 0,026 Sekunden + 100/11520 = 0,026 + 
0,008 = 0,034 Sekunden. Also sind doch ca. 30 Frames pro Sekunde drin.

Ich nehme daher alles zurück - auch wenn es bei 200 Slaves dann "nur" 
noch 15 Frames pro Sekunde sind.

von Conny G. (conny_g)


Lesenswert?

Frank M. schrieb:
> Ich finde, Karol macht einen kleinen Denkfehler beim UART-Ring. Selbst
> bei einer Übertragungsrate von 115200 Baud sind es bei 8 Bit / no parity
> insgesamt 10 Bits (inkl. Start-/Stop-Bit) pro Byte.
>
> Damit beträgt die Übertragungsrate 11520 Byte/sec.
>
> Nehmen wir nun 100 Slaves an und 3 Bytes für jeden RGB-Wert. Dann sind
> das 3000 zu übertragene Bytes. Die Übertragung vom Master aus dauert
> dafür minimal 3000/11520 = 0,26 Sekunden. Damit kommt man auf ca. 4
> Frames pro Sekunde. Hinzu kommen noch Verzögerungen bis zum letzten
> Slave, weil die Bytes immer erst weitergereicht werden können, wenn sie
> auch komplett empfangen wurden. Der letzte Slave erhält seine Daten also
> um einiges später, nämlich mindestens um 100/11520 Sekunden - auch wenn
> die Daten des letzten Slaves als erstes geschickt werden würden.
>
> Mit meinem intelligenten Protokoll (zusammen mit dem UART-Bus statt
> Ring), wo nur die Unterschiede gesendet werden brauchen, reduziert sich
> die zu übertragene Datenmenge erheblich. Genauso arbeiten
> Video-Komprimierungen, welche die Datenmenge auf durchschnittlich ein
> Zehntel herunterdrücken.
>
> Es ist auch kein Problem, für den Master eine Funktion zu schreiben, die
> einen Soll-Framebuffer übergeben bekommt und dann anhand des
> Ist-Framebuffer-Inhalts nur die Unterschiede (in Blöcken
> zusammengefasst) überträgt. Was ist daran kompliziert? Der
> Anwenderprogrammierer füllt einen Framebuffer, ruft die Send-Funktion
> auf, diese ermittelt die Diffs zum Ist-Zustand und überträgt dann nur
> die Unterschiede. Da braucht der Programmierer einer Anwendung für den
> Tisch sich überhaupt keinen Kopf drum zu machen. Das ist easy. Zusammen
> mit der Fade-Intelligenz in den Slaves kann das alles noch geglättet
> werden. Da ruckelt dann nix mehr. Die Slave-Funktionen dafür habe ich
> fix und fertig. Da muss nichts mehr neu erfunden werden noch bereitet es
> irgendeinem Kopfzerbrechen. Wenn der Anwender-Programmierer das
> Slave-Fading nicht nutzen will, benutzt er einfach als Fading-Zeitdauer
> die Null und schon erscheint das neue Bild instantan.
>
> Wenn ich Lust und Zeit hätte, würde ich jetzt einfach mal 10
> Equinox-LED-Streifen zusammenlöten (10x15 = 150 ATtinys) und zeigen,
> dass man damit sogar einfache Filme in Farbe zeigen kann, wobei
> Farbwechsel von bestimmten Pixeln sacht ablaufen und die ATtinys damit
> sogar Zwischenbilder "berechnen" und damit Bewegungen viel flüssiger
> ablaufen.
>
> Mit einer Komplettübertragung eines Frames über UART bekommt man das
> nicht hin, siehe oben.
>
> Aber wie immer bei solchen Projekten: Dutzende reden, bis irgendwann
> einer anfängt und macht....

Hi Frank,

Uart ist auch nur die Schnittstelle, genau genommen USI.
Und damit kann man auch ein Protokoll wie SPI fahren.
Oder so eins wie bei den WS2812 Streifen, da bin ich auch großer Fan 
von, das ist genial mit implizitem CLK und Latch durch Pause.
Kennst die WS2812? Ein supereinfaches und echt mächtiges Prinzip, weil 
jede LED das Signal aktiv weitergibt, also hat man nicht mit Buslänge zu 
kämpfen, jede LED schickt ein neues Signal.

Schau Dir mal meine Protokollvorschlag hier an:
http://www.mikrocontroller.net/articles/RGB_Touch_Matrix

Das ist der Ws2812 Dausy Chain nachempfunden und es gibt auch mit 100 
Slaves überhaupt kein Problem, Zitat:

"Idealerweise hängen alle Slaves einfach an einem Strang als 
einfachstmögliche Konstellation - einfache Verkabelung, keine 
mehrfach-Einspeisung in der Software. Für einen 10x10 RGB-Touch-Tisch 
sind das 100 Slaves. Jeder hat 24 Bits zu bekommen, ergibt 2400 Bits. 
Mal Framerate von 25 ergibt 25 x 2.400 Bits = 60.000 Bits pro Sekunde. 
Vorsichtshalber betreiben wir den Bus mit 100 kBit, dann sind wir nicht 
in einem technisch kritischen Bereich und brauchen nur einen Strang. 
(Die WS2811 machen 800 kBit, also das 8-fache). 250 kbit sollten noch 
ebenso einfach machbar sein, dann kann auch ein 10x20 Tisch in einem 
Strang betrieben werden"

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Ich finde, Karol macht einen kleinen Denkfehler beim UART-Ring. Selbst
> bei einer Übertragungsrate von 115200 Baud sind es bei 8 Bit / no parity
> insgesamt 10 Bits (inkl. Start-/Stop-Bit) pro Byte.

Wieso rechnest du mit 115200 Baud ;)? Laut Datenblatt des ATtiny841 sind 
auch deutlich mehr drin. Bei 20 MHz Oszillatorfrequenz sogar bis zu 2.5 
Mbit/s (bei 0% relativem Fehler!). Insofern sollte das rein von der 
Datentransferrate weniger das Problem werden.

Latenz und gleichzeitige Anzeige der übergebenen Daten ist ein anderes 
Problem, das hängt aber davon ab wie genau man das aufbaut.

Conny G. schrieb:
> Ein supereinfaches und echt mächtiges Prinzip, weil
> jede LED das Signal aktiv weitergibt, also hat man nicht mit Buslänge zu
> kämpfen, jede LED schickt ein neues Signal.

Wobei das bei uns ja in Software (und wahrscheinlich Interrupt basiert?) 
geschehen würde. Dadurch kann es zu Schwankungen im Timing kommen, die 
umso größer werden, umso länger die Kette ist. Oder sehe ich das falsch?

Conny G. schrieb:
> dann kann auch ein 10x20 Tisch in einem
> Strang betrieben werden"

Ich ziele irgendwie trotzdem immer noch 20x20 an. Das entspricht bei 5x5 
cm großen Pixeln gerade mal 1x1 m. Und deine Rechnung sieht auch noch 
nicht die Touchwerte vor, oder? Sind ja auch nochmal (mindestens) ein 
Byte pro Pixel?

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Ein supereinfaches und echt mächtiges Prinzip, weil
>> jede LED das Signal aktiv weitergibt, also hat man nicht mit Buslänge zu
>> kämpfen, jede LED schickt ein neues Signal.
>
> Wobei das bei uns ja in Software (und wahrscheinlich Interrupt basiert?)
> geschehen würde. Dadurch kann es zu Schwankungen im Timing kommen, die
> umso größer werden, umso länger die Kette ist. Oder sehe ich das falsch?

Kommt darauf an wieviel die Verzögerung ist und ob das wirklich stört.
Sagen wir mal ein Slave braucht bei 20 MHz 200 Takte zur Verarbeitung 
und zum Weitersenden. Halte das aber für zuviel. Denn wenn ich weiß ich 
hab meine Daten und muss nur auf den Ausgang schalten, was ich bekomme 
dann sind keine 2 Dutzend Takte.

Bei 200 Takten hätten wir 10us Verzögerung bei jedem Slave, bei 100 
Slaves 1ms.
Das Latch bei den Ws2812 ist eine Pause von mind. 50us.
Jetzt wäre die Frage, ob diese Verzögerung ein Problem für die 
Latchpause ist. Eigentlich dürfte das nicht so sein, es kommt die Pause 
zwar 1ms später hinten an, aber der Abstand der Bits muss sowieso 
gleich bleiben, sonst klappt das Protokoll im Ansatz nicht.

Bei 20 Takten Verzögerung pro Slave sind wir bei 100us Verzögerung beim 
100sten Slave.

Beides sieht man nicht. Wenn also die Abstände der Bits bei jedem Slave 
gleich bleiben, dann ist auf jeden Fall alles gut.


> Conny G. schrieb:
>> dann kann auch ein 10x20 Tisch in einem
>> Strang betrieben werden"
>
> Ich ziele irgendwie trotzdem immer noch 20x20 an. Das entspricht bei 5x5
> cm großen Pixeln gerade mal 1x1 m. Und deine Rechnung sieht auch noch
> nicht die Touchwerte vor, oder? Sind ja auch nochmal (mindestens) ein
> Byte pro Pixel?

Wir haben doch eine Tx Chain und eine Rx Chain, die gleichzeitig laufen, 
also braucht der Rückkanal gar keine extra Zeit.

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Laut Datenblatt des ATtiny841 sind
> auch deutlich mehr drin. Bei 20 MHz Oszillatorfrequenz

Der ATtiny841 ist nur bis 16MHz spezifiziert. Und das erfordert einen 
externen Takt bzw. Quarz.

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Wir haben doch eine Tx Chain und eine Rx Chain, die gleichzeitig laufen,
> also braucht der Rückkanal gar keine extra Zeit.

Richtig, ich vergaß. Macht die Aufteilung in zwei Ringe deiner Meinung 
nach dann noch Sinn? Die ATtiny841 jedenfalls haben jeweils zwei 
Hardware Module ;).

Konrad S. schrieb:
> Der ATtiny841 ist nur bis 16MHz spezifiziert. Und das erfordert einen
> externen Takt bzw. Quarz.

Dann sollte man Atmel mal darauf hinweisen, dass die entsprechenden UBRR 
Tabellen darüber hinaus gehen ;). Habe gar nicht überprüft, ob die 
vorgeschlagenen Werte überhaupt möglich bzw. spezifiziert sind.

Mit freundlichen Grüßen,
Karol Babioch

von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Dann sollte man Atmel mal darauf hinweisen

Hm, ja, das Datenblatt da noch ein paar Inkonsistenzen. Das Maximum ist 
wohl 16MHz mit Quarz.

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Wir haben doch eine Tx Chain und eine Rx Chain, die gleichzeitig laufen,
>> also braucht der Rückkanal gar keine extra Zeit.
>
> Richtig, ich vergaß. Macht die Aufteilung in zwei Ringe deiner Meinung
> nach dann noch Sinn? Die ATtiny841 jedenfalls haben jeweils zwei
> Hardware Module ;).

Wie meinst Du das?

> Konrad S. schrieb:
>> Der ATtiny841 ist nur bis 16MHz spezifiziert. Und das erfordert einen
>> externen Takt bzw. Quarz.
>
> Dann sollte man Atmel mal darauf hinweisen, dass die entsprechenden UBRR
> Tabellen darüber hinaus gehen ;). Habe gar nicht überprüft, ob die
> vorgeschlagenen Werte überhaupt möglich bzw. spezifiziert sind.
>
> Mit freundlichen Grüßen,
> Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Wie meinst Du das?

Willst du die Daten nur von einer Seite einspeisen, oder würde es Sinn 
machen dies von zwei Seiten zu tun, die Bandbreite zu verdoppeln und die 
Latenz zu halbieren.

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Wie meinst Du das?
>
> Willst du die Daten nur von einer Seite einspeisen, oder würde es Sinn
> machen dies von zwei Seiten zu tun, die Bandbreite zu verdoppeln und die
> Latenz zu halbieren.

Gleiches wie vorher: so einfach wie geht. Also nur einmal einspeisen, 
solange sich nicht der Bedarf für mehr auftut.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hi Conny,

Conny G. schrieb:
> Hi Frank,
>
> Uart ist auch nur die Schnittstelle, genau genommen USI.
> Und damit kann man auch ein Protokoll wie SPI fahren.

Weiß ich :-)

> Oder so eins wie bei den WS2812 Streifen, da bin ich auch großer Fan
> von, das ist genial mit implizitem CLK und Latch durch Pause.
> Kennst die WS2812? Ein supereinfaches und echt mächtiges Prinzip, weil
> jede LED das Signal aktiv weitergibt, also hat man nicht mit Buslänge zu
> kämpfen, jede LED schickt ein neues Signal.

Ja, das Prinzip gefällt mir auch. Soviel ich aber weiß, können die 
Dinger nur 8Bit-PWM pro Farbe. Das ist der einzige Grund, warum ich sie 
bisher nicht mag. Als ich damals die Equinox-Streifen entwarf, waren die 
WS-Dinger auch noch ein Vielfaches teurer als heute. Zum zweiten ist das 
Timing bei den WS2812-LEDs recht eng gehalten.

> Schau Dir mal meine Protokollvorschlag hier an:
> http://www.mikrocontroller.net/articles/RGB_Touch_Matrix

Mach ich.

> Das ist der Ws2812 Dausy Chain nachempfunden und es gibt auch mit 100
> Slaves überhaupt kein Problem, Zitat:

Ja, ich hatte mich gestern abend um einen Faktor 10 verrechnet. Man 
schafft bei 115200 Baud und 100 Slaves tatsächlich 30 fps. Sorry.

Das (minimale) Latenzproblem, dass der letzte Slave seine Daten 
zeitversetzt erhält, könnte man übrigens lösen, indem man die 
Framebuffer-Daten "rückwärts" schickt, d.h. die Daten für den letzten 
Slave werden als erstes losgeschickt. Damit minimiert man die 
Zeitdifferenzen. Aber wahrscheinlich sind diese sowieso nicht sichtbar - 
jedenfalls nicht bei 100 Slaves. Ausserdem müssten die Slaves dann 
wissen, wie lange die Daisy-Chain ist. Macht alles nur komplizierter.

Gruß,

Frank

: Bearbeitet durch Moderator
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich habe mich mal schlau gemacht, was es für verschiedene 
Touchsensor-Techniken gibt.

Dabei ist mir die FTIR-Technik über den Weg gelaufen:

  http://www.cs.nyu.edu/~jhan/ftirsense/

Das Prinzip beruht darauf, dass eine Berührung an einer bestimmten 
Stelle auf einer Acryl-Glasscheibe eine Totalreflektion verhindert und 
so ein Austritt des seitlich eingespeisten Lichts ermöglicht.

Man muss also nur seitlich an der Scheibe ein paar IR-LEDs anbringen, 
welche erstmal wegen der Totalreflektion ein IR-Licht erzeugen, welches 
normalerweise "innerhalb" der Scheibe verbleibt.

Drückt man nun mit dem Finger auf eine Zelle, wird an dieser Stelle das 
IR-Licht auf den IR-Sensor fallen. Wahrscheinlich geht das sogar besser 
als mit den Sensoren, die in dem oben genannten Tisch-Video eingesetzt 
wurden. Dort muss eine Zelle fast komplett mit der Hand abgedeckt 
werden, damit der Sensor anspricht. Bei FTIR könnte eventuell schon ein 
Finger ausreichen.

Es ist also gar nicht notwendig, dass jeder Slave einen eigenen 
IR-Sender hat, er braucht nur einen Empfänger. Ist das seitlich 
eingespeiste IR-Licht moduliert, könnte es mit TSOPs als Empfänger sehr 
gut klappen.

Fragt sich nur, ob das auch mit Milchglas oder nur mit Acrylglas geht. 
Probieren geht da über studieren ;-)

von asterix (Gast)


Lesenswert?

Klasse Idee, ich hatte mal an so etwas ähnliches mit Lichtschranken 
gedacht aber mit IR ist natürlich auch super!

Ich sehe dabei nur das Problem, was passiert wenn die Scheibe sich 
irgendwann "durchbiegt"... hier reichen ja Millimeter bereits aus um dem 
IR einen falschen Weg zu weisen oder nicht?!

Hab jetzt keine Angaben dazu gefunden, aber kann man dazu wirklich 
"stink normale" IR LEDs nutzen? reichen die dafür aus? Müsste man mal 
erforschen... aber an sich gefällt mir diese Technik mega gut ! sehr 
schöner Beitrag ! :-)

von Conny G. (conny_g)


Lesenswert?

Hi Frank,

das ist allerdings ziemlich cool, günstig und effizient!

Für Anwendung bei den Tisch fallen mir dazu zwei Dinge ein:

Ich wünsche mir ja auch die Erkennung von Annäherung, das ginge damit 
nicht.

Das funktioniert wohl über den Fettfilm des Fingers bzw die spezifischen 
Eigenschaften der Haut - den Glibberfaktor (wie nennt man das 
wissenschaftlich :-) ) - d.h. die Haut verbindet sich ein wenig mit der 
Oberfläche und bricht so die Reflexion.
Das würde dann wahrscheinlich mit Tassen, Gläsern etc nicht 
funktionieren und das ist einer Dinge, die man mit dem Tisch machen 
kann: die Farbe wechseln wo etwas abgestellt wird.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

asterix schrieb:
> Ich sehe dabei nur das Problem, was passiert wenn die Scheibe sich
> irgendwann "durchbiegt"... hier reichen ja Millimeter bereits aus um dem
> IR einen falschen Weg zu weisen oder nicht?!

Die Platte wird ja wohl auf einem zellenförmigen Gebilde liegen und 
nicht frei in der Luft hängen. Von daher wird auch nichts durchbiegen.

> Hab jetzt keine Angaben dazu gefunden, aber kann man dazu wirklich
> "stink normale" IR LEDs nutzen? reichen die dafür aus?

Ich sehe bei FTIR-Beschreibungen immer nur stinknormale LEDs. Aber ich 
nehme mal an, dass dasselbe Prinzip auch für IR-Licht funktioniert. 
Hätte den Vorteil, dass man TSOPs benutzen kann und sich damit 
unabhängig vom Umgebungslicht macht. Ich werde das die Tage testen.

von asterix (Gast)


Lesenswert?

Conny G. schrieb:
> Das funktioniert wohl über den Fettfilm des Fingers bzw die spezifischen
> Eigenschaften der Haut - den Glibberfaktor (wie nennt man das
> wissenschaftlich :-) ) - d.h. die Haut verbindet sich ein wenig mit der
> Oberfläche und bricht so die Reflexion.
> Das würde dann wahrscheinlich mit Tassen, Gläsern etc nicht
> funktionieren und das ist einer Dinge, die man mit dem Tisch machen
> kann: die Farbe wechseln wo etwas abgestellt wird.

Das müsste man untersuchen. Der Thread hier heißt ja auch ursprünglich 
Gegenstandserkennung. Ohne eine Tasse oder Ähnliches erkennen zu können 
wäre doch etwas schade... für den Touch mit Händen wäre es sehr genial

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Hi Conny,

Conny G. schrieb:

> Ich wünsche mir ja auch die Erkennung von Annäherung, das ginge damit
> nicht.

Nein, es muss ein direkter Kontakt mit der Platte hergestellt werden.

> Das würde dann wahrscheinlich mit Tassen, Gläsern etc nicht
> funktionieren und das ist einer Dinge, die man mit dem Tisch machen
> kann: die Farbe wechseln wo etwas abgestellt wird.

Das müsste man erstmal ausprobieren. Ich glaube nicht, dass es das Fett 
auf den Fingern ist. Dort, wo ein Gegenstand die Platte berührt, ändert 
sich der Brechungsindex des Materials. Das Licht wird dann nicht mehr an 
der Oberfläche totalreflektiert, sondern vom Gegenstand darüber in einem 
anderen Winkel, so dass das Licht dann nach unten austreten kann. Es 
sollte daher auch mit normalen Gegenständen wie Kaffeetassen gehen.

Wie gesagt: Ich teste das. Ich habe zuhause wg. IRMP genügend IR-Dioden, 
TSOPs und auch noch irgendwo eine Acryglasscheibe rumfliegen.

Wenn Du wirklich Annäherungen erkennen willst, dann wirds echt 
aufwändig. Wie wärs mit 2 Webcams an der Decke oberhalb des Tisches? ;-)

: Bearbeitet durch Moderator
von asterix (Gast)


Lesenswert?

Wie deine Acrylglasscheibe beschaffen ist wäre dann auch interessant zu 
wissen

Das Problem ist, dass die Vorstellungen nun etwas auseinander gehen. So 
wie ich die Resonanz hier festgestellt habe ist ein "richtiges Touch" 
erwünscht und keine >3cm Objekterkennung. Man müsste dann nach dem Test 
von Frank M. genau abgrenzen in welche Richtung das ganze laufen soll 
:-)

von Karol B. (johnpatcher)



Lesenswert?

Frank M. schrieb:
> Dabei ist mir die FTIR-Technik über den Weg gelaufen:

Interessant. Das Konzept klingt logisch und gefällt mir gut. 
Andererseits beeinflusst das auch die Tischkonstruktion, weil die Seiten 
nicht mehr den Abschluss bilden können.

Frank M. schrieb:
> Man muss also nur seitlich an der Scheibe ein paar IR-LEDs anbringen,
> welche erstmal wegen der Totalreflektion ein IR-Licht erzeugen, welches
> normalerweise "innerhalb" der Scheibe verbleibt.

Zum Anbringen von LEDs an der Seite würden sich ggf. die Halterungen 
anbieten, welche man normalerweise bei Glasbodenbeleuchtungen erhält:

Hab da mal was angehängt. Quelle: [1]

Müsste man halt sehen, ob man IR-LEDs in dem benötigten Formfaktor 
kaufen kann und wie viele man braucht (je nach Abstrahlwinkel?).

Frank M. schrieb:
> Wenn Du wirklich Annäherungen erkennen willst, dann wirds echt
> aufwändig. Wie wärs mit 2 Webcams an der Decke oberhalb des Tisches? ;-)

Dann lieber Xbox Kinect ;).

Mit freundlichen Grüßen,
Karol Babioch

[1]: 
http://www.lidl.de/media/product/0/0/6/1/1/8/5/livarno-lux-led-glasbodenbeleuchtung-regular--1.jpg

von asterix (Gast)


Lesenswert?

Wieviele IR-LEDs pro Pixelreihe würde man ungefähr benötigen?

von Karol B. (johnpatcher)


Lesenswert?

asterix schrieb:
> Wieviele IR-LEDs pro Pixelreihe würde man ungefähr benötigen?

Das kommt ganz auf die Glasplatte an und den Abstrahlwinkel der IR-LEDs 
an, hält sich aber stark in Grenzen (~3 pro Seite?).

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

asterix schrieb:
> Wieviele IR-LEDs pro Pixelreihe würde man ungefähr benötigen?

Das würde ich nicht "pro Pixelreihe", sondern eher "pro Tisch" 
bestimmen. Die LEDs senden sowieso alle dasselbe, müssen also nicht 
einzeln angesteuert werden.

Ich habe mal ein paar Links zu Selbstbau-Touch-Scheiben auf FTIR-Basis 
zusammengetragen:

 http://www.larrystendebach.com/windows-7-multi-touch-table-ftir-diy/
 http://sethsandler.com/multitouch/
 http://www.maximumpc.com/article/features/build_your_own_multitouch_surface_computer

Meist werden ca. 24 IR-LEDs an beiden kurzen Seiten verwendet - meist 
einfach in Reihe geschaltet. Als IR-Sensor wird eine Webcam verwendet, 
welche mit einem Tageslichtfilter versehen wird, damit nur das IR-Licht 
an der Webcam ankommt.

Die Demos sind echt beeindruckend. Da muss ich mir echt überlegen, ob 
ich einen LED-Tisch mit 20x10 oder doch direkt einen Tisch in 
HD-Auflösung baue.

Tetris kann man jedenfalls mit beiden Lösungen spielen ;-)

: Bearbeitet durch Moderator
von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Meist werden ca. 24 IR-LEDs an beiden kurzen Seiten verwendet - meist
> einfach in Reihe geschaltet.

Puh doch so viel ;). Bei deiner Idee mit TSOPs müssten die ja alle 
synchron laufen, um vom TSOP detektiert werden zu können? Klar, man 
kann, wie gesagt, alle in Reihe schalten :).

Und wie sieht es mit Gegenstandserkennung aus? Bist du da zufällig schon 
über Bilder/Videos gestoßen? Ich seh immer nur Finger und Hände ;).

Mit freundlichen Grüßen,
Karol Babioch

von asterix (Gast)


Lesenswert?

was mir noch gerade eingefallen ist... Multitouch? Wenn am Anfang der 
Reihe der Strahl reflektiert wird, können die dahinter folgendenden 
nicht per Touch angesteuert werden, das heißt man stellt sie mehr oder 
weniger stumm... oder wie sieht dafür die Lösung aus?

Ich werde mir mal geich die Links zu gemüte führen

von Karol B. (johnpatcher)


Lesenswert?

asterix schrieb:
> Ich werde mir mal geich die Links zu gemüte führen

Schau dir die Links doch einmal an ;). Man kann jeden einzelnen Finger 
einer Hand detektieren. Hängt wohl auch damit zusammen, dass man viele 
LEDs hat ;).

Mit freundlichen Grüßen,
Karol Babioch

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Frank M. schrieb:
>> Meist werden ca. 24 IR-LEDs an beiden kurzen Seiten verwendet - meist
>> einfach in Reihe geschaltet.
>
> Puh doch so viel ;). Bei deiner Idee mit TSOPs müssten die ja alle
> synchron laufen, um vom TSOP detektiert werden zu können? Klar, man
> kann, wie gesagt, alle in Reihe schalten :).

Eben, alle in Reihe oder mehrere Reihen als Gruppen an einem MosFet. Die 
IR-LEDs kosten nur ein paar Cent. Selbst bei 48 Stück sind es nur um die 
15 EUR.

> Und wie sieht es mit Gegenstandserkennung aus? Bist du da zufällig schon
> über Bilder/Videos gestoßen? Ich seh immer nur Finger und Hände ;).

Leider nein. Ich sehe auch immer nur Finger. Im ersten Video sieht man 
aber kurz ein Handy auf dem Tisch liegen, was eine Wellenbewegung des 
Bildes auslöst. Ob das echt ist? Muss man wohl ausprobieren.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Ich habe mittlerweile auch mindestens ein Video gesehen, wo Gegenstände 
erkannt werden. Zum Beispiel kleine 5x5cm große klare Plexischeiben, die 
man auf den Tisch legt. Sofort wird auf diesen Scheiben ein kleines 
Video abgespielt. Verschiebt man die Scheiben auf dem Tisch, wandert das 
Video immer mit, d.h. es sieht so aus, als wäre die kleine Plexischeibe 
ein eigenes Display.

Andere Gegenstände, die ich gesehen habe: Handys und Kreditkarten, die 
auf dem Tisch abgelegt bzw. verschoben und erkannt werden.

Will ich auch haben! Dagegen wirkt ein 20x10 LED-Tisch wie ein Oldtimer 
aus dem letzten Jahrhundert.... wenn man's doch "Old-Style" haben 
möchte, kann man ja einen 20x10 LED-Tisch per Software projezieren ;-)))

von asterix (Gast)


Lesenswert?

das ganze per Beamer etc. löst sich dann aber vom eigtl. Thema etwas ab 
und stellt ein eigenes Projekt da ;-)

von Conny G. (conny_g)


Lesenswert?

Frank M. schrieb:
> Will ich auch haben! Dagegen wirkt ein 20x10 LED-Tisch wie ein Oldtimer
> aus dem letzten Jahrhundert.... wenn man's doch "Old-Style" haben
> möchte, kann man ja einen 20x10 LED-Tisch per Software projezieren ;-)))

Entführt da jemand den Thread? :-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Conny G. schrieb:
> Entführt da jemand den Thread? :-)

Keine Angst, ich hatte nur gerade einen kleinen Begeisterungsanfall :-)

Also wie gesagt, ich werde das mal mit ein paar IR-Dioden und einem TSOP 
und einer Scheibe testen.

Sollte mich tatsächlich das Fieber gepackt haben, einen Full-HD-Tisch zu 
bauen, werde ich dafür einen eigenen Thread aufmachen.

von Ast E. (vis)


Lesenswert?

Frank M. schrieb:
> Keine Angst, ich hatte nur gerade einen kleinen Begeisterungsanfall :-)
Den hast du uns denk ich gerade allen verpasst, ich finde die Technik 
sehr gut :-))
> Also wie gesagt, ich werde das mal mit ein paar IR-Dioden und einem TSOP
> und einer Scheibe testen.
Kannst du das evtl. zeitlich eingrenzen, wann man dort mit Ergebnissen 
rechnen kann?!

von Ast E. (vis)


Lesenswert?

http://www.lowres.ch/ftir/

hier sieht man, dass relativ viele LEDs zum Einsatz kommen... also mit 
mindestens 3 pro Reihe (10x10) müsste man denke ich schon rechnen

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Tim R. schrieb:
>> Also wie gesagt, ich werde das mal mit ein paar IR-Dioden und einem TSOP
>> und einer Scheibe testen.
> Kannst du das evtl. zeitlich eingrenzen, wann man dort mit Ergebnissen
> rechnen kann?!

Ich habe dafür frühestens am nächsten Wochenende Zeit. Mittlerweile ist 
aber nach ausführlicher Lektüre diverser Dokumentationen/Anleitungen 
mein Enthusiasmus etwas gedämpft: Der FTIR-Effekt ist nur einigermaßen 
vernünftig messbar, wenn man auf die Acryl-Scheibe noch ein paar 
Schichten einer Silikon-Mischung aufträgt. Dies verstärkt den 
FTIR-Effekt. Ich weiß nicht, ob dieser Aufwand für einen LED-Tisch nicht 
zu hoch ist:

Die Anzahl der nötigen LEDs wächst zwar nur linear mit den Ausmaßen des 
Tisches (während die Anzahl der LEDs bei einer pro Zelle quadratisch 
wächst), aber bei 10x10 oder auch 10x20 spart man da gar nicht soviel 
ein - falls überhaupt.

Es gäbe auch noch die Möglichkeit, die IR-LEDs ein paar Millimeter über 
dem Tisch anzubringen, also Lichtschranken (horizontal und vertikal) zu 
spannen. Dann könnte man die Position von Fingern und Gegenständen schon 
schwebend über dem Tisch ermitteln. Das macht aber dann eine aufwändige 
Rahmenkontruktion notwendig und sieht bestimmt nicht so schön aus wie 
ein planer Glastisch.

Also die Sensor-Geschichte ist noch nicht ausgestanden. Wahrscheinlich 
ist es doch am einfachsten, in jede Zelle unterhalb des Tisches eine 
IR-LED zu stopfen und dann eine Reflektion zu messen, wenn jemand etwas 
drauflegt.

Aber hier mal Frage an Conny und Karol: Euch ist schon bewusst, dass ein 
LED-Tisch mit 10x20 sehr grobkörnig ist und eine abgestellte Kaffeetasse 
im Normalfall nicht genau über einer LED abgestellt wird und damit evtl. 
Nachbar-LEDs oder gar keine anspringen, um die Kaffeetasse von unten zu 
beleuchten? Ich halte den Sinn eines solchen Tisches mittlerweile für 
ziemlich fragwürdig. Es ist eine nette Spielerei, keine Frage.

: Bearbeitet durch Moderator
von Conny G. (conny_g)


Lesenswert?

Frank M. schrieb:
> Aber hier mal Frage an Conny und Karol: Euch ist schon bewusst, dass ein
> LED-Tisch mit 10x20 sehr grobkörnig ist und eine abgestellte Kaffeetasse
> im Normalfall nicht genau über einer LED abgestellt wird und damit evtl.
> Nachbar-LEDs oder gar keine anspringen, um die Kaffeetasse von unten zu
> beleuchten? Ich halte den Sinn eines solchen Tisches mittlerweile für
> ziemlich fragwürdig. Es ist eine nette Spielerei, keine Frage.

Ja, der Tisch ist völlig sinnfrei - das war die Ausgangslage :-)
Ist wirklich nur eine coole Spielerei und die groben Zellen sind 
eigentlich ein schöner Charakterzug so eines Tisches.
Man darf es nicht aus der Ecke: Multitouch-Tisch mit Projektor darunter 
betrachten, der ja schon als Arbeitsgerät durchgeht.
Sondern eher als gepimptes, interaktives RGB-beleuchtetes Kunstobjekt 
mit Wow-Effekt - wenn man die Spiele und Animationen damit machen kann.

Genau aus dem Grund ist es interessant durch clevere Lösungen die 
Konstruktion in Kosten und Bauzeit einigermassen effizient zu machen - 
denn was der hier
http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html
an Aufwand abgefackelt hat (man sehe sich die Verkabelung und die 
Hauptplatine an - enorm aufwändig), das ist nicht für jedermann :-)

Ich find so einen Tisch echt witzig und cool - aber nicht für 1.000 Euro 
und Monate Bauzeit.
Muss jetzt auch kein Schnäppchen werden, aber für 300-400 Euro und ein 
paar Wochenenden Bauzeit ist es schon ok.
Da steckt dann noch genug Arbeit in der Software um die Coolness 
wirklich freizusetzen.

Sowas wie das hier:
http://www.solderlab.de/index.php/led-projects/true-color-matrix
(Mosaik-Variante unten) ist auch funktionell völlig sinnfrei - aber man 
darf es nicht als missglückten "Screen" sehen, sondern als RGB 
Kunstwerk.
(Sowas bau ich mir auch irgendwann noch... :-) )

: Bearbeitet durch User
von asterix (Gast)


Lesenswert?

Conny G. schrieb:
> Man darf es nicht aus der Ecke: Multitouch-Tisch mit Projektor darunter
> betrachten, der ja schon als Arbeitsgerät durchgeht.
> Sondern eher als gepimptes, interaktives RGB-beleuchtetes Kunstobjekt
> mit Wow-Effekt - wenn man die Spiele und Animationen damit machen kann.
Jupp, sehe ich genau so. Klar wäre ein HD-Touch was schönes, aber dieses 
interaktive RGB Touch find ich hat seinen Scharm

> Da steckt dann noch genug Arbeit in der Software um die Coolness
> wirklich freizusetzen.
Satz des Tages! :-D

Ich würde sagen, dass nach den ersten Tests mit dieser Technik (ohne 
gesonderdes Acryl) man entcheiden kann, wie es weiter geht.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Conny G. schrieb:
> Ja, der Tisch ist völlig sinnfrei - das war die Ausgangslage :-)

Gut, dann sind wir uns ja einig :-)

> Ist wirklich nur eine coole Spielerei und die groben Zellen sind
> eigentlich ein schöner Charakterzug so eines Tisches.

Stimmt schon. Ich muss nur das HD-Dingens da aus meinen Gedanken 
verbannen ;-)

> Sowas wie das hier:
> http://www.solderlab.de/index.php/led-projects/true-color-matrix
> (Mosaik-Variante unten) ist auch funktionell völlig sinnfrei - aber man
> darf es nicht als missglückten "Screen" sehen, sondern als RGB
> Kunstwerk.
> (Sowas bau ich mir auch irgendwann noch... :-) )

Sowas ist mit den Equinox-Streifen kein Problem, mit 32 Stück hast Du 
zwar nur 32x15 statt 32x16, aber was da im Video abgeht, mache ich mit 
nur einem ATmega168 als Master.

von asterix (Gast)


Lesenswert?

Den RGB-Touch Tisch kann man auch als normalen Tisch verwenden. Ist der 
Beamer-Tisch dazu geeignet?!

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

asterix schrieb:
> Den RGB-Touch Tisch kann man auch als normalen Tisch verwenden. Ist der
> Beamer-Tisch dazu geeignet?!

Das ist die Frage. Wegen der Rückprojektionsfolie und der Silikonschicht 
zwischen der Acryglasplatte und der Folie wahrscheinlich nicht. Und 
deswegen scheidet für mich FTIR als Sensor-Möglichkeit für den LED-Tisch 
mittlerweile auch ziemlich aus. Überlege mir, ob ich den FTIR-Test 
überhaupt noch machen sollte und nicht besser testen soll, ob eine Hand 
über einer kratzfesten Milchglasplatte genügend IR-Licht (das von unten 
kommt) reflektiert, dass ein TSOP anspricht, also:


     Hand/Finger
----------------------- Glasplatte
     ^        ^
   IR-LED    TSOP

Und dann noch die Frage: Was passiert ohne Hand? Wenn man Pech hat, 
reflektiert die Glasplatte dann immer noch. In dem Fall müsste man die 
Modulationsfrequenz soweit in/aus den Grenzbereich des TSOPs fahren, 
dass dieser gerade eben nicht anspricht. Das wäre quasi eine 
Kalibrierung, die der Slave nach dem Booten als erstes machen könnte.

von asterix (Gast)


Lesenswert?

Frank M. schrieb:
>
> Das ist die Frage. Wegen der Rückprojektionsfolie und der Silikonschicht
> zwischen der Acryglasplatte und der Folie wahrscheinlich nicht. Und
> deswegen scheidet für mich FTIR als Sensor-Möglichkeit für den LED-Tisch
> mittlerweile auch ziemlich aus. Überlege mir, ob ich den FTIR-Test
> überhaupt noch machen sollte
Warum nicht, vllt funktioniert es ja auch ohne extra besondere Folie und 
Silikonschicht.
> und nicht besser testen soll, ob eine Hand
> über einer kratzfesten Milchglasplatte genügend IR-Licht (das von unten
> kommt) reflektiert, dass ein TSOP anspricht, also:
>
>      Hand/Finger
> ----------------------- Glasplatte
>      ^        ^
>    IR-LED    TSOP
>
> Und dann noch die Frage: Was passiert ohne Hand? Wenn man Pech hat,
> reflektiert die Glasplatte dann immer noch. In dem Fall müsste man die
> Modulationsfrequenz soweit in/aus den Grenzbereich des TSOPs fahren,
> dass dieser gerade eben nicht anspricht. Das wäre quasi eine
> Kalibrierung, die der Slave nach dem Booten als erstes machen könnte.

Was ist der Ziel des Tests? Ob die Milchglasplatte das hergibt, was 
gehofft wird?! Ist durchaus sinnvoll, wenn die meisten auf Plexiglas 
verzichten wollen. Hast du denn eine zumindest von den Eckdaten 
geeignete Platte?

von RomanK (Gast)


Lesenswert?

Hallo Frank,

mal ganz dumm gefragt, warum nutzt Du nicht die Wärmestrahlung des 
Menschens ( Infrarot im Bereich 7-14µm ) zur Erkennung der Annäherung 
der Hand.

Gruss

Roman

von 4toTakoe (Gast)


Lesenswert?

RomanK schrieb:
> die Wärmestrahlung des Menschens

Zu viele Einflussfaktoren: z.B. Sonnenschein, heiße Tee-Tasse auf dem 
Tisch, kalte Hände (gerade bei Frauen), urste Hitze im Sommer etc.

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Und dann noch die Frage: Was passiert ohne Hand? Wenn man Pech hat,
> reflektiert die Glasplatte dann immer noch.

Das war bei mir der Fall, ja.

> In dem Fall müsste man die
> Modulationsfrequenz soweit in/aus den Grenzbereich des TSOPs fahren,
> dass dieser gerade eben nicht anspricht.

Das habe ich nicht probiert, bin aber gespannt, ob das zuverlässig 
hinzubekommen ist. Unabhängig davon kommt meine oben vorgeschlagene 
Lösung mit nur einer IR-Photodiode aus und kostet 1/4 eines TSOPs.

Allerdings stellt es sich als echtes Problem heraus entsprechende 
Glasmuster zu organisieren. Bei vielen Angeboten zahlt man für das 
bisschen benötigte Glas (15x15cm) 30 Euro aufwärts. Habe mittlerweile 
günstige Muster erhalten, die sind dafür dann aber nur 10x10cm und 4mm 
stark.

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

RomanK schrieb:
> mal ganz dumm gefragt, warum nutzt Du nicht die Wärmestrahlung des
> Menschens ( Infrarot im Bereich 7-14µm ) zur Erkennung der Annäherung
> der Hand.

Weil der Tisch dann auch nur auf Mensch, Hund, Katze, Kaffee, Tee und 
heißen Amaretto reagiert und nicht auf: Wein, Bier, Schlüssel, Telefon 
etc. :-)

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Das habe ich nicht probiert, bin aber gespannt, ob das zuverlässig
> hinzubekommen ist. Unabhängig davon kommt meine oben vorgeschlagene
> Lösung mit nur einer IR-Photodiode aus und kostet 1/4 eines TSOPs.

Wird aber aufwändiger von der Software. Du brauchst dann einerseits 
einen ADC (hat kaum ein ATTiny (okay der 841 hat einen ;-) )), 
andererseits brauchst Du einen verlässlichen Tageslichtfilter - 
geschrieben in Software.

Wenn Du da was Gutes hast, dann lassen wir das mit dem TSOP.

von Cyblord -. (cyblord)


Lesenswert?

Frank M. schrieb:

>
> Wird aber aufwändiger von der Software. Du brauchst dann einerseits
> einen ADC (hat kaum ein ATTiny (okay der 841 hat einen ;-) )),

Nana, kaum einer? Der Tiny25/45/85, 24/44/84 hat welche. Und sogar der 
13er sollte ADC haben.

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Du brauchst dann einerseits
> einen ADC (hat kaum ein ATTiny (okay der 841 hat einen ;-) )),

Der ATtiny25/45/85 auch, sogar mit jeweils 4 Kanälen ;).

Frank M. schrieb:
> andererseits brauchst Du einen verlässlichen Tageslichtfilter -
> geschrieben in Software.

Das besteht derzeit aus der Differenz von zwei Messungen: Einmal mit und 
einmal ohne eingeschalteter IR-LED. Soweit auch schön und gut. Bin für 
neue Ideen/Konzepte offen, kann im Bereich Signalaufbereitung und 
-filterung sicher noch eine Menge lernen. Man müsste halt in erster 
Linie mal sehen, wie sich das in einem echten Prototypen verhält. Bisher 
stand mir nur durchsichtiges Floatglas zur Verfügung.

Außerdem habe ich festgestellt, dass die verwendeten Photodioden 
(ELPD204-6B) ziemlich unterschiedliche Charakteristiken aufweisen. Um 
eine Kalibrierung wird man also nicht herum kommen. Ideen hierfür? Beim 
Einschalten unter der Annahmen, dass der Tisch "leer" ist, sollte das ja 
klappen, oder?

Frank M. schrieb:
> Wenn Du da was Gutes hast, dann lassen wir das mit dem TSOP.

Will dich nicht vom experimentieren abhalten. Interessieren würde es 
mich auch. TSOPs und IR-LEDs müsste ich auch noch über haben. Wie genau 
hast du dir das Softwaretechnisch vorgestellt? Nach dem Einschalten 
solange die Frequenz erhöhen, bis der TSOP low zurückliefert? In welchen 
Schritten? Gehst du davon aus, dass eine einmalige Kalibrierung dieser 
Art reicht, oder muss man das (während der Laufzeit?) ggf. öfters tun, 
wenn sich das Umgebungslicht und ähnliche Faktoren ändern? Habe den TSOP 
nie in so einer kreativen Art und Weise eingesetzt.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Frank M. schrieb:
> Karol Babioch schrieb:
>> Das habe ich nicht probiert, bin aber gespannt, ob das zuverlässig
>> hinzubekommen ist. Unabhängig davon kommt meine oben vorgeschlagene
>> Lösung mit nur einer IR-Photodiode aus und kostet 1/4 eines TSOPs.
>
> Wird aber aufwändiger von der Software. Du brauchst dann einerseits
> einen ADC (hat kaum ein ATTiny (okay der 841 hat einen ;-) )),
> andererseits brauchst Du einen verlässlichen Tageslichtfilter -
> geschrieben in Software.
>
> Wenn Du da was Gutes hast, dann lassen wir das mit dem TSOP.

Da hätte ich ein Modell dafür im Kopf:

IR-LED pulst mit 10, 20 oder 30 kHz.
ADC misst die Photodiode mit der doppelten Frequenz, also 20, 40 oder 60 
kHz und zwar genau in der Mitte von "IR-LED an" und in der MItte von 
"IR-LED aus".
Damit gibt es eine Differenz zwischen der Messung "IR-LED an" und der 
Messung "IR-LED aus" (Tageslicht). Das ist die Basis-Kalibrierung, die 
jeder einzelne Pixel dynamisch als Referenz mitführt als Durchschnitt 
über x Messungen.
Hält nun jemand die Hand darüber, steigt die IR-Lichtstärke bei der 
"IR-LED An"-Messung und wir sehen ein Annäherungsevent, ab einer 
gewissen Schwelle.
D.h. der analoge Touch-Wert, den jeder Pixel an den Master senden wäre 
die Änderung dieser Differenz.
Also bei gleichbleibenden Verhältnissen, ohne Berührung oder Annäherung, 
senden wir "0".
Bei Annäherung denjenigen Betrag, den wir bei "IR An" hinzugewinnen.

: Bearbeitet durch User
von asterix (Gast)


Lesenswert?

bin mir nicht sicher, aber die Rechnung beinhaltet glaube ich nicht, 
dass wenn die Hand drüber gehalten wird, auch die Umgebungshelligkeit 
sinkt

sprich die Differenz wird ein schwieriger Wert an dieser Stelle, weil 
beide Faktoren sich stetig ändern... oder denk ich gerade falsch?

von asterix (Gast)


Lesenswert?

oder doch... da durch wird die differenz größer und es sollte sogar 
leichter messbar sein, nicht?

von Didi S. (kokisan2000)


Lesenswert?

Hallo Karol,

was meinst Du genau, wenn Du schreibst, dass die Everlight Photodiode 
unterschiedlichen Charakteristiken hat?
Die im Datenblatt enthaltene spektrale Empfindlichkeit ist auf jeden 
Fall physikalisch nicht realisierbar. Silizium "sieht" bis etwa 1120nm, 
dann ist Schluß. Im Datenblatt geht es bei Raumtemperatur bis 1300nm. 
Das ist Unfug.

Gruß
kokisan

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Der ATtiny25/45/85 auch, sogar mit jeweils 4 Kanälen ;).

Sorry, ja, hatte das velwechsert mit den UARTs, die gerade bei den 
ATTinys so rar sind. Kommt daher, dass ich ADCs so gut wie gar nicht 
verwende. (Mein Leben verläuft also fast ausschließlich "digital" ;-) )

> Das besteht derzeit aus der Differenz von zwei Messungen: Einmal mit und
> einmal ohne eingeschalteter IR-LED.

Ob das reicht? Was passiert, wenn ich irgendeine FB drücke, um meinen 
Fernseher anzuwerfen? Was passiert, wenn ich das Licht im Raum anknipse, 
gerade dann, wenn irgendein ATTiny meint, er müsse gerade mal 
"mit"/"ohne" IR-LED die Hintergrundstrahlung messen? Was bedeutet das 
dann für Deine Sensor-Software? Was ist dann "ohne", was "mit"?

Genau aus diesem Grund werden bei Lichtschranken und bei Fernbedienungen 
immer modulierte Signale genommen, um sich vom Umgebungslicht unabhängig 
zu machen. Schau Dir mal die Innenbeschaltung eines TSOPs an, dann weißt 
Du, was die da für einen Aufwand an Filterung treiben. Genau das 
müsste man in Software nachbilden. Mit je einer Messung "mit" und "ohne" 
ist es nicht getan.

> Außerdem habe ich festgestellt, dass die verwendeten Photodioden
> (ELPD204-6B) ziemlich unterschiedliche Charakteristiken aufweisen. Um
> eine Kalibrierung wird man also nicht herum kommen. Ideen hierfür? Beim
> Einschalten unter der Annahmen, dass der Tisch "leer" ist, sollte das ja
> klappen, oder?

Ja, beim Einschalten sollte der Tisch leer sein.

> Will dich nicht vom experimentieren abhalten. Interessieren würde es
> mich auch. TSOPs und IR-LEDs müsste ich auch noch über haben. Wie genau
> hast du dir das Softwaretechnisch vorgestellt? Nach dem Einschalten
> solange die Frequenz erhöhen, bis der TSOP low zurückliefert?

Ja, genau so. Oder systematisch runter mit der Frequenz.

> In welchen Schritten?

In 4 kHz-Schritten, also z.B. 38, 42, 46, 50, usw.

EDIT: Intervallschachtelung wäre hier sinnvoll: Also erst in großen 
Schritten. Wenn man dann eine Grenze gefunden hat, in kleineren 
Schritten nochmal nachmessen, bis man einen realen Wert gefunden hat und 
dann noch einen Sicherheitszuschlag drauf, also zum Beispiel:

32 -> 64 -> 50 -> 42 -> 46 -> 44 -> 45, dann plus 5. Resultat: 50.

> Gehst du davon aus, dass eine einmalige Kalibrierung dieser
> Art reicht, oder muss man das (während der Laufzeit?) ggf. öfters tun,
> wenn sich das Umgebungslicht und ähnliche Faktoren ändern? Habe den TSOP
> nie in so einer kreativen Art und Weise eingesetzt.

Einmaliges Messen und Speichern des Wertes im EEPROM könnte reichen. 
Ändert man natürlich was an der Tischplatte (Höhe, Dicke, wasweissich), 
dann müsste man noch neu kalibrieren können. Ich nehme aber an, dass es 
nicht viel Zeit kostet, sicherheitshalber bei jedem Boot neu 
durchzumessen. Jede Messung dauert weniger als 1/10 Sekunde, nach 
spätestens einer Sekunde sollte die Angelegenheit erledigt sein.

EDIT: Während des Betriebs muss wohl eher nicht neu kalibriert werden. 
Es ändert sich ja da nichts. TSOPs sind unabhängig von der 
Umgebungshelligkeit.

Viele Grüße,

Frank

: Bearbeitet durch Moderator
von Karol B. (johnpatcher)


Lesenswert?

Didi S. schrieb:
> was meinst Du genau, wenn Du schreibst, dass die Everlight Photodiode
> unterschiedlichen Charakteristiken hat?

Der Spannungsverlauf schaut auf dem Oszilloskop für jede Diode anders 
aus, obwohl alle aus einer Charge sind.

Didi S. schrieb:
> Silizium "sieht" bis etwa 1120nm,
> dann ist Schluß. Im Datenblatt geht es bei Raumtemperatur bis 1300nm.
> Das ist Unfug.

Das kann ich nicht bewerten.

Frank M. schrieb:
> Genau aus diesem Grund werden bei Lichtschranken und bei Fernbedienungen
> immer modulierte Signale genommen, um sich vom Umgebungslicht unabhängig
> zu machen.

Gut, modularisieren wollte ich auch noch. Der Vorschlag von Conny 
gefällt mir gut, die IR-LED mit doppelter Frequenz zu betreiben. Dann 
kann man problemlos einmal "mit" und einmal "ohne" messen.

Frank M. schrieb:
> In 4 kHz-Schritten, also z.B. 38, 42, 46, 50, usw.

Die Frage ist, ob das wiederum nicht zu grob ist. Kenne den TSOP und 
seine Empfangscharakteristiken nicht.

Wie gesagt: Probier deine Idee ruhig mal aus, kann nicht schaden ;).

Mit freundlichen Grüßen,
Karol Babioch

von Nosnibor (Gast)


Lesenswert?

Ich habe Zweifel, ob sich ein TSOP in dieser Anwendung als Empfänger 
eignet. Es ist jetzt eine Weile her, daß ich ein entsprechendes 
Datenblatt gelesen habe, aber so ein moderner TSOP ist schon sehr gut 
auf seinen Einsatzzweck optimiert, nämlich das Datensignal des Senders 
zu detektieren, unabhängig von der Intensität mit der es ankommt, und so 
ein Verhalten können wir hier nicht ganz gebrauchen.

Soweit ich mich erinnere, enthält der TSOP zwei AGC-Stufen: eine vor dem 
40kHz-Filter und eine dahinter. Die erste verhindert, daß er von 
konstantem Umgebungslicht geblendet wird; die zweite verhindert, daß er 
von konstantem 40kHz-Störlicht (z.B. Energiesparlampe) geblendet wird. 
Und die zweite AGC-Stufe stört in dieser Anwendung, denn wir wollen ja 
unterscheiden können, wie stark das modulierte Signal des Senders beim 
TSOP ankommt, und genau das regelt die zweite AGC-Stufe weg.

Da halte ich es für aussichtsreicher, das Filtern per Software zu 
machen, also den Unterschied zwischen dem Fotodiodensignal mit und ohne 
eingeschalteter IR-LED auszuwerten, um das Umgebungslicht rauszurechnen. 
Ich muß aber zugeben, daß ich keine praktischen Erfahrungen mit dem 
"Missbrauch" von TSOPs z.B. für Lichtschranken habe. Vielleicht gibt es 
ja noch welche ohne zweite AGC-Stufe; früher war es ja definitv so, daß 
Energiesparlampen so manche Fernbedienung lahmgelegt haben.

von Karol B. (johnpatcher)


Lesenswert?

Nosnibor schrieb:
> Ich habe Zweifel, ob sich ein TSOP in dieser Anwendung als Empfänger
> eignet.

Ja, die Zweifel teile ich, lasse mich aber gerne vom Gegenteil 
überzeugen.

In der Zwischenzeit arbeite ich weiter an meiner Photodioden Lösung. Die 
Detektierung ist robust, sogar mit einem 400-Watt Halogenstrahler im 
Raum ;) (Gibt es alternative Vorschläge für künstliche IR-Quellen?). 
Mein Pixel ist nach wie vor 5x5x3cm groß und das Ganze ist absolut 
unempfindlich gegenüber seitlichen Annäherungen. Das geht sogar soweit, 
dass einzelne Finger am Rand der Pixel nicht zuverlässig erkannt werden. 
Zwei Finger bzw. ein Finger in der Mitte hingegen funktionieren 
problemlos. Keine Ahnung, ob das so gewünscht ist, ändern kann man daran 
vermutlich nicht besonders viel. Annäherungen über dem Pixel sind ab 
etwa 5 cm über der Platte detektierbar.

Einziger Wermutstropfen: Ich teste nach wie vor mit 2mm starken 
Floatglass. Das satinierte ist zwar auf dem Weg, braucht aber wohl noch 
ein bisschen. Insofern sind die vielversprechenden Ergebnisse mit 
Vorsicht zu genießen. Werde aber Photos bzw. ein Video erstellen, sobald 
ich einen "echten" Prototypen habe.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von asterix (Gast)


Lesenswert?

Karol Babioch schrieb:
> Nosnibor schrieb:
>> Ich habe Zweifel, ob sich ein TSOP in dieser Anwendung als Empfänger
>> eignet.
>
> Ja, die Zweifel teile ich, lasse mich aber gerne vom Gegenteil
> überzeugen.
>
> In der Zwischenzeit arbeite ich weiter an meiner Photodioden Lösung. Die
> Detektierung ist robust, sogar mit einem 400-Watt Halogenstrahler im
> Raum ;) (Gibt es alternative Vorschläge für künstliche IR-Quellen?).
Fernbedienung? :-)
> Mein Pixel ist nach wie vor 5x5x3cm groß und das Ganze ist absolut
> unempfindlich gegenüber seitlichen Annäherungen.
hast du denn neben dem Pixel auch eine IR-LED platziert, damit deine 
Hand diese Strahlen dann zum Sensor reflektieren kann? Oder hast du nur 
in dem einzelnen Pixel die IR-LED? Oder hast du allgemein mehrere Pixel? 
Wie sieht denn der Versuch in der Richtung aus
> Das geht sogar soweit,
> dass einzelne Finger am Rand der Pixel nicht zuverlässig erkannt werden.
> Zwei Finger bzw. ein Finger in der Mitte hingegen funktionieren
> problemlos.
Das ist der oben erwähnte punktuelle Effekt. Die Sensorik+LED müsste 
wahrscheinlich wie Conny G. meinte noch weiter herunter gesetzt werden, 
um den Lichtkegel auf die Platte zu kriegen und nicht nur einen 
Bruchteil davon. Dann würde man evtl auch am Rand detektieren können

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Nosnibor schrieb:
>> Ich habe Zweifel, ob sich ein TSOP in dieser Anwendung als Empfänger
>> eignet.
>
> Ja, die Zweifel teile ich, lasse mich aber gerne vom Gegenteil
> überzeugen.

Mir ist der TSOP wg. zuviel Eigenlogik auch eher unsympatisch.
Lieber die Filterung selber kontrollieren.

> In der Zwischenzeit arbeite ich weiter an meiner Photodioden Lösung. Die
> Detektierung ist robust, sogar mit einem 400-Watt Halogenstrahler im
> Raum ;) (Gibt es alternative Vorschläge für künstliche IR-Quellen?).
> Mein Pixel ist nach wie vor 5x5x3cm groß und das Ganze ist absolut
> unempfindlich gegenüber seitlichen Annäherungen. Das geht sogar soweit,
> dass einzelne Finger am Rand der Pixel nicht zuverlässig erkannt werden.
> Zwei Finger bzw. ein Finger in der Mitte hingegen funktionieren
> problemlos. Keine Ahnung, ob das so gewünscht ist, ändern kann man daran
> vermutlich nicht besonders viel. Annäherungen über dem Pixel sind ab
> etwa 5 cm über der Platte detektierbar.

Das liegt am Abstrahlwinkel der IR-Diode an sich, dass mit 3cm Tiefe nun 
die Seite nicht abgedeckt wird.
Das Problem würde sich auch mit tieferen Zellen lösen.
Das würde also einerseits bei breit strahlenden IR-Dioden die Breite 
begrenzen und bei eng strahlenden hilft der Abstand, dass der Kegel oben 
breit genug ist.
Am Ende müssen die Tiefe, die Größe der Zelle und der Abstrahlwinkel der 
Diode zusammenpassen.
Denn hätte man eine mit 120 Grad, aber sie ist 10cm tief, dann wird zwar 
der Winkel durch die Tiefe gefiltert, aber ich verliere 50% (oder mehr) 
der Lichtleistung für den Detektor.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Conny G. schrieb:
> Mir ist der TSOP wg. zuviel Eigenlogik auch eher unsympatisch.
> Lieber die Filterung selber kontrollieren.

Jut, dann spare ich mir den TSOP-Test. Sicherlich lässt sich ein 
gescheites Filtern von Umgebungseinflüssen auch in Software 
bewerkstelligen.

Gruß,

Frank

von Ast E. (vis)


Lesenswert?

wenn wir das das das und das nun sein lassen wollen, was bleibt denn 
noch alternativ... ich verliere ehrlich gesagt gerade etwas den 
überblick :-)

von Seanten (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, auch ich wollt mir einen Tisch bauen. Nur leider ist das Projekt 
durch einen Kumpel gestorben, der mir das Programm schreiben sollte. Was 
ich schon hatte war das vorläufige Konzept des Tisches.

Die "Messinffläche" soll das LED Feld mit 12x16 Pixeln (3:4) a 50x50mm 
darstellen.

Die gelben Punke sollten Touch Sensoren unter der Glasfläche sein um 
auch mögliche Anwendungen ohne Smartphone oder Rechenr zu bedienen.

Ansonsten hatte ich eine 10mm einseitig mattierte Glasplallte 
vorgesehen, die um das LED Feld schwarz lakiert/beschichtet/beklebt 
werden sollte.

Der Rest ist billiger Baustahl xD.

Angeschlage hatte ich ca 1000€ auch wenn das schon knapp werden wird. 
Eine Version 2.0 hatte ich nicht vor zu fertigen xD.


Ich bin gespannt was hier auf der Elektrischen Seite entsteht und würde 
mich auch gerne beteiligen solange ich noch was verstehe als Metaller^^.

von Karol B. (johnpatcher)


Lesenswert?

So, habe - mehr oder weniger aus Spaß - mal ein Video meines aktuellen 
Setups gemacht, siehe [1]. Baut derzeit auf einem ATmega88 auf, weil 
damit die UART Handhabung einfacher ist. Im Prinzip mache ich aber 
nichts, was nicht auch ein ATtiny85 bzw. ATtiny841 macht. Überhaupt ist 
die Software sehr simpel. In einer Timer-ISR schalte ich die IR-LED ein 
bzw. aus und starte eine ADC Konvertierung.

Die Ergebnisse ziehe ich jeweils voneinander ab. Überschreitet die 
Differenz eine Schwelle (per Trial & Error festgestellt), schalte ich 
die blaue LED ein.

Dafür, dass das Ganze so simpel und günstig ist, funktioniert es 
erstaunlich gut. Konnte es weder mit einer Fernbedienung noch mit einem 
Halogenstrahler aushebeln. Einziges Problem bei diesem Ansatz ist aber 
die Unterscheidung zwischen gut reflektierenden Objekten in der Ferne 
oder schlechten Reflektoren (z.B. Hand) im Nahen. Ist im Video ab etwa 
40 Sekunden zu sehen. Ideen, wie man das in den Griff bekommen könnte?

Habe testweise auch IR-LEDs links und rechts betrieben, hat dem Ganzen 
nichts ausgemacht. Habe im Video auch versucht zu zeigen, dass der 
Sensor nicht auslöst, wenn man sich neben dem eigentlichen Sensor 
bewegt. Dafür sind die Reflexionen zu schwach.

Wie gesagt: Ist alles noch mit Float-Glas. Das satinierte trifft wohl 
erst im Laufe der nächsten Woche ein.

Ich persönlich bin von diesem Ansatz voll und ganz überzeugt. Unabhängig 
davon ist es auch im Preis nicht zu schlagen: 20 Cent für die IR-LED und 
20 Cent für die Photodiode. Bei größeren Mengen ggf. sogar billiger.

Bei einem ATtiny841 hätten wir ja auch mehr als genug Platz für eine 
"schlaue" Auswertung in Software. Da fehlt es bei mir aber im 
Wesentlichen an Ansätzen, für Vorschläge bin ich aber gerne offen.

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://youtu.be/e9vYGd5S3GQ

von Karol B. (johnpatcher)


Lesenswert?

Seanten schrieb:
> Die gelben Punke sollten Touch Sensoren unter der Glasfläche sein um
> auch mögliche Anwendungen ohne Smartphone oder Rechenr zu bedienen.

Gefällt mir gut die Idee bzw. dein ganzes Konzept. Wolltest du die 
gelben Touchflächen sichtbar gestalten, oder "versteckt" halten? Hier 
würde sich ja ggf. eine kapazitive Lösung anbieten, zumindest wenn man 
an dieser Stelle auf das Metall verzichtet ;).

Für Metallarbeiten fehlt mir sowohl das Know-How als auch die Werkzeuge. 
Hätte mich auf Holz beschränkt.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> So, habe - mehr oder weniger aus Spaß - mal ein Video meines aktuellen
> Setups gemacht, siehe [1]. Baut derzeit auf einem ATmega88 auf, weil
> damit die UART Handhabung einfacher ist. Im Prinzip mache ich aber
> nichts, was nicht auch ein ATtiny85 bzw. ATtiny841 macht. Überhaupt ist
> die Software sehr simpel. In einer Timer-ISR schalte ich die IR-LED ein
> bzw. aus und starte eine ADC Konvertierung.
>
> Die Ergebnisse ziehe ich jeweils voneinander ab. Überschreitet die
> Differenz eine Schwelle (per Trial & Error festgestellt), schalte ich
> die blaue LED ein.
>
> Dafür, dass das Ganze so simpel und günstig ist, funktioniert es
> erstaunlich gut. Konnte es weder mit einer Fernbedienung noch mit einem
> Halogenstrahler aushebeln. Einziges Problem bei diesem Ansatz ist aber
> die Unterscheidung zwischen gut reflektierenden Objekten in der Ferne
> oder schlechten Reflektoren (z.B. Hand) im Nahen. Ist im Video ab etwa
> 40 Sekunden zu sehen. Ideen, wie man das in den Griff bekommen könnte?
>
> Habe testweise auch IR-LEDs links und rechts betrieben, hat dem Ganzen
> nichts ausgemacht. Habe im Video auch versucht zu zeigen, dass der
> Sensor nicht auslöst, wenn man sich neben dem eigentlichen Sensor
> bewegt. Dafür sind die Reflexionen zu schwach.
>
> Wie gesagt: Ist alles noch mit Float-Glas. Das satinierte trifft wohl
> erst im Laufe der nächsten Woche ein.
>
> Ich persönlich bin von diesem Ansatz voll und ganz überzeugt. Unabhängig
> davon ist es auch im Preis nicht zu schlagen: 20 Cent für die IR-LED und
> 20 Cent für die Photodiode. Bei größeren Mengen ggf. sogar billiger.
>
> Bei einem ATtiny841 hätten wir ja auch mehr als genug Platz für eine
> "schlaue" Auswertung in Software. Da fehlt es bei mir aber im
> Wesentlichen an Ansätzen, für Vorschläge bin ich aber gerne offen.
>
> Mit freundlichen Grüßen,
> Karol Babioch
>
> [1]: http://youtu.be/e9vYGd5S3GQ

Sehr cool, das sieht wirklich überzeugend aus.
Jetzt muss man nur noch den Öffnungswinkel optimieren für den Rand.
Ich meine immer noch, dass die Zelle tiefer sein sollte.

Bzgl gut und schlecht reflektierender Objekte hätte man nur eine Chance, 
wenn man den den Abstand misst, aber nicht über die Reflexionsstärke.
Nur Anhand einer Menge von reflektiertem Licht kann man das nicht 
unterscheiden.
Das einzige was mir zum Abstand einfällt wäre Lichtlaufzeit, die ist 
aber zu Kurz.
Ansonsten irgendwas mit Interferenz, hab ich irgendwo mal was dazu 
gelesen. Mmmh.
Aus dem Bauch würde ich sagen, dass wir da ein neues Niveau von 
Schwierigkeitsgrad betreten und sollten das erstmal akzeptieren, dass 
wir das nicht differenzieren können.
Schadet natürlich nicht die Abstandsmessung für einen Tag zu 
recherchieren, vielleicht geht ja was :-)

von Conny G. (conny_g)


Lesenswert?

http://www.google.com/patents/EP2290393A2?cl=de
Konzept zur optischen Abstandsmessung
[0017]:
"wird hier jedoch eine kontinuierlich modulierte, sinusförmige 
Lichtquelle verwendet. Die Distanzinformation lässt sich dabei anhand 
der Phasenverschiebung des zurückreflektierten Lichts rekonstruieren. "

Also prinzipiell würden sich die ToF (Time of flight) Verfahren eignen, 
die für die Pixel von 3D Kameras verwendet werden.

http://de.wikipedia.org/wiki/Abstandsmessung_(optisch)#Messung_.C3.BCber_die_Phasenlage
Ob das statt mit einem Laser auch mit einer IR Diode funktioniert?
Müsste schon, wenn man nicht die IR Wellenlänge als Modulation nimmt.

Das ist allerdings bestimmt ein mehrwöchiges bis mehrmonatiges 
Forschungsprojekt für sich, wenn das noch niemand gemacht und 
veröffentlicht hat.

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Das Prinzip Phasendifferenz mit moduliertem Lichtstrahl sähe rein von 
der Theorie am vielversprechensten aus, Seite 20f:
http://tams-www.informatik.uni-hamburg.de/lehre/2003ws/vorlesung/angewandte_sensorik/vorlesung_06.pdf

Wenn gemäß dem Beispiel eine Frequenz von 10 MHz eine Wellenlänge von 
30m ergibt - und das der Messbereich 1x Lambda ist - und unser 
Messbereich kleiner als 30cm sein soll (eher sogar 10), dann müsste man 
also mit der 100-fachen Frequenz arbeiten, 1 GHz. Für 10cm sogar 3 GHz.
Erscheint mir eher schwierig.

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Erscheint mir eher schwierig.

Ja, das ist ohne Zusatzbeschaltung nicht zu schaffen und insofern 
unattraktiv. Werden wir uns wohl damit abfinden müssen, dass metallische 
Gegenstände "besser" erkannt werden.

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Conny G. schrieb:
> Das Prinzip Phasendifferenz mit moduliertem Lichtstrahl sähe rein von
> der Theorie am vielversprechensten aus, Seite 20f:
> 
http://tams-www.informatik.uni-hamburg.de/lehre/2003ws/vorlesung/angewandte_sensorik/vorlesung_06.pdf


Diese Präsentation sagt auch, dass Ir Reflexion zur Abstandsmessung 
ungeeignet ist (Seite 23)
1
Infrarotsensoren (2)
2
● In realistischen Umgebungen haben die Oberfl ̈achen unterschiedliche Farben.
3
● Farbige Oberfl ̈achen reflektieren unterschiedlich viel Licht.
4
● Schwarze Oberfl ̈achen sind praktisch unsichtbar.
5
● IR-Sensoren ko ̈nnen eigentlich nur zu Objekterkennung nicht aber zur Entfernungsmessung eingesetzt werden.
6
● Wenn ein IR-Signal vom Sensor empfangen wird kann man mit Sicherheit annehmen, dass sich ein Objekt vor dem Sensor befindet.
7
● Phantomsignale sind sehr selten.
8
● Fehlt ein IR-Signal heißt das allerdings nicht, dass kein Objekt vor dem
9
Sensor ist.
10
● IR-Sensoren werden fu ̈r kurze Reichweiten eingesetzt (50 bis 100 cm).

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> ● IR-Sensoren werden fu ̈r kurze Reichweiten eingesetzt (50 bis 100 cm).

Wobei das ja für uns relevant wäre. Wir wollen ja nicht die Entfernung 
des Mondes bestimmen ;).

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?


: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Was der wohl kostet?
> http://www.directindustry.com/prod/stmicroelectron...

Die Frage ist auch, ob sich das Ganze nicht durch Reflektionen am Glas 
durcheinander bringen lässt. Selbes Problem gilt natürlich auch für alle 
o.g. Verfahren. Sehe hier keinen realistischen Ansatz ...

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Was der wohl kostet?
>> http://www.directindustry.com/prod/stmicroelectron...
>
> Die Frage ist auch, ob sich das Ganze nicht durch Reflektionen am Glas
> durcheinander bringen lässt. Selbes Problem gilt natürlich auch für alle
> o.g. Verfahren. Sehe hier keinen realistischen Ansatz ...
>
> Mit freundlichen Grüßen,
> Karol Babioch

Den gibt's noch nicht zu kaufen
http://www.st.com/web/catalog/mmc/FM132/SC626/PF260441?s_searchtype=partnumber#

Die Reflexionen verfälschen die Messung minimal um den Anteil des 
reflektierten Lichts, würde ich behaupten.
Es dürfte dann die gemessene Entfernung anteilig um die Reflexionsrate 
kürzen.
Wenn also die Reflexion der Oberfläche des Glases bei ein paar Prozent 
liegt sollte das eigentlich kein Problem sein, wenn diese Hypothese so 
stimmt.
Dann wäre die gemessene Entfernung einfach um diese paar Prozent kürzer.
Jedenfalls habe ich gerade ähnliches bei den TOF Kameras gelesen.
Alternativ sinkt die Emofindlichkeit/Reichweite, weil der reflektierte 
Anteil in die Störunterdrückung läuft...

Könnte mir vorstellen, dass eine Matte Oberfläche auf der Unterseite 
besser ist, da der Strahl nicht direkt zurück reflektiert wird, sondern 
die Reflexion wird diffus gestreut und weniger erreicht die IR Diode.
Mmmh, dafür reflektiert Matt aber mehr als glattes Glas.
Man bräuchte eine richtige Entspiegelung...

Müsste man einfach mal messen, ob die IR Diode bei glattem Glas oder bei 
matter Oberfläche mehr reflektiertes IR sieht.

: Bearbeitet durch User
von Didi S. (kokisan2000)


Lesenswert?

Den Proximity Sensor von STM gibt es noch nicht, wohl aber andere. Ich 
arbeite sehr viel mit dem VCNL4010 oder dem VCNL4020. Diese Sensoren 
sind genau für solche Anwendungen wie dem Tisch entwickelt worden, aber 
eben leider etwas teuer. Inwieweit die deutlich günstigere Lösung mit 
IRED und Photodiode funktionieren wird, kann ich nicht sagen, aber das 
Tüfteln ist doch gerade der Reiz am Basteln.

Hier noch ein paar Gedanken zu den (digitalen) VCNL Sensoren...

Das nutzbare Signal zur Erkennung eines Objektes ergibt sich aus dem 
reklektierten Signal abzüglich dem Offsetsignal und dem Signalrauschen, 
also

verwertbares Signal = reflektiertes Signal - Offset - Rauschen

reflektiertes Signal: je größer das Objekt und je näher der Abstand zur 
Quelle, desto mehr Signal gibt es; Infrarotes Licht verhält sich ähnlich 
dem visuellen Licht; schwarze Flächen reflektieren erstaunlich gut, also 
schwarz anmalen oder besprühen der "Innenseiten der Tischwürfel" bringt 
nicht viel bei Infrarot; wenn seitliche Reflexe vermieden werden 
sollen/müssen lieber Textil oder extrem matte Farben verwenden

Offset: wird erzeugt durch all das reflektierte Licht von der 
Glasscheibe und den Innenseiten des Würfels; die Größe des Offsets hängt 
ab von der Distanz zum Abdeckglas, sowie nahen Objekten und Grenzflächen 
im "Tischwürfel", weiterhin von Toleranzen des Sensors (Photodiode), dem 
IRED Strom, der Umgebungstemperatur, dem Typ des abdeckenden Glasscheibe 
und einfallendem Umgebungslicht

Rauschen: sowohl beim digitalen, als auch beim analogen Sensor 
vorhanden. Die VCNL haben ein digitales Rauschen von etwa 9-11 counts.

Entscheidenden Einfluß hat das Coverglas. Je transparenter es ist, um so 
mehr Signal steht zur Reflexion am zu detektiernden Objekt zur 
Verfügung. Nach meiner Erfahrung verhalten sich oberflächenmattierte 
oder angeraute (angeätzte) Glasoberflächen schlechte als Gläser, die im 
gesamten Volumen milchig oder diffus sind. Wenn hinter dem milchigen 
Abdeckglas ein Objekt nicht mehr erkant wird, bringt die Erhöhung des 
Sendestromes oft nicht den gewünschten Effekt, weil proportional auch 
der Offset mit ansteigt. Eine Verbesserung bringt aber die Verringerung 
der Distanz zwischen IRED und Coverglas oder die Einengung des 
Öffnungswinkels der IRED auf den für die Applikation notwendigen Winkel.

Noch zwei Gedanken zur Software. Meine Realisierungen mit Proximity 
Sensoren haben gezeigt, dass man mehrere Szenarien von Filtern und 
Kalibrierungen benötigt oder zumindest darüber nachdenken sollte:

1) Alle Komponenten inklusive des Coverglases altern. Es muß also eine 
Möglichkeit geben, das System im Ruhezustand zu kalibrieren, soll heißen 
den Systemoffset zu bestimmen und zu berücksichtigen. Eventuell 
jedesmal, wenn der Tisch "gebootet" wird.
2) Der Tod infraroter Applikationen sind Leuchten, die hohe Anteile an 
"schmutziger" Infrarotstrahlung abgeben, also bitte unbedingt mit 
Energiesparlampen und Leuchtstoffröhren testen (je chinesischer die 
Leuchte, desto ...), wenn soetwas in der Nähe vorhanden sein sollte. 
Erst wenn die Softwarefilter diesen "Stress" rausfiltern ist das System 
vor Überraschungen sicher.

Also weiterhin viel Spass beim Tüfteln am ProxiTable ;-)

: Bearbeitet durch User
von Didi S. (kokisan2000)


Lesenswert?

Hallo Frank M.,

Dein Ansatz ein TSOP zu benutzen und seine Empfindlichkeitsschwelle 
durch bewusstes Verschieben der Burstfrequenz zu realisieren, ist extrem 
spannend, da die Problematik und das Tuning in die Software verlagert 
wird.

Ich habe bei den Entwicklern der TSOP Baureihe mal nachgefragt ob mit 
diesem Trick ein "Nahfeld"-Proximity mit Coverglas realisierbar ist. Die 
Antwort war nicht eindeutig. Auf jeden Fall solltest Du Bauteile mit fix 
Gain in Betracht ziehen, da Bauteile mit nachregelnder AGC Dir das Leben 
in diesem Fall vermutlich nur erschweren. Weiterhin muß Deine Frequenz 
vermutlcih besser 100Hz abgestimmbar sein.

Wenn Du Dich trotzdem noch entschliessen solltest, hier mal 
weiterzutesten, kannst Du mir eine PN schicken. Ein paar fix gain TSOP 
hast Du vermutlich nicht in Deiner Schublade rumliegen, oder doch ;-) 
Wenn nicht, lässt sich da bestimmt was machen.

Gruß
Didi

von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> Die Ergebnisse ziehe ich jeweils voneinander ab. Überschreitet die
> Differenz eine Schwelle (per Trial & Error festgestellt), schalte ich
> die blaue LED ein.

Du hast die Schwelle auf umgerechnet ca. 5cm über der Glasplatte 
kalibriert, habe ich das richtig gesehen? Wie sieht das Verhalten aus, 
wenn du nur knapp über dem Glas detektieren möchtest?? Ansonsten sieht 
das wirklich schon sehr gut aus! schön aufgeräumter Platz übrigens :-D

> Dafür, dass das Ganze so simpel und günstig ist, funktioniert es
> erstaunlich gut.

Das Argument finde ich sehr gut. Im Gegensatz zu meinem IS471 Sensor den 
ich getetset hatte, sind das Welten vom Preis her.

> Konnte es weder mit einer Fernbedienung noch mit einem
> Halogenstrahler aushebeln. Einziges Problem bei diesem Ansatz ist aber
> die Unterscheidung zwischen gut reflektierenden Objekten in der Ferne
> oder schlechten Reflektoren (z.B. Hand) im Nahen. Ist im Video ab etwa
> 40 Sekunden zu sehen. Ideen, wie man das in den Griff bekommen könnte?

Ich glaub wenn wir das noch unterscheiden möchten, kommen wir in Welten 
bei denen mehrere Bachelor-/Masterarbeiten draus entstehen könnten. Ich 
finde die Ansätze die gepostet wurden sehr interessant. Jedoch eine 
kostengünstige Variante die auch in absehbarer Zeit realisierbar ist, 
sehe ich noch nicht. Lasse mich aber gerne vom Gegenteil überzeugen.

> Habe testweise auch IR-LEDs links und rechts betrieben, hat dem Ganzen
> nichts ausgemacht. Habe im Video auch versucht zu zeigen, dass der
> Sensor nicht auslöst, wenn man sich neben dem eigentlichen Sensor
> bewegt. Dafür sind die Reflexionen zu schwach.

Ab ca. 25sek im Video?
Ich sehe dort leider keine IR-LED?! Zumindest vorne den Teil der 
Einsichtig ist, sehe auf dem Steckbrett keine Bauteile?!

> Wie gesagt: Ist alles noch mit Float-Glas. Das satinierte trifft wohl
> erst im Laufe der nächsten Woche ein.

satiniert Plexi?

> Ich persönlich bin von diesem Ansatz voll und ganz überzeugt. Unabhängig
> davon ist es auch im Preis nicht zu schlagen: 20 Cent für die IR-LED und
> 20 Cent für die Photodiode. Bei größeren Mengen ggf. sogar billiger.

Wie ich oben gepostet habe, gebe ich dir vollkommen Recht

> [1]: Youtube-Video "LED Tisch: Touch Pixel - Test"

sehr schön ! :-)

von Karol B. (johnpatcher)


Lesenswert?

Didi S. schrieb:
> Ich
> arbeite sehr viel mit dem VCNL4010 oder dem VCNL4020.

Kannte ich noch gar nicht. Gut, die sind natürlich wesentlich teurer, 
aber sofern die auch durch Glas hindurch zuverlässig funktionieren, dann 
wäre es durchaus eine Überlegung wert. Zumal dadurch die Software 
"einfacher" wird, weil die Dinger per I2C angesteuert werden. Im 
Datenblatt des VCNL4010 heißt es z.B., dass dieser bis 200 mm 
spezifiziert ist. Wie verhält sich das mit einer Glasscheibe dazwischen? 
Prinzipiell hört sich die Größenordnung ja für unseren Anwendungsfall 
richtig an? 16-Bit sind auch eine Menge, bin gerade darüber erstaunt, 
dass sich das überhaupt so genau auswerten lässt ...

Didi S. schrieb:
> Eventuell
> jedesmal, wenn der Tisch "gebootet" wird.

Ja, das hatten wir sowieso vor.

Didi S. schrieb:
> Erst wenn die Softwarefilter diesen "Stress" rausfiltern ist das System
> vor Überraschungen sicher.

Da muss man sich wohl vernünftige Testszenarien einfallen lassen und 
auch mit mehreren Pixeln gleichzeitig experimentieren.

Didi S. schrieb:
> Dein Ansatz ein TSOP zu benutzen und seine Empfindlichkeitsschwelle
> durch bewusstes Verschieben der Burstfrequenz zu realisieren, ist extrem
> spannend, da die Problematik und das Tuning in die Software verlagert
> wird.

Halte den Ansatz auch für spannend, und wäre an Resultaten (sowohl 
negativ als auch positiver Natur) interessiert ;).

Tim R. schrieb:
> Du hast die Schwelle auf umgerechnet ca. 5cm über der Glasplatte
> kalibriert, habe ich das richtig gesehen?

Ja, so in etwa. Bezieht sich natürlich auf Haut bzw. Hände.

Tim R. schrieb:
> Wie sieht das Verhalten aus,
> wenn du nur knapp über dem Glas detektieren möchtest?

Auch möglich. Um so näher man ans Glas heran kommt, umso größer ist die 
gemessene Spannungsdifferenz.

Tim R. schrieb:
> Das Argument finde ich sehr gut. Im Gegensatz zu meinem IS471 Sensor den
> ich getetset hatte, sind das Welten vom Preis her.

Ja, eben.

Tim R. schrieb:
> Ich
> finde die Ansätze die gepostet wurden sehr interessant. Jedoch eine
> kostengünstige Variante die auch in absehbarer Zeit realisierbar ist,
> sehe ich noch nicht. Lasse mich aber gerne vom Gegenteil überzeugen.

Geht mir genauso.

Tim R. schrieb:
> Ab ca. 25sek im Video?

Ja.

Tim R. schrieb:
> Ich sehe dort leider keine IR-LED?!

Ne, das war eine andere Versuchsreihe. In dem Video gibt es tatsächlich 
nur eine IR-LED.

Tim R. schrieb:
> satiniert Plexi?

Nein, satiniertes Glas. Bin nach einigen Anfragen zu akzeptablen Preisen 
an entsprechende Muster gekommen. Im Übrigen wird das Glas im Verhältnis 
deutlich günstiger, wenn man "große" Flächen bestellt.

Mit freundlichen Grüßen,
Karol Babioch

von Ast E. (vis)


Lesenswert?

Also du hast auch wirklich IR-LEDs quasi in nebenan liegenden "Pixeln" 
strahlen lassen und konntest in deinem Testfeld keine Relefktionen 
erkennen ja ? erstaunlich finde ich...

Um was für Preise handelt es sich denn bei dem Glas?

von Markus M. (adrock)


Lesenswert?

Hi Karol,

kannst Du mal Deine Schaltung kurz beschreiben die Du für Deinen Versuch 
verwendet hast?

Also welche IR-LED und IR-Phototransistor (oder Diode) und mit welchen 
Widerständen?

Danke & Gruß
Markus

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Also du hast auch wirklich IR-LEDs quasi in nebenan liegenden "Pixeln"
> strahlen lassen und konntest in deinem Testfeld keine Relefktionen
> erkennen ja ?

Ja.

Tim R. schrieb:
> Um was für Preise handelt es sich denn bei dem Glas?

Hab jetzt für verschiedene Muster zwischen 4 und 15 EUR gezahlt. 
Ansonsten kostet ein qm wohl so um die 100 EUR.

Markus M. schrieb:
> kannst Du mal Deine Schaltung kurz beschreiben die Du für Deinen Versuch
> verwendet hast?

Die IR-LED wird direkt vom AVR betrieben. Vorwiderstand 100 Ohm. 125 Hz 
PWM mit 50 % Duty Cycle. Der resultierende Strom sind damit etwa 40 mA.

Die Photodiode ist so wie hier [1] beschrieben, an einen ADC Eingang 
angeschlossen. Widerstand ist direkt übernommen, 1 Megaohm, da die 
Kanten am Oszilloskop scharf genug sind.

Markus M. schrieb:
> Also welche IR-LED und IR-Phototransistor (oder Diode)

IR-LED ist eine ELIR204-6B von Everlight. Photodiode: ELPD204-6B, auch 
von Everlight. Ein Phototransistor eignet sich hier übrigens nicht 
besonders, weil der zu langsam schaltet, insbesondere wenn man die 
Frequenz erhöht. Habe zwischenzeitlich nämlich auch mit dem ELPT204-6B 
herumgespielt, aber das haut nicht wirklich hin.

Mit freundlichen Grüßen,
Karol Babioch

[1]: https://www.mikrocontroller.net/articles/Datei:Photo_diode.png

von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:

> Hab jetzt für verschiedene Muster zwischen 4 und 15 EUR gezahlt.
> Ansonsten kostet ein qm wohl so um die 100 EUR.

hmm okay... Plexi gibts glaub für rund die Hälfte

>
> IR-LED ist eine ELIR204-6B von Everlight. Photodiode: ELPD204-6B, auch
> von Everlight
Habe grad mal gegoogelt und die Angebote waren nicht so breit wie bei 
anderen Bauteilen. Vielleicht sollte dann eine Alterantiv Diode gesucht 
werden ? .-)

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> hmm okay... Plexi gibts glaub für rund die Hälfte

Dafür überlebt Plexiglas als Tischoberfläche nicht einmal halb so lang. 
Da gab es bei früheren Diskussionen eine eindeutige Mehrheit zu Gunsten 
der Echtglas-Lösung, weil Plexiglas zu schnell zerkratzt, etc.

Tim R. schrieb:
> Habe grad mal gegoogelt und die Angebote waren nicht so breit wie bei
> anderen Bauteilen. Vielleicht sollte dann eine Alterantiv Diode gesucht
> werden ? .-)

Bin ich prinzipiell offen für - sofern die herausgesuchte Lösung zu 
ähnlichen Konditionen zu erhalten ist und genausogut funktioniert. Ich 
hatte damals schon eine Weile gesucht, um ein Paar von IR-LED und 
Photodiode heraus zu suchen, dass Datenblatt technisch zusammen passt, 
günstig und für jeweils 20 Cent erhältlich ist.

Mit freundlichen Grüßen,
Karol Babioch

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Dafür, dass das Ganze so simpel und günstig ist, funktioniert es
> erstaunlich gut. Konnte es weder mit einer Fernbedienung noch mit einem
> Halogenstrahler aushebeln.

Sehr schöner Test! Einfach und effektiv. Gefällt mir!

> Einziges Problem bei diesem Ansatz ist aber
> die Unterscheidung zwischen gut reflektierenden Objekten in der Ferne
> oder schlechten Reflektoren (z.B. Hand) im Nahen. Ist im Video ab etwa
> 40 Sekunden zu sehen. Ideen, wie man das in den Griff bekommen könnte?

Nein. Mit IR wohl gar nicht. Aber normalerweise wird man da wohl selten 
mit unterschiedlichen Materialien "spielen".

von Ast E. (vis)


Lesenswert?

Hat denn jemand zfällig noch paar "handelsübliche" Photodioden rumliegen 
und kann damit testen? Ich möchte jetzt keine Bestellung für paar 
Photodioden auslösen, zumal meine Zeit momentan etwas knapp ist.

Was mir noch eingefallen ist. Der LED-Treiber wäre doch gar nicht mal so 
schlecht. Zum einen 3xPWM für die RGB und zusätzlich noch 1x PWM für die 
IR-LED (welche ich die ganze Zeit gar nicht bedacht habe). Das Problem 
ist nur denk ich einen passenden Treiber mit am besten 4 PWM Ausgängen 
zu finden. Meine erste Suche bei Farnell ergab einen Baustein ab 2 Euro 
mit 5-6 Ausgängen.

http://de.farnell.com/texas-instruments/tca6507pw/led-treiber-7ch-i2c-smb-tssop14/dp/1647813

Hat da jemand vielleicht eine bessere Alternative ? :-)

edith:
am besten sollten sie natürlich 10bit Auflösung haben

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Der LED-Treiber wäre doch gar nicht mal so schlecht.

Das kommt in erster Linie wohl darauf an für welchen Mikrocontroller wir 
uns entscheiden. Der ATtiny85 ist aufgrund der fehlenden UART Hardware 
kaum geeignet, der "nächstgrößere" ATtiny841 bietet wiederum mehr als 
genug. Aber klar, prinzipiell wären mir echte Treiber auch lieber. Hatte 
weiter oben ja beispielhaft welche für 50 Cent erwähnt, aber selbst das 
macht sich bei den vielen Pixeln bemerkbar. Bei 10x20 sind das 100 Euro, 
keine Ahnung, ob es das Wert ist.

Tim R. schrieb:
> Zum einen 3xPWM für die RGB und zusätzlich noch 1x PWM für die
> IR-LED (welche ich die ganze Zeit gar nicht bedacht habe).

3 Kanäle reichen absolut. Die IR-LED indirekt über einen Treiber zu 
versorgen macht keinen Sinn. Wir müssen ja wissen wann die LED an bzw. 
aus ist und unsere ADC Messungen entsprechend synchronisieren.

In meinem Versuchsaufbau hab ich das folgendermaßen gelöst: Eine 
Timer-ISR läuft mit einigen Hundert Hertz (in meinem Fall ~ 500). Diese 
wird in 4 gleich lange "Phasen" geteilt. In Phase 1 und 3 wird die LED 
getogglet (ein bzw. ausgeschaltet), in den Phasen 2 und 4 wird eine ADC 
Konvertierung durchgeführt. Dieser Ansatz garantiert nämlich, dass die 
ADC Konvertierung erst dann gestartet wird, wenn das Signal "stabil" 
ist. Die Photodioden-Konstruktion hat nämlich in der aktuellen Form in 
etwa 100 Mikrosekunden Rise- bzw. Falltime. Dieser Ansatz erfordert nur 
ganz wenig Overhead und macht keine expliziten Annahmen über das Timing. 
Der Artikel über Photodioden erwähnt nämlich explizit, dass man mit dem 
gewählten Aufbau eine Grenzfrequenz von nur einigen Kilohertz hat. Dafür 
kommt man ganz ohne "teure" zusätzliche Bauteile (z.B. OpAmps) aus. 
Einen Timer Interrupt mit dieser Frequenz wird man sowieso haben, 
ansonsten lässt sich eine schnellere ISR ja auch in Software herunter 
teilen.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> Tim R. schrieb:
> Hatte
> weiter oben ja beispielhaft welche für 50 Cent erwähnt, aber selbst das
> macht sich bei den vielen Pixeln bemerkbar. Bei 10x20 sind das 100 Euro,
> keine Ahnung, ob es das Wert ist.
Ja, das Problem ist verschiedene PWM-Kanäle haben zu wollen. Die kosten 
meist etwas mehr. Aber wenn jemand einen passenden Baustein für wenig 
Geld hat, immer her damit ? :-)
>
> Tim R. schrieb:
>> Zum einen 3xPWM für die RGB und zusätzlich noch 1x PWM für die
>> IR-LED (welche ich die ganze Zeit gar nicht bedacht habe).
>
> 3 Kanäle reichen absolut. Die IR-LED indirekt über einen Treiber zu
> versorgen macht keinen Sinn. Wir müssen ja wissen wann die LED an bzw.
> aus ist und unsere ADC Messungen entsprechend synchronisieren.
Das ist schon richtig... oder habe ich gerade einen Denkfehler? Ob ich 
nun die IR-LED direkt abschalte oder per i2c dem Treiber sage er soll 
die IR-LED abschalten macht einen minimales delta T denk ich... aber 
direkt schalten ist schneller und man kann sicher sein das auch wirklich 
an/aus ist, das stimmt schon

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Das ist schon richtig... oder habe ich gerade einen Denkfehler?

Gut, die Frage kann man erst klären, wenn man ein konkreten Baustein 
hat. Es ist halt wichtig, dass ein eventueller Treiber wirklich dann 
anschaltet, wenn wir es ihm sagen, und nicht anfängt selbst herum zu 
modulieren. Und unabhängig davon ist das Sprechen mit dem Treiber 
"komplizierter" als das Togglen eines Pins. Bei neueren AVRs lässt sich 
das ja durchs Schreiben ins PINx Register erledigen.

Im Endeffekt sind das aber Detailfragen, die es zu klären gibt, wenn wir 
uns auf einen konkreten Mikrocontroller festgelegt haben. Funktionieren 
wird letztendlich beides ;).

Mit freundlichen Grüßen,
Karol Babioch

von Ast E. (vis)


Lesenswert?

Der Attiny841 hat auch genügend Pins die vom Timer angesprochen werden 
können. Damit könnte man sich auch gleich den kompletten Treiber sparen. 
Bräuchte nur entsprechende Beschaltung

von Conny G. (conny_g)


Lesenswert?

Bei nur 3 (4) Kanälen komme ich doch noch mit Software-PWM hin, auch mit 
10 Bit Auflösung, wieso brauche ich dann einen PWM-Baustein?
So reichen mit 3 Transistoren oder Mini-Mosfets um die RGB-LED mit 
richtig Strom zu versorgen, die kosten 30 Cent.

Ach ja, wir haben die 2 Datenprotokolle auch noch, dann muss man auf die 
Timings ein bisschen aufpassen.

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Die TOCC Pins am Attiny841 sind doch quasi frei wählbar für die 
PWM-outputs oder nicht? Hab die leider noch nie benutzt, aber das 
Datenblatt so verstanden. Und somit können doch 2x RX/TX und 4PWM Kanäle 
genutzt werden bei 8 TOCC Kanälen.

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Die TOCC Pins am Attiny841 sind doch quasi frei wählbar für die
> PWM-outputs oder nicht?

Naja, ein paar Restriktionen gibt es schon, siehe Seite 115f. im 
Datenblatt, aber so eine Flexibilität kenne ich von AVRs noch gar nicht. 
Habe vorhin mal 10 Stück bestellt, mal sehen, was ich damit anfange ;).

Habe mir übrigens auch jeweils ein Exemplar des VCNL4010 und VCNL4020 
zugelegt. Auch hier - mehr oder weniger - nur aus Interesse, weil ich 
gerne wüsste, ob bzw. wie gut das Ganze auch durch Glas hindurch 
funktioniert. Funktionsreich sind diese Bausteine ja schon (, dafür auch 
entsprechend teuer. Da müssten wir schon sehr viele sein, damit sich das 
lohnt. Ab 8000 Stück kosten die dann auch nur noch rund einen Euro ;).

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Da müssten wir schon sehr viele sein, damit sich das

Das sind weniger als 8 Tische für 800 Stück.

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Das sind weniger als 8 Tische für 800 Stück.

Die Rede war auch von 8000 ;). Das sind bei 10x20 40 Tische ;). Und 
selbst dann ist ein Euro noch eine Stange Geld (~ 200 Euro pro Tisch) 
und würde wohl das teuerste Bauteil darstellen. Der Mikrocontroller z.B. 
würde bei dieser Größenordnung nur noch 60 Cent kosten. LEDs, Platinen 
und Hühnerfutter werden zusammen sicherlich auch nochmal ein Euro 
ausmachen. Damit wären wir halt wieder bei etwa 3 Euro pro Pixel. Und 
das ist sogar noch optimistisch gerechnet.

Wie gesagt, will das erst einmal nur ausprobieren (aus Interesse). 
Sofern das wirklich zuverlässig funktioniert, hätten wir halt eine 
Off-the-Shelf Komponente, die gleichzeitig auch eine Entfernungsmessung 
zulässt und uns neben dem Umgebungslicht auch noch eine extrem hohe 
Entfernungsauflösung bietet. Bin mir aber nicht sicher, ob das mit 
8-10mm diffusen Glas überhaupt klappen kann. Idealerweise gäbe es ja nur 
einen konstanten Offset, den man in der Software leicht herausrechnen 
kann. Es kann aber genauso gut sein, dass die interne Elektronik damit 
nicht zurecht kommt und sich durch die vielen Reflexionen durcheinander 
bringen lässt. Probieren geht über Studieren ;). Erfahrungen habe ich 
mit diesen Sensoren noch keine.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Das sind weniger als 8 Tische für 800 Stück.
>
> Die Rede war auch von 8000 ;). Das sind bei 10x20 40 Tische ;). Und

Ui. Zuviel Wein, zuviel geschielt.

von asterix (Gast)


Lesenswert?

Karol Babioch schrieb:
> Habe mir übrigens auch jeweils ein Exemplar des VCNL4010 und VCNL4020
> zugelegt. Auch hier - mehr oder weniger - nur aus Interesse, weil ich
> gerne wüsste, ob bzw. wie gut das Ganze auch durch Glas hindurch
> funktioniert.

Toll dieser Tatendrang !

> Funktionsreich sind diese Bausteine ja schon (, dafür auch
> entsprechend teuer. Da müssten wir schon sehr viele sein, damit sich das
> lohnt. Ab 8000 Stück kosten die dann auch nur noch rund einen Euro ;).

Das ist eine ganze Menge. Ich glaube es sollte doch auf günstigere 
Alternativen zurück gegriffen werden, weil die Stückzahl mit einem Mal 
nicht erreicht wird

von asterix (Gast)


Lesenswert?

ps: wenn die LED-Treiber zu overpowered/teuer sind, dann seid ihr vom 
Prinzip wieder beim oben geposteten Schaltplan mit Transistoren oder 
Ähnlichem. War also gar nicht mal so abwägig würde ich meinen

von Didi S. (kokisan2000)


Lesenswert?

" .... Bin mir aber nicht sicher, ob das mit 8-10mm diffusen Glas 
überhaupt klappen kann. Idealerweise gäbe es ja nur einen konstanten 
Offset, den man in der Software leicht herausrechnen kann. Es kann aber 
genauso gut sein, dass die interne Elektronik damit nicht zurecht kommt 
und sich durch die vielen Reflexionen durcheinander bringen lässt. ...."

Das eingebaute IC arbeitet linear, soll heissen, dass die Reflexionen 
ein Offset bilden und das Nutzsignal oben drauf gesetzt wird. Bei 16 Bit 
Auflösung hat man genug Reserve. Ich habe in einer Anwendungen direkt 
hinter satiniertem Kunststoff ein Offset von etwa 55000 counts. Der 
Detektor rauscht digital mit etwa 9-11 counts. Meine 
Entscheidungsschwelle für ein Objekt oberhalb des Kunststoffes habe ich 
auf 30 counts gelegt. Das funktioniert einwandfrei.

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

So, habe mittlerweile mit einem satiniertes Glasmuster experimentiert. 
Es ist 10 mm stark und die Lichtdurchlässigkeit beträgt ca. 80 %. Ich 
habe drei Pixel nebeneinander auf einem Steckbrett aufgebaut und mittels 
Kartonwänden voneinander getrennt. Für die Steuerung und Auswertung ist 
jeweils ein ATtiny85 zuständig. Der Code ist im Wesentlichen der selbe 
wie auch schon bei früheren Experimenten. Aus ästhetischen Gründen lasse 
ich die LEDs aber in etwa 100 ms "nachglühen". Die Schwellwerte habe ich 
etwas anpassen müssen (dV beträgt nur noch etwa 250 mV).

Ich habe das Ganze wieder in einem kurzen Video festgehalten [1]. Die 
Lichtverhältnisse bzw. Spiegelungen bitte ich zu entschuldigen. Aufgrund 
der Urzeit bzw. dem fehlenden Tageslicht war ich gezwungen einen 
Halogenstrahler im Hintergrund an zu lassen. Ist aber ein Beweis für die 
Robustheit des Ansatzes :).

Nachdem ich nun einige Stunden damit herum gespielt habe, muss ich zu 
meinem Erstaunen feststellen, dass die Wahl des Glases viel unkritischer 
ist als zunächst angenommen. Wie man im Video schön sieht, funktioniert 
es sowohl mit als auch ganz ohne Glas. Habe es auch noch mit einem 4mm 
starken und satiniertem Glas probiert, auch hier funktioniert es 
problemlos. Man sieht auch schön wie unempfindlich die einzelnen Pixel 
gegenüber dem Infrarot-Licht der jeweils anliegenden sind. Insgesamt bin 
ich mehr als zufrieden und denke, dass das genau der Ansatz ist, den wir 
verfolgen bzw. umsetzen sollten. Allein schon aus Kostengründen ;).

Im Übrigen habe ich mittlerweile auch echte Entfernungssensoren vor mir 
liegen (VCNL4010 bzw. VCNL4020). Sind allerdings kleiner als zunächst 
angenommen, mal sehen wie ich da zu einem Versuchsaufbau komme ;). Die 
sind vermutlich für dieses Projekt, wie schon oben angemerkt, zu teuer - 
zu mal die Lösung mit IR Photodiode und IR LED gut und robust 
funktioniert.

Da ich aber zum Teil die Intensität der IR LED anpassen musste, um einen 
vernünftigen Wert zu finden (zu Stark = Reflexionen, zu Schwach = zu 
unempfindlich), könnte es Sinn machen das aus der Software heraus 
steuerbar zu machen. Eine PWM halte ich hierfür allerdings nur für 
bedingt geeignet, weil wir das ja auch vermessen müssen. Was gäbe es 
hierfür denn für günstige Möglichkeiten? Überhaupt wüsste ich nicht wie 
man das dann automatisch kalibrieren könnte, wenn man zwei 
"Stellschrauben" hat, nämlich die von den Photodioden gemessene 
Differenz sowie die Intensität der IR-LED. Vorschläge?

Einziges Manko sind jetzt noch die eigentlichen RGB LEDs. Bei meinen 3 
cm und blauen diffusen 5mm LEDs, lässt sich schon noch deutlich erkennen 
wo sich die LED hinter dem Glas befindet. Idealerweise sollte die so 
diffus sein, dass die ganze Fläche gleichmäßig ausgeleuchtet ist. Werde 
wohl noch SMD RGB LEDs probieren, da die einen größeren Abstrahlwinkel 
haben und ich noch welche vorrätig habe.

Übrigens: Für Interessierte finden sich unter [2] Bilder des Aufbaus 
bzw. eine kleine Fotodokumentation des Projekts ;).

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://youtu.be/HgVx61N-96c
[2]: 
https://plus.google.com/photos/+KarolBabioch/albums/6018967731865862353

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> So, habe mittlerweile mit einem satiniertes Glasmuster experimentiert.

Sehr schöner Versuchsaufbau. Ich glaube auch, dass die von Dir getestete 
Konfiguration der richtige Weg ist.

Allerdings halte ich das satinierte Glas immer noch für viel zu klar.

SMD-RGB-LEDs mit ihrem großen Abstrahlwinkel halte ich auch für zwingend 
notwendig. Aber selbst dann werden Einzelheiten (wie Wände aber auch das 
Innenleben einer jeden Zelle) noch viel zu detailliert abgebildet. Das 
Glas muss wesentlich diffuser sein. Eventuell wäre eine weiße 
Farbschicht (wie beim WordClock-Projekt) oder Milchglas eine wesentliche 
Verbesserung. Dann würde auch jede Zelle viel heller wirken.

Fragt sich dann nur, ob die Sensor-Empfindlichkeit dann noch 
ausreicht...

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> So, habe mittlerweile mit einem satiniertes Glasmuster experimentiert.

Sehr gute Arbeit, cool!
Wenn ich das recht sehe reduziert das Glas die Reichweite von 5-7cm auf 
2-3cm?
Könnte man da durch die Kalibrierung noch mehr rausholen?

Stimme Frank zu, dass Milchglas noch besser wäre.

Was fiele uns denn an Entspiegelungsmöglichkeiten für die Unterseite 
ein? Das könnte Reflexionen und damit den Offset stark verringern.

von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:

> Ich habe das Ganze wieder in einem kurzen Video festgehalten [1]. Die
> Lichtverhältnisse bzw. Spiegelungen bitte ich zu entschuldigen.
sehr schöner Versuch!
> Nachdem ich nun einige Stunden damit herum gespielt habe, muss ich zu
> meinem Erstaunen feststellen, dass die Wahl des Glases viel unkritischer
> ist als zunächst angenommen. Wie man im Video schön sieht, funktioniert
> es sowohl mit als auch ganz ohne Glas. Habe es auch noch mit einem 4mm
> starken und satiniertem Glas probiert, auch hier funktioniert es
> problemlos.
Muss mich leider anschließen, dass mir das Glas noch zu "durchsichtig" 
ist. Gibt es denn eine kostengünstige alterantive wie Milchglas mit 
guter Lichtdurchlässigkeit?!
> Einziges Manko sind jetzt noch die eigentlichen RGB LEDs.
Wir hatten anfangs über SuperFlux RGBs nachgedacht.
Aber du hast auch gerade mal knapp 2cm tiefe in den Pixeln oder? Wie 
sieht es aus, wenn dieser Abstand vergrößert wird? Sollte der 
Abstrahlwinkel automatisch das komplette Glas beleuchten und nicht 
punktuell.

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Allerdings halte ich das satinierte Glas immer noch für viel zu klar.

Ja, die Frage ist halt immer was es für Alternativen gibt, und wie man 
da (günstig) heran kommt. Die Lichtdurchlässigkeit der satinierten 
Gläser scheint immer in etwa 80 Prozent zu betragen, jedenfalls habe ich 
noch nichts anderes gesehen. Milchglas konnte ich noch keines 
organisieren, da rührt die Diffusität ja wirklich aus dem Glasinneren 
her, und nicht nur von der Oberfläche.

Frank M. schrieb:
> Eventuell wäre eine weiße
> Farbschicht (wie beim WordClock-Projekt)

Da bringst du mich auf eine Idee. Habe noch eine Diffusorfolie aus dem 
Wordclock-Projekt (für die Metallfront). Die könnte man unterlegen und 
dann sogar auf klares Glas setzen. Das Licht wird dabei in jedem Fall 
genug gestreut, vor allem bei SMD LEDs.

Frank M. schrieb:
> Fragt sich dann nur, ob die Sensor-Empfindlichkeit dann noch
> ausreicht...

Probieren geht über studieren: Funktionieren tut das Ganze auch 
wunderbar, siehe mein neustes Video [1]. Bin mir nur nicht sicher, ob 
das optisch akzeptabel bzw. ansprechend ist. Alternativ könnten man auch 
5x5 cm große Quadrate ausschneiden und in den Pixeln anbringen. Die 
Glasplatte würde dann auf einer Holzkonstruktion aufliegen. Könnte mir 
vorstellen, dass das "schön" aussieht. Dazu ist es auch noch die 
kostengünstigste Alternative.

Conny G. schrieb:
> Wenn ich das recht sehe reduziert das Glas die Reichweite von 5-7cm auf
> 2-3cm?

Ja, etwas geringer ist das geworden. Lässt sich ggf. aber durch eine 
Erhöhung der Intensität der IR LEDs ausgleichen. Muss dafür aber meinen 
Versuchsaufbau ändern, weil ich beides gerne über die Software und ein 
entsprechendes Protokoll steuern würde, sodass ich nicht ständig neu 
flashen und den Aufbau ändern muss.

Tim R. schrieb:
> Aber du hast auch gerade mal knapp 2cm tiefe in den Pixeln oder?

Die Kästchen sind derzeit 3 cm tief. Mit der Diffusorfolie reicht das 
aber. Bei der Wordclock z.B. ist der Abstand noch geringer und man kann 
die einzelnen LEDs nicht mehr erkennen.

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://youtu.be/SClKqD01_uU

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Übrigens: Als Vorschlag zu meinem Video wurde mir Folgendes [1] 
angeboten. Schaut auch sehr vielversprechend aus und basiert scheinbar 
auf Entfernungssensoren. Das entsprechende Produkt kann man hier [2] 
kaufen. Dort steht etwas von 300 Dollar, wobei man sich für den Preis 
nochmal bei denen melden soll? Gibt nicht viele technische Details, aber 
sofern das wirklich nur 300 Dollar kosten würde, lohnt sich im Prinzip 
der Selbstbau nicht ;).

Mit freundlichen Grüßen,
Karol Babioch

[1]: https://www.youtube.com/watch?v=R10_4ciWxgI
[2]: 
http://www.farralane.com/store/p-9505-acclaim-lighting-catwalk-panel.aspx

: Bearbeitet durch User
von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Übrigens: Als Vorschlag zu meinem Video wurde mir Folgendes [1]
> angeboten. Schaut auch sehr vielversprechend aus und basiert scheinbar
> auf Entfernungssensoren. Das entsprechende Produkt kann man hier [2]
> kaufen. Dort steht etwas von 300 Dollar, wobei man sich für den Preis
> nochmal bei denen melden soll? Gibt nicht viele technische Details, aber
> sofern das wirklich nur 300 Dollar kosten würde, lohnt sich im Prinzip
> der Selbstbau nicht ;).
>
> Mit freundlichen Grüßen,
> Karol Babioch
>
> [1]: https://www.youtube.com/watch?v=R10_4ciWxgI
> [2]:
> http://www.farralane.com/store/p-9505-acclaim-lighting-catwalk-panel.aspx

Das ist wirklich sehr gut gemacht!
Ich frage mich allerdings, ob man es frei programmieren kann (Spiele, 
eigene Animationen etc.).

Allerdings kostet das 20x20 Panel 300 Dollar. Also selbst wenn man 50% 
Rabatt bekäme, kommt man für einen 60x60 Tisch bei 3x3 = 9 Panels x 150 
Dollar = 1.350 Dollar raus.
Für den Preis bekommen wir es auch hin :-)
Wir müssten doch folgendes schaffen können:
- Holz, Lack, Schrauben, div. Kabel etc. 100-150 Euro
- Glas 100 Euro
- Pixel, 100 Pixel x 3 Euro = 300 Euro
- Steuerung 30 Euro
Also um die 500-600 Euro, das ist die Hälfte.

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Das ist wirklich sehr gut gemacht!
> Ich frage mich allerdings, ob man es frei programmieren kann (Spiele,
> eigene Animationen etc.).

Da steht etwas von DMX, also eventuell. Ansonsten könnte man das 
sicherlich modifizieren und nur den physikalischen Aufbau benutzen ;). 
Also rein theoretisch ...

Mit freundlichen Grüßen,
Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> - Pixel, 100 Pixel x 3 Euro = 300 Euro

Dann hast du aber "nur" 100 Pixel, also z.B. 10x10. War nicht mal 10x20 
bzw. sogar 20x20 der Plan?

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> - Pixel, 100 Pixel x 3 Euro = 300 Euro
>
> Dann hast du aber "nur" 100 Pixel, also z.B. 10x10. War nicht mal 10x20
> bzw. sogar 20x20 der Plan?

Ja, ich plante soweit einen kleinen Couchtisch von ungefähr 60x60cm. 
Vielleicht ein bisschen mehr.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Karol Babioch schrieb:
> Probieren geht über studieren: Funktionieren tut das Ganze auch
> wunderbar, siehe mein neustes Video [1].

Na also! So muss es sein: Die Fläche muss leuchten und nicht die LED 
dahinter. Wenn Du jetzt noch SMD-RGB-LEDs benutzt, wird auch noch der 
runde Kranz verschwinden und alles ist perfekt :-)

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Wenn Du jetzt noch SMD-RGB-LEDs benutzt, wird auch noch der
> runde Kranz verschwinden und alles ist perfekt :-)

Ja, aber ist das der Weg, den wir einschlagen wollen? Effektiv ist ja 
trotz der vielen Beiträge noch nicht wirklich etwas beschlossen worden 
und irgendwann müssen wir uns mal auf irgendetwas festlegen, um weiter 
voran zu kommen.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Wenn jeder nur wartet, wird das nie was. Irgendwann muss man auch 
"machen".

Das heisst im konkreten Fall: das bisherige Ergebnis als Teillösung des 
Projekts ansehen. Damit ist es dann "beschlossen".

Anders kommt man nicht weiter. Es wird immer welche geben, die mit einer 
Teillösung so nicht einverstanden sind oder lieber eine andere Lösung 
gesehen hätten.

Aber ohne Kompromisse kommt man halt nicht weiter... ;-)

von Conny G. (conny_g)


Angehängte Dateien:

Lesenswert?

Karol Babioch schrieb:
> Frank M. schrieb:
>> Wenn Du jetzt noch SMD-RGB-LEDs benutzt, wird auch noch der
>> runde Kranz verschwinden und alles ist perfekt :-)
>
> Ja, aber ist das der Weg, den wir einschlagen wollen? Effektiv ist ja
> trotz der vielen Beiträge noch nicht wirklich etwas beschlossen worden
> und irgendwann müssen wir uns mal auf irgendetwas festlegen, um weiter
> voran zu kommen.

Um meinen Senf dazuzugeben:
Ich würde es mir so vorstellen, dass die Zellen komplett ausgeleuchtet 
sind und man so wenig "LED-Punkt" wie möglich sieht.
Ein kleiner dunkler Schatten (paar Millimeter) ist ok, man sollte aber 
nicht die Unterkonstruktion durch die Glasscheibe sehen können.
Also sollte sie stark "milchig" sein, womit satiniert nicht ausreichen 
würde.

Vom optischen Eindruck gefällt es mir wie hier gut:
http://youtu.be/MoCnA9lN_54
(Ab 0:50). Nur grössere Felder.

Oder wie der Touch Table:
https://www.youtube.com/watch?v=DTb0k_P1wlY
(bzw. angehängter Screenshot)
wobei mir gerade auffällt, dass das Glas gerne noch etwas milchiger sein 
dürfte als hier.

Genau deshalb wäre es mir auch lieber, wenn die Tiefe der Zellen mehr 
wäre als 3cm, weil sich dann einfacher eine schöne Ausleuchtung ergibt.
Also weniger durch die Diffusion des Materials, mehr durch gute 
Ausleuchtung.

von Ast E. (vis)


Lesenswert?

Frank M. schrieb:
> Wenn jeder nur wartet, wird das nie was. Irgendwann muss man auch
> "machen".
>
> Das heisst im konkreten Fall: das bisherige Ergebnis als Teillösung des
> Projekts ansehen. Damit ist es dann "beschlossen".
>
> Anders kommt man nicht weiter. Es wird immer welche geben, die mit einer
> Teillösung so nicht einverstanden sind oder lieber eine andere Lösung
> gesehen hätten.
>
> Aber ohne Kompromisse kommt man halt nicht weiter... ;-)

da gebe ich dir Recht :-)
... und da ich den Thread hier gestartet hatte, nehm ich mir einfach mal 
die Freiheit und würde beschließen, dass wir den gezeigten Testaufbau 
als Referenz nehmen. Ich werde z.B. meine IS471 Sensoridee aufgrund des 
Preises dann auch verwerfen. Die Frage um das richtige Glas muss eben 
probiert werden. Ich persönlich habe nichts gegen mein Plexiglas wo ich 
mir ein Muster bestellt hatte, aber wenn die Masse richtiges Glas 
bevorzugt, dann gehen wir diesen Weg. Nur fehlen mir bis dato Quellen, 
wo es gutes und günstiges Glas gibt, welches für unseren Gebrauch 
nutzbar bist :-(

ps: warum smd-LEDs? streuen diese besser oder wie muss ich das 
verstehen. Bin jetzt gerade etwas verwirrt

: Bearbeitet durch User
von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> ps: warum smd-LEDs? streuen diese besser oder wie muss ich das
> verstehen. Bin jetzt gerade etwas verwirrt

Ja. Diejenigen von der Wordclock haben z.B. einen Abstrahlwinkel von 
140°. Da sieht man dann keinerlei Punkte. In Kombination mit 
Widerständen in der Bauform 0805 lassen sich auch gut per Hand löten und 
sparen Platz. Selbiges gilt für den ATtiny841, der sich als SOIC auch 
noch gut per Hand verarbeiten lassen würde.

Bei den Photodioden bzw. IR-LEDs scheint es aber nur THT zu geben, 
insofern lässt sich ein bisschen Handarbeit eh nicht vermeiden.

Was das "Be­schlie­ßen" von Dingen für das Projekt angeht, so sind in 
meinen Augen zumindest noch folgende Baustellen offen:

- Protokoll: Ist denn jeder mit der vorgeschlagenen Daisy Chain 
zufrieden? Gibt es berechtigte Einwände bzw. Verbesserungsvorschläge? 
Hat das überhaupt schon jemand probiert (mit ein paar (> 10) Slaves) ;)? 
Implizites Timing gefällt mir an sich ganz gut, nur ob das hinhaut bei 
so vielen Teilnehmern? Immerhin kann (in ungünstigen Fällen) auch 
einiges an Verzögerung entstehen durch die involvierten ISRs. Die UART 
ISRs z.B. sind auch relativ niedrig priorisiert. Man muss das 
Zeitfenster zum Übernehmen der Werte also groß genug wählen? Mag sich da 
jemand mal Gedanken zum Worst Case machen und irgendwelche Formeln bzw. 
konkrete Werte liefern ;)?

- Überhaupt gibt es wenig konkrete Details zur verwendeten Schnittstelle 
bzw. im Wiki-Artikel ist von MOSI, MISO, usw. die Rede. SPI so wie es im 
Lehrbuch steht wird aber nicht funktionieren, weil wir mit einer 
synchronen CLK Leitung nicht hinkommen werden. Alternativ gibt es den 
o.g. UART Ring - entweder in einfacher oder zweifacher Ausführung. 
Letzteres fände ich "cooler", weil noch nirgends gesehen und potentiell 
doppelt so schnell. Andererseits macht es die Timings (zwei 
gegeneinander agierende ISRs) ggf. noch mehr "kaputt".

- Die Frage zur Steuerung der Intensität der IR-LED ist auch noch nicht 
geklärt: Ich würde das schon für sinnvoll halten, allein schon weil IR 
LEDs wohl altern und mit der Zeit schwächer werden. Ggf. müsste man hier 
also nachjustieren. Das ist derzeit mein größtes Problem, weil der 
typische PWM Ansatz halt nicht funktionieren wird. Eine digitales 
Potentiometer bzw. eine programmierbare Konstantstromquelle kostet
(merklich) Geld.

- Maße: Ich halte eine Pixelgröße von 5x5 cm für einen guten Kompromiss. 
Würde die Platinen allerdings etwas kleiner machen, z.B. 48mm x 48mm, um 
genug Platz für eine Rahmenkonstruktion zu haben.

- Spannungsversorgung: Sollen die Pixel jeweils selbst einen 
Spannungsregler an Board haben? Wenn wir einmal von 20 mA pro Farbe 
sowie 40 mA für die IR LED ausgehen, dann kommt da schon ordentlich was 
zusammen (> 100 mA pro Pixel).

- Verkabelung: Weiter oben wurde z.B. der Vorschlag gemacht zumindest 
die Stromversorgung mittels "Schienen" zu gewährleisten. Die einzelnen 
Pixel-Platinen werden dann nur noch "aufgesteckt". Hat jemand 
Erfahrungen mit solchen Systemen? Stichwörter zum Suchen? Preise? Infos 
zur Zuverlässigkeit?

Softwaretechnisch fehlt auch noch einiges:

- Protokoll: Eine genaue Spezifikation + Implementierung

- Bootloader: Ich würde gerne Pixel einzeln bzw. per Broadcast flashen 
können, um Updates bequem einzuspielen. Der ATtiny841 hat leider keinen 
dedizierten Bootloader-Support, d.h. wir müssen das per Software 
erledigen und es dahingehend absichern, dass man den Bootloader nicht 
kaputt machen kann (Stromausfall & Co.). 100+ Module per Hand neu zu 
flashen macht sicherlich keinen Spaß. Eine mögliche Inspirationsquelle: 
[1]. Was für Möglichkeiten der Verifizierung gibt es? Wenn wir das alles 
per Daisy-Chain hin und her schicken, dann könnte es langsam werden. 
"Interessant" wäre es, wenn sich die Pixel untereinander Updates 
zuspielen und überprüfen könnten. Ist aber vermutlich zu kompliziert, 
oder?

Es gibt also eine Menge zu tun: Und selbst wenn all das steht, dann 
haben wir erst einmal nur "blöde" Pixel. Eine Steuerung will auch noch 
entworfen und programmiert werden ;).

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://jtxp.org/tech/tinysafeboot_en.htm

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> Ja. Diejenigen von der Wordclock haben z.B. einen Abstrahlwinkel von
> 140°.

Ah super, ich hatte SMD-LEDs bisher nie als so wichtiges Leuchtmittel 
genutzt, eher für Hinweisleuchten oder was auch immer :-)

> Was das "Be­schlie­ßen" von Dingen für das Projekt angeht, so sind in
> meinen Augen zumindest noch folgende Baustellen offen:

Das ist klar... aber irgendwann müssen wir ja ausm Pott kommen denke ich 
:-)

> - Protokoll: Ist denn jeder mit der vorgeschlagenen Daisy Chain
> zufrieden? Gibt es berechtigte Einwände bzw. Verbesserungsvorschläge?
> Hat das überhaupt schon jemand probiert (mit ein paar (> 10) Slaves) ;)?

Bisher erschien mir die Variante als schnellste,komfortabelste Lösung 
vor. Nein es ist bisher bei reiner Theorie geblieben, soweit ich weiß. 
Das es getestet werden muss ist klar, aber ich denke der Ansatz ist 
leicht zu verstehen und sollte funktionieren. Wie schnell das ganze nun 
letztendlich wirklich ist, ist die intressanteste Frage denk ich.
> Implizites Timing gefällt mir an sich ganz gut, nur ob das hinhaut bei
> so vielen Teilnehmern? Immerhin kann (in ungünstigen Fällen) auch
> einiges an Verzögerung entstehen durch die involvierten ISRs.

Naja, die UART haben doch als einzige Komponente neben dem ADC einen 
Interrupt nötig oder?!
> Die UART
> ISRs z.B. sind auch relativ niedrig priorisiert. Man muss das
> Zeitfenster zum Übernehmen der Werte also groß genug wählen? Mag sich da
> jemand mal Gedanken zum Worst Case machen und irgendwelche Formeln bzw.
> konkrete Werte liefern ;)?
Weiter oben sind dazu schon ein paar Berechnungen gelaufen. Ich muss 
jetzt leider passen wie weit das genau ausgeführt wurde und der Thread 
hier wird ja langsam auch immer größer :-)

> - Überhaupt gibt es wenig konkrete Details zur verwendeten Schnittstelle
> bzw. im Wiki-Artikel ist von MOSI, MISO, usw. die Rede.

Der Wiki Artikel ist noch ganz am Anfang. Conny war so nett ein paar 
Sachen dort aufzuschreiben.
> SPI so wie es im
> Lehrbuch steht wird aber nicht funktionieren, weil wir mit einer
> synchronen CLK Leitung nicht hinkommen werden. Alternativ gibt es den
> o.g. UART Ring - entweder in einfacher oder zweifacher Ausführung.

Die Überlegungen gingen in Richtung 2x UART für jede Richtung (zwischen 
den Pixeln). Hier kann man mit der Topologie etwas spielen. Lässt man 
alle kaskadieren? Denke ich ist zu Zeitraubend. Lässt man die einzelnen 
Reihen/Spalten jeweils vom Master bedienen? Oder Platziert man den 
Master in der Mitte und lässt quasi 4 große Abschnitte des Tisches 
bedienen?! Ich denke mittig oder gleiche die einzelnen Reihen jeweils 
ansprechen wäre am günstigsten. Ich habe wegen dem Master gerade noch 
überlegt, ob wir eine Alternative finden könnten. Der Beagle Bone Black 
hat power und viele I/Os das ist fakt. Jedoch ist momentan (und ich 
denke auch in der Zukunft) das Teil schwer zu bekommen. Das heißt gibt 
es etwas ähnliches was leicht lieferbar ist?

> - Die Frage zur Steuerung der Intensität der IR-LED ist auch noch nicht
> geklärt: Ich würde das schon für sinnvoll halten, allein schon weil IR
> LEDs wohl altern und mit der Zeit schwächer werden. Ggf. müsste man hier
> also nachjustieren. Das ist derzeit mein größtes Problem, weil der
> typische PWM Ansatz halt nicht funktionieren wird. Eine digitales
> Potentiometer bzw. eine programmierbare Konstantstromquelle kostet
> (merklich) Geld.

Der Gedankenansatz ist schon sehr gut, nur denke ich sprengt das 
irgendwann auch etwas den Rahmen. Und die Alterung der LED ist denke ich 
vernässligbar, habe aber dazu ehrlich gesagt nicht das Wissen! Wir 
sollten aufpassen nicht zu doll "auszuholen" damit dieses Projekt auch 
noch realisierbar bleibt. Oder nicht?!

> - Maße: Ich halte eine Pixelgröße von 5x5 cm für einen guten Kompromiss.
> Würde die Platinen allerdings etwas kleiner machen, z.B. 48mm x 48mm, um
> genug Platz für eine Rahmenkonstruktion zu haben.

ich denke mit 5x5cm kann jeder gut leben. Zur Not kann man jeder seine 
eigene Größe realisieren. Die Platinen würde ich sogar noch etwas 
kleiner dimensionieren weil 4mm Wandstärke etwas knapp werden könnte. 
Die Pixelwände sollen schießlich auch die Glasplatte halten und was 
darauf steht. Ich posaune einfach mal 45x45mm raus :-)

> - Spannungsversorgung: Sollen die Pixel jeweils selbst einen
> Spannungsregler an Board haben? Wenn wir einmal von 20 mA pro Farbe
> sowie 40 mA für die IR LED ausgehen, dann kommt da schon ordentlich was
> zusammen (> 100 mA pro Pixel).
> - Verkabelung: Weiter oben wurde z.B. der Vorschlag gemacht zumindest
> die Stromversorgung mittels "Schienen" zu gewährleisten. Die einzelnen
> Pixel-Platinen werden dann nur noch "aufgesteckt". Hat jemand
> Erfahrungen mit solchen Systemen? Stichwörter zum Suchen? Preise? Infos
> zur Zuverlässigkeit?
Also stecken ist denke ich nicht so die gute Idee. Ich würde Schrauben 
verwenden damit die Pixel wirklich fest sind und nix verrutscht. Das 
würde evtl. auch eine neue Kalibrierung mit sich ziehen etc.
Aber ich denke die Idee mit den Schienen war schon sehr gut, hab da 
leider nur auch keine Erfahrung mit.

> Softwaretechnisch fehlt auch noch einiges:
>
> - Protokoll: Eine genaue Spezifikation + Implementierung
>
> - Bootloader: Ich würde gerne Pixel einzeln bzw. per Broadcast flashen
> können, um Updates bequem einzuspielen. Der ATtiny841 hat leider keinen
> dedizierten Bootloader-Support, d.h. wir müssen das per Software
> erledigen und es dahingehend absichern, dass man den Bootloader nicht
> kaputt machen kann (Stromausfall & Co.). 100+ Module per Hand neu zu
> flashen macht sicherlich keinen Spaß. Eine mögliche Inspirationsquelle:
> [1]. Was für Möglichkeiten der Verifizierung gibt es? Wenn wir das alles
> per Daisy-Chain hin und her schicken, dann könnte es langsam werden.
> "Interessant" wäre es, wenn sich die Pixel untereinander Updates
> zuspielen und überprüfen könnten. Ist aber vermutlich zu kompliziert,
> oder?
>
> Es gibt also eine Menge zu tun: Und selbst wenn all das steht, dann
> haben wir erst einmal nur "blöde" Pixel. Eine Steuerung will auch noch
> entworfen und programmiert werden ;).

Um die Software auf dem Master mache ich mir eigtl. am wenigsten Sorgen. 
Jeder kann dann etwas zum Häppchen dazu steuern :-)

von Michael D. (joegi)


Lesenswert?

...vielleicht kannst Du da was mit anfangen: 
http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html

von Karol B. (johnpatcher)


Lesenswert?

Michael D. schrieb:
> ...vielleicht kannst Du da was mit anfangen:
> http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html

Daran orientieren wir uns schon. Nur wollen wir das Ganze modularer und 
"besser" (TM) hinbekommen ;).

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> - Überhaupt gibt es wenig konkrete Details zur verwendeten Schnittstelle
> bzw. im Wiki-Artikel ist von MOSI, MISO, usw. die Rede. SPI so wie es im
> Lehrbuch steht wird aber nicht funktionieren, weil wir mit einer
> synchronen CLK Leitung nicht hinkommen werden.

Ich habe einfach mal einen Wiki-Artikel angelegt und die ersten Gedanken 
reingeworfen, d.h. ausgereift ist das noch gar nicht.
Muss man noch sehen, ob man das mit USI oder Bitbanging oder USART ... 
am besten macht.

> - Maße: Ich halte eine Pixelgröße von 5x5 cm für einen guten Kompromiss.
> Würde die Platinen allerdings etwas kleiner machen, z.B. 48mm x 48mm, um
> genug Platz für eine Rahmenkonstruktion zu haben.

Mir wäre eigentlich 6x6 lieber (60cm-Tisch = 10 Pixel), aber ich könnte 
mit 5cm auch arbeiten, sind halt dann 12 Pixel für 60cm.
Bisschen kleiner finde ich gut, stimme Tim zu, dass man das ruhig 
grosszügig machen könnte, also 45mm.
Auch wenn ich meine, dass 4mm Trennwand voll ausreichen - man hat ja ein 
ganzes "Wabenkonstrukt" um die Glasplatte zu halten.

> - Verkabelung: Weiter oben wurde z.B. der Vorschlag gemacht zumindest
> die Stromversorgung mittels "Schienen" zu gewährleisten. Die einzelnen
> Pixel-Platinen werden dann nur noch "aufgesteckt". Hat jemand
> Erfahrungen mit solchen Systemen? Stichwörter zum Suchen? Preise? Infos
> zur Zuverlässigkeit?

Ich meinte eigentlich nicht Schienen, sondern ganz simpel & billig sowas 
wie ein Kupferstreifen von 1-2cm Breite der Länge nach über die ganze 
Breite und darauf per Einstechen oder Aufdrücken die Pixel zu 
kontaktieren.
Elegantere Lösungen willkommen.
Die Grundidee war sich das Anlöten von Kabel an den Pixeln (hunderte 
Lötstellen) - oder noch aufwändiger: Stecker & Buchse für jeden Pixel 
und das vielleicht noch 2x -zu ersparen.

> - Bootloader: Ich würde gerne Pixel einzeln bzw. per Broadcast flashen
> können, um Updates bequem einzuspielen. Der ATtiny841 hat leider keinen
> dedizierten Bootloader-Support, d.h. wir müssen das per Software
> erledigen und es dahingehend absichern, dass man den Bootloader nicht
> kaputt machen kann (Stromausfall & Co.). 100+ Module per Hand neu zu
> flashen macht sicherlich keinen Spaß. Eine mögliche Inspirationsquelle:
> [1]. Was für Möglichkeiten der Verifizierung gibt es? Wenn wir das alles
> per Daisy-Chain hin und her schicken, dann könnte es langsam werden.
> "Interessant" wäre es, wenn sich die Pixel untereinander Updates
> zuspielen und überprüfen könnten. Ist aber vermutlich zu kompliziert,
> oder?

Bootloader fände ich auch wichtig, anfangs muss man eine Menge an der 
Software arbeiten, dann wird man einfach nur wahnsinnig immer 100x zu 
flashen.
(30 Sekunden x 100 = 3000 Sekunden = 1 Stunde).

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Michael D. schrieb:
>> ...vielleicht kannst Du da was mit anfangen:
>> http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html
>
> Daran orientieren wir uns schon. Nur wollen wir das Ganze modularer und
> "besser" (TM) hinbekommen ;).
>
> Mit freundlichen Grüßen,
> Karol Babioch

Ja, weil das:
http://www.it-gecko.de/wp-content/uploads/2012/04/CIMG0533.jpg
http://www.it-gecko.de/wp-content/uploads/2012/04/CIMG0590.jpg
total irre ist :-)

Größten Respekt vor der geduldigen Leistung & dem Aufwand, aber ich hab 
da keine Lust drauf :-)

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Conny G. schrieb:
> Größten Respekt vor der geduldigen Leistung & dem Aufwand, aber ich hab
> da keine Lust drauf :-)

ich schließe mich an. wo die riesen platine das erstmal gesehen hatte, 
dachte ich wort wörtlich what the f*ck :-D

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Wie schnell das ganze nun
> letztendlich wirklich ist, ist die intressanteste Frage denk ich.

Ja ;).

Tim R. schrieb:
> Der Beagle Bone Black
> hat power und viele I/Os das ist fakt. Jedoch ist momentan (und ich
> denke auch in der Zukunft) das Teil schwer zu bekommen. Das heißt gibt
> es etwas ähnliches was leicht lieferbar ist?

Bei uns dauert das sicherlich noch. Vielleicht ist es bis dahin wieder 
etwas besser lieferbar. Ansonsten müssten wir uns in der Tat nach 
Alternativen umsehen.

Tim R. schrieb:
> Der Gedankenansatz ist schon sehr gut, nur denke ich sprengt das
> irgendwann auch etwas den Rahmen. Und die Alterung der LED ist denke ich
> vernässligbar, habe aber dazu ehrlich gesagt nicht das Wissen! Wir
> sollten aufpassen nicht zu doll "auszuholen" damit dieses Projekt auch
> noch realisierbar bleibt. Oder nicht?!

Prinzipiell hast du natürlich recht. Diesen Aspekt würde ich allerdings 
nicht unterschätzen. Zum Einen habe ich schon von mehreren Seiten 
gehört, dass der Effekt tatsächlich auftritt und zum Anderen wären wir 
damit so flexibel wie es nur geht in Bezug auf das verwendete Glas bzw. 
Plastik. Die Module sollten dann mit allem zurecht kommen, dass 
Infrarotlicht passieren lässt. Habe mittlerweile auch schon Treiber für 
20 Cent gesehen, wobei die nicht genug Strom geliefert haben. Ich suche 
weiter ... ;).

Tim R. schrieb:
> Aber ich denke die Idee mit den Schienen war schon sehr gut, hab da
> leider nur auch keine Erfahrung mit.

Prinzipiell gefällt mir die Idee natürlich auch. Aber keine Ahnung 
inwiefern das in Sachen Platinendesign zu berücksichtigen ist.

Tim R. schrieb:
> Um die Software auf dem Master mache ich mir eigtl. am wenigsten Sorgen.
> Jeder kann dann etwas zum Häppchen dazu steuern :-)

Klar, ist das "kleinste" Problem, aber so "klein" ist es dann auch 
wieder nicht ;). Vor allem wenn man es modular und erweiterbar gestalten 
will.

Tim R. schrieb:
> Naja, die UART haben doch als einzige Komponente neben dem ADC einen
> Interrupt nötig oder?!

Sowie die Timer ISR, welche die ADC Konvertierungen startet. Alternativ 
könnte man die ADC Konvertierungen auch in einem Free-Running-Modus 
laufen lassen und dort den Pin togglen. Viel Overhead ist das Alles 
natürlich nicht, aber es addiert sich im Worst-Case halt zusammen. Und 
wenn der Vorletzte Pixel dann erst einmal nichts mehr hört, weil die 
Pixel davor andere Dinge zu tun hatten, dann wird er bei einem 
impliziten Timing davon ausgehen, dass alles übertragen worden ist und 
die Werte übernehmen. Der letzte Pixel bliebe dann leer aus. Man muss 
das Übernahme-Fenster also groß genug wählen, um auch im Worst-Case auf 
der sicheren Seite zu sein. Und das hat indirekt wieder Einfluss auf die 
maximale Refresh-Rate.

Mit freundlichen Grüßen,
Karol Babioch

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Ich meinte eigentlich nicht Schienen, sondern ganz simpel & billig sowas
> wie ein Kupferstreifen von 1-2cm Breite der Länge nach über die ganze
> Breite und darauf per Einstechen oder Aufdrücken die Pixel zu
> kontaktieren.

Die Idee finde ich natürlich gut, nur ob das zuverlässig funktioniert? 
Will bei einer so teuren Konstruktion nur ungern mit Wackelkontakten im 
Produktivbetrieb zu tun haben. Und das Verkabelungsproblem löst es ja 
auch noch nicht ganz, weil wir zumindest die Datenleitungen wirklich als 
Kabel ausführen müssen ;).

Hast du so etwas denn schon einmal ausprobiert? Die Pixel kann man ja 
als doppelseite Platinen auslegen, vielleicht reichen großzügige 
Kontaktflächen ja bereits? Ansonsten: Womit willst du "Einstechen"? Gibt 
es hierfür fertige Bauteile?

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Ich meinte eigentlich nicht Schienen, sondern ganz simpel & billig sowas
>> wie ein Kupferstreifen von 1-2cm Breite der Länge nach über die ganze
>> Breite und darauf per Einstechen oder Aufdrücken die Pixel zu
>> kontaktieren.
>
> Die Idee finde ich natürlich gut, nur ob das zuverlässig funktioniert?
> Will bei einer so teuren Konstruktion nur ungern mit Wackelkontakten im
> Produktivbetrieb zu tun haben. Und das Verkabelungsproblem löst es ja
> auch noch nicht ganz, weil wir zumindest die Datenleitungen wirklich als
> Kabel ausführen müssen ;).

Nein, Wackelkontakt will ich auch nicht.
Ich spinne mal rum...:
Masse, VCC und Daten als Schraubenloch auf die Platine, wo das Kupfer 
bis ran geht.
Dann Schraube mit Beilagscheibe durch, sodass genügend Kontakt ist.
Die Schraube geht durch die Bodenplatte.
Auf der anderen Seite, also Unterseite der Bodenplatte haben wir dann 
einen Kupferstreifen, eine Aluschiene, was weiss ich, was gut leitet.
Da werden dann an entsprechender Stelle Löcher gebohrt, die Schraube von 
oben durchgesteckt, Mutter drauf.

Wobei dann VCC/Masse immer komplette Breite durchgingen, das Datensignal 
immer nur von Platine zu Platine, man könnte auch einfach solche 
Minikabelchen für die Daten machen:
http://img.directindustry.de/images_di/photo-g/kabelschuhe-rechteckigen-zungen-isoliert-19655-3183179.jpg
Und die an die entsprechenden Schrauben per Mutter befestigen.

Diese Kabelschuhkabelchen zu krimpen wären einfache Handgriffe, Mutter 
drauf ist auch nicht aufwändig.

Und damit wäre auch jede Platine schön überdimensioniert mit 4 Schrauben 
angeschraubt :-) (VCC, GND, Data In, Data Out)

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Ich spinne mal rum...:

Bin da für alles offen, würde es nur gerne ausprobiert haben. Nicht, 
dass wir dann hunderte Platinen haben, und es nicht klappt wie geplant 
;). Was die Datensignale angeht z.B. kann ich mir nicht vorstellen, dass 
das so hinhaut. Signalintegritätstechnisch sind breite Kupferstreifen 
sicherlich nicht perfekt. Für VCC/GND hingegen könnte ich mir das gut 
vorstellen.

Mit freundlichen Grüßen,
Karol Babioch

von Ast E. (vis)


Lesenswert?

für die datenleitung würde ich einfache jumperkabel vorschlagen.. kriegt 
man überall günstig und man brauch nur jeweils die stiftleisten 
bedienen. ist dann aber leider nicht so fest wie eine verschraubung, 
aber brauch man das wirklich? solange die platine fest sitzt sollte das 
denk ich machbar sein

von Maik P. (seanten)


Angehängte Dateien:

Lesenswert?

Ich habe mal ein paar Maße zusammengefasst die ich hier so gelesen habe.

Displaymaße:           600x600mm
Pixelgröße:            50x50mm
Innere Displayhöhe:    wurde mehr als 30mm gewünscht, habe 55mm 
festgelegt
Glasplatte:            5mm Dick
Rahem:                 Komplette aus Holz und einfach zuzuschneiden

Ist alles so ausgelegt, dass fast alles im Baumarkt zugeschnitten werden 
kann. Nur die Einkerbungen der inneren Platten müssen mit einer 
Stichsäge eingeschnitten werden, Sägeblattbreite = Plattendicke. Der 
Rahmen kann je nach Geschmack geschraubt oder gedübelt werden.

Die Galsplatte kann man einfach von oben einlegen und später mit einem 
Pümpel wieder rausholen xD.

Die Platinengröße sollte dann 48x48mm nicht überschreiten, wie schon 
erwähnt.

Karol Babioch schrieb:
> Conny G. schrieb:
>> Ich meinte eigentlich nicht Schienen, sondern ganz simpel & billig sowas
>> wie ein Kupferstreifen von 1-2cm Breite der Länge nach über die ganze
>> Breite und darauf per Einstechen oder Aufdrücken die Pixel zu
>> kontaktieren.
>
> Die Idee finde ich natürlich gut, nur ob das zuverlässig funktioniert?
> Will bei einer so teuren Konstruktion nur ungern mit Wackelkontakten im
> Produktivbetrieb zu tun haben. Und das Verkabelungsproblem löst es ja
> auch noch nicht ganz, weil wir zumindest die Datenleitungen wirklich als
> Kabel ausführen müssen ;).

Die Idee finde ich garnicht so schlecht, jedenfalls für die 
Stromversorgung. Man könnte die Schienen einkleben (zur Isolation 
lakieren oder ähnliches) und die Platinen direkt auf die Schienen 
schrauben. Wegen den Kontakten kann man ja einfach Kontaktpaste 
draufschmieren.
http://www.conrad.de/ce/de/product/814411/?insert_kz=VQ&hk=SEM&WT.srch=1&WT.mc_id=google_pla&gclid=CJ_n2JHF1L4CFQQOwwodRLoAOA

Ich glaube allerdings, dass es an dem Kostenfaktor scheitern wird. Man 
würde für den Tisch oben ca. 14,4m Kupfer benötigen. Werden so 37,30€ 
nach Ebay für ein 2x300x200mm Blech, daraus dann 4mm breite Streifen 
schalgen und alles mit Gewinden versehen. Dazu noch die Paste, Schrauben 
und die Kabel um die Enden zu verbinden und schon hat sich das leider 
erledigt, wenn ich mich nicht verrechnet habe xD.

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> für die datenleitung würde ich einfache jumperkabel vorschlagen.. kriegt
> man überall günstig und man brauch nur jeweils die stiftleisten
> bedienen. ist dann aber leider nicht so fest wie eine verschraubung,
> aber brauch man das wirklich? solange die platine fest sitzt sollte das
> denk ich machbar sein

Auch eine gute Idee!
Einfach ein 5mm Loch (oder ein bisschen mehr) in der Grundplatte, 1 Pin 
Male Header nach unten, dann kann man kurze Kabelchen dieser Sorte

http://www.ebay.de/itm/like/281336255345?lpid=106&_configDebug=ViewItemDictionary.ENABLE_PAYMENTS_IN_HLP:true&hlpht=true&ops=true&viphx=1

von unten anstecken.

von Karol B. (johnpatcher)


Lesenswert?

Maik Pfeiffer schrieb:
> Ich habe mal ein paar Maße zusammengefasst die ich hier so gelesen habe.

Das Modell schaut super aus. Darf man denn fragen in welcher Software du 
das designed bzw. gerendert hast? Ansonsten hast du ja so gut wie alles 
bedacht und übernommen. Deine Sorgen bezüglich der Kupferstreifen teile 
ich. Kabel werden wohl doch günstiger sein. Mit Stiftleisten und 
Jumperkabeln sollte das schon auch hinhauen.

Bei den Trennwänden dachte ich ggf. an Lasercutten. Das ist durch die 
vielen 3D-Drucker auch in eine bezahlbare Region gerutscht und bietet 
den Vorteil, dass es wirklich passgenau ist.

Was die Holz-Konstruktion angeht: Soll es eigentlich einen doppelten 
"Boden" geben? Das würde sich ja anbieten, um die vielen Kabel und die 
Steuerung zu verstecken, oder?

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> bedacht und übernommen. Deine Sorgen bezüglich der Kupferstreifen teile
> ich. Kabel werden wohl doch günstiger sein. Mit Stiftleisten und
> Jumperkabeln sollte das schon auch hinhauen.

Würde man es mit Kabeln verbinden, wäre die Frage, ob man von Platine zu 
Platine geht oder vom Rand an jede Platine der Reihe oder so ähnlich.
Und dann ein dickes Kabel einmal am Rand lang.

Eleganter wäre wenn dann von Platine zu Platine, dann hätte man immer so 
ein 3er Jumper Pack.
Dann ist die Frage, wieviel Strom durch das erste Kabelchen gehen muss, 
wenn die ganze Reihe dranhängt.

Wir hatten vorher 100mA pro Platine - 40mA IR, 3x20mA RGB und uC plus 
evtl. Spannungsregler, dann könnten wir bei 120mA rauskommen.
60er Tisch, 12 Platinen in einer Reihe, 12x 120mA = knapp 1,5A für das 
erste Kabel.
Leider steht für die kleinen Jumperkabelchen oben kein Querschnitt.
Die werden aber sicher ziemlich dünn sein, also AWG28 oder so.
Dann sind 1,5A schon ein bisschen viel, könnte aber gerade noch so 
gehen.
Bin aber kein Fan von "gerade noch"...

Auf jeden Fall geht nur maximal eine 10er / 12er Reihe in Serie, die 
Reihen müsste man mit etwas dickerem verbinden.
Da könnte man vielleicht für die erste Reihe sowas mit Schiene, 
Gewindeschrauben und Kabelschuhen machen.
Damit liesse sich großer Kabelsalat von Netzteil zu jeder Reihe 
vermeiden.

Damit haben wir übrigens auch zum ersten Mal den gesamten Strombedarf 
des Tisches: für 12x12 sind es dann 17 Ampere. Ordentlich! :-)

von Ast E. (vis)


Lesenswert?

Conny G. schrieb:
> Auch eine gute Idee!
> Einfach ein 5mm Loch (oder ein bisschen mehr) in der Grundplatte, 1 Pin
> Male Header nach unten, dann kann man kurze Kabelchen dieser Sorte
>
> Ebay-Artikel Nr. 281336255345
>
> von unten anstecken.

da ist amazon komischerweise ja um welten günstiger ;-P

http://www.amazon.de/hochqualitative-Jumperkabel-weiblich-m%C3%A4nnlich-female/dp/B00K9QY13M/ref=sr_1_1?ie=UTF8&qid=1401486876&sr=8-1&keywords=jumperkabel+10cm

von Ast E. (vis)


Lesenswert?

Conny G. schrieb:
> Wir hatten vorher 100mA pro Platine - 40mA IR, 3x20mA RGB und uC plus
> evtl. Spannungsregler, dann könnten wir bei 120mA rauskommen.
> 60er Tisch, 12 Platinen in einer Reihe, 12x 120mA = knapp 1,5A für das
> erste Kabel.
> Leider steht für die kleinen Jumperkabelchen oben kein Querschnitt.
> Die werden aber sicher ziemlich dünn sein, also AWG28 oder so.
> Dann sind 1,5A schon ein bisschen viel, könnte aber gerade noch so
> gehen.
> Bin aber kein Fan von "gerade noch"...

Hier muss ich mal kurz einlenken. Die Idee mit den Jumperkabeln war auf 
die Daten bezogen! Sprich die 2xUARTs von jedem Pixel zum nachfolgenden. 
Für die Spannungsversorgung würde ich auch solche Schienen bevorzugen. 
Die Spannungsversorgung über die Jumper laufen lassen, das wird nicht 
gut gehen denke ich... da wird ja doch schon ein wenig mehr fließen als 
50mA

> Damit haben wir übrigens auch zum ersten Mal den gesamten Strombedarf
> des Tisches: für 12x12 sind es dann 17 Ampere. Ordentlich! :-)

Ist das nicht etwas hoch?? Für einen LED-Tisch?? Ich meine da reicht 
nicht mal mehr eine standard 16A Haussicherung?? :-/ Ich sehe gerade ein 
k.o. Kriterium im Landeanflug...

: Bearbeitet durch User
von Maik P. (seanten)


Lesenswert?

Karol Babioch schrieb:
>Das Modell schaut super aus. Darf man denn fragen in welcher Software du
>das designed bzw. gerendert hast?

Ich benutze Autodesk Inventor. Hatte mal die Möglichkeit die Software 
günstig als Schullizens zu kaufen. Die Bilder konnte ich direkt aus der 
Ansicht exportieren.

Karol Babioch schrieb:
>Bei den Trennwänden dachte ich ggf. an Lasercutten. Das ist durch die
>vielen 3D-Drucker auch in eine bezahlbare Region gerutscht und bietet
>den Vorteil, dass es wirklich passgenau ist.

Daran hatte ich jetzt garnicht gedacht. Habe die Platten extra so 
ausgewählt, dass ein Schnitt mit der Stichsäge ausreicht. Nach den Motto 
"make it as easy as possible". Und ich glaube wer so ein Tisch bauen 
möchte sollte wenigstens eine Stichsäge haben xD


Karol Babioch schrieb:
>Was die Holz-Konstruktion angeht: Soll es eigentlich einen doppelten
>"Boden" geben? Das würde sich ja anbieten, um die vielen Kabel und die
>Steuerung zu verstecken, oder?

Den brauchen wir glaub ich garnicht. Wenn es eine Masterplatine in einem 
Pixel gibt die alle anderen per Bus ansteuert, können wir einfach die 
Kabel zwischen unterer Platte und den Trennwänden durchmogeln. Damit 
würde nur noch die Stromzuführ über ein externes Netzteil an einem Bein 
entlang laufen. Habe davon nicht so die Ahnung xD

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> Conny G. schrieb:
>> Wir hatten vorher 100mA pro Platine - 40mA IR, 3x20mA RGB und uC plus
>> evtl. Spannungsregler, dann könnten wir bei 120mA rauskommen.
>> 60er Tisch, 12 Platinen in einer Reihe, 12x 120mA = knapp 1,5A für das
>> erste Kabel.
>> Leider steht für die kleinen Jumperkabelchen oben kein Querschnitt.
>> Die werden aber sicher ziemlich dünn sein, also AWG28 oder so.
>> Dann sind 1,5A schon ein bisschen viel, könnte aber gerade noch so
>> gehen.
>> Bin aber kein Fan von "gerade noch"...
>
> Hier muss ich mal kurz einlenken. Die Idee mit den Jumperkabeln war auf
> die Daten bezogen! Sprich die 2xUARTs von jedem Pixel zum nachfolgenden.
> Für die Spannungsversorgung würde ich auch solche Schienen bevorzugen.
> Die Spannungsversorgung über die Jumper laufen lassen, das wird nicht
> gut gehen denke ich... da wird ja doch schon ein wenig mehr fließen als
> 50mA

Über ein Jumperkabelchen ein paar Hundert mA ist ok, aber bei 1-1,5A 
Dauerstrom fühle ich mich eigentlich nicht mehr so wohl.
Am Ende geht's um den Widerstand des Kabels (= Leistungsverlust, 
Spannungsabfall) und Erwärmung.
Das scheint wohl theoretisch nach kurzem Googeln schon noch ok, aber ist 
schon die Grenze.

Ich würde auch eine Schienen oder Kupferstreifen-Lösung bevorzugen:
- superordentlich, keine Kabel
- keine Einzelkabelchen konfektionieren, löten, stecken, crimpen
- bei einer cleveren Lösung geht es zusammen mit der Montage der 
Platinen (mit 2 Schrauben festschrauben)
- kein Problem mit dem Querschnitt bzgl. Strom

Ich fände ein 3er Jumperkabel von Platine zu Platine schon auch noch ok 
und einigermassen elegant.
Aber der Querschnitt ist schon ziemlich windig.

>> Damit haben wir übrigens auch zum ersten Mal den gesamten Strombedarf
>> des Tisches: für 12x12 sind es dann 17 Ampere. Ordentlich! :-)
>
> Ist das nicht etwas hoch?? Für einen LED-Tisch?? Ich meine da reicht
> nicht mal mehr eine standard 16A Haussicherung?? :-/ Ich sehe gerade ein
> k.o. Kriterium im Landeanflug...

Auf der 230V-Seite sind das aber nur 0,4A plus Trafo-/Netzteilverluste. 
:-)
Wir haben ja z.B. 5V in der Schaltung, also 5V x 17A = 85W.
Also soviel in etwa ein Laptop an Netzteil braucht.

von Conny G. (conny_g)


Lesenswert?

Mir geht da grad was durch den Kopf.
Wenn man für die Verbindung der Pixel auch eine Platine nähme.
Oder einen 10-20mm breiten Platinenstreifen.
Auf denen sitzen dann 3er Female Headers im Abstand von 50mm = 
Pixelbreite.
Dann könnte man alle 5cm durch die Grundplatte ein passendes Loch bohren 
in das genau der Female Header reinpasst und von oben die Pixel 
aufstecken.

Also so:


Pixelplatine         3er Male-Header
=====================+++====
------------------+  |||  +--------------
Grundplatte       |  HHH  |
------------------+  HHH  +--------------
                 ====+++=====
Kontaktstreifenplatine mit 3er Female-Header

von Ast E. (vis)


Lesenswert?

lach... ich bin zu müde und sollte ins bett habe ich gerade gemerkt! :-D

also halte ich die bevorzugten lösungen fest:
-spannungsversorgung über 2 schienen (5V,GND)
-datenleitungen jeweils 3 jumperkabel TX,GND,RX

von Konrad S. (maybee)


Lesenswert?

Für die Stromversorgung reichen auch Streifen aus 0.1mm dicker 
Kupferfolie. In einer Richtung kommt unter jede Trennwand ein 25 oder 
30mm breiter Streifen. Geradzahlige Streifen werden an GND 
angeschlossen, ungeradzahlige Streifen an VCC. Die Module werden 
abwechselnd reihenweise ¨linksrum¨ bzw. ¨rechtsrum¨ eingebaut. Der 
Kontakt zwischen Platine und Kupferstreifen wird durch kurze 
Kupferröhrchen hergestellt, evtl. gibt es z.B. Kupferhohlnieten mit 
geeignetem Innendurchmesser für die Verschraubung der Platine and die 
Grundplatte.

von Maik P. (seanten)


Lesenswert?

Teils von Conny G.: xD

                       |  | Trennwand
                       |  |
                       |  |
                       |  |
                       |  |
Pixelplatine           |  |        P.p.
==================++=  +--+  =++================
                 =++==========++=                 <- Verbinder-Platine
-----------------|__|--------|__|---------------
Grundplatte
------------------------------------------------

Wir brauchen ja nicht mal durch die Grundplatte. Die Verbinder-Platine 
schrauben wir direkt auf die Grundplatte und Bohren unter den Lötstellen 
ein paar mm weg. Natürlich müsste die Platine lakiert sein. Somit haben 
wir auch gleich einen gleichmäßigen Abstand zwischen Grundplatte und 
Pixelplatine in jedem Pixel.

In etwa könnte die dann so aussehen:

              +------------------------------+
              | o       Schraubenlöcher   o  |
              | + -------- Positiv ------ +  |
              | - -------- Negativ ------ -  |
              | x -------- Bus     ------ x  |
              | o       Schraubenlöcher   o  |
              +------------------------------+

von Conny G. (conny_g)


Lesenswert?

Konrad S. schrieb:
> Für die Stromversorgung reichen auch Streifen aus 0.1mm dicker
> Kupferfolie. In einer Richtung kommt unter jede Trennwand ein 25 oder
> 30mm breiter Streifen. Geradzahlige Streifen werden an GND
> angeschlossen, ungeradzahlige Streifen an VCC. Die Module werden
> abwechselnd reihenweise ¨linksrum¨ bzw. ¨rechtsrum¨ eingebaut. Der
> Kontakt zwischen Platine und Kupferstreifen wird durch kurze
> Kupferröhrchen hergestellt, evtl. gibt es z.B. Kupferhohlnieten mit
> geeignetem Innendurchmesser für die Verschraubung der Platine and die
> Grundplatte.

Das ist eine echt gute Idee! Genau so hatte ich mir das erhofft.

Man muss die Platinen sowieso nur an 2 Ecken diagonal anschrauben, also 
bräuchte man 2 Abstandhalter von 3mm, diese Kupferröhrchen oder was auch 
immer. Die Verschraubungen sind dann gleichzeitig VCC und Gnd.

von Conny G. (conny_g)


Lesenswert?

Maik Pfeiffer schrieb:
> Teils von Conny G.: xD
>
>                        |  | Trennwand
>                        |  |
>                        |  |
>                        |  |
>                        |  |
> Pixelplatine           |  |        P.p.
> ==================++=  +--+  =++================
>                  =++==========++=                 <- Verbinder-Platine
> -----------------|__|--------|__|---------------
> Grundplatte
> ------------------------------------------------
>
> Wir brauchen ja nicht mal durch die Grundplatte. Die Verbinder-Platine
> schrauben wir direkt auf die Grundplatte und Bohren unter den Lötstellen
> ein paar mm weg. Natürlich müsste die Platine lakiert sein. Somit haben
> wir auch gleich einen gleichmäßigen Abstand zwischen Grundplatte und
> Pixelplatine in jedem Pixel.
>
> In etwa könnte die dann so aussehen:
>
>               +------------------------------+
>               | o       Schraubenlöcher   o  |
>               | + -------- Positiv ------ +  |
>               | - -------- Negativ ------ -  |
>               | x -------- Bus     ------ x  |
>               | o       Schraubenlöcher   o  |
>               +------------------------------+

Und eine Verbinderplatine würde mehrere Pixel überspannen, wäre so 
20-30cm lang, so lange wie das Format nicht die Produktionskosten 
hochtreibt.

Was mir an so einer Lösung echt gut gefallen würde: keine Kabel und 
Strom und Signale in einem System. Und ob wir dann einen oder 2 Busse 
haben ist egal.
Pixel nur aufstecken und fertig. Superelegant.
Nur die Kosten machen mir sorgen. Ich habe keine Ahnung, ob man die 
Verbinderplatine 20mm x 200mm zu einem Preis von zB 3-5 Euro bekommen 
könnte.

Die Kostenrechnung sähe dann so aus:

Pixel 3 Euro, 144 Pixel 430 Euro.
Verbinderplatine 5 Euro, 30 Verbinder 150 Euro.
Verbinderplatine 3 Euro, 30 Verbinder 90 Euro.

Also lieber 3 Euro.

Dafür bekäme man dann: Null Verkabelung, supersauber, supereinfach, 
supergeil.

von Conny G. (conny_g)


Lesenswert?

Oder noch eine andere Variante: Flexplatinenanschlüsse wie bei den LCD 
Displays.
Die passen sogar einfach so unter den Trennwänden durch.
Sind nur fummelig zum Einstecken.

von Maik P. (seanten)


Lesenswert?

Conny G. schrieb:
>Und eine Verbinderplatine würde mehrere Pixel überspannen, wäre so
>20-30cm lang, so lange wie das Format nicht die Produktionskosten
>hochtreibt.

Nicht ganz Conny, hatte es so gedacht das nur zwei Pixelplatinen 
miteinander verbunden werden, ähnlich den Infineon Modulen auf der 
Mainpage des Forums.

Wenn jede Pixelplatine an jeder Seite die Gleichen (verpolungssicheren) 
Stiftleisten hat, kann man Diese einfach einstecken, wenn die 
Verbindungs-Platinen auf der Grundplatte aufgeschraubt sind. Somit kann 
man durch die Verbinder auch die "Form" der Busleitung festlegen. Ob 
Stern, Reihe nach Reihe oder Schnecken Form xD.

von Konrad S. (maybee)


Lesenswert?

Conny G. schrieb:
> Man muss die Platinen sowieso nur an 2 Ecken diagonal anschrauben,

Wobei ich die Platinen nur minimal groß machen würde, also lang genug, 
um die ¨Stromschienen¨ zu erwischen und nur so breit wie unbedingt 
nötig.

von Maik P. (seanten)


Lesenswert?

Conny G. schrieb:
>Oder noch eine andere Variante: Flexplatinenanschlüsse wie bei den LCD
>Displays.

Als Flex Platinen könnte man SLI Kabel von Grafikkarten nehemn, würden 
aber den Kostenrahmen sprengen.


Statt 0,1mm Stronschienen würde ich doch eher Quetschverbinder und Kabel 
bevorzugen. Einfach einen endlos Stang quetschen und auf jeder Platine 
einstecken.

http://www.reichelt.de/Flachstecker/FS-P-4-75/3/index.html?&ACTION=3&LA=2&ARTICLE=24863&GROUPID=3249&artnr=FS-P+4%2C75

Kostengünstig und schell zu quetschen mit einer ordentlichen Zange.


       U U        U U        U U        U U
       | |        | |        | |        | |
  + ===+=|========+=|========+=|========+ |
         |          |          |          |
  - =====+==========+==========+==========+

von Ast E. (vis)


Lesenswert?

Also die Flexidee ist gut, aber die kann glaub ich gleich verworfen 
werden. Das sprengt die Kosten. Flex ist ja allgemein um einiges teurer 
als normale "Platinchen".

Die Schraubidee für die Spannungsversorgung würde ich auch versuchen.

Ich würde einfach noch eine günstige alternative in den Raum werfen: 
Streifenraster ? :-)

von Christian H. (c_h)


Lesenswert?

Wie wäre es mit was ich in
Beitrag "Re: schwierigkeiten passenden Bus zu finden"
vorgeschlagen habe:
Warum nicht bei elecrow.com 20cmx20cm PCBs bestellen und damit den Tisch 
komplett auslegen? Dann kann man billige Shift-register und die DIP-TLCs 
von Aliexpress verwenden, kann dicke Bahnen für die Versorgung machen 
und braucht kein Protokoll mehr und muss nur an den Rändern der PCBs ein 
paar Verbindungen machen für Strom und Kaskadierung? (z.B. mit 
Stiftleisten und Jumpern)

Statt Kabel zu krimpen, Schienen zu entwickeln o.ä. könnte man damit 
alle Verbindungen ätzen lassen. Danach nur noch löten.

50 20cmx20cm würden 190 EUR kosten (ohne Versand und Zoll),
10 20cmx20cm würden 94 EUR kosten (ohne Versand und Zoll).

Wenn ich mich nicht irre würde man mit 
http://www.aliexpress.com/item/100-Original-TLC5940NT-TLC5940-TI-LED-Driver-DIP-28/1468213464.html 
auch die Attinys sparen, zumindest für die LEDs.

Also wäre am Ende alles wie bei ITGecko, nur ohne crimpen und die 
Modularität wäre grober.

Ein Shift-Register für die Eingänge zu verwenden basiert halt auf 
"Entfernungssensor IS471+IR-LED LD274" (Roboterteile.de: 2,63EUR). Das 
ist teuer, aber was ich hier an Alternativen gelesen habe basiert bis 
jetzt immer auf dem Attiny, oder?

von Conny G. (conny_g)


Lesenswert?

Christian H. schrieb:
> Wie wäre es mit was ich in
> Beitrag "Re: schwierigkeiten passenden Bus zu finden"
> vorgeschlagen habe:
> Warum nicht bei elecrow.com 20cmx20cm PCBs bestellen und damit den Tisch
> komplett auslegen? Dann kann man billige Shift-register und die DIP-TLCs
> von Aliexpress verwenden, kann dicke Bahnen für die Versorgung machen
> und braucht kein Protokoll mehr und muss nur an den Rändern der PCBs ein
> paar Verbindungen machen für Strom und Kaskadierung? (z.B. mit
> Stiftleisten und Jumpern)
>
> Statt Kabel zu krimpen, Schienen zu entwickeln o.ä. könnte man damit
> alle Verbindungen ätzen lassen. Danach nur noch löten.
>
> 50 20cmx20cm würden 190 EUR kosten (ohne Versand und Zoll),
> 10 20cmx20cm würden 94 EUR kosten (ohne Versand und Zoll).
>
> Wenn ich mich nicht irre würde man mit
> 
http://www.aliexpress.com/item/100-Original-TLC5940NT-TLC5940-TI-LED-Driver-DIP-28/1468213464.html
> auch die Attinys sparen, zumindest für die LEDs.
>
> Also wäre am Ende alles wie bei ITGecko, nur ohne crimpen und die
> Modularität wäre grober.
>
> Ein Shift-Register für die Eingänge zu verwenden basiert halt auf
> "Entfernungssensor IS471+IR-LED LD274" (Roboterteile.de: 2,63EUR). Das
> ist teuer, aber was ich hier an Alternativen gelesen habe basiert bis
> jetzt immer auf dem Attiny, oder?

Ich glaube den Attiny können wir nicht sparen. Die Ir Dioden Remote 
abfragen durch einen Master ist zu aufwendig. ADC auf Ferne ist keine 
gute Idee und dezentrale ADC bringen uns nicht weiter, dann kann man 
gleich Attinys nehmen.
Würde also die Struktur der Lösung schon so lassen wie bisher 
eingekreist.

Aber trotzdem könnte man das mit den 20x20 Pcbs überlegen, das erspart 
tatsächlich die Verkabelung komplett, es bräuchte nur Steckkontakte oder 
Brücken an den Rändern.

von Ast E. (vis)


Lesenswert?

Conny G. schrieb:
> Aber trotzdem könnte man das mit den 20x20 Pcbs überlegen, das erspart
> tatsächlich die Verkabelung komplett, es bräuchte nur Steckkontakte oder
> Brücken an den Rändern.

Also nur für die Verbindungen extra Platinen?! Finde ich ehrlich gesagt 
ziemlich umständlich. Zumal das für mich nach Widerspruch klingt, wenn 
du sagst "erspart Verkabelung" und im nächsten Teilsatz "bräuchte nur 
Steckkontakte oder Brücken"... also wirklich sparen tu ich an diesem 
Ansatz doch gar nichts oder? Ich glaub ich versteh den Ansatz gerade 
etwas falsch... Und das würde preislich reinschlagen denke ich

von Christian H. (c_h)


Lesenswert?

Die Idee wäre, alle Bauteile auf 20cmx20cm PCBs zu löten und darüber 
dann die Holzkästen zu stellen. Jeder IR-Senser/LED und auch die 
RGB-LEDs und was auch immer an Shiftregistern, Tinys oder TLCs gebraucht 
wird, würde in den 20cmx20cm geroutet und gelötet. Es wäre kein Problem, 
von einem Atmega z.B. 14 Pins zu LEDs zu routen oder alles von einem 
TLC. Keine Kabel, kein Krimpen!
Es wäre weniger modular, für 60cmx60cm reichen 9 Module, für 50cmx50cm 
muss man absägen und das Layout passend machen oder weitere Platinen für 
10cmx10cm und 10cmx20cm machen.
Und die Rasterweite ist fest.

Aber ich glaube, es wäre die wenigste Arbeit und mit Elecrow.com sogar 
bezahlbar.


Übrigens habe ich noch eine andere Idee:
Mit Panelizing liese sich die Elektronik nicht auf die Bodenplatte 
packen, sondern auf die "Holzkästen": Elecrow würde einem in das PCB 
sicher auch die Kammstruktur fräsen und dann könnte man die 
Kastenstruktur aus PCB-Material machen (20cm x 5 cm PCBs, 50-100 Stück) 
und die Bodenplatte aus einer großen Holzplatte. Die Bauteile würden 
dann ihre Bedrahtung nicht von unten, sondern von der Seite haben.
Einziger Vorteil: Man muss kein Holz sägen.

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> Conny G. schrieb:
>> Aber trotzdem könnte man das mit den 20x20 Pcbs überlegen, das erspart
>> tatsächlich die Verkabelung komplett, es bräuchte nur Steckkontakte oder
>> Brücken an den Rändern.
>
> Also nur für die Verbindungen extra Platinen?! Finde ich ehrlich gesagt
> ziemlich umständlich. Zumal das für mich nach Widerspruch klingt, wenn
> du sagst "erspart Verkabelung" und im nächsten Teilsatz "bräuchte nur
> Steckkontakte oder Brücken"... also wirklich sparen tu ich an diesem
> Ansatz doch gar nichts oder? Ich glaub ich versteh den Ansatz gerade
> etwas falsch... Und das würde preislich reinschlagen denke ich

Neil, nicht extra Platinen, sondern statt 5x5 dann 20x20 oder sogar 
größer (je nach Preis).

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> Neil, nicht extra Platinen, sondern statt 5x5 dann 20x20 oder sogar
> größer (je nach Preis).

Auch wenn das die Verkabelung vereinfachen mag, kommen wir halt nicht 
weiter, wenn wir Kernaspekte, die eigentlich schon "beschlossen" waren 
doch wieder umkrempeln. Ich seh schon, hier wird irgendjemand einfach 
mal das Zepter in die Hand nehmen und machen müssen ;). Die 
Möglichkeiten wurden ja mittlerweile alle (mehr oder weniger) durch 
diskutiert.

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> Conny G. schrieb:
>> Neil, nicht extra Platinen, sondern statt 5x5 dann 20x20 oder sogar
>> größer (je nach Preis).
>
> Auch wenn das die Verkabelung vereinfachen mag, kommen wir halt nicht
> weiter, wenn wir Kernaspekte, die eigentlich schon "beschlossen" waren
> doch wieder umkrempeln. Ich seh schon, hier wird irgendjemand einfach
> mal das Zepter in die Hand nehmen und machen müssen ;). Die
> Möglichkeiten wurden ja mittlerweile alle (mehr oder weniger) durch
> diskutiert.
>
> Mit freundlichen Grüßen,
> Karol Babioch

Dem stimme ich zu. Zumal wir durch die Pixellösung wirklich komplett 
flexibel sind. Wenn mehrere zusammengefasst werden sollen hat man schon 
mal eine Winschränkung... und ist das auch wirklich günstiger? Würde 
lieber zur bestehenden Lösung tendieren, damit wir nicht wieder erneut 
verschiedene Themen durchkauen brauchen :-)

von Nosnibor (Gast)


Lesenswert?

Wenn die Pixel fertig entwickelt sind (inclusive Protokoll), hindert 
einen ja niemand, 4x4 (oder mehr) davon auf eine große Platine zu 
kopieren, mit ein paar Leiterbahnen dazwischen, die das Verdrahten 
ersparen.

von Ast E. (vis)


Lesenswert?

Nosnibor schrieb:
> Wenn die Pixel fertig entwickelt sind (inclusive Protokoll),
> hindert
> einen ja niemand, 4x4 (oder mehr) davon auf eine große Platine zu
> kopieren, mit ein paar Leiterbahnen dazwischen, die das Verdrahten
> ersparen.

Genau so sehe ich das auch... Was sagt denn der Rest, der hier gerne mal 
mit postet ? :-)

Um das Thema Master nochmal anzustupsen: Ich hatte ja schon mal 
gepostet, dass das BBB relativ schwer zu bekommen ist, soweit ich weiß 
werden die in der Industrie auch haufenweise weggekauft. Wie wäre es mit 
alternativen wie dem Cubie Board z.B. ? Ich kenne mich nur mit diesen 
ganzen neuen "Mini-PCs" á la Rpi gar nicht aus

von Seanten (Gast)


Lesenswert?

Ich wäre auch dafür die Platinen vorerst auf 50x50 -0,1/-0.5 mm 
festzulegen. Größenänderungen kann man später immer noch vornehem. Auch 
würde ich vorschlagen, dass das Layout sich auf die Mitte der 
Pixelplatine konzentriert. Gibt auch ein Angebot für 200 mal 50x50mm 
Platinen für ~82€.

Dann starte ich jetzt mal die Abstimmung xd.
Nur "JA" oder "NEIN" für die 50x50 Pixelplatine, bitte!!!

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> Ich kenne mich nur mit diesen
> ganzen neuen "Mini-PCs" á la Rpi gar nicht aus

Selbiges gilt für mich. Der Markt ist mittlerweile auch gar nicht mehr 
so einfach zu überschauen. Persönlich gearbeitet habe ich nur mit dem 
Raspberry Pi, das Beaglebone Black gefällt mir gerade in diesem 
Anwendungsfall aber deutlich besser. Wie gesagt, da mache ich mir 
derzeit noch keine Gedanken, weil der Master erst den übernächsten 
Schritt darstellt. Bis dahin kann sich die Verkaufssituation ja schon 
wieder geändert haben. Wenn nicht gucken wir uns nach Alternativen um. 
Das sollte ja hoffentlich keinen Einfluss auf jetzige Designkriterien 
haben, oder?

Seanten schrieb:
> Nur "JA" oder "NEIN" für die 50x50 Pixelplatine, bitte!!!

Ja ;)

Wenn wir schon beim Thema Umfragen bzw. Anfragen sind: Mich würde 
(zunächst rein aus Neugier) interessieren wie viele an einer solchen 
Sammelbestellung teilnehmen würden. Also soll jetzt noch keine 
verbindliche Bestellabgabe sein, aber es wäre sicherlich nicht schlecht 
zu wissen von wie vielen Platinen wir hier reden und ob eine Bestückung 
sinnvoll ist bzw. sich lohnen würde. Ich vermute nämlich, dass es hier 
durchaus einige "stille" Mitleser gibt. Das zumindest legen die 
Statistiken meiner oben geposteten Videos nahe ;).

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

Karol Babioch schrieb:
> Tim R. schrieb:
>> Ich kenne mich nur mit diesen
>> ganzen neuen "Mini-PCs" á la Rpi gar nicht aus
>
> Selbiges gilt für mich. Der Markt ist mittlerweile auch gar nicht mehr
> so einfach zu überschauen. Persönlich gearbeitet habe ich nur mit dem
> Raspberry Pi, das Beaglebone Black gefällt mir gerade in diesem
> Anwendungsfall aber deutlich besser. Wie gesagt, da mache ich mir
> derzeit noch keine Gedanken, weil der Master erst den übernächsten
> Schritt darstellt. Bis dahin kann sich die Verkaufssituation ja schon
> wieder geändert haben. Wenn nicht gucken wir uns nach Alternativen um.
> Das sollte ja hoffentlich keinen Einfluss auf jetzige Designkriterien
> haben, oder?

Nein, das ist m.E. auch unabhängig vom Design des Pixel.
Wir sollten am Ende mit jedem Timing-Akkuraten Master (also nicht RPi 
direkt z.B.) das Protokoll betreiben können.
Das könnte auch sein Raspberry Pi > uC-Schaltung -> Pixelbus.
Oder jede andere Kombi eines "größeren" Masters, der evtl. über einen uC 
auf den Bus geht.

> Seanten schrieb:
>> Nur "JA" oder "NEIN" für die 50x50 Pixelplatine, bitte!!!
>
> Ja ;)

Ja.

Ich wollte ja auch nicht die bisher diskutierte Lösung infrage stellen 
nur ein bisschen herum-brainstormen, welche Möglichkeiten es für die 
Verbindung noch gibt.

Mir gefallen Verbinderplatinchen immer noch am besten, das ist dann, 
wenn wir bei 45x45-Platinchen bleiben ja ein separates Thema, ob Kabel, 
Schienen oder Verbinderplatinen.

> Wenn wir schon beim Thema Umfragen bzw. Anfragen sind: Mich würde
> (zunächst rein aus Neugier) interessieren wie viele an einer solchen
> Sammelbestellung teilnehmen würden. Also soll jetzt noch keine
> verbindliche Bestellabgabe sein, aber es wäre sicherlich nicht schlecht
> zu wissen von wie vielen Platinen wir hier reden und ob eine Bestückung
> sinnvoll ist bzw. sich lohnen würde. Ich vermute nämlich, dass es hier
> durchaus einige "stille" Mitleser gibt. Das zumindest legen die
> Statistiken meiner oben geposteten Videos nahe ;).

Interessiert, 144 Stück.

von seanten (Gast)


Lesenswert?

Ich bräuchte dann 192 pixel. Werde mir wohl doch noch einen Job suchen 
müssen ^^.

Worüber wir auch nachdenken sollten ist unter welcher Lizens das Projekt 
stehen soll, wenn sich damit Keiner auskennt würde ich mich da mal 
reinarbeiten. Kann ja nicht wirklich bei der Elektronik helfen und cad 
Zeichnungen sind in ein paar Stunden erledigt xd.

von Holger W. (holgerw)


Lesenswert?

"Stiller Mitleser", sehr interessiert, ca. 1mx2m Tischgröße.
Holger

von Karol B. (johnpatcher)


Lesenswert?

seanten schrieb:
> Worüber wir auch nachdenken sollten ist unter welcher Lizens das Projekt
> stehen soll

Ist ja bisher noch nichts veröffentlicht worden ;). Ich persönlich bin 
großer Befürworter der GPL (zumindest für die Software). Beim Thema 
Schaltpläne bzw. Designs und Layouts kenne ich mich weniger aus. Was 
macht denn hier aus deiner/eurer Sicht heraus Sinn? Creative Commons?

Mit freundlichen Grüßen,
Karol Babioch

von Conny G. (conny_g)


Lesenswert?

seanten schrieb:
> Worüber wir auch nachdenken sollten ist unter welcher Lizens das Projekt
> stehen soll

http://de.wikipedia.org/wiki/WTFPL
?

von Ast E. (vis)


Lesenswert?

Ich bin nach wie vor am Tisch interessiert. Und würde Pixelplatinen von 
45x45 bis 50x50mm bevorzugen :-)

Schöner Einwand! Die "stillen Mitleser" habe ich noch gar nicht bedacht. 
Hätte auch ehrlich gesagt gar nicht angenommen, dass es welche gibt.


Der Master kann natürlich am Ende besprochen werden, ich hatte nur 
gerade noch mal zwecks BBB geschaut.



Ich würde vorschlagen, dass sich erstmal abschließend auf eine IR-LED + 
Fotodiode geeinigt werden sollte, welche günstig ist, lieferbar und 
natürlich entsprechende Eigenschaften aufweisen. Die im Video 
verwendeten Sensoriken waren nicht mehr die best zu beschaffensten 
oder?!

von Karol B. (johnpatcher)


Lesenswert?

Conny G. schrieb:
> http://de.wikipedia.org/wiki/WTFPL

Ich persönlich bin schon ein Freund von Copyleft (und damit z.B. der 
GPL). Ich bin mir aber natürlich darüber bewusst, dass das ein ziemlich 
subjektives Thema ist und ich denke wir würden uns da schon irgendwie 
einig werden. Im Notfall könnte man das ja sogar zweigleisig lizensieren 
usw. usf. ;).

Überhaupt ist ja bisher bis auf ein paar Zeilen Testcode noch nichts 
programmiert bzw. veröffentlicht worden. Insofern hat auch diese Frage 
noch Zeit ;).

Tim R. schrieb:
> Schöner Einwand! Die "stillen Mitleser" habe ich noch gar nicht bedacht.

Doch, doch, sei dir mal sicher, dass es davon auch ein paar gibt ;).

Tim R. schrieb:
> Der Master kann natürlich am Ende besprochen werden, ich hatte nur
> gerade noch mal zwecks BBB geschaut.

Ja, zur Zeit ist das katastrophal, hoffentlich wird es wieder mal besser 
;). Der BBB würde mir persönlich gut zusagen.

Tim R. schrieb:
> Die im Video
> verwendeten Sensoriken waren nicht mehr die best zu beschaffensten
> oder?!

Wie eingangs erwähnt, hatte ich mich letztes Jahr schon einige Zeit 
damit beschäftigt gehabt und bin zu dieser Auswahl gekommen, weil die 
zusammen passen, gut und günstig sind.

Bei Digikey [1] [2] würden wir bei einer Stückzahl von 1000 in etwa 8 
Cent pro Stück zahlen (16 Cent pro Pixel). Bei 2500 wird es sogar 
nochmal einen Cent billger ;). Ich glaube kaum, dass wir es günstiger 
schaffen, lasse mich aber gerne vom Gegenteil überzeugen. Der ATtiny841 
[3] ist für um die 70-80 Cent zu beschaffen, d.h. wir liegen mit den 
drei "Hauptkomponenten" bei unter einem Euro.

Ich persönlich bin immer noch der Meinung wir sollten den Strom durch 
die IR LED regelbar machen, um Alterungseffekten vorzubeugen und 
größtmögliche Flexibilität in Bezug auf die verwendeten Materialien zu 
haben. Klassische LED Treiber konnte ich bisher allerdings keine 
brauchbaren und zugleich günstigen finden. Derzeit arbeite ich an einer 
PWM Glättung mittels Tiefpass und einem folgenden Impedanzwandler. 
Problem ist aber, dass einfache OpAmps wie der LM358 nicht von 
Rail-to-Rail operieren, und damit weitere Spannungen nötig wären -> 
Wenig attraktiv ... Habe für Tipps ein offenes Ohr ;).

Bei dieser Gelegenheit: Wie wollen wir das jetzt mit der 
Spannungsversorgung machen? Jedem Pixel einen Spannungswandler 
spendieren? Bei welcher Eingangsspannung? Bei 100+ Pixeln kommen ja mit 
klassischen Linearreglern auch ganz schöne Verluste zusammen. Bei 12 
Volt Eingangsspannung, 5 Volt Ausgangsspannung und einem Stromfluss von 
100 mA, wären das 0,7 W pro Pixel, zumindest bei voller Helligkeit. Auch 
nicht wirklich akzeptabel, oder? Dann lieber für eine ausreichend 
stabile 5 Volt Spannungsversorgung sorgen und alles "direkt" (mit 
Pufferkondensatoren auf den Pixelplatinen) dranhängen?

Echt erstaunlich wie viel es zu beachten gibt, selbst bei so etwas 
"einfachem" wie einem LED Tisch. Und ob das alles nachher auf Anhieb 
klappt ist die nächste Frage ;). Im Zweifel hockt dann jeder auf 100+ 
Platinen und muss doch noch massive Handarbeit leisten - in der Hoffnung 
noch etwas retten zu können, dass wir in der Planungsphase übersehen 
haben -> GAU.

Mit freundlichen Grüßen,
Karol Babioch

[1]: 
http://www.digikey.com/product-detail/en/PD204-6B/1080-1139-ND/2675630
[2]: http://www.digikey.com/product-detail/en/IR204/1080-1072-ND/2675563
[3]: 
http://www.digikey.com/product-search/en?k=attiny841&mnonly=0&newproducts=0&ColumnSort=1000011&page=1&stock=0&pbfree=0&rohs=0&quantity=&ptm=0&fid=0&pageSize=25

: Bearbeitet durch User
von seanten (Gast)


Lesenswert?

Ich habe das mit der Lizens deshalb angesprochen, da ich mit meiner cad 
Software  nichts erstellen darf was hinterher kommerziell genutzt wird. 
Ist leider eine Einschränkung die ich im Hinterkopf behalten muss.

Ich würde auch für später vorschlagen alle Holzteile der Tische zusammen 
herzustellen um einfach Großhandelsware zu bekommen. Habe leztens erst 
wieder feststellen müssen das sich die Verleihmung von Bauhausbrettern 
schon durch lakieren anlößt und Fugen sichtbar werden. Gerade bei 2m 
wird es sehr stark auffallen.

von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> [1]:
> http://www.digikey.com/product-detail/en/PD204-6B/...
> [2]: http://www.digikey.com/product-detail/en/IR204/108...
> [3]:
> http://www.digikey.com/product-search/en?k=attiny8...

Dann nehme ich alles zurück. Von mir aus können diese Komponenten gerne 
als "fest" betrachtet werden

seanten schrieb:
> Ich habe das mit der Lizens deshalb angesprochen, da ich mit
> meiner cad
> Software  nichts erstellen darf was hinterher kommerziell genutzt wird.
> Ist leider eine Einschränkung die ich im Hinterkopf behalten muss.

Das ganze sollte ohne kommerzielle oder gewinnbringende Hintergründe 
laufen. Rein priv. Gebrauch :-)

von Nosnibor (Gast)


Lesenswert?

Zum IR-Stromregel-Problem:
Als Impedanzwandler (von der RC-Tiefpasskette am PWM-Ausgang auf die 
IR-LED) sollte es eigentlich auch ein Transistor tun. Ein bipolarer 
Transistor mit Emitterwiderstand stellt ja praktisch eine 
(basis-)spannungsgesteuerte Stromquelle dar. Zwei Probleme sehe ich 
dabei, die man durchrechnen/simulieren müßte:

 - der nötige Basisstrom errechnet sich aus LED-Strom und 
Stromverstärkungsfaktor des Transistors. Dieser Basisstrom belastet den 
Tiefpass, so daß man den nicht beliebig hochohmig bauen kann.

 - Timing: die Controller-Hardware gibt eine maximale PWM-Frequenz vor; 
damit ist eine minimale Zeitkonstante für den Tiefpass gegeben (abhängig 
von der genauen Schaltung und der gewünschten maximalen Restwelligkeit). 
Wenn sich herausstellt, daß das für die gewünschte Touch-Abfragefrequenz 
zu lahm ist, brauchen wir einen zweiten Controller-Pin, um die IR-LED 
schnell Ein- und Ausschalten zu können. Und wahrscheinlich einen zweiten 
Transistor.

Das artet langsam in richtiges analoges Transistorschaltungsdesign aus… 
mit quadratzentimeterweise Hühnerfutter auf der Platine. Eigentlich 
sollte der geschickte µC-Einsatz genau das vermeiden, dachte ich 
immer...

von backemf (Gast)


Lesenswert?

Stiller Mitleser hier :-)

Ich wäre an ca. 100 Modulen interessiert.

Und um auch etwas der Diskussion beizutragen:

Ich halte es auch für sinnvoll eine Möglichkeit vorzusehen den IR-Dioden 
Strom zu steuern. Und mit steuern meine ich nicht Regeln. Das wäre in 
der Tat übers Ziel hinausgeschossen für unsere Anwendung.
Ich denke der Vorschlage von  Nosnibor den Strom mit Hilfe eines 
Bipolartranistors und dessen Stromverstärung zu steuern für eine gute 
Idee. Das wird man aber tatsächlich testen müssen. Die komplexität 
dieser Schaltung halte ich aber für überschaubar..

von Karol B. (johnpatcher)


Lesenswert?

Nosnibor schrieb:
> Ein bipolarer
> Transistor mit Emitterwiderstand stellt ja praktisch eine
> (basis-)spannungsgesteuerte Stromquelle dar.

Habe ich noch gar nicht dran gedacht, werde ich mal probieren. Mal sehen 
wie "stabil" das Ganze ist.

Nosnibor schrieb:
> Wenn sich herausstellt, daß das für die gewünschte Touch-Abfragefrequenz
> zu lahm ist, brauchen wir einen zweiten Controller-Pin, um die IR-LED
> schnell Ein- und Ausschalten zu können. Und wahrscheinlich einen zweiten
> Transistor.

Zur Zeit arbeite ich mit 125 Hz, das sollte also mehr als nur machbar 
sein.
Ansonsten hätte der ATtiny841 wohl noch genug freie Pins ;).

Nosnibor schrieb:
> Eigentlich
> sollte der geschickte µC-Einsatz genau das vermeiden, dachte ich
> immer...

Du darfst gerne weitere Vorschläge machen ;). Der typische PWM-Ansatz 
zur Intensitätssteuerung fällt hier halt weg, und damit kommt man wohl 
um eine externe Beschaltung nicht ganz herum.

backemf schrieb:
> Und mit steuern meine ich nicht Regeln.

Zumindest ich habe die Worte in meinen obigen Beiträgen ziemlich synonym 
verwendet, was natürlich nicht ganz korrekt ist. Ja, eine Steuerung ist 
hier gut genug ;).

backemf schrieb:
> Die komplexität
> dieser Schaltung halte ich aber für überschaubar..

Die Komplexität ist sicherlich noch überschaubar, allerdings machen 
solche "Konstrukte" es immer unattraktiver die Module per Hand zu 
bestücken - gerade, wenn wir auf SMD setzen. Insofern hoffe ich einfach 
mal, dass sich noch ein paar mehr Leute melden, sodass die Herstellung 
und Bestückung der Platinen günstiger wird ;).

Wenn ich das jetzt richtig zusammen getragen habe, dann schaut die 
Situation bisher so aus (hatte mich selbst übrigens vergessen bisher):

Conny G. 144
seanten 192
Holger W. 100+?
Tim R. 100+?
backemf 100
Karol Babioch 256 (16x16)

Das wären bisher also so um die 800+ Module. Insofern sollte sich doch 
eine Möglichkeit finden die gut und günstig herzustellen, vor allem 
werden es ja potentiell immer noch mehr werden ;).

Mit freundlichen Grüßen,
Karol Babioch

von Nosnibor (Gast)


Lesenswert?

Noch eine Variante zur Steuerung des IR-LED-Stroms:

PWM-Ausgang --> RC-Glied --> Transistor mit Emitterwiderstand.
PWM relativ langsam und mit niedrigem Tastgrad, d.h. man kann das 
PWM-Signal als einzelne kurze Pulse ansehen. Während des Pulses wird die 
Basisspannung am Transistor ungefähr linear steigen, in der Pause klingt 
sie dann mehr oder weniger exponentiell ab. Wenn der A/D-Wandler (und 
die Photodiode) deutlich schneller ist als diese Vorgänge, kann man 
einfach eine Messung kurz vor Anfang des Pulses machen (dann ist die LED 
aus) und die zweite gegen Ende des Pulses (dann hat die LED ihre 
maximale Helligkeit). Mit der Pulsdauer stellt man ein, bei welchem 
LED-Strom gemessen wird.

Da die Schaltung normalerweise mit geringem Tastgrad betrieben wird (der 
LED-Strom muß ja in den Pausen auf 0 abklingen), wird sie bei dauer-H am 
PWM-Ausgang die IR-LED durchbrennen; das ist in der Entwicklungsphase zu 
beachten!

Vorteil gegenüber dem vorigen Ansatz (D/A-Wandler per PWM) ist der 
geringere Schaltungsaufwand, weil nicht mehr so stark geglättet werden 
muß.

von Karol B. (johnpatcher)


Lesenswert?

Nosnibor schrieb:
> Noch eine Variante zur Steuerung des IR-LED-Stroms:

Ok, danke für den Input! Du scheinst ja recht fit in Bezug auf diese 
Thematik zu sein. Hättest du zufällig konkrete Werte für die Widerstände 
bzw. Kondensatoren? Oder Lust das mal eben durchzurechnen? Bei der 
verwendeten Frequenz können wir wirklich von "langsam" ausgehen (< 1 kHz 
und weniger) - denk ich mal.

Mit freundlichen Grüßen,
Karol Babioch

von Nosnibor (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe hier einen kleinen Versuchsaufbau zusammengestöpselt: ein 
Arduino, der eigentlich etwas ganz anderes machen soll, erzeugt alle 
20ms einen H-Impuls von abwechselnd 2ms und 3ms Dauer. Dann kommen 10kΩ 
und 1µF, dann ein BC547C mit 33Ω am Emitter und einer roten LED nach +5V 
am Kollektor.
Das Oszi zeigt den Eingangsimpuls und den Spannungsabfall am 
Emitterwiderstand. Man sieht den erwarteten fast linearen Anstieg und 
den exponentiellen Abfall. Der Anstieg setzt verzögert ein, weil 
unterhalb einer minimalen Basisspannung (ca. 0,6V) praktisch kein Strom 
fließt, und diese Spannung muß erstmal erreicht werden, das dauert (ca. 
1ms). Aus dem gleichen Grund geht der Strom auch in der Pause auf 0 
zurück, was bei einem echten exponentiellen Abfall ja ewig dauern würde. 
Außerdem sieht man sehr schön, daß unterschiedlich lange Pulse in 
unterschiedlich hohe verwandelt werden. Aber die Flanken sehen 
unangenehm steil aus: ob man da jetzt ein stabiles ADC-Signal erwarten 
kann, ist fraglich.
Der Strom ist mit 15mA Spitzenwert zu klein; da könnte man den 
Kondensator verkleinern, damit höhere Basisspannungen schneller erreicht 
werden. Oder den Emitterwiderstand verkleinern.

von backemf (Gast)


Angehängte Dateien:

Lesenswert?

Die Lösung mit Tiefpass gefolgt von bipolar Transistor ist entgegen 
meiner Annahme wohl doch etwas heikler.
Um einen Kollegktor strom von 100mA zu ermöglichen ist ein Basisstrom in 
der Gegend von 0.2-1mA nötig. Das macht es notwendig den R des RC 
niedrig zu wählen was wiederrum bedeutet das die Frequenz der PWM sehr 
hoch sein muss um bei Sinnvollen Kapazitäten die notwendige 
Filterwirkung zu erreichen.

Ich hab jetzt mal eine Anderen Ansatz verfolgt der allerding 3-4 Pins 
des µc beanspruchen würde. Haben wir die?
Damit ließe sich mit 3-4 digitalen Ausgängen der Strom in 8 bwz. 16 
Stufen einstellen.

von Nosnibor (Gast)


Lesenswert?

Die Pins haben wir wahrscheinlich, aber die Anzahl der Bauteile soll 
möglichst klein bleiben. In diesem Sinne: weg mit den Dioden, und die 
Portpins dann statt Ausgang-LOW auf Eingang schalten.

von asterix (Gast)


Lesenswert?

Nosnibor schrieb:
> Die Pins haben wir wahrscheinlich, aber die Anzahl der Bauteile
> soll
> möglichst klein bleiben. In diesem Sinne: weg mit den Dioden, und die
> Portpins dann statt Ausgang-LOW auf Eingang schalten.

das Selbe kam mir auch gleich in den Sinn. Um die Pins mache ich mir 
weniger Sorgen, sondern eher um den Platzbedarf der Kleinbauteile

von backEMF (Gast)


Lesenswert?

Nosnibor schrieb:
> In diesem Sinne: weg mit den Dioden, und die
> Portpins dann statt Ausgang-LOW auf Eingang schalten.

Die Dioden sind nur da um einen high-imp state der µC IOs zu simulieren. 
Die wären natürlich nicht notwendig.
Notwendig wären nur 2 Transistoren und 6 Widerstände.

von Nosnibor (Gast)


Lesenswert?

backEMF schrieb:
> Die Dioden sind nur da um einen high-imp state der µC IOs zu simulieren.
> Die wären natürlich nicht notwendig.
> Notwendig wären nur 2 Transistoren und 6 Widerstände.

OK, das leuchtet ein, deshalb auch "ideale" Dioden.
Interessant wäre jetzt, wenn man mit aktivem LOW-Pegel auch noch etwas 
sinnvolles anfangen könnte, so daß man mit vier Ausgängen auf 81 
verschiedene LED-Ströme käme.

von Karol B. (johnpatcher)


Lesenswert?

Schön, dass sich da sogar mehrere Leute Gedanken drüber machen. Ich 
persönlich bin mittlerweile kurz davor doch noch zum CAT4003B zu 
greifen. Der bietet 3 Kanäle mit jeweils 25 mA und bietet 32 
programmierbare Stufen. Wenn wir die drei Kanäle parallel schalten und 
die IR-LED damit bedienen, dann haben wir 32 Stufen und können den 
Stromfluss zwischen 0 und 75 mA steuern. Externe Beschaltung ist auch so 
gut wie keine nötig. Kostenpunkt: ~ 35 Cent.

Ich lasse mich von euren kreativen Vorschlägen aber gerne überzeugen, 
sofern ihr der Meinung seid, dass es gut genug für unseren 
Anwendungsfall ist ;).

Mit freundlichen Grüßen,
Karol Babioch

von backEMF (Gast)


Lesenswert?

35 Cent sind echt günstig für den Treiber.  Mit der Transistorlösung 
sind war auch schon bei 20cent.16 stufen halte ich für ausreichend. Ich 
werde das ganze mal ausprobieren und berichten.

von Karol B. (johnpatcher)


Lesenswert?

backEMF schrieb:
> 35 Cent sind echt günstig für den Treiber.

Ja, sehe ich auch so. Andererseits macht sich in diesem Fall halt 
wirklich jeder Cent bemerkbar -- bei potentiell tausenden von Modulen. 
Der Treiber würde uns halt viele externe Bauteile ersparen.

Das einzige Problem: Im Datenblatt wird immer davon ausgegangen, dass 
man 3 einzelne LEDs betreibt. Wie sich der Baustein bei ein und der 
selben LED verhält, kann ich nicht sagen. Überhaupt wird (zumindest 
meiner Meinung nach) nicht klar wie der Treiber intern arbeitet. Von PWM 
ist nämlich keine Rede (also Linearregler?), während es bei anderen 
Treibern in dieser Preisklasse immer erwähnt wird.

Vielleicht kann sich ja jemand mit mehr Erfahrung das Datenblatt ansehen 
und beurteilen, ob das so klappen könnte wie ich es mir vorstelle [1]. 
Für etwa 5 Cent mehr gäbe es auch den CAT4004B, d.h. 4 Kanäle, also bis 
zu 100 mA. Sinnvoll? An sich würde ich die IR LED einfach parallel an 
alle 3 bzw. 4 Kanäle hängen und hätte damit in 32 Stufen. Die 
Ansteuerung kann mittels jedem beliebigen Pin erfolgen, da die Timings 
aus Sicht eines Mikrocontrollers ziemlich einfach einzuhalten wären. Man 
kann halt nur in eine Richtung schalten, d.h. ggf. muss man mittels 
einem Wrap-Around zum gewünschten Level, wobei 32 Toggles selbst ohne 
Interrupt basiertem Ansatz kein Problem darstellen sollten.

backEMF schrieb:
> Ich werde das ganze mal ausprobieren und berichten.

Super, bin gespannt ;).

Mit freundlichen Grüßen,
Karol Babioch

[1]: http://www.onsemi.com/pub/Collateral/CAT4003B-D.PDF

: Bearbeitet durch User
von blobba (Gast)


Lesenswert?

welche Vorteile bringt denn die Steuerung des Stroms für die IR-LED?
bringt das nicht eher Nachteile mit sich weil die Diode entsprechend mal 
"mehr" und mal "weniger" erkennt und dadurch die Werte sehr variieren 
können? Kann mich auch gerade komplett täuschen

von backEMF (Gast)


Lesenswert?

blobba schrieb:
> welche Vorteile bringt denn die Steuerung des Stroms für die IR-LED?

Ein Vorteil ist das sich mögliche alterunseffekte der IR-LED ausgleichen 
ließen. Wobei ich die Alterung eher unkritisch sehe. Die meiste Zeit 
könnte die LED ja aus sein. Und möglicherweise ist es notwendig die 
Leistung an verschiedene Tische anpassen zu können.(Glas, Abstand, 
Reflektionen etc.) In wie weit das Sinn macht weiß ich nicht.
Möglicherweise lässt sich ja auch mehr Information genwinnen indem man 
immer bei mehreren IR intensisäten mißt?

Ich denke wir sollten bevor wir dne Strom veränderlich machen erst 
abklären ob es überhaupt einen klaren benefit gibt.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

backEMF schrieb:
> Ich denke wir sollten bevor wir dne Strom veränderlich machen erst
> abklären ob es überhaupt einen klaren benefit gibt.

Sehe ich genauso. Wieviele 10.000 Stunden hält so eine IR-Diode? 
Wieviele Stunden am Tag ist der Tisch eingeschaltet?

Ich halte diese "Untersuchungen" für rein akademisch. IR-Diode per 
Widerstand an einen (PWM-)Portpin und fertig.

von asterix (Gast)


Lesenswert?

Frank M. schrieb:
> Sehe ich genauso. Wieviele 10.000 Stunden hält so eine IR-Diode?
> Wieviele Stunden am Tag ist der Tisch eingeschaltet?
>
> Ich halte diese "Untersuchungen" für rein akademisch. IR-Diode per
> Widerstand an einen (PWM-)Portpin und fertig.

war auch mein Gedanke. lässt das Vorhaben hier in eine etwas andere 
Richtung laufen denke ich...

von backEMF (Gast)


Lesenswert?

Frank M. schrieb:
> Ich halte diese "Untersuchungen" für rein akademisch. IR-Diode per
> Widerstand an einen (PWM-)Portpin und fertig.

Einen kleinen Transistor wird schon notwendig sei. Die 20mA vom Portpin 
werden nicht reichen.

von Ast E. (vis)


Lesenswert?

hm der rest hier keine lust mehr oder schon mit einem bierchen in der 
sonne ?? ;-P

von Konrad S. (maybee)


Lesenswert?

Das Thema ist zwar schon abgehakt, trotzdem dieser Nachtrag:

Um dem Effekt "Unerwünschte Erkennung von Gegenständen über benachbarten 
Zellen" entgegenzuwirken, könnte man die IR-LED in eine Ecke der Zelle 
und die IR-Photodiode in die diagonal gegenüberliegende Ecke setzen. Der 
von der Zelle IR-beleuchtete und gleichzeitig gesehene Bereich 
beschränkt sich dabei im Wesentlichen auf den Raum direkt über der 
Zelle. Die Auswertung sollte im 2x2- oder 3x3-Raster erfolgen, damit die 
benachbarten Zellen nicht stören.

von Christian H. (c_h)


Lesenswert?

Kennt ihr eigentlich schon
http://www.elv.de/controller.aspx?cid=726&detail=44159
und
http://www.elv.de/controller.aspx?cid=726&detail=44846
?

Dort wird ein PIN eines mit 3,3V betriebenen STM8L151C8U6 pro IR-Sender 
und ein PIN pro IR-Empfänger verwendet.

Die Sendeschaltung ist uc-Pin über 1K an die Basis eines BCW66H 
Transistors, Emitter an GND, Kollektor über Infraot-LED IR333-A und 33 
Ohm Widerstand an +UB (vermutlich 5V).
Die Empfangsschaltung ist uc-Pin über eine Fotodiode SFH203FA und 
parallel 270p/50V an GND und der Pin auch über 470K an +3,3V.

Die 8 weißen LEDs werden über 8 Ausgänge des TLC5946 betrieben, die 
anderen 8 sind unbenutzt.

Ich hoffe es ist okay, diese Information zu reproduzieren.

von Conny G. (conny_g)


Lesenswert?

Tim R. schrieb:
> hm der rest hier keine lust mehr oder schon mit einem bierchen in der
> sonne ?? ;-P

Für ein Projekt im Ausland, grad keinen Kopf für anderes. Nächste Woche 
wieder zurück.

von Martin S. (led_martin)


Lesenswert?

Hallo, nun hatte ich mich ja schon lange nicht mehr gemeldet.

@johnpatcher:

Entschuldigung, ich wusste nicht, daß das mit dem IR-Touch unter 
satiniertem Glas schon so gut getestet ist. Die, weiter oben genannte, 
Idee, IR-Sender und IR-Empfänger in gegenüberliegende Ecken der Zelle zu 
setzen ist sicher gut, das mindert auch den Anteil des vom satinierten 
Glas gestreuten Lichts, im Empfänger. Vielleicht macht es auch Sinn 
Sender und Empfänger nahe an das Glas ranzubringen, dann muß man aber 
aufpassen wegen Schattenbildung.

Weiter oben wurde vorgeschlagen zwei UART-Ringe über alle Pixelplatinen 
zu führen, das würde ich nicht machen, erzeugt nur ne Menge unnötige 
Rechnerei auf den Pixeln, und dmit eine Verschlechterung des Timings. 
Wenn schon zwei UART-Ringe am Hauptcontroller, aber je einen für die 
Hälfte der Pixelplatinen. Um ein stabiles Timing zu erreichen, könnte 
man ja 'nur' den UART-Rx Interupt laufen lassen, und dort auch das 
senden von Bytes anstoßen, so würde die Verzugszeit pro Pixel nur um ca. 
4 Controller-Taktzyklen wariieren. Den Rest dann über Polling erledigen, 
aber der Controller der Pixel hat ja Zeit genug.

Man könnte Übertragungsbandbreite sparen, wenn man nicht RGB-Daten, 
sondern Daten im HSV-Farbraum überträgt. Bei RGB sind 8 Bit/Farbe recht 
wenig, wird schnell stufig, wenn nicht die volle Helligkeit gewünscht 
wird. Bei HSV muß nur die Helligkeit feinstufig sein, Bei Farbe und 
Sättigung reichen je 8 Bit gut aus. Bei der Helligkeit könnte man, im 
Pixelcontroller, noch eine Dimmkurve hinterlegen, die das logarythmische 
Helligkeitsempfinden des Auges berücksichtigt, dann reichen auch für die 
Helligkeit 8 Bit.

Mit freundlichem Gruß - Martin

von Karol B. (johnpatcher)


Lesenswert?

Frank M. schrieb:
> Sehe ich genauso. Wieviele 10.000 Stunden hält so eine IR-Diode?

"Halten" ist relativ. Bis zum Totalausfall sind es sicherlich etliche 
Stunden, aber eine Alterung (LED wird bei gleich Strom schwächer) tritt 
ggf. deutlich früher auf.

> Wieviele Stunden am Tag ist der Tisch eingeschaltet?

Den ganzen Tag ;)? Bzw. den halben Tag, weil die LED jeweils nur die 
Hälfte der Zeit eingeschaltet ist. Klar kann man auch über Auto On/Off 
nachdenken (wie bei der Wordclock), aber prinzipiell sollte der Tisch 
auch ein dauerhaftes Einschalten überstehen.

Frank M. schrieb:
> Ich halte diese "Untersuchungen" für rein akademisch.

So akademisch finde ich das gar nicht.

Frank M. schrieb:
> IR-Diode per
> Widerstand an einen (PWM-)Portpin und fertig.

Eine (ungeglättete) PWM bringt ja wie gesagt nichts. Und eine 
ordentliche Glättung gestaltet sich nicht so einfach wie gedacht. 
Außerdem sind die 40 mA, die geliefert werden können ggf. zu wenig. Die 
IR LED kann 50 mA dauerhaft abhaben, gepulst sogar bis zu 1A, wenn ich 
das jetzt richtig im Kopf habe.

Tim R. schrieb:
> hm der rest hier keine lust mehr oder schon mit einem bierchen in der
> sonne ?? ;-P

Eher Letzteres ;).

Konrad S. schrieb:
> Die Auswertung sollte im 2x2- oder 3x3-Raster erfolgen, damit die
> benachbarten Zellen nicht stören.

Was meinst du damit bzw. wie willst du die nötige Synchronisation 
erreichen?

Christian H. schrieb:
> Kennt ihr eigentlich schon
> http://www.elv.de/controller.aspx?cid=726&detail=44159
> und
> http://www.elv.de/controller.aspx?cid=726&detail=44846
> ?

Nein, schaut aber auch ganz interessant aus. Im Grunde ja der selbe 
Ansatz mit ein bisschen anderen Komponenten. Schaue ich mir mal im 
Detail an (wird man wohl den Artikel kaufen müssen :(). Die verwendete 
Fotodiode ist aber deutlich teurer.

Martin Schlüter schrieb:
> Die, weiter oben genannte,
> Idee, IR-Sender und IR-Empfänger in gegenüberliegende Ecken der Zelle zu
> setzen ist sicher gut, das mindert auch den Anteil des vom satinierten
> Glas gestreuten Lichts, im Empfänger.

Das müsste man wohl einfach mal wieder ausprobieren. Ich persönlich 
halte das für unnötig, weil es anders auch schon funktioniert hat und 
man mit einem solchen Ansatz Gefahr läuft "tote Winkel" zu schaffen.

Martin Schlüter schrieb:
> Weiter oben wurde vorgeschlagen zwei UART-Ringe über alle Pixelplatinen
> zu führen, das würde ich nicht machen, erzeugt nur ne Menge unnötige
> Rechnerei auf den Pixeln, und dmit eine Verschlechterung des Timings.

Ja, wobei man ja auch darüber nachdenken könnte, dass bestimmte Daten 
nicht mehr weitergereicht werden. Durch zwei Ringe verdoppelt sich halt 
der Durchsatz. Dieser Aspekt ist bisher aber noch von keinem erprobt 
worden.

Martin Schlüter schrieb:
> Den Rest dann über Polling erledigen,
> aber der Controller der Pixel hat ja Zeit genug.

Bin mir noch nicht ganz sicher was noch so alles ansteht (ADC, Timer), 
aber das alles per Polling zu erledigen gefällt mir nicht wirklich.

Martin Schlüter schrieb:
> Man könnte Übertragungsbandbreite sparen, wenn man nicht RGB-Daten,
> sondern Daten im HSV-Farbraum überträgt. Bei RGB sind 8 Bit/Farbe recht
> wenig, wird schnell stufig, wenn nicht die volle Helligkeit gewünscht
> wird.

Bin sicherlich kein Experte auf dem Gebiet der Farbenlehre bzw. 
Informationstheorie, aber wieso sollte HSV sparsamer als RGB sein? Das 
stufige Verhalten bei geringen Helligkeiten ist ja nicht dem RGB 
Farbraum selbst zuzusprechen, sondern ist der zu geringen PWM Auflösung 
geschuldet. Und selbst wenn wir die Farbwerte per HSV übertragen, dann 
müssen wir sie letztendlich in PWM Werte umrechnen und stehen (bei 
8-Bit) vor dem selben Problem. Der ATtiny841 bietet aber genug 16 Bit 
Timer, insofern sollten wir hier keine Probleme bekommen. Notfalls kann 
man mit ein bisschen Rechenaufwand auch eine 8 Bit Hardware PWM per 
Software erweitern.

Oder habe ich etwas an deinem Ansatz fundamental falsch verstanden?

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> "Halten" ist relativ. Bis zum Totalausfall sind es sicherlich etliche
> Stunden, aber eine Alterung (LED wird bei gleich Strom schwächer) tritt
> ggf. deutlich früher auf.
ich finde den Ansatz trotzdem etwas quatsch. Was ist denn mit der 
Leuchtdiode die die Farbe hergibt? Die wäre mir viel wichtiger, weil 
dort das Auge drauf schaut. Wenn dann müssten schon beide im 
Altererungsprozess berücksichtigt werden.. und das ist einfach viel zu 
aufwändig bin ich der Meinung, um ein paar Stunden Leuchtkraft zu 
gewinnen. Notfalls kann man ja alle 5 Jahre oder neue LEDs einlöten, 
sollte ja auch nicht so das Problem sein oder ?! :-D
>> Wieviele Stunden am Tag ist der Tisch eingeschaltet?
>
> Den ganzen Tag ;)? Bzw. den halben Tag, weil die LED jeweils nur die
> Hälfte der Zeit eingeschaltet ist. Klar kann man auch über Auto On/Off
> nachdenken (wie bei der Wordclock), aber prinzipiell sollte der Tisch
> auch ein dauerhaftes Einschalten überstehen.
Also mein Tisch wird nicht mal annähernd einen halben Tag (ausser zu 
Anlässen) an sein...
> Tim R. schrieb:
>> hm der rest hier keine lust mehr oder schon mit einem bierchen in der
>> sonne ?? ;-P
>
> Eher Letzteres ;).
Gefällt mir, wo ist meine Pooleinladung ;-)
>
> Konrad S. schrieb:
>> Die Auswertung sollte im 2x2- oder 3x3-Raster erfolgen, damit die
>> benachbarten Zellen nicht stören.
>
> Was meinst du damit bzw. wie willst du die nötige Synchronisation
> erreichen?
Verstehe den Ansatz auch nicht ganz.. ich denke mit unseren bisherigen 
Ansätzen fahren wir schon gut
> Das müsste man wohl einfach mal wieder ausprobieren. Ich persönlich
> halte das für unnötig, weil es anders auch schon funktioniert hat und
> man mit einem solchen Ansatz Gefahr läuft "tote Winkel" zu schaffen.
Das denke ich auch. Wozu jetzt das "geschaffene" wieder verändern... und 
dann müsste man denke ich auch alle vier Ecken jeweils ausstatten oder?
> Ja, wobei man ja auch darüber nachdenken könnte, dass bestimmte Daten
> nicht mehr weitergereicht werden. Durch zwei Ringe verdoppelt sich halt
> der Durchsatz. Dieser Aspekt ist bisher aber noch von keinem erprobt
> worden.
Das erfordert leider ein paar Pixel/Slaves zum Testen. Aber der Ansatz 
mit 2xUART ist denke ich schon am günstigsten. Vorallem können auf diese 
kurzen Strecken auch locker 500kBaud oder mehr erreicht werden. Alle 
Attiny unterstützen die selben Geschwindigkeiten. Hab gerade nochmal 
nachgeschaut, Theoretisch wären 1Mbaud bei 16MHz möglich :-) das sollte 
wohl langen?
> Bin mir noch nicht ganz sicher was noch so alles ansteht (ADC, Timer),
> aber das alles per Polling zu erledigen gefällt mir nicht wirklich.
Polling würde ich an der Stelle gar nicht betreiben. Ausser der 
Hauptschleife gibt es keine Schleifen. Wenn ein (UART)-IR kam mit neuen 
Farbwerten, werden die entweder im IR oder eben per Flag in der 
Hauptschleife übernommen und eine ADC-Messung gestartet. Der ADC-IR kann 
dann das Rücksenden in Gang bringen. Also Polling sehe ich an keiner 
Stelle(wozu auch?)
> Bin sicherlich kein Experte auf dem Gebiet der Farbenlehre bzw.
> Informationstheorie, aber wieso sollte HSV sparsamer als RGB sein? Das
> stufige Verhalten bei geringen Helligkeiten ist ja nicht dem RGB
> Farbraum selbst zuzusprechen, sondern ist der zu geringen PWM Auflösung
> geschuldet. Und selbst wenn wir die Farbwerte per HSV übertragen, dann
> müssen wir sie letztendlich in PWM Werte umrechnen und stehen (bei
> 8-Bit) vor dem selben Problem. Der ATtiny841 bietet aber genug 16 Bit
> Timer, insofern sollten wir hier keine Probleme bekommen. Notfalls kann
> man mit ein bisschen Rechenaufwand auch eine 8 Bit Hardware PWM per
> Software erweitern.
Das war auch mein Gedanke. Wir sind eher an die 8bit PWM 
Hardwaretechnisch gebunden. Es sei denn, es wird eine 10bit oder mehr 
genutzt. Der Vorteil am HSV ist, dass die Farben eher dem AUge 
"freundlich" vorkommen oder so Ähnlich hatte ich es mal im Kopf (Achtung 
gefährliches Halbwissen). Sollte man mal Wiki und co studieren. Aber die 
Datenmenge unterscheidet sich nicht großartig. Deswegen würde ich mir 
erst Gedanken über den Bus machen, wie man am schnellsten viele Daten 
vom Master zu den Pixeln bekommt und zurück.

: Bearbeitet durch User
von M. G. (hummer87)


Lesenswert?

Hallo,
Ich verfolge diesen Beitrag schon einige Zeit und mich hat nun auch das 
Fieber gepackt solch einen Tisch zu bauen.

Da ich auch gern experimentiere habe ich zu dem Projekt eine Frage.

Wie weit wurde denn nun die Hardware der led Ansteuerung festgelegt, 
oder gibt es hierbei eine Festlegung?

Welchen Controller verwenden wir?
Welche IR Sender und Empfänger werden bevorzugt
Wie sieht die Kommunikation aus I2C oder UART

Soll ein mikrocontroller nur eine RGB led steuern oder soll zwei RGB 
LEDs an einen Controller angeschlossen werden, dies wurde ggf. Eine IR 
Einheit ersparen. Bei geeignetem Controller wäre auch eine dreier 
Kombination aus 3x RGB und einer IR Einheit erdenklich.

Wie sollen die einzelnen Platinen aussehen, 4eckick, 6eckig, USW.
Die Platinen sollten untereinander steckbar sein, oder per Leitung 
verbunden werden?

Freue mich schon auf das Projekt

Viele Grüße

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> Hallo,
> Ich verfolge diesen Beitrag schon einige Zeit und mich hat nun auch das
> Fieber gepackt solch einen Tisch zu bauen.
>
> Da ich auch gern experimentiere habe ich zu dem Projekt eine Frage.
Schön einen weiteren Interessenten gefunden zu haben!
>
> Wie weit wurde denn nun die Hardware der led Ansteuerung festgelegt,
> oder gibt es hierbei eine Festlegung?
Festgelegt ist eigentlich noch gar nichts. Aber an den Kommentaren 
kristallisieren sich denke ich auch langsam die Hauptgewichte raus. Ich 
werde das am nächsten WE mal zusammenfassen und ggf. den eröffneten 
Artikel zum Projekt aktualisieren
>
> Welchen Controller verwenden wir?
Hier wurde der Attiny841 ins Auge gefasst.
> Welche IR Sender und Empfänger werden bevorzugt
 Karol Babioch hatte hierzu ein sehr schönes Video hochgeladen mit 
seinen getesteten Komponenten. Da diese sehr gut zusammen funktionierten 
und auch günstig zu erwerben sind, denke ich werden wir uns alle auf 
diese einigen. Hab grad keine Namen im Kopf (einfach mal nach oben 
scrollen dort sind irgendwo Links)
> Wie sieht die Kommunikation aus I2C oder UART
kein I2C. eher UART, aber noch nicht festgelegt...
>
> Soll ein mikrocontroller nur eine RGB led steuern oder soll zwei RGB
> LEDs an einen Controller angeschlossen werden, dies wurde ggf. Eine IR
> Einheit ersparen. Bei geeignetem Controller wäre auch eine dreier
> Kombination aus 3x RGB und einer IR Einheit erdenklich.
Ein Pixel bekommt einen Attiny. Dieser steuert die IR-LED und die RGB 
(oder ggf. mehrere) in seinem Pixel. Hier wird noch über die 
Bereitstellung des Stroms diskutiert, da die ja doch ein paar mA 
benötigen.
>
> Wie sollen die einzelnen Platinen aussehen, 4eckick, 6eckig, USW.
ein Pixel -> viereckig
> Die Platinen sollten untereinander steckbar sein, oder per Leitung
> verbunden werden?
wird ebenfalls diskutiert. Steckverbindungen könnten knapp werden, da 
zwischen den Pixeln Trennwände angedacht sind.
>
> Freue mich schon auf das Projekt
>
> Viele Grüße

Beim nächsten mal bitte (auch wenn es viel ist) die Beiträge durchlesen. 
Denn wenn jeder nun ankommt und erneut diese Fragen stellt, nimmt das 
hier kein Ende. Ich habe das aber nun einmalig für dich zusammengefasst 
;-)

von Nosnibor (Gast)


Lesenswert?

Karol Babioch schrieb:
> Konrad S. schrieb:
>> Die Auswertung sollte im 2x2- oder 3x3-Raster erfolgen, damit die
>> benachbarten Zellen nicht stören.
>
> Was meinst du damit bzw. wie willst du die nötige Synchronisation
> erreichen?

Es gab ja immer mal Forderungen, die Pixel zu synchronisieren, d.h. daß 
nicht jedes Pixel die Farbe wechselt, wann immer es neue Daten bekommt, 
sondern damit auf ein Synchronsignal wartet, das alle Pixel gleichzeitig 
erreicht (naja, gleichzeitiger als die Daten jedenfalls). Damit kann man 
dann auch die IR-Messung synchronisieren. Die Pixel werden in mehrere 
Gruppen eingeteilt, z.B. schachbrettartig, und eine Gruppe mißt in der 
einen Hälfte einer Framezeit, die andere in der anderen. Damit jedes 
Pixel weiß, zu welcher Gruppe es gehört (bzw. mit wieviel Verzögerung 
nach dem Framesync es IR-leuchten darf, ohne die Nachbarn zu stören), 
muß der Master einmal ein Config-Telegramm senden, das für jedes Pixel 
anstelle RGB-Daten die Gruppennummer enthält.

> Martin Schlüter schrieb:
>> Weiter oben wurde vorgeschlagen zwei UART-Ringe über alle Pixelplatinen
>> zu führen, das würde ich nicht machen, erzeugt nur ne Menge unnötige
>> Rechnerei auf den Pixeln, und dmit eine Verschlechterung des Timings.
>
> Ja, wobei man ja auch darüber nachdenken könnte, dass bestimmte Daten
> nicht mehr weitergereicht werden. Durch zwei Ringe verdoppelt sich halt
> der Durchsatz. Dieser Aspekt ist bisher aber noch von keinem erprobt
> worden.

Man kann ja zur Durchsatzsteigerung beliebig viele Ringe einrichten, so 
viele, wie der Master Ports hat. Aber jedes Pixel ist am besten nur an 
genau einem Ring beteiligt.

> Martin Schlüter schrieb:
>> Man könnte Übertragungsbandbreite sparen, wenn man nicht RGB-Daten,
>> sondern Daten im HSV-Farbraum überträgt. Bei RGB sind 8 Bit/Farbe recht
>> wenig, wird schnell stufig, wenn nicht die volle Helligkeit gewünscht
>> wird.
>
> Bin sicherlich kein Experte auf dem Gebiet der Farbenlehre bzw.
> Informationstheorie, aber wieso sollte HSV sparsamer als RGB sein? Das
> stufige Verhalten bei geringen Helligkeiten ist ja nicht dem RGB
> Farbraum selbst zuzusprechen, sondern ist der zu geringen PWM Auflösung
> geschuldet. Und selbst wenn wir die Farbwerte per HSV übertragen, dann
> müssen wir sie letztendlich in PWM Werte umrechnen und stehen (bei
> 8-Bit) vor dem selben Problem. Der ATtiny841 bietet aber genug 16 Bit
> Timer, insofern sollten wir hier keine Probleme bekommen. Notfalls kann
> man mit ein bisschen Rechenaufwand auch eine 8 Bit Hardware PWM per
> Software erweitern.

RGB vs. HSV hängt davon ab, wer die Gammakurve rechnet. Wenn die Pixel 
einfach nur dumm die befohlenen RGB-Werte linear darstellen, sind 8 bit 
zu wenig. Und dann braucht man auf einmal für RGB 30 oder 48 bit, damit 
man 10- bzw. 16bit-PWM machen kann und die Helligkeitsstufen nicht mehr 
auffallen. In so einer Situation ist HSV ein Vorteil, weil man da die 
Gesamthelligkeit (also das, worauf das Auge so empfindlich reagiert) als 
separate Zahl mit höherer Genauigkeit übertragen kann als die 
Farbangaben.
Aber dann müssen die Pixel HSV-->RGB rechnen; und wenn sie das können, 
können sie genausogut je eine Gammakurve für R, G und B rechnen, und gut 
is. War bisher ja auch implizit so vorgesehen.
Wenn man extrapingelig ist, macht es natürlich einen Unterschied, ob man 
die Gammakurve für die Gesamthelligkeit rechnet oder für die Farben 
einzeln (was falsch wäre), aber das wird wohl in der Praxis kaum 
auffallen.

von Martin S. (led_martin)


Lesenswert?

Das mit dem HSV Farbraum habt ihr nicht ganz verstanden, 8 Bit PWM für 
RGB Anwendungen ist, im unteren Bereich, zu grob, da sollte man höher 
gehen, mindestens 10 Bit, eventuell durch zeitliches 'dithern' der 8 Bit 
Hardware-PWM (PWM-Wert 8 -> Ausgabe 2, 2, 2, 2 ; PWM-Wert 9 -> Ausgabe 
3, 2, 2, 2 ; PWM-Wert 10 -> Ausgabe 3, 2, 3, 2 ; ...). Wenn man nun mehr 
als 8 Bit PWM hat, muß man bei RGB auch mehr als 3 Byte (1 Byte pro 
Farbe) übertragen. Bei HSV braucht nur der Helligkeitswert die hohe 
Auflösung zu haben, und da kann man auch auf 8 Bit reduzieren, wenn man 
die Dimmkurve verwendet, man kann also mit 3 übertragenen Bytes den 
Effekt einer PWM mit 10 Bit oder mehr erreichen, die PWM-Ausgabe muß 
dann natürlich die höhere Bitbreite können. Wenn man sich auf 8 Bit 
PWM-Ausgabe beschränkt bringt das natürlich nichts.

Das mit den UART-Ringen ist wohl auch nicht richtig angekommen. Ich 
halte es für sinnvoller z.B. vom Master aus 2 UART-Ringe, die je 100 
Pixel versorgen zu verlegen, als die zwei UART-Ringe über alle 200 Pixel 
zu legen, wo sich dann jeder Pixel um 2x UART-Ring kümmern muss, der 
Gesamt-Datendurchsatz ist bei beiden Varianten der gleiche, die 
Rechenlast auf den Pixeln aber nicht.

Wenn die Leistung der IR-LED direkt an einem Portpin zu niedrig ist, 
könnte man, anstelle einer Verstärker-/Treiber- Schaltung, auch darüber 
nachdenken, mehrere IR-LEDs in Reihe zu schalten, deren Flußspannung 
liegt nur bei ca. 1,2V, da gehen, bei 5V Versorgung, 3 Stück in Reihe -> 
3x so viel IR. Die 1A, die bei IR-LEDs angegeben werden gelten aber nur 
für kurze Pulse, Tastgrad z.B 1:100, bei 50% An gehen so 30-35mA.

Mit freundlichen Grüßen - Martin

von Ast E. (vis)


Lesenswert?

aber wenn anschließend eh auf eine angenommene 8bit PWM umgerechnet 
werden muss, bringt das doch alles trotzdem nichts? Von daher würde ich 
eh eine 10bit PWM vorschlagen und gut :-) dort können wir auch gerne 
über den HSV Farbraum gehen

von M. G. (hummer87)


Lesenswert?

Hallo Tim,

vielen Dank für die Zusammenfassung,

Ja sehr viel Text, hatte ihn mir gestern durchgelesen, aber doch nicht 
alles hängengeblieben, war wahrscheinlich doch zu spät :-)

Ich freue mich schon über deine Zusammenfassung.

eine Frage habe ich noch, auch auf die Gefahr, dass diese schon erstellt 
und beantwortet wurde.
- Warum ist I2C ausgeschlossen? der Leitungsaufwand ist doch auch gering 
und die Übertragungsgeschwindigkeit doch recht passable, des weiteren 
muss ein Attiny die Informationen nicht erst weiterleiten. 
(Ausfallsicherheit)

Des weiteren, noch eine Anmerkung zur Verkabelung.
Warum muss den die Trennwand zwischen die einzelnen Platinen und kann 
nicht auf das gesamt Platinen-Netzwerk aufgesetzt werden.

So habe ich die Verkabelung gespart und auch die Kosten werden 
reduziert, denn die Steckverbinder kann ich auf die Unterseite der 
Platinen bringen und dann die Trennwende oberhalb aufsetzen

                        Trenn-
                        Wand
                        ----
LED            ^    ^    ||   ^    ^    LED
Platine 1    xxxxxxxxxxxx xxxxxxxxxxxx  Platine 2
Buchse               |||| ----|         Stiftleiste


Viele Grüße

von Nosnibor (Gast)


Lesenswert?

Tim R. schrieb:
> Karol Babioch schrieb:
>> "Halten" ist relativ. Bis zum Totalausfall sind es sicherlich etliche
>> Stunden, aber eine Alterung (LED wird bei gleich Strom schwächer) tritt
>> ggf. deutlich früher auf.
> ich finde den Ansatz trotzdem etwas quatsch. Was ist denn mit der
> Leuchtdiode die die Farbe hergibt? Die wäre mir viel wichtiger, weil
> dort das Auge drauf schaut. Wenn dann müssten schon beide im
> Altererungsprozess berücksichtigt werden.. und das ist einfach viel zu
> aufwändig bin ich der Meinung, um ein paar Stunden Leuchtkraft zu
> gewinnen. Notfalls kann man ja alle 5 Jahre oder neue LEDs einlöten,
> sollte ja auch nicht so das Problem sein oder ?! :-D

Für die sichtbaren LEDs ist das (theoretisch) einfach. Die werden mit 
hoher Auflösung PWM-gedimmt, und wenn da ein einzelnes Pixel aus der 
Reihe tanzt, dann kann man das kompensieren, indem entweder der Master 
entsprechend korrigierte RGB-Werte sendet oder die Pixel individuell 
angepasste Gammakurven (die nichtlineare Umrechnung 8bit --> 
PWM-Auflösung) konfiguriert bekommen. Das ist also ein Software-Problem 
und damit später per Update lösbar.

Die IR-LED kann aber nicht so einfach PWM-gedimmt werden. Wenn es je 
nötig sein sollte, die Helligkeit der IR-LED zu steuern, dann muß das 
jetzt schon in die Hardware eingebaut werden; bei Hardware heißt das 
Update "Nachrüsten" und macht richtig viel Arbeit.  ;)

von Ast E. (vis)


Lesenswert?

Martin Schlüter schrieb:
> Das mit den UART-Ringen ist wohl auch nicht richtig angekommen. Ich
> halte es für sinnvoller z.B. vom Master aus 2 UART-Ringe, die je 100
> Pixel versorgen zu verlegen, als die zwei UART-Ringe über alle 200 Pixel
> zu legen, wo sich dann jeder Pixel um 2x UART-Ring kümmern muss, der
> Gesamt-Datendurchsatz ist bei beiden Varianten der gleiche, die
> Rechenlast auf den Pixeln aber nicht.
Müsste dann der Master nicht entsprechend 2x 2xUART beherschen? Für 
jeden Ring 2xUART

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> eine Frage habe ich noch, auch auf die Gefahr, dass diese schon erstellt
> und beantwortet wurde.
> - Warum ist I2C ausgeschlossen? der Leitungsaufwand ist doch auch gering
> und die Übertragungsgeschwindigkeit doch recht passable, des weiteren
> muss ein Attiny die Informationen nicht erst weiterleiten.
> (Ausfallsicherheit)
wenn ich das richtig im Kopf behalten habe, ist das Problem, die Länge 
des Busses. Entweder an alle Pixel oder eben mehrere Reihen (mehrere 
I2Cs). Dort wird jeder einzeln nacheinander adressiert bzw. mit Daten 
versehen. Beim Chain wird der Strom rausgehauen und jeder nimmt sich 
einfach sein Paket (Ring). Der I2C ist auf dieser Länge denke ich 
einfach zu lahm und zu dem muss die lange Leitung an jeden Pixel geführt 
werden, was aufwändig klingt. Oder?! Könnte durch die Temperaturen grad 
den mega mist hier erzählen hehe..
>
>                         Trenn-
>                         Wand
>                         ----
> LED            ^    ^    ||   ^    ^    LED
> Platine 1    xxxxxxxxxxxx xxxxxxxxxxxx  Platine 2
> Buchse               |||| ----|         Stiftleiste
>
Interessant. Jedoch dürften die Trennwände dann NUR am Rand aufliegen 
oder? Das würde Stabilitätsprobleme mit sich bringen. Ein Gewicht in die 
Mitte und alles biegt sich denke ich

Nosnibor schrieb:
> Für die sichtbaren LEDs ist das (theoretisch) einfach. Die werden mit
> hoher Auflösung PWM-gedimmt, und wenn da ein einzelnes Pixel aus der
> Reihe tanzt, dann kann man das kompensieren, indem entweder der Master
> entsprechend korrigierte RGB-Werte sendet oder die Pixel individuell
> angepasste Gammakurven (die nichtlineare Umrechnung 8bit -->
> PWM-Auflösung) konfiguriert bekommen. Das ist also ein Software-Problem
> und damit später per Update lösbar.
wie willst du denn dann die Abschwächung der LED mitbekommen? Das muss 
ja dann schon irgendwie hardwaretechnisch festgestellt und dann über den 
Bus an den Master vermittelt werden. Das klingt für mich genau so unnütz 
und aufwändig, wie es bei der IR-LED der Fall ist. Aber wenn ihr 
einfache/schnelle Ansätze habt, ich lasse mich gerne überzeugen

von M. G. (hummer87)


Lesenswert?

Tim R. schrieb:
> M. G. schrieb:
>> eine Frage habe ich noch, auch auf die Gefahr, dass diese schon erstellt
>> und beantwortet wurde.
>> - Warum ist I2C ausgeschlossen? der Leitungsaufwand ist doch auch gering
>> und die Übertragungsgeschwindigkeit doch recht passable, des weiteren
>> muss ein Attiny die Informationen nicht erst weiterleiten.
>> (Ausfallsicherheit)
> wenn ich das richtig im Kopf behalten habe, ist das Problem, die Länge
> des Busses. Entweder an alle Pixel oder eben mehrere Reihen (mehrere
> I2Cs). Dort wird jeder einzeln nacheinander adressiert bzw. mit Daten
> versehen. Beim Chain wird der Strom rausgehauen und jeder nimmt sich
> einfach sein Paket (Ring). Der I2C ist auf dieser Länge denke ich
> einfach zu lahm und zu dem muss die lange Leitung an jeden Pixel geführt
> werden, was aufwändig klingt. Oder?! Könnte durch die Temperaturen grad
> den mega mist hier erzählen hehe..
>>
>>                         Trenn-
>>                         Wand
>>                         ----
>> LED            ^    ^    ||   ^    ^    LED
>> Platine 1    xxxxxxxxxxxx xxxxxxxxxxxx  Platine 2
>> Buchse               |||| ----|         Stiftleiste
>>
> Interessant. Jedoch dürften die Trennwände dann NUR am Rand aufliegen
> oder? Das würde Stabilitätsprobleme mit sich bringen. Ein Gewicht in die
> Mitte und alles biegt sich denke ich
>

Ich habe mit diesem Prinzip eine WordClock gebaut. Zwar war dies eine 
durchgehende Platine, aber das Holzraster lag ober einfach drauf, ohne 
jegliche Befestigung. die Glasplatte war mit dem 4 schrauben befestigt, 
keine Probleme bisher.
Mann sollte dies vielleicht nicht ganz aus den Augen lassen, denn ich 
finde Kabel ehrlich gesagt nicht schön und unpraktisch, Hängen nur 
runter,usw

Durchbiegen könnte man mit einem geeigneten Untergestell realisieren. 
Dieses Untergestell ist ja auch notwendig, wenn man einzelne Platinen 
hat, welche mit einzeladern verbunden sind.

Noch eine Anmerkung zum I2C, Die Länge dürfte kein Problem sein, denn es 
gab schon Projekte in der ein ganzer Hausbus mit I2C realisiert wurde.

Was passiert denn, wenn wir den UART benutzen und ein Teilnehmer 
ausfällt?
Ein Austausch ist ja nicht innerhalb von 2 Minuten gemacht, (fehlende 
Bauteile usw.)
Jedoch ist der Fehler für alle nachfolgenden Teilnehmer sichtbar, da 
diese keine Signale mehr bekommen,
Dies macht dann den ganzen Tisch unbrauchbar, wenn die ienzelnen Module 
sich nicht im Standalone Betrieb befinden. Animationen gehen dann nicht 
mehr

von M. G. (hummer87)


Lesenswert?

Tim R. schrieb:
> Martin Schlüter schrieb:
>> Das mit den UART-Ringen ist wohl auch nicht richtig angekommen. Ich
>> halte es für sinnvoller z.B. vom Master aus 2 UART-Ringe, die je 100
>> Pixel versorgen zu verlegen, als die zwei UART-Ringe über alle 200 Pixel
>> zu legen, wo sich dann jeder Pixel um 2x UART-Ring kümmern muss, der
>> Gesamt-Datendurchsatz ist bei beiden Varianten der gleiche, die
>> Rechenlast auf den Pixeln aber nicht.
> Müsste dann der Master nicht entsprechend 2x 2xUART beherschen? Für
> jeden Ring 2xUART


Wenn dies der fall wäre, dürfte dies auch gehen.
es gibt µC welche 4 UARTs haben.
z.B. ATMega 2560

von Martin S. (led_martin)


Lesenswert?

Das mit den UART-Ringen wurde immer noch nicht verstanden, aber Nosnibor 
hat das gleiche geschrieben, es gibt mehrere UART-Ringe, so viele, wie 
der Master UARTs hat, aber die Pixelplatinen sind immer nur Teilnehmer 
an einem UART-Ring, so multipliziert sich der Gesamt-Datendursatz mit 
der Zahl der UART-Ringe, aber jede einzelne Pixelplatine muß nur einen 
UART-Ring verarbeiten/verwalten.

Noch eine Anmerkung, habe es schon mal geschrieben: Für UART ist ein 
Quarz/Keramikresonator zwingend erforderlich, der interne RC-Oszillator 
ist zu ungenau, UART hat da, da nur 1x Pro Byte synchronisiert wird, zu 
wenig Spielraum. Man könnte naturlich auch SPI-Schnittstellen zu einem 
Ring verknüpfen, braucht dann aber zwei SPI pro Pixel (Ich habe jetzt 
nicht nachgeschaut, ob das mit den Tinys geht, bei den ATmegas können 
die UARTs auch SPI-Master). Da wird der Takt ja mitübertragen, und wenn 
der nicht höher ist, als 1/4 Taktfrequenz des Empfängers geht das auch 
wenn der Takt des Empängers stark abweicht. Also stellt man beim Master 
nicht schneller als 1/8 Clk ein.

Elektrisch spricht übrigens einiges für den Ring, gegenuber einem Bus: 
Die Leitungen bleiben kurz, und der Potentialunterschied muß nur 
zwischen den Nachbarn gering genug sein, und nicht über den ganzen 
Aufbau. Nicht umsonst verwendet man bei Bussen oft differenzielle 
Treiber und Empfänger, die mit Potentialunterschieden von mehreren Volt 
umgehen können.

Mit freundlichen Grüßen - Martin

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> Ich habe mit diesem Prinzip eine WordClock gebaut. Zwar war dies eine
> durchgehende Platine, aber das Holzraster lag ober einfach drauf, ohne
> jegliche Befestigung. die Glasplatte war mit dem 4 schrauben befestigt,
> keine Probleme bisher.
> Mann sollte dies vielleicht nicht ganz aus den Augen lassen, denn ich
> finde Kabel ehrlich gesagt nicht schön und unpraktisch, Hängen nur
> runter,usw
das projekt sagt mir nun leider nichts, aber hast du denn auch gewichte 
bei der platte? rein als deko geht das, sobald dort aber was aufliegen 
soll etc wird es kritisch denke ich...
>
> Durchbiegen könnte man mit einem geeigneten Untergestell realisieren.
> Dieses Untergestell ist ja auch notwendig, wenn man einzelne Platinen
> hat, welche mit einzeladern verbunden sind.
ja gut dann hast du wieder einen sonderbau... deswegen war angedacht 
einfach alle pixel gleich und einfach zu halten
>
> Noch eine Anmerkung zum I2C, Die Länge dürfte kein Problem sein, denn es
> gab schon Projekte in der ein ganzer Hausbus mit I2C realisiert wurde.
dort hast du dann dementsprechend auch kleine Übertragungsraten ;)
>
> Was passiert denn, wenn wir den UART benutzen und ein Teilnehmer
> ausfällt?
> Ein Austausch ist ja nicht innerhalb von 2 Minuten gemacht, (fehlende
> Bauteile usw.)
Ja gut, aber wann sollte einer ausfallen? Und wenn einer ausfällt muss 
eh alles raus. Da nimmt man sich dann ein paar Minuten Zeit.
> Jedoch ist der Fehler für alle nachfolgenden Teilnehmer sichtbar, da
> diese keine Signale mehr bekommen,
> Dies macht dann den ganzen Tisch unbrauchbar, wenn die ienzelnen Module
> sich nicht im Standalone Betrieb befinden. Animationen gehen dann nicht
> mehr
Wenn ein Pixel nicht geht, will ich zumindest meinen Tisch eh nicht 
betreiben, du etwa?!
Ist ja wie ein Fernseher mit Toten Pixel. Krieg ich einen Würgreiz :-D

von Ast E. (vis)


Lesenswert?

Das mehrere RInge verwendet werden können, wurde auch noch gar nicht 
ausgeschlossen. Ich würde es wahrscheinlich sogar bevorzugen. Einfach 
den Tisch in vier gleich große Teile zu je 1x UART teilen und man hat 
die vierfache Rate

Das dann ein Quartz benutzt werden musst ist klar denke ich, aber sollte 
doch kein Problem darstellen?

Vergesst bitte nicht die Pixelplatine ist klein, sprich ein 20er Piner 
wird es maximal wenn es gerade noch richtig im Kopf habe... da sind die 
Attinys optimal!

von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Konrad S. schrieb:
>> Die Auswertung sollte im 2x2- oder 3x3-Raster erfolgen, damit die
>> benachbarten Zellen nicht stören.
>
> Was meinst du damit bzw. wie willst du die nötige Synchronisation
> erreichen?

Nosnibor hat es im Wesentlichen schon gesagt. Das 3x3-Raster hatte ich 
hier Beitrag "Re: LED Tisch mit Berührungs-/Gegenstandserkennung" kurz 
beschrieben. Zum Thema Synchronisation: Ich bin UART-Bus-Fan, da gibt es 
die Synchronisation gratis.

Tim R. schrieb:
> Theoretisch wären 1Mbaud bei 16MHz möglich

Woher sollen die 16MHz kommen?
Quarz? -> Teuer!
Externer Takt? -> Bei den Leitungslängen wird das nix!
Temperaturkompensierter interner 8MHz-RC-Oszillator sollte ausreichend 
genau sein, das Datenblatt sagt ±1% ist machbar.

Martin Schlüter schrieb:
> Das mit dem HSV Farbraum

Zur Einstellung einer RGB-LED sind 3 Bytes locker ausreichend. Das 
bedeutet aber nicht, dass mit einer 8-Bit-PWM gearbeitet werden muss. 
Der Weg führt über eine Lookup-Tabelle mit 256 16-Bit-Einträgen. Damit 
lassen sich sehr sanfte Übergänge realisieren. An dieser Stelle wieder 
mal die Lese-Empfehlung für 
http://www.zabex.de/frames/sofabeleuchtung.html

Martin Schlüter schrieb:
> Für UART ist ein
> Quarz/Keramikresonator zwingend erforderlich, der interne RC-Oszillator
> ist zu ungenau

Nein. Man muss ja bei 8MHz Takt nicht unbedingt 123456 Baud fahren 
wollen, 125000 Baud tun's auch.

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
> Nosnibor hat es im Wesentlichen schon gesagt. Das 3x3-Raster hatte ich
> hier Beitrag "Re: LED Tisch mit Berührungs-/Gegenstandserkennung" kurz
> beschrieben. Zum Thema Synchronisation: Ich bin UART-Bus-Fan, da gibt es
> die Synchronisation gratis.
Aber wozu das ganze? Ich versteh ehrlich gesagt den Sinn nicht ganz, mal 
davon abgesehen das das ganze eine feste Größe voraussetzt wenn ihr z.B. 
3x3 wählt. Wo ist das Problem am einzelnen Pixel?
>
> Tim R. schrieb:
>> Theoretisch wären 1Mbaud bei 16MHz möglich
>
> Woher sollen die 16MHz kommen?
> Quarz? -> Teuer!
Die gibt es doch schon einzeln für 20cent oder bin ich gerade falsch?! 
In Masse dann natürlich günstiger
> Externer Takt? -> Bei den Leitungslängen wird das nix!
Will glaube ich auch keiner
> Zur Einstellung einer RGB-LED sind 3 Bytes locker ausreichend. Das
> bedeutet aber nicht, dass mit einer 8-Bit-PWM gearbeitet werden muss.
> Der Weg führt über eine Lookup-Tabelle mit 256 16-Bit-Einträgen. Damit
> lassen sich sehr sanfte Übergänge realisieren. An dieser Stelle wieder
> mal die Lese-Empfehlung für
> http://www.zabex.de/frames/sofabeleuchtung.html
Daran hatte ich auch schon gedacht, aber auch wenn es 16Bit PWM ist, es 
sind immernoch 255er Auflösungen oder nicht? Ob nun 16bit auflösung oder 
8 macht dann auch keinen Unterschied da die ganzen Zwischenstufen nicht 
angesteuert werden, weil (wie du selbst schreibst) 256 Einträge

: Bearbeitet durch User
von Martin S. (led_martin)


Lesenswert?

Bei dem Quarz geht es nicht darum, eine spezielle 'krumme' Baudrate zu 
treffen, das ist für den Ring völlig unwichtig, die Baudraten müssen nur 
gleich sein, sondern es geht um die Ungenaugkeit des RC-Oszillators, da 
fehlt in dem letzten Post eine 0, im Datenblatt sehe ich da +- 10%, und 
das noch bei fester Spannung und fester Temperatur, wariieren diese 
Größen ist man da schnell bei +- 20%. Für UART sind so ca. +- 3% 
erträglich, sonst kann man sich auf der Empfangsseite über viel 
Datenmüll freuen. Eine Möglichkeit wäre natürlich, auf einer gesonderten 
Leitung einen niedrigen Referenztakt, z.B. 100 Hz zu übertragen, und 
damit den internen Oszillator laufend nachzukalibrieren. Dann ist der 
Quarz entbehrlich. Dieser Takt könnte auch zur Synchronisation der Pixel 
verwendet werden.

Mit freundlichen Grüßen - Martin

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> Daran hatte ich auch schon gedacht, aber auch wenn es 16Bit PWM ist, es
> sind immernoch 255er Auflösungen oder nicht? Ob nun 16bit auflösung oder
> 8 macht dann auch keinen Unterschied da die ganzen Zwischenstufen nicht
> angesteuert werden, weil (wie du selbst schreibst) 256 Einträge

Das hast du, glaube ich, noch nicht ganz verinnerlicht. Die 256 Einträge 
sind die nötigen 16-Bit-PWM-Werte in gleichmäßig verteilten - also 
linearen - Helligkeitsabstufungen unter Berücksichtigung des 
Gammawertes. Die Helligkeitsstufen sind linear, nicht die PWM-Werte.

von Karol B. (johnpatcher)


Lesenswert?

Tim R. schrieb:
> ich finde den Ansatz trotzdem etwas quatsch. Was ist denn mit der
> Leuchtdiode die die Farbe hergibt?

Ich halte das nach wie vor für (zwingend) notwendig bzw. sinnvoll, weil 
man flexibler in Bezug auf verschiedene Glasarten (Dicke und Glas vs. 
Plexi). Die Kompensation des Alters bekommt man dadurch auch 
"geschenkt". Die RGB LEDs hingegen werden ja per PWM angesteuert, 
insofern wäre (theoretisch) eine Kalibrierung denkbar. In der Praxis 
spielt das aber eine untergeordnete Rolle.

Tim R. schrieb:
> Notfalls kann man ja alle 5 Jahre oder neue LEDs einlöten,
> sollte ja auch nicht so das Problem sein oder ?! :-D

Viel Spaß bei 100/200 Pixeln. Einlöten ist eine Sache, aber davor müsste 
man die alten LEDs ja erst auslöten.

Tim R. schrieb:
> Wir sind eher an die 8bit PWM
> Hardwaretechnisch gebunden.

Nein. Der ATtiny841 hat zwei 16 Bit Counter mit dazugehörigen PWM 
Kanälen!

Nosnibor schrieb:
> Damit kann man
> dann auch die IR-Messung synchronisieren. Die Pixel werden in mehrere
> Gruppen eingeteilt, z.B. schachbrettartig,

Halte ich für unnötig kompliziert, weil die Praxis bei meinem 
Versuchsaufbau gezeigt hat, dass es auch ohne gut funktioniert.

Nosnibor schrieb:
> und wenn sie das können,
> können sie genausogut je eine Gammakurve für R, G und B rechnen, und gut
> is. War bisher ja auch implizit so vorgesehen.

Eben, das war auch mein Argument ;).

Martin Schlüter schrieb:
> Wenn man sich auf 8 Bit
> PWM-Ausgabe beschränkt bringt das natürlich nichts.

Geht mal von einer (bis zu) 16 Bit PWM aus ;). Damit ersparen wir uns 
nämlich eine Menge Probleme.

Martin Schlüter schrieb:
> Das mit den UART-Ringen ist wohl auch nicht richtig angekommen. Ich
> halte es für sinnvoller z.B. vom Master aus 2 UART-Ringe, die je 100
> Pixel versorgen zu verlegen, als die zwei UART-Ringe über alle 200 Pixel
> zu legen,

Ja, die genaue Topologie kann man sicherlich optimieren. Hier kommt es 
aber auf die konkret verwendete Anzahl an Pixeln an. Es wäre wichtig, 
dass unsere Steckverbinderlösung flexibel genug ist, sodass man die 
Pixel "beliebig" zusammen stöpseln kann.

Martin Schlüter schrieb:
> Wenn die Leistung der IR-LED direkt an einem Portpin zu niedrig ist,
> könnte man, anstelle einer Verstärker-/Treiber- Schaltung, auch darüber
> nachdenken, mehrere IR-LEDs in Reihe zu schalten,

Bringst nur nix, weil die Pixel ja unabhängig voneinander funktionieren 
sollen und nur eine IR LED pro Pixel vorgesehen sit.

M. G. schrieb:
> - Warum ist I2C ausgeschlossen?

Ausgeschlossen ist noch gar nichts. Halte I2C aber für unbrauchbar, weil 
wir ggf. zuviele Teilnehmer für die typische 7 Bit Adressierung hätten, 
weil die gesamte Leitungskapazität ggf. zu hoch (für brauchbare 
Taktraten) ist, und weil die ATtiny's AFAIK nur für den Fast Mode (400 
kHz) spezifiziert sind. Alles was darüber hinaus geht ist "mutig".

M. G. schrieb:
> Was passiert denn, wenn wir den UART benutzen und ein Teilnehmer
> ausfällt?
> Ein Austausch ist ja nicht innerhalb von 2 Minuten gemacht, (fehlende
> Bauteile usw.)
> Jedoch ist der Fehler für alle nachfolgenden Teilnehmer sichtbar, da
> diese keine Signale mehr bekommen,

Ich weiß nicht, ob wir das auch noch beachten sollen, weil das Ziel hier 
robuster zu sein sicherlich mit Kosten einhergehen wird. Ich persönlich 
könnte dann für ein paar Tage auch mit einem "kaputten" Tisch leben. 
Außerdem macht es ja durchaus Sinn ein paar Pixel mehr zu bestellen, um 
entsprechenden Ersatz zu haben.

Martin Schlüter schrieb:
> Noch eine Anmerkung, habe es schon mal geschrieben: Für UART ist ein
> Quarz/Keramikresonator zwingend erforderlich, der interne RC-Oszillator
> ist zu ungenau,

Ich denke auch, dass einen Quarz einsetzen sollten. Der kostet zwar ein 
paar Cent, aber ohne macht UART keinen Spaß.

Konrad S. schrieb:
> Temperaturkompensierter interner 8MHz-RC-Oszillator sollte ausreichend
> genau sein, das Datenblatt sagt ±1% ist machbar.

Meiner Erfahrung nach ist das aber nicht so einfach und erfordert eine 
Kalibrierung wie AVR053 beschrieben. Macht bei den vielen Pixeln 
sicherlich auch nur bedingt Spaß.

Tim R. schrieb:
> Die gibt es doch schon einzeln für 20cent oder bin ich gerade falsch?!

Ja, wobei 20 Cent sich beim aktuellen Design schon bemerkbar machen. 
Würde trotzdem ganz stark dafür plädieren. Beim Wordclock Projekt 
scheitert die Umsetzung einer Erweiterung nämlich gerade daran. Pins 
haben wir beim ATtiny841 ja genug ;).

Martin Schlüter schrieb:
> Eine Möglichkeit wäre natürlich, auf einer gesonderten
> Leitung einen niedrigen Referenztakt, z.B. 100 Hz zu übertragen, und
> damit den internen Oszillator laufend nachzukalibrieren.

Erscheint mir unnötig kompliziert (Software- und Verkabelungstechnisch). 
Dann, wie oben schon vorgeschlagen, jedem Modul einen Quarz spendieren.

Konrad S. schrieb:
> Die 256 Einträge
> sind die nötigen 16-Bit-PWM-Werte in gleichmäßig verteilten - also
> linearen - Helligkeitsabstufungen unter Berücksichtigung des
> Gammawertes.

Ja, bei einer 16 Bit (Hardware) PWM sehe ich da absolut kein Problem. 
Damit würden wir uns im Prinzip auch die ganze Farbraum-Rechnerei 
ersparen. Insofern +1 von mir ;).

Mit freundlichen Grüßen,
Karol Babioch

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Martin Schlüter schrieb:
> fehlt in dem letzten Post eine 0, im Datenblatt sehe ich da +- 10%,

???
Wir sprechen schon noch vom ATtiny841, hoffe ich?
Kapitel "25.1.4.1 Accuracy of Calibrated Internal Oscillator" sagt
 Factory Calibration   ±2%
 User Calibration      ±1%

Martin Schlüter schrieb:
> bei fester Spannung und fester Temperatur

Die Spannung sollte konstant sein. Die Temperatur ist bekannt, da der 
ATTiny841 einen Temperatursensor hat und somit der Oszillator 
nachgeführt werden kann.

von Karol B. (johnpatcher)


Lesenswert?

Konrad S. schrieb:
> Die Temperatur ist bekannt, da der
> ATTiny841 einen Temperatursensor hat und somit der Oszillator
> nachgeführt werden kann.

Wobei die Genauigkeit des Sensors auch nicht besonders berauschend ist 
und man dann noch wissen muss wie aktuelle Temperatur (bzw. eine 
Änderung) den Takt beeinflusst. Das lässt sich vermutlich alles aus den 
Diagrammen im Datenblatt extrahieren, macht das ganze Vorhaben aber nur 
unnötig kompliziert. Quarz und all das ist unnötig ;).

Mit freundlichen Grüßen,
Karol Babioch

von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
>> Temperaturkompensierter interner 8MHz-RC-Oszillator sollte ausreichend
>> genau sein, das Datenblatt sagt ±1% ist machbar.
>
> Meiner Erfahrung nach ist das aber nicht so einfach und erfordert eine
> Kalibrierung wie AVR053 beschrieben. Macht bei den vielen Pixeln
> sicherlich auch nur bedingt Spaß.

Der UART-Bus liefert nebenbei ein "Zeitnormal". Es spielt keine Rolle, 
ob ein oder einhundert Pixel. Jeder Pixel-µC synchronisiert seinen 
Oszillator, dann langweilt er sich eben ein ganz kleines bisschen 
weniger.

von Konrad S. (maybee)


Lesenswert?

Karol Babioch schrieb:
> Wobei die Genauigkeit des Sensors auch nicht besonders berauschend ist

Die Genauigkeit spielt dabei keine Rolle, nur die Reproduzierbarkeit.

von backEMF (Gast)


Lesenswert?

Die Frage ob wir einen Quarz brauchen oder nicht sollte vielleicht auch 
einen Einfluss auf die Wahl des µC haben. Es gibt µC die auch ohne 
Softwarekalibrierung ausreichend genaue RC Oscillatoren für UART haben.

Ich hab auf die schnelle z.B. diesen hier gefunden:
LPC1111FDH20/002,5 zu 0.42$ @ 2000Stück

und der hat "12 MHz 1 % accuracy is guaranteed for 2.7 V to 3.6 V and 
Tamb=40°C to +85°C"

Der Controller wäre preislich jedenfalls attraktiv. Wenn beim Tiny noch 
Quarz dazu käme würde ich auf jeden Fall den LPC bevorzugen.

von Ast E. (vis)


Lesenswert?

Karol Babioch schrieb:
> Tim R. schrieb:
>> ich finde den Ansatz trotzdem etwas quatsch. Was ist denn mit der
>> Leuchtdiode die die Farbe hergibt?
>
> Ich halte das nach wie vor für (zwingend) notwendig bzw. sinnvoll, weil
> man flexibler in Bezug auf verschiedene Glasarten (Dicke und Glas vs.
> Plexi). Die Kompensation des Alters bekommt man dadurch auch
> "geschenkt". Die RGB LEDs hingegen werden ja per PWM angesteuert,
> insofern wäre (theoretisch) eine Kalibrierung denkbar. In der Praxis
> spielt das aber eine untergeordnete Rolle.
Dann lieferten einen brauchbaren Ansatz. Bisher war da nur mit einer 
Menge extra Komponenten etwas machbar :-)

von Nosnibor (Gast)


Lesenswert?

Wegen der Helligkeitssteuerung der IR LED sollten wir vielleicht nochmal 
ganz grundsätzlich überlegen, ob das überhaupt nötig ist. Was kann denn 
schlimmstenfalls passieren, wenn die Helligkeit falsch ist? Da gibt es 
ja zwei Möglichkeiten für eine falsche Helligkeit: zu hell oder zu 
dunkel.

 - zu dunkel: das gibt dann zu wenig Kontrast im empfangenen Signal bei 
eingeschalteter LED. Das empfangene Licht setzt sich zusammen aus
   1. Umgebungshelligkeit (ggf. etwas verringert durch Gegenstand/Hand 
auf dem Pixel)
   2. reflektiertem Licht der LED (falls eingeschaltet)
   3. noch mehr reflektiertem Licht der LED, falls eingeschaltet und 
Hand/Gegenstand vor dem Pixel
   4. Rauschen

Nr. 3 ist das Nutzsignal.
Nr. 1 rechnen wir durch eine Vergleichsmessung bei ausgeschalteter LED 
raus (in jedem Meßzyklus einmal)
Nr. 2 rechnen wir durch eine Vergleichsmessung bei leerem Tisch raus 
(einmal beim Einschalten oder noch seltener)
Nr. 4 können wir nicht so einfach rausrechnen; das Nutzsignal muß also 
größer als das Rauschen sein.

Wenn die LED zu dunkel ist, wird das Nutzsignal zu schwach, d.h. 
Berührung wird nicht mehr erkannt, oder eben nicht mehr bei so viel 
Abstand wie geplant, oder nur noch bei besonders hellem Material. 
Außerdem wird Komponente 2 beeinflußt; wenn die LED ihre Helligkeit 
ändert, muß man den Tisch abräumen und neu eichen.
Zu dunkel darf also nicht passieren.

 - zu hell: prima, das Signal/Rauschverhältnis wird besser. Wenn einen 
die hohe Reichweite stört, kann man das Signal ja immernoch 
kleinrechnen. Das einzige Problem, das ich sehe, wäre 
Überlauf/Übersteuerung des ADC.

Fazit: wenn wir die IR-LED so auslegen, daß bei maximalem Signal (helle 
Umgebung, weißes Papier liegt auf dem Tisch, stark reflektierendes Glas) 
der ADC seinen Maximalwert liefert, haben wir hoffentlich eine Weile 
Ruhe. Die LED wird im Laufe der Zeit schwächer werden. Die Frage ist, 
wieviel schwächer darf sie werden, ohne die Erkennung (bei 
gelegentlichem nach-Eichen) lahmzulegen?
Wird diese Verschlechterung innerhalb der vorgesehenen Lebensdauer des 
Gesamtsystems eintreten?

Wenn wir für die letzte Frage auf "Nein" kommen, könne wir uns das 
LED-Stromverstellen sparen. Dann reicht ein Transistor + Vorwiderstand.

Naja, über Temperaturkompensation könnte man mal nachdenken.
Und gegen Exemplarstreuungen hilft vielleicht ein stromstabilisierender 
Emitterwiderstand.
Und vielleicht (wie von Martin Schlüter schon vorgeschlagen) zwei LEDs 
in Reihe; die geben das gleiche Licht bei halbem Strom, nutzen sich dann 
aber nicht so schnell ab.
Unsoweiterundsofort, einfach nur 'ne LED leuchten zu lassen ist 
kompliziert genug, wenn man's genau nimmt.

Die Sache mit den unterschiedlichen Glassorten gibt mir schon zu denken; 
möglicherweise ist da wirklich ein angepaßte IR-LED-Stärke nötig, weil 
die Dynamik des Analogeingangs nicht reicht. Das wäre etwas, was man 
spätestens in der Phase mit den zehn Probepixeln testen muß. Wenn es 
sich als nötig erweist und niemand Lust auf analoges Schaltungsdesign 
hat, kann man immernoch mehrere LEDs einsetzen, jede davon so primitiv 
wie möglich angesteuert an einem eigenen Portpin, aber mit 
unterschiedlicher Leuchtkraft. Die Software entscheidet dann, wieviele 
und welche sie einschaltet.

Die Diskussion zum Protokoll sollten wir vielleicht in den anderen 
Thread (Beitrag "schwierigkeiten passenden Bus zu finden") verlagern. UART 
ohne Quarz ist eine interessante Herausforderung, sollte aber zu 
schaffen sein (notfalls hat man eben weniger nutzbare Bits pro Byte).

von Anfänger (Gast)


Lesenswert?

beaglebone black rev. C verfügbar, für alle die evtl. zuschlagen wollen 
:-)

http://www.exp-tech.de/Mainboards/BeagleBone-Black.html

von M. G. (hummer87)


Lesenswert?

Hallo,

nachdem ich hier das Thema verfolge, ist mir noch nicht ganz klar, auf 
was in der Planungsphase Wert gelegt wird.

zum einen wird über den Bus ausführlich diskutiert, dann wieder über die 
IR Ansteuerung, dann RGB oder RGBW, und dann wieder ein anderes Thema.

Kreuz und quer !

Ich denke es soll erst einmal ein Anforderungsprofil angelegt werden.

Zum einen steht da die Hardware:
- LED: RGB oder RGBW
- µC: Anzahl PWM-Ausgänge (8bit, 16bit, 32bit)?
- µC: Kommunikationsarten? Anzahl der Ports für Kommunikation
- µC: Art der Programmierung (SPI, JTAG,...)
- µC: Anzahl weitere benötigter Pins inkl. Funktionen
- IR: IR Sender + Empfänger (Art, Ansteuerung, Typ)
- weitere Eigenschaften der Platinen und weitere Funktionen (z.B. Taster 
für manuelles Testprogramm der einzelnen Farben usw.

Dann steht die Software:
die Umsetzung kann nur auf der verwendeten Hardware basieren.
Hat die Hardware nur z.B. nur
- 8bit Timer, brauche ich mir über eine höhere PWM keine Gedanken 
machen,
- oder hat die Hardware kein ADC, kann ich keine analogen Messwerte 
einlesen, (=> nur als Beispiel gedacht)

Vielleicht sollte man diese Anforderungen klarer definieren und irgendwo 
niederschreiben, damit man sich an diesen Orientieren kann.


Kategorien sind IR, LED und µC

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> Zum einen steht da die Hardware:
> - LED: RGB oder RGBW
> - µC: Anzahl PWM-Ausgänge (8bit, 16bit, 32bit)?
3x PWM RGB (evtl. HSV Farbmodell), 1x PWM IR-LEG (wenn nicht anders 
angesteuert wird)
> - µC: Kommunikationsarten? Anzahl der Ports für Kommunikation
bei 2xUART 4 Pins, für Erweiterung evtl. 2 Pins für CLK?
> - µC: Art der Programmierung (SPI, JTAG,...)
ISP
> - µC: Anzahl weitere benötigter Pins inkl. Funktionen
> - IR: IR Sender + Empfänger (Art, Ansteuerung, Typ)
steht oben
> - weitere Eigenschaften der Platinen und weitere Funktionen (z.B. Taster
> für manuelles Testprogramm der einzelnen Farben usw.
wenn überhaupt, dann sollten eigtl nur bei den Prototypen welche 
vorhanden sein
>
> Dann steht die Software:
> die Umsetzung kann nur auf der verwendeten Hardware basieren.
> Hat die Hardware nur z.B. nur
> - 8bit Timer, brauche ich mir über eine höhere PWM keine Gedanken
> machen,
Attiny841 -> 16bit Timer
> - oder hat die Hardware kein ADC, kann ich keine analogen Messwerte
> einlesen, (=> nur als Beispiel gedacht)
bis zu 8 ADC Kanäle hat der Controller wenn ich mich nicht irre

aber ich gebe dir Recht, das hatte ich auch schon mal angesprochen, 
leider fehlt mir etwas die Zeit momentan

: Bearbeitet durch User
von M. G. (hummer87)


Angehängte Dateien:

Lesenswert?

Hallo

auch auf die Gefahr hin, jetzt etwas falsch zu machen, habe ich mal 
unserem Projekt ein erstes Gesicht gegeben.

dies ist nur ein Prototyp ohne jegliche Funktion, Layout oder sonstiges.
ganzes Hühnerfutter fehlt natürlich auch noch.

Nur damit man ein Bild vor Augen hat, was wir hier machen wollen

Die Platine hat die Abmaße 50x50mm,
Auch wenn noch spezifiziert, habe ich Steckkontakte zur Verbindung der 
einzelnen Platinen eingefügt (Anzahl beliebig gewählt)

Aus meiner Sicht kann dies auch etwas kleiner gestaltet werden.
Vielleicht 40x40mm. Platz ist auf der Platine genug.

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> Hallo
>
> auch auf die Gefahr hin, jetzt etwas falsch zu machen, habe ich mal
> unserem Projekt ein erstes Gesicht gegeben.
>
> dies ist nur ein Prototyp ohne jegliche Funktion, Layout oder sonstiges.
> ganzes Hühnerfutter fehlt natürlich auch noch.
>
> Nur damit man ein Bild vor Augen hat, was wir hier machen wollen
>
> Die Platine hat die Abmaße 50x50mm,
> Auch wenn noch spezifiziert, habe ich Steckkontakte zur Verbindung der
> einzelnen Platinen eingefügt (Anzahl beliebig gewählt)
>
> Aus meiner Sicht kann dies auch etwas kleiner gestaltet werden.
> Vielleicht 40x40mm. Platz ist auf der Platine genug.

Schöner Ansatz!
wir hatten uns schon auf Maße von 45x45 bis glaube 48x48 geeinigt. Denn 
Platz für die Trennwände sollte auch etwas bleiben und rein für Notfälle 
bleibt auch etwas Spielraum ;-)
Die LEDs und Sensoren würde ich versuchen mittig anzuordnen. Rein aus 
der Optik und der Funktionalität des Infrarot.
Den Attiny dann eben auf irgendeine Seite packen, das sollte eigtl egal 
sein
Wenn Stiftleisten, dann würde ich diese oben/unten oder rechts/links 
insgesamt zwei Stück anbringen damit die Pixel zu Reihen verbunden 
werden können. Aber da einige gruppieren wollten, besteht hier scheinbar 
auch noch Klärungsbedarf :-)

von M. G. (hummer87)


Lesenswert?

Tim R. schrieb:
> Schöner Ansatz!
> wir hatten uns schon auf Maße von 45x45 bis glaube 48x48 geeinigt. Denn
> Platz für die Trennwände sollte auch etwas bleiben und rein für Notfälle
> bleibt auch etwas Spielraum ;-)

Dies habe ich dann wohl wieder überlesen
mit den Trennwänden zwischen die einzelnen Platinen, kann ich mich nicht 
anfreunden.
Die Platinen liegen dann zwischen den Raster, wackeln rum, werden ggf. 
durch die Anbindung von Leitungen nach oben gedrückt.
Daher würde ich diese Platinen /Pixel eher "zusammenstecken".
Egal wo ich den nächsten Pixel anstecke, rechts,links,oben oder unten, 
jede Kombination hat die Möglichkeit den Bus weiterzuleiten (ggf. über 
Löt-Jumper) und die Spannungsversorgung sicherzustellen

> Die LEDs und Sensoren würde ich versuchen mittig anzuordnen. Rein aus
> der Optik und der Funktionalität des Infrarot.
> Den Attiny dann eben auf irgendeine Seite packen, das sollte eigtl egal
> sein

Ja ist eine gute Idee, ist notiert :-)

> Wenn Stiftleisten, dann würde ich diese oben/unten oder rechts/links
> insgesamt zwei Stück anbringen damit die Pixel zu Reihen verbunden
> werden können. Aber da einige gruppieren wollten, besteht hier scheinbar
> auch noch Klärungsbedarf :-)

Die Stiftleisten habe ich unten angesiedelt, da ich das Raster oben 
einfach aufsetzen kann.
Es gibt natürlich auch andere Verbindungsmöglichkeiten, nur ein erster 
Vorschlag. Stiftleisten sind halt schön flach.


Da wären wir auch schon beim nächsten Thema.

Ich würde alles gern in SMD halten, Abstand zum von Platine zum Glas 
wäre dann sehr gering (Öffnungswinkel LED abhängig)
Gibt es auch ein IR Sender und Empfänger in gut lötbaren Format (für 
alle Menschen machbar)

von Ast E. (vis)


Lesenswert?

naja die Platinen werden geschraubt, darauf wurde sich fast festgelegt. 
Somit sind sie fest. Und zudem kann die Spannungsversorgung über die 
Schrauben laufen mit Hilfe von Metallstreifen oder Ähnliches auf dem 
Boden des Tisches. Das denke ich war schon ein sehr guter Ansatz.

Rein aus Platzgründen werden wir auch wohl auch keinen DIP oder was auch 
immer verwenden, 45x45mm ist auch nicht gerade viel

von Maik P. (seanten)


Lesenswert?

Hallo

Wenn du mir Deine Platine als 3D Datei schicken könntest, kann ich am 
Wochenende mal rumprobieren wie sich die Platinen am besten und 
einfachsten zwischen dem Raster verschrauben lassen.

Ich bin auch der Meinung, dass wir die Platinen auf das Raster 
legen/schrauben sollten. Wenn jemand nicht aufpasst und die Platten für 
das Raster dicker macht, passen die Platinen möglicherweise nicht mehr 
in die Pixel Kästen. Aber immer noch oben drauf.

von Peter (Gast)


Lesenswert?

Und (SMD) Bauteile nach Möglichkeit nur auf eine Seite.
Falls die Platine zum Bestücker gehen soll. Sonst wird es teurer...

von M. G. (hummer87)


Lesenswert?

Hallo,

ich bin immernoch etwas skeptisch in Bezug auf das Anschrauben der 
Platinen auf ein Metallraster. Und das dazwischensetzen der einzelen 
Platinen.

Wie oben schon richitg festgestellt, bekommt man die Platinen nicht mehr 
in das Pixelraster, wenn man die Holz/Plastik/.. stärke falsch/anderst 
gewählt hat.
Und obendrauflegen kann man diese auch nicht, da ja auf das Raster die 
GlasPlatte kommt, des weiteren stimmen dann nicht mehr die Abstände und 
Abstrahlungswinkel.

Das Bauen macht dann kein Spaß.

Dies würde mit einem Steckbaren System, wie von mir oben beschrieben 
nicht bassieren, das die Stärke des Rasters auch doppelt so breit sein 
kann, die Platz zwischen den einzelnen Eletronisschen Bauteilen ist.

Ich selbst könnt mir vorstellen, auch kein Raster zu bauen, um die 
Farbverläufe der einzelnen LEDs gut sichtbar zu bachen. Bei einem Raster 
sind sie abgehackt.

Des wieteren trimmen wir hier alles auf Kosten, günstiger µC, nur RGB 
anstatt RGBW, günstige IR Sender / Empfänger.

Dann wollt ihr aber die komplette Grundplatte mit Mettallstreifen 
auslegen, Schraubverbindungen anbringen und die Schrauben auch noch 
kaufen.
Für mich sieht das dann von oben nicht professionell aus, wenn ich auf 
der Platinen noch mind. 6-7 Schrauben vorfinde (TX0,RX0,TX1,RX1,5V,GND) 
event. noch CLK usw.
Nicht jeder will vllt milchglas benutzen!

ich weis nicht was dann billiger ist, Metallstreifen, + Schrauben als im 
gegensatz Steckverbinder in großer Stückzahl.

Des weiteren ist es möglich mit meiner Variante auch abstrakte Formen zu 
bauen (z.B. ein "L"-Form oder eine "8" Form)

Wie sieht dies denn mit Metallstreifen aus? Hier gibt es die Gefahr von 
Überlappungen, Stückelung einzelner Streifen, zusammenlöten von mehreren 
cm Metallstreifen. (ps. Metall hat eine gute Wärmeabfuhr, da macht löten 
richtig spaß)

Des weiteren kann ich den Tisch von jetzt auf gleich vergrößern, sondern 
muss mir die Metallkonstruktion anpassen. (Gehe davon aus, das auch im 
Experiementierstatus auch Tische von 20x20 entstehen könnten, und da 
jedesmal die Unterkonstruktion neu bauen, oder lieber steckbar auf den 
Fußboden legen?)
Oder man will sich dies an die Wand hängen, und wenn man nachts aus dem 
Bad kommt, wird eine Reihe von LED-Platinen mit der Bewegung aufläuchten 
(Oh man, gerade tolle Idee im Kopf dies als Lichtleiste an die Treppe zu 
machen, wenn man hoch und runter geht :-) )
Und da an der Wand Matallstreifen zu verlegen???

Ich verweise auf den oben genannten Link, wo mein System auch Anwendung 
findet

http://www.elv.de/controller.aspx?cid=726&detail=44159

Viele Grüße

von Anfänger (Gast)


Lesenswert?

Aber wenn jemand entschuldige zu doof ist die richtige Dicke der 
Trennwände zu bestimmen, dann ist das seine eigene Schuld. Man kann in 
keinem Projekt jegliche Fehlerquellen abfangen, sowas geht einfach 
nicht! Deswegen gehe ich davon aus, dass alle richtige Trennwände 
hinbekommen und die Abstände dementsprechend passen. Für Notfälle ist 
die Platine ja auch etwas kleiner dimensioniert.

Und wie schon beschrieben, ich finde Steckverbindungen sehr gut, aber 
wie willst du denn Stabilität in die Sache bekommen? Was trägt den die 
Glasplatte? nur am Rand ein paar Millimeter lassen wo die Ränder der 
Glasplatte aufliegen? Zudem haben die Trennwände den scharm die PIXEL 
optisch zu trennen. Wenn du nun flüssige Überläufe ohne Trennwände 
willst, ist das auch meiner Meinung nach schon wieder ein ganz anderes 
Projekt bzw. ein anderer Ansatz... genau wie die Idee das alles an eine 
Treppe oder Wand oder ähnliches zu bringen ;-)

Zumal wie sieht der Kostenfaktor beim Stecken aus? Im Endeffekt wäre 
fast der ganze Tisch eine reine Platine.

Die Metallstreifen waren nur für die Spannungsversorgungen gedacht. Aber 
das Thema ist noch gar nicht durch, das waren nur mal Überlegungen. Die 
Datenverbindungen könnte man zb. auch über Jumperkabel lösen oder 
sowas...
Dann würde ich lieber bevorzugen eine Kombination aus Trennwänden und 
durch kleine Schlitze oder Öffnungen die Datenleitungen ziehen... Das 
Problem ist, wie willst du die Spannungsversorgung auf alle Teilnehmer 
verteilen?

von Nosnibor (Gast)


Lesenswert?

Anfänger schrieb:
> Wenn du nun flüssige Überläufe ohne Trennwände
> willst, ist das auch meiner Meinung nach schon wieder ein ganz anderes
> Projekt bzw. ein anderer Ansatz... genau wie die Idee das alles an eine
> Treppe oder Wand oder ähnliches zu bringen ;-)

Soweit ich das verstanden hatte, sollten die Pixel schon einigermaßen 
flexibel einsetzbar sein, sonst bräuchte nicht jedes Pixel einen eigenen 
Prozessor. Der eine will vielleicht ein 5x5cm-Raster, der andere eher 
10x10cm. Und der dritte hat etwas gegen rechte Winkel und nimmt ein 
Sechseck- oder Dreieckraster. Oder ersetzt mit den Pixeln die 
hinterleuchteten Drucktaster an einer Schalttafel.

Das alles ist natürlich kein Hinderungsgrund, im Layout bequeme 
Steckverbinder vorzusehen, mit denen sich ein 5x5cm-Raster leicht 
zusammenstecken läßt. Wer etwas anderes will, muß dann eben Kabel löten, 
oder die (hoffentlich auch enthaltenen) Stromschienenschraubenlöcher 
nutzen.

von M. G. (hummer87)


Angehängte Dateien:

Lesenswert?

Anfänger schrieb:
> Und wie schon beschrieben, ich finde Steckverbindungen sehr gut, aber
> wie willst du denn Stabilität in die Sache bekommen? Was trägt den die
> Glasplatte? nur am Rand ein paar Millimeter lassen wo die Ränder der
> Glasplatte aufliegen?
Meine Glastisch wird nur von 4 Beinen gehalten, da ist genug stabilität 
drin, hab noch keine Glasplatte gesehen, welche ich biegen kann :-)
Wenn man eine entsprechende Dicke hat, ist dies kein Problem (5-10mm 
sollten reichen, ggf. auch mehr)
Wenn der Rand des Tisches ca. 2-3 cm breit ist, kann dort eine 
ordentliche absenkung für die Glasplatte eingearbeitet werden und sie 
sitzt ordentlich, wackelt nicht, und hat genug stabilität.

> Zudem haben die Trennwände den scharm die PIXEL
> optisch zu trennen. Wenn du nun flüssige Überläufe ohne Trennwände
> willst, ist das auch meiner Meinung nach schon wieder ein ganz anderes
> Projekt bzw. ein anderer Ansatz... genau wie die Idee das alles an eine
> Treppe oder Wand oder ähnliches zu bringen ;-)

Ja anderes Projekt vieleicht schon, aber dennoch selbe Platine. Warum 
nicht die Platine auch im Standalone Betrieb laufen lassen? Taster 
drücken, und sschon kann sie als Baumbelacuhtung, oder Schrankdeko 
dienen. dafür brauche ich kein Extra Projekt, ist nur Software, welche 
im spätere verlauf eh kommt, da wir jeden Pixel bestimmt eh in der 
ersten Stufe als Standalone laufen lasssen, bevor die Anforderung des 
Masters dran ist.

> Zumal wie sieht der Kostenfaktor beim Stecken aus? Im Endeffekt wäre
> fast der ganze Tisch eine reine Platine.

Das ist richtig, jedoch brauche ich dann keine einzelnen µC sondern 
mache dies über einen größeren, welcher mehr PWM hat und mehrer IR 
auslesen kann.

Wenn kleine Platinen, sollten diese auch flexibel einsetzbar sein.

> Die Metallstreifen waren nur für die Spannungsversorgungen gedacht. Aber
> das Thema ist noch gar nicht durch, das waren nur mal Überlegungen. Die
> Datenverbindungen könnte man zb. auch über Jumperkabel lösen oder
> sowas...
> Dann würde ich lieber bevorzugen eine Kombination aus Trennwänden und
> durch kleine Schlitze oder Öffnungen die Datenleitungen ziehen...

Willst du das z.B. Flachbandkabel zuerst durch den Schlitz stecken und 
dann Klimpen, soll der Schlitz unten sein, und wie lang soll das 
Verbindungskabel sein, wenn ein Abstand der einzelnen Bixel vllt. 1 cm 
ist.
Materialbedarf: Flachbandekabel (o.ä.) + zwei Stecker, auf der anderen 
Seite jeweils Stiftleisten

> Das
> Problem ist, wie willst du die Spannungsversorgung auf alle Teilnehmer
> verteilen?

Durch Stiftleisten, welche die Spannungsversorgung von der einen auf die 
andere Platine verteilen.

Gibt ein reines Netzwerk aus +5V und GND.
Die DATA Leitung wird ebenfalls über die Stiftleite geführt, und hat die 
möglichkeit über z.B. Lötjumper auf ander Klemmen umgeleitet zu werden.

Das Prinzip ist kein Hexenwerk.
Die Paltine besteht aus 4 Seiten. zwei aneinander liegende Seiten ahebn 
Buchseleisten und die anderen haben Stiftleiten
Das Signal geht über Buchse auf den µC und über Stiftleiste wieder raus.
Je nachdem wie ich den nächsten Kontroller anschließen will, wähle ich 
über einen Jumper ob dieser auf Stiftleiste ein gesendet werden oder auf 
striftleiste2.

Das selbe auch auf der Buchsenleiste. Dort kann ich wählen, ob Buchse1 
oder Buchse2 das Signal kommt.

Dadurch, dass alle Platinen rechts und links mit der jeweilegen 
anchbarpatinen verbunden sind, gibt es eine Stabilität.
Vorteil ist dann auch die gemeinsame Massefläse


  _ _      +5V     _ _     +5V     _ _ 
|        | ------- |       | ------- |       |
|> LED1 >|   DATA  |>LED2 >|   DATA  |>LEDn >|      Reihe 1
|>      >|  ====== |>     >|  ====== |>     >|
|_  _  | ------- |_   _| ------- |_ _|| _|
             GND              GND
 |      |           |      |           | D|| |      Data durch Jumper
+|     G|          +|      |          +| A|| |G     Umgeleitet
5|     N|          5|      |          5| T|| |N
V|     D|          V|      |          V| A|| |D
 |      |           |      |           |  || |
  _ _      +5V     _ _    +5V      _ _ 
|        | ------- |       | ------- |   ||  |
|  LED1 <|   DATA  |< LED2<|   DATA  |< LEDn |      Reihe 2
|       <|  ====== |<     <|  ====== |<      |
|_  _  | ------- |_   _| ------- |_   _|
             GND               GND

PS: wie bekomme ich den diesen Pfeil hin ^ sodass er nach unten zeigt?


Ich würde mich freien, wenn wir deine Möglichkeit mit Schrauben, sowie 
die meine Möglihckeit auf eine Platine bekommen würden.

Bezüglich erweiterter Stabilität würde ich auch extra Bohrlöcher 
vorsehen, welche man die Platine auf die unterkonstruktion setzen kann. 
Hier eventuell als gemeinsamer GND nutzbar

Um es noch etwas zu verdeutlichen habe ich die Spannungsversorgung mal 
skizziert. Hoffe man kann es erkennen, was damit gemeint ist

Viele Grüße

von Maik P. (seanten)


Angehängte Dateien:

Lesenswert?

Zu den Platinen, hatten wir ja schon in einer Abstimmung festgelegt, 
dass wir 50x50 mm Platinen verwenden werden. Offen war nur ncoh die 
Verbindungen zwischen den Platinen.

>Meine Glastisch wird nur von 4 Beinen gehalten, da ist genug stabilität
>drin

Ich hatte auch vorgesehen, dass das Raster tragend sein soll. Zwar nicht 
so viel wie ein Brett aber doch nennenswert.

>hab noch keine Glasplatte gesehen, welche ich biegen kann :-)

Bei schöner wohen oder wie das heißt hatten die mal ne biegbare 
Glasplatte für die Dusche xD. Standen mit drei Mann drauf und die Platte 
hat gut gefedert.

Sonst kann man die Glasplatte ja auch auf dem äußeren Rahmen aufliegen 
lassen. Da gibt es etliche Möglichkeiten die Kräfte abzuführen. Das 
Thema sollten wir glaub ich erst mal nach hinten verschieben.

Ich würde die Platinen auch mit einem "Netzwerk" für Vcc und GND 
versehen und die Busleitungen dann in Reihe laufen lassen. Sollte ja 
recht günstig sein und ist nicht sehr anspruchsvoll zusammenzustecken. 
Ich habe bei meiner Skizze mal Vcc, Bus und GND in einzelnen Steckern 
dargestellt. Man muss ja auch nicht alle Seiten mit Verbindern versehen, 
ees würden ja zwei reichen.

Man könnte in die Schnittpunkte des Rasters auch Muttern einbringen und 
die Platinen dann zwischen U-Scheiben festschrauben. Damit würde das 
Raster auch noch stabiler werden. Und es ist günstige Massenware.

Dann starte ich mal die nächte Abstimmung xD.
Sollen wir die Platinen mit Stiftleisten und Buchsen verbinden, wie bei 
dem von ELV?

von Anfänger (Gast)


Lesenswert?

wenn die Spannungsversorgung durch alle Teilnehmer laufen soll, müssten 
aber auf jedem Pixel Regler genutzt werden oder? glaube nicht, dass der 
letzte Teilnehmer dann noch saubere 5V an seinen Eingängen anliegen hat

von Borislav B. (boris_b)


Lesenswert?

M. G. schrieb:
> Ich selbst könnt mir vorstellen, auch kein Raster zu bauen, um die
> Farbverläufe der einzelnen LEDs gut sichtbar zu bachen. Bei einem Raster
> sind sie abgehackt.

Dann hast du am Ende aber auch keine Pixel. Das war ja eigentlich der 
Grundgedanke des Tischs, und macht auch den (optischen) Charme aus, wie 
ich finde.

M. G. schrieb:
> Wie oben schon richitg festgestellt, bekommt man die Platinen nicht mehr
> in das Pixelraster, wenn man die Holz/Plastik/.. stärke falsch/anderst
> gewählt hat.

Die Platine sollte deutlich kleiner sein als das Pixelraster. Dann gibt 
es in der Hinsicht keine Probleme.

M. G. schrieb:
> Für mich sieht das dann von oben nicht professionell aus, wenn ich auf
> der Platinen noch mind. 6-7 Schrauben vorfinde (TX0,RX0,TX1,RX1,5V,GND)
> event. noch CLK usw.
> Nicht jeder will vllt milchglas benutzen!

Ohne Milchglas kann man das sowiso vergessen. Statt schön gleichmäßig 
ausgeleuchteter Pixeln siehst du dann vermutlich garnix. Es sei denn du 
schaust im richtigen Winkel in die LEDs, dann hast du einen kleinen, 
grellen Punkt. Das ist doch Quark...

M. G. schrieb:
> Ich selbst könnt mir vorstellen, auch kein Raster zu bauen, um die
> Farbverläufe der einzelnen LEDs gut sichtbar zu bachen. Bei einem Raster
> sind sie abgehackt.

Dann bekommst du vermutlich auch nicht so eine saubere 
IR-Touch-Erkennung. Und das abgehackte ist ja, wie oben geschrieben, der 
von den meisten Mitbastlern gewünschte Effekt.

von Anfänger (Gast)


Lesenswert?

und bei Steckverbindungen sehe ich nur das Problem, dass alle 
Verbindungen und Bohrungen passgenau sein müssen, sobald einer etwas 
schief kommt gerät die gesamte Reihe in Verzug

von M. G. (hummer87)


Lesenswert?

Anfänger schrieb:
> und bei Steckverbindungen sehe ich nur das Problem, dass alle
> Verbindungen und Bohrungen passgenau sein müssen, sobald einer etwas
> schief kommt gerät die gesamte Reihe in Verzug

Das kann doch genau geplant werden, gibt doch koordinatensystem bei 
jedem Layoutprogramm

Boris P. schrieb:
> Dann bekommst du vermutlich auch nicht so eine saubere
> IR-Touch-Erkennung. Und das abgehackte ist ja, wie oben geschrieben, der
> von den meisten Mitbastlern gewünschte Effekt.


Boris P. schrieb:
> Ohne Milchglas kann man das sowiso vergessen. Statt schön gleichmäßig
> ausgeleuchteter Pixeln siehst du dann vermutlich garnix. Es sei denn du
> schaust im richtigen Winkel in die LEDs, dann hast du einen kleinen,
> grellen Punkt. Das ist doch Quark...

http://www.youtube.com/watch?v=OLfF4b49MLs
http://www.youtube.com/watch?v=vzWEgOt3xsM

Geht doch wunderbar, ohne Milchglas

Boris P. schrieb:
> Die Platine sollte deutlich kleiner sein als das Pixelraster. Dann gibt
> es in der Hinsicht keine Probleme.

Maik Pfeiffer schrieb:
> Zu den Platinen, hatten wir ja schon in einer Abstimmung festgelegt,
> dass wir 50x50 mm Platinen verwenden werden. Offen war nur ncoh die
> Verbindungen zwischen den Platinen.

Na was den nun, kleiner gleich oder größer, wir sollten definitiv mal 
eine größe Festlegen!!!

Anfänger schrieb:
> wenn die Spannungsversorgung durch alle Teilnehmer laufen soll, müssten
> aber auf jedem Pixel Regler genutzt werden oder? glaube nicht, dass der
> letzte Teilnehmer dann noch saubere 5V an seinen Eingängen anliegen hat

Spannungsverluste hast du auch mit Metallstreifen.
Eventuell muss man einen Regler einsetzen.
Wenn du meine Variante nimmst, ist der längste weg die diagonale vom 
Tisch.(Pixel zu Pixel = Kürzester Weg)
Bei Metallstreifen ist der längste Weg Länge * Breite vom Tisch(oder 
legst du alles kreutz und Quer, oder willst du jeden Pixel zur 
Spannungsquelle einzeln verdrahten, oder gibt es eine Metalllatte für 
GND und eine Für +5V?)
Also Mehr Spannungsabfall durch größer Leitung, ggf auch wegen 
schlechteren Leiter als Kupfer!

Ggf auch auf 6V gehen, mit etsprechender Diode von 0,7V reduzieren oder
Suppressordioden auf 5 V regeln lassen,

... oder andere Alternativen

Boris P. schrieb:
> Dann bekommst du vermutlich auch nicht so eine saubere
> IR-Touch-Erkennung. Und das abgehackte ist ja, wie oben geschrieben, der
> von den meisten Mitbastlern gewünschte Effekt.

Ja, es gibt ja auch andere Möglichkeiten den Pixel einzusetzen, (siehe 
Bodenbeleuchtung/Treppenbeleuchtung

Die umsetzung, ob Tisch, Treppe, Schrank ist egal, die Hardware sollte 
dies alles können. Es war ja auch nur eine Idee, welche mir in den Kopf 
gekommen ist, und sehr geil aussehen könnte.

Aber ersteinmal die Hrdware, dann Software, dann Umsetzung in realität

von Anfänger (Gast)


Lesenswert?

M. G. schrieb:
> Anfänger schrieb:
>> und bei Steckverbindungen sehe ich nur das Problem, dass alle
>> Verbindungen und Bohrungen passgenau sein müssen, sobald einer etwas
>> schief kommt gerät die gesamte Reihe in Verzug
>
> Das kann doch genau geplant werden, gibt doch koordinatensystem bei
> jedem Layoutprogramm
und deine Hand ist beim Bohren/Sägen etc. so genau wie ein 
Layoutprogramm ? ;-)

von Anfänger (Gast)


Lesenswert?

M. G. schrieb:
> Youtube-Video "Reactive LED Coffee Table - Arduino 2"
> Youtube-Video "New Interactive Proximity Sensing PCB Table Modules"
>
> Geht doch wunderbar, ohne Milchglas
sieht aber auch genau so aus, wie es hier die meisten nicht wollen. 
stichwort: punktbeleuchtung

von Maik P. (seanten)


Lesenswert?

>und deine Hand ist beim Bohren/Sägen etc. so genau wie ein
>Layoutprogramm ? ;-)

Also wenn du sie Platinen selber machen möchtest gerne. Ich werde die 
bei dieser Menge auf jeden fall fertigen lassen xD.

von Anfänger (Gast)


Lesenswert?

Die Rede war vom Tisch, nicht von der Platine. Für die Steckverbindung 
muss jede Bohrung (zur Befestigung der Platine) exakt sitzen, sonst gibt 
es bei den Verbindungen irgendwann Probleme denke ich. Bohrung etwas 
daneben -> Platine schief -> Steckverbindung miserabel

von Maik P. (seanten)


Lesenswert?

Bei den Verbindungen zwischen dem Gitter und den Platinen, hat man mit 
der Schrauben U-Scheiben Lösung min. 1mm Spiel. Wenn man Karosserie 
Scheiben nimmt sogar 2-3mm. Außerdem ist die Schraube noch im Spalt der 
Holzplatte verschiebbar. Und falls man sich da versägt hat, hilt die 
Feile und noch eine U-Scheibe gerne aus xD.
Das Borraster wird ja in dem Fall von den Platinen vorgegeben. Wenn man 
sich nicht traut es selber genau genug hin zubekommen kann ma ja erst 
die Platinen auflegen und die Punkte anzeichnen, oder direkt fertigen 
lassen.

von M. G. (hummer87)


Lesenswert?

Maik Pfeiffer schrieb:
> Bei den Verbindungen zwischen dem Gitter und den Platinen, hat man mit
> der Schrauben U-Scheiben Lösung min. 1mm Spiel. Wenn man Karosserie
> Scheiben nimmt sogar 2-3mm. Außerdem ist die Schraube noch im Spalt der
> Holzplatte verschiebbar.

Jetzt habe ich mir mal dein Bild genauer angeschaut, willst du ehrlich 
U-Scheiben zur Verbindung der Platinen nehmen?
Soll hierüber auch die Spannungsversorgung realisiert werden?


> Und falls man sich da versägt hat, hilt die
> Feile und noch eine U-Scheibe gerne aus xD.

Dein ernst? willst du 100 Pixel die U Scheiben feilen?
"Wenn man sich nicht versägt hat" => wenn du das schon sagst, dann muss 
eine Lösung her die das nicht zulässt.


> Das Borraster wird ja in dem Fall von den Platinen vorgegeben. Wenn man
> sich nicht traut es selber genau genug hin zubekommen kann ma ja erst
> die Platinen auflegen und die Punkte anzeichnen, oder direkt fertigen
> lassen.

Also die Platine hat ja durch das Layout-Programm entsprechend ein 
Koordinatensystem, an dem die Bohrlöcher ausgerichtet werden können.
Diesen Plan kann man auch ausdrucken, auf den Tisch auflegen, und 
anschließend ankörnen/anreißen. zur not per Exel eine Tabelle 
anfertigen, welche die Rastermaße hat, und ausdrucken


Mach doch bitte mal eine Zeichnung wie ihr euch die Stromversorgung über 
Metallstreifen vorstellt.

Dann würde ich gern einmal die Platinenkonfiguration der Pixelplatinen 
vorranbringen.
Denn dann sehen wir, ob genug Platz haben, Anzahl der Bohrlöcher 
bestimmen, ggf. Stiftleiste + Löcher für Metallstreifen usw.

von M. G. (hummer87)


Lesenswert?

Anfänger schrieb:
> M. G. schrieb:
>> Youtube-Video "Reactive LED Coffee Table - Arduino 2"
>> Youtube-Video "New Interactive Proximity Sensing PCB Table Modules"
>>
>> Geht doch wunderbar, ohne Milchglas
> sieht aber auch genau so aus, wie es hier die meisten nicht wollen.
> stichwort: punktbeleuchtung

Ja, wir machen ja auch den Tisch, aber ein zwei Pixel werde ich auch für 
andere Zwecke verwenden. Mit den Videos zeigte ich nur, das ein 
Milchglas keine Einflüsse auf IR hat.

Wie gesagt, erst einmal die Platinen, dann der Tisch

von M. G. (hummer87)


Lesenswert?

Maik Pfeiffer schrieb:
> Dann starte ich mal die nächte Abstimmung xD.
> Sollen wir die Platinen mit Stiftleisten und Buchsen verbinden, wie bei
> dem von ELV?

Bin ich dafür,
es sollte auf jedenfall vorgesehen werden,

von M. G. (hummer87)


Angehängte Dateien:

Lesenswert?

anbei eine kleine Überarbeitete Version der Leiterplatte

Diese hat nun das Format 48x48mm

Es sind nun, neben den Steckkontakten auch zwei Header drauf, welche zur 
Verdrahtung untereinander mit z.B. Flachbandkabel dienen kann.

des weiteren habe ich 4 Befestigungslöcher vorgesehen, welche zur 
Befestigung an der Grundplatte dienen können. Diese können dann auf GND 
gelegt werden, um die Massefläche über die Grundplatte zu realisieren

des weiteren habe ich einen kleinen Spannungsregler vorgesehen.
Dieser ist optional einfach ml draufgewandert, um zu sehen, wie viel 
Platz hier noch ist. um ggf. die Spannungsversorgung zu erhöhen, falls 
bedarf da ist. Wenn nicht benötigt, dann unbestückt lassen
Theoretisch reicht der Platz aus.

als nächstes kommen dann noch da ganze Hühnerfutter drauf.

Hat jemand schon einen Schaltplan oder Skizze?
Ist denn schon festgelegt ob nun über UART kommuniziert wird? mit CLK 
oder ohne?

von M. G. (hummer87)


Angehängte Dateien:

Lesenswert?

Ich habe schon einmal angefangen einen Schaltplan zu entwerfen.

Kann mir mal jemand sagen ob dieser Ansatz schon korrekt ist?

an welchen Pins würdet Ihr denn die LEDs anschließen, sowie IR Sender 
und Empfänger?

PA0:
PA1:
PA2:
PA3:
PA4:  SCK  & RXD1
PA5:  MISO & TXD1
PA6:  MOSI
PA7:  RXD0

PB0:  Quarz_0(optional)
PB1:  Quarz_1(optional)
PB2:  TXD0
PB3:  RESET

Bitte um Erweiterung und Korrektur

Danke

von Konrad S. (maybee)


Lesenswert?

Mein Vorschlag für den ATtiny841:

Für ISP die Pins 1 - VCC, 4 - RESET, 7 - MOSI, 8 - MISO, 9 - SCK und 14 
- GND auf (vergoldete?) Pads führen, 2x3-Anordnung im 2.54-mm-Raster wie 
beim 6-poligen ISP-Anschluss, Ober- und/oder Unterseite. Dazu drei 
(vier?) Bohrungen für Führungsstifte (2mm?) als Verpolungsschutz. 
Gedacht als Notfall-Programmiermöglichkeit mit Kontakten wie 
http://de.mouser.com/ProductDetail/Mill-Max/0906-1-15-20-75-14-11-0/?qs=%2fha2pyFaduhRqn077Jj6Gu1uYMOSpSD6sKrGRrX1TLk%3d 
diese hier.

RGB-LED-Ansteuerung über Pins 10 - TOCC2, 11 - TOCC1 und 12 - TOCC0.

Falls die IR-LED über Transistor/MOSFET angesteuert wird, dann über Pin 
9 - PAP4/TOCC3 mit PWM-Möglichkeit. Somit bleibt ISP funktionsfähig.

Den IR-Sensor an Pin 13 - ADC0.

Kommunikation über USART0 in "alternate"-Konfiguration: Pin 5 - RXD0 und 
6 - TXD0.

Versorgung an Pin 1 - VCC und Pin 14 - GND.

Pin 2 - XTAL1 und 3 - XTAL2 bleiben erstmal frei für evtl. Quarz.

 1 - VCC     ISP
 2 - XTAL1   frei
 3 - XTAL2   frei
 4 - RESET   ISP
 5 - RXD0    Kommunikation
 6 - TXD0    Kommunikation
 7 - MOSI    ISP
 8 - MISO    ISP
 9 - SCK     ISP             PA4/TOCC3   IR-LED
10 - TOCC2   RGB-LED
11 - TOCC1   RGB-LED
12 - TOCC0   RGB-LED
13 - ADC0    IR-Sensor
14 - GND     ISP

von M. G. (hummer87)


Lesenswert?

Konrad S. schrieb:
> Mein Vorschlag für den ATtiny841:

Hast du dies denn schon einmal aufgebaut und getestet? (Steckbrett?)

Hast du einen ATTiny841 zu Hause? Wenn ja, wo hast du ihn gekauft?

Ich werde dann mal den Schaltplan vervollständigen und übers Wochenende 
wieder reinstellen.

von Peter (Gast)


Lesenswert?

Habe einen Attiny841 hier auf dem Steckbrett.
Mit ISP Header ohne externen Quarz.
Benutze dieses Breakout hier:
https://code.google.com/p/bot-thoughts-eezee/source/browse/#svn%2Ftrunk%2FeeZeeTiny841%2Felectronics

Gibt es eine Beschreibung zu Karols Testaufbau (Bauteile)?

von Peter (Gast)


Lesenswert?

Hier noch die Übersichtsseite:
https://code.google.com/p/bot-thoughts-eezee/wiki/eeZeeTiny841

Habe mir das Board beim Platinensammler bestellt...

von M. G. (hummer87)


Lesenswert?

Peter schrieb:
> Habe mir das Board beim Platinensammler bestellt...

Hast du einen Link zum Bestellen?

Peter schrieb:
> Gibt es eine Beschreibung zu Karols Testaufbau (Bauteile)?

Nicht das ich wüsste.

von M. G. (hummer87)


Lesenswert?

Hat jemand eine Ahnung, wo man den ATTiny841 kaufen kann.

so die Standard Hersteller haben den nicht im Sortiment, oder man muss 
Händler sein.

Wenn dieser nicht leicht zu bekommen ist, sodass ein Nachbau für jeden 
möglich ist, sollten wir uns eine alternative überlegen

von Cyblord -. (cyblord)


Lesenswert?

M. G. schrieb:
> Hat jemand eine Ahnung, wo man den ATTiny841 kaufen kann.
Digikey

>
> so die Standard Hersteller haben den nicht im Sortiment, oder man muss
> Händler sein.

Hersteller ist Atmel. Alles andere sind Händler/Distris.
Und Digikey ist z.B. mein "Standard-Distri", somit ist die Aussage etwas 
subjektiv.

von Peter (Gast)


Lesenswert?

M. G. schrieb:
> Peter schrieb:
>> Habe mir das Board beim Platinensammler bestellt...
>
> Hast du einen Link zum Bestellen?

Ich habe mir das Board selber im Platinensammlerthread bestellt.
Dauert halt etwas.

Die Attinys habe ich von Farnell. Sehr günstig, aber halt nur für 
Firmenkunden.

von spess53 (Gast)


Lesenswert?

Hi

> Hat jemand eine Ahnung, wo man den ATTiny841 kaufen kann.

CSD

MfG Spess

von Nils N. (hagbard)


Lesenswert?

Hallo,

da die Preise recht hoch sind und um mal ein bisschen was ans Forum 
zurück zu geben, biete ich eine kleine Sammelbestellung an.

Ich bestelle 100x oder 200x ATTINY841-SSU (SOIC14) bei Farnell für 
0,75€/St inkl. MwSt.

Um den Aufwand einzugrenzen biete ich maximal 20 Slots an und begrenze 
die Stückzahl pro Slot auf 5, 10 oder 20 Stück, sowie die Gesamtsumme 
auf 200 Stück.

Versand wird wohl als Warensendung zu 0,90€ passen (50g).

Mit kleiner Aufrundung für Verpackung & Aufwand würde ich folgende 
Preise festsetzen:
 5 Attinys: glatte  5€   ( 5*0,75€ + 0,90€ =  4,65€) 0,35
10 Attinys: glatte  9€   (10*0,75€ + 0,90€ =  8,40€) 0,60
20 Attinys: glatte 17€   (20*0,75€ + 0,90€ = 15,90€) 1,10 falls Versand 
doch 1,90€ kostet

Ich möchte noch darauf hinweisen, dass die Ware erst Montag bei mir sein 
kann und die nächste Woche kurz ist. Außerdem dauert eine Warensendung 
meist ein paar Tage. Die Teile werden also wohl nicht vor dem langen 
Wochenende bei euch sein.

Bitte die Liste kopieren und sich eintragen. Zusätzlich eine PN mit 
Lieferadresse an mich schreiben. Zahlung per Überweisung.

Wie mache ich das jetzt mit der Entscheidung, ob ich 100 oder 200 Stück 
anbiete? Ich warte mal die Reaktionen ab und bestelle bis 17 Uhr... 
momentan sind eh nur 285 Stück bei Farnell lagernd, mehr geht also 
nicht. Ich gehe einfach mal von großer Nachfrage aus und biete 200 
Attinys verteilt auf maximal 20 Slots an. Ihr tragt euren Namen und 
gewünschte Menge (5, 10 oder 20) in einen Slot ein.
Entweder ist kein Slot mehr frei oder die Gesamtmenge von 200 Stück ist 
erreicht. Also rechnet bitte, nachdem ihr euch eingetragen habt, die 
aktuelle Gesamtsumme aus.

 1) 5, 10, 20 Stück, Name:
 2) 5, 10, 20 Stück, Name:
 3) 5, 10, 20 Stück, Name:
 4) 5, 10, 20 Stück, Name:
 5) 5, 10, 20 Stück, Name:
 6) 5, 10, 20 Stück, Name:
 7) 5, 10, 20 Stück, Name:
 8) 5, 10, 20 Stück, Name:
 9) 5, 10, 20 Stück, Name:
10) 5, 10, 20 Stück, Name:
11) 5, 10, 20 Stück, Name:
12) 5, 10, 20 Stück, Name:
13) 5, 10, 20 Stück, Name:
14) 5, 10, 20 Stück, Name:
15) 5, 10, 20 Stück, Name:
16) 5, 10, 20 Stück, Name:
17) 5, 10, 20 Stück, Name:
18) 5, 10, 20 Stück, Name:
19) 5, 10, 20 Stück, Name:
20) 5, 10, 20 Stück, Name:

Gesamtsumme:  x/200

Gruß
Nils

von M. G. (hummer87)


Lesenswert?

Hallo,

ich würde mich an diese Bestellung beteiligen wollen,

Gebe aber zu bedenken, dass noch nicht alle Einzelheiten abgesprochen 
wurden.

Wenn du eine Bestellung machst, dann würde sich anbieten, über das 
Wochenende zu warten, damit auch andere Personen sich entscheiden 
können.
Bis 17 Uhr wirst du nicht viele Teilnehmer haben.

PS

Ebenfalls benötigt man auch entsprechnde Adapterplatinen, welche auch 
mitbestellt werden könnten.

Oder IR LED Sende und Empfänger.

Kannst du enbtsprechend eine Liste zusammestellen, in der IR, LED und µC 
enthalten sind.

Dann wird auch die Versandtkosten künstiger.

Des weiteren gebe ich nocheinmal zu bedenken, wenn dieser µC schwer zu 
bekommen ist (ohne Gewerbe zu haben) dann müsste man auf ein anderen µC 
wechseln, sonst macht das bauen dann kein Spaß mehr.


Selbst bei Digikey kosten diese fast 1€ bei 100€
Und der Lagerbestand bei Farnell reicht auch nicht für alle aus!

Gibt es denn eine Alternativen µC (SecondSource)
Wir sollten nocheinmal die Anforderungen klären

von Nils N. (hagbard)


Lesenswert?

Diese Sammelbestellung war eher dazu gedacht, die hier aktiven günstig 
mit Controllern für die ersten Muster oder zum Kennenlernen des 
Controllers zu versorgen.
Für ganze Tische reicht der Lagerbestand eh nicht. Die Verfügbarkeit 
wird sich aber vermutlich später verbessern. Atmel hat erfahrungsgemäß 
immer etwas Anlaufschwierigkeiten.
Ohne Gewerbe kommst du in so kleinen Mengen nicht günstiger dran.
Ich wollte mich hier auf die reinen Controller beschränken.
Da muss dann halt jeder selber etwas basteln, um die aufs Steckbrett zu 
bekommen. Ist ja auch nur ein Angebot.

Edit: Bei späteren 1000+ Platinen sieht die Welt sowieso wieder ganz 
anders aus.

Edit2: Die Adapter sind dort viel zu teuer. Lieber woanders gucken.
Über IR- und RGB-LED kann man noch reden. Such was passendes raus...

: Bearbeitet durch User
von M. G. (hummer87)


Lesenswert?

1) 10 Stück, Name: Marco G.

  2) 5, 10, 20 Stück, Name:
  3) 5, 10, 20 Stück, Name:
  4) 5, 10, 20 Stück, Name:
  5) 5, 10, 20 Stück, Name:
  6) 5, 10, 20 Stück, Name:
  7) 5, 10, 20 Stück, Name:
  8) 5, 10, 20 Stück, Name:
  9) 5, 10, 20 Stück, Name:
 10) 5, 10, 20 Stück, Name:
 11) 5, 10, 20 Stück, Name:
 12) 5, 10, 20 Stück, Name:
 13) 5, 10, 20 Stück, Name:
 14) 5, 10, 20 Stück, Name:
 15) 5, 10, 20 Stück, Name:
 16) 5, 10, 20 Stück, Name:
 17) 5, 10, 20 Stück, Name:
 18) 5, 10, 20 Stück, Name:
 19) 5, 10, 20 Stück, Name:
 20) 5, 10, 20 Stück, Name:

von Basti (Gast)


Lesenswert?

Bin auch wieder mit im Boot...

Irgendwie recht teuer was ihr vor habt...

Nachdem ich ja ganz gute Erfahrungen mit DMS gesammelt habe:
https://www.youtube.com/watch?v=9stMBGurpZ4

und das ganze bei einer sehr guten Auflösung nur ca. 40 € gekostet hat, 
werde ich an dieser Strategie festhalten.

Ich werde meinen Tisch nun neu bauen (IKEA Tisch kostet ja nicht so 
viel) und China Matrizen verwenden, um schnell und günstig eine große 
Auflösung zu bekommen.

Nachdem ich zwei Chinamatrizen nun mit einem 15 € Cortex-M4 Board auf 
WS2801 emuliert habe, habe ich jegliche Freiheiten um die Bilddaten zu 
generieren und per DMA über ein Adernpaar abzusetzen...

Die 2048 Pixel Matrix für knapp 120 € ist hier zu sehen:

https://www.youtube.com/watch?v=uE1VEO-WsN8

Einzigster Nachteil (der mir gerade einfällt)... es wird wohl kein 
Multitouch-Display durch die DMS Lösung... dafür kann ich nebenbei jeden 
Gegenstand auf dem Tisch wiegen :D

Grüße

Basti

von M. G. (hummer87)


Lesenswert?

Echt geiler Tisch,

wie hast du die Erkennung hinbekommen?

von Nils N. (hagbard)


Lesenswert?

Auch wenn es ein bisschen Offtopic wird, ich habe jetzt noch nichts 
bestellt, lass das Angebot aber erst einmal so stehen.
Das oben genannte Breakoutboard habe ich jetzt auf 19x16 mm verkleinert.
Es würde nun 1,65€ (plus Versand) beim Platinensammler kosten.
Evtl. kann man direkt ein kleines Testboard mit den LEDs drauf machen...

von M. G. (hummer87)


Lesenswert?


von M. G. (hummer87)


Lesenswert?

und hier ein passendes Video dazu
https://www.youtube.com/watch?v=Y-cHn1RkAHg

von Ast E. (vis)


Lesenswert?

@Basti, schön das du wieder dabei bist, ich finde dein Projekt auch nach 
wie vor toll, jedoch wird dadurch das Touch entschieden vernachlässigt, 
wodurch dieses Projekt hier einen anderen Charm bekommt! Deshalb auch 
bitte jetzt nicht etwaige Lösungen vorschlagen und das Projekt in eine 
ganz andere Richtung leiten. Der Ausgangsthread beschreibt worum es 
gehen soll! Es sei denn du hast eine schicke Lösung parat dann bin ich 
ganz Ohr :-)

und sorry, aber das läuft jetzt hier etwas aus dem Ruder! ;-)
Der Fairness halber gegenüber den Leuten die hier schon eine Menge 
Hirnschmalz reingebracht haben, sollten wir an dieser Stelle stoppen... 
und strukturiert weiter vorgehen und nich alte Lösungen verwerfen... 
zudem wird hier kein Basar eröffnet für ein paar Teile damit ein 
Prototyp entstehen kann der noch gar nicht ansatzweise fertig durchdacht 
ist. Die Idee ist nett, aber dafür dann entweder an entsprechender 
Stelle oder aber in einen extra Thread. Der hier ist schon genug 
verwuselt und vermüllt, da müssen wir jetzt nicht noch eine 
Sammelbestellung für etwas nicht fertiges anfeuern :-)

also:
Was haben wir?
-ISP?(Durchkontaktierungen auf die man stecken kann)
-einen ADC Kanal (Touch Sens)
-drei PWM Kanäle 10bit (RGB/HSV)
-ein PWM? Kanal IR-LED
-Hühnerfutter
Solange hier keine Lösung zwecks Stromsteuerung für die IR-LED kommt, 
wird dieser Ideenansatz auch keine Bedeutung finden

Was brauchen wir?
erstmal eine fertige Pixelplatine! Deswegen bitte ich alle weiteren 
Diskussionen um Tisch etc. erstmal beizulegen... Die Pixelplatine steht 
im Vordergrund und solange die nicht steht, kommen wir eh nicht weiter.
Deswegen finde ich es gut, dass sich Gedanken um das Layout gemacht 
wurde und was für Verbindungen genutzt werden sollen bzw. wie die 
Stromversorgung zu händeln ist. Und das ist meiner Meinung nach der 
richtige Ansatz. Erstmal Stromversorgung und Verbindung, sprich bleibt 
es beim 2xUART für DaisyChain? oder nehmen wir einen andern?

Was kann als nächstes getan werden?
-ganz klar der Aufbau eines bzw. mehrere Prototypen und testen des 
Touch+RGB+Bus etc.
-anschließend evtl. Verbesserungen vornehmen
-und erst dann können wir in Masse etwas für alle bestellen!

Zwecks Attiny841:
meine Recherchen hatten nun nicht so schlechte Lieferzahlen sprechen 
lassen, wenn jedoch ein sehr bekannter/lieferbarer Chip gefunden wird 
der alles kann was wir brauchen, können wir den ja gerne noch 
austauschen

Und nun bitte ich alle etwas beim Thema zu bleiben so langsam hab ich 
die Vermutung das Leute abhanden kommen, weil jeder querbet etwas 
postet! :-)

von Basti (Gast)


Lesenswert?

Sorry Tim R.

In deinem Ausgangspost steht alles recht allgemein! Glas erkennen, Hand 
erkennen... Milchglas...

Wir alles von mir erfüllt... ich werde es wohl nicht mehr schaffen die 
anderen 300 Posts zu lesen...

Wenn ihr gerade bei ner Sammelbestellung seid, dann möchte ich euch 
nicht raus bringen...

Würde auch daisy chain machen... aber mit SPI, scheint mir einfacher... 
Evtl. gibts was aus der Logikfamilie... Parallel rein, latch und seriell 
raus... aber ihr habt sicher vor, dass IR noch zu modulieren.... wegen 
Fremdeinstrahlung... dann ist der Tiny sicher ganz brauchbar...

Grüße

Basti

@M.G. Mit Dehnungsmessstreifen aus 4 Küchenwaagen...

von M. G. (hummer87)


Lesenswert?

Hallo,

habe noch einen anderen Vorschlag zu machen, der aber etwas in eine 
andere Richtung geht, aber dennoch realisierbar ist.

Wie in den beiden oben genannten Links, wird der WS2801.

Meine Idee, wäre nun, auf eventuell einen billigeren µC umzusteigen 
(wenn dieser den Anforderungen entspricht, dann den WS28xx zu nehmen, im 
1 bis 6 RGB LEDs anzusteuern.

Der WS2801 kostet 0,35€, vllt aber auch etwas billiger. Kann mit etwas 
Hühnerfutter aber auch mehr LEDs treiben (siehe Link oben)

Vielleicht sollte man dies noch einmal kurz prüfen.

ebenso sieht man in dem Wieder eine Schöne Möglichkeit die Verbindung 
der einzelnen Platinen mittels Flachbandkabel UND Steckverbinder zu 
kombinieren.

Alternativ könnten auch die Ansteuerung der Platinen mit WS2801 
geschehen, und die IR geschichte mit einem kleinen µC mittels I2C oder 
ähnliches an den Haupt-µC geschickt werden, welcher dann die LED wieder 
steuert.

Also zwei kreise, einmal senden an WS2801 und empfangen der IR Werte 
über "iC.

Wie gesagt, nur eine weitere Möglichkeit vllt ist ja was dran

PS finde die Idee 3 - 5 LEDs auf die Platine zu bringen ziemlich Cool, 
Sieht bestimmt ganz gut aus

von Basti (Gast)


Lesenswert?

@M.G. Ich glaube du weißt nicht wie hell das wird... aus Erfahrung kann 
ich sagen... 20 mA pro Farbe ist für eine "Tischuntermatrix" schon viel 
zu Hell... daher würde ich auch von WS2811 abraten und eher was mit 
WS2801 oder billigeren WS2803 empfehlen, wo der Strom noch einstellbar 
ist!
Ein Pixel pro Platine halte ich für etwas verschwenderisch... Von der 
Zeit den der Aufbau dann braucht, ganz zu schweigen...

von Ast E. (vis)


Lesenswert?

Basti schrieb:
> Sorry Tim R.
>
> In deinem Ausgangspost steht alles recht allgemein! Glas erkennen, Hand
> erkennen... Milchglas...
>
> Wir alles von mir erfüllt... ich werde es wohl nicht mehr schaffen die
> anderen 300 Posts zu lesen...

dann habe ich dich falsch verstanden... erläutere deine variante bitte 
nochmal genauer, auch wie du die sachen detektierst

Basti schrieb:
> Ein Pixel pro Platine halte ich für etwas verschwenderisch... Von der
> Zeit den der Aufbau dann braucht, ganz zu schweigen...
dadurch bleiben wir einfach dynamisch. jeder kann soviele pixel 
kombinieren wie er mag. ich nehme an du würdest mehrere pixel auf eine 
platine vereinen? ;-)
zudem ist bei 5x5cm pixeln nicht mega viel platz, ich denke die kleine 
platine wird auch schon gut gefüllt werden

von Basti (Gast)


Lesenswert?

Also zum Objekt erkennen mit DMS... klingt komplizierter als es ist... 
Aufgebaut sind im Grunde 4 Küchenwaagen unter jeder Tischecke... die 
Tischplatte liegt nur auf den Waagen und muss am Rand "versteckt" Luft 
haben...

Jetzt werden 80 mal die Sekunde alle 4 Waagen eingelesen... anschließend 
wird über die Kraftformel der teschnischen Mechanik (wie die genau 
heißt, weiß ich gerade nicht) die Position des neuen Objektes berechnet. 
Alle 4 Waagen addiert, ergibt das Gesamtgewicht!
Wenn man alle Objekte nacheinander abstellt, ist es wahrscheinlich kein 
Problem in Software die zu Speichern, wo welches mit welchem Gewicht 
steht... schwierig wird es nur, wenn Objekte zeitgleich abgestellt 
werden...
Jetzt wäre zu definieren was zeitgleich bedeutet... die 80 Hz sind da 
eher weniger das Problem... aber das Abstellen eines Glases ist wohl ein 
Vorgang der auf mehreren Sampels pro Sekunde zu Veränderungen führt -> 
Trägheit der menschlichen Hand...

Kommt der Tisch durcheinander muss er wahrscheinlich geleert werden um 
wieder alle Objekte zu erkennen...

Wenn mans richtig gut machen möchte ist es wohl anspruchsvolle 
Signalverarbeitung... so nen wandernder Mittelpunkt wie im Video, ist 
schnell programmiert... Hätte ich zwei gleiche Gläser auf den Tisch 
gestellt, wäre der Pixel in die Mitte der beiden Gläser gehoppst... da 
meine Programmierung noch nicht so weit ist ;)

Grüße

Basti

P.S. 4 Waagen ist im Grunde schon eine zuviel... aber das führt zu einer 
höheren Messgenauigkeit und die Platte hat natürlich 4 Ecken und so ist 
der Aufbau symmetrischer...

von M. G. (hummer87)


Lesenswert?

Schaut euch doch noch einmal meinen Link zu der Platine an.

dort sind 6 RGB LEDs drauf. 50x50mm Platinenmaß.


Hier noch einmal der Link,
http://shop.led-studien.de/de/elektronik-bausatze/led-pixel/rgb-pixel-50x50mm-6-led-inkl.-wannen-kabel

und hier das passende Datenblatt
http://www.led-studien.de/docs/RGB-Pixel_Datenblatt.pdf

Also Platz ist genug, und wenn wir auf 3-5 LED reduzieren würden, passt 
locker noch eine ATTiny841 drauf.

Das ist nur eine Frage des Layouts und der Layeranzahl

Wenn ein anderer µC verwendet werden kann, weil wir eventuell die 
Kommunikation überarbeiten, kann auch auf einen µC mit weniger Pins 
umgestiegen werden.

Man sollte einmal überlegen, ob dieses Konzept eventuell auch Verwendung 
finden kann.

Das Konzept mit LED Matrix und WS28xx ist ja zu tausenden umgesetzt und 
funktioniert sehr gut. wir brauchen also "eigentlich" nur eine 
Möglichkeit der IR Messung und die Wertrückgabe an den Master-µC

von Nils N. (hagbard)


Lesenswert?

Sorry fürs Starten der Sammelbestellung innerhalb dieses Threads.
Bei Interesse geht es nun hier weiter:
Beitrag "Sammelbestellung Attiny841 zum Ausprobieren für LED-Tisch"

Es ging nur darum schnell ein paar Attinys zu bestellen, da ich den 
Eindruck hatte, einige würden den gerne ausprobieren, kommen aber nicht 
dran.
Das hat nichts mit einer Entscheidung Zugunsten dieses Controllers zu 
tun und auch nichts mit einer Serienproduktion.
Ich kann auch 10 oder 20 bestellen. Da ist der Preis nur geringfügig 
höher.
Nur möchte ich keine 100 Briefe mit jeweils einem Controller 
verschicken, daher die Idee mit den Slots und der maximalen Anzahl.

von M. G. (hummer87)


Lesenswert?

Nils Nachname schrieb:
> Nur möchte ich keine 100 Briefe mit jeweils einem Controller
> verschicken, daher die Idee mit den Slots und der maximalen Anzahl.


Lass uns doch noch einmal übers WE warten, vielleicht gibt es dann 
konkretere Definitionen.

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> Schaut euch doch noch einmal meinen Link zu der Platine an.
>
> dort sind 6 RGB LEDs drauf. 50x50mm Platinenmaß.

> Wenn ein anderer µC verwendet werden kann, weil wir eventuell die
> Kommunikation überarbeiten, kann auch auf einen µC mit weniger Pins
> umgestiegen werden.
>
> Man sollte einmal überlegen, ob dieses Konzept eventuell auch Verwendung
> finden kann.
>
> Das Konzept mit LED Matrix und WS28xx ist ja zu tausenden umgesetzt und
> funktioniert sehr gut. wir brauchen also "eigentlich" nur eine
> Möglichkeit der IR Messung und die Wertrückgabe an den Master-µC

wir kennen die Variante, die wurde weiter oben glaube schon mal 
gepostet. Das Problem ist zum einen der Preis, knapp 4,- für diese 
Platine ist mir zuviel. Wenn du das Prinzip übernehmen möchtest, ist der 
Ansatz nicht verkehrt, das Problem ist nur wenn wir extra ein WSxxx 
nehmen wirds schwierig dann noch günstig und platzsparend per uC zu 
kommunizieren. Man kann auch nur per Master allen Teilnehmern die Farben 
übergeben, aber wie läuft dann der Touch -> das hast du schon gut 
erkannt... wenn es richtig im Kopf habe, hatten wir genau deshalb diesen 
Ansatz verworfen... auch wenn die WSxxx ein tolles Spielzeug sind :-)

von M. G. (hummer87)


Lesenswert?

Tim R. schrieb:
> wir kennen die Variante, die wurde weiter oben glaube schon mal
> gepostet.
Ja habe ich schon gemacht, aber keine Rückmeldung bekommen :-)

> Das Problem ist zum einen der Preis, knapp 4,- für diese
> Platine ist mir zuviel.

Ich will ja nicht die Platinen kaufen, sonder das Konzept hat mir gut 
gefallen, vor allem die Möglichkeiten die Platinen untereinander zu 
verbinden.

> Wenn du das Prinzip übernehmen möchtest, ist der
> Ansatz nicht verkehrt, das Problem ist nur wenn wir extra ein WSxxx
> nehmen wirds schwierig dann noch günstig und platzsparend per uC zu
> kommunizieren. Man kann auch nur per Master allen Teilnehmern die Farben
> übergeben, aber wie läuft dann der Touch -> das hast du schon gut
> erkannt... wenn es richtig im Kopf habe, hatten wir genau deshalb diesen
> Ansatz verworfen... auch wenn die WSxxx ein tolles Spielzeug sind :-)

Ok, war auch nochmal ein Einwurf, und wurde noch einmal verworfen.

Hast du eine kleine Zeichnung, wie du die Platinen aufbauen möchtest?
Habe oben ja mal eine 3D Zeichnung angefügt.

Ist denn die Idee mit z.B. 3-6 LEDs auf der Platine verworfen?
=> Ansteuerung über PWM und Transistoren

Eine kurze Anmerkung habe ich noch, bin gerade auf folgende µC gestoßen.
Könnt Ihr euch diese einmal anschauen.

LPC81X

http://www.nxp.com/parametrics/71785/#/p=1,s=0,f=,c=,rpp=,fs=0,sc=,so=,es=


Dieser hat auch 2 UARTS, 16/32 bit Timer, 4x PWM

Vielleicht ist dieser auch geeignet

von M. G. (hummer87)


Lesenswert?

Konrad S. schrieb:
> 1 - VCC     ISP
>  2 - XTAL1   frei
>  3 - XTAL2   frei
>  4 - RESET   ISP
>  5 - RXD0    Kommunikation
>  6 - TXD0    Kommunikation
>  7 - MOSI    ISP
>  8 - MISO    ISP
>  9 - SCK     ISP             PA4/TOCC3   IR-LED
> 10 - TOCC2   RGB-LED
> 11 - TOCC1   RGB-LED
> 12 - TOCC0   RGB-LED
> 13 - ADC0    IR-Sensor
> 14 - GND     ISP

In diesem Beispiel haben wir nur ein UART verwendet, wollten wir nicht 2 
UARTs haben?

  1 - VCC     ISP
  2 - XTAL1   frei
  3 - XTAL2   frei
  4 - RESET   ISP
  5 - RXD0    Kommunikation
  6 - TXD0    Kommunikation
  7 - MOSI    ISP             PA4/TOCC3   IR-LED
  8 - MISO    ISP             Kommunikation
  9 - SCK     ISP             Kommunikation
 10 - TOCC2   RGB-LED
 11 - TOCC1   RGB-LED
 12 - TOCC0   RGB-LED
 13 - ADC0    IR-Sensor
 14 - GND     ISP


Bitte einmal überprüfen, ob dies so möglich wäre

von backEMF (Gast)


Lesenswert?

Den LPC81X hatte auch schon im Auge der hat aber leider keinen adc.

von M. G. (hummer87)


Lesenswert?

backEMF schrieb:
> Den LPC81X hatte auch schon im Auge der hat aber leider keinen adc.

OHHH, da war ja was, habe ich nicht gemerkt

Hatten wir uns jetzt auf DaisyChain geeinigt, oder zwei mal UART?

Was ist den der Vor bzw. Nachteil der beiden Systeme

von Ast E. (vis)


Lesenswert?

M. G. schrieb:
> Tim R. schrieb:
>> wir kennen die Variante, die wurde weiter oben glaube schon mal
>> gepostet.
> Ja habe ich schon gemacht, aber keine Rückmeldung bekommen :-)
Ja, aber die wurden noch eher gepostet... sogar von mir sehe ich gerade 
^^ such mal im Browser dann zeigt er gleich den Post

> Ok, war auch nochmal ein Einwurf, und wurde noch einmal verworfen.
Ideen sind immer gut, nur sollten diese auch etwas durchdacht sein, denn 
ohne Infrarot ist das ja auch nur eine halbe Lösung ;-)
>
> Hast du eine kleine Zeichnung, wie du die Platinen aufbauen möchtest?
> Habe oben ja mal eine 3D Zeichnung angefügt.
Ich werde versuchen am Wochenende mal einen Schaltplan zu entwerfen wo 
man gleich ein Layout draus ziehen kann
>
> Ist denn die Idee mit z.B. 3-6 LEDs auf der Platine verworfen?
> => Ansteuerung über PWM und Transistoren
verworfen nicht, aber entweder 1 oder 4 sind denke ich sinnvoll. Und aus 
Kosten-/Energie-/Aufwandsgründen wird sich denke eine RGB durchsetzen. 
Wird denk ich auch reichen
>
> LPC81X
Die meisten hier im Forum als Hobbybastler bevorzugen Atmel, wenn ich 
das hier so richtig überblicke, deswegen wurden die kleinen 
kostengünstigen Attinys ins Auge gefasst. Ich weiß nicht wie das Volk 
hier zu einem ganz anderen Chip stehen würde. Sind die denn auch günstig 
und gut lieferbar? Das muss man ja auch immer beachten

von Konrad S. (maybee)


Lesenswert?

M. G. schrieb:
> Wenn ein anderer µC verwendet werden kann, weil wir eventuell die
> Kommunikation überarbeiten, kann auch auf einen µC mit weniger Pins
> umgestiegen werden.

2 Pins Versorgung
3 Pins RGB
1 Pin IR-LED
1 Pin IR-Sensor
2 Pins Kommunikation
--------------------
9 Pins

Also entweder bringst du einen Vorschlag für Kommunikation mit nur einem 
Pin oder du bringst einen Vorschlag für einen μC mit 9 bis 13 Pins.

M. G. schrieb:
>   8 - MISO    ISP             Kommunikation
>   9 - SCK     ISP             Kommunikation

Mach einen Vorschlag für die Kommunikation über die Pins 8 und 9, bei 
dem ISP möglich ist, ohne Verbindungen zu benachbarten Pixeln 
aufzutrennen.

von M. G. (hummer87)


Lesenswert?

Konrad S. schrieb:
> Mach einen Vorschlag für die Kommunikation über die Pins 8 und 9, bei
> dem ISP möglich ist, ohne Verbindungen zu benachbarten Pixeln
> aufzutrennen.

Ich hatte weiter oben die Frage gestellt, wie die Kommunikation ablaufen 
soll.

Tim R. schrieb:
> Aber der Ansatz
> mit 2xUART ist denke ich schon am günstigsten.

Wie willst du denn den zweiten UART benutzen, wenn du die ISP 
Schnittstelle dafür brauchst? (oder habe ich das falsch gelesen?

Tim R. schrieb:
> sprich bleibt
> es beim 2xUART für DaisyChain? oder nehmen wir einen andern?

wieder zwei UART Ports im Gespräch

Konrad S. schrieb:
> Also entweder bringst du einen Vorschlag für Kommunikation mit nur einem
> Pin oder du bringst einen Vorschlag für einen μC mit 9 bis 13 Pins.

Wie stellst du dir eine Kommunikation mit nur einem Pin vor??? gib doch 
bitte mal einen Vorschlag



Es bleiben ja nicht viele Möglichkeiten, aber auf eine sollten wir uns 
endlich mal festlegen


UART: dann benötigen wir zwei UART Ports. Einen für DataIN, und einen 
für DataOUT

Oder willst du einen Nehmen? würde ja auch gehen. dann bräcuhten wir 
keinen µC mit zwei UARTs Oder?

SPI(DaisyChain) Hier wird die SPI Schnittstelle benutzt,
http://www.mikrocontroller.net/articles/SPI_Daisychain

I2C: wurde ja schon abgelehnt (oder vllt. doch nicht????)

Konrad S. schrieb:
> Mach einen Vorschlag für die Kommunikation über die Pins 8 und 9, bei
> dem ISP möglich ist, ohne Verbindungen zu benachbarten Pixeln
> aufzutrennen.

die Pins können ja im Betrieb andere Funktionen besitzen.

Wenn aber eine UART Funktion auf der ISP Schnittstelle liegt, kann man 
nichts machen (oder habe ich den Schaltplan falsch verstanden)

Wenn wir auf DaisyChain gehen, hast du das Problem auch.

Wenn du die den µC Programmieren willst, bekommen die anderen µC dann 
halt nur wirre Daten. Werden aber nicht programmiert, weil du die 
Reset-Leitung der anderen µC ja nicht mit benutzt.

Beim Programmstart sollte eh einmal alles mit "0" initialisiert werden, 
um einen definierten Anfangszustand zu haben.



FAZIT:

Welche Kommunikationsschnittstelle wollen wir nun benutzen? UART oder 
SPI?

von Basti (Gast)


Lesenswert?

USART braucht ihr wieder einen Quartz... Oder ihr nehmt gleich einen 
XMega aus der E Serie... Dann habt ihr für schmales Geld so einige 
Schnittstellen und stabileren Clock.
Man könnte auch das WS2811 Protokoll umsetzen, da kann der Clock schon 
gut schwanken und es kommt noch sauber durch...

Ich seh den Aufwand gar nicht so sehr im programmieren... das ihr da was 
zusammenhängen müsstet...

von Ast E. (vis)


Lesenswert?

der Gedanke war jeden Pixel mit 2 UARTs auszustatten. Wie im Artikel 
beschrieben, schiebt der Master alle Daten zum ersten Slave. Dieser 
entnimmt seine Farbwerte für die RGB-LED und reicht die anderen Daten 
über die zweite UART weiter (Daisychain). Der nächste entnimmt seine 
Daten und so weiter. Es ist bei jedem Pixel quasi immer das erste 
Datenpaket. Ein Zug an Daten der durchgereicht wird. Die Touch-Werte 
also die ADC Werte (natürlich gefiltert etc.) werden entsprechend über 
den die UART zum vorliegenden Slave weitergereicht, dieser leitet die 
Daten zum wieder vorigen weiter. Somit kommen vom aller ersten Slave der 
die RGB Werte empfangen hat auch als erstes die Touch Daten am Master 
an. --- Wenn hoffentlich die Pixel relativ gleich schnell 
senden/verarbeiten) ---

Für die UART KANN und ich denke SOLLTE auch ein Quartz verwendet werden. 
Einfach um eine stabile Kommunikation zu sichern. Sehe darin auch kein 
großes Problem, warum will jeder zweite auf einen Quartz verzichten? 
Kostengründen? Ich finde mit dem Quartz ist einfach gesichert das die 
Timings stimmen. Wenn die Kommunikation den Bach runter geht ist der 
ganze Tisch dahin ;-/

Für SPI würde wieder eine CLK Leitung benötigt werden und wie sieht es 
mit dem ChipSelect aus?
2xUART wären insgesamt 4 Leitungen. Es würde keine Aufbereitung benötigt 
werden weil die Leitungslänge sich zwischen den Pixel auf wenige mm oder 
cm bewegt :-) die ISP sollte doch standardgemäß benutzbar sein oder 
überseh ich gerade was?! Und I2C ist denke ich auf die Länge etwas 
langsam und zudem wird jeder Teilnehmer nacheinander aufgerufen was die 
Sache etwas in die Länge zieht denk ich

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Für Daisy-Chain mit UART reicht ein UART. Schließlich hat ein UART 
RXD und TXD. Und wer - bitteschön - verlangt, dass RXD und TXD von 
einem UART zum gleichen Partner gehen müssen?

Nosnibor hat hier Beitrag "Re: schwierigkeiten passenden Bus zu finden" 
schon geschrieben, was nötig ist, um in einer Daisy-Chain ohne Quarz zu 
arbeiten: Die Quelle der Daisy-Chain - und nur diese - sendet mit zwei 
Stop-Bits.
Die von mir vorgeschlagene Anschlussbelegung lässt die Verwendung eines 
¨Angst¨-Quarz zu. ;-)
Der geneigte Leser mag sich die Takt-Differenz ausrechnen, die nötig 
ist, damit in der vorgeschlagenen Daisy-Chain-Konfiguration bei zwei 
Stop-Bits in der Eispeisung Datenverlust auftritt.
Dazu als Hinweise:
- Es muss nur ein Byte betrachtet werden.
- Was ist der Synchronisations-Trigger für das Start-Bit im Empfänger?
- Wann ist der letzte relevante Bit-Slot zu Ende?

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
> Für Daisy-Chain mit UART reicht ein UART. Schließlich hat ein UART
> RXD und TXD. Und wer - bitteschön - verlangt, dass RXD und TXD von
> einem UART zum gleichen Partner gehen müssen?
dann rechne mal bitte vor wieviel Daten du damit umher jagen kannst und 
vergiss dabei bitte nicht sowohl RGB/HSV als auch Touch Daten ;-)

von Basti (Gast)


Lesenswert?

Ich denk jeder Pixel sollte ein Cortex A8 mit Linux und WIFI bekommen, 
dann ist die Kommunikation gesichert...

Ne mal im Ernst: wo liegt denn euer Preislimit pro Pixel? Habt ihr euch 
da schon geeinigt? Irgendwie gibts hier tausend Vorschläge die schon aus 
dem Preisrahmen fallen... Letztendlich würde ich eine Platine mit 4 oder 
6 Pixeln entwickeln, sonst explodieren euch die Kosten...

Vorschlag: WS2803 sind wie WS2801 vom latchen her... der Vorteil für 
euch (aber meist ein Nachteil), die verhalten sich wie richtige 
Schieberegister und nehmen nicht gleich ihre Daten aus dem Datenstrom...
Also eine Platine mit WS2803 (=6 Pixel) und beim SPI in Serie einen 
Microkontroller der 6 IRs modulieren und auswerten kann (2xSPI hat).

Der Master macht nun folgendes: Er schiebt einmal so viel Daten rein, 
wie nötig sind und erhält hinten raus die IR Werte... fertig ist... ganz 
simple und sagen wir, wenigstens um den Faktor zwei weniger Preis 
intensiv.

von Ast E. (vis)


Lesenswert?

Basti schrieb:
> Ne mal im Ernst: wo liegt denn euer Preislimit pro Pixel?
Glaube um irgendwas 3-4Euro für Materialkosten waren wir mal angelangt
> Habt ihr euch
> da schon geeinigt? Irgendwie gibts hier tausend Vorschläge die schon aus
> dem Preisrahmen fallen... Letztendlich würde ich eine Platine mit 4 oder
> 6 Pixeln entwickeln, sonst explodieren euch die Kosten...
Da der Tisch auf einer Waben-/Tetrisstruktur basiert, ergab sich eigtl 
von allein daraus, dass einzelne Pixelplatinen benötigt werden... wie 
hast du vor die Platine dann unter den Tisch zu bekommen?!
Zumal du durch die Pixellösung völlig flexibel in der Anzahl bist

> Vorschlag: WS2803 sind wie WS2801 vom latchen her... der Vorteil für
> euch (aber meist ein Nachteil), die verhalten sich wie richtige
> Schieberegister und nehmen nicht gleich ihre Daten aus dem Datenstrom...
> Also eine Platine mit WS2803 (=6 Pixel) und beim SPI in Serie einen
> Microkontroller der 6 IRs modulieren und auswerten kann (2xSPI hat).
Naja gut, dann bräuchte man einen fetten Controller der 6 PWM? Kanäle 
ansteuern kann + WSxxx. Das wird dann denke auch kein ganz günstiger 
Controller mehr oder? Sicher das die Lösung so günstig ist?

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

@M. G. (hummer87)

Ich wollte dir dezent zu verstehen geben, dass deine Idee (¨einen µC mit 
weniger Pins¨ zu nehmen) unüberlegt ist, da bei den AVRs der 
nächstkleinere μC 8 Pins hat und damit zu klein ist. Es liegt also bei 
dir zu zeigen, dass es mit einem ¨kleineren¨ μC geht.

Zum Thema ISP versus UART auf Pin 8 und 9:
Stell dir drei benachbarte Pixel vor und von denen willst du den 
mittleren per ISP flashen. Auf Pin 9 liegen einerseits SCK vom ISP und 
andererseits die vom Vorgänger kommenden zu empfangenden Daten. Entweder 
musst du die Verbindung zum Vorgänger trennen oder du musst verhindern, 
dass der Vorgänger seinen TXD1 treibt, z.B. indem du den Vorgänger im 
Reset hältst.

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
> Zum Thema ISP versus UART auf Pin 8 und 9:
> Stell dir drei benachbarte Pixel vor und von denen willst du den
> mittleren per ISP flashen. Auf Pin 9 liegen einerseits SCK vom ISP und
> andererseits die vom Vorgänger kommenden zu empfangenden Daten. Entweder
> musst du die Verbindung zum Vorgänger trennen oder du musst verhindern,
> dass der Vorgänger seinen TXD1 treibt, z.B. indem du den Vorgänger im
> Reset hältst.
die sollten einmal geflasht werden und dann war die Überlegung "per Bus" 
zu flashen falls das nochmals nötig sein sollte, denn wollt ihr 100 
Slaves alle einzeln per Hand flashen ? ;-)
Aber mal davon abgesehen, wenn der Master keine Daten sendet, senden 
auch die Slaves keine Daten und somit kann man die ISP Pins ganz inruhe 
benutzen -> nur Master ruhig stellen ist erforderlich

von Basti (Gast)


Lesenswert?

@Tim R. als wenn man keinen Rahmen bauen könnte, der über die Platinen 
drüber geht... und da ihr keine Quadratmeter abdeckt, sollte die PCB aus 
China noch günstig zu bekommen sein...

Hier ein Beispielkontroller:
http://de.mouser.com/ProductDetail/Atmel/ATXMEGA8E5-AU/?qs=sGAEpiMZZMsXXU7tc6nusW3l2k2yH0M1

nen Euro bei 25 Stück... 18 PWM Kanäle... 6 Analogkanäle... Zwei 
USART/SPI Master und einen SPI Slave, I2C... bei 32 MHz Clock, kann der 
SPI Slave auch bissel Geschwindigkeit erreichen... kein Quartz nötig, 
PDI Programmierung über zwei reservierte Pins + VCC und Ground... ganzen 
Daten bekommt man per DMA weggeschaufelt...

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> Konrad S. schrieb:
>> Für Daisy-Chain mit UART reicht ein UART. Schließlich hat ein UART
>> RXD und TXD. Und wer - bitteschön - verlangt, dass RXD und TXD von
>> einem UART zum gleichen Partner gehen müssen?
> dann rechne mal bitte vor wieviel Daten du damit umher jagen kannst und
> vergiss dabei bitte nicht sowohl RGB/HSV als auch Touch Daten ;-)

Du kannst bei 8MHz Takt mit einem UART 500kBaud empfangen (mit der 
Double-Speed-Option sogar 1MBaud). Bei zwei Stop-Bits ergibt das gut 
44kByte/s (88kByte/s). Du hast 176 Takte (88 Takte) Zeit, um die Daten 
zu verarbeiten - allerdings sind auch noch andere Dinge abzuarbeiten, 
z.B. IR-LED und ADC. Das ist mit Interrupts schon mal nicht ganz ohne. 
Wenn du zwei UARTS nutzt, dann halbieren sich die zur Verarbeitung zur 
Verfügung stehenden Takte. Durch einen 16-MHz-Quarz kommst du wieder auf 
die ursprünglich genannten Werte.
Es sei noch angemerkt, dass in einer Daisy-Chain-Konfiguration keine 
Interrupts für die Sender-Seite nötig sind.

Bei einem Daisy-Chain-Durchgang werden für alle Pixel nur gleichartige 
Daten übertragen. Das Kommando steht also nur einmal im Header (RGB, 
HSV, ...) und nur die Farbwerte sind einmal je Pixel enthalten, sagen 
wir drei Bytes je Pixel. Jedes Pixel tauscht beim Weiterreichen durch 
die Daisy-Chain seine empfangenen Daten durch seine Daten für den 
Rückkanal aus. Dafür muss das Pixel zwar wissen, an welcher Position es 
in der Daisy-Chain sitzt, aber mit einem ¨DURCHZÄHLEN¨-Kommando ist das 
kein wirkliches Problem.

Also ich komme bei einem UART und 25 Updates pro Sekunde auf ca. 600 
Pixel pro Daisy-Chain.

von Ast E. (vis)


Lesenswert?

Basti schrieb:
> @Tim R. als wenn man keinen Rahmen bauen könnte, der über die
> Platinen
ja okay stimmt auch wieder
> Hier ein Beispielkontroller:
> http://de.mouser.com/ProductDetail/Atmel/ATXMEGA8E...
Ok vielleicht blödes Beispiel weil der momentan nicht lieferbar ist ;-P

@Konrad S.
Das mit dem Austauschen ist ein guter Gedanke... nur wenn ungefähr 3Byte 
RGB-Daten kommen, wozu dann 3 Byte für den Touch verbrauchen? 1 Byte 
reicht ja eigtl völlig, aber diese "Verschwendung" muss an der Stelle 
dann wohl hingenommen werden. Das mit dem durchzählen hatte mich auch 
schon mal beschäftigt. Will man zuvor jedem Pixel eine feste Position 
zuordnen?! Das ist vielleicht etwas blöd
Würdest du nicht eine DaisyChain pro Pixelreihe quasi machen? Ich hab 
deine Rechnung einfach mal so hingenommen, aber 600 Pixel pro DaisyChain 
klingt ziemlich heftig :-) (positiv gemeint)

von Basti (Gast)


Lesenswert?

@Tim R. wenn du mehr als 3650 Stück brauchst, dann ist er bei Mouser für 
dich wohl nicht lieferbar

von Ast E. (vis)


Lesenswert?

Basti schrieb:
> @Tim R. wenn du mehr als 3650 Stück brauchst, dann ist er bei
> Mouser für
> dich wohl nicht lieferbar

ops mega peinlich, bin in der Zeile verrutscht! :-)

also der uC hat aufjedenfall eine Menge Preipherie. Die Idee Pixel zu 
vereinen besteht ja die ganze Zeit schon, wie ist denn die Resonanz der 
andern?

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
> Also ich komme bei einem UART und 25 Updates pro Sekunde auf ca. 600
> Pixel pro Daisy-Chain.

was mir gerade noch einfllt... wenn wirklich nur eine UART verwendet 
werden soll, dann können wir auch auf den tiny841 verzichten und einen 
2313 beispielsweise nehmen oder evt. kleiner?

von M. G. (hummer87)


Lesenswert?

Bezüglich der Pixel Zusammenführung, ist es denn sinnvoll einen Pixel zu 
nehmen, oder 4 Pixel auf eine Platine zu bringen.

Das Beispiel mit dem atmega würde eine menge Geld einsparen und dieser 
kann 4 RGB led ansprechen sowie noch 4 IR led. Pwm hat er ausreichend.

Preisbeispiel:

4x 0,80€ für attiny841 ( Einzelpersonen ) bei 4 Pixeln
Oder
1x 1,50€ für atmega bei 4 Pixeln

Die Platinen werden bei den meisten Herstellern nach dm2 abgerechnet. Ob 
ich nun 4 mal eine Platine nehme oder 1 mal in der selben gesamtgröße 
spiel nicht so die rolle.

Auch die MHz sind höher.

Vielleicht ist dies auch eine Option um günstiger zu werden

von Basti (Gast)


Lesenswert?

@M.G. könnte von mir sein, die Idee :P

Das sind dann übrigens 18 mal 16 Bit PWM !!! Kann man jedenfalls bei der 
A4 Serie auch auf 24x8 Bit PWM umschalten... aber pins für spi 
blockieren einige PWMs!

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> die sollten einmal geflasht werden und dann war die Überlegung "per Bus"
> zu flashen falls das nochmals nötig sein sollte, denn wollt ihr 100
> Slaves alle einzeln per Hand flashen ? ;-)

Firmware-Updates kommen selbstverständlich nur über UART ... zumindest 
solange, bis sich mal jemand vertut und den Bootloader zerschießt, weil 
der ATtiny841 keine Fuses hat, die einen Bootloader vor Überschreiben 
schützen würden.

> Aber mal davon abgesehen, wenn der Master keine Daten sendet, senden
> auch die Slaves keine Daten und somit kann man die ISP Pins ganz inruhe
> benutzen -> nur Master ruhig stellen ist erforderlich

Nein. Solange der TXD1 des Vorgänger-Pixels enabled ist, produziert er 
einen High-Pegel an SCK.

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> Das mit dem Austauschen ist ein guter Gedanke... nur wenn ungefähr 3Byte
> RGB-Daten kommen, wozu dann 3 Byte für den Touch verbrauchen? 1 Byte
> reicht ja eigtl völlig, aber diese "Verschwendung" muss an der Stelle

Das erste Pixel muss diesen Durchsatz in jedem Fall bringen können. Alle 
anderen Pixel haben die gleiche Leistung. Also warum unnötige 
Komplexität aufbauen durch ¨ausdünnen¨ des Datenstroms?

> dann wohl hingenommen werden. Das mit dem durchzählen hatte mich auch
> schon mal beschäftigt. Will man zuvor jedem Pixel eine feste Position
> zuordnen?! Das ist vielleicht etwas blöd

Fest? Nein, einfach nur beim Booten die Chain(s) durchzählen lassen. Die 
Reihenfolge in der Chain hat dann eigentlich nur aus rein pragmatischen 
Erwägungen eine ¨feste Beziehung¨ zur physischen Anordnung der Pixel.

> Würdest du nicht eine DaisyChain pro Pixelreihe quasi machen? Ich hab

Ich würde die Anzahl der Pixel pro Chain deutlich höher machen, auch im 
Hinblick auf das, was ich mal zur Stromschiene mit Kupferfolie gesagt 
habe (eine Reihe Pixel ¨linksrum¨, nächste Reihe ¨rechtsrum¨). Ich würde 
einerseits nicht die höchstmögliche Baudrate nehmen und andererseits 
erstmal eine Abschätzung haben wollen, wieviele Takte die Kommunikation 
verbrauchen darf. Danach richtet sich auch der UART-Bedarf des Masters.

> deine Rechnung einfach mal so hingenommen, aber 600 Pixel pro DaisyChain
> klingt ziemlich heftig :-) (positiv gemeint)

Ich hoffe, die Rechnung stimmt.

von Konrad S. (maybee)


Lesenswert?

Zu ¨mehrere Pixel auf einer Platine¨: Weiter oben war mal die Rede von 
Platinen mit 20x20cm zu einem guten Preis. Vorteile gibt es einige: es 
kommen ganz andere Kontroller in Frage, der Befestigungsaufwand 
reduziert sich deutlich, Steckverbinder zwischen den Platinen werden 
finanziell und vom Bestückungsaufwand her interessanter, ...

Nachteile gibt es auch: weniger flexibles System, die ¨anderen 
Kontroller¨ sind noch weniger Bastler-lötfreundlich als SOIC, ...

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> was mir gerade noch einfllt... wenn wirklich nur eine UART verwendet
> werden soll, dann können wir auch auf den tiny841 verzichten und einen
> 2313 beispielsweise nehmen oder evt. kleiner?

ATtiny2313: Bezüglich Pin-Anzahl ist er größer (und bringt somit mehr 
unnötige Pins mit). Er hat nur zwei 16-Bit-PWM. Sein interner 
RC-Oszillator ist schlechter. Er hat weniger Flash und RAM. Und: Er ist 
nicht wirklich billiger!

von Christian H. (c_h)


Lesenswert?

Ich fände es sinnvoll, mit 20cm x 20cm Platinen von Elecrow zu arbeiten 
und einfach das zu machen, was Julius unter 
http://www.it-gecko.de/100pixel-rgb-led-tisch-interaktiv-touch.html 
gemacht hat, nur ohne Lochraster und ohne Krimpen von Kabeln. Dank 
billigerer PCBs als Julius vermutlich zur Verfügung hatte (?) kann 
einfach die gesamte Fläche des Tischs unten PCB sein.

Oder wieso hat er das so gemacht wie er es gemacht hat mit 1200 Adern? 
Wieso hat er für jeden Pixel eine kleine Lochrasterplatine benutzt, die 
dann lose oder geschraubt im Kästchen liegt? Vermutlich nur um 
PCB-Herstellungskosten zu sparen, außerhalb von China wäre das ja auch 
unbezahlbar. Oder hat einer eine andere Idee warum er das gemacht hat?

Und wenn jetzt hier der Plan ist, dass ein Pixel 5cm x 5cm groß ist und 
gleichzeitig das PCB aber auch volle 5cm x 5cm groß ist, wird ja doch 
die volle Fläche zu bezahlen sein. Nur wenn ihr den Attiny, RGBs & co 
und Stecker auf ein kleineres PCB macht, lohnen sich meiner Meinung nach 
der Aufwand für Kabel oder Schrauben und die Pixel-Platinen würden in 
dem Kästchen liegen und viel Raum um sich haben, so wie bei Julius.

Der teure IS471F liefert ein Digitalsignal und braucht kein ADC.
Das Shift-Register dazu (74HC165) gibt es bei Reichelt und den 
PWM-Controller mit 12 Bit billig bei Aliexpress:
http://www.aliexpress.com/item/100-Original-TLC5940NT-TLC5940-TI-LED-Driver-DIP-28/1468213464.html
(ob es eine Fälschung ist weiß ich nicht).
Kein SMD nötig!

Dadurch ist eine robuste (wenn auch mit 2,50 EUR sehr teure) 
Bewegungserkennung gegeben und die Platinen sind kaskadierbar als Daisy 
Chain, weil eben sowohl der 74HC165 als auch der TLC5940 die Daten 
durchreichen können.

Wichtig ist nur, es so zu layouten, dass die Chips nicht mit den 
Kästchenrahmen kollidieren und nicht hässlich durch das Plexiglas 
durchscheinen, oder die Chips auf die Unterseite des PCBs machen, dann 
muss aber das Plexiglas oder Glas alleine den Druck von oben halten.
Elecrow würde aber vermutlich auch ohne Aufpreis Stege in die Platinen 
fräsen, die nicht komplett durchgehen, so dass der Holzrahmen teilweise 
durch das PCB durchgehen könnte um auf eine stabile Platte unterhalb des 
PCBs zu drücken. Wird halt dann nur noch komplizierter, die 
Kästchen-Kämme zu sägen...

Natürlich ist diese Vorgehensweise vollkommen abweichend von den Dingen, 
die im Thread alle verfolgt werden (Protokoll, Intelligenz pro Pixel, 
volle Flexibilität für Anordnung und Abstand und Anzahl der Pixel...), 
aber man könnte zumindest die Kosten prüfen: Der ADC-Kanal ist der 
Preis, auf den teuren IS471F verzichten zu können und billige 
IR-Empfänger verwenden zu können!

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
> Nein. Solange der TXD1 des Vorgänger-Pixels enabled ist, produziert er
> einen High-Pegel an SCK.

richtig, war ich zu voreilig, man könnte evtl noch ein Diagnose Commande 
verwenden womit alle Pixel ihr TX irgendwie abschalten und erst wenn sie 
etwas empfangen (vom vorigen) ihre UARTs wieder vollständig einschalten, 
aber das ist zu aufwendig denke ich...

> Fest? Nein, einfach nur beim Booten die Chain(s) durchzählen lassen. Die
> Reihenfolge in der Chain hat dann eigentlich nur aus rein pragmatischen
> Erwägungen eine ¨feste Beziehung¨ zur physischen Anordnung der Pixel.
Du meinst der Master schickt ein "Zähl-Kommando" und jeder hängt den 
laufenden Counter entsprechend höher und weiß vom Vorgänger an welcher 
Stelle er nun liegt? Wäre eine einfache gute Möglichkeit :-)

Konrad S. schrieb:
> Nachteile gibt es auch: weniger flexibles System, die ¨anderen
> Kontroller¨ sind noch weniger Bastler-lötfreundlich als SOIC, ...

Gerade die Flexibilität war ja das was hier etwas im Vordergrund steht. 
Weil der eine 20x10 der andere 5x3 Pixel oder wie auch immer haben will. 
Die Variante ist günstiger keine Frage, aber will das hier auch jeder?

Konrad S. schrieb:
> ATtiny2313: Bezüglich Pin-Anzahl ist er größer (und bringt somit mehr
> unnötige Pins mit). Er hat nur zwei 16-Bit-PWM. Sein interner
> RC-Oszillator ist schlechter. Er hat weniger Flash und RAM. Und: Er ist
> nicht wirklich billiger!
nächste mal sollt ich doch vorher recherchieren bevor mir was rausplatzt 
:-)

Christian H. schrieb:
> Oder wieso hat er das so gemacht wie er es gemacht hat mit 1200 Adern?
> Wieso hat er für jeden Pixel eine kleine Lochrasterplatine benutzt, die
> dann lose oder geschraubt im Kästchen liegt? Vermutlich nur um
> PCB-Herstellungskosten zu sparen, außerhalb von China wäre das ja auch
> unbezahlbar. Oder hat einer eine andere Idee warum er das gemacht hat?
Irgendwo hat er geschrieben, dass dies während seiner anfangs 
Studienzeit entstanden ist. Deswegen tippe ich, dass das Wissen dafür 
evtl. noch nicht vorhanden war oder auch einfach sein Basteltrieb ihn 
auf Lochraster etc. gebracht hat. Deswegen wollen wir hier eine 
ausgeklügelte einfachere,schnellere und günstigere Alternative schaffen 
! :-)
>
> Und wenn jetzt hier der Plan ist, dass ein Pixel 5cm x 5cm groß ist und
> gleichzeitig das PCB aber auch volle 5cm x 5cm groß ist, wird ja doch
> die volle Fläche zu bezahlen sein.
Also ich habe gerade mal fix einen Schaltplan gemacht und kurzes Layout, 
ich denke mit 45x45mm kommen wir mehr als genug hin für einen Pixel. 
Könnten sicher noch kleiner werden.

> Dadurch ist eine robuste (wenn auch mit 2,50 EUR sehr teure)
> Bewegungserkennung gegeben und die Platinen sind kaskadierbar als Daisy
> Chain, weil eben sowohl der 74HC165 als auch der TLC5940 die Daten
> durchreichen können.
Wie oben beschrieben habe ich den Sensor getestet. Ist wirklich ein 
einwandfreier Sensor mit integriertem Filtering etc. Nur für 2,50 
bekommen wir fast eine komplette Pixelplatine hin von daher sprengt der 
Sensor enorm die Kosten. 100 x 2,50 = 250eus (ohne Rabatt) rein für den 
IR-Sensor. Ich bin begeistert von dem Teil aber das ist es mir nicht 
Wert ;-)

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> nächste mal sollt ich doch vorher recherchieren bevor mir was rausplatzt
> :-)

Gerade die Recherche bei Preisen ist schwierig, finde ich. Oben schrieb 
z.B. einer vom LPC11?? für 0.??€, den habe ich aber nur zu einem 
deutlich höheren Preis gefunden.

> Also ich habe gerade mal fix einen Schaltplan gemacht und kurzes Layout,
> ich denke mit 45x45mm kommen wir mehr als genug hin für einen Pixel.
> Könnten sicher noch kleiner werden.

Man könnte die Platine, um Fläche zu sparen, auch als schmalen Streifen 
vorsehen, gerade lang genug um die Stromschienen zu erwischen und nur so 
breit wie nötig. 35x20mm oder sowas.

Wie auch immer, das muss als System geplant werden. Egal wo man dreht, 
es hat oft an anderer Stelle Konsequenzen. Schnellschüsse bringen da 
nichts.

von Basti (Gast)


Lesenswert?

Zum ISP... man kann auch alle Resets verbinden... dann kann keine 
anderer Controller rein quatschen... darf nur nicht an jedem reset 100 
nF hängen ;)

Ich weiß nicht ob ihr alle unter einen Hut bekommt... das läuft ja schon 
recht lange hier...

Ich kann nur davon abraten mit einem Mikrocontroller und Vorwiderständen 
die LEDs zu betreiben... Konstantstromquellen mit 2% von Kanal zu Kanal 
und 5% von Chip zu Chip haben bei mir schon leichte Unterschiede zeigen 
lassen... Ohne guten Konstantstrom wird man aber auf der Konstruktion 
den unterschiedlichen Spannungswerten nicht Herr...

von Tobi (Gast)


Angehängte Dateien:

Lesenswert?

Ich bin seit längeren auch dabei ein LED tisch zu bauen und schreibe hir 
mal meine erfahrungen. Mein Tisch hat 12x8 Felder mit einer Feldgröße 
von 5cmx5cm. Für die Beleuchtung nehme ich pro feld 2 ws2811 LEDs. Für 
die Berührungserkennung kommt in jedes Feld eine IR-LED und ein 
IR-Fototransitor. Die IR-LED wird mit 200kHz moduliert um störendes 
Fremdlich zu filtern. Die geplante Filterschaltung befindet sich im 
Anhang (Verstärkung der OPs muss noch angepasst werden) und wird zum 
schluss 8x Aufgebaut (Multiplexen der Fototransistoren).
Als Fototransistor nehme ich:
http://de.mouser.com/ProductDetail/Everlight/EL-PT15-21B-TR8/?qs=sGAEpiMZZMs50KUSuyRkpgKT0SUtKLb%252bZwTGgpPx6fw%3d
und als LED die:
http://www.conrad.de/ce/de/product/181712/IR-Emitter-940-nm-60-3-mm-radial-bedrahtet-Harvatek-HE3-160AC?ref=list
Mit den Aufbau konnte ich ein Strom am Fototransistor von
Störende Schreibtischlampe: 0,729µA
LED ohne Berührung: 216µA
LED mit Berührung: 260µA
Fernbedinung: 162µA
messen.

von Ast E. (vis)


Lesenswert?

Basti schrieb:
> Ich kann nur davon abraten mit einem Mikrocontroller und Vorwiderständen
> die LEDs zu betreiben... Konstantstromquellen mit 2% von Kanal zu Kanal
> und 5% von Chip zu Chip haben bei mir schon leichte Unterschiede zeigen
> lassen... Ohne guten Konstantstrom wird man aber auf der Konstruktion
> den unterschiedlichen Spannungswerten nicht Herr...

wie würdest du denn allgemein überhaupt die Spannungsversorgung 
realisieren?!

von Nosnibor (Gast)


Lesenswert?

Basti schrieb:
> Ich kann nur davon abraten mit einem Mikrocontroller und Vorwiderständen
> die LEDs zu betreiben... Konstantstromquellen mit 2% von Kanal zu Kanal
> und 5% von Chip zu Chip haben bei mir schon leichte Unterschiede zeigen
> lassen... Ohne guten Konstantstrom wird man aber auf der Konstruktion
> den unterschiedlichen Spannungswerten nicht Herr...

Solange dabei nur Exemplarstreuungen entstehen, kann man das Problem auf 
die Software abwälzen, indem jedes Pixel in seinem EEPROM entsprechende 
Korrekturwerte speichert.

Die Spannungsversorgung ist natürlich ein anderes Problem: wenn nicht 
jedes Pixel einen eigenen Spannungsregler bekommt, wird die tatsächlich 
anliegende Spannung immer von der Last abhängen, und zwar nicht nur von 
der Last, die das Pixel selbst darstellt, sondern auch von der Belastung 
durch alle Pixel auf dem Weg bis zur Spannungsquelle. Theoretisch sollte 
der Master das berechnen und kompensieren können, aber der Abgleich (für 
jedes Pixel messen, wie es jedes andere beeinflußt) wäre wohl zu 
aufwendig.

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> man könnte evtl noch ein Diagnose Commande
> verwenden womit alle Pixel ihr TX irgendwie abschalten

Ich gehe mal davon aus, dass bei notwendiger ISP-Programmierung die 
Kommandos über die Chain nicht mehr funktionieren. Würden sie noch 
funktionieren, dann bräuchte man den ISP nicht. ;-)
(Man kann natürlich ganz schlicht beim Vorgänger-Pixel Reset 
provisorisch mit GND verbinden. Aber bei 100 oder mehr Pixel? Würg!)
Unterm Strich: Ohne Not lieber die Finger vom USART1 lassen.

Basti schrieb:
> Zum ISP... man kann auch alle Resets verbinden... dann kann keine
> anderer Controller rein quatschen

Hm, ob das jeder Programmer mitmacht, wenn er 100 Eingänge treiben soll? 
Außerdem wäre das eine zusätzliche Verbindung, die von Pixel zu Pixel 
geführt werden müsste.

Basti schrieb:
> Ohne guten Konstantstrom wird man aber auf der Konstruktion
> den unterschiedlichen Spannungswerten nicht Herr

Bei dem Ansatz mit 0.1mm-Kupferfolie als Stromschiene kann jede 
Stromschiene einen Querschnitt von 4mm² haben, d.h. die Folie ist 40mm 
breit. Davon müssten dann zwei Pixelreihen versorgt werden, bei einem 
10x10-Tisch also 20 Pixel.
0.1mm-Kupferfolie kostet hier 
http://de.opitec.com/opitec-web/c/zz/cID/c3I6ODA1OTk4MQ==/searchResult.jsf 
28.86€/m².

von Konrad S. (maybee)


Lesenswert?

Nosnibor schrieb:
> Solange dabei nur Exemplarstreuungen entstehen, kann man das Problem auf
> die Software abwälzen, indem jedes Pixel in seinem EEPROM entsprechende
> Korrekturwerte speichert.

Mit einem KPS-5130PD7C Farbsensor 
http://www.conrad.de/ce/de/product/180381 alle Pixel (im eingebauten 
Zustand) abgleichen.
Der Master fährt ein Abgleichprogramm, bei dem der User den Farbsensor 
nach Blinkzeichen weiterbewegt. Wenn der Master alle Messwerte beisammen 
hat, errechnet er neue PWM-Lookup-Tabellen und macht das Update für alle 
Pixel.

von avr (Gast)


Lesenswert?

Ich bin mal über diesen IC gestolpert:
http://www.tme.eu/de/details/sct2210cstg/led-treiber/starchips-technology/#
16x Konstantstromquelle Schieberegister

Ohne PWM, dafür ein echt günstiger Preis (~10cent / RGB-Led). Und man 
spart sich einen Haufen Widerstände zum löten.

PWM für die einzelnen Kanäle wird aber nur noch mit hohem 
Softwareaufwand möglich sein. BAM (Bit-angle-Modulation) ist dagegen 
recht einfach und ohne Probleme bis ~12bit implementierbar.

von asterix (Gast)


Lesenswert?

Konrad S. schrieb:
> Bei dem Ansatz mit 0.1mm-Kupferfolie als Stromschiene kann jede
> Stromschiene einen Querschnitt von 4mm² haben, d.h. die Folie ist 40mm
> breit. Davon müssten dann zwei Pixelreihen versorgt werden, bei einem
> 10x10-Tisch also 20 Pixel.
> 0.1mm-Kupferfolie kostet hier
> http://de.opitec.com/opitec-web/c/zz/cID/c3I6ODA1O...
> 28.86€/m².

was vertragen diese Folien denn? eignen die sich als "Träger" für die 
Spannungsversorgung? habe leider noch nie mit solchen Folien gearbeitet

von Basti (Gast)


Lesenswert?

@Nosnibor kann man schon, will man das? Bei 16 Bit PWM kann man auch die 
eingehenden VCC messen und danach die LED PWM anpassen... die Kurve ist 
aber alles andere als linear... was das an programmier und vor allem 
testaufwand bedeutet... ui ui ui... das ist IMO nichts, was man sofort 
in eine Sammelbestell-Platine verpacken kann... weil das erst erprobt 
werden sollte...

@Tim hm, bei meiner Matrix habe ich sehr große Masse und VCC Flächen 
hinbekommen und diese auch in 4 Richtungen ordentlich verteilen können:
http://www.ledstyles.de/index.php/Thread/20531-Matrixsystem-Vorstellrunde/

Letztendlich hat ein Einspeisepunkt bei 20 A Maximalstrom ausgereicht 
(dank Konnstantstrom ;) )

Wird aber bei euerm Aufbau nicht so leicht, da viel mehr drauf muss... 
Würde hier im einfachsten Fall blanken 0,75 mm² Draht links und rechts 
der Platinen führen und den auf irgend ne passend dafür eingelötete 
"klemm Gabel" drücken... Was man dafür "missbrauchen" könnte, wäre noch 
herauszufinden...

von Konrad S. (maybee)


Lesenswert?

asterix schrieb:
> was vertragen diese Folien denn? eignen die sich als "Träger" für die
> Spannungsversorgung? habe leider noch nie mit solchen Folien gearbeitet

Welcher Art sind deine Bedenken? Kupfer als Leiter? Stört dich, dass die 
Folie dicker ist als die Kupferauflage einer Leiterplatte?

Eher interessant ist die Frage, ob man bei einer Unterkonstruktion aus 
Holz zwischen Holz und Kupferfolie eine isolierende Kuststofffolie 
einlegen sollte. Oder ob man auch z.B. selbstklebendes 
Dachschutz-Kupferband nehmen könnte.

von M. G. (hummer87)


Lesenswert?

Hallo,

ich habe mal eine Frage,
habt Ihr einmal ausgerechnet, was ihr für Sträme erwartet?

Ich habe mir mal kurz eine Matrix aus Pixeln von 8x8 RBS hergenommen.

Wenn alle LEDs mit einmal Leuchten ergibt sich folgende Rechnung
(Ich hoffe ich bekomm es richtig zusammen)

!!! Wenn alle LEDs leuchten !!!

Matrix(RGB) 8x8x3 = 192LED
LED Strom : 0,02A

192 * 0,02A = 3,84A
              ======

Nun könnten wir ja auch mehrere Pixel auf eine Platine bringen und dies 
als Matrix aufbauen. Da hier maximal nur eine Spalte an ist ergibt sich 
folgende Rechnung:

Spalte(RGB) = 8*3 = 24LEDs
LED Pulsstrom = 0,1A

24*0,1 = 2,4A
         =====

Wir würden hierbei schon wieder Stromsparen

Eine weitere möglichkeit wäre auch Charliplexing, hier weiß ich aber 
nicht, ab das realisierbar ist, da dieses System eigentlich für etwas 
anderes ausgelegt ist.

Habe ich ein Berechnungsfehler?
Eine Matrix zwar ist zwar etwas aufwändiger zu realisieren (Treiber 
usw.) aber auf die Dauer Kostengünstiger) oder?

von asterix (Gast)


Lesenswert?

Basti schrieb:
> Wird aber bei euerm Aufbau nicht so leicht, da viel mehr drauf muss...
> Würde hier im einfachsten Fall blanken 0,75 mm² Draht links und rechts
> der Platinen führen und den auf irgend ne passend dafür eingelötete
> "klemm Gabel" drücken... Was man dafür "missbrauchen" könnte, wäre noch
> herauszufinden...

an so etwas ähnliches hatte ich auch schon gedacht... einen Kupferdraht 
an alle Pixel führen und festgehalten wird das ganze durch eine Schelle 
oder Klemme oder irgendwas...

Konrad S. schrieb:
> asterix schrieb:
>> was vertragen diese Folien denn? eignen die sich als "Träger" für die
>> Spannungsversorgung? habe leider noch nie mit solchen Folien gearbeitet
>
> Welcher Art sind deine Bedenken? Kupfer als Leiter? Stört dich, dass die
> Folie dicker ist als die Kupferauflage einer Leiterplatte?
keine Sorgen, nur ich weiß nicht wie diese Kupferfolien sich im 
Gegensatz zu "normalen" Drahtleitern verhalten, gibts doch vllt. andere 
Eigenschaften. Aber wenn ihr meint damit lässt sich das lösen, wäre es 
ja eine schöne alternative

von asterix (Gast)


Lesenswert?

schönes Tischdesign übrigens! Den Post hatte ich noch gar nicht gesehen

von Christian H. (c_h)


Lesenswert?

@hummer87:
Wenn die Spalten gemultiplext werden, wird es wohl Strom sparen. Aber 
ist das ein Argument dafür es so zu bauen? Solange nur 10, 12 oder 16 
Bit PWM verfügbar ist, kann der gleiche Stromspareffekt ja einfach per 
Firmware erzielt werden: Einfach keine höheren Helligkeiten erlauben als 
ein bestimmer wert. Dann bleibt auch die maximale Stromaufnahme und 
Dicke der Leitungen doch im Rahmen, oder? Insbesondere wenn die 
PWM-Controller phasenversetzt arbeiten.

von M. G. (hummer87)


Lesenswert?

Christian H. schrieb:
> Insbesondere wenn die
> PWM-Controller phasenversetzt arbeiten.

An Phasenversetzte PWM habe ich noch garn nicht gedacht. schönes Thema.
Habe ich mich noch nicht damit beschäftigt.

Dann würde ich ja bei einer RGB LED nur maximal 20mA Strom ziehen, 
obwohl alle 3 LEDs an sind?
Klingt wunderbar, wenn es Umsetzbar ist.

von Konrad S. (maybee)


Lesenswert?

Christian H. schrieb:
> @hummer87:
> Wenn die Spalten gemultiplext werden, wird es wohl Strom sparen. Aber
> ist das ein Argument dafür es so zu bauen? Solange nur 10, 12 oder 16
> Bit PWM verfügbar ist, kann der gleiche Stromspareffekt ja einfach per
> Firmware erzielt werden: Einfach keine höheren Helligkeiten erlauben als
> ein bestimmer wert. Dann bleibt auch die maximale Stromaufnahme und
> Dicke der Leitungen doch im Rahmen, oder?

Oder! PWM schaltet unterschiedlich lange ein/aus. Auf die Stromstärke 
bei einer einzelnen LED hat es keinen Einfluss. Legst du die Leitungen 
nur auf die mittlere Stromstäke aus, dann bekommst du deutlichere 
Spannungseinbrüche.

> Insbesondere wenn die
> PWM-Controller phasenversetzt arbeiten.

Im Prinzip ja. Aber sobald du Überlappungen hast, musst du doch wieder 
den vollen Strom bereitstellen. Und du musst dich bei der maximal 
erreichbaren Helligkeit einschränken. Ebenso bei der nutzbaren 
PWM-Auflösung.

von Basti (Gast)


Lesenswert?

Ohne Strom oder An-Zeit der PWM keine Helligkeit...

Ich hab ein 2,5 cm Raster und mir hätten 3x7 mA gereicht... bei 5 cm 
Raster sollte wohl 3x20 mA reichen...

Aber von den Rastermaßen bin ich weg... ich möchte nicht nur ein paar 
"Klötzer" aufleuchten lassen... ich stell mir ein paar richtig schicke 
Animationen vor...

Hat schon mal jemand mit großen resistiven Touchfolien expermentiert? 
Bisher hab ich die nur ab 70 € gesehen... :-/ Multitouch wäre natürlich 
auch schick... gibts da schon was günstiges von den Chinesen?

von Borislav B. (boris_b)


Lesenswert?

Basti schrieb:
> Aber von den Rastermaßen bin ich weg... ich möchte nicht nur ein paar
> "Klötzer" aufleuchten lassen... ich stell mir ein paar richtig schicke
> Animationen vor...

Dann kauf doch einfach einen 60"-Fernseher und lasse ihn in einen Tisch 
ein. Dann noch eine Touch-Folie drauf und fertig.

Dürfte sogar fast schon billiger sein, als unser Pixel-Projekt ;-)

von asterix (Gast)


Lesenswert?

Basti schrieb:
> Wird aber bei euerm Aufbau nicht so leicht, da viel mehr drauf muss...
> Würde hier im einfachsten Fall blanken 0,75 mm² Draht links und rechts
> der Platinen führen und den auf irgend ne passend dafür eingelötete
> "klemm Gabel" drücken... Was man dafür "missbrauchen" könnte, wäre noch
> herauszufinden...

in etwa sowas?

http://www.pollin.de/shop/dt/NTkyODQ1OTk-/Bauelemente_Bauteile/Mechanische_Bauelemente/Steckverbinder_Klemmen/SMD_Leiterplattenklemme_WAGO_2060_0402_2_polig.html

von Basti (Gast)


Lesenswert?

Hö? Ne... wer soll das bezahlen, wenn ihr so viele Platinen machen 
wollt... dachte an was einfacheres für nen cent... sonst bist du allein 
mit dem WAGO Ding bei 50 €...

Im Notfall so was... und dann doch fest löten... wenns was schönes gibt, 
was alleine Klemmt, wäre noch besser...

http://static1.tme.eu/katalog_pics/3/c/9/3c9e7912d075ae736086152ffdf1dee9/1001.28.jpg

von Ast E. (vis)


Lesenswert?

mit dem Preis ist klar... aber vielleicht gibt es ja in der Richtung 
irgendwelche billigen Klemmen die man verwenden kann

von asterix (Gast)


Lesenswert?

http://www.reichelt.de/Kabelschuhe/QS-1-5-4/3/index.html?&ACTION=3&LA=2&ARTICLE=24827&GROUPID=3250&artnr=QS+1%2C5-4

oder

http://www.reichelt.de/Flachstecker/RK-R-4/3/index.html?&ACTION=3&LA=2&ARTICLE=15260&GROUPID=3249&artnr=RK-R-4

knapp 3euro für 100stück :-)

die Versorgung von Teilnehmer zu Teilnehmer "schleifen" sollte damit 
einfach und schnell machbar sein oder nicht?

von Basti (Gast)


Lesenswert?

Schnell? Naja... alles relativ

Ich hätte es so gemacht: diesen oben gezeigten Lötstift in die Platine 
einlöten... Ein 0,75er Draht (massiv) Abisolieren und auf erste Lötstift 
einer Reihe anlöten, dann einfach zur nächsten Platine ziehen, anlöten, 
weiter anlöten bis zum Ende... Draht zur nächsten Reihe weiter biegen 
und weiter gehts... Könnte mir vorstellen, dass man damit in 30 Minuten 
bei 100 Platinen durch ist...

Noch besser wäre, wie schon erwähnt, ein Stift der das blanke Kabel nur 
klemmt ohne es trennen zu müssen.... ähnlich wie bei Netzwerkkabel

Da ist man bei den Kabelschuhen noch dabei, 200 Kabelstücke jeweils zwei 
mal abzuisolieren... :P

Wenns richtig teuer sein darf, schnell Aufgebaut und flexible, wäre der 
ASI Bus genau das richtige... Einfach das selbstheilende ASI Kabel in 
die Klemme drücken und mit zwei Leitungen Spannung und Datenbus bereit 
gestellt ... naja, man wird ja noch träumen dürfen :D

Grüße

Basti

von Ast E. (vis)


Lesenswert?

Geil wäre wenn man einfach die nackte Ader wo rein "klippt" und gut... 
wäre für alle Pixel eine Arbeit von 30sek :D

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> Geil wäre wenn man einfach die nackte Ader wo rein "klippt" und gut...

Sowas wie "Abzweigverbinder", z.B. in der KFZ-Elektrik?

Lästig bleibt dabei in jedem Fall die Kabelführung. Irgendwie muss das 
Kabel durch die Pixelwand. Und beim Aufsetzen der Pixelwände hat man 
nicht für jedes Pixel eine Hand, die das/die Kabel in die richtige 
Position drückt.

von Basti (Gast)


Lesenswert?

Wenn du keine durchgängige Platine hast, wird das eh immer auf einen zu 
kommen... seh hier aber keine größeren Probleme...

Die KFZ Teile schneiden die Litzen recht stark... Verwende die nicht so 
gern...

von Ast E. (vis)


Lesenswert?

Basti schrieb:
> Wenn du keine durchgängige Platine hast, wird das eh immer auf
> einen zu
> kommen... seh hier aber keine größeren Probleme...
das denke ich auch... zumal du ja die trennwände einzeln hantieren 
kannst...
>
> Die KFZ Teile schneiden die Litzen recht stark... Verwende die nicht so
> gern...


ich weiß nicht ob es sowas gibt, ich habe eine klettverbindung gefunden 
für normale NYM kabel
http://www.voelkner.de/products/162431/400-xl.jpg
statt dem klett eben metall (mit verbindung zur platine), wo das kabel 
reingelegt wird und man nur "umklappen" oder schrauben brauch zum 
befestigen... das wäre dann sowas von einfach :-) aber die oben 
geposteten flachstecker oder kabelschuhe find ich auch vällig okay, dann 
muss nur vcc/vss durch die platinen geführt werden, weiß nicht ob das so 
gut ist

von nicht Gast (Gast)


Lesenswert?

Vielleicht lässt sich die IR Objekt Erkennung recht einfach mit den 
xmega e realisieren. Die empfangsschwelle lässt sich über den analog 
Komparator und dem DAC steuern. Die (de)modulation kann er 
möglicherweise in Hardware. Ich habe damit aber selbst noch nichts 
gemacht. Die demodulation sollte aber auch in Software kein Problem 
sein. Bei dieser Lösung bräuchte man für led und Fotodiode nur je einen 
widerstand.

von Ast E. (vis)


Lesenswert?

hmm der Rest hier ist wohl leider wieder etwas verhindert ;-/

von Konrad S. (maybee)


Lesenswert?

Hat wohl was mit der Fußball-WM zu tun. Seitdem ist's hier ruhig 
geworden. ;-)

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
> Hat wohl was mit der Fußball-WM zu tun. Seitdem ist's hier ruhig
> geworden. ;-)

die schau ich doch ebenfalls, sollte doch aber kein Hindernis oder ;-)

von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> sollte doch aber kein Hindernis oder ;-)

Hängt davon ab, wie lange der Einzelne braucht, um mit den Folgen der 
jeweiligen Freuden- oder Trauerfeier fertig zu werden. ;-)

von Basti (Gast)


Lesenswert?

na Tim, dann bau doch schon mal los?! Nen XMega und nen paar Fotodioden 
ne SPI Verbindung und du weißt schon mal, ob das so funktioniert (auch 
durchs Plexi) wie du es dir vorstellst... Einer muss doch den Anfang 
machen... sonst passiert hier sicher nicht mehr viel...

Meinst du evtl. solche Verbinder? -> 
http://www.emico.de/shop_emico/images/artikel/list/180_189.jpg

von M. G. (hummer87)


Lesenswert?

Hallo,

wollte mal Fragen, ob es denn schon einem Schaltplan gibt.
Eventuell vllt. auch eine Bestellliste der einzelnen Bauteile, damit 
auch alle mit den gleichen Teilen Testen können.

Ich würde mich über eine kleine Zusammenfassung freuen, wie weit vllt 
schon der ein oder andere gekommen ist.

von Tim R. (Gast)


Lesenswert?

Basti schrieb:
> na Tim, dann bau doch schon mal los?! Nen XMega und nen paar
> Fotodioden
> ne SPI Verbindung und du weißt schon mal, ob das so funktioniert (auch
> durchs Plexi) wie du es dir vorstellst... Einer muss doch den Anfang
> machen... sonst passiert hier sicher nicht mehr viel...
Werde ich machen sobald die Zeit da ist. Nur neuer Job und ein 
anstehender Umzug spielen mir nicht gerade in die Karten, deswegen 
erstmal noch theoretisches "Geplänkel" :-/
>
> Meinst du evtl. solche Verbinder? ->
> http://www.emico.de/shop_emico/images/artikel/list...

Ja, für die blanke Ader der Versorgungsspannung wäre das doch einfach 
und kostengünstig oder nicht ?

M. G. schrieb:
> wollte mal Fragen, ob es denn schon einem Schaltplan gibt.
> Eventuell vllt. auch eine Bestellliste der einzelnen Bauteile, damit
> auch alle mit den gleichen Teilen Testen können.

Ich hatte Schaltplan und Layout letzte Woche sporadisch mal angefangen. 
War nur halb fertig bzw. müsste da mal jemand drüber schauen, bin 
sicherlich kein Elektronik spezi... ich werde es heut Abend einfach mal 
hochladen

von Tim R. (Gast)


Lesenswert?

ps: ich nehme an der Attiny841 ist dann fest wenn keine weiteren 
Einwände kommen?

@Basti, mit den Fotodioden wurde bereits getestet und ein schönes Video 
(siehe oben) dazu auf Youtube geladen. Deswegen denke ich sind die 
Komponenten für das Touch schon mal ermittelt. Mache mir eher um das 
Bussystem und die Versorgung noch Sorgen

von M. G. (hummer87)


Lesenswert?

nicht Gast schrieb:
> Vielleicht lässt sich die IR Objekt Erkennung recht einfach mit den
> xmega e realisieren

Tim R. schrieb:
> ps: ich nehme an der Attiny841 ist dann fest wenn keine weiteren
> Einwände kommen?

"Da waren Sie wieder, unsere drei Probleme!"

Wenn wir mit einer einzelnen LED auf der Platine arbeitem, macht 
sicherlich der Attiny841 sinn.

Sollte dennoch der Gedanke im Raum stehen, mehrere LEDs auf eine Platine 
zu bringen, würd der XMega eventuell mehr sinn machen. (Auch weitere 
Faktoren spielen eine Rolle: z.B. die Frequenz der Datenübertragung kann 
beim XMega viel höher gewählt werden.)

Ein Anforderungsprofil, an welchen nicht mehr gerüttelt wird, wäre sehr 
sinnvoll.

Dann was irgendwo mal einer geschrieben hat, findet man nicht mehr so 
leicht wieder. Es gibt doch eine Projektseite, in der Festlegungen, 
welche hier diskutiert wurden, reingeschrieben werden können.

Desweiteren können auch Schaltpläne schon angefertigt werden, um zu 
sehen, ob noch weitere Bauteile benötigt werden, wo der Preis liegt, 
eventuell weitere Zusatzbauteile (wie Spannungsregler usw.) mit 
vorgesehen werden sollen.

Tim R. schrieb:
> Ich hatte Schaltplan und Layout letzte Woche sporadisch mal angefangen.

Bitte poste ihn doch mal, dann können mehrere Leute weiterarbeiten, 
Verbesserungen geben, und den Fortschritt mit begleiten.

Wenn alle Bauteile spezifiziert sind (Gehäuseform) dann kann auch ein 
anderes Mitglied das Layout machen.

Es muss ja nicht einer alles machen.

Bin sehr gespannt, wann der erste Prototyp das erste Lebenszeichen von 
sich gibt :-)

von Sam .. (sam1994)


Lesenswert?

M. G. schrieb:
> Wenn wir mit einer einzelnen LED auf der Platine arbeitem, macht
> sicherlich der Attiny841 sinn.

Natürlich hat man mit diesem Ansatz ein sehr modulares Design, mit all 
seinen Vorteilen. Aber es treibt auch den Preis massiv in die Höhe. Ich 
habe mich mal umgeschaut was einzelne Leds kosten würden. Inzwischen 
sind diese so günstig geworden, dass man alleine für den µC 20 Leds 
bekommt.

http://de.aliexpress.com/item/1000PCS-LOT-5050-highlighted-red-green-and-blue-LED-light-emitting-diode-RGB-LED/1759436080.html
http://de.aliexpress.com/item/free-shipping-10000pcs-lot-5mm-LED-IR-water-clear-led-diode-850nm-940nm-LED-Light-Emitting/1665949654.html
http://de.aliexpress.com/item/2-X-1000-pcs-Lot-3MM-940NM-Photodiode-Infrared-Emission-Controls-FZ0444-Free-Shipping/1508783472.html

Macht ~7ct inkl. MwSt. pro Pixel ohne Ansteuerung.

Der Gesamtpreis sinkt enorm je mehr Pixel von einem µC angesteuert 
werden können.

Es wäre es eine Überlegung wert (ich glaube der Vorschlag wurde schon 
genannt), 15x1cm² oder 20x1cm² Platinenstreifen zu benutzen und damit 
jeweils 4 Pixel zu realisieren.

Man muss auch nicht einen µC wählen der alle Peripherie enthält, die 
gebraucht wird. Wenn man schon 1000 µCs bestellt kann man auch mit 
Softpwm und ähnlichen Tricks arbeiten (der Attiny24 günstiger als sein 
Nachfolger).

von M. G. (hummer87)


Lesenswert?

Sam .. schrieb:
> Es wäre es eine Überlegung wert (ich glaube der Vorschlag wurde schon
> genannt), 15x1cm² oder 20x1cm² Platinenstreifen zu benutzen und damit
> jeweils 4 Pixel zu realisieren.

Ja, ich hatte glaube auch einen Vorschlag gemacht, mit 15x15 oder 
20x20cm Platinenen, das ist dann nicht mehr modular, bricht aber die 
Kosten enorm runter, was die µC angeht.

Ebenfalls benötigt man von vielen sachen nur ein geringe Menge.
z.b. fürden eventuelle Spannungswandler enorm reduziert, Steckverbinder, 
uvm.
Auch der Verkabelungsaufwand wird geringer.


Ebenso war im Gespräch die Platinen auch bestücken zu lassen.
wenn ich mich nicht täusche wird die Bestückung nach Bauteilen und 
Platinen berechnet.

die bauteile würden sich ebenfalls reduzieren, und die zu bestückenden 
Platinen auch. Also wieder Kosten eingespart.

Ok, die Platinen werden dann pro Stück teuerer. aber bei entsprechender 
Menge, nimmt sich das nicht viel.

Wenn es doch eh ein Tisch/Wand/etc. werden soll, dann kann man auch 
vorgeben, das mindestens eine Platine aus z.B. 5x5 Pixeln besteht. damit 
bekommt man auch sehr gut eine Vielzahl von Vorman hin. z.B. 100x100 
pixel, 200x50 pixel.

Auch mit 10x10 Pixeln lassen sich dies alles realisieren.

Ehrlichgesagt ist dies immernoch meine erste Wahl, und ich sehe nur 
vorteile.

Habt ihr eine andere Meinung

von Borislav B. (boris_b)


Lesenswert?

M. G. schrieb:
> Wenn es doch eh ein Tisch/Wand/etc. werden soll, dann kann man auch
> vorgeben, das mindestens eine Platine aus z.B. 5x5 Pixeln besteht. damit
> bekommt man auch sehr gut eine Vielzahl von Vorman hin. z.B. 100x100
> pixel, 200x50 pixel.

Ich finde diesen Weg eigentlich auch super. Es wird nur schwierig, sich 
mit "alle Mann" auf eine Rstergröße zu einigen, oder?
Mein favorit wäre auch 20cm x 20cm Platinen, mit 4x4 oder 5x5 Pixeln.

PS: Mal eine dumme Anfängerfrage: sehe ich das richtig, das 
Stromverbrauch von dem Ding gigantisch wird?
Kleine Worst-Case-Rechnung: Für einen 1,6m x 1m Tisch, mit 8x5 20cm 
Platinen mit jeweils 5x5 Pixeln komme ich auf genau 1000 Pixel. Jeder 
Pixel hat 4 LEDs (RBG + IR), mit 20mA. Insgesamt also 80 Ampere?

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Sam .. schrieb:
> Attiny24

Mach mal einen Vorschlag, wie damit die Kommunikation aussieht.

von Konrad S. (maybee)


Lesenswert?

Boris P. schrieb:
> Stromverbrauch von dem Ding gigantisch wird?

Abgesehen davon, dass die Pixel mit 5cm etwas größer sein soll(t)en und 
die IR-LEDs nur einen Bruchteil der Zeit eingeschaltet sind, ist deine 
Rechnung richtig.

von Anfänger (Gast)


Lesenswert?

Boris P. schrieb:
> PS: Mal eine dumme Anfängerfrage: sehe ich das richtig, das
> Stromverbrauch von dem Ding gigantisch wird?
> Kleine Worst-Case-Rechnung: Für einen 1,6m x 1m Tisch, mit 8x5 20cm
> Platinen mit jeweils 5x5 Pixeln komme ich auf genau 1000 Pixel. Jeder
> Pixel hat 4 LEDs (RBG + IR), mit 20mA. Insgesamt also 80 Ampere?

also auf einer Fläche von 1x1m kriegt man bei 5x5cm Pixeln (Trennwände 
weggelassen) knapp 400 Pixel rein?! 400 mal 20mA für eine LED + 20mA für 
eine IR LED = 400 x 40mA = 16A (ganz grober Richtwert)
daraus ergibt sich die oben genannte Problematik der 
Spannungs-/Stromversorgung

von Anfänger (Gast)


Lesenswert?

Konrad S. schrieb:
> Boris P. schrieb:
>> Stromverbrauch von dem Ding gigantisch wird?
>
> Abgesehen davon, dass die Pixel mit 5cm etwas größer sein soll(t)en und
> die IR-LEDs nur einen Bruchteil der Zeit eingeschaltet sind, ist deine
> Rechnung richtig.

korrekt.. und die LEDs werden über asynchroner PWMs geschaltet

von Konrad S. (maybee)


Lesenswert?

Anfänger schrieb:
> die LEDs werden über asynchroner PWMs geschaltet

... was bei 100% aber nicht weiterhilft.
Die Stromversorgung muss auf das Maximum ausgelegt werden. Man könnt' 
natürlich auf Software-Seite eine Begrenzung vorsehen.

von Sam .. (sam1994)


Lesenswert?

Konrad S. schrieb:
> Mach mal einen Vorschlag, wie damit die Kommunikation aussieht.

I2C über USI
http://www.atmel.com/Images/doc2560.pdf

Noch günstiger geht es mit einer anderen Familie. Die STM8S werden in 
größeren Stückzahlen sehr günstig.

Ich bin übrigens für ein 4x4 Raster, da es kaum Treiber mit krummen 5 
oder 10 Kanälen gibt.

Von den SCT2xxx Schieberegistern gibt es eine ganze Menge, sie sind auch 
alle günstig. Verfügbar sind sie leider nur bei Alibaba und tme.
http://www.tme.eu/de/katalog/#id_category=112848&s_field=wysoki_prog&s_order=ASC&visible_params=2%2C367%2C35%2C10%2C2613%2C365%2C98%2C383%2C32%2C364%2C120%2C55%2C375%2C2234%2C63%2C31%2C804&used_params=383%3A24821%2C24608%2C24792%3B
http://www.alibaba.com/product-detail/Linear-Mixed-Signal-Integrated-Circuits_100392069.html 
(SCT2016)
Aber im Vergleich zu den bisherigen Lösungen, sind sie unschlagbar 
günstig und brauchen keine Widerstände.

Bei einer 4x4 Matrix würde ein SCT reichen um die Leds inklusive IR-Led 
im 4-fach-Multiplex-Betrieb anzusteuern.

von Basti (Gast)


Lesenswert?

Genau und in so einen Tisch mit 250 W LED Leistung guckt man noch gern 
rein...

Wie schon erwähnt, würde empfehlen nur mit 7 mA pro Farbe zu arbeiten...

von Tim R. (Gast)


Lesenswert?

ich finds ja schön wenn sich immer neue Leute einbringen, aber warum 
denn immer wieder das aktuelle Konstrukt über den Haufen werfen wollen 
um auf Schieberegister, Multiplexer oder I2C oder so zu setzen. Wenn 
ständig die Diskussionen neu aufgerollt werden kommt das Thema nie voran 
:-(

Konrad S. schrieb:
> Anfänger schrieb:
>> die LEDs werden über asynchroner PWMs geschaltet
>
> ... was bei 100% aber nicht weiterhilft.
> Die Stromversorgung muss auf das Maximum ausgelegt werden. Man könnt'
> natürlich auf Software-Seite eine Begrenzung vorsehen.

sollte denke ich als anmerkung dienen, dass an der Stelle keine 100% 
gefahren werden... natürlich sollte die Stromversorgung 
überdimensioniert sein

Basti schrieb:
> Genau und in so einen Tisch mit 250 W LED Leistung guckt man noch
> gern
> rein...
>
> Wie schon erwähnt, würde empfehlen nur mit 7 mA pro Farbe zu arbeiten...

halte ich für sinnvoll, müsste man mal testen wie die leuchtkraft unter 
glas denn wirkt

von Sam .. (sam1994)


Lesenswert?

Tim R. schrieb:
> ich finds ja schön wenn sich immer neue Leute einbringen, aber warum
> denn immer wieder das aktuelle Konstrukt über den Haufen werfen wollen
> um auf Schieberegister, Multiplexer oder I2C oder so zu setzen. Wenn
> ständig die Diskussionen neu aufgerollt werden kommt das Thema nie voran
> :-(

Ich weiß nicht was du am Ende pro Pixel zahlen möchtest. Aber mit 4x4 
Panels und lokalem Multiplexing kommt man auf < 30ct / Pixel! Außerdem 
sinkt der Preis mit steigenden Stückzahlen und mit sinkendem Preis 
steigt die Beteiligung.

Uart geht auch über USI, wenn 200kbps reichen.

Ob man jetzt mit 7mA oder 20mA ansteuert macht übrigens kaum einen 
Unterschied. Außer dass man fehlende Helligkeit bei 7mA nicht mehr 
kompensieren kann - Dimmen kann man dagegen immer.

von M. G. (hummer87)


Lesenswert?

Tim R. schrieb:
> ich finds ja schön wenn sich immer neue Leute einbringen, aber warum
> denn immer wieder das aktuelle Konstrukt über den Haufen werfen wollen
> um auf Schieberegister, Multiplexer oder I2C oder so zu setzen. Wenn
> ständig die Diskussionen neu aufgerollt werden kommt das Thema nie voran
> :-(

Ich bin der Meinung, dass hier noch nicht festgelegt wurde.
Mit Multiplex kann man mit geringem aufwand mehr LEDs ansteuern. Ohne 
das die µC mit mehr PWMs ausgestattet werden müssen.
Auch ist SoftPWM nicht gerade Prozessorfreundlich.


Um das ganze Chaos noch perfekter zu machen, noch ein weiterer Vorschlag

Wir könnten ja auch einen TLC5940 verwenden.
Dieser ist kaskadierbar, um alle LEDs anzusteuern. der µC benötigt nur 
ein PWM port. auch die IR Diode kann über hierüber angesteuuert werden, 
da dieser, wenn ich mich nicht irre 12bit PWM hat. Ebenfalls die DOT 
correction. macht alles sehr konfortabel.

Im handel gibt es diese schon für 2€ das Stück. Bei entsprechender Menge 
natürlich günstiger.
Bei Ebay habe ich schon 12 Stück für 10€ gekauft. Diese Dinger sind sehr 
leicht anzusteuern.

Da hier alles über eine Stromsenke geregtl wird, kommen wir hier mit nur 
einen Widerstand aus. Toleranzen der einzelnen Widerstände (z.B. 5% bei 
einem, ergegeben 10% zwischen 2 Widerstand) entfallen hier.

Das einzigste was man braucht sind analoge eingänge.

Ein weiterer Vorteil an großen Platinen stelle ich mir gerade die 
Spannungsversorgung vor. Durch eventuelle Schaltreler kann die effizienz 
erhöht werden, Größere Spannungen realisiert werden (z.B. 12 -15V) ohne 
große Verlustleistung, und dadurch wieder geringeren Querschnitt der 
Zuleitung.

Es gibt viele Wege, die alle ein Pro und kontra bedürfen. Jedoch gebe 
ich zu bedenken, das ein µc für eine LED sich langweilen wird und der 
Kosten Nutzen sehr klein ausfällt.
in vielen beispielen im internet steuuert ein mC einen ganzen Tisch mit 
100 x 100 Leds und IR. oder es werden Paltinen mit 8 LED und ein  µC als 
einheit zusammengefasst.

Das Anforderungsprofil steht ja schon,

RGB LED(s)
IR Sender + Emitter
Kommunikation über 2-Wire / 3 Wire (welche Variante es wird ist 
nebensächlich, da dies "alle" µc Unterstützen.



Das Realisierungskonzept gibt Fragen auf
hier gibt es verschiedene Möglichkeiten

A)
- 1 RGB LED
- 1 IR Sender
- 1 IR Empfänger
- 1 µC

B)
- 4x4 RGB LED Raster
- 4 IR Sender
- 4 IR Empfänger
- 1 µC

Vergleich Variante A <=> B

Um mit Variante A die gleiche Pixelanzahl zu erreichen, benötigt man 
16µC

Ich würde mich freuen, wenn wir uns auf eine Variante festlegen

von Basti (Gast)


Lesenswert?

Ich denke man sollte mal einen Preis definieren... ich halte einen Euro 
pro Pixel für machbar.. ohne Netzteil... aber komplette Verkabelung + 
PCB + LEDs
Also evtl 130 Euro für 100 Pixel, ohne mechanischen Aufbau... Wenn ihr 
weniger Preis-Leistung wollt, könntet ihr ja auch realisierte Lösungen 
nachbauen... es soll ja schon was "umwerfendes" werden, oder nicht?!

Mit dem Ziel könnt ihr den Tiny pro Pixel gleich wieder einpacken... Was 
mir persönlich gefallen würde...

@Sam natürlich macht der Strom einen Unterschied... nimmt man einfach 
WS2811 hat man nur 8 Bit und 20 mA... da fällt bis 7 mA wieder ein Bit 
weg... dann von 8 auf 7 Bit + gamma... da bleiben immer weniger 
Farbabstufungen übrig...

@M.G. die TLC5940 sind auch schick, nur unter Umständen recht teuer... 
die Günstigere Alternative wäre wohl der von mir schon vorgeschlagene 
WS2803 IC... den bekommt man schon für 50 cent und der hat 18 Kanäle... 
also genau 6 RGB... die TLC haben glaube alle 16 Kanäle?! Da muss man 
wieder Multiplexen... aber dann passt der Preis vielleicht auch 
wieder...

Als Ziel würde mir Pixelhardware gefallen die günstig und total doof 
ist... also nur Farbdaten per UART/SPI rein und hinten IR-Werte raus...

TLC und WS2803 könnte man in Reihe zu einem µC ins SPI hängen...

PCBs gibts ja hier fast geschenkt (Link zeigt eine Preisübersicht, ist 
nicht der Anbieter selbst):
http://dangerousprototypes.com/2012/12/03/cost-breakdown-of-seeeds-pcb-service/

von Ast E. (vis)


Lesenswert?

ok, dann lass ich euch mal diskutieren und warte einfach ab was 
rauskommt ;-)

von Sam .. (sam1994)


Lesenswert?

Basti schrieb:
> @Sam natürlich macht der Strom einen Unterschied... nimmt man einfach
> WS2811 hat man nur 8 Bit und 20 mA... da fällt bis 7 mA wieder ein Bit
> weg... dann von 8 auf 7 Bit + gamma... da bleiben immer weniger
> Farbabstufungen übrig...

Das ist natürlich klar. Aber ich würde auch auf mindestens 10-12bit 
gehen, da ist es nicht mehr tragisch.


Ich bin immer noch dafür einen niedrigeren Preis anzupeilen. Dann kann 
man auch größere Matrizen mit dem gleichen Geld aufbauen (~200x200 für 
deinen angestrebten Preis).

Mein Vorschlag:

PCB: 15x15cm² oder 20x20cm²      2,50€ / 4€
µC : STM8S                       0,40€
Treiber: SCT2xxx                 0,25€
Leds:                  16*0,02€  0,32€
IR-Leds:               16*0,03€  0,48€
Fotodioden:            16*0,02€  0,32€
Hühnerfutter:                    0,10€
                                 4,37€  // 26cent / Pixel.


Der µC muss dafür natürlich 16*Softpwm über das Schieberegister bei 
entsprechender Auflösung schaffen. Ich denke das ist durchaus möglich 
wenn man phasenversetzte PWM-Signale nutzt. Der µC muss die Signale so 
verschieben dass er immer genug Zeit hat das Schieberegister 
nachzuladen. Das interne Latch des Schieberegisters kann über ein 
PWM-Signal vom µC jitterfrei gesteuert werden. Ich werde das mal mit 
normalen Schieberegistern testen.

Alternativ gibt es Bit-Angle-Modulation. Damit ist sind 12bit einfach 
machbar. Dabei ist es ziemlich egal wie lange es dauert das 
Schieberegister zu befüllen. Die Länge der einzelnen Phasen steuert man 
über CS.

von Konrad S. (maybee)


Lesenswert?

Sam .. schrieb:
> Uart geht auch über USI

Aber nicht vollduplex!
Damit einen funktionierenden Ring aufbauen? Viel Vergnügen!

von Konrad S. (maybee)


Lesenswert?

M. G. schrieb:
> B)
> - 4x4 RGB LED Raster
> - 4 IR Sender
> - 4 IR Empfänger
> - 1 µC

Zu wenig IR-Sender und IR-Empfänger. Treiber für LED-Kanäle?

von Ast E. (vis)


Lesenswert?

ich lese die ganze zeit nur "billig billig billig".. ist ja schon wie in 
der industrie ;-)

200x200 pixeln á 5cm = 1000x1000cm? ist das jetzt ernst gemeint oder 
troll?


Konrad S. schrieb:
> Sam .. schrieb:
>> Uart geht auch über USI
>
> Aber nicht vollduplex!
> Damit einen funktionierenden Ring aufbauen? Viel Vergnügen!

du scheinst etwas abgeneigt von den überlgeungen ? :-)

von M. G. (hummer87)


Angehängte Dateien:

Lesenswert?

Konrad S. schrieb:
> M. G. schrieb:
>> B)
>> - 4x4 RGB LED Raster
>> - 4 IR Sender
>> - 4 IR Empfänger
>> - 1 µC
>
> Zu wenig IR-Sender und IR-Empfänger. Treiber für LED-Kanäle?

Die IR Sender habe in etwa so geplant (siehe  Bild)
Sollte doch reichen, oder? habt Ihr mehr geplant? ICh habe mir 
vorgestellt, dass eine IR LED 4 RGB LEDs ansteuert.

Je nachdem ob die benachbarte IR auch angesteuert wurde, ändert sich der 
Farbverlauf. also jede IR agiert mit seinem Nachbarn

Ja, die Treiber habe ich vergessen, Sorry.

Je nachdem. wenn man Geld sparen will, kommt man nur mit Charlieplexing 
aus, um solch eine Matrix zu realisieren.

von Sam .. (sam1994)


Lesenswert?

Tim R. schrieb:
> 200x200 pixeln á 5cm = 1000x1000cm? ist das jetzt ernst gemeint oder
> troll?

Ich meinte 20x20. Und ich denke dass man mit einem guten und nicht 
überstürzten Konzept nichts falsch macht. Und wenn eine (3x) günstigere 
Lösung keine nennenswerten Nachteile hat, was spricht dann dagegen? Ich 
habe für die Preiskalkulation mit 100 Panels á 16 Pixel gerechnet.

> Konrad S. schrieb:
>> Sam .. schrieb:
>>> Uart geht auch über USI
>>
>> Aber nicht vollduplex!
>> Damit einen funktionierenden Ring aufbauen? Viel Vergnügen!
>
> du scheinst etwas abgeneigt von den überlgeungen ? :-)

Wo ist denn das Problem? Der Master muss nur nach x Byte eine Pause 
einlegen. Abgesehen davon ist der STM8S geeigneter.


M. G. schrieb:
> Die IR Sender habe in etwa so geplant (siehe  Bild)

Das Problem dabei ist, dass die Panels sich gegenseitig stören könnten 
wenn keine Trennwände dazwischen sind. Und wenn man überall Trennwände 
platziert funktioniert dieses System nicht mehr.

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Tim R. schrieb:
> du scheinst etwas abgeneigt von den überlgeungen ? :-)

Nein, nicht abgeneigt, das trifft es nicht. Aber manches bisher 
vorgeschlagene ist, wirft man einen Blick auf die technischen Daten, 
schlichtweg Unfug, zumindest im Kontext dieses Threads. Da kann man nur 
den Ball immer wieder zurückspielen bis die Erkenntnis kommt, dass es so 
nicht funktionieren kann.

Ach ja: evtl. wären für die Hardware zwei Threads sinnvoll, einer für 
Ein-Pixel-Platinen, einer für Mehr-Pixel-Platinen.

von M. G. (hummer87)


Lesenswert?

Sam .. schrieb:
> Das Problem dabei ist, dass die Panels sich gegenseitig stören könnten

http://www.youtube.com/watch?v=K4HRXa-GxIk
Hier stört sich doch auch nichts


> wenn keine Trennwände dazwischen sind. Und wenn man überall Trennwände
> platziert funktioniert dieses System nicht mehr.

ja, das stimmt, dann würdest du für jede LED eine eigene IR verwenden?

Dann müsste man ja schon diesen hier nehmen.
http://www.st.com/web/catalog/mmc/FM141/SC1244/SS1010/LN1571/PF246071
der hat 16x ADC. aber auch LQFP80

von Konrad S. (maybee)


Lesenswert?

M. G. schrieb:
> Die IR Sender habe in etwa so geplant

Den Versuchen Karol Babiochs zufolge würde das wohl eher nicht 
funktionieren. Das solltest du mal testen und dann vorstellen.

von Konrad S. (maybee)


Lesenswert?

Sam .. schrieb:
> Wo ist denn das Problem? Der Master muss nur nach x Byte eine Pause
> einlegen.

Wie lang muss denn die Pause sein, damit es beim hundertsten Pixel noch 
zuverlässig mit dem Timing klappt. Willst du die Bytes einzeln 
weitergeben oder als Block pro Pixel?

> Abgesehen davon ist der STM8S geeigneter.

Klar, der muss es auch nicht mit so einem USI-Gewürge machen. Fast 
jeder µC ist geeigneter als ein ATtiny24.

von Ast E. (vis)


Lesenswert?

Konrad S. schrieb:
>
> Ach ja: evtl. wären für die Hardware zwei Threads sinnvoll, einer für
> Ein-Pixel-Platinen, einer für Mehr-Pixel-Platinen.

sehr gute idee!

Konrad S. schrieb:
> M. G. schrieb:
>> Die IR Sender habe in etwa so geplant
>
> Den Versuchen Karol Babiochs zufolge würde das wohl eher nicht
> funktionieren. Das solltest du mal testen und dann vorstellen.

wo ist karol babioch eigtl abgeblieben

von Konrad S. (maybee)


Lesenswert?

@Sam .. (sam1994)

Welche LEDs hast du im Sinn? Evtl. mit Link?

von Sam .. (sam1994)


Lesenswert?

M. G. schrieb:
> ja, das stimmt, dann würdest du für jede LED eine eigene IR verwenden?
>
> Dann müsste man ja schon diesen hier nehmen.
> http://www.st.com/web/catalog/mmc/FM141/SC1244/SS1010/LN1571/PF246071
> der hat 16x ADC. aber auch LQFP80

Die Fotodioden würde ich ebenfalls mindestens 4x4 multiplexen.
Als µC würde der STM8S003F3 reichen:
http://www.st.com/web/catalog/mmc/FM141/SC1244/SS1010/LN2/PF251792

Konrad S. schrieb:
> Welche LEDs hast du im Sinn? Evtl. mit Link?

Beitrag "Re: LED Tisch mit Berührungs-/Gegenstandserkennung"

: Bearbeitet durch User
von Konrad S. (maybee)


Lesenswert?

Sam .. schrieb:
> Konrad S. schrieb:
>> Welche LEDs hast du im Sinn? Evtl. mit Link?
>
> Beitrag "Re: LED Tisch mit Berührungs-/Gegenstandserkennung"

Ah ja, danke.

Ich habe im Artikel mal einen Abschnitt "Bauteil-Kandidaten" eingefügt:
RGB Touch Matrix: Bauteil-Kandidaten
So gehen uns solche Informationen nicht verloren.

von Sam .. (sam1994)


Lesenswert?

> Ein Problem mit unregelmässiger Refreshrate gibt es hier nicht, da alle
> Slaves beim letzten RGB-Wert bleiben und weiterleuchten, nur die
> Aktualisierung "stockt" für eine 35stel Sekunde, das ist nicht
> wahrnehmbar.

Bei flüssigen Animationen ist das leider doch wahrnehmbar. Gerade bei 
solchen großen Pixeln. Ich habe das leider schon feststellen müssen. Das 
ruckeln kann das Auge feststellen. Ich würde eher die Datenrate erhöhen.

von Sam .. (sam1994)


Lesenswert?

Ich habe die phasenversetzte Soft-PWM theoretisch getestet. Es ist 
möglich mit Schieberegister PWM-Signale mit voller Auflösung zu 
erzeugen. Alleine die PWM-Frequenz darf nicht zu hoch werden, wobei 1kHz 
kein Problem sind. Die Berechnung der Werte dauert zwischen ~50k Zyklen 
(beim Avr), aber da ist sicher noch Optimierungspotential. Der 
Ramverbrauch ist leider recht hoch: 10 Byte / PWM-Signal (4x4 Matrix -> 
480B, 5x5 -> 750B - für den STM8S würde es noch reichen). 
Bit-Angle-Modulation ist sicher das einfachere Verfahren und wenn nichts 
dagegen spricht würde ich es auch das bevorzugen. Es wird auch 
reaktionsschneller sein. Mit beiden Verfahren sind 15bit bei 400Hz @ 
16Mhz Takt möglich.

: Bearbeitet durch User
von Basti (Gast)


Lesenswert?

Guter Witz... die kleinste Blank Zeit ist dann 1,2 Clock... In der Zeit 
bekommt man wohl keinen PIN an und aus... jedenfalls nicht mit Software

Bleiben wir mal realistisch... 12 Bit sollten auch reichen... Eingangs 
werden wohl 8 Bit pro Farbe eintreffen...

von Sam .. (sam1994)


Lesenswert?

Kein Witz. Beide verfahren haben einen gewissen overhead. Ein pwm Zyklus 
dauert da ein bisschen länger als 2^auflösung.

Und das latch des Schieberegister lässt sich über einen pwm pin 
Zyklengenau steuern.

: Bearbeitet durch User
von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Tim R. schrieb:
> wo ist karol babioch eigtl abgeblieben

Vielleicht hat er einfach die Nase voll. Könnte ich jedenfalls absolut 
nachvollziehen. Fast jeden Tag sind es neue Leute, die sich einschalten, 
OHNE vorher den Thread gelesen zu haben.

Auch scheinen die Leute hier geteilter Meinung zu sein, was der 
LED-Tisch eigentlich werden soll. Die ursprüngliche Idee war eine Matrix 
mit Trennwänden aus 10x20 Rechtecken mit einer (Plexi-)Glasplatte 
darüber. Jetzt tauchen plötzlich Vidoes/Vorschläge auf mit 
(einfarbigen!) LEDs, die wild auf einer Platte verteilt sind und man da 
mit der flachen Hand drüber fahren kann und dabei leuchten. Das sind 
leider zwei vollkommen verschiedene Projekte.

Auch die Wahl der µCs wird plötzlich wieder neu aufgerollt... usw. usw.

Leute, lest den Thread von Anfang an! Wenn jemand was anderes bauen 
will, sollte er besser einen neuen Thread aufmachen.

Auch braucht dieser Thread eine verantwortliche Person, welche den 
dazugehörenden Artikel ständig pflegt und auf dem aktuellen Stand hält. 
Dabei sollte er hier auch regelmäßig den Link auf den Artikel posten, 
damit Neueinsteiger direkt erkennen, um was es denn hier überhaupt 
geht....

Gruß,

Frank, der sich hier auch nicht mehr beteiligen möchte, weil alle 
durcheinander plappern.

von Ast E. (vis)


Lesenswert?

Frank M. schrieb:

> Vielleicht hat er einfach die Nase voll. Könnte ich jedenfalls absolut
> nachvollziehen. Fast jeden Tag sind es neue Leute, die sich einschalten,
> OHNE vorher den Thread gelesen zu haben.
ist ja das was ich hier angeschrieben hatte
>
> Auch scheinen die Leute hier geteilter Meinung zu sein, was der
> LED-Tisch eigentlich werden soll. Die ursprüngliche Idee war eine Matrix
> mit Trennwänden aus 10x20 Rechtecken mit einer (Plexi-)Glasplatte
> darüber. Jetzt tauchen plötzlich Vidoes/Vorschläge auf mit
> (einfarbigen!) LEDs, die wild auf einer Platte verteilt sind und man da
> mit der flachen Hand drüber fahren kann und dabei leuchten. Das sind
> leider zwei vollkommen verschiedene Projekte.
>
> Auch die Wahl der µCs wird plötzlich wieder neu aufgerollt... usw. usw.
!
>
> Leute, lest den Thread von Anfang an! Wenn jemand was anderes bauen
> will, sollte er besser einen neuen Thread aufmachen.
!
>
> Auch braucht dieser Thread eine verantwortliche Person, welche den
> dazugehörenden Artikel ständig pflegt und auf dem aktuellen Stand hält.
> Dabei sollte er hier auch regelmäßig den Link auf den Artikel posten,
> damit Neueinsteiger direkt erkennen, um was es denn hier überhaupt
> geht....
>
ich werde versuchen sobald ich zeit habe das aufzurollen damit wir hier 
schritt für schritt nachvollziehbar weiter machen können ! :-) ein neuer 
thread wird wohl die einfachste lösung

von Ast E. (vis)


Lesenswert?

für alle die weiterhin Interesse an einer Pixellösung haben, ich habe 
hierzu einen neuen Thread gestartet und hoffe, dass es dort etwas besser 
läuft ! ;-)

Beitrag "Projektidee RGB Pixel mit Touch"

von Alex (Gast)


Lesenswert?

Hey dein Beitrag ist zwar etwas älter. Wenn du jedoch nochmal eine 
Antwort zu deiner Frage brauchst, dann guck doch mal hier auf der Seite 
nach da findest du Video anleitungen dazu. Habe mich daran auch 
orientiert.
http://ledtisch-test.de/

Mit freundlichen Grüßen

Alex

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Wenn schon, dann bitte den Link auf die 'Selber bauen'-Seite.
Die Start-Seite liest sich mehr nach 'kanne kaufä'

http://ledtisch-test.de/led-tisch-selber-bauen

Naja, keine 3 Jahre, noch nicht mal richtig trocken, der Kleine ;)

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
Noch kein Account? Hier anmelden.