Akkorduhr

Nachdem meine Farbuhr in der Langzeit-Testphase ist, hab ich mit meinem neuen Projekt begonnen: Die Klang-Uhr oder Akkorduhr. Zeitangabe analog der Farbuhr in Klang (Intervalle) D.h. Klangstäbe werden nacheinander angeschlagen. der Schläger wird auf einer Spindel vor den Klangstäben bewegt und hält dann vor einem Klangstab und schlägt ihn an. Da die Bewegung auf der Spindel einigermassen rasch sein sollte möchte ich diesmal Schrittmotoren ohne Getriebe verwenden. ich habe nun also zwei bipolare SY35ST26-0284A betrieben durch einen A4988. Die Spindelbewegung würde ich wieder gerne über die tollen MobaTools steuern. Gehe ich richtig in der Annahme, dass ich für jeden Motor einen eigenen A4988 brauche, oder könnte man hier auch mit einem Schieberegister arbeiten?

Ja, Du brauchst für jeden Motor einen eigenen Treiber. Mit Schieberegistern geht es bei dem Treiber nicht :wink: . Allerdings brauchst Du da ja auch nur 2 Pins/Motor ( + wahrscheinlich den enable ).
Wobei der ausgesuchte Motor für den A4988 nicht so ideal ist. Besser wäre hier ein Motor der für Stromsteuerung ausgelegt ist, also eine sehr kleine ‘Nennbetriebsspannug’ hat ( üblicherweise < 3V ). Den A4988 ( oder evtl. auch einen DRV8825 ) betreibst Du dann z.B. mit 12 V. Der Motor hat dann mehr Kraft wenn er dreht.

MicroBahner:
Ja, Du brauchst für jeden Motor einen eigenen Treiber. Mit Schieberegistern geht es bei dem Treiber nicht :wink: . Allerdings brauchst Du da ja auch nur 2 Pins/Motor ( + wahrscheinlich den enable ).
Wobei der ausgesuchte Motor für den A4988 nicht so ideal ist. Besser wäre hier ein Motor der für Stromsteuerung ausgelegt ist, also eine sehr kleine ‘Nennbetriebsspannug’ hat ( üblicherweise < 3V ). Den A4988 ( oder evtl. auch einen DRV8825 ) betreibst Du dann z.B. mit 12 V. Der Motor hat dann mehr Kraft wenn er dreht.

Ok, Danke. Sowas:? %product-title% - Conrad Electronic Schweiz
Ich werde mal etwas testen und schauen wie sich der Motor so anstellt ( habe von diesen Schrittmotoren eben eine ganze Kiste voll geschenkt bekommen :-). Die Antriebsspindel ist ja relativ kurz (etwa 50 cm) wenn er da schwächelt wechsle ich ihn aus.

Draht: der Schläger wird auf einer Spindel vor den Klangstäben bewegt und hält dann vor einem Klangstab und schlägt ihn an.

Womit wird der Schlägel bewegt? Ich frage wegen der dafür notwendigen Spannung.

Draht: Ich werde mal etwas testen und schauen wie sich der Motor so anstellt ( habe von diesen Schrittmotoren eben eine ganze Kiste voll geschenkt bekommen :-).

Dann teste!

Ich habe einen 12 V Schrittmotor, der selbst bei 12 V am DRB8825 noch Wupps (Drehmoment) hat. Ob genügend, mußt Du halt ausprobieren.

Wenn Du den Treiber mit 24 V oder 36 V (nur DRV8825!) versorgst, hast Du auch bei 7,28 V des Schrittmotors eine Stromsteuerung.

agmue:
Womit wird der Schlägel bewegt? Ich frage wegen der dafür notwendigen Spannung.

Mitt einem kleinen 3V Motor. Sowas in der Art: Play-Zone.CH Gear Hobby Motor M260
Das reicht, es braucht nur ein feiner Schlag.

agmue: Wenn Du den Treiber mit 24 V oder 36 V (nur DRV8825!) versorgst, hast Du auch bei 7,28 V des Schrittmotors eine Stromsteuerung.

Gut, das wäre ja auch noch eine Möglichkeit. :)

Jetzt muss ich dann 'nur' noch Deinen Sketch so anpassen, dass er für die neuen Schritmotoren (mit Treiber) und die etwas andere Aufgabe passt. Da kommen dann sicher noch ein paar Fragen ;-)

Draht: ( habe von diesen Schrittmotoren eben eine ganze Kiste voll geschenkt bekommen :-).

Dann würde ich natürlich auch erstmal probieren, ob's mit denen geht 8) . Die Chancen stehen sicher nicht schlecht - so viel Leistung werden sie ja nicht erbringen müssen. Und die Option mit der höheren Versorgungsspannung hast Du ja auch noch.

Draht:
Mitt einem kleinen 3V Motor.

Gut, das sollte zu lösen sein.

Draht:
Jetzt muss ich dann ‘nur’ noch Deinen Sketch so anpassen, dass er für die neuen Schritmotoren (mit Treiber) und die etwas andere Aufgabe passt.

STEP, DIR, eventuell EN, das bekommst Du hin! Zwei EN kannst Du eventuell zusammenfassen.

Das Einstellen der Strombegrenzung ist bei Pololu gut beschrieben.

MicroBahner: Dann würde ich natürlich auch erstmal probieren, ob's mit denen geht 8) . Die Chancen stehen sicher nicht schlecht - so viel Leistung werden sie ja nicht erbringen müssen. Und die Option mit der höheren Versorgungsspannung hast Du ja auch noch.

Mein Test hat ergeben, dass es kein Problem für die Schrittmotoren ist die Spindel anzutreiben, auch wenn ich im Test mehr Gewicht drauf gepackt habe als der Schläger-Motor hat.

agmue: Gut, das sollte zu lösen sein. STEP, DIR, eventuell EN, das bekommst Du hin! Zwei EN kannst Du eventuell zusammenfassen.

Das Einstellen der Strombegrenzung ist bei Pololu gut beschrieben.

.....Sonst meld ich mich ;-)

Ich habe soeben ein Versuchsrund mit dem neuen Stepper und einem Versuchssketch abgeschlossen. Ich bin mir am überlegen, wie ich die Spindel am Besten steuern soll und hab mir mal folgendes gedacht:
Die Spindel braucht von rechts nach links sagen wir mal 12’000 umdrehungen dies würde einer Umdrehung als 360 Grad entsprechen. Dann würde ich für einen 5 Minuten, oder 1 Std-Schritt 30 Grad = 1000 Steps für 1/12 “Der 360 Grad” von der Steuerung abrufen.
Etwa so wie unten: (delay ist nur für den Test)
Alle 5 Minuten würde der M-Stepper also 1000 Umdrehungen ausführen. Müsste am Anfang und im Betrieb natürlich auch referenziert werden.

#include <MobaTools.h>
// Pindefinitions - change to your needs
const byte dirPin       = 5;
const byte stepPin      = 6;
const byte enaPin       = 7;




const int STEPS_REVOLUTION = 12000;
//Stepper einrichten ( 1200 Schritte / Umdrehung - 1/4 Microstep )
MoToStepper myStepper( STEPS_REVOLUTION, STEPDIR );  // 12000 Steps/ Umdrehung


void setup()
{
  myStepper.attach( stepPin, dirPin );
  myStepper.attachEnable( enaPin, 7, LOW );        // Enable Pin aktivieren ( LOW=aktiv )
  myStepper.setSpeed( 100 );
  myStepper.setRampLen( 100 );
  myStepper.setZero(0); 
  
  
                        

}

void loop() {

myStepper.write(enaPin, LOW);
myStepper.write(30 );
delay(8000);
myStepper.write(30 );
delay(8000);    //........ usw


myStepper.write(enaPin, HIGH);
delay(10000);


  

 
  
 
  
}

Draht: Die Spindel braucht von rechts nach links sagen wir mal 12'000 umdrehungen dies würde einer Umdrehung als 360 Grad entsprechen.

Das versteht man nur, wenn man Dein Vorprojekt kennt. Du meinst, 12'000 Umdrehungen bei der Akkorduhr entsprechen 360 Grad bei der Farbuhr.

Wobei ich zunächst bei Akkord an 120 % Arbeitsleistung gedacht habe. Klanguhr wäre auch ein schöner Name.

Was ist bei der Akkorduhr anders als bei der Farbuhr: Anstelle der kontinuierlichen Kreisbewegung gibt es eine Hin- und Herbewegung.

myStepper.attachEnable( enaPin, 7, LOW );
...
myStepper.write(enaPin, LOW); // überflüssig, sollte die Bibliothek machen
...
myStepper.write(enaPin, HIGH); // überflüssig, sollte die Bibliothek machen

agmue: Wobei ich zunächst bei Akkord an 120 % Arbeitsleistung gedacht habe.

:) Ok, dann nennen wir es doch lieber Klanguhr oder Harmonie-Uhr. Akkorduhr verstehen wahrscheinlich eher nur Musiker.

agmue: Das versteht man nur, wenn man Dein Vorprojekt kennt. Du meinst, 12'000 Umdrehungen bei der Akkorduhr entsprechen 360 Grad bei der Farbuhr.

Da hast du recht, danke fürs Verlinken!

agmue: Was ist bei der Akkorduhr anders als bei der Farbuhr: Anstelle der kontinuierlichen Kreisbewegung gibt es eine Hin- und Herbewegung.

Ja, das ist es im Prinzip. Die Kellenbewegung (+ Referenzierung usw.) von der Farbuhr fällt auch weg oder wird durch eine einfache Schlägerbewegung, wenn die Spindel an der richtigen Stelle ist ersetzt. Dummerweise werden die Klangstäbe aber (aus optischen Gründen nicht der Reihe nach positioniert. D.h. der Spindelschlitten muss dann (nicht wie bei der Farbuhr einfach nur jeweils 30 Grad vorwärts), sondern hin und herfahren um an die richtige Stelle zu gelangen. Also 1 Uhr wäre zB. 4 Schritte nach links, 2 Uhr 2 nach rechts usw. je nach Anordnung der Klangstäbe.

Draht: Akkorduhr verstehen wahrscheinlich eher nur Musiker.

Oder Akkordarbeiter :D - aber die interpretieren das anders ;) . Klanguhr ist definitiv der bessere Name 8) .

Draht: ...der Spindelschlitten muss dann (nicht wie bei der Farbuhr einfach nur jeweils 30 Grad vorwärts), sondern hin und herfahren um an die richtige Stelle zu gelangen. Also 1 Uhr wäre zB. 4 Schritte nach links, 2 Uhr 2 nach rechts usw. je nach Anordnung der Klangstäbe.

Da solltest Du die Positionierung aber definitiv den MobaTools überlassen. Du brauchst ja wieder einen Referenzpunkt (vermutlich am Anfang der Spindel). Dann hast Du eine Tabelle, wo für jede Uhrzeit steht, wieviel Schritte die entsprechende Position vom Referenzpunkt entfernt ist. Dann musst Du immer nur sagen, zu welcher Position der Schlitten jetzt hin soll. Ob das dorthin jetzt rechts- oder linksrum geht machen die MobaTools für dich.

MicroBahner: Oder Akkordarbeiter :D - aber die interpretieren das anders ;) . Klanguhr ist definitiv der bessere Name 8) . Da solltest Du die Positionierung aber definitiv den MobaTools überlassen. Du brauchst ja wieder einen Referenzpunkt (vermutlich am Anfang der Spindel). Dann hast Du eine Tabelle, wo für jede Uhrzeit steht, wieviel Schritte die entsprechende Position vom Referenzpunkt entfernt ist. Dann musst Du immer nur sagen, zu welcher Position der Schlitten jetzt hin soll. Ob das dorthin jetzt rechts- oder linksrum geht machen die MobaTools für dich.

Ja, so habe ich mir das vorgestellt. Das gibt dann 12 genau definierte Positionen für die Minuten und 12 für die Stunden.

Draht:
Akkorduhr verstehen wahrscheinlich eher nur Musiker.

Ein Akkord ist in der Musik das gleichzeitige Erklingen mindestens dreier unterschiedlicher Töne, die sich harmonisch deuten lassen. Wikipedia

Das würde ja bedeuten, mehrere Töne müßten gleichzeitig angeschlagen werden, das sehe ich bei Deiner Konstruktion derzeit nicht.

“Beim Gongschlag ist es …” tönte es früher aus dem Radio, man ist also eine gewisse Genauigkeit bei akustischen Zeitsignalen gewohnt. Du könntest daher den Tonerzeuger (Klöppel?) schon etwas früher positionieren, um den Schlag dann präzise auszuführen. Die Tabelle (siehe #15) könnte also um die notwendige Verfahrzeit ergänzt werden oder Du nimmst konstant die größte notwendige Zeit für alle Positionen.

Ich frage mich gerade, ob ich so eine Uhr, die alle 5 Minuten Lärm macht, haben möchte. Standuhren und Regulatoren waren wegen ihres Stundenschlages teilweise gefürchtet. Zumindest sollte eine Ruhezeit aktivierbar sein. Schöne Aufgaben für eine Applikation1) (nicht Komplikation2) wie bei anderen Uhren).

Da warten ein paar kleine Herausforderungen ::slight_smile:


Anm.:

  1. Gemeint ist eine App auf einem Smartphone.

  2. Zusatzfunktionen bei mechanischen Uhren wie z. B. Stoppfunktion.

agmue: Du könntest daher den Tonerzeuger (Klöppel?) schon etwas früher positionieren, um den Schlag dann präzise auszuführen. Die Tabelle (siehe #15) könnte also um die notwendige Verfahrzeit ergänzt werden oder Du nimmst konstant die größte notwendige Zeit für alle Positionen.

Vielleicht zeigt Draht ja auch mal wieder ein Bild, wie das Ganze aussehen soll. Ist nur der Klang das Zeitsignal, oder gibt es auch eine mechanische Anzeige - d.h. die Klöppelposition zeigt die Uhrzeit? Das hatte ich bisher nicht so gesehen, da der Klöppel ja hin-und herfährt. Deshalb würde ich nämlich den Klöppel nach dem Abspielen des Akkords gleich in die nächste Position fahren, um dort pünktlich starten zu können.

Ob ich so ein Uhr, die alle 5 Min. Musik macht zu Hause haben möchte ... :roll_eyes:

agmue:
Das würde ja bedeuten, mehrere Töne müßten gleichzeitig angeschlagen werden, das sehe ich bei Deiner Konstruktion derzeit nicht.


Es wird einen Grundton geben der bleibt immer der gleiche (Ton C) gleichzeitig ertönt das Stundenintervall sagen wir zB. eine E. Dies ergibt der erste Klang. kurz darauf ertönt zusammen wieder mit dem Ton C das Minutenintervall. zb ein G. Alles zusammen ergäbe ein C-Dur Akkord. Natürlich ergeben sich auch Akkord-Kombinationen welche in der Musik resp. in der Funktionsharmonik kene Bedeutung haben, aber es geht ja nur darum die Zeit harmonisch zu hören.