Themabewertung:
  • 4 Bewertung(en) - 3 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Digitales Zählwerk (universal, Arduino nano, OLED) für Bandmaschinen und Tapedecks
Hi,

die beta 5 ist online.
Wie immer per Download in Posting #1 zu haben.
Es hat sich eine Menge getan, bitte beachtet das Changelog in diesem Posting.

Desweiteren habe ich das Posting #2 überarbeitet, dort sind nun alle aktuellen Einstellungen erklärt und auch der Abschnitt 'Begrüßungstext" ist dazugekommen. Und im Posting #2 ist auch der Download des neuen Fonts enthalten (21x32).

Gern Feedback jeder Art dazu erwünscht Thumbsup .
Ich hoffe, wir können bal in die Release-Phase gehen.

LG
Bruno

PS: heute habe ich auch mal einen Sch*** Tag. Meine A700 war seit letzten Dienstag schon in Rüdersdorf (ist nicht weit von mir) und heute steht im Status, dass sie nach Hagen unterwegs ist Flenne .
So ein Mist! Seit Monaten bekomme ich PillePalle DHL-Pakete ohne Probleme und wenn es mal etwas wirklich wichtiges und empfindliches ist, spielen die damit PingPong Tease .
Ich könnte gut ein paar gedrückte Daumen von euch gebrauchen, denn ich habe ein ganz blödes Gefühl dabei ...
[-] 4 Mitglieder sagen Danke an für diesen Beitrag:
  • winix, hyberman, stephan1892, gasmann
Zitieren
Ich bin da mal ganz positiv. Eine B77, die ich kurz vor vorletzten Weihnachten verschickt hatte, bewegte sich 2 Wochen lang nicht, und nach Stellen des Nachforschungantrags wurde sie einige Zeit später zugestellt, als wäre nichts gewesen.
Das Tracking- System von DHL war übrigens vorhin abgestürzt...

***Daumendrück ***
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:
  •
Zitieren
Super. Soeben die Version 5 auf meine Teststation aufgespielt.

Soweit alles gut.

Was aber irgendwie keine Auswirkung mehr zeigt, ist der Set Letter Spacing in Zeile 501 für Digi = 4
Egal was ich da einstelle, der Abstand der Zeichen bleibt immer gleich. Das war bei der Version 4 anders.


Code:
#if DIGITS_COUNTER == 4
    // Char buffer.
    char buf[5];

    // Formatting the output.
#if UNSIGN
    sprintf(buf, " %04ld", (0 > val) ? 10000 + val : val);
#else
    sprintf(buf, (val < 0) ? "-%04ld" : " %04ld", (val > 0) ? val : -val);
#endif

    // Increase space between letters.
    oled.setLetterSpacing(6);
    // Set cursor (col, row).
    oled.setCursor(0, 1);


Im Code sind schon meine Einstellungen zu sehen, die ich bei der Version 4 auch angewendet hatte. 
Bin ich da falsch?
Gruß André





Zitieren
Bei FontSize 2 funktioniert es, bei FontSize 1 leider nicht mehr.


Edit: Es sollte genau andersherum sein, als wie ich geschrieben habe. Hat sich aber aufgelöst. Ich war in den falschen Zeilen.
Gruß André





Zitieren
(22.05.2020, 22:43)hyberman schrieb: Bei FontSize 2 funktioniert es, bei FontSize 1 leider nicht mehr.

Das kann ich leider nicht nachvollziehen, bei mir geht es bei FONTSIZE 1.

[Bild: space.png]

Wenn testweise den Abstand (1) auf 8 erhöhe, wird es brav breiter.
Und dann den Cursor (2) noch ein bisschen versetzen, dann ist es chic.
Ich mach mal Fotos, verstehe nicht, warum es bei Dir nicht gehen soll? 

LG
Zitieren
Kommando zurück.
Ich war in den falschen Zeilen für FontSize 1. Wollte ja FontSize 2 bearbeiten.

Alles gut jetzt, Sorry für die Verwirrungen.
Gruß André





[-] 1 Mitglied sagt Danke an hyberman für diesen Beitrag:
  •
Zitieren
(22.05.2020, 22:53)hyberman schrieb: Alles gut jetzt, Sorry für die Verwirrungen.

Kein Problem, besser Verwirrung als Fehler Thumbsup .
Zitieren
Nächster Halt, Geschwindigkeitserkennung ...
Ich bin mir nicht sicher, ob die nächsten Gedankengänge in diesem Thread richtig aufgehoben sind, da sie sich eigentlich auf die A700 beziehen, aber trotzdem ist die Geschwindigkeitsinformation für gogoschs Meter- und Echtzeitauswertungen ja allgemeingültig - man muss sie ja nicht benutzen!
Ich rede von 3 Informationen, die der Controller bekommen könnte, damit die Anzeigen bei den unterschiedlichen Geschwindigkeiten stimmen.

Also 3 Eingänge am Arduino für 3 Geschwindigkeiten.
Das könnte man billig mit Optokopplern abgreifen und gefahrlos mit dem richtigen Pegel einspeisen.
So etwas in der Art (da sind gleich 4 Stück drin): https://www.reichelt.de/4-fach-optokoppl...os_1&nbc=1

Wenn ich das richtig sehe, könnten hier alle Informationen abgegriffen werden (die Pfeile zeigen natürlich nur auf die Geschwindigkeiten - das sind doch Geschwindigkeiten - oder?):

[Bild: a700-speedselect.png]

Oder täusche ich mich da?

Ich spinne den Faden mal weiter, denn die A700 gibt uns alles, was das Herz begehrt!
Auch 5V sind vorhanden, was will man mehr?
Und der Zählimpuls ist ja auch schon vorhanden und liegt auf der gleichen Platine und kommt von dem induktiven Sensor an der Segmentscheibe.
Fehlt nur noch die Richtungsinformation, aber die sollte doch wohl auch irgendwo verfügbar sein - muss ich mal in Ruhe die Pläne durchsehen.

Das wäre doch der Knaller - kein Step-Down Wandler mehr nötig, keine Lichtschranken nötig ...

LG
[-] 4 Mitglieder sagen Danke an für diesen Beitrag:
  • hyberman, havox, , gasmann
Zitieren
die markierten Werte sind Geschwindigkeiten, korrekt
[-] 1 Mitglied sagt Danke an Svennibenni für diesen Beitrag:
  •
Zitieren
(23.05.2020, 03:37)Svennibenni schrieb: die markierten Werte sind Geschwindigkeiten, korrekt

aus dem bett gefallen ?    Lol1
Zitieren
AtDIYLAB: Die Gschwindigkeiten kann man als TTL-Pegel direkt am J1 abgreifen. Einzig die Richtung der Bandbewegung muss mit Lichtschranken ermittelt werden, da man ja auch das Band manuell auf eine bestimmt Stelle justieren kann.
So funktioniert auch eine käufliche "professionelle Version" des digitalen Zählers welche +5V, Masse und die TTL-Pegel der 3 Bandgeschwindigkeiten mittels eines Zwischensteckers am J1 abgreift. Dieser Zähler zeigt auch "Capstan Off" wenn keine Geschwindgkeitstaste gedrückt ist.
Step-Down-Wandler benötige ich bei der A700 jetzt schon nicht (mehr). Stepdown-Converter (+5V) wird nur für A77 und B77 benötigt.
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  • havox
Zitieren
Guten Morgen Freunde,

sagt mal, meine Lichtschranke nimmt ja Impulse von meiner modifizierten Riemenscheibe ( 50% Schwarz, 50% weiss) ab, diese ist mit dem linken Wickelmotor verbunden.

Würde es mit meiner Konstallation in Bezug auf die Echtzeitanzeige auch klappen?

LG

Ingo
Gruß ausm Kohlenpott Freunde

Ingo
Zitieren
(23.05.2020, 08:14)Rüsselfant schrieb: Guten Morgen Freunde,

sagt mal, meine Lichtschranke nimmt ja Impulse von meiner modifizierten Riemenscheibe ( 50% Schwarz, 50% weiss) ab, diese ist mit dem linken Wickelmotor verbunden.

Würde es mit meiner Konstallation in Bezug auf die Echtzeitanzeige auch klappen?

LG

Ingo
Bei der A77 gibt es keine (vernünftige) Real-Time-Anzeige (Sekunden und Meter), da Umdrehungen des Wickelmotors von der Größe des Bandwickels abhängig sind. Bei der A77 sind (derzeit) nur rudimentäre Zählfunktionen möglich.
Zitieren
Moin,

(23.05.2020, 08:14)gogosch schrieb: Die Geschwindigkeiten kann man als TTL-Pegel direkt am J1  abgreifen.
So funktioniert auch eine käufliche "professionelle Version" des digitalen Zählers welche +5V, Masse und die TTL-Pegel der 3 Bandgeschwindigkeiten mittels eines Zwischensteckers am J1 abgreift.

Cool, dann können wir das ja auch so machen.
Magst Du Parametersätze für die Bandgeschwindigkeiten erstellen und ich kümmere mich um die Eingänge und die Auswertung im Programm? 

(23.05.2020, 08:14)gogosch schrieb: Dieser Zähler zeigt auch "Capstan Off" wenn keine Geschwindgkeitstaste  gedrückt ist.

Ich dachte, das geht nicht?
Der Kollege schreibt: "Die interne Verschaltung der Geschwindigkeitsschalter auf die Steckerleiste verhindert das Anzeigen von "C-OFF"."
Quelle: https://www.revox-online.de/counter_700_revox-online

(23.05.2020, 08:14)gogosch schrieb: Step-Down-Wandler benötige ich bei der A700 jetzt schon nicht (mehr).

Genau  Thumbsup .

LG
Bruno

PS: Wer wissen will, wie der Revox-Kollege die Lichtschranken angeordnet hat, hier seine Version:
Bildquelle und Copyright: https://www.revox-online.de/counter_700_revox-online
[Bild: counter-sensoren.png]

Versetzt angeordnet!
Der Rest ist simpel, eine IR-Diode lauchtet vor sich hin und zwei Fotodioden/Fototransistoren dienen als Empfänger. 
Bei der Impulsformung wird ein bisschen mehr Aufwand getrieben als bei uns, da geht das Signal der Sensoren nicht direkt in den Controller, sondern auf einen externen Koparator (z.B. LM393). Kann man machen, muss man aber nicht. Ist nur mehr Hüherfutter auf der Platine. Die Interrupteingänge die wir benutzen, haben bereits Komparatoren



(23.05.2020, 08:28)gogosch schrieb: Bei der A77 gibt es keine (vernünftige) Real-Time-Anzeige (Sekunden und Meter), da Umdrehungen des Wickelmotors von der Größe des Bandwickels abhängig sind. Bei der A77 sind (derzeit) nur rudimentäre Zählfunktionen möglich.

Wenn der Kollege aus dem OFF-Zähler-Ursprungsthread seinen Quellcode offenlegen würde, könnten wir daraus lernen Floet
[-] 3 Mitglieder sagen Danke an für diesen Beitrag:
  • , havox, gasmann
Zitieren
Hmm! Wie kommt dann das Bild mit "C-OFF" zustande? Hab mich nur an den Bildern orientiert.
Wenn man das Geschwindigkeitssignal direkt am Geschwindigkeits-Schalter (nicht am J1) abzapft sollte "C-OFF" funktionieren.
1 Eingang == "LOW" ->Entsprechende Geschwindigkeit aktiv. Alle Eingänge == HIGH -> C-OFF. Alle anderen Kombinationen -> "ERROR".
Beim Wechsel der Bandgeschwindigkeit könnte man selbige für 2 Sekunden anzeigen.
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  • havox
Zitieren
(23.05.2020, 09:03)gogosch schrieb: Hmm! Wie kommt dann das Bild mit "C-OFF" zustande? Hab mich nur an den Bildern orientiert.

Keine Ahnung  Denker .
Er schreibt es geht nicht und zeigt ein Bild, dass es geht.
Frag ihn doch mal  Raucher .
LG
Zitieren
Sodale hier 2 CodeSnippets:
Code:
// ~~~ meter and realtime preferences by gogosch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define MACHINE             700     // Machine type (700 = Revox A700, 77 = Revox A77/B77 and other)
#define SPEEDHIGH           381     // Highest belt speed A700 15" in mm
#define SPEEDMIDDLE         190.5   // Middle  belt speed A700 7,5" in mm
#define SPEEDLOW            95.25   // Lowest  belt speed A700 3,75" in mm.
#define NUMSEGS             5       // Segments of the tape reel A700.
#define SCOPE               122     // Circumference of the tape roll in mm.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
.
Code:
//////////// COUNTER VARS ////////////
volatile long counter = 0;
volatile long pastCounter = 0;
volatile float counterMeters = 0;
volatile float pastCounterMeters = 0;
volatile float counterSeconds = 0;
volatile float pastCounterSeconds = 0;
volatile float secsPerPulse = 0;
volatile float mmPerPulse = 0;
volatile float speedLow = SPEEDLOW;
volatile float speedMiddle = SPEEDMIDDLE;
volatile float speedHigh = SPEEDHIGH;
volatile float numSegs = NUMSEGS;
volatile float scope = SCOPE;
volatile float speedActual = 0;
//////////////////////////////////////
Die aktuelle Geschwindigkeit (speedActual) sollte dann entsprechend der Zustände an den Eingängen (wie oben angeführt) ermittelt und
für die Echtzeitberechnungen verwendet werden.


Code:
    // Calculation of the display parameters for realtime and counter.
    secsPerPulse = scope / (speedActual * numSegs);  // seconds
    mmPerPulse = secsPerPulse * speedActual / 1000;  // conversion to meters per pulse

Obiger Code sollte einerseits im Setup (Eingang abfragen) und bei jedem Event (Eingang Änderung) exekutiert erden.
Hoffe ich hab es einigermaßen verständlich ausgeführt. Die 3 Eingänge sind mit den entsprechenden Punkten am Gschwindigkeitswahlschalter zu verbinden Achtung "LOW" = Geschwindigkeit ausgewählt.
Die angewählte Geschwindigkeit sollte für 2 Sekunden im Display angezeigt werden.
[-] 3 Mitglieder sagen Danke an für diesen Beitrag:
  • , havox, gasmann
Zitieren
Hey, das geht hier wie´s Brezelbacken LOL .
Geht heute Abend online, Du kannst schon mal die Strippen ziehen Thumbsup .
Brauchen wir (Software)PullUps an den Eingängen?

LG

PS: und den Zeichensatz für FONTSIZE 1 habe ich auch überarbeitet, jetzt homogener, auch heute Abend online.

PPS: vergessen - die Eingänge am Arduino werden sein A1, A2, A3 Drinks
Zitieren
(23.05.2020, 09:51)gogosch schrieb: Sodale hier 2 CodeSnippets:
Code:
// ~~~ meter and realtime preferences by gogosch ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#define MACHINE             700     // Machine type (700 = Revox A700, 77 = Revox A77/B77 and other)
#define SPEEDHIGH           381     // Highest belt speed A700 15" in mm
#define SPEEDMIDDLE         190.5   // Middle  belt speed A700 7,5" in mm
#define SPEEDLOW            95.25   // Lowest  belt speed A700 3,75" in mm.
#define NUMSEGS             5       // Segments of the tape reel A700.
#define SCOPE               122     // Circumference of the tape roll in mm.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.
.
.
.
Code:
//////////// COUNTER VARS ////////////
volatile long counter = 0;
volatile long pastCounter = 0;
volatile float counterMeters = 0;
volatile float pastCounterMeters = 0;
volatile float counterSeconds = 0;
volatile float pastCounterSeconds = 0;
volatile float secsPerPulse = 0;
volatile float mmPerPulse = 0;
volatile float speedLow = SPEEDLOW;
volatile float speedMiddle = SPEEDMIDDLE;
volatile float speedHigh = SPEEDHIGH;
volatile float numSegs = NUMSEGS;
volatile float scope = SCOPE;
volatile float speedActual = 0;
//////////////////////////////////////
Die aktuelle Geschwindigkeit (speedActual) sollte dann entsprechend der Zustände an den Eingängen (wie oben angeführt) ermittelt und
für die Echtzeitberechnungen verwendet werden.


Code:
    // Calculation of the display parameters for realtime and counter.
    secsPerPulse = scope / (speedActual * numSegs);  // seconds
    mmPerPulse = secsPerPulse * speedActual / 1000;  // conversion to meters per pulse

Obiger Code sollte einerseits im Setup (Eingang abfragen) und bei jedem Event (Eingang Änderung) exekutiert und der Variable actualSpeed, entsprechend den Zuständen am jweilige Eingang, die dazu entsprechende Geschwindigkeit zugewiesen werden.
Hoffe ich hab es einigermaßen verständlich ausgeführt. Die 3 Eingänge sind mit den entsprechenden Punkten am Gschwindigkeitswahlschalter zu verbinden Achtung "LOW" = Geschwindigkeit ausgewählt. Alle 3 Eingänge auf "HIGH" dann ist der Capstan abgeschaltet. Die angewählte Geschwindigkeit sollte für 1-2 Sekunden im Display angezeigt werden (wäre ganz nett)
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  • havox
Zitieren
(23.05.2020, 09:59)gogosch schrieb: Obiger Code sollte einerseits im Setup (Eingang abfragen) und bei jedem Event (Eingang Änderung) exekutiert erden.

check Thumbsup

(23.05.2020, 09:59)gogosch schrieb: Hoffe ich hab es einigermaßen verständlich ausgeführt.

jopp Thumbsup

(23.05.2020, 09:59)gogosch schrieb: "LOW" = Geschwindigkeit ausgewählt. Alle 3 Eingänge auf "HIGH" dann ist der Capstan abgeschaltet.

geht klar Thumbsup

Falls überlesen, die Eingänge werden A1 (9) A2 (19) A3 (38) sein.

LG
[-] 2 Mitglieder sagen Danke an für diesen Beitrag:
  • , havox
Zitieren
"pullUp" brauchen wir glaube ich nicht. Der dürfte im TDA1000 bereits inkludiert sein. Schaun mer mal.
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  •
Zitieren
(23.05.2020, 10:07)gogosch schrieb: "pullUp" brauchen wir glaube ich nicht. Der dürfte im TDA1000 bereits inkludiert sein. Schaun mer mal.

Vielleicht sollten wir darauf hinweisen - wer aus irgenwelchen Gründen seinen Arduino grillt (warum auch immer, ist mir noch nicht passiert), grillt möglicherweise auch seinen TDA1000 gleich mit Floet .
Immerhin verlassen wir ja mit der Einspeisung der Signal die dedizierte Arduino-Umgebung.
Aber ich habe ja einen Disclaimer im Programm LOL .

LG
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  • havox
Zitieren
(23.05.2020, 10:27)DIYLAB schrieb:
(23.05.2020, 10:07)gogosch schrieb: "pullUp" brauchen wir glaube ich nicht. Der dürfte im TDA1000 bereits inkludiert sein. Schaun mer mal.

Vielleicht sollten wir darauf hinweisen - wer aus irgenwelchen Gründen seinen Arduino grillt (warum auch immer, ist mir noch nicht passiert), grillt möglicherweise auch seinen TDA1000 gleich mit Floet .
Immerhin verlassen wir ja mit der Einspeisung der Signal die dedizierte Arduino-Umgebung.
Aber ich habe ja einen Disclaimer im Programm LOL .

LG
Ja, das ist dann ein teurer Spass! Ab 25,-- aufwärts (ohne Versand) ist man dann dabei!  LOL Raucher
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  • havox
Zitieren
(23.05.2020, 10:35)gogosch schrieb: Ja, das ist dann ein teurer Spass! Ab 25,-- aufwärts (ohne Versand) ist man dann dabei!  LOL Raucher

Das schreit ja förmlich nach einem Field Programmable Gate Array oder PAL Projekt Lol1 .
Irgendwann mal Lipsrsealed2 .
[-] 1 Mitglied sagt Danke an für diesen Beitrag:
  •
Zitieren
(23.05.2020, 10:38)DIYLAB schrieb:
(23.05.2020, 10:35)gogosch schrieb: Ja, das ist dann ein teurer Spass! Ab 25,-- aufwärts (ohne Versand) ist man dann dabei!  LOL Raucher

Das schreit ja förmlich nach einem Field Programmable Gate Array Projekt Lol1 .
Irgendwann mal Lipsrsealed2 .
Es gibt ja für die Capstan-Control auch eine (spätere) TTL-Version die ohne dieses TDA1000 auskommt.
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Digitales Zählwerk ( nur Counter ) reVox B77 dedefr 134 37.642 06.10.2021, 14:14
Letzter Beitrag: scope
Lightbulb Digitales Zählwerk ( Realtime, Meter, Counter ) reVox A700 DIYLAB 51 17.750 22.08.2021, 19:21
Letzter Beitrag: Wolf1
  Digitales Zählwerk ( nur Counter ) AKAI GX 620 Rüsselfant 520 137.341 27.05.2021, 09:42
Letzter Beitrag: Sparbier635D
Lightbulb Digitales VU-Meter (Mikrocontroller, Display, LED) reVox A700 DIYLAB 1.596 380.704 20.05.2021, 22:00
Letzter Beitrag: Harry Hirsch
  Digitales Zählwerk ( nur Counter ) Sony TC 788-4 dedefr 14 5.577 10.07.2020, 10:50
Letzter Beitrag: dedefr
  Digitales Zählwerk (nur Counter) Revox A77 havox 81 21.206 25.06.2020, 16:21
Letzter Beitrag: akguzzi



Benutzer, die gerade dieses Thema anschauen: 7 Gast/Gäste