(19.05.2020, 07:20)havox schrieb: Aber der letzte Wert wird nicht abgespeichert oder aufgerufen (beta2). Lade gleich mal die neue Version!
Moin,
nanu?
Auch in der beta2 war das Speichern drin .
Gespeichert wird allerdings erst, wenn 5 Sekunden keine Impulse kommen.
Das liegt daran, dass sich laut Spezifikation des Controllers jede EEPROM-Zelle nur 100.000x beschreiben läßt, dann isse tot.
Aber auch in diesem Fall können wir dann einfach in der Config andere Adressen angeben und dann haben wir wieder "Frischzellen" für die nächsten 100.000 Speichervorgänge .
*das Speichern der Werte wird übrigens mit einem kurzen Aufleuchten einer LED auf dem Arduino angezeigt!
LG
PS: Hans-Volker, diese Falschzählungen machen mir zu schaffen, da es bei mir nicht auftritt, bei Dir auch alles ok? Ich werde langsam das Gefühl nicht los, das ich die verschiedenen Soensorlösungen schlecht kompensieren kann .
1 Mitglied sagt Danke an für diesen Beitrag:1 Mitglied sagt Danke an für diesen Beitrag
• havox
havox: Die Zählerstände werden erst 5sec nach Bandstillstand in den EEPROM geschrieben und die Schreibvorgänge am EEPROM zu minimieren.
DIYLAB: Die Zählrichtungserkennung funktionierte bei der Beta2 einwandfrei wenn beim Start alle beide Sensoren entweder auf '1' oder auf '0' stehen. Bei unterschiedlichen Sensorzuständen wird entweder rauf- oder runtergezählt.
Werde heute Vormittag weiter testen.
Ist schneller gegangen als gedacht: Auf die Schnelle ist mir in der Beta3 kein Fehler aufgefallen.
1 Mitglied sagt Danke an für diesen Beitrag:1 Mitglied sagt Danke an für diesen Beitrag
•
(19.05.2020, 07:38)gogosch schrieb: havox: Das ist leider ein neuer Bug. Hier fehlt in der MainLoop die Überwachung des WorkCounters.
Ähm, nö .
Inkrementiert wird der workCounter in der MainLoop sekündlich:
Code: // This section is executed every second.
if (millis() > intervalB + 1000) {
intervalB = millis();
// Increase the work counter.
workCounter++;
Alle 5 Sekunden wird gespeichert:
Code: // After 5 seconds and if there were no pulses.
if (workCounter == 5) {
workCounter++;
// Turn onboard LED on.
digitalWrite(LED, HIGH);
// Save current counter data.
SaveCounter();
}
FALLS (!) zwischenzeitlich in der CheckState() ..
Code: /**
* Check Sensor State after Interrupt
*************************************/
void CheckState() {
...
workCounter = 0;
.. der Zähler nicht zurückgesetzt wurde und das passiert immer, wenn Impulse per Interrupt anliegen.
LG
Hey, mir ist gerade eine Idee gekommen .
Ich könnte euch 4 oder 5 verschiedene Miniprogramm bereitstellen, die alle unterschiedliche Auswertungen der Sensordaten haben und nur hoch oder runter zählen.
Die könntet ihr dann alle mal durchtesten und schreiben, ob es besser oder schlechter wird.
Was meint ihr?
LG
Beiträge: 2.638
Themen: 59
Thanks Received: 10.214 in 1.741 posts
Thanks Given: 16.911
Registriert seit: Nov 2017
Bewertung:
29
19.05.2020, 08:37
(Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2020, 08:41 von havox.)
(19.05.2020, 07:35)DIYLAB schrieb: (19.05.2020, 07:20)havox schrieb: Aber der letzte Wert wird nicht abgespeichert oder aufgerufen (beta2). Lade gleich mal die neue Version!
Moin,
nanu?
Auch in der beta2 war das Speichern drin .
Gespeichert wird allerdings erst, wenn 5 Sekunden keine Impulse kommen.
Das liegt daran, dass sich laut Spezifikation des Controllers jede EEPROM-Zelle nur 100.000x beschreiben läßt, dann isse tot.
Aber auch in diesem Fall können wir dann einfach in der Config andere Adressen angeben und dann haben wir wieder "Frischzellen" für die nächsten 100.000 Speichervorgänge .
*das Speichern der Werte wird übrigens mit einem kurzen Aufleuchten einer LED auf dem Arduino angezeigt!
LG
PS: Hans-Volker, diese Falschzählungen machen mir zu schaffen, da es bei mir nicht auftritt, bei Dir auch alles ok? Ich werde langsam das Gefühl nicht los, das ich die verschiedenen Soensorlösungen schlecht kompensieren kann . ja, genau, ich habe in keinem Fall eine Falschzählung festgestellt. 5 mal Maschine an und aus und immer wird richtig losgezählt.
Aber bei meiner Lösung ist die Wahrscheinlichkeit, dass ein Sensor aktiv und der andere inaktiv ist, wenn gestartet wird, halt auch sehr unwahrscheinlich.
Speicherung: Hab's geschnallt, probiert und geht
Viele Grüße aus Kiel,
Hans-Volker
Es gibt viel zu tun, fangt schon mal an!
1 Mitglied sagt Danke an havox für diesen Beitrag:1 Mitglied sagt Danke an havox für diesen Beitrag
•
havox Sorry, wegen dem WorkCount, war in der falschen Beta (beta-1). Jetzt passt "eh" alles. Mea culpa! Man sieht im Sketch leider nicht sehr gut in welchem Verzeichnis man sich gerade befindet.
Jetzt warte ich nur noch auf die Distanzbolzen vom "blauen C". Sind schon in der Nachbarortschaft !
Hier noch 2 Bilder von der A700:
Als Taster kommt sowas zur Anwendung:
https://at.rs-online.com/web/p/tastschalter/1769545/
Da kann man die Taste von der A700 aufstecken und mit etwas Kleber fixieren.
4 Mitglieder sagen Danke an für diesen Beitrag:4 Mitglieder sagen Danke an für diesen Beitrag
• havox, , sensor, stephan1892
Beiträge: 1.587
Themen: 114
Thanks Received: 3.320 in 828 posts
Thanks Given: 1.757
Registriert seit: Feb 2015
Bewertung:
20
Kurze Rückmeldung...
meine Aussagen beziehen sich momentan ausschließlich auf meinen Einbau in der A77, 4 Kontaktstreifen auf dem Außenläufer in möglichst gleichen Abständen!
Die "Ur-Version" hat da ja sehr exakt funktioniert was Richtungserkennung und Zählgenauigkeit angeht. Beta 2 hatte ein bisschen was von Zufallsgenerator was die Richtungserkennung angeht, Zählgenauigkeit hab ich nicht getestet.
Bei Beta-3 schaut das, in der Kürze der Zeit probiert, sehr viel besser aus. Die Richtung wurde nur einmal im Echtzeitmodus nicht richtig erkannt. Um den Echtzeitmodus nutzen zu können müsste ich die Anzahl der Kontaktstreifen erhöhen, vier Stück sind da nicht ausreichend. Das werde ich aber wohl lassen, mir reicht bei der A77 der Normalzähler in der Genauigkeitsstufe wie bei der Ur-Version. Natürlich werde ich aber fleißig weiter mittesten und das Ganze auch für meine anderen Maschinen anpassen.
Mittlerweile sind ja viele "Schmankerl" eingebaut und das dürfte ganz vielen Anwendern mit ein wenig Experimentiertrieb eine nahezu perfekte Anpassung an die eigenen Bedürfnisse erlauben.
Also nochmal Danke für die Arbeit, Bruno... macht sicher mit der A700 dann noch deutlich mehr Spaß als "trocken" an einer alten Festplatte!!!
viele Grüße
Andreas
1 Mitglied sagt Danke an akguzzi für diesen Beitrag:1 Mitglied sagt Danke an akguzzi für diesen Beitrag
•
... hab mir noch ein paar tiefergehende Gedanken gemacht. Die Zählung der Meter ist jetzt nur annähernd. Mein Vorschlag Konstante "cm per Puls" und "sec per Puls" einzuführen.
Bei A700 gibt es 5 Segmente und der Umfang der Bandrolle ist 122mm. Das wären dann pro Sekunde 3,89 Pulse bei 9,5cm/sec und pro 100mm Bandlänger 4,09 Pulse.
Leider kann man derzeit (logischerweise) nur ganzzahlige Werte eingeben. Das ergibt leider eine Differenz zum tatsächlichen Wert.
Man müsste nun "das Pferd quasi von hinten" aufzäumen und bei jedem Puls die entsprechenden Werte (sec bzw. mm) addieren bzw subtrahieren.
Das wären dann pro Puls 0,257 sec (bei 9,5cm) und 24,44 mm. Alles bezogen auf die Revox A700.
Ich hoffe, ich liege richtig.
(19.05.2020, 10:32)gogosch schrieb: ... hab mir noch ein paar tiefergehende Gedanken gemacht. Die Zählung der Meter ist jetzt nur annähernd. Mein Vorschlag Konstante "cm per Puls" und "sec per Puls" einzuführen.
Danke fürs Mitdenken .
Das wid noch spannend mit der Echtzeitanzeige.
Ich würde vorschlagen, wenn wir an dem Stand sind, dass die gröbsten Bugs raus sind, machen wir uns an die Feinarbeit.
Da kommt man weniger durcheinander.
Heute Abend kommt beta4, da sind dann die lästigen Anzeigefehler bei Fontgröße 2 im Normalzähler gefixt - bin fast durch.
LG
Beiträge: 2.638
Themen: 59
Thanks Received: 10.214 in 1.741 posts
Thanks Given: 16.911
Registriert seit: Nov 2017
Bewertung:
29
(19.05.2020, 07:46)DIYLAB schrieb: Hey, mir ist gerade eine Idee gekommen .
Ich könnte euch 4 oder 5 verschiedene Miniprogramm bereitstellen, die alle unterschiedliche Auswertungen der Sensordaten haben und nur hoch oder runter zählen.
Die könntet ihr dann alle mal durchtesten und schreiben, ob es besser oder schlechter wird.
Was meint ihr?
LG wenn die Start-Drehrichtungserkennung weiter nicht richtig funktioniert, könnte ich mir nach gogoschs Erkenntnis folgende Lösung vorstellen:
Bei Start werden die Zustände der Sensoren abgefagt:
Wenn Sensor 1=Sensor 2 alles gut
Wenn Sensor 1 ungleich Sensor 2, und sich das innerhalb von x ms (einstellbar) nicht ändert, dann wird Sensor 1=Sensor 2 gesetzt.
Dann gibt es immer einen sauberen Startzustand.
Könnte das so klappen?
Viele Grüße aus Kiel,
Hans-Volker
Es gibt viel zu tun, fangt schon mal an!
1 Mitglied sagt Danke an havox für diesen Beitrag:1 Mitglied sagt Danke an havox für diesen Beitrag
• stephan1892
Hab mir eine Version (für die A700) gebastelt die zu funktionieren scheint:
https://www.dropbox.com/s/qxv2j9idppld37...r.rar?dl=0
Ein Bug ist mir aufgefallen: Die Sekunden zählen zwar runter und ab 0 wiede rauf aber das Minus-Zeichen wird nicht angzeigt.
Sichtlich ein Formatierungsfehler.
2 Mitglieder sagen Danke an für diesen Beitrag:2 Mitglieder sagen Danke an für diesen Beitrag
• , stephan1892
(19.05.2020, 11:05)gogosch schrieb: Hab mir eine Version (für die A700) gebastelt die zu funktionieren scheint:
https://www.dropbox.com/s/qxv2j9idppld37...r.rar?dl=0
Sehr interessant - das nenne ich Teamwork und entspricht super der GNU-Lizenz, danke .
Habe die Änderungen mit 'Winmerge' zur beta3 vergleichen, ist ja wirklich überschaubar.
Also wenn du bis heute Abend mit Deinen Tests diesbezüglich zufrieden bist, kommt das gleich in die beta4 (bitte Bescheid sagen) .
Ich habe es noch nicht drin und daher noch nicht getestet - rückwärts zählen haste überprüft?
LG
2 Mitglieder sagen Danke an für diesen Beitrag:2 Mitglieder sagen Danke an für diesen Beitrag
• , stephan1892
Vor-Rückwärts-Zählen funktioniert von 0 abwärts. Nur das Minus-Zeichen fehlt. Schaue ich mir nach dem Essen (+ Mittagsschläfchen) gerne an.
1 Mitglied sagt Danke an für diesen Beitrag:1 Mitglied sagt Danke an für diesen Beitrag
• stephan1892
(19.05.2020, 11:26)gogosch schrieb: Nur das Minus-Zeichen fehlt.
Wir sollten zukünftig dazu schreiben, welcher Modus gemeint ist, sonst kommt man ja komplett durcheinander.
Im RealTime-Modus gibt es noch kein Minuszeichen, ist noch nicht implementiert.
LG
(19.05.2020, 12:06)DIYLAB schrieb: (19.05.2020, 11:26)gogosch schrieb: Nur das Minus-Zeichen fehlt.
Wir sollten zukünftig dazu schreiben, welcher Modus gemeint ist, sonst kommt man ja komplett durcheinander.
Im RealTime-Modus gibt es noch kein Minuszeichen, ist noch nicht implementiert.
LG Jetzt schon !
https://www.dropbox.com/s/qxv2j9idppld37...r.rar?dl=0
[Edit] Momentan nur für FONTSIZE=1 implementiert.
(19.05.2020, 12:18)gogosch schrieb: Jetzt schon !
Cool, gucke ich mir nachher an
LG
(19.05.2020, 12:18)gogosch schrieb: https://www.dropbox.com/s/qxv2j9idppld37...r.rar?dl=0
Kannst Du bitte mal Deinen Link fixen?
Der scheint unvollständig zu sein.
LG
1 Mitglied sagt Danke an für diesen Beitrag:1 Mitglied sagt Danke an für diesen Beitrag
• dedefr
Beiträge: 1.728
Themen: 56
Thanks Received: 2.691 in 578 posts
Thanks Given: 11.214
Registriert seit: Jul 2009
Bewertung:
8
Hallo Bruno
Eben nochmal die Zählrichtung probiert. Bei Play passiert es ganz sporadisch,das plötzlich rückwärts gezählt wird.Das lässt sich aber nicht reproduzieren,es passiert ganz willkürlich.
sonst funktioniert alles soweit!!!!!
Noch eine Frage eines in der Programmierung Unwissenden Versteht der Controler auch Russisch? ich meine,kann der mit russischen Schriftzeichen umgehen??
Steffen
Hallo Steffen,
(19.05.2020, 16:41)stephan1892 schrieb: Bei Play passiert es ganz sporadisch,das plötzlich rückwärts gezählt wird.Das lässt sich aber nicht reproduzieren,es passiert ganz willkürlich.
bei welcher Maschine war das noch mal und wie sieht Deine Impulsabnahme derzeit aus?
Ist das die russische Schönheit? Da müsste ja auch so eine Segmentscheib wie bei der A700 sein?
Zeig mal bitte Detailfotos der Sensoren, danke!
(19.05.2020, 16:41)stephan1892 schrieb: ...ich meine,kann der mit russischen Schriftzeichen umgehen??
Theoretisch ja, es kommt immer auf den verwendeten Zeichensatz an.
Die benutzte OLED-Biblothek hat zwar eine Menge Zeichensätze an Board, aber nicht mal welche mit Umlauten, geschweige denn russischen Schriftzeichen.
Dann müsste man den Zeichensatz selbst malen, so wie ich es mit den derzeitig verwendeten beiden Zeichenensätzen gemacht habe. Ich kann das gern später mal genauer erläutern. Also wie es geht und welche Software man dazu braucht.
Geht es Dir mehr um den Begrüßungstext?
Da wäre es praktikabler, ein Bild zu nehmen mit 128x32 Px, das mache ich ja auch mit dem Logo.
Und außer dem 'm' bei der Meteranzeige sind ja nur noch Zahlen zu sehen, die sollten ja im russischen identisch sein - oder täusche ich mich da?
Übrigens, vorhin kam per Post eine nette Überraschung von Thorsten (gasmann)
Ich glaube, das passt hier besser rein als in den anderen üblichen Forum-Rubriken.
DANKE Thorsten
(19.05.2020, 16:35)DIYLAB schrieb: (19.05.2020, 12:18)gogosch schrieb: https://www.dropbox.com/s/qxv2j9idppld37...r.rar?dl=0
Kannst Du bitte mal Deinen Link fixen?
Der scheint unvollständig zu sein.
LG Ist immer der gleiche Link. Dort findet man meine aktuellste Version
Der Editor verschluckt beim Kopieren einiges:
https://www.dropbox.com/s/qxv2j9idppld37...r.rar?dl=0
1 Mitglied sagt Danke an für diesen Beitrag:1 Mitglied sagt Danke an für diesen Beitrag
• dedefr
Beiträge: 1.728
Themen: 56
Thanks Received: 2.691 in 578 posts
Thanks Given: 11.214
Registriert seit: Jul 2009
Bewertung:
8
Bruno
Das mit dem falsch herum zählen hat sich gegeben. Ich habe nochmal den Abstand der Sensoren zur Segmentscheibe geringfügig verkleinert.
Das mit dem Russisch sollte nur für die Begrüßung gelten Ist aber erstmal nicht so wichtig ,war als kleiner Gag gedacht,das sich die russische maschine in Ihrer Muttersprache an mich wendet
Steffen
Beiträge: 3.722
Themen: 413
Thanks Received: 2.936 in 1.006 posts
Thanks Given: 1.703
Registriert seit: Aug 2014
Bewertung:
24
19.05.2020, 18:15
(Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2020, 18:23 von Rüsselfant.)
Hallo Freunde,
habe mit Brunos update auch mal draufezogen, nachdem ich ein paar Parameter ( 3 )geändert habe.
Display bleibt dunkel, oder ist nach dem aus und wieder Anmachen des TB´s verpixelt.
Habe jedes der 3 von mir geänderten Parameter nacheinander wieder "normal" gesetzt um den Fehler einzugrenzen
hat aber leider nix gebracht.
Dann mein eigenes wieder draufgespielt ( Version von Gestern ) mit meinen eigenen Parametern = alles wieder OK.
Soll heissen, konnte leider die Vor / Rückzählung nicht testen.
Mir ist beim Duchschauen aber so auch nichts aufgefallen
LG
Ingo
Nochmals Probiert..kam das bei rum
Gruß ausm Kohlenpott
Ingo
Beiträge: 9.797
Themen: 383
Thanks Received: 22.627 in 4.058 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
Es freut mich zu lesen, dass ihr alle schon fleissig testen könnt.
Bei mir dauert das leider noch etwas.
Ich habe heute erst die neuen Nanos bekommen mit dem neuen Bootloader. Funktioniert schon 100x mal besser, als die ersten beiden Nanos, die ich hier liegen habe. Nur 1x Systemabsturz, danach ging es dann.
Mittlerweile ist meine A77 zwar auch eingetroffen, nur habe ich aktuell keinen freien Tisch zum arbeiten. Das wird sich hoffentlich in den nächsten Tagen ändern.
Gruß André
1 Mitglied sagt Danke an hyberman für diesen Beitrag:1 Mitglied sagt Danke an hyberman für diesen Beitrag
• Rüsselfant
Beiträge: 1.798
Themen: 17
Thanks Received: 7.373 in 1.037 posts
Thanks Given: 2.927
Registriert seit: May 2013
Bewertung:
6
Habe nun nochmal mit der Segmentscheibe getestet.
Zwei Systeme, zwei unterschiedliche Abtaster, Segmentscheibe von unten und von oben abgetastet.
Ergebnis, Vorspulen erzeugt mehr Impulse als Rückspulen.
Gruß Detlef
Juten Abend,
Beta 4 ist online und das Changelog ist auch vervollständigt.
Die Anzeigefehler aus Posting #31 sind gefixt, habe alles mehrmals getestet, trotzdem wäre Feedback toll .
Die Änderungen von gogosch sind auch mit drin in der aktuellen Version ( lieben Dank nochmals dafür!).
Wer nachvollziehen möchte, was geändert wurde, kann im Programm nach ' // gogosch' suchen. Meine dafür herausgenommenen Abschnitte sind mit ' // DIYLAB' markiert.
Ich würde mich natürlich sehr freuen, wenn die C++ Spezis weiterhin ein wachsames Auge drauf haben und fleißig mithelfen.
C++ ist für mich ein notwendiges Übel der Controller-Programmierung, ich komme aus der C# Ecke und breche mir immer einen ab bei C++ .
Sicherlich hätte die Software viel Verbesserungspotential, wenn sie ein Vollblut C++ Mann anfassen würde, aber wir wollen ja nicht die Füchse wild machen - oder waren es die scheuen Pferde?
Wie immer, Feedback sehr gern!
LG
Bruno
Beiträge: 9.797
Themen: 383
Thanks Received: 22.627 in 4.058 posts
Thanks Given: 4.323
Registriert seit: Jan 2014
Bewertung:
54
|