19.03.2011, 23:44
Hallo Leute.
Heute möchte ich mal meinen neuen Echtzeitzähler für meine M12 vorstellen.
Schon wieder ein Echtzeitzähler? Naja, nicht nur! Ich hab das ganze gleich zu einem vollwertigen Autolocator ausgebaut.
Die Vorgaben die ich mir für diese Projekt gestellt habe:
- vollständig galvanisch vom TB getrennt
- Gerät soll volle Funktionalität auch ohne den Autolocator haben
- möglichst keine optische Veränderung
- Anzeige auf zweizeiligem VFD Display
- numerische Tastatur für Eingaben
Hier also erstmal das fertige Gerät:
Das Gerät basiert auf einem ATmega32 Mikrocotroller der jede Menge I/O Ports und genügend Speicher zur Verfügung stellt.
Im Tonbandgerät wurde das Netzteil dafür und die Interface Elektronik zur Steuerung des Laufwerks eingebaut. Alle Ein- und Ausgänge zum TB sind durch Optokoppler isoliert.
Das sieht man hier:
Ausser dem Netzteil und den Optokopplern befindet sich dort noch ein 7414 Schmitt Trigger um die Impulse und Signale aus dem TB gleich von vornherein in eine schöne TTL kompatible Form zu bringen - darum muss sich der Controller dann schonmal nicht mehr kümmern.
Auch auf die Gefahr hin, dass die Profi Programmierer hier nun traurig den Kopf schütteln: Programmiert wurde der AVR mit BASCOM AVR. Ich weis was die ITler über BASIC denken, ist mir aber wurscht. BASIC ist nämlich die einzige Programmiersprache die ich aus dem FF beherrsche und ausserdem ist wirklich keine andere Srache so genial einfach zu begreifen. Mir laufen beim Gedanken an C kalte Schauer über den Rücken .
Hier nun die implementierten Funktionen:
- Echtzeitzähler bis 999min. 99sek., negativ und positiv natürlich
- Anzeige umschaltbar auf Meter, max. 9999m 99cm auch +/-
- Zero Locator
- Goto funktion
- 3 Speicherbare Zählerstände (mehr möglich)
- Zählerstand wird beim Ausschalten gespeichert (EEPROM)
- Konfigurierbar für 9,5/19 oder 19/38cm/s
- automatische Kalibrierung auf das verwendete Zählerrad
Auf den Gedanken mit der automatischen Kalibrierung hat mich SvenL hier im Forum gebracht - ich hab die Idee einfach mal geklaut . Danke.
Bei mir läuft das so ab:
Der Autolocator lässt das Band 3x30 Sekunden im Playbetrieb laufen und bildet aus den jeweils gezählten Impulsen den Durchschnitt. Die genaue Anzahl Impulse ist nämlich nicht immer gleich. Diese Impulszahl geteilt durch 30sek. ergibt das was ich als "Radfaktor" bezeichne. Dieser wird auch im EEPROM abgelegt.
Im Falle der M12 hat man es mit einem Zähler recht einfach, da
1. die benötigte Rolle im Bandpfad schon vorhanden ist und
2. die Drehrichtung direkt vom Schleppschalter am Aufwickelteller abgenommen werden kann und
3. die gesamte Steuerung aus CMOS Bausteinen aufgebaut ist und man daher leicht Einstiegspunkte findet um die Steuerung zu realisieren.
Hier sieht man die Reflexlichtschranke CNY70 und die auf die Rolle geklebte Segmentscheibe:
Ich verwende eine Segmentscheibe mit 24 Segmenten, dadurch ergeben sich pro Umdrehung 12 L-H wechsel die der Mikroprofessor zählen kann.
Je mehr Impulse, desto genauer wird der Zähler, nur irgendwann wird die erzeugte Frequenz zu hoch um sie im Spulbetrieb zuverlässig zu zählen.
Die Segmentscheibe lässt sich übrigens am einfachsten in Excel als Kreisdiagramm erzeugen - da spart man sich das gefummel mit CAD Programmen. Macht's für den nicht CADler einfacher .
Bei anderen Geräten müsste man z.B. zwei Lichtschranken zur Erkennung der Drehrichtung verwenden. Bekanntermaßen ist das größte Problem aber ein Laufrad in den Bandpfad zu bringen.
Inzwischen funktioniert soweit alles ganz gut, auch die Goto Funktion:
Ein kleines Problem stellt noch das oftmals sehr häufige hin und her Pendeln um den aufgesuchten Zählerstand dar, da muss ich noch etwas dran Feilen. Das Problem ist halt einfach die Trägheit eines vollen 26cm Wickels. Ausserdem kann ich nicht auf die Wickelgeschwindigkeit einwirken ohne große Veränderungen an der Maschine vorzunehmen.
Im großen und ganzen funktioniert's aber ganz gut, bis auf ein paar Sekunden genau lassen sich die Zeitpunkte anlaufen.
Sodala, das was erstmal von mir.
Gruß,
David
Heute möchte ich mal meinen neuen Echtzeitzähler für meine M12 vorstellen.
Schon wieder ein Echtzeitzähler? Naja, nicht nur! Ich hab das ganze gleich zu einem vollwertigen Autolocator ausgebaut.
Die Vorgaben die ich mir für diese Projekt gestellt habe:
- vollständig galvanisch vom TB getrennt
- Gerät soll volle Funktionalität auch ohne den Autolocator haben
- möglichst keine optische Veränderung
- Anzeige auf zweizeiligem VFD Display
- numerische Tastatur für Eingaben
Hier also erstmal das fertige Gerät:
Das Gerät basiert auf einem ATmega32 Mikrocotroller der jede Menge I/O Ports und genügend Speicher zur Verfügung stellt.
Im Tonbandgerät wurde das Netzteil dafür und die Interface Elektronik zur Steuerung des Laufwerks eingebaut. Alle Ein- und Ausgänge zum TB sind durch Optokoppler isoliert.
Das sieht man hier:
Ausser dem Netzteil und den Optokopplern befindet sich dort noch ein 7414 Schmitt Trigger um die Impulse und Signale aus dem TB gleich von vornherein in eine schöne TTL kompatible Form zu bringen - darum muss sich der Controller dann schonmal nicht mehr kümmern.
Auch auf die Gefahr hin, dass die Profi Programmierer hier nun traurig den Kopf schütteln: Programmiert wurde der AVR mit BASCOM AVR. Ich weis was die ITler über BASIC denken, ist mir aber wurscht. BASIC ist nämlich die einzige Programmiersprache die ich aus dem FF beherrsche und ausserdem ist wirklich keine andere Srache so genial einfach zu begreifen. Mir laufen beim Gedanken an C kalte Schauer über den Rücken .
Hier nun die implementierten Funktionen:
- Echtzeitzähler bis 999min. 99sek., negativ und positiv natürlich
- Anzeige umschaltbar auf Meter, max. 9999m 99cm auch +/-
- Zero Locator
- Goto funktion
- 3 Speicherbare Zählerstände (mehr möglich)
- Zählerstand wird beim Ausschalten gespeichert (EEPROM)
- Konfigurierbar für 9,5/19 oder 19/38cm/s
- automatische Kalibrierung auf das verwendete Zählerrad
Auf den Gedanken mit der automatischen Kalibrierung hat mich SvenL hier im Forum gebracht - ich hab die Idee einfach mal geklaut . Danke.
Bei mir läuft das so ab:
Der Autolocator lässt das Band 3x30 Sekunden im Playbetrieb laufen und bildet aus den jeweils gezählten Impulsen den Durchschnitt. Die genaue Anzahl Impulse ist nämlich nicht immer gleich. Diese Impulszahl geteilt durch 30sek. ergibt das was ich als "Radfaktor" bezeichne. Dieser wird auch im EEPROM abgelegt.
Im Falle der M12 hat man es mit einem Zähler recht einfach, da
1. die benötigte Rolle im Bandpfad schon vorhanden ist und
2. die Drehrichtung direkt vom Schleppschalter am Aufwickelteller abgenommen werden kann und
3. die gesamte Steuerung aus CMOS Bausteinen aufgebaut ist und man daher leicht Einstiegspunkte findet um die Steuerung zu realisieren.
Hier sieht man die Reflexlichtschranke CNY70 und die auf die Rolle geklebte Segmentscheibe:
Ich verwende eine Segmentscheibe mit 24 Segmenten, dadurch ergeben sich pro Umdrehung 12 L-H wechsel die der Mikroprofessor zählen kann.
Je mehr Impulse, desto genauer wird der Zähler, nur irgendwann wird die erzeugte Frequenz zu hoch um sie im Spulbetrieb zuverlässig zu zählen.
Die Segmentscheibe lässt sich übrigens am einfachsten in Excel als Kreisdiagramm erzeugen - da spart man sich das gefummel mit CAD Programmen. Macht's für den nicht CADler einfacher .
Bei anderen Geräten müsste man z.B. zwei Lichtschranken zur Erkennung der Drehrichtung verwenden. Bekanntermaßen ist das größte Problem aber ein Laufrad in den Bandpfad zu bringen.
Inzwischen funktioniert soweit alles ganz gut, auch die Goto Funktion:
Ein kleines Problem stellt noch das oftmals sehr häufige hin und her Pendeln um den aufgesuchten Zählerstand dar, da muss ich noch etwas dran Feilen. Das Problem ist halt einfach die Trägheit eines vollen 26cm Wickels. Ausserdem kann ich nicht auf die Wickelgeschwindigkeit einwirken ohne große Veränderungen an der Maschine vorzunehmen.
Im großen und ganzen funktioniert's aber ganz gut, bis auf ein paar Sekunden genau lassen sich die Zeitpunkte anlaufen.
Sodala, das was erstmal von mir.
Gruß,
David