Forum: Mikrocontroller und Digitale Elektronik LED Blinky Ball Monochrom


von Karsten B. (karstenbrandt)


Angehängte Dateien:

Lesenswert?

Hallo Gemeinde,

ich bin im Inet auf folgende Seite gestoßen:

http://charliex2.wordpress.com/2012/02/11/the-blinky-ball-nullspacelabs/

Nach weiterer Suche habe ich die Schaltpläne,... gefunden:

Wiki Page: http://wiki.032.la/nsl/NSL_SVN_Server
 Browsable: http://www.032.la/svn/
bzw. für svn-Software: svn://svn.032.la:6699/032/


Hat schon jemand von Euch Erfahrung mit dem Projekt bzw. den Ball schon 
mal nachgebaut?
Zusammen mit meinem Kumpel Thorsten M. haben wir Schaltplan und Platine 
der Version V3 überarbeitet, d.h. die ungerouteten Signale elimiert und 
die Verbindungskabel durch Leiterbahnen auf dem oberen und unteren 
Verbindungskreisen ersetzt. Schaltplan und ein Bild von einem "segel" 
(slice) sind angehangen.

ZIEL:

Jeder, der mag kann sich einen Ball aufbauen (je mehr Leute einen haben 
wollen und sich an einer Bestellung beteiligen, je billiger wird das 
ganze!). Was wann wer bestellt muss noch geklärt werden.

Die Software ist etwas problematisch, da diese schlecht bis gar nicht 
dokumentiert ist. Dies trifft sowohl für die PC-Seite als auch für die 
Controllersoftware im Ball zu. So ist mir z.B. gar nicht klar, was über 
die Bluetooth-Module zwischen PC und Ball ausgetauscht wird. Es sollte 
doch möglich sein, Animationen auf den Ball zu spielen oder zu 
mindestens von PC aus Animationen zum Ball streamen.
Daher ist die Bestrebung, die Software zu optimieren. Für die 
Anfertigung von Softwarespezifikationen sind eure Mithilfe und 
Anregungen sehr willkommen.

Was die Harware anbelangt, so sind natürlich auch noch Anregungen und 
Verbesserungsvorschläge willkommen. Der Schaltplan ist eng an dem vom 
Charliex angelehnt, damit zumindest die 14 fest in der Software 
integrierten Animationen laufen. Mikrofon und Beschleunigungssensor 
werden wohl in dieser Version nicht unterstützt. Ideen sind willkommen!

DER ANFANG:
1) Geplant ist erstmal mindestens einen Satz Platinen für einen Ball zu 
bestellen und die Software vom SVN-Server (siehe oben) einzuspielen.
2) Weitere Features wie Mikrofonintegration und Benutzung des 
Beschleunigungssensor sollen folgen.
3) Ich werde schon mal anfangen, die Treiber für den 
Beschleunigungssensor zu schreiben.
4) Jeder Andere kann natürlich auch kreativ tätig werden.



MfG

Karsten

von Karsten B. (karstenbrandt)



Lesenswert?

Hallo,

hier die Daten der einzelnen Bestandteile.

karsten

von Karsten B. (karstenbrandt)


Angehängte Dateien:

Lesenswert?

hier noch eine interaktives 3D-Modell der Kugel. Die EXE-Datei ist mit 
Solidworks erstellt und Virenfrei. Also keine Angst beim öffnen.


Karsten

von Karsten B. (karstenbrandt)


Angehängte Dateien:

Lesenswert?

Hallo Gemeinde,

die Platinen sind vor einieger Zeit angekommen und endlich habe ich Zeit 
gefunden, den Ball aufzubauen.

Das Resultat findet sich hier:

http://youtu.be/yeWpM2qrT-Y

In der ersten Version wurde die Kugel mit Flat Top LEDs auch China 
aufgebaut. Der Schleuderpreis von 25€/1000 (2.5 cent/Stück)hat sich auch 
als billige Ramschware entpuppt. Nach ca. 1 Woche Betriebszeit waren 2/3 
der LEDs ausgefallen.
Also alle 384 LEDs runter und neue rauf. Diesmal Straw Hat 4.8mm zu ca. 
11 cent/Stück. Die Kugel läuft nun schon 2 Tage ohne Ausfall. Guter Rat: 
Nicht am falschen Ende sparen und bei den LEDs auf Qualität setzen.
Die einzelen Segel sind oben und unten mit einer Scheibe verbunden. Die 
Scheibe ist vom Layout her so gwählt, dass oben und unten dieselbe 
Scheibe verwendet werden kann, wodurch die Kosten reduziert werden. Die 
Steuersignale und Spannungsversorgung für den LED-Treiber sind komplett 
über die Scheiben geführt.
Die Polyfuse begrentzt den Strom auf ca. 550 bis 600mA, wodurch jede LED 
bei Full on mit ca. 1.4 mA Strom versorgt wird. Daher habe ich noch ein 
zusätzliches Kabel von Batterie+ an VCC des unteren Ringes gelegt. Damit 
lassen sich auch höhere Ströme wie hier ca. 8mA pro LED treiben. Wer 
mag, kann die Polyfuse also durch einen Draht ersetzen.
Die 100nF-Kondensatoren sind durch keramische 47uF-Kapazitäten ersetzt, 
um die Pulsströme beim Einschalten der LEDs auf maximale Helligkeit 
abzufangen.
Den LiFePO4-Akku zur autarken Versorgung verwende ich bei dieser Kugel 
nicht, da die Kugel über ein externes Netzteil versorgt wird. Sonst 
befindet sich der Akku in der Mitte der Kugel von den Segeln 
eingeschlossen. Die untere Verbindungscheibe habe ich bei mir mit einem 
Stufenbohrer aufgebohrt, damit später bei Bedarf noch ein kleiner 
LiFePO4-Akku nachgerüstet werden kann.
Der Zusammenbau ist nicht weiter problematisch, wenn man mit einem 
Lötkolben umgehen kann. Lediglich die QFN-Packages erfordern etwas 
Geschick.
Das Mikrofon und der Beschleunigungssensor sind noch nicht softwaremäßig 
implementiert.
Die Software aus der oben angegebenen Quelle habe ich in ein AVR Studio 
6 Projekt überführt.
Die nächsten Schritte werden die Software für den Beschleunigungssensor 
und des Mikrofon (z.B. FFT für Spektrumanalyser) sein.
Das Bletoothmodul funktiert problemlos. Ein vernüftige Software für den 
PC steht auch noch auf meiner ToDo-Liste.
Soweit der aktuelle Stand des Projektes. Wer Lust und Laune hat, darf 
sich gerne an hier Beteiligen. Gerne sind Vorschläge und Realisierungen 
für Funktionen willkommen.

Gruß

Karsten

P.S. Vielen Dank nochmals an Thorsten Mühlke für das (wie immmer) 
perfekte Platinenlayout.

von Karsten B. (karstenbrandt)


Angehängte Dateien:

Lesenswert?

Hallo Gemeinde,

melde mich nach längerer Pause in diesem Projekt zurück.

Nachdem ich nun endlich Zeit gefunden habe, den Blinky Ball ferti zu 
stellen, möchte euch dieses Ergebnis nicht vorenthalten.

Die Datei LBB01v00 enthält den Schaltplan mit den dokumentierten 
Änderungen.
Die Datei SuperBall1.zip emnthält die Software als AVR-Studio6 Projekt

In der originalen Vorlage sind einige (wie ich finde gravierende) Fehler 
vorhanden:

- G-Sensor nicht implementiert
- Mikrofonschaltung funktioniert nicht (ich konnte bis heute keine 
Lauffähige Version herstellen)
- Software-SPI---> viel zu langsam für 384 LEDs
- kleinere Layoutfehler von Thorsten und mir.
- Versorgungsspannung kann nicht gemessen werden.

Diese Version hat die Fehler behoben(Siehe Schaltplan):
- Hardware-SPI, wo es geht
-  G-Sensor implementtiert
- Mikrofonschatung auf den Platine durch zugekauften Mikrofinverstärker 
von ELV (siehe Schaltplan) ersetzt. Der Verstärker auf der Platine wird 
nur verwendet, um das Ausganssignal von +/-1V des Mirkrofonverstärkers 
auf die halbe Betriebsspannung zu Skalieren.
- Die Sicherung F1 ist entfernt, da der Spannungsabfall bei höhen 
Strömen zu groß wird.
- Signalkonditionierung durch Pull-Ups an einigen Stellen.
- Versorgungsspannung wird über einen Spannungsteiler gemessen. Als 
Referenz für den ADC wird die interne Band-Gap des ATMega verwendet. So 
lassen sich zuverlässig Spannungen bis 2.7V messen. Unterspnnung wird 
erkannt und es kann entsprechend reagiert werden.

Es gibt insgesamt 11 Modi (Animationen):
- Spektrumanalyser ( bis ca. 4KHz) mit Goertzel realisiert -> 
Mikrofonimplementierung
- Horizontaler Ring, der sich mit einer Beschleunigung nach oben oder 
unten verschiebt -> G-Sensor implementierug
- Umlaufende Spalte
- vertikale Kreise
- horizontale kreise
- einzelne Helix
- einzelne Helix klein
- doppelte parallele helix
- doppelte helix gegensinnig
- Alles voll an
- Auto Mode, alle animationen werde nacheinander angezeigt in einer 
endlosschleife. Die Aktivierung des Auto-Mode wir mit einem zweimaligen 
Blinken der Kugel angezeigt.


Die Taster "Mode" und "Bright":
*Kuzer Druck der "Mode" Taste*:
Eine Animation vor. Bei Erreichen der letzen wird von vorne begonnen

*kurzer Druck "Bright" Taste:*
Die Helligkeit wird global stufenweise bis zum Maximalwert erhöht und 
beginnt bei Überschreiten des Maximalwertes mit minimalen Wert von 
vorne.

*Langer Druck Der "Mode"-Taste (2-3s):*
Die Kugel Blink einmal und schaltet in den Setup-Modus für die 
Animationsgeschwindigkeit der aktuellen Animation.
Mit "Mode" wird die Geschwindigkeit reduziert, mit "Bright" erhöht. Die 
Änderung der Geschwindigkeit ist sichtbar.
Nochmaliges langes Drücken der "Mode"-Taste verlässt den Setup-Modus für 
die Geschwindigkeit, erkennbar am zweimaligen Blinken der Kugel.
Dieser Modus hat eine Besonderheit:
Wird dieser Modus währen des Auto-Modes aufgerufen, wird mit der 
Animationsgeschwindigkeit die Zeit eingestellt, die jede einezelne 
Animation läuft, bevor zur nächsten weitergeschaltet wird.

*Langer Druck Der "Bright"-Taste (2-3s):*
Die Kugel Blink einmal und schaltet in den Setup-Modus für die 
Helligkeit der aktuellen Animation.
Mit "Mode" wird die Helligkeit erhöht, mit "Bright" erniefrigt. Die 
Änderung der Helligkeit ist sichtbar.
Nochmaliges langes Drücken der "Bright"-Taste verlässt den Setup-Modus 
für die Helligkeit, erkennbar am zweimaligen Blinken der Kugel.

Für jede Animation lässt sich die Helligkeit und Geschwindigkeit 
individuell einstellen. Alle Einstellungen für Helligkeit und 
Geschwindigkeit, sowie der aktuelle Animationsmodus werden im EEPROM 
gespeichert. Bei jedem Reset oder Einschalten der Kugel werden die Werte 
aus dem EEPROM ausgelesen.

Factory-Default-Werte gibt es in dieser Softwareversion noch nicht. Nach 
dem ersten Programmieren werden die Werte aus dem EEPROM gelesen, die 
aber zufällige Werte haben können. Für jede Animation müssen/können 
Helligkeit und Geschwindigkeit manuell von Hand eingestellt werden.
Alternativ kann auch die for-next-schleife nach den 
Variablendeklarationen entkommentiert werden. Alles kompilieren und 
brennen. Nun werden sinnvolle Defaultwerte ins EEPROM geschrieben. 
Danach die For-Next-Schleife wieder kommentieren und erneut kompilieren. 
Das Kompilat brennen und fertig. Nach dem Einschalten haben alle 
Animationen diesselbe Helligkeit und Geschwindigkeit.

Das war's in Kürze vom Projekt Blinky Ball.
Für Anregungen bin ich wie immer  dankbar.


Viele Grüße

Karsten

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.