Probleme mit selbst gesetzten Timer? Sekunden gehen manchmal verloren...Bug?

Status
Nicht offen für weitere Antworten.

Netsrac

Time Traveler
#1
Moin Jungs,

um den Timer wirklich erst loslaufen zu lassen, wenn die Motoren "ge-armed" wurden, habe ich folgendes konfiguriert:



Die GV1 wird beim "Armen" auf 100 gesetzt, beim Disarmen auf "0".

Den Timer habe ich jetzt so konfiguriert:



So weit so gut. Vom Prinzip her funktioniert es auch. Sobald die Motoren "ge-armed" weren, laufen bei Timer los.

Allerdings lässt sich sowohl im Simulator als auch auf der Taranis direkt beobachten, dass ab und an ein Timer-Impuls verloren geht.

Der Effekt lässt sich am besten in einem kleinen Video zeigen. Die ersten zwei Sekunden (Impulse) gehen nach 5 Sekunden verloren, dann wieder bei 14 Sekunden.

https://dl.dropboxusercontent.com/u/2593041/Taranis-Timer3.mov

Es ist fast regelmäßig...außerdem tritt es sowohl in der Taranis direkt als auch im Simulator auf, weshalb ich mehr an ein Software-Problem denke, als an ein Problem mit den Resourcen.

Oder mache ich da gedanklich irgendwas falsch?

Habe schon versucht, die Zeiten zwischen dem "On" und "Off" bei dem Timer-Impuls zu verändern, aber da bringt auch keine Besserung.

Ideen?

Netsrac
 

helle

Erfahrener Benutzer
#2
Hy,

ist doch klar was da passiert, da wird nix gescheites dabei rauskommen.

Du verwendest den Taktgenerator Takt (Timer)
den du 0,8s ein und 0,2s ausschaltet.

d.h. die Stoppuhr gibt du 0,8 s frei und stopst dann wieder für 0,2s

Das wird nix!

Mach es einfacher:
mit armend setzt du das SR-Flip-Flop und gibts damit die Stoppuhr frei
mit disarmed resetest du das SR Flip Flop und sperrst die wieder
Damit läuft deine Stoppuhr richtig

oder:
Gleich direkt mit L1 armed/disarmed
und L1 gibt dann dierekt die Stoppuhr frei/sperrt


Bezeichnungen:
SRFF = Sticky
Takt = Timer
Puls = Edge

Das liegt auch am beschränkten amerikanischen Sprachschatz
da ist alles Timer, Power, Sticky, Edge
ein echte "Schmarren" eben

Helle
 
Zuletzt bearbeitet:

Fliega

Erfahrener Benutzer
#3
hier "meine Lösung" (Gas geben startet die Aufzeichnung und Gas auf null beendet die Aufzeichnung):



Für mich die einfachste Lösungsidee.

Gruß Fliega
 

Netsrac

Time Traveler
#4
Hy,

ist doch klar was da passiert, da wird nix gescheites dabei rauskommen.

Du verwendest den Taktgenerator Takt (Timer)
den du 0,8s ein und 0,2s ausschaltet.

d.h. die Stoppuhr gibt du 0,8 s frei und stopst dann wieder für 0,2s

Das wird nix!
Hmmm....und wieso nicht? Ich sehe ja, dass der "L1" im Sekunden-Takt pulsiert. Es gehen halt nur ab und an Impulse verloren.

Mach es einfacher:
mit armend setzt du das SR-Flip-Flop und gibts damit die Stoppuhr frei
mit disarmed resetest du das SR Flip Flop und sperrst die wieder
Damit läuft deine Stoppuhr richtig

oder:
Gleich direkt mit L1 armed/disarmed
und L1 gibt dann dierekt die Stoppuhr frei/sperrt


Bezeichnungen:
SRFF = Sticky
Takt = Timer
Puls = Edge

Das liegt auch am beschränkten amerikanischen Sprachschatz
da ist alles Timer, Power, Sticky, Edge
ein echte "Schmarren" eben
Okay, habe das SRFF (Sticky) verwendet, das spart ein paar Regeln. Funktioniert auch gut. Aber auch nicht anders als meine vorherige Lösung.

Gibt es denn eine andere Funktion, um den internen Timer zu starten oder anzuhalten?

Den einzigen Weg, den ich im Moment sehe ist, mit einem Timer/Takt zu arbeiten. Das ist dann also wieder so:



Im Simulator sieht man ja wunderschön, wie L2 für 0.5s an geht und dann wieder für 0.5s aus und das tut er so lange wie die Motoren ge-armed sind.

Beim Timer1 und Timer2 nehme ich dann "L2" als Takt. Eigentlich habe ich damit ja meinen 1 sec Takt.

Mache ich das nun im Simulator, so läuft L2 beim Armen auch und pulsiert. Nutze ich nun aber L2 als Quelle für Timer1 und Timer2, laufen diese eben leider nicht im Sekundentakt weiter, sondern es werden regemäßig "impulse" vergessen.

Lustigerweise ist das aber nicht gleich - mal ist es Timer1 und mal Timer2 der den Impuls für mehrere Sekunden nicht bekommt und damit nicht weiterschaltet.
 

Shotglass

Erfahrener Benutzer
#5
Hmmm....und wieso nicht? Ich sehe ja, dass der "L1" im Sekunden-Takt pulsiert. Es gehen halt nur ab und an Impulse verloren.
du verstehst da grundsätzlich was falsch

die timer hier:
https://dl.dropboxusercontent.com/u/2593041/Taranis-Timer1.jpg
sind dinger die regelmäßig logische schalter an aus schalten um damit erweiterte spielereien zu programmieren

die timer hier:
https://dl.dropboxusercontent.com/u/2593041/Taranis-Timer2.jpg
sind ganz nromaler timer wie man sie in jeder funke findet die so lange laufen wie der schalter mit dem du sie schaltest an ist

wenn du jetzt die timer hier
https://dl.dropboxusercontent.com/u/2593041/Taranis-Timer2.jpg
mit einem logischen schalter timer schaltest der 20% der zeit aus ist läuft der standardtimer logischerweise nur 80% der zeit und hinkt somit wenn alles läuft wies soll alle 5 sekunden eine sekunde hinterher
 

helle

Erfahrener Benutzer
#6
Hy,

nochmal:
Da haste einen Knopf im Ohr!
und die englischen Bezeichnungen sind absolute Scheiße!


Timer1 und Timer2 sind Stoppuhren, die laufen wenn die Bedingung erfüllt ist.

Timer ist ein Taktgenerator, mit einer On-Zeit und einer Off-Zeit , das hat gar nichts mit einem "Timer= Stoppuhr " zu tun!


Du gibts die Stoppuhr Timer 1 für 0 ,8 sec frei und stopst sie dann wieder für 0,2 Sekunden.

Die muss ja einen Scheiß anzeigen.

Helle
 

Netsrac

Time Traveler
#7
Okay, jetzt habe auch ich es verstanden.

Ich war sicher, dass meine ersten Tests den Timer immer nur um "eins" weitergeschaltet haben, wenn man die Motoren "ge-armed" hat, somit dacht ich, dass ich den Timer (ich dachte, es ist einfach ein Zähler) selber hochtickern muss.

Aber kaum macht man es richtig, schon funktioniert's!

Danke für Eure Hilfe...

Jetzt nur noch da Log automatisch beim "armen" laufen lassen, aber das ist ja jetzt Kinderkram :)
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten