motorisierter, chinesischer gong

felix schwenzel, , in artikel    

mein tageswerk.

* * *

lange geplant, endlich (so einigermassen) umgesetzt. der gong, den sich die beifahrerin zu weihnachten hat schenken lassen (hier gekauft), zu automatisieren. diesen chinesischen gong hatte sich die beifahrerin vor ein paar jahren mal geliehen und eine arbeit damit ausgestattet.

chinesischer gong, in einer arbeit von katia kelm (der beifahrerin)

damals, für die arbeit, wurde der gong, wenn ich mich recht erinner, mit einem hubmagneten betätigt. das hatte relativ viel bums. nachdem ich diesen blogeintrag gefunden hatte, wusste ich, dass ich das mit einem schrittmotor nachbauen wollen würde. erste versuche zeigten, dass der schrittmotor, zumindest wenn er mit den 5 volt eines esp8266 betrieben würde, nicht besonders viel bums hat. der schrittmotor den ich kaufte hat zwar (angeblich) ein ganz gutes drehmoment, aber es zeigte sich schnell, das der gong mit schrittmotor nur hängend funktionieren würde.

aber so, hängend, haben es die leute von senic auch gemacht. die schaltung habe ich auch mehr oder weniger von dort übernommen. neben einem esp8266 brauchte ich noch einen (hardware) schrittmotor-treiber, einen easy-driver. mit der schaltung von senic kann man einfach in einer schleife impulse an den treiber senden, jeder impuls ist dann eine bewegung nach vorne. bei meinen ersten tests zeigte sich, dass 500 schritte vorwärts (und zurück) ganz gut funktionierten. aber ich merkte auch, dass der schrittmotor-treiber sehr heiss wurde und der schrittmotor anfing leise zu singen. auf beiden systemen war ständig strom. in der dokumentation des schrittmotor-treibers stand allerdings, dass man den treiber auch abschalten könne. also habe ich die schaltung von scenig ein bisschen erweitert:

GPIO 13 — puls
GPIO 12 - richtung
GPIO 14 - an/aus (SLP)

schaltung für die schrittmotor ansteuerung

mit der an/aus schaltung wird der schrittmotor-treiber nicht mehr heiss und der motor entspannt sich ebenso. als sketch habe ich diesen sketch modifiziert, der einen schrittmotor zur gardinensteuerung antreibt und die AccelStepper-bibliothek nutzt, um den motor (etwas) sanfter anfahren zu lassen. weil ich (natürlich) keine dreieinhalb vollumdrehungen benötige um den klöppel für den gong zu schlagen, habe ich den sketch entsprechend angepasst, ebenso die erfassung der mqtt-server daten. meinen sketch habe ich als gist hochgeladen: https://gist.github.com/diplix/d85c2dd87f66da601480009df49ad4e5

die entscheidenden stellen sind die beschleunigungsdaten und die vor- und zurückbewegung:

//configure stepper
stepper.setAcceleration(4000);
stepper.setCurrentPosition(0);
stepper.setMaxSpeed(1500);
 
stepper.runToNewPosition(-200);
stepper.runToNewPosition(0);

an den werten werde ich wahrscheinlich noch drehen, aber soweit funktioniert das eigentlich ganz gut. wichtig ist: der gong-antrieb ist per mqtt ansprechbar und so auch in den home-assistant integriert. damit kann ich ihn per knopfdruck auslösen oder eben per alexa. wenn ich sage „alexa, sag küche essen ist fertig“ wird ein custom skill mit dem aufrufnamen „küche“ ausgelöst, der die home-assistant-automation essen_fertig.yaml aufruft:


alias: long gong abspielen
sequence:
  - service: mqtt.publish
    data:
      topic: "gong/Control"
      payload: "2"

für die halterung habe ich, wie üblich, improvisiert. baumarktteile statt 3d-druck. aus einem kiefernholzregalbrett ein stück ausgeschnitten, darauf mit einer metallasche den motor festgeschraubklemmt, den klöppel direkt auf die achse geklemmt, fertig. den klöppel werde ich wohl noch mit heisskleber fixieren müssen, bisher funktioniert das aber stabil.

schaltung für die schrittmotor ansteuerung

entscheidend ist natürlich die idee, den klöppel von hinten schlagen zu lassen. so kann man mit einem langen arm und einem zweiten klöppel, den gong auch immer noch per hand bedienen. und der technik-kram macht sich relativ unsichtbar.

so hängt der gong über der tür