Gemeinschaftsprojekt?

TommyB

Team Bitschubse
Premium Benutzer
17 Mai 2010
2.151
80
48
36
127.0.0.1 ;)
Sprachen
C#, VB.Net, LunaAVR, Assembler, Python

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Wo sind die LED´s denn #58 in Reihe??? :-O
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Bei TriState müssten doch beide leuchten, wenn auch nur schwach? Oder man passt es mit der Spannung exakt ab.
Wenn ich in nem PWR - Save Mode bin und die Pins alle auf Eingang schalte, dürfte eigentlich nichts leuchten. Der Potentialunterschied reicht in diesem Moment nicht aus, um einen derart großen Strom fliesen zu lassen.
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Aber das ganze spielt ja wenn wir mit Schieberegistern arbeiten keine große Rolle mehr.

@LotadaC
Wo ist jetzt das Problem, dass wir nicht mit HW-PWM arbeiten?
Wenn wir nichts tragisches weiter abfragen oder ausführen(außer noch das IR - Signal (RC5?) auszuwerten, sollte das doch sauber funktionieren.
 

TommyB

Team Bitschubse
Premium Benutzer
17 Mai 2010
2.151
80
48
36
127.0.0.1 ;)
Sprachen
C#, VB.Net, LunaAVR, Assembler, Python
Ich meinte das Sheet aus #58
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.344
61
48
Marwitz
Sprachen
BascomAVR, Assembler
Sag ich ja schon die ganze Zeit, Vcc -> LED1 -> R1 -> LED2 -> R2 -> Gnd.
Den Knoten zwischen R1 und LED2 kann der Controllerpin beeinflussen (Vcc, Gnd oder tristate setzen).
Bei Vcc ist LED1 kurzgeschlossen und es liegen 3V an LED2 (+Widerstand) die dann leuchten sollte,
bei Gnd ist LED2 kurzgeschlossen und es liegen 3V an LED1, die dann leuchten sollte.
Bei TriState müssten doch beide leuchten, wenn auch nur schwach? Oder man passt es mit der Spannung exakt ab.
Jain...
Die beiden Widerstände müssen ja so gewählt sein (hinreichend klein), daß je die gewünschte maximale Helligkeit erreicht werden kann.
Jeder Widerstand ist also auf 3V dimensioniert, bei tristate hast Du (mit LED1=LED2 und R1=R2) je 1,5V.
Die LEDs werden sehr wahrscheinlich noch nicht leuchten, ABER es könnte bereits ein Strom fließen.
(Eine LED beginnt nicht erst in ihrem Arbeitspunkt zu leiten, sondern schon bei geringeren Spannungen - dann leuchtet sie nur noch nicht).
Wo ist jetzt das Problem, dass wir nicht mit HW-PWM arbeiten?
Mein Vorschlag war, den Controller schlafen zu schicken, während die LEDs konstant (PWM) leuchten, und ihn nur zum wechseln der PWM-Vorgaben zu wecken. Das geht natürlich mit softPWM nicht. Abgesehen davon wirst Du für softPWM 'n höheren Prozessortakt brauchen.
Bei Verwendung eines externen PWM-Treibers bedingt die nötige Kommunikationsgeschwindigkeit die Taktfrequenz des Controllers, bei einem externen Schieberegister muß die jetzt nochmal wesentlich(!!) höher sein.
Wenn Du die LEDs nicht direkt mit dem Controller ansteuern willst, sondern über einen externen Schieberegister- oder LED-Treiber-IC, kannst Du einen wesentlich kleineren Controller wählen - theoretisch reicht der Tiny4/5/9/10, aber der hat kein Eeprom und nur 512Words Flash. Nicht viel für Animationen.
Der Tiny102 hätte zusätzlich einen UART, der als SPI konfiguriert werden kann (was die Kommunikation mit den externen ICs entlastet).
Als SOIC8 kannst Du dann aber auch gleich den Tiny25/45/85 nehmen, mit USI für die externen ICs und Eeprom und FLash für die Animationen. (den 45 gibts auch als TSSOP). Ggf sollte man hier über die V-Variante nachdenken.

Wie gesagt - mein Vorschlag wäre, die LEDs direkt mit'nem 441/841 anzusteuern. Eben auf 6 unterschiedlich dimmende PWMs beschränkt, und die restlichen Beine für langsamer schaltende LEDs (mit fester Helligkeit).

Hmm... zwei Knopfzellen in Reihe würden je mehrere (bis 3?) LEDs in Reihe erlauben - allerdings sind die 6V für den Rechenzwerg sehr(!) grenzwertig - 'ne Diode vor Vcc?
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.344
61
48
Marwitz
Sprachen
BascomAVR, Assembler
Hätte noch'ne überlegenswerte Idee:
statt des IR-Empfängers könnte man versuchen, die LEDs als Empfänger zu nutzen.
Dann hätten wir natürlich keine Carrier-Filterung usw, aber wir wollen ja eigentlich nur wenige mögliche Signale erkennen. Dann wäre allerdings die Verwendung einer existierenden Fernbedienung ungeeignet, in simpleres Übertragungsprotokoll sinniger.
Hmm... wahrscheinlich müßte man dann den ADC mitnutzen, oder vielleicht den AC mit zwei unterschiedlichen LEDs, von denen eine besser zum Sender paßt als die andere.
@dino03 : schreib ich hier Quatsch, oder wäre sowas machbar?
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Dann zeichne doch mal den Schaltplan weiter bzw. ändere ihn um?
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.282
141
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
@dino03 : schreib ich hier Quatsch, oder wäre sowas machbar?
Ich bin zwar nicht Dino ;) ...

Eine LED kann man natürlich als Photodiode verwenden und den Photostrom (der ist sehr klein) messen. Nun hat man eventuell auch Umgebungslicht, das macht es natürlich schwerer, ein Nutzsignal herauszufiltern. Am besten wäre auch, wenn Sender und Empfänger ein bisschen mit der Wellenlänge des Lichts zusammenpassen. Also theoretisch eventuell schon möglich. Aber ich würde da dann schon irgendwie einen IR Empfänger mit Tageslichtfilter und Filter für Trägerfrequenz verwenden, dann kann man auch die IR Fernbedinung auf dem Wohnzimmertisch nutzen und muss sich nicht noch etwas zusätzlich basteln.
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Ich bin zwar nicht Dino ;) ...

Eine LED kann man natürlich als Photodiode verwenden und den Photostrom (der ist sehr klein) messen. Nun hat man eventuell auch Umgebungslicht, das macht es natürlich schwerer, ein Nutzsignal herauszufiltern. Am besten wäre auch, wenn Sender und Empfänger ein bisschen mit der Wellenlänge des Lichts zusammenpassen. Also theoretisch eventuell schon möglich. Aber ich würde da dann schon irgendwie einen IR Empfänger mit Tageslichtfilter und Filter für Trägerfrequenz verwenden, dann kann man auch die IR Fernbedinung auf dem Wohnzimmertisch nutzen und muss sich nicht noch etwas zusätzlich basteln.
Sehe ich genauso.
Was macht man, wenn es ziemlich hell im Raum ist? Alle Signale (Neon etc.) sind mega Störquellen...
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.344
61
48
Marwitz
Sprachen
BascomAVR, Assembler
Wenn man die eh vorhandenen LEDs nutzt, kann man den TSOP sparen, also sowohl vom Platz her (würde den eh über den Controller biegen), als auch vom Stromverbrauch her. Hatte ja oben die Frage angedeutet, ob sich vielleicht 'ne Kombination finden läßt, unterschiedliche LEDs mit dem AC zu nutzen, und sowas ähnliches wie einen Tageslichtfilter nachzubilden. Die Sender-LED muß dann halt deutlich mehr Bums haben als das mögliche Umgebungsrauschen (Neon sind hier nur im Aquarium - aber das stört natürlich auch, möglicherweise...)

Wenn ich dieselben LEDs benutze, würden sich die Sterne auch selbst gegenseitig stören
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Wenn man die eh vorhandenen LEDs nutzt, kann man den TSOP sparen, also sowohl vom Platz her (würde den eh über den Controller biegen), als auch vom Stromverbrauch her. Hatte ja oben die Frage angedeutet, ob sich vielleicht 'ne Kombination finden läßt, unterschiedliche LEDs mit dem AC zu nutzen, und sowas ähnliches wie einen Tageslichtfilter nachzubilden. Die Sender-LED muß dann halt deutlich mehr Bums haben als das mögliche Umgebungsrauschen (Neon sind hier nur im Aquarium - aber das stört natürlich auch, möglicherweise...)

Wenn ich dieselben LEDs benutze, würden sich die Sterne auch selbst gegenseitig stören

Das würde im Endeffekt auch einen modifizierten Sender benötigen. Glaube kaum das man dass mit einer normalen "Fernbdienung abbilden kann.
 

Dirk

Administrator
Teammitglied
28 Jan 2007
4.282
141
63
Mittelhessen, Giessen
Sprachen
ANSI C, C++, C#, Java, Kotlin, Pascal, Assembler, PHP
Also grundsätzlich sehe ich hier noch folgende Probleme
  • die Zeit, solange bis der Baum steht ist nicht mehr ;)
  • Spannungsversorgung über CR2032, von der Größe gut aber wenn man alle 2h 0,50€ wechseln muss, hmmm.
  • Anschluss der LEDs. Ich würde sie direkt an den MC anschliessen, möglichst HW PWM, wenige Kanäle, mehrere LEDs an einem Kanal, so wie @LotadaC geschrieben hat.
  • Verteilung der LEDs über den Stern, so dass man auch mit wenigen PWM Kanälen möglichst guten Effekt erhält
  • wennschon dennschon ... ich würde ein TSOP IR Empfänger nehmen. Wir benötigen einen freien EXT INT.

Wichtig wäre wahrscheinlich erst mal das Konzept, wie man die LEDs anschließt (Schaltplan). Bei der Stromaufnahme sehe ich noch ein Problem.
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.344
61
48
Marwitz
Sprachen
BascomAVR, Assembler
Dann wäre allerdings die Verwendung einer existierenden Fernbedienung ungeeignet, in simpleres Übertragungsprotokoll sinniger.
...Versorgungsspannung von 2,5 - 2,7VDC...
bis max. 5V5...

Bei zwei Knopfzellen in Reihe und Versorgung durch einen Controllerpin (und ggf 'ne Diode vor Vcc) paßts, und wir hätten immer 2..3 LEDs in Reihe an den Controllerpins.

'N effizientes Sleep-Konzept mit abschaltbarem TSOP .... ok, muß man regelmäßig pollen...

Die Photospannungen der Dioden (in Reihe) würden sich aber auch addieren, und die Vorwiderstände spielen dabei quasi keine Rolle, da während des Messens kein nennenswerter Strom fließt. oder?
 

LotadaC

Sehr aktives Mitglied
22 Jan 2009
3.344
61
48
Marwitz
Sprachen
BascomAVR, Assembler
Wir benötigen einen freien EXT INT.
Wie gesagt: Tiny841, alle sechs Kanäle nutzen und alle 8 TOCCs.
INT0 wäre kein TOCC, also noch frei, aber alle(!) Beine wären eh PCINT-fähig...
Janiiix' TSOP ist mit 950µA Strom angegeben - sollte der nun über einen Controllerpin abschaltbar gemacht werden (spart etwas Strom) oder nicht (vereinfacht die Auswertung, insbesondere kein regelmäßiges Polling nötig, wodurch der Controller mehr schlafen könnte, und auch Strom spart)...
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Ich habe mal ein Projekt (villeicht kann sich noch der ein oder andere daran erinnern...) zum Zukunftstag realisiert (einen Würfel)...
Dort habe ich eine 8 x 8 LED Matrix mit 5050er LED´s realisiert.
Als Versorgung dient ein (ich weiß nicht mehr genau welche Baureihe) IPhone Akku.
Der Würfel hält (wenn alle LED´s an sind) ca. 5 Tage DURCHGEHEND!
Geschaltet werden die LEDs direkt mit den Port Pins eines MEGA32´s...
Funktioniert super.
Zum Schalten habe ich jeweils mit 8 x Fet´s gearbeitet.
 

Anhänge

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Wenn wir noch irgendwelche externen Bauteile benutzen sollten... Würde ich diese auf jeden fall mit einem Transistor abschaltbar machen. Damit können wir dann evtl. noch ein paar µA sparen.
 

TommyB

Team Bitschubse
Premium Benutzer
17 Mai 2010
2.151
80
48
36
127.0.0.1 ;)
Sprachen
C#, VB.Net, LunaAVR, Assembler, Python
Ich möcht ja nicht stänkern, aber ist das nicht mittlerweile ein bissl viel Arbeit für die … geschätzten 2 Wochen bis es denn eh wieder im Schrank verstaubt? Weil muss ja auch noch hergestellt werden.
 

Janiiix3

Aktives Mitglied
28 Sep 2013
1.321
10
38
Hannover
Sprachen
ANSI C, C#
Ich möcht ja nicht stänkern, aber ist das nicht mittlerweile ein bissl viel Arbeit für die … geschätzten 2 Wochen bis es denn eh wieder im Schrank verstaubt? Weil muss ja auch noch hergestellt werden.
Geht nächstes Weihnachten die Welt unter ? :p
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)