PDF herunterladen
        SAMOVAR 
×
Menü

I2CStepper

Erweiterung der Möglichkeiten von Samovar durch die zusätzliche I2CStepper-Platine mit einem Schrittmotor und vier Relais.
Das Modul kann als eigenständiges Gerät verwendet werden. Es lässt sich allein über das Menü auf einem 16x2-LCD-Display und einen Drehgeber steuern oder im Verbund mit Samovar.
Der Erweiterungsbaustein wird über den I2C-Bus mit vier Leitungen an Samovar angeschlossen (wie das LCD-Display). Samovar erkennt, dass der Erweiterungsbaustein angeschlossen ist, und kann ihn steuern.
 
Samovar 7.00: Die Firmware arbeitet mit Platinen mit Protokollversion 3. Am Bus können bis zu zehn Platinen mit I2C-Adressen von 1 bis 10 hängen: Platinen mit ungerader Adresse (1, 3, 5…) sind Rührwerke, Platinen mit gerader Adresse (2, 4, 6…) sind Pumpen (Dauerförderung oder Abfüllen eines eingestellten Volumens). Jede Platine teilt Samovar mit, was sie kann: Rührwerk, Förderung, Abfüllen, Relais, externer Sensor. Die Platinen werden beim Start von Samovar gesucht und danach im Hintergrund abgefragt; wird mindestens eine gefunden, erscheint auf der Hauptseite jedes Modus die Schaltfläche „I2CStepper“, die die Steuerseite der Platinen öffnet. Eine Platine, die einmal am Bus geantwortet hat, bleibt bis zum Neustart von Samovar in der Liste; bricht die Verbindung zu ihr ab, wird sie als nicht verfügbar markiert.
Im Betrieb (Rektifikationsprogramm, Lua, Modi Bier und Käse) verwendet Samovar ein Arbeitsrührwerk und eine Arbeitspumpe – die Platinen mit der niedrigsten Adresse unter den gefundenen. Sie werden beim Start des Prozesses festgelegt und ändern sich bis zu seinem Ende nicht, auch wenn während des Laufs eine Platine mit niedrigerer Adresse hinzukommt.
Im Bier-Modus schaltet das erste Relais die Würzeumwälzpumpe ein und aus (zum Beispiel für die Umwälzung der Würze im Sudkessel). Die übrigen Relais nutzt die Firmware nicht – Sie entscheiden, wofür sie dienen, und können sie aus Lua schalten. Die Relais werden vom Arbeitsrührwerk bedient, wenn es Relaisunterstützung gemeldet hat, sonst von der Arbeitspumpe.
Die Einstellungen der Platinen selbst (Modus, Geschwindigkeit, Lauf- und Pausenzeit des Rührwerks, Pumpenförderung, Abfüllvolumen und -geschwindigkeit, Schritte pro Milliliter) werden im Speicher des Nano abgelegt und auf der Registerkarte Einstellungen → I2CStepper («Настройки → I2CStepper») bearbeitet, siehe unten. Die Seite „I2CStepper“ dient nur zum manuellen Starten und Stoppen.
 
Die Seite „I2CStepper“
Die Seite „I2CStepper“: Die Pumpenplatine mit Adresse 2 ist gewählt
1

Gerät («Устройство»)

Die Liste der am Bus gefundenen Platinen; wird bei zwei oder mehr Platinen angezeigt. Rührwerke haben eine ungerade Adresse, Pumpen eine gerade.
 
2

Zustand der Platine

„Läuft“ («Работает») oder „Gestoppt“ («Остановлен»); darunter die aktuelle Pumpengeschwindigkeit und das Restvolumen.
 
3

Geschwindigkeit und Volumen

Pumpengeschwindigkeit in Litern pro Stunde und Volumen in Millilitern für die Schaltfläche „Starten“ («Запустить»). „Stopp“ («Стоп») hält die Pumpe an.
 
4

Relais 1

Wird angezeigt, wenn die Platine Relais unterstützt; schaltet das erste Relais der Platine.
 
5

Kalibrierung der externen Pumpe

Nur für Pumpenplatinen: öffnet die Kalibrierseite für „Schritte/ml“ («Шагов/мл») der gewählten Platine.
 
 
Werden zwei oder mehr Platinen gefunden, erscheint oben die Liste „Gerät“ («Устройство») – wählen Sie darin die Platine, mit der Sie arbeiten: „Rührwerk, Adresse N“ («Мешалка, адрес N») oder „Pumpe, Adresse N“ («Насос, адрес N»). Bei nur einer Platine ist die Liste ausgeblendet. Ist die gewählte Platine nicht verfügbar, wird statt des Bedienfelds die Meldung „Der gewählte I2CStepper ist nicht verfügbar“ («Выбранный I2CStepper недоступен») angezeigt – eine andere Platine wird nicht automatisch eingesetzt, Sie müssen sie in der Liste wählen.
Für die gewählte Platine zeigt die Seite Typ und Adresse, den Zustand („Läuft“ («Работает») oder „Gestoppt“ («Остановлен»)), die aktuelle Geschwindigkeit in Schritten pro Sekunde und wie viele Schritte bis zum Halt noch übrig sind. Die Daten werden alle zwei Sekunden aktualisiert.
Steuerung. „Geschwindigkeit“ («Скорость») ist die Motorgeschwindigkeit in Schritten pro Sekunde (von 1 bis 18000), „Ziel, Schritte“ («Цель, шагов») ist die Zahl der auszuführenden Schritte. Die Schaltfläche „Starten“ («Запустить») sendet diese beiden Werte an die Platine und startet den Motor in dem Modus, der im Speicher des Nano hinterlegt ist: beim Rührwerk ist das Drehen, bei der Pumpe Abfüllen mit der angegebenen Schrittzahl. Bei einer Pumpe ist es einfacher, die Schrittzahl aus dem Volumen zu berechnen: Multiplizieren Sie die benötigten Milliliter mit „Schritte/ml“ («Шагов/мл») aus den Nano-Einstellungen. „Stopp“ («Стоп») hält den Motor an. Der Start ist nicht möglich, wenn die Pumpe nicht kalibriert ist („Schritte/ml“ ist null) oder Samovar gerade den Modus wechselt – dann wird eine Fehlermeldung angezeigt.
Relais. Hat die Platine Relaisunterstützung gemeldet, wird die Schaltfläche „Relais 1 einschalten“ («Включить реле 1») / „Relais 1 ausschalten“ («Выключить реле 1») angezeigt – sie schaltet das erste Relais der Platine (im Bier-Modus ist das die Würzepumpe). Die Relais 2–4 lassen sich von dieser Seite nicht schalten, nur aus Lua.
Kalibrierung der externen Pumpe. Die Schaltfläche gibt es nur für Pumpenplatinen, die Abfüllen unterstützen. Sie öffnet die Kalibrierseite für die gewählte Platine: Stellen Sie einen Messbehälter bereit, stellen Sie die Motorgeschwindigkeit ein und drücken Sie „Kalibrierung starten“ («Начать калибровку») – die Pumpe beginnt zu fördern. Sobald genau 100 ml aufgefangen sind, drücken Sie „100 ml festhalten“ («Зафиксировать 100 мл»): Samovar berechnet „Schritte/ml“ und schreibt den Wert in den Speicher des Nano. Wiederholen Sie die Kalibrierung nach einer Änderung der Mikroschritte des Treibers, des Motors, des Pumpenkopfs oder des Schlauchs.
 
Einstellungen von Samovar
Einstellungen → I2CStepper. Die Registerkarte „Einstellungen Nano I2CStepper“ («Настройки Nano I2CStepper») zeigt die Einstellungen, die im Speicher der Platine selbst liegen. Die Schaltfläche „I2C-Geräte neu suchen“ («Пересканировать I2C-устройства») durchsucht den Bus erneut nach Platinen (zum Beispiel nach dem Anschließen einer neuen). Bei mehreren Platinen wählen Sie die gewünschte in der Liste „Gerät“. Felder:
Die Schaltfläche „In Nano speichern“ («Сохранить в Nano») schreibt die Felder in den nichtflüchtigen Speicher der Platine; sie bleiben nach einem Neustart von Samovar wie auch der Platine erhalten.
Einstellungen → Pumpe («Настройки → Насос»). Wird eine I2C-Pumpe gefunden, erscheinen auf der Registerkarte zwei Felder für die Rektifikation:
Die Geschwindigkeit in Litern pro Stunde wird für diese Pumpe über „Schritte/ml“ aus dem Speicher des Nano in Schritte umgerechnet; das eigene Feld „Schrittzahl der I2C-Pumpe“ («Количество шагов I2C насоса») gibt es in den Einstellungen von Samovar nicht mehr.
 
Mobile Apps und Website
Die Samovar-Apps und die Samovar-Steuerseite auf der Website samovar-tool.ru erhalten alle fünf Sekunden die Liste der Platinen und ihren Zustand (Verfügbarkeit, Modus, Geschwindigkeit, Restmenge, Relaismaske) und ermöglichen es, eine Platine zu starten und zu stoppen und die Relais zu schalten. Die Nano-Einstellungen und die Kalibrierung sind über die Apps nicht verfügbar – nur über die Weboberfläche von Samovar. Wird ein Befehl abgelehnt, kommt der Grund in den Meldungen von Samovar in der Form „Blynk V37 a=N: Code“ («Blynk V37 a=N: код») an.
 
Schaltplan und Anschluss
Anschlussplan
Pinbelegung für den Anschluss der Peripherie:
 
// Pins für I2C Master - Anschluss des Displays und eventuell weiterer Geräte
// SDA_PIN 0 //A0
// SCL_PIN 2 //D2
 
// Pins für I2C Slave - Verbindung mit Samovar
// SDA_PIN A4
// SCL_PIN A5
 
// Pins für den Schrittmotor
#define STEPPER_STEP 3
#define STEPPER_DIR 4
#define STEPPER_EN 5
 
//Pins für die Relais
#define MIXER_PUMP_PIN 13 // RELE_PIN1
#define RELE_PIN2 10      // RELE_PIN2
#define RELE_PIN3 11      // RELE_PIN3
#define RELE_PIN4 12      // RELE_PIN4
 
// Pins für den Drehgeber
#define ENC_CLK 7 //S2
#define ENC_DT 8  //S1
#define ENC_SW 9  //KEY
 
Tipp.
Wenn Sie den Erweiterungsbaustein als eigenes Gerät in einem eigenen Gehäuse nutzen wollen, ist es sinnvoll, ihn mit einem USB-A-B-Kabel (Computer - Drucker) an Samovar anzuschließen. Die Modulversorgung (+/- 5 Volt) und die beiden Signale des I2C-Busses werden direkt am Display von Samovar abgegriffen. Am Gehäuse von Samovar wird eine USB-B-Buchse eingebaut.
  Am Gehäuse des Erweiterungsbausteins wird eine USB-A-Buchse eingebaut.
So erhält der Arduino Nano beim Anschluss an Samovar gleichzeitig Versorgung und I2C-Bus. Beim Einsatz als eigenständiges Gerät wird statt Samovar ein separates Netzteil verwendet, zum Beispiel ein Handy-Ladegerät.
Bei einem eingebauten Netzteil wird an dessen Ausgang eine USB-B-Buchse gesetzt, und die Versorgung erfolgt über dasselbe USB-A-B-Kabel; so ist ausgeschlossen, dass versehentlich +5 Volt in Samovar eingespeist werden
.
 
Peripherie.
 
Der Relaisblock wird mit 5 Volt betrieben, vorzugsweise mit Optokoppler-Ansteuerung. Sie können auch 12-Volt-Relais verwenden, verdrahtet wie bei Samovar.
 
Es kann jede Pumpe verwendet werden: mit Gleichstrommotor oder mit Wechselstrommotor, ein- oder dreiphasig. Der Pumpenmotor wird über ein Relais und dann über einen beliebigen Leistungsschalter gestartet und gestoppt: ein Schütz oder ein Halbleiterrelais. Für kleine Mengen kommt die Magnetkupplungspumpe 15RM in Frage. Edelstahl, leise, mit guter Förderleistung.
 
Für das Rührwerk oder die NBK kann jeder bipolare Schrittmotor verwendet werden, sofern Leistung und Drehmoment ausreichen. Empfohlen wird ein Nema 23 mit passendem Treiber.
 
Den aktuellen Sketch für den Arduino Nano, der den Schrittmotor und die vier Relais steuert, können Sie  über diesen Link herunterladen. Sie brauchen die Version mit Protokoll v3; beim Wechsel von Protokoll v2 wird der Speicher der Platine neu initialisiert – prüfen Sie Adresse, Modus und „Schritte/ml“ erneut. Hauptzweck ist der Einsatz zusammen mit Samovar als Erweiterungsmodul. Verwenden Sie unbedingt die mit Samovar gelieferten Bibliotheken.
 
Steuerung aus Lua
Die Funktionen stehen zur Verfügung, wenn die Firmware mit Lua gebaut ist (siehe Über die Skriptsprache Lua). Die Rührwerksfunktionen arbeiten mit dem Arbeitsrührwerk, die Pumpenfunktionen mit der Arbeitspumpe (die Platinen mit der niedrigsten Adresse, siehe oben). Alle Startfunktionen geben 1 zurück, wenn die Platine den Befehl angenommen hat, und 0, wenn nicht – auch dann, wenn die benötigte Platine nicht am Bus ist.
Achtung. Die Relais werden vom Arbeitsrührwerk bedient, wenn es Relaisunterstützung gemeldet hat, sonst von der Arbeitspumpe. Funktionen, die den Zustand ändern, werden im Lua-Simulationsmodus und während Samovar den Modus wechselt nicht ausgeführt.
Beispiel: set_stepper_by_time(800, 0, 0) – Rührwerk ununterbrochen mit 800 Schritten pro Sekunde drehen; set_stepper_by_time(0, 0, 0) – es stoppen. i2cpump_start(6, 250) – 250 ml mit 6 l/h fördern; solange i2cpump_get_running() == 1 ist, läuft die Pumpe.