Show Posts
Pages: 1 2 3 [4] 5 6 ... 232
46  International / Deutsch / Re: Frequenzgenerator Programmieren on: May 12, 2014, 03:23:39 pm
Aha, wenn ich das mit meinem Laienverständnis von Autos richtig verstehe, dann sind die Signale alle phasenverriegelt und die Frequenz ist die einzige freie Variable. D.h. das Problem besteht aus 2 Teilen:

1) Erzeugen der Signale.
2) Erzeugen eines variablen Takts.

1) kann man genau wie im Leuchtturm Beispiel abfackeln
2) kann man wie im flexible Sweep Beispiel abfackeln.

Du musst nur anstelle der mstimer2 library den ISR aus dem flexible Sweep Beispiel verwenden. Die Konstruktion funktioniert prinzipiell auch oberhalb von 1 kHz. Ich hatte nur den Parser nicht für höhere Werte ausgelegt. Auch halte ich es nur für bedingt sinnvoll jenseits von 1 kHz noch Nachkommastellen mitzuführen (denn der Quarz ist ja nur so ~20 ppm genau, vom Resonator beim Uno wollen wir gar nicht erst anfangen).
47  International / Deutsch / Re: Im Interrupt funktionen benutzen? on: May 11, 2014, 04:37:09 am
Grundsätzlich geht sowas. Und die Funktion sieht auch nicht so teuer aus. Im schlimmsten Fall nimmst Du eben die Baudrate runter auf 9600 Baud.  Und weil es eine Funktion ohne Seiteneffekte ist brauchst Du auch nirgends volatile. Volatile brauchst Du eigentlich nur bei (globalen) Variablen auf denen Du in Interrupts Seiteneffekte erzeugst.
48  International / Deutsch / Re: Frequenzgenerator Programmieren on: May 11, 2014, 04:34:23 am
Mein Frequenzgenerator und der Leuchtturmsketch die schon genannt wurden sind ausreichend dokumentiert und sollten sich leicht anpassen lassen. Ich glaube aber, Du hast das XY Problem http://meta.stackexchange.com/a/66378. D.h. sag uns doch erst einmal was Du vorhast bevor Du uns nach Lösungen fragst.
49  International / Deutsch / Re: Jahreszahlformat - RTC Winterzeit-Sommerzeit on: May 06, 2014, 10:49:32 am
Warum nimmst Du nicht einfach ein DCF77 Modul anstelle einer RTC? Dann ist das Sommerzeit / Winterzeitproblem gelöst, denn DCF77 liefert ein Sommerzeit / Winterzeitflag mit. Falls Deine Wechselrichter die Module stören --> meine Library behebt sowas problemlos: http://blog.blinkenlight.net/experiments/dcf77/dcf77-library/
50  International / Deutsch / Re: Jahreszahlformat - RTC Winterzeit-Sommerzeit on: May 02, 2014, 06:20:27 am
Ich finde es schräg boolesche Ausdrücke auszuwerten um dann per IF zu entscheiden ob man true oder false zurückgibt. Ich würde deshalb statt sowas

Code:
{
  if (month<3 || month>10) return false; // keine Sommerzeit in Jan, Feb, Nov, Dez
  if (month>3 && month<10) return true; // Sommerzeit in Apr, Mai, Jun, Jul, Aug, Sep
  if (month==3 && (hour + 24 * day)>=(1 + tzHours + 24*(31 - (5 * year /4 + 4) % 7)) || month==10 && (hour + 24 * day)<(1 + tzHours + 24*(31 - (5 * year /4 + 1) % 7)))
    return true;
  else
    return false;
}

Eher sowas schreiben

Code:
{
  if (month<3 || month>10) return false; // keine Sommerzeit in Jan, Feb, Nov, Dez
  if (month>3 && month<10) return true; // Sommerzeit in Apr, Mai, Jun, Jul, Aug, Sep
  return (month==3 && (hour + 24 * day)>=(1 + tzHours + 24*(31 - (5 * year /4 + 4) % 7)) || month==10 && (hour + 24 * day)<(1 + tzHours + 24*(31 - (5 * year /4 + 1) % 7)));
}

oder ganz konsequent gleich

Code:
{
    return 
        (month>3 && month<10) || // Sommerzeit in Apr, Mai, Jun, Jul, Aug, Sep
        (month== 3 && (hour + 24 * day)>=(1 + tzHours + 24*(31 - (5 * year /4 + 4) % 7)) ||
        (month==10 && (hour + 24 * day)<(1 + tzHours + 24*(31 - (5 * year /4 + 1) % 7));
}


51  International / Deutsch / Re: Probleme mit dem Zählen *gg* on: April 19, 2014, 12:40:23 am
Wenn der Taster auch der Resettaster sein darf hätte ich hier Beispielcode: http://blog.blinkenlight.net/experiments/counting-resets/wear-leveling/
52  International / Deutsch / Re: non-blocking function mit millis() on: April 19, 2014, 12:39:00 am
Du kannst Dir auch mal dieses Beispiel hier anschauen: http://blog.blinkenlight.net/experiments/basic-effects/lighthouses/ oder dieses: http://blog.blinkenlight.net/experiments/measurements/flexible-sweep/. Allerdings wäre mir ein Softwarebasierter Not Aus zu windig. Was ist wenn Deine Software einen Fehler hat? Was ist wenn der Controller aufgrund eines Versorgungsspannungstransienten in einen undefinierten Zustand kommt?
53  International / Deutsch / Re: Arduino Pins getaktet einlesen on: April 15, 2014, 02:30:47 pm
Ah, da hätte ich mal genauer lesen sollen. Also Blick ins Datenblatt wo die echte Grenze ist --> ADC braucht bzw 13.5 Zyklen. ADC Clock muesste bei ~600 kHz sein --> möglich allerdings nicht mit 10 Bit Auflösung.
54  International / Deutsch / Re: Arduino Pins getaktet einlesen on: April 15, 2014, 01:48:57 pm
@guntherb:  44.1 kHz geht  mit einem 644P http://people.ece.cornell.edu/land/courses/ece4760/FinalProjects/s2012/tcj26_ecs227/tcj26_ecs227/index.html. Der ADC ist aber auch nicht schneller als in einem Arduino --> mit analogRead geht das in der Tat nicht, mit einem Arduino aber schon.
55  International / Deutsch / Re: DCF77 Programm Problem on: April 01, 2014, 02:59:56 pm
Der Iteadduino hat aber keiner 328er drauf --> die Timer könnten Probleme machen. Die anderen beiden sollten OK sein. Oder natürlich ein Blinkenlighty smiley-wink
56  International / Deutsch / Re: DCF77 Programm Problem on: April 01, 2014, 01:09:00 pm
Nachtrag: für meinen Decoder brauchst Du allerdings einen "alten" Arduino, d.h. einen mit Quarz, der neue Uno hat nur einen billigen Resonator und das taugt nicht für sowas.
57  International / Deutsch / Re: DCF77 Programm Problem on: April 01, 2014, 01:07:23 pm
Die einfachen DCF77 Decoder haben alle schon bei sehr geringen Störungen riesige Probleme. Meiner http://blog.blinkenlight.net/experiments/dcf77/dcf77-library/ kommt selbst bei >10 Bitfehlern pro Minute noch nicht aus dem Tritt. Allerdings brauchst Du dafür einen halbwegs aktuellen Compiler. Arduino hat leider immer noch einen 5 Jahre alten Compiler paketiert und der damit erzeugte Code ist zu langsam smiley-sad Sobald Du aber einen neueren Compiler installierst geht das sehr gut.
58  International / Deutsch / Re: Serial.print mit zusätzlichen Steuerzeichen ??? on: April 01, 2014, 01:03:36 pm
Serial.print kann problemlos auch Steuerzeichen ausgeben. Speziell STX und ETX brauche ich auch (siehe hier: http://blog.blinkenlight.net/experiments/dcf77/meinberg-emulator/). Das geht problemlos.

Im schlimmsten Fall kannst Du einen String immer als 0 terminiertes char Array deklarieren. Dann kannst Du beliebige Sonderzeichen reinstopfen. Also so:

Code:
const char meinString[] = {'S', 'o', 0x02, 0x03, 0x00};


59  International / Deutsch / Re: und nochmal millis on: March 30, 2014, 02:31:22 pm
Sieht für mich irgendwie nach dem "Leuchtturmproblem" aus: http://blog.blinkenlight.net/experiments/basic-effects/lighthouses/.
60  Using Arduino / Programming Questions / Re: Generating 77.5 kHz on: March 27, 2014, 02:13:06 pm
I double checked the signed vs. unsigned issue. Of course it is a valid point but in my case not applicable.

Thanks to Magician for locating the real issue. I confused binary and logic or. Interestingly I messed this up only in parts of my code. Now it works exactly as it should smiley
Pages: 1 2 3 [4] 5 6 ... 232