Jump to content

Nic

Members
  • Gesamte Inhalte

    1.425
  • Benutzer seit

  • Letzter Besuch

Posts erstellt von Nic

  1. :o Alle 10ms den getter, das ist dann aber nur eine Notlösung, optimaler wäre ein CB Threshold wie z.B. beim VoltageCurrent Bricklet:

    http://www.tinkerforge.com/de/doc/Software/Bricklets/VoltageCurrent_Bricklet_Delphi.html#TBrickletVoltageCurrent.SetCurrentCallbackThreshold

    Oha, den würde ich mir aber auch für den Stepper Brick wünschen ::)

     

    Den VoltageCurrent zw. Motor und Stromquelle anbinden wäre keine Option?

  2. Wenn ich das richtig verstanden habe, dann muss man die Uhrzeit selbst stellen und eine Kalibrierung vornehmen und selbst dann hat man im besten Fall "immerhin" eine Abweichung von 2,5 Sekunden pro Monat

    Eine kleiner Erfahrungsbericht nach knapp 7 Wochen RTC Einsatz: Zu Beginn hatte ich die Zeit manuell über den BrickV eingestellt. Referenz war eine Funkuhr. Vergleiche ich die RTC Zeit heute mit der Funkuhr würde ich schätzen, dass RTC etwa 1/4 sec nachgeht. Bis heute ohne Kalibrierung und ohne weitere manuelle Korrektur.

  3. Ich kann mir nicht vorstellen, dass die 85° erreicht oder überschritten wurden, dann müssten vorher einige Materialien sich sichtbar verformt haben.

    Ich würde den Ambient woanders hinlegen und nochmal messen ob das gute Stück noch betriebsfähig ist. Halbleiter Sensoren haben eine oft noch eine ausgeprägte IR Empfindlichkeit jenseits der 700nm. Ev. ist der IR Anteil so hoch, dass die Messwerte verfälscht werden. U.U. ein Schutzglas vor den Ambient montieren oder alternativ ev. das Temp.-IR Bricklet verwenden.

  4. Ok, letzte Frage dazu: Nehmen wir als Beispiel eine CB-Periode von 5min: Aggregiert sich die Abweichung von Takt zu Takt, oder würde das Callback Event mal mehr (5,2min) oder nur etwas weniger (5,07min) später ausgelöst?

     

    PS: Habe zum ersten Mal die RTC Zeit manuell (localtime) angelegt, und anschl. mittels rtc_time.py Script wird zwar die Systemzeit des RED synchron. aber abhängig von der (vermutl. vom NTP vorher gesetzte) Zeitzone umgerechnet :(

  5. Für die üblichen Zeitspannen im Sekunden- bis mehrere Minutenbereich die bei Period-Callbacks und z.B. auch Monoflops zu erwarten sind ist die Zeitmessung der Bricklets hinreichend gut genug. Im Stundenbereich wirst du schon merkliche Abweichungen sehen.

    Mit Bereichen meinst du den jetzt gesamten Messbereich von Betriebsstart bis -ende des CBs, oder die Periode?

  6. Das es im Zusammenhang mit der Ungenauigkeit eines Brick-Timers zu tun hat, ist mir nicht aufgefallen. Mit ist das auch neu, dass die internen Timer eines Brick generell nicht so genau sind. Habe ich hier im Forum oder Doku das übersehen? Mit welchen Abweichungen hat man i.d.R zu rechnen?

     

    Gilt die Ungenauigkeit auch für die Monoflop-Timer?

  7. set_date_time_callback_period(uint32 period)

    get_date_time_callback_period() -> uint32 period

     

    CALLBACK_DATE_TIME -> uint16 year, uint8 month, uint8 day, uint8 hour, uint8 minute, uint8 second, uint8 centisecond, uint8 weekday

    Wird das periodische Auslösen unter Angabe der MillSec nicht schon abgedeckt durch den OnDateTime Callback?

     

    Meinte Equinox doch diesen...

    periodischer Callback, z.B. alle 5 Sekunden (unabhängig von Tag/Uhrzeit).

     

  8. Ja eine Repeat Angabe wäre prima, ev. könnte man mit diesem Wert auf 0 den CB grundsätzlich abschalten, eine Auslösung einmalig mit 1 usw. Wie gebe ich die dauerhafte Wiederholung an? Max (int) ?

    Hmm, also ich verstehe nicht wirklich wofür du diesen Callback brauchst?

    Du (noch) nicht, aber vielleicht andere User, da fragst du besser wehnerc :) Aber der Vorteil von Callbacks generell ist klar, oder?

    Dafür bieten doch die Programmiersprachen mehr als genug Möglichkeiten.
    Warum soll ich für u.U. banales Monitoring von Werten extra Infrastruktur progr.? Auf einem Single-Core ARM und node.js muss ich das nicht unbedingt haben.
  9. Ich würde generell eine 0 statt -1 setzen um etwas abzuschalten, so haben wir das bisher auch bei Callbacks gemacht. Und dann eine public Konstante in die API ev. hinzufügen die genausowas beschreibt FLAG_NOOP(=0) oder so ähnlich. Dann muss ich bei der Anwendungsprogrammierung nicht mehr drüber nachdenken: war das jetzt eine 0 oder xyz sondern setze statt einem Zahlenwert diese Konstante.

     

    Mir würde es erstmal reichen, wenn es noch geht, könnte man auch optional jeden Werktag setzen, da wäre dann quasi so universell wie bei einer Schaltuhr, jeden Montag und Samstag um 15.38 Uhr. Also ev. über ein Array oder Flags (rtcMonday || rtcSaturday) ... Aber nur wenn das ohne zusätzl. Aufwand geht.

     

    Wäre schön wenn diesbzgl. auch mal andere User ihre Meinung abgeben könnten... >:( Bevor dann wieder der Katzenjammer in der Community anfängt "Öh so blöde Fkt. kann ich ja gar nicht verwenden...".

  10. Ok, prima und danke. Und meine flüchtigen Gedanken musst du nicht immer so genau unter die Lupe nehmen ;)

    set_alarm: Ich würde empfehlen erstmal nur ein simplen Callback(int8_t month, int8_t day, int8_t hour, int8_t minute, int8_t second) implementieren solange nicht hier aus der Community noch weiteres Feedback/Wünsche kommen.

  11. Stirnrunzel  :o

    Der periodische Callback des RTC Bricklets wäre nicht besser/genauer als jeder andere Callback.
    Es gibt im RTC überhaupt noch keinen Callback! Es reicht aber zumind. einen Callback zu haben wie z.B. im GPS OnDateTime etc. Alles andere vergiss was ich geschrieben habe.
    In diesen Fällen kann das Real-Time Clock Bricklet als bessere Uhr genutzt werden.
    Und genau dafür will ich es nehmen, für einen 20 Euro teuren Bricklet kann ich erwarten, dass da einfache  Callbacks drin sind, mit dem ich mir z.B. einfach die aktuelle Uhrzeit in die Anwendung triggere. Wenn der poppelige IO4 einen Timer-gesteuerten Monoflop hergibt verstehe ich nicht warum dass im RTC ein OnDateTime nicht machbar wäre.

    Sobald der Alarm ausgelöst wurde kannst du ihn auf den folgende Samsatg, den 9. April einstellen
    Gut setzt aber woraus das ich noch eine eigene Routine schreiben muss um den richtigen Tag zu berechnen. Aber egal ein einfaches setAlarm tut es auch.
  12. Nur eine kleine Ergänzung:

      File "C:\Users\wb\AppData\Local\Programs\Python\Python35-32\Servo-Test-1\GPS-7Meter-1.py", line 40, in <module>

        zahl = speed

    NameError: name 'speed' is not defined

    Die Variable "speed" war im Haupt(main)code nicht definiert und daher unbekannt.

    Diese war nur innerhalb des Callback-Aufrufs bekannt und auch nur dort nutzbar.

    Mit z.B.

    start = 0

    wird die Variable "start" erst definiert und erhält eine Wertzuweisung. Es kommt aber darauf an wo (=scope: https://de.wikipedia.org/wiki/Variable_%28Programmierung%29#G.C3.BCltigkeitsbereich_von_Variablen_.28Scope.29) man diese festlegt.

  13. Dessen Periode würde dann genau wie beim GPS Bricklet mit der internen Uhr des Bricks gemessen.
    Ja erstmal als "Standard" wie beim GPS, z.b. über SetDateTimeCallbackPeriod würde man das Interval in ms eintragen zu dem der Callback periodisch auslöst. Damit könnte man z.B. als Photograph Intervallaufnahmen steuern.

     

    SetAlarm wäre hilfreich den RTC als Schaltuhr für Zeitsteuerung zu verwenden.

    Ich würde dann aber auch noch den relativen Bezug ermöglichen, also z.B. wiederholend jeden Samstag um 15.36 Uhr. Natürlich vorausgesetzt dass der IC das hergibt.

     

     

  14. Ich würde noch weiter gehen und der Darstellung operativer Daten noch mehr Platz gönnen: Die Labels im Kopfbereich "Channel 0: 0.005V" etc. entweder auf 1 Zeile nebeneinander stellen oder über die Buttons "Channel 0" positionieren.

    Ebenfalls Platzverschwendung ist das Control "Show/Edit Calibration" über die gesamte Fenterbreite zu ziehen. Das ist vielleicht für Tablet-PCs ganz toll, weil man dann sicher den Button per Touch trifft ;D

     

    In die "Fußzeile" würde ich nebeneinander anlegen: Samp.Rate, Einh. ggf. abkürzen, CHL Btn "0", "1", "Clear", "Calibration". also alle zusammen und zentral. Weißer Bereich zeigt ausschl. die operativen Daten: Min/Max würde ich ev. rechts auch im Klartext angeben. Ebenso die jeweils aktuellen Werte von C1/2 würde ich von der Headline an die rechte Kante verlagern.

     

    Als Goodie vielleicht (später mal) einen "Save Plot" als PNG. Der Canvas müsste das eig. hergeben - auch in Python.

     

    Als wesentliche Verbesserung wäre mir noch die horizontale Dehnung der Historie wichtig. Darum gings doch eig.

     

    PS. Weitere Inspirationen könnten die Charts auf dem Aktienportal OnVista geben. Die Gruppierung eines Plots nach dem Zeitraum in 5Tage/1Mon/... ist gar nicht mal so schlecht.

  15. Das Real-Time Clock Bricklet haben wir nicht dabei. Das wird aber ab nächste Woche im Shop verfügbar sein

    Ah, prima, ich warte schon drauf.

     

    Es ist nicht ganz klar, was ihr mit Grafikplot meint? Ist das ein Beispiel-Aufbau speziell auf der Cebit gezeigt oder der Plot im BrickV?

  16. Habe es gerade auf einem Lubuntu 15.10 x64, BrickV 2.3.3, Image 1.7 getestet, da geht alles prima. ich erinnere mich in ganz seltenen(!) Fällen auch eine Fehlermeldung bekommen zu haben, vermutlich wenn die Synchr. zw. BrickV und RED noch nicht vollst. zu Beginn geklappt hatte. Beim nächsten DataCollect verschwand das aber.

     

    Ich würde den RED vom Kabel trennen, die SD-Karte vorsichtig nochmals einstecken, manchmal kann die verkanten. Prüfen ob der USB-Port genügend Spannung liefert, ev. an einen anderen PC anschl. USB-Kabel wechseln. Ev. Y-Kabel mit zusätzl. Spannung nehmen. Blinkt die grüne LED regelm.? Tritt das Problem auch unter Windows bzw. anderen Host auf?

  17. @kwally

    You asked this question exactly 1 year before: http://www.tinkerunity.org/forum/index.php/topic,3011.msg18840.html#msg18840

     

    If you do NOT need a shield or any proprietary hardware build specially for the raspi then you can (most likely) exchange the raspi by the RED. Both runs a Debian distro and an ARM cpu.

     

    Depends which raspi do you have, the RED has slightly less performance/memory. At the RED there is a GPIO interface but I assume it will never be supported by drivers or adapters. TF has removed the description about it from documentation. A raspi has lots of GPIOs a better support of several interfaces e.g. I2C.

     

    On a RED you have to solve it by the wide range of existing bricklets. On a certain raspi you can have Ethernet and more USB connectors onboard. For the RED you need an ethernet extension and a USB hub.

     

    PS: Finally RED supports "only" a lower version (3.4) of the kernel in opposite to the rasp (4.1). Means some hardware connected to the RED could be not supported because of missing drivers in kernel. If you are an expert in Linux you can try to recompile the kernel with embedded drivers.

     

    But I think you cannot really compare a Rasp with the RED. For me the RED is more a super brick providing us a "ondevice programming" without any need of a desktop/host pc on very small form factor, smaller than the raspi.

  18. Ja BrickD als "Router" brauchst du für die Bricks/Bricklets, oder alternativ die WIFI/Ethernet-Extension.

     

    Der BrickD für Windows ist nur auf den Intel/AMD-x86x64 Plattformen lauffähig. WIN IOT für Raspi dürfte aber nur ARM kompatibel sein. Für diese Architektur müssten die Sourcen neu kompiliert werden. Interessant wäre hier der Aspekt der neuen Universal Apps von M$. Wenn ich richtig verstanden habe, müsste dann so eine App auf allen Win.Plattformen laufen !?

    Ref: https://en.wikipedia.org/wiki/Universal_Windows_Platform

     

    PS: Wußte noch nicht, dass Win IOT schon ausgeliefert und lauffähig ist  :o

×
×
  • Neu erstellen...