Inhaltsverzeichnis:
- Lieferungen
- Schritt 1: Installieren der Bibliotheken
- Schritt 2: Installieren des Treibers
- Schritt 3: Hinzufügen des Boards zur Arduino-IDE
- Schritt 4: Programmieren des Digistump
- Schritt 5: Verdrahtung des Digistump
- Schritt 6: Ändern oder lesen Sie die Register mit Python
Video: Digistump und Modbus RTU - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:16
Diejenigen, die meine Anleitung zur Kommunikation zwischen Modbus RTU und einem Raspberry Pi gesehen haben, wissen, dass ich ein Projekt zur Automatisierung eines Gewächshauses plane. Ich habe 2 kleine PCBs gemacht, die in eine Projektbox gesteckt werden können. Den Link zu den Platinen werde ich später einfügen, da ich sie noch nicht erhalten habe und sie noch testen muss.
Als Ersatz für das Arduino Uno werde ich einen Digistump verwenden. Dies ist ein sehr kleines ATTINY85-basiertes Board. Da der ATTINY85 keine serielle Hardware hat, habe ich Software Serial verwendet, um die serielle Kommunikation zu ermöglichen. Da die meisten meiner angeschlossenen Geräte (Pumpen, Magnetventile, …) mit 24V arbeiten, werde ich einen Konverter auf die Platine einbauen. Sie können auch 12V verwenden, was wahrscheinlich die bessere Wahl ist.
Lieferungen
Hardware:
- Digistump oder von Digistump abgeleitetes Board
- Einige PCB oder meine benutzerdefinierte PCB
- Klemmenblöcke
- RS485-Ausbruch
- LDR oder anderer Sensor (optional)
- 10kOhm Widerstand
- DC-Wandler (empfohlen)
- Stiftleisten
Bibliotheken:
- Softwareserien
- Modbus
Schritt 1: Installieren der Bibliotheken
Beim Testen des Digistumps bin ich auf einige Probleme gestoßen. Zuerst wusste ich nicht, dass das Board keine Hardware-Seriennummer hat. Ich hatte bereits die serielle Software installiert, also habe ich dies ausprobiert. Zuerst funktionierte dies nicht und nach der Suche im Netz stellte ich fest, dass meine Version der Software Serial den 16,5-MHz-Digitump nicht unterstützte. In diesem Fall können Sie die Bibliothek im Ordner C:\Users\youruser\Documents\Arduino\libraries\SoftwareSerial-master. überschreiben
- Laden Sie die Softwareserienbibliothek als Zip herunter
- Laden Sie die Modbus-Bibliothek als Zip herunter
- Fügen Sie die Bibliothek per Skizze hinzu, verwenden Sie die Bibliothek, fügen Sie die ZIP-Bibliothek hinzu
Schritt 2: Installieren des Treibers
Um das Digitump-Board verwenden zu können, müssen Sie zuerst die Treiber installieren.
- Laden Sie die Treiber herunter
- Installieren Sie die richtige Version des Treibers auf Ihrem Computer
- Gerätemanager öffnen
- Ansicht nehmen
- Versteckte Geräte anzeigen
- Wenn Sie Ihren Digistump anschließen, sehen Sie das Gerät (Bild)
Schritt 3: Hinzufügen des Boards zur Arduino-IDE
Im letzten Schritt haben Sie die Treiber installiert, um den Digistump zu verwenden. Jetzt müssen Sie das Board noch zur Arduino-IDE hinzufügen.
- Gehe zu Datei, Einstellungen
- Dort kannst du einen Link in das Eingabefeld neben den zusätzlichen Board-Manager-URLs einfügen
- Fügen Sie diesen Link hinzu
- OK klicken
- Gehe zu Tools, Board, Board-Manager
- Wählen Sie den Beitragstyp aus
- Suche nach digistump
- Digistump-Avr-Boards installieren
Nach der Installation sehen Sie das Board unter Tools, Board.
Schritt 4: Programmieren des Digistump
Der angehängte Code verwendet einige Register, die geschrieben oder gelesen werden können. In diesem Code verwende ich das Arduino, um den Analogwert eines LDR zu lesen und den Wert in eines der Register zu schreiben. In Zukunft plane ich, den Code universell für die Verwendung verschiedener Sensortypen zu machen und vielleicht sogar die Standard-Modbus-Adresse zu ändern.
- Laden Sie den Code herunter
- Trennen Sie die Digistump-Platine vom USB.
- Wählen Sie das Digispark-Standard 16,5 Mhz-Board unter Tools, Board
- Drücken Sie den Upload-Button
- Warten Sie, bis Sie die Nachricht Gerät jetzt einstecken sehen
- Stecken Sie das USB-Kabel ein
Schritt 5: Verdrahtung des Digistump
Im Schaltplan sehen Sie, wie Sie den Digistump verdrahten. In Zukunft können Sie auch meine Platine verwenden.
Schritt 6: Ändern oder lesen Sie die Register mit Python
Sie können den angehängten Python-Code verwenden, um die Register zu lesen und zu schreiben. Schauen Sie sich mein anderes anweisbares an, wenn Sie es auf einem Raspberry Pi ausführen möchten