Inhoudsopgave:

Digistump en Modbus RTU: 6 stappen
Digistump en Modbus RTU: 6 stappen

Video: Digistump en Modbus RTU: 6 stappen

Video: Digistump en Modbus RTU: 6 stappen
Video: Modbus RTU: подключение контроллеров к SCADA TRACE MODE 6 2024, Juli-
Anonim
Digistump en Modbus RTU
Digistump en Modbus RTU

Degenen die mijn instructie over communicatie tussen Modbus RTU en een Raspberry Pi hebben gezien, weten dat ik een project plant voor het automatiseren van een kas. Ik heb 2 kleine printjes gemaakt die in een projectbox kunnen. De link naar de PCB's zal ik later toevoegen omdat ik ze nog niet ontvangen heb en ik ze nog moet testen.

Als vervanging voor de arduino uno zal ik een digistump gebruiken. Dit is een heel klein op ATTINY85 gebaseerd bord. Omdat de ATTINY85 geen hardware serieel heeft, heb ik software serieel gebruikt om seriële communicatie te laten werken. Omdat de meeste van mijn aangesloten apparaten (pompen, magneetventielen, …) op 24V werken, zal ik een omvormer op de print plaatsen. Je kunt ook 12V gebruiken, wat waarschijnlijk een betere keuze is.

Benodigdheden

Hardware:

  • Digistump of van digistump afgeleid bord
  • Sommige PCB's of mijn aangepaste PCB's
  • klemmenblokken
  • RS485-uitbraak
  • LDR of andere sensor (optioneel)
  • 10kOhm weerstand
  • DC-converter (aanbevolen)
  • Pin-headers

Bibliotheken:

  • Softwareserie
  • Modbus

Stap 1: De bibliotheken installeren

Tijdens het testen van de digistump kwam ik wat problemen tegen. Eerst wist ik niet dat het bord geen hardware serieel had. Ik had al software serial geïnstalleerd, dus ik heb dit eens geprobeerd. In het begin werkte dit niet en na het zoeken op het net ontdekte ik dat mijn versie van software serial de 16.5 mhz digistump niet ondersteunde. In dit geval kunt u de bibliotheek overschrijven in de map C:\Users\uwgebruiker\Documents\Arduino\libraries\SoftwareSerial-master

  • Download de softwareseriebibliotheek als zip
  • Download de modbus-bibliotheek als zip
  • Voeg de bibliotheek toe via schets, gebruik bibliotheek, voeg ZIP-bibliotheek toe

Stap 2: Het stuurprogramma installeren

Het stuurprogramma installeren
Het stuurprogramma installeren

Om het digistump-bord te gebruiken, moet u eerst de stuurprogramma's installeren.

  • Download de stuurprogramma's
  • Installeer de juiste versie van het stuurprogramma op uw computer
  • Apparaatbeheer openen
  • Bekijken
  • Verborgen apparaten weergeven
  • Als u uw digistump aansluit ziet u het apparaat (afbeelding)

Stap 3: Het bord toevoegen aan de Arduino IDE

Het bord toevoegen aan de Arduino IDE
Het bord toevoegen aan de Arduino IDE

In de laatste stap heb je de drivers geïnstalleerd om de digistump te gebruiken. Nu moet je het bord nog toevoegen aan de arduino IDE.

  • Ga naar bestand, voorkeuren
  • Daar kun je een link toevoegen in het invoerveld naast de extra URL's van de forumbeheerder
  • Voeg deze link toe
  • Klik OK
  • Ga naar tools, board, boards manager
  • Selecteer het type bijgedragen
  • Zoek digistump
  • Installeer digistump avr-borden

Na het installeren ziet u het bord onder tools, bord.

Stap 4: Programmeren van de Digistump

De bijgevoegde code maakt gebruik van enkele registers die kunnen worden geschreven of gelezen. In deze code gebruik ik de arduino om de analoge waarde van een LDR te lezen en de waarde naar een van de registers te schrijven. In de toekomst ben ik van plan om de code universeel te maken voor het gebruik van verschillende sensortypes en misschien zelfs om het standaard Modbus-adres te wijzigen.

  • Download de code
  • Koppel het digistump-bord los van de USB.
  • Selecteer het Digispark standaard 16.5 Mhz-bord onder tools, board
  • Druk op de uploadknop
  • Wacht tot je het bericht 'plug in device now' ziet
  • Sluit de USB-kabel aan

Stap 5: Bedrading van de Digistump

Bedrading van de Digistump
Bedrading van de Digistump

In het schema kun je zien hoe de digistump moet worden aangesloten. In de toekomst kun je ook mijn PCB gebruiken.

Stap 6: Wijzig of lees de registers met Python

U kunt de bijgevoegde Python-code gebruiken om de registers te lezen en te schrijven. Kijk naar mijn andere instructable als je het op een Raspberry Pi wilt uitvoeren

Aanbevolen: