Beiträge von Fightclub

    Beim Lookup habe ich schon nachgeguckt, laut Hilfe hat der Parameter von Lookup den Wertebereich eines Word, daran sollte es also nicht liegen. Dass er da aus irgendeinem Grund das Multiplexing verzkloppt habe ich mir auch schon gedacht, ich kann mir nur nicht erklären wieso. Das Muster wurde auch schon überprüft, das scheint ok zu sein (ja, das wurde mit dem Editor erstellt, aber mehr schlecht als recht ;)). Die Vermutung mit dem zu großen Offset hatte ich auch schon, aber wenn man das mal durchrechnet sind das 50 Bilder, mal 20 Byte, macht 1000 Byte. Selbst bei 500 Bildern sind das 10000 Byte, was immernoch ein sechstel des Wertebereichs eines Word ist.
    Noch jemand eine Idee? :S

    Hallo zusammen,


    zuletzt wurde ich von jemandem angeschrieben, der hier im Forum von Pesis 3x3x3 Cube gelesen hat und sowas in 5x5x5 nachbauen wollte. Ich wurde gebeten die Software dafür zu schreiben. Im ersten Moment dachte ich mit ein paar Schleifenbedingungen ändern wäre die Sache gelaufen. Allerdings gibt es jetzt folgendes Problem: Die ersten ~50 Bilder laufen problemlos durch. Dann fängt der cube plötzlich an vollkommen rumzuspinnen. Er wechselt zu irgendwelchen abstrusen Mustern, wo manche LEDs heller leuchten als andere. Die Bilder bleiben dann auch deutlich länger als eigentlich eingestellt bestehen. Zuerst dachte ich an einen Variablenüberlauf in einer der Zählervariablen. In die Richtung habe ich auch schon einiges geändert, aber jetzt bin ich mit meinem Latein leider am Ende. Zusätzliches Problem: Der Cube steht nicht bei mir, daher kann ich auch nicht mal eben testen, wie sich das Problem beheben lässt.
    Code und Musterdatei finden sich im Anhang, ein Video des ganzen findet ihr unter http://www.youtube.com/watch?v=v_P5UpPkinU.
    Wenn jemand eine Idee hat wo der Fehler liegt, bitte her damit.


    Viele Grüße und schonmal vielen Dank
    Fightclub

    @Foo: Das gilt aber auch nur für die größeren Atmega. Bei den kleinen ATTiny sind nämlich VCC und GND genau punktsymmetrisch rechts oben und links unten. Wenn man den falsch reinsteckt hat man den Salat.
    Der Widerstand ist wirklich eine gute Idee, wobei ich nicht weiß wer eher schlapp macht. Der AVR, wenn er die 40mA max. Output Current per Pin rauswirft oder die LED wenn sie mit 40mA gebrutzelt wird. :huh:

    musst du ihn feste andrücken, am besten mit einer ic zange

    Man kann auch für alles Geld ausgeben :D

    oder einfach mit dem daumen, bis er bündig auf dem sockel aufliegt

    Besser noch mit Daumen und Zeigefinger oder direkt mit dem Handballen, dann drückt man schön gleichmäßig

    Welche Aufgaben haben eigentlich die drei kleineren IC's?

    Da ich leider grade zu faul bin 3 Stockwerke runterzulaufen kleiner Tipp: Schau auf die Aufschrift des ICs und tipp sie bei http://www.datasheetcatalog.com ein und schau dir an was das fürn Teil ist ;)

    Hi Spyder,


    habe dir vor einigen Tagen mal ne PM geschrieben wegen der Sammelbestellung, allerdings nix mehr gehört, wenn du mir kurz bestätigen könntest dass ich auf der Liste stehe wäre das sehr nett :thumbup:

    Du könntest auch, wenn du Timer1 benutzt den OCR1A fürs anschalten und den OCR1B zum abschalten und anschließenden Reset des Timers (TCNT1 = 0) benutzen. Je größer der Abstand zwischen den beiden, desto länger is die LED an, je höher der Wert für OCR1A, desto länger die Aus-Zeit.

    Fightclub: Das stimmt schon mit der logarithmischen Empfindlichkeit, eben genau daher braucht man ja die hohe Auflösung! - eine reine Korrekturkurve nützt hier leider gar nix, natürlich wird der Verlauf dann insgesamt linearer, aber er bleibt stufig, bzw. ist im unteren Bereich durch Rundungsfehler *noch abgestufter* - daher musst Du z.B. die 8 Bit Eingangswerte in 12 Bit Ausgang "übersetzen".... siehe dazu auch diese Versuche hier

    Also eine injektive Abbildung aus dem 8bit-Wertebereich auf den 10-bit Wertebereich soll ein holpern vermeiden? :huh: Objektiv kann das ja garnicht sein, subjektiv hab ich das natürlich nicht getestet. Aber ich tippe jetzt einfach mal ins Blaue, dass die Log-Tabelle das im Unteren Bereich fast noch surjektiv oder bijektiv abbildet und dann nach oben hin injektiv wird. Oh gott ich glaub ich mach mir da zu viel Gedanken :D

    10 Bit ist keine so blöde Zahl, die reicht nämlich gerade, um die 8 Bit Eingang stufenlos umzurechnen

    Naja, für *umrechnen* haben 10 Bit eigentlich keinen Vorteil, da der AVR aus allen Rechenoperationen mit mehr als 8bit eh mehrere Operationen macht. ;)


    Ach Pesi, krieg ich nochmal ne Mail? :D

    Also 8bit PWM sollten eigentlich für ein stufenloses faden reichen. 16bit ist ziemlich übertrieben und 10bit irgendwie eine komische Zahl :D Wenn dann eher 12Bit, dann hat man ein Byte und ein Nibble pro Wert.
    Dass es im unteren Bereich "holprig" wird liegt nicht am PWM, sondern am menschlichen Auge. Der Helligkeitsunterschied ist bei PWM bei allen Stufen gleich, allerdings nimmt das menschliche Auge das nicht linear wahr, sondern eher logarithmisch, weswegen es am Anfang deutlich "holpriger" erscheint als im oberen Bereich. Um dem entgegenzusteuern gibt es aber einige Softwarelösungen im Netz die das ganze mit Hilfe einer Logarithmus-Tabelle ausgleichen. Einfach mal nach googlen, dann gehts auch mit 8bit subjektiv linear :)

    Wenn dein Obi milchiges Plexiglas hat wäre das eine Möglichkeit. Ansonsten im Internet bestellen, wobei dann die Versandkosten meist etwas höher sind. Für die Anwendung empfiehlt es sich übrigens nicht spezielles LED-Plexiglas (truLED) zu benutzen, da du dadurch eine Mischung zwischen den einzelnen Kammern hast, die ja nicht gewünscht sind.

    Dito, die Schatten die du erwähnst sieht doch selbst meine Oma vor der Augen-OP aus 10m Entfernung :P

    Zitat

    wenn ich ein trennwand ziehe, dann wird ein schatten entstehen

    Du hast erraten wie die gemacht sind. Anders kriegst du auch nie die harte abgrenzung und die quadratische Fläche, die LED strahlt ja radial ab.

    Bei normaler UART Kommunikation wird das ErrorFlag eigentlich eher selten benutzt. Du kannst FrameErrors abfangen, aber die meisten tun das wohl nicht. Ich glaube aber immernoch wie guenter, dass die Register im mega644 andere Namen haben, das hängt aber dann nicht mit Bascom zusammen, sondern ist ein generelles Problem in allen Sprachen.

    k.A., ob das nur funktioniert, wenn in der aufgerufenen Routine dann Inline-Assembler steht und man die dort benutzten Register sichert, es bei Bascom aber nicht geht, weil das z.B. bei diesem Vergleich, schreiben in's Array etc. andere Register/RAM-Bereiche (den internen Kram eben) überschreibt, die dann anderswo wieder gebraucht werden..?!? - falls nicht, würde diese "Nosave"-Option hier halt auch gleich mal ca. 100 Takte sparen.... was immerhin ca. 5x so viel ist, wie die *komplette* DMX-Routine in Assembler.. :D ;)

    Ich befürchte, dass der AVR selbst für Zuweisungen auf Registern rumreitet. Bei Additionen sogar ziemlich sicher, vorallem wenn die Var. mehr als 1 Byte haben. D.h. du wirst da kaum drum rumkommen. Leider...

    Die Aus- und Eingänge habe ich natürlich auf die anderen beiden Controller angepasst. Irgendetwas muss an denen besonders sein das es nicht funktioniert. Das Ergebnis bei dem Mega644 und dem Mega644p ist genau das selbe, die LEDs flackern nur komisch rum sobald was am Rx der UART ankommt.

    Was mir dazu spontan einfällt wäre, dass die Register eventuell nicht bei beiden Typen gleich heißen. Keine Garantie, aber überprüf mal zur Sicherheit ob die Register wirklich bei beidem vorhanden sind und die Bits im Register den gleichen Namen tragen.

    die IC-Sockel sind hier wohl gar keine in dem Sinn (also nicht für ICs gedacht), man sieht da ja einen Kondi und zwei Widerstände drinstecken auf dem Foto - das ist quasi ne einfache Form eines selbstgebastelten Steckbretts... :D

    Die Teile heißen aber trotzdem so :P
    Siehe Reichelt:
    http://www.reichelt.de/?;ACTIO…6b66317ae6aef75792aadd581

    ich schätz' mal, da kann man halt die Leitungen (Rx, Tx, Handshake-Signale) abgreifen,

    Mit Tx und Rx wirst du aber nicht viel anfangen können, das ist ja nur das modulierte Datensignal :huh:

    Als ich hab mal geguckt und statt des Adapters hätte es auch ein Verlängerungskabel getan :thumbdown: :D

    Wie? Sind also die Pins der Fassung einfach an Das Kabel angeschlossen? 8| Was ist denn das fürn Schrott :thumbdown: