Sebastian

DIY Grill-Drehspieß

Was Sie brauchen:

  • Grill
  • Grillspieß (am besten Edelstahl)
  • Teile aus diesem reichelt-Warenkorb: Arduino Uno, Drehimpulsgeber STEC11B09, Motortreiber auf Basis des L298N (z. B. DEBO MOTODRIVER2 oder ARD SHD MOTO 1), Schrittmotor (z. B. ACT 17HS4417 oder QSH4218-40-033), Steckbrücken-/Dupontkabel (DEBO KABELSET)
  • außerdem: Anschlusskabel, Lochsäge

Aufwand: ca. 3 Stunden (Einsteiger)

Der Sommer ist da, jetzt kann endlich wieder gegrillt werden.

Auch hier ist es möglich sich einige nützliche Helfer selber zu bauen, die mehr Zeit für wichtigeres zu erledigen schaffen. In diesem How-To werden Sie deshalb für Ihren Grill einen Drehspieß mit regelbarer Rotationsgeschwindigkeit bauen, den Controller programmieren und in Betrieb nehmen. Dieses Projekt dient auch als Einstieg in das Framework [PlatformIO](https://platformio.org/), welches Sie als (besseren) Ersatz der Arduino IDE verwenden. Los geht’s!

Die Hardware

Das Gehirn des Drehspieß wird ein Arduino Uno sein, die Rechenpower reicht vollkommen für die Aufgabe. Der Mikrocontroller wird mit vier seiner PWM-Ausgängen (D2 bis D5) einen L298N Motortreiber ansteuern und so den Schrittmotor in Bewegung setzen. Zum Verändern der Drehgeschwindigkeit benutzen Sie den Drehimpulsgeber. Im Optimalfall hat dieser sogar noch einen eingebauten Push-Button, den Sie zum An- und Ausschalten des Motors verwenden.

Den Schaltplan können Sie im folgenden Bild als Überblick sehen:

Schaltplan

Besonderes Augenmerk sollten Sie auf die verwendete Versorgungsspannung legen. Benötigt Ihr Schrittmotor eine Spannung von 5V bis 12V, so können Sie das Treibermodul über den +12V Eingang versorgen und den im nächsten Bild grün markierten Jumper setzen. Der Jumper aktiviert den Spannungswandler 7805 auf dem Board, der den Digitalanteil des L298N mit 5V versorgt. In diesem Fall wird zusätzlich der zweite Kontakt mit den erzeugten 5V versorgt und Sie könnten damit Ihren Controller versorgen. Benötigt der Motor mehr als 12V, so müssen Sie die rechts abgebildete Verschaltung verwenden. Der entfernte Jumper deaktiviert den 7805. Sie müssen also den L298N gesondert mit 5V über den rechten Kontakt versorgen. Der linke Eingang versorgt nun nur die Leistungsstufe des L298N. Achten Sie darauf, dass maximal 35V angelegt werden dürfen!

Versorgungsspannung
Versorgungsspannung

In meinem Fall benötigt der Schrittmotor 12V. Dadurch ist es möglich sowohl den Arduino Uno über den VIN Eingang, als auch das L298N Board über den +12V Eingang mit dem gleichen Netzteil zu versorgen. Für die Inbetriebnahme empfehle ich Ihnen den Aufbau provisorisch „im Labor“ aufzubauen. So können Sie die Software besser debuggen und selber experimentieren. Der fertige Aufbau sollte in etwa so bei Ihnen aussehen:

Testaufbau des Grill-Drehspieß-Antriebs
Testaufbau des Grill-Drehspieß-Antriebs

Nun können Sie sich der Software zuwenden.

Einrichten von PlatformIO

Für den ersten Kontakt mit Mikrocontroller ist die Arduino IDE super geeignet. Übersichtlich, gut dokumentiert und einfach zu bedienen. Es dauert aber für gewöhnlich nicht lange und die Projekte werden umfangreicher, es müssen eigene Bibliotheken geschrieben werden und die Einfachheit der IDE wird zum Hindernis. Noch schlimmer wird es sobald Sie abseits der 8-Bit Mikrocontroller in der Welt der Leistungsstarken ARM-Controller experimentieren wollen, hier haben Sie nur wenig Spaß mit der Arduino IDE.

Viele Hersteller bieten (oft kostenpflichtig) eigene IDEs an, bei Atmel Produkte (ATmega wie im Arduino) ist das „Atmel Studio“ (https://www.microchip.com/mplab/avr-support/atmel-studio-7), für ST Mikrocontroller (ARM) unter anderem „STM32CubeIDE“ (https://www.st.com/en/development-tools/stm32cubeide.html).

Alle bisher genannten Lösungen haben eines gemeinsam: es wird nur das eigene Produkt vernünftig unterstützt. Will man nicht jedes Mal seine Abläufe, Programme und den Workflow ändern bietet die Open Source Software „PlatformIO“ (https://platformio.org/) die Möglichkeit (fast) alle Embedded Lösungen unter einen Hut zu bekommen. Es agiert unter anderem als Datenbank über die verschiedenen Mikrocontroller, Development Boards, Software Bibliotheken und Frameworks und beinhaltet auch die richtigen Programme zum Programmieren, Debuggen und Analysieren. Das Ganze ist als Addon bekannt „IDEs“ (https://platformio.org/platformio-ide) wie z.B. Atom, Eclipse und VSCode und installierbar. Es kann jedoch auch ganz unabhängig als Command-Line-Tool (https://platformio.org/install/cli) bedient werden.

Falls Sie sich ernsthaft mit dem Embedded Bereich beschäftigen wollen, empfehle ich Ihnen einen Blick darauf zu werfen. Beginnen Sie am besten mit der

  • Übersicht: https://docs.platformio.org/en/latest/what-is-platformio.html und den
  • Tutorials: https://docs.platformio.org/en/latest/tutorials/index.html

Installieren Sie sich im ersten Schritt PlatformIO auf Ihrem PC, der Rest des Projekts ist zum Herunterladen vorbereitet. Im Projektordner finden Sie die Datei „platform.ini“. Darin werden die Rahmenbedingungen des Projekts definiert. Welchen Controller benutzen wir auf welchem Board, welche Bibliotheken soll PlatformIO einbinden etc. . In den Ordnern ist dann Ihr Code organisiert. Der „lib“ Ordner ist für manuell eingefügte Bibliotheken gedacht. Dort befinden sich in diesem Projekt die Bibliotheken:

  • AccelStepper: https://github.com/waspinator/AccelStepper) zum Ansteuern des Schrittmotors und
  • RotaryEncoder: https://github.com/mathertel/RotaryEncoder) für das Auslesen des Drehimpulsgebers

Der Ordner „include“ beinhaltet die Headerfiles des Projekts, „src“ die Sourcefiles (z.B. .cpp oder .ino) wo auch Ihr Projekt „GrillDreher.ino“ abgelegt ist. Durch die praktischen Bibliotheken gestaltet sich das Hauptprogramm denkbar einfach.

Für den Drehimpulsgeber benutzen Sie einen Hardware Interrupt, der ausgelöst wird, falls einer der Pins A2, A3 oder A4 einen Pin-Change durchführt. Ein Pin-Change ist ein Wechsel vom HIGH- auf LOW-Pegel oder andersrum. In der ISR (Interrupt-Service-Routine) verarbeiten Sie die Informationen und bereiten sie für die Hauptschleife in der Loop Methode auf. Bei jedem Durchlauf der Schleife wird die Soll-Geschwindigkeit des Motors gesetzt. Da kein Geber verbaut ist, kann nicht auf Ist-Geschwindigkeit geprüft werden. Sie sollten also sicher gehen, dass der Motor stark genug ist den Drehspieß ohne Schrittverlust anzutreiben.

Den Code spielen Sie nun auf Ihren Controller. Sofern alles richtig verdrahtet ist, fängt der Motor an sich zu drehen, sobald Sie den Push-Button des Drehimpulsgebers drücken. Durch Rotieren des Drehimpulsgebers verändert sich die Geschwindigkeit. Es ist auch möglich die Drehrichtung zu ändern!

Der finale Zusammenbau

Nachdem Sie die Funktion verifiziert und vielleicht auch eigene Anpassungen vorgenommen haben, können Sie nun den Drehspieß mit dem Motor verbinden. Da es hier nicht präzise geregelt werden muss und die Kraft zum Rotieren des Grillspießes nicht sonderlich hoch ist, reicht ein ganz einfacher und improvisierter Riemenantrieb. Hier besteht die Riemenscheibe am Grillspieß aus zwei miteinander verbundenen mit einer Lochsäge ausgeschnittenen Holzteilen, die mit mehreren Schnüren mit der deutlich kleineren Riemenscheibe am Motor verbunden ist.

Der Grill-Drehspieß in Aktion!

Eine Antwort

  1. Hallo,
    vielen lieben Dank für die Anleitung! Ausführlich und auch gut für Anfänger zu verstehen! Verstehe ich es richtig, dass der Drehspieß dann auch auf einen anderen Grill gesetzt werden kann?
    Viele Grüße!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Die Website ist als Entwicklungs-Website auf wpml.org registriert.