Show Posts
Pages: 1 [2] 3 4 ... 232
16  International / Deutsch / Re: Frage: Resonator/Quarz on: June 27, 2014, 03:29:13 pm
Wenn Du wirklich nur WS2812B ansteuern willst, dann reicht RC. Warum? Weil im Datenblatt Toleranzen von fast 30% ausgewiesen sind. Und warum? Naja, weil MCs mit RC Oszillator nur ~10% genau sind. Also 10% für den Master Controller und 10% für den Controller an der LED. Dort will man ja auch sparen, denn die Teile sind echte Massenware und da kommt es wirklich auf 1/100 Cent an. Und dann noch 10% Puffer weil die Dinger ja mächtig warm werden.
17  International / Deutsch / Re: Lichteffekte zum Bass on: June 27, 2014, 03:22:23 pm
Für einen digitalen Tiefpass braucht man keine FFT. Eine einfache Mittelwertbildung tut's auch. Oder ein exponentieller Filter weil der einfacher zu implementieren ist:  https://de.wikipedia.org/wiki/Exponentielle_Gl%C3%A4ttung
18  International / Deutsch / Re: Mathe- oder Codeproblem? on: June 27, 2014, 03:20:20 pm
Das Problem ist, daß Du mit Bytes rechnest. D.h. die Multiplikation bringt Dich vermutlich aus dem Zahlenbereich raus und die Division liefert dann nur noch Müll.

Schritt 1: Die Werte auf uint16_t casten.
Schritt 2: Falls das nicht das gewünschte Ergebnis liefert nochmal genau beschreiben wozu Du das genau brauchst.
19  International / Deutsch / Re: Frage: Resonator/Quarz on: June 26, 2014, 03:17:36 pm
Die Lösung von Jurs ist nicht auf 1% genau. Man muß das Datenblatt richtig lesen. Der Eintrag ist wie folgt zu interpretieren.

Wenn man für EINE feste Frequenz und EINE feste Spannung und EINE feste Temperatur den RC Generator kalibriert, dann hält er für dieses Tripel eine Toleranz von 1% ein. Alles andere wäre auch mehr als überraschend. Man kann also kalibrieren solange man will, falls die Temperatur nicht fest ist wird der RC Oszillator bis zu 10% abweichen.

Den Kommentar zu Resonatoren spare ich mir.

Wer einen halbwegs brauchbaren Taktgeber will nimmt einen Quarz. Alles andere ist im Amateurbereich den Aufwand nicht wirklich wert.
20  International / Deutsch / Re: wenn Ub sinkt, was passiert mit dem µC ? on: June 23, 2014, 10:26:48 am
Man könnte auch auf die Idee kommen den ADC beim unterschreiten der Spannungsschwelle (also wenn die Referenz die Referenzschwelle überschreitet) einen Interrupt auslösen zu lassen.

Erste Maßnahme wäre dann wohl die Taktfrequenz sofort auf 1 MHz runter zu teilen um beim Spannungsabfall die SOA nicht zu verlassen. Und dann SCHNELL alles abräumen.
21  International / Deutsch / Re: Finde den Fehler. Mein Code funktioniert hinten und vorne nicht richtig... on: June 22, 2014, 08:55:07 am
Das mit der Stacktiefe ist kein Gerücht, tritt aber in der Arduino Welt eher selten auf. Ein tiefer Stack fängt bei >100 Schachtelungsebenen an. Wenn der Code nicht rekursive aufgebaut ist, dann nimmt da der Überblick so langsam aber sicher ab. In der Arduino Welt passiert sowas aufgrund des geringen Speichers eher selten.
22  International / Deutsch / Re: Finde den Fehler. Mein Code funktioniert hinten und vorne nicht richtig... on: June 22, 2014, 04:48:47 am
Quote
Programmiere modular mit wiederverwertbaren Funktionen, die vom Code her auf eine Bildschirmseite passen, also nicht mehr als ca. 25 Codezeilen in eine Funktion packen! Diese Funktionen einzeln Testen mit Debugausgaben auf Serial. Und die getesteten Funktionen dann zu einem ganzen funktionierenden Programm zusammensetzen!

Das Gerücht mit der Funktionenlänge wird immer wieder gerne hochgebracht ist aber falsch. Fehlerquote und Länge sind nicht korreliert. Das Problem mit kurzen Funktionen ist oft die dadurch hervorgerufene erhöhte Stacktiefe. Diskussionen um brauchbare Metriken gibt es hier: http://stackoverflow.com/questions/187289/what-code-metrics-convince-you-that-provided-code-is-crappy?lq=1. Erkenntnis: so einfach ist die Welt leider nicht.
23  International / Deutsch / Re: Funkaktivierung on: June 21, 2014, 01:29:05 am
Ich finde den Olimexino auch am Besten konstruiert. Bei einem Quarz musst Du mit ~/- 30 ppm rechnen. Der Temperatureinfluß in dem Bereich in dem Du unterwegs bist ist höchstens +/- 3ppm. --> etwa 1/10s pro Stunde ohne überhaupt etwas einzustellen.
24  International / Deutsch / Re: Funkaktivierung on: June 20, 2014, 02:01:51 pm
@Jurs:: heutzutage hat fast jeder PC Netzwerkzugang. Wenn's also drauf ankommt --> NTP. Und falls kein Netz da sein sollte NTPD + Funkuhr, geht auch mit Arduino http://blog.blinkenlight.net/experiments/dcf77/meinberg-emulator/ / http://blog.blinkenlight.net/experiments/dcf77/meinberg-emulator/ntpd-configuration/

Die Kalibrierungstheorie wird bei Resonatoren nicht funktionieren.  Einen Resonator auf 500 ppm genau zu bekommen ist mehr als sportlich und funktioniert nicht. Das ist genauso wie der sinnlose Versuch auf 10% Widerständen die 10% zu suchen die auf 1% genau sind. Das Problem ist immer das gleiche: ungenaue Bauteile halten die Genauigkeit nicht, auch dann nicht wenn man sie ausmisst.

Der eingebaute Temperatursensor des Arduino ist auch nicht hilfreich. Der misst die Die Temperatur. Was benötigt würde wäre aber die Oszilatortemperatur.

Wenn aber eh schon XBees da sind: warum steuert der Rechner nicht einfach alles direkt darüber? Das scheint mir die erfolgversprechendste Methode zu sein. Oder gibt es auf der Bühne zuviele Störungen?
25  International / Deutsch / Re: Funkaktivierung on: June 20, 2014, 12:15:27 pm
Quote
Die Rede war von 20 - 30s, da ist der Fehler doch recht überschaubar.

20-30s bis zum Start. Ein Lied hat aber normalerweise irgendwas zwischen 2 und 5 Minuten. Zum Ende hin wird da das Eis schon dünner.

Quote
Und wozu können wir programmieren?

Wenn der Arduino seine Zeitbasis per Software bildet, dann können wir diese Zeitbasis auch per Software manipulieren, und wir können damit Taktabweichungen vom exakten 16 MHz Takt korrigieren, so dass der Arduino dann mit irgendeiner anderen Zeitquelle synchron läuft.

Tja, das dachte ich auch mal. Nur funktioniert das so nicht. Du kannst das machen wenn die Temperatur konstant bleibt. D.h. wenn das Teil vorher auf Körpertemperatur gebracht wird und dann eingestellt wird, dann klappt das wohl sehr gut. Wenn das Teil aber vorher auf Raumtemperatur ist und dann während der Vorstellung auf Körpertemperatur kommt kannst Du den Ansatz komplett vergessen.

--> Ich sag nur DS3232 RTC ~2 ppm genau. Sowas in der Bauart würde ich nehmen. Alles andere funktioniert nicht zuverlässig.
26  International / Deutsch / Re: 16Mhz Crystal für Atmega8 on: June 20, 2014, 12:09:17 pm
Die Belastbarkeit ist geringer. Zum Ausgleich ist die Empfindlichkeit auf äußere Einflüße größer. Wenn Du also nicht unbdedingt Platz sparen mußt nimmst Du die Dinger nicht.
27  International / Deutsch / Re: Funkaktivierung on: June 20, 2014, 10:32:04 am
Falls die Sequenzen länger sind brauchst Du etwas das die Zeit genau hält. Ein Uno hat einen Resonator statt einem Quarz, der läuft pro Sekunde auch mal locker 5ms weg. D.h. nach 200 Sekunden kann der Fehler schon auf 1s angewachsen sein. Falls die Sequenzen also synchron zur Musik sein sollen wird das so nicht funktionieren.

--> Du brauchst was mit Quarz oder eine RTC oder Du überträgst die Sequenzen direkt vom Computer zum Arduino.

-Udo
28  International / Deutsch / Re: gewöhnliche Lebensdauer eines 3.2 TFT LCD Panel on: June 20, 2014, 10:29:39 am
Einbrennen bei LCDs gibt es nicht. Es gibt lediglich das hier: https://de.wikipedia.org/wiki/LCD-Memory-Effekt. Das ist aber deutliche weniger schlimm als das bei Bildröhren tatsächlich vorhandene Einbrennen.
29  International / Deutsch / Re: 16Mhz Crystal für Atmega8 on: June 20, 2014, 10:27:28 am
An den Fuses musst Du nichts ändern, Du müesstest aber für die Frequenzen entsprechend die Boardeinstellungen ändern. Ansonsten sind alle Schnittstellenfrequenzen entsprechend daneben.

Daß man mit Trimmern und Kondensatoren einen Quarz _dauerhaft_ auf die richtige Frequenz bringen kann ist allerdings falsch. Einer der größten Faktoren für Frequenzabweichungen ist die Temperatur. Ohne massiven Aufwand kriegt man das nicht sauber hin. Und ich befasse mich damit schon etwas länger (siehe etwa hier: http://blog.blinkenlight.net/experiments/dcf77/crystal-frequency-compensation/)

Für den Arduino nimmst Du einfach irgendeinen 16 Mhz Quarz. Allerdings keinen in den kleinen Röhrschen sondern einer der von der Bauform aussieht wie das was immer verbaut wird. Dann schaust Du im Datenblatt nach der "load capacity" und berechnest diese  entsprechend. Oder Du nimmst einfach 2*12 pf. Besonders genau wird die Konstruktion eh nicht (~30 ppm). Wenn Du genaue Zeit brauchst, dann nimm einen DS 3232 RTC. Der hat einen TCXO drin, das kannst Du mit vertretbarem Aufwand so gut wie gar nicht toppen. Das ist vermutlich auch die Art von Konstruktion die in der genannten Breitling drin ist.

-Udo
30  International / Deutsch / Re: 433 MHz Fernsteuerung on: June 19, 2014, 09:20:26 am
@Sven, ja ich bin mir absolut sicher. Wie gesagt habe ich per DSO nachgeschaut. Die TI Clock kommt der Sache schon recht nahe. Aber etwas zu teuer.
Pages: 1 [2] 3 4 ... 232