ModBus Stappenmotor Sturing

Alleen berichten met de trefwoorden “digitale voeding” worden getoond. Alle berichten tonen

Ben met de voorbereidingen van dit project bezig: Tuin automation welke software voor modbus aansturing. (GOT)

En wil nu stappenmotor sturing onderdelen bestellen om mee te gaan testen, daar dat het moeilijkste gedeelte is van het project.

Nu wil stappenmotor gestuurde slangen pompen gebruiken om verschillende voedingen te doseren en aan te sturen via waarschijnlijk openHAB of IP-Symcon, mijn vraag is wat is de beste manier om die 8 stappenmotoren aan te sturen, rekening houdend dat ze door de automation software aangestuurd moeten worden.
Dit soort pompen:
https://tweakers.net/ext/f/bgyPFrfeWhpGbOaSKKOWMZAX/medium.jpg

Voor zover heb ik 3 betaalbare oplossingen gevonden.

1 - Voor aansturing van de stappenmotoren zat ik te denken aan een van deze stappen controllers, controller-1 en controller-2. (beide ongeveer € 23)

https://ae01.alicdn.com/kf/HTB1XquAesnI8KJjSspeq6AwIpXaG/Stepper-Motor-Controller-Pulse-Generator-Servo-Potentiometer-Speed-Modular-Single-Axis-Modbus-RS-485.jpg_120x120.jpg https://ae01.alicdn.com/kf/HTB1t70.NVXXXXc2XFXXq6xXFXXX5/TB6600-stepper-motor-control-drive-integrated-module-MODBUS-485.jpg_120x120.jpg

2 - Een misschien goedkoper en makkelijkere alternatief is een 16p digitaal uit module en een puls gestuurde stappen motor module, als dit ook werkt. (€22 en €6 stuk)

https://ae01.alicdn.com/kf/HTB1InsgRpXXXXb6aFXXq6xXFXXXP/Digital-output-module-switch-module-isolated-16-roads-DO-RS485-MODBUS-communication.jpg_220x220.jpg https://ae01.alicdn.com/kf/HTB1rWLZfNPI8KJjSspfq6ACFXXam/CNIM-Hot-CNC-Single-Axis-4A-TB6600-2-4-Phase-Hybrid-Stepper-Motor-Drivers-Controller-New.jpg_220x220.jpg

3 - Het gebruik van de GPIO aansluiting op R-Pi of Odroid C2 om de puls gestuurde stappenmotor van optie 2 aan te sturen.

Wat is de beste aansturing van deze stappenmotoren?

Zelf nijg ik in eerste instantie naar optie 2 daar ik maar een draairichting heb en alleen de draaisnelheid wil kunnen aanpassen, en dat zou makkelijk via een script aan te passen moeten zijn door de pauzes van de pulsen aan te passen.

Weet alleen niet of die modbus digitale uit module daar snel genoeg voor is, in dat geval is misschien rechtstreekse sturing via GPIO een betere oplossing. (of via een digital out Pi-Head?)

Daar ik voor de waterpomp uitkom op 1500 pulsen/sec, de andere pompen zit op ongeveer 50~250 pulzen/sec
[small]Stappenmotor hoek 1.8o, 360/1.8 = 200, draaisnelheid 450rpm, 200 x 450 = 90.000 / 60 = 1500 stappen/sec.[/small]

Optie 1 lijkt mij het meest complexe, daar ik denk dan veel complexere module moet aansturen, en daarnaast is het ook een veel duurdere oplossing in verhouding

Mijn vraag is nu, wat is de beste manier om deze stappenmotoren aan te sturen in de software?

Op 29 december 2017 12:24:44 schreef Lambiek:
Ten eerste welkom op het forum.

Bedankt. ^_^

Controller-1 is volgens mij alleen een modbus controller.

Die controller was ook mijn tweede keuze.

Controller-2 is een modbus controller met een stappenmotor driver, zoiets moet je dus hebben.

Dat was ook de controller die ik wou gebruiken, alleen weet ik niet of het eenvoudig te integreren is met de besturingssoftware.

Of je moet op een RPI modbus kunnen draaien, dan heb je alleen aan een stappenmotor driver genoeg. Maar ik weet niet of dat kan.

RS485/ModBus is eenvoudig via een USB stick toe te voegen op een R-Pi, maar op de forums van de software die ik heb gelezen in de voorbereiding van dit project lees ik weinig, of beter gezegd niks over modbus stappen aansturing, het wiel opnieuw uitvinden is niet mijn eerste keuze. ;-)

Ik weet alleen niet of modbus digitale uit module wel 1.5KHz schakel snelheid aan kan, de GPIO van de Pi kan iig minimaal 20KHz aan, maar persoonlijk vind ik dat een veel mindere oplossing.

Lambiek

Special Member

Op 29 december 2017 12:59:16 schreef player-x:
Ik weet alleen niet of modbus digitale uit module wel 1.5KHz schakel snelheid aan kan,..

Er staat 20KHz bij. Maar het is allemaal Chinees, dus ik durf mijn hand er niet voor in het vuur te steken. :)

de GPIO van de Pi kan iig minimaal 20KHz aan, maar persoonlijk vind ik dat een veel mindere oplossing.

Waarom, wat is daar mis mee dan?

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 29 december 2017 13:10:52 schreef Lambiek:
Er staat 20KHz bij. Maar het is allemaal Chinees, dus ik durf mijn hand er niet voor in het vuur te steken. :)

Dat is de stapper controller, die moeten dat eigenlijk allemaal wel ongeveer minimaal kunnen halen.

Ik heb het over die 16p digitale uit module, kan die wel zelf wel zo snel schakelen, de modbus bus moet dat wel halen die kan 1~10mbit aan data doorvoeren.

Waarom, wat is daar mis mee dan?

Dan ben ik gebonden aan waar de Pi staat en de stappenmotoren, als het moet kan het maar bij voorkeur niet.

Lambiek

Special Member

Op 29 december 2017 13:31:29 schreef player-x:
Ik heb het over die 16p digitale uit module,...

Oké, ik dacht dat je het over de stappenmotor driver had. :)

...kan die wel zelf wel zo snel schakelen, de modbus bus moet dat wel halen die kan 1~10mbit aan data doorvoeren.

Waarom neem je de combinatie van de modbus en de driver dan niet? Als je de I/O module neemt moet je nog een stappenmotor driver hebben ook. Of je moet nog meer aan willen sturen dan alleen de pompjes?

Dan ben ik gebonden aan waar de Pi staat en de stappenmotoren, als het moet kan het maar bij voorkeur niet.

Ja, daar heb je gelijk in. Had ik even niet aan gedacht.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 29 december 2017 14:26:25 schreef Lambiek:
Waarom neem je de combinatie van de modbus en de driver dan niet? Als je de I/O module neemt moet je nog een stappenmotor driver hebben ook.

Verschillende redenen.

  • Ik denk, maar kan het verkeerd hebben, dat een simpele puls op een I/O module naar een poort makkelijker te programmeren is dan dan een stappenmotor module in de aansturingssoftware.
  • 1 modbus module ipv 8, weer wat minder dingen die fout kunnen gaan, zowel in software als de mechanisch aansluiting.
  • Goedkoper, 8 modbus stappen controller modules is €185, 1 modbus I/O module plus stapper modules 22 + (8 x 6) = €54, scheelt €130, daar moet ik een dag voor werken. ;-)

Of je moet nog meer aan willen sturen dan alleen de pompjes?

Ja veel meer, alles via modbus, hier is de post die op forum van Tweakers had geplaatst over wat mijn bedoeling is met dit:

Tuin automation welke software voor modbus aansturing.

Hoi woon in Bergen Noorwegen, en hoewel het een leuk en mooi land is, is vooral een ding hier erg duur en dat is eten, dingen als bv 1KG oude kaas 30 euro (import), maar ook bepaalde groente en verse kruiden zijn behoorlijk aan de prijs, maar een moot (Noorse) zalm bv is wel weer goed te betalen, net als bv kleding en elektronica.

Nou hebben we een redelijk grote kas/serre aan ons huis gebouwd waar we verschillende groentes en verse kruiden groeien, en hoewel we beide vaak van huis zijn, ik offshore, en mijn vriendin regelmatig een paar dagen tot een week in Oslo moet zijn voor haar werk, worden dan de planten verzorgd door haar moeder, maar die raakt steeds slechter te been en kan het binnen 6~12 maanden niet meer doen.

Dus zat ik te denken om het een en ander te automatiseren, en waar ik op uit kwam was eigenlijk MODBUS modules als de meest flexibele oplossing, heb zo een beetje alle hardware gevonden die ik daar voor nodig heb maar weet niet welke software de beste oplossing is om alles aan te sturen, zat te denken aan bv Domoticz of een SCADA oplossing, of misschien is iets anders beter.

Hier onder een beschrijving van de verschillende hardware die ik wil gebruiken, en hoe.

1 - Als aansturing zat ik te denken aan een ASRock J3455M, prima bordje voor het doel samen met een of meerdere RS485/Modbus kaartje(s).

Na de adviezen in de reacties hier ben ik over gestapt op een ODROID-C2 als platform.

2 - Voor de grondvochtigheidsmeeting wou ik een aantal van deze sensoren gebruiken.

De sensor: Modbus RS485 soil moisture sensor

https://tweakers.net/ext/f/NorsRdOhzWtSEZ0LFULfEf8C/medium.jpg

3 - Voor het water en voeding geven wou ik een grote peristaltisch pomp voor water en verschillende kleine peristaltisch pompen met stappen motoren gebruiken om pressies de juiste voeding te geven

De grote peristaltisch pomp zorgt voor een constante water toevoer 0.5L/min, met de kleine pompjes kan de verschillende voedingen aan het water worden toe gevoegd 0.1~10ml/min, en worden samen gevoegd in een injector manifold.

https://tweakers.net/ext/f/O0RYTdJKtnsG0RqnGubnAp9D/medium.jpg https://tweakers.net/ext/f/bgyPFrfeWhpGbOaSKKOWMZAX/medium.jpg

4a - Voor aansturing van de stappenmotoren zat ik te denken aan een van deze stappen controllers, controller-1 en controller-2.

https://ae01.alicdn.com/kf/HTB1XquAesnI8KJjSspeq6AwIpXaG/Stepper-Motor-Controller-Pulse-Generator-Servo-Potentiometer-Speed-Modular-Single-Axis-Modbus-RS-485.jpg_120x120.jpg https://ae01.alicdn.com/kf/HTB1t70.NVXXXXc2XFXXq6xXFXXX5/TB6600-stepper-motor-control-drive-integrated-module-MODBUS-485.jpg_120x120.jpg

4b - Een misschien goedkoper en makkelijkere alternatief is een 16p digitaal uit module en een puls gestuurde stappen motor module, als dit ook werkt.

https://ae01.alicdn.com/kf/HTB1InsgRpXXXXb6aFXXq6xXFXXXP/Digital-output-module-switch-module-isolated-16-roads-DO-RS485-MODBUS-communication.jpg_220x220.jpg https://ae01.alicdn.com/kf/HTB1rWLZfNPI8KJjSspfq6ACFXXam/CNIM-Hot-CNC-Single-Axis-4A-TB6600-2-4-Phase-Hybrid-Stepper-Motor-Drivers-Controller-New.jpg_220x220.jpg

4c - Het gebruik van de GPIO aansluiting op R-Pi of Odroid C2 om de puls gestuurde stappenmotor van 4b aan te sturen.

5 - Voor het openen van de water toevoer bij de verschillende planten wou ik deze klepjes gebruiken, aangestuurd door deze meerdere 8 relais module.

https://ae01.alicdn.com/kf/HTB1aDkSHVXXXXbUXFXXq6xXFXXXR/Free-Shipping-140PCS-LOT-1-8-Plastic-Solenoid-Valve-2P025-06.jpg_220x220.jpg https://ae01.alicdn.com/kf/HTB1H5JPRXXXXXasapXXq6xXFXXXj/8RO-Module-8-Channel-Relay-Output-Isolated-RS485-Modbus-RTU-Communication.jpg_220x220.jpg

6 - We hebben op het moment maar 6~7 uurtjes licht, dus een 3 in 1 licht/temp/lucht vochtigheidssensor is denk ik ook wel handig om wat LED verlichting aan te sturen.

En een 10 poort 0~10V/20mA analoog uitgangsmodule om verschillende verlichting/ventilatie aan te sturen aan de hand van de licht sensor en temp/vochtigheidssensor.

https://ae02.alicdn.com/kf/HTB1xGLRRXXXXXX.apXXq6xXFXXXE/Free-shipping-0-65535lux-3in1-light-intensity-sensor-RS485-modbus-protocol-Temperature-and-humidity-Transmitter-sensor.jpg_120x120.jpg https://ae04.alicdn.com/kf/HTB1d3EARpXXXXXeaFXXq6xXFXXXB/10-analog-output-5V-10V-20mA-Modbus-RTU.jpg_120x120.jpg

Wat moet de software kunnen doen?

Vooral wat de de dosering moet doen is redelijk uitgebreid, aan de hand van de bodem sensor moet hij water/voeding geven, maar planten hebben ook een ontkiem, groei, bloei en vrucht fase, en gedurende die verschillende fases moet er steeds verschillende hoeveelheden van de verschillende voeding stoffen gegeven worden.

Wat doen we nu, we hebben verschillende voedingsschema's voor de verschillende planten en kruiden, en mengen de de voedingsstoffen nu met een maatglas in een maatbeker aan de hand daar van, lijkt en is ook veel werk in het begin, maar als je eenmaal een goede stappen plan en uitvoering hebt valt het wel mee.

Nu is de vraag, is dit zelfde moet dus ook per dag/week in de software in te voeren en uitgevoerd worden, is dit op een redelijke manier doen, en weet iemand welke software daar het meest geschikt voor is, vind het eventueel niet erg om voor een licentie te betalen, maar nog steeds als echte Hollander, mits net zo goed, gratis is altijd beter. :+

Op 29 december 2017 15:17:48 schreef Lambiek:
Dat wordt nog een heel project zo alles bij elkaar.

Jep, maar het eerste gedeelte is de voedingspompen aan het werken te krijgen, dat zie ik als het moeilijkste gedeelte, eerst voor een plant, dan voor planten groepen, daarna voedingsschema's via Exel of zo kunnen gebruiken, wanneer ik de sensor ga gebruiken weet ik nog niet, misschien van af het begin misschien later, maar het doel is stapje voor stapje veder te gaan tot alles werkt.

Heb je al eens aan een PLC gedacht? Of heb je daar geen ervaring mee?

Aan gedacht wel, maar geeft me minder vrijheid denk ik dan een Pi en openHAB combinatie.

Zelf doe ik veel met Profilab-expert 4.0 in combinatie met microcontrollers.

Denk niet dat ik daar echt mee uit de voeten kan komen, vooral de voedingsschema's zijn denk ik een probleem.

Maar mijn originele vraag staat nog steeds, wil optie 2 of eventueel 3 werken voor mijn doel, of moet ik toch voor de alles in een controller gaan.

Lambiek

Special Member

Op 29 december 2017 18:17:57 schreef player-x:
[...]
Denk niet dat ik daar echt mee uit de voeten kan komen, vooral de voedingsschema's zijn denk ik een probleem.

Dat moet je niet zeggen, er kan heel veel met Profilab.

Maar mijn originele vraag staat nog steeds, wil optie 2 of eventueel 3 werken voor mijn doel, of moet ik toch voor de alles in een controller gaan.

Ik ken dat Chinese spul niet "qua modbus" dus daar kan ik je niet in adviseren, die drivers ken ik wel en die zijn goed.

Verder ga ik eigenlijk met mijn voorganger mee, ik zou het ook via een microcontroller doen. Persoonlijk zou ik voor een controller gaan en Profilab, in Profilab zou ik de commando's geven en de controller zou ik het af laten werken. Maar dat kan ook met een RPI natuurlijk.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 29 december 2017 19:00:54 schreef coldrestart:
Welkom bij Circuits online.

Tnx :-)

Die chinese controller via modbus, zou ik niet doen. Mijn ervaring met die zaken is dat qua software support chinese zaken alles de wensen over laten. Er is bijna nooit goede documentatie voor handen.

Dat is ook een van de redenen dat ik de 16p Digitale Uit module wil gebruiken, daar die redelijk simpel is, in tegenstelling van een complete modbus stappenmotor module, lijkt mij dat daar minder mis mee kan gaan qua aansturing.

Ik weet niet wat je programmeer skills zijn en welke talen je graag gebruikt.

Redelijk beperkt, een beetje Java en php, het eerste werk wordt door een kennis van mij gedaan, als dingen draaien zijn kan ik het zelf het meeste wel aanpassen.

Ik zou low level alles via een microcontroller doen.
Elke module op je modbus netwerk en je stuurlogica op je raspberry pi.

Hier heb ik geen ervaring mee, en zou daar echt iemands hulp bij nodig hebben, maar om iemand te vinden die daar echt bij wil helpen zal best lastig zijn.

Dus, voor de aansturing van de stappenmotoren, goedkope chinese drivers.
Voor de sturing van de stappenmotoren, een chinese arduino waar de logica inzit voor het aansturen van de stappenmotoren en de modbus communicatie.
Voor €3 heb je een arduino uno, koop maar eens een losse microcontroller..
Convertors van rs232 naar rs485 kan je ook wel gemakkelijk vinden.

Het is de goedkoopste oplossing denk ik, maar ik zou niet weten hoe ik dat voor elkaar krijg, mijn kennis is een programmeur maar speelt niet met dergelijke dingen.

Wat een volledig zelfgebouwde controller wel heeft, het ziet er mooi uit en je leert er meer van, dan modules aaneen te knopen, maar bon het is 2017 hé.

Losse modules via RTU leek mij op het eerste gezicht het makkelijste.

Wil je eigenlijk alles via modbus RTU aansturen of modbus TCP?

Ik zat te denken aan RTU, maar wat ik gelezen heb zijn de verschillen niet groot, het is alleen een andere manier van aansluiten, dus TCP kan ook of een combinatie er van.

Welke taal wil je op je raspberry gaan gebruiken?
Hoe ga je je GUI maken?

Tot nu toe denk ik dat ik openHAB of IP-Symcon wil gebruiken en die gebruiken Java en de ander php.

Lambiek

Special Member

Je zou zoiets kunnen maken.

Als master kun je bijv. een PC, Raspberry, of een controller nemen. Als slaves zou je bijv. Arduinos kunnen nemen, of een ander type controller.

Je verstuurd eerst het slave adres, en daarna bijv. de waarde 10. Die 10 staat dan bijv. voor 10mL aan voeding voor de planten. Zo kun je ook eventuele verwarming regelen, verlichting, en het sproeien/water geven van de planten.

Dan heb je al die andere componenten niet nodig, je hebt wel de spapenmotordrivers nodig, maar daar zou je bijv. de DRV8825 voor kunnen nemen. Die is zwaar genoeg voor die kleine stappenmotor pompjes.

http://www.google.nl/url?sa=t&rct=j&q=&esrc=s&source=w…

Als je haar maar goed zit, GROETEN LAMBIEK.
Lambiek

Special Member

Op 29 december 2017 18:17:57 schreef player-x:
Denk niet dat ik daar echt mee uit de voeten kan komen, vooral de voedingsschema's zijn denk ik een probleem.

Ik wil je niets opdringen natuurlijk, maar heb even een voorbeeld gemaakt voor je in Profilab, dan kun je zien wat er allemaal mogelijk is.

Dit is het programma in Profilab, heb het als voorbeeld heel simpel gehouden.

VOORBEELD - PROFILAB - PLAYER-X.docx

In de week klok kun je de tijden zetten wanneer je bepaalde dingen wil starten, bijv. bemesten of sproeien. Eerst wordt het adres verzonden, en daarna de waarde voor bijv. de doseerpompen. Als het proces opstart dan wordt er een Email verzonden naar bijv. jou telefoon, als het proces klaar is krijg je weer een Email. Zo kun je op afstand zien dat het bemesten en sproeien gebeurt is, je kan het ook in Excel laten zetten, of naar Word sturen op je pc.Iedere actie kan ook met de hand uitgevoerd worden.

Hier de frontplaat.

VOORBEELD - FRONTPLAAT - PLAYER-X.docx

Als bijv. bemesten gestart wordt door de klok, dan gaat het lampje branden bij die actie. Het lampje wordt aangezet door de controller zodat je weet dat de data aangekomen is, de controller werkt het programma verder af. Dat kan één controller zijn, maar ook meerdere met allemaal verschillende adressen.

Dit is het stukje code dat in de controller staat.

pic basic code:


Device 16F887                               ; Processor type

Xtal 10                                     ; Cristal 10Mhz

Asm                                         ; Config settings
CONFIG_REQ            
__CONFIG _CONFIG1, HS_OSC & WDT_OFF & DEBUG_OFF & FCMEN_OFF & LVP_OFF & IESO_OFF & BOR_OFF & CPD_OFF & CP_OFF & MCLRE_OFF & PWRTE_ON 
__CONFIG _CONFIG2, WRT_OFF & BOR40V 
EndAsm
   
All_Digital true                            ; Alle poorten digitaal

Declare Adin_Res = 8                        ; resolutie 8 bits
Declare Adin_Tad = frc                      ; set RC osc
Declare Adin_Stime = 50                     ; sample tijd 5

Declare LCD_RSPin PORTD.2                   ; Reset display poort D.2
Declare LCD_ENPin PORTD.3                   ; Enable display poort D.3
Declare LCD_DTPin PORTD.4                   ; Data display poort D.4 t/m D.7

Declare CCP1_Pin PORTC.2                    ; HPWM 1 op poort C.2
Declare CCP2_Pin PORTC.1                    ; HPWM 2 op poort C.1

Declare Serial_Baud 9600                    ; Baudrate 9600

Declare Rsin_Pin  PORTB.0                   ; Data in
Declare Rsout_Pin PORTB.1                   ; Data uit
                                            
Symbol LED1 = PORTC.0                       ; Uitgang poortc.0
Symbol LED2 = PORTC.1                       ; Uitgang poortc.1
Symbol LED3 = PORTC.2                       ; Uitgang poortc.2

Dim ADRES_IN As Byte                        ; Variabele adres
Dim DATA_IN As Byte                         ; Variabele data

Clear                                       ; Wis geheugen

         ;543210                            ; Hulpregel poort A
PORTA  = %000000                            ; Maak poort A laag
TRISA  = %111111                            ; Poort_A I/O

         ;543210                            ; Hulpregel poort B
PORTB  = %000000                            ; Maak poort B laag
TRISB  = %000001                            ; Poort_B I/O

         ;76543210                          ; Hulpregel poort C
PORTC  = %00000000                          ; Maak poort C laag
TRISC  = %00000000                          ; Poort_C I/O

         ;76543210                          ; Hulpregel poort D
PORTD  = %00000000                          ; Maak poort D laag
TRISD  = %00000000                          ; Poort_D I/O

         ;210                               ; Hulpregel poort E 
PORTE  = %000                               ; Maak poort E laag
TRISE  = %111                               ; Poort_E I/O

         ;76543210                          ; Hulpregel analoog
ADCON0 = %00000001                          ; ADCON0 register analoog

         ;543210                            ; Hulpregel analoog poort_B
ANSELH = %000000                            ; ANSEL register analoog poort_B

;--------------------------------------------------------
; HIER ONDER DE CODE VOOR HET SERIEEL ONTVANGEN VAN DATA.
;--------------------------------------------------------

ADRES:

    ADRES_IN = RSIn
    
    If ADRES_IN = 200 Then
     DelayMS 5
      GoSub POMP1
    EndIf
    
    If ADRES_IN = 201 Then
     DelayMS 5
      GoSub POMP2
    EndIf
    
    If ADRES_IN = 202 Then
     DelayMS 5
      GoSub POMP3
    EndIf
GoTo ADRES

POMP1:

    ADRES_IN = 0
    DelayMS 5
    DATA_IN = RSIn
    DelayMS 5
    
    RSOut 1
    DelayMS 5
    LED1 = 1
    DelayMS DATA_IN * 100
    LED1 = 0
    
    DATA_IN = 0
    DelayMS 10000
    
    If DATA_IN = 0 Then 
     LED1 = 1
      DelayMS 500
       LED1 = 0
       RSOut 0
      DelayMS 5
     Return
    EndIf
GoTo POMP1

POMP2:

    ADRES_IN = 0
    DelayMS 5
    DATA_IN = RSIn
    DelayMS 5
    
    RSOut 2
    DelayMS 5
    LED2 = 1
    DelayMS DATA_IN * 100
    LED2 = 0

    DATA_IN = 0
    DelayMS 10000
    
    If DATA_IN = 0 Then 
     LED2 = 1
      DelayMS 500
       LED2 = 0
       RSOut 0
      DelayMS 5
     Return
    EndIf
GoTo POMP2
    
POMP3:

    ADRES_IN = 0
    DelayMS 5
    DATA_IN = RSIn
    DelayMS 5
    
    RSOut 3
    LED3 = 1
    DelayMS DATA_IN * 100
    LED3 = 0

    DATA_IN = 0
    DelayMS 10000
    
    If DATA_IN = 0 Then 
     LED3 = 1
      DelayMS 500
       LED3 = 0
       RSOut 0
      DelayMS 5
     Return
    EndIf
GoTo POMP3
    
End

Dit is alleen een voorbeeld met een paar ledjes aan de uitgang, maar daar kan gewoon de code in voor het aansturen van een stappenmotor of bijv. een klep enz., enz.

Als je haar maar goed zit, GROETEN LAMBIEK.

Sorry voor het niet eerder reageren maar het was hier druk, en we hadden veel bezoek over, dus moest ik me daar mee bezig houden

Jammer dat je zo ver weg zit, zou wel een uitdaging zijn.

Ik ben regelmatig in NL, en als het doorgaat willen ze mij van werk naar NL sturen voor het helpen bij overzien en commissioning van iets dat in de buurt van Rotterdam wordt gebouwd, en denken ze denk ik dat een Nederlander een plus is, en dan zou ik als je daar in de buurt woont na werk bij je langs kunnen komen en anders in het weekend bij je langs kunnen komen.

Op 31 december 2017 17:08:06 schreef Lambiek:
Je zou zoiets kunnen maken.

Dat ziet er best goed uit, echt heel intressant.

Dan heb je al die andere componenten niet nodig, je hebt wel de spapenmotordrivers nodig, maar daar zou je bijv. de DRV8825 voor kunnen nemen. Die is zwaar genoeg voor die kleine stappenmotor pompjes.

Zou deze €5 kostende controller niet betrouwbaarder zijn, want die kan je toch ook rechtstreeks aansturen met een Adruino.

https://tweakers.net/ext/f/WSOHoCR1CRHFyfJ70BxAtMcX/full.jpg

Maar misschien denk ik dat omdat ik in de offshore werk, waar alles zwaar en stevig is, en die DVR8825 voor mijn gevoel wat klein is.;)

Op 2 januari 2018 13:01:38 schreef Lambiek:
Ik wil je niets opdringen natuurlijk, maar heb even een voorbeeld gemaakt voor je in Profilab, dan kun je zien wat er allemaal mogelijk is.

Nee hoor is niet zo ervaren, want ik vind het juist zeer interessant, alleen gaat het programmeren van een Adruino net iets boven mijn pet is, iig voor nu, daar ik dan wel erg veel nieuwe dingen zou moeten leren.

Dit is het programma in Profilab, heb het als voorbeeld heel simpel gehouden.

In de week klok kun je de tijden zetten wanneer je bepaalde dingen wil starten, bijv. bemesten of sproeien.

Het plan is die modbus bodemvochtsensors te gebruiken, en aan de hand van het vocht niveau bewateren en bemesten, aan de hand van een voedingstabel, sommige van die sensoren zitten in de zelfde type planten, en dan zouden een kopie van die de zelfde tabel kunnen gebruiken, maar ook de mogelijkheid geven om een plant die genetisch net wat anders is, de voeding van kunnen aanpassen door bv iets meer of minder water in verhouding van voeding te geven.

Dit is alleen een voorbeeld

Ziet er heel interessant uit moet ik zeggen. ^_^

En als je me er mee zou willen helpen, heel erg graag.

Lambiek

Special Member

Op 2 januari 2018 21:00:23 schreef player-x:
Ik ben regelmatig in NL, en als het doorgaat willen ze mij van werk naar NL sturen voor het helpen bij overzien en commissioning van iets dat in de buurt van Rotterdam wordt gebouwd, en denken ze denk ik dat een Nederlander een plus is, en dan zou ik als je daar in de buurt woont na werk bij je langs kunnen komen en anders in het weekend bij je langs kunnen komen.

Ik weet niet of ik daar tijd voor heb, heb het vrij druk met van alles en nog wat.

Zou deze €5 kostende controller niet betrouwbaarder zijn,..

Als je de foto's ziet bij Ali, dan heeft de driver klem gezeten zo te zien. Ik koop daar persoonlijk nooit iets.

want die kan je toch ook rechtstreeks aansturen met een Adruino.

Die kun je aan iedere controller hangen, dat maakt dus niet uit.

Maar misschien denk ik dat omdat ik in de offshore werk, waar alles zwaar en stevig is, en die DVR8825 voor mijn gevoel wat klein is.

Het ligt een beetje aan de stroom die de stappenmotoren gebruiken, maar misschien kan het wel met de DRV8825, en anders zou je het door jou gekozen type kunnen gebruiken. Het maakt eigenlijk niet zoveel uit.

Nee hoor is niet zo ervaren, want ik vind het juist zeer interessant, alleen gaat het programmeren van een Adruino net iets boven mijn pet is, iig voor nu, daar ik dan wel erg veel nieuwe dingen zou moeten leren.

Dan heb je toch een probleem, want het meeste is programmeer werk.

Het plan is die modbus bodemvochtsensors te gebruiken, en aan de hand van het vocht niveau bewateren en bemesten,...

Is dat wel nodig om die dingen te gebruiken, als je iedere dag bevloeid/sproeit en bijv. één maal per week bemest moet toch ook goed gaan?

aan de hand van een voedingstabel, sommige van die sensoren zitten in de zelfde type planten,....

Hoeveel van die dingen wil je wel niet neer gaan zetten dan?

En als je me er mee zou willen helpen, heel erg graag

Ligt er helemaal aan wat je zelf kan doen.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 4 februari 2018 14:03:18 schreef Lambiek:
Ja, dat klopt allemaal. Maar kun je ook een opdracht geven dat hij maar een X-aantal pulsen mag/moet geven in verband met het geven van een bepaalde hoeveelheid meststof? Zo niet, heb je er niets aan.

De grondsensoren bepalen of er water wordt geven of niet, en zelfs als ik niet het kaartje uit kan zetten (zie zelf ook geen stop command), kan ik wel de de voeding uitschakelen van de stappenmotoren via een relais.

Ik vraag me af waarom je het via modbus wil gaan doen, waarom niet één besturing centraal geplaatst. Wel eventueel gekoppeld aan een PC als dat nodig mocht zijn.

Wil het wel centraal dien met een R-Pi samen met waarschijnlijk openHAB, of anders Profilab of IP-Symcon, maar met modbus kan ik makkelijk relais en dergelijke over langere afstand aansturen.

Maar ik weet totaal niet hoe groot jou kas is,

De kas is redelijk groot, en is aan de zijkant van het huis gebouwd, 6x15m de plantenbakken hebben ongeveer een totaal oppervlakte van +50M2.

en hoeveel verschillende soorten meststof je gebruikt of gaat gebruiken.

Op het moment geloof ik 7 of 8, die in verschillende combinaties worden gebruikt, maar dat zouden er ook wel 10~12 kunnen worden, zeker met automation, zoals voor groei, bloei en vrucht periode, maar ook grond verbeteraars.

Daar hangt ook heel veel van af om iets te ontwerpen wat simpel en goed voldoet. Dus schets eens iets, wat moeten we er ons bij voorstellen.

Het eerste doel is om gewoon de voedingscomputer aan de gang te krijgen, de samenwerking van de voeding en de grondsensoren is het moeilijkst.

https://tweakers.net/ext/f/InRah9AjtpQGUj7m0wgIHUyW/full.jpg

De solenoid kleppen worden waarschijnlijk van dichtbij met deze aangestuurd, anders wordt het echt een kabel chaos.

Wat ik/we er daarna bij gehangen als verlichting/verwarming en dergelijke wordt is min of meer bijzaak, die werken nu ook gewoon met schakel klokken en dergelijke, ook het dakraam wordt al aangestuurd met een 0~10v cilinder (over van werk) samen met een 0~10v thermostaat.

Of het moet zo groot zijn dat je heel Noorwegen van groente wil voorzien. :)

Nee hoor, maar die +50m2 wordt best intensief gebruikt, en daar zit toch best wel veel werk aan, zeker als je andere vraagt om het voor je bij te houden.

Lambiek

Special Member

Ik had ook nog een voorbeeld voor je gemaakt, is elkaar waarschijnlijk gekruist. :)

De grondsensoren bepalen of er water wordt geven of niet, en zelfs als ik niet het kaartje uit kan zetten (zie zelf ook geen stop command), kan ik wel de de voeding uitschakelen van de stappenmotoren via een relais.

Op deze manier kun je niet de hoeveelheid meststof bepalen, een X-aantal pulsen staat voor een bepaalde hoeveelheid meststof. Dat aantal pulsen moet in je programma opgenomen worden om de gedoseerde hoeveelheid te kunnen bepalen. Als je dat zomaar af gaat schakelen door middel van een relais wordt het niets.

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 4 februari 2018 16:12:15 schreef Lambiek:
Ik had ook nog een voorbeeld voor je gemaakt, is elkaar waarschijnlijk gekruist. :)

Jep. :+
Jouw voorbeeld werkt ook prima, maar op mijn manier gebruik je minder kleppen en leidingen.

Op deze manier kun je niet de hoeveelheid meststof bepalen, een X-aantal pulsen staat voor een bepaalde hoeveelheid meststof. Dat aantal pulsen moet in je programma opgenomen worden om de gedoseerde hoeveelheid te kunnen bepalen.

Ja hoor dat gaat prima daar de de wateraanvoer ook via een stappenmotor wordt geregeld.

Dan krijg je bv om 8 uur planten groep 1:

  • 1.0 L/min water met de grote slangenpomp voor een constante flow.
  • 1.0ml/min voeding A.
  • 0.5ml/min voeding B.
  • 2.0ml/min voeding C.
  • 0.5ml/min grondverbeteraar D.
  • 1.0ml/min grondverbeteraar E.

En de andere planten groepen krijgen hun eigen voedingsstoffen bepaald door hun schema's.

Waarna na bv 11 tot 19 uur alleen nog maar water wordt gegeven, om de grondvochtigheid op pijl te houden.

Daarna van 19 tot 8 uur wordt er geen/minimaal water gegeven om zo de wortels te laten groeien

Op 4 februari 2018 16:55:48 schreef Lambiek:
maar ik zou bijvoorbeeld liever het aantal stappen uitgeven die bij een bepaalde hoeveelheid hoort.

Doe ik nu toch eigenlijk ook, De water toevoer is een constante, de pulsgenerator daarvan hoeft in principe zelfs seriële bus niet aangesloten worden alleen ingesteld (Wordt uiteraard wel aangesloten), en hoeft alleen de voeding van de motor geschakeld te worden.

Ja kan, is maar net hoe je het opstelt.

De bedoeling is om zo min mogelijk slangen en kleppen te hebben, want elke extra verbinding is een potentiële lekkage punt, plus zorgt voor extra onnodige (en slordige uitziende) slangen, wat ik/je eigenlijk niet wil hebben, want in de kas staan ook een zit en rookhoekje en tafel, waar we lekker warm in de zon kunnen relaxen als het buiten toch nog wel koud is.

Wil bv later ook een druk sensor inbouwen zodat het systeem automatisch op lekkage getest kan worden, maar ook via een druk knop dat je kan testen na werkzaamheden of er geen lekkage in het systeem zijn, en er ook melding wordt gemaakt als er een klep mechanisch of elektronisch niet open gaat tijdens het bewateren.

Edit:
https://tweakers.net/ext/f/ZsdBrF4JVMeUAf5ePIpgbk7k/medium.jpg

Tenzij er altijd welkome opmerkingen zijn, ga ik morgen dit lijstje onderdelen bestellen, om een test opstelling te maken, en uit te testen welke software het beste werkt.

[Bericht gewijzigd door player-x op 4 februari 2018 18:20:51 (22%)

Lambiek

Special Member

Op 4 februari 2018 17:21:13 schreef player-x:
Doe ik nu toch eigenlijk ook, De water toevoer is een constante, de pulsgenerator daarvan hoeft in principe zelfs seriële bus niet aangesloten worden alleen ingesteld (Wordt uiteraard wel aangesloten), en hoeft alleen de voeding van de motor geschakeld te worden.

Stel je stappenmotor is een 200 staps type, je hebt dus 200 stappen nodig voor één omwenteling.

Voorbeeld:
Stel je pompje doet 100 milliliter per omwenteling, dat is 1 liter per tien omwentelingen. Dat wordt dus 10 X 200 = 2000 stappen, het enige wat je dus op moet geven in de software is dat je bij vraag van een sensor 2000 stappen moet genereren, meer niet. De stapfrequentie kan ook gewoon een vaste waarde hebben, hoef je maar één keer in te stellen.

Zoals jij het nu wil gaan doen moet je weten hoeveel het pompje geeft bij een bepaalde frequentie en bij een bepaalde tijd, daar wordt het niet echt simpeler van en dat is toch wat je wil, zo simpel mogelijk.

Je kunt nu net zo goed een normale elektromotor nemen die je een bepaalde tijd aanzet, heeft niets meer met doseren te maken op deze manier. Dat is juist het mooie van een stappenmotor, daar zijn die dingen voor. Dus waarom niet gebruiken waarvoor ze bedoeld zijn.

want in de kas staan ook een zit en rookhoekje en tafel, waar we lekker warm in de zon kunnen relaxen als het buiten toch nog wel koud is.

Zithoekje, relaxen, zon kan ik me wat bij voorstellen, maar roken dan weer niet. Zeker niet bij groente die je dan later weer eet. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 4 februari 2018 18:36:07 schreef Lambiek:
Stel je stappenmotor is een 200 staps type, je hebt dus 200 stappen nodig voor één omwenteling.

Voorbeeld:
Stel je pompje doet 100 milliliter per omwenteling, dat is 1 liter per tien omwentelingen. Dat wordt dus 10 X 200 = 2000 stappen, het enige wat je dus op moet geven in de software is dat je bij vraag van een sensor 2000 stappen moet genereren, meer niet. De stapfrequentie kan ook gewoon een vaste waarde hebben, hoef je maar één keer in te stellen.

Nee zo werkt het helaas niet helemaal in de praktijk, ten eerste zit er een vertraging in de pomp van ongeveer 1:14, maar dat is nog wel uit te rekenen.

Maar de verschillende voedingen hebben verschillende diktes, van water dun tot bijna schenkstroop dik, wat invloed heeft op de doorstroming, elke toevoeging moet dus een keer gemeten worden, door bv de tijd te meten dat het vullen van een maatbeker van bv 100ml kost bij een bepaalde pomp snelheid, vandaar is het heel simpel om uit te rekken om bij hoeveel Hz stappen je op de juiste ml per L zit.

Zoals jij het nu wil gaan doen moet je weten hoeveel het pompje geeft bij een bepaalde frequentie bij een bepaalde tijd, daar wordt het niet echt simpeler van en dat is toch wat je wil, zo simpel mogelijk.

Ben zeker geen programmeer expert, maar dat berekenen is toch wel simpele Algebra voor mij, waar ik best makkelijk een prima werkende formule voor kan maken.

Je kunt nu net zo goed een normale elektromotor nemen die je een bepaalde tijd aanzet, heeft niets meer met doseren te maken op deze manier.

Probleem daar mee is dat optimale voeding geen constante is, maar steeds veranderd aan de hand van de groeifase.

Hier zijn wat Nederlandse schema's van bv tomaten, paprika's en pepers, en zo als je kan zien veranderd de hoeveelheden steeds over tijd.

maar roken dan weer niet. Zeker niet bij groente die je dan later weer eet. :)

Zelf roken we thuis niet, maar er is regelmatig bezoek dat wel rookt, en er zit een afzuiger die dan aangaat, want om ze naar buiten te schoppen als het regent of sneeuw ligt en koud is (zoals nu), is ook niks, want dan lopen ze alleen maar bagger naar binnen.

Lambiek

Special Member

Op 4 februari 2018 19:16:36 schreef player-x:
Nee zo werkt het helaas niet helemaal in de praktijk, ten eerste zit er een vertraging in de pomp van ongeveer 1:14, maar dat is nog wel uit te rekenen.

Dat is eenmaal uitrekenen voor de hoeveelheid per omwenteling, maar dat moet al in de datasheet staan van die dingen.

Maar de verschillende voedingen hebben verschillende diktes, van water dun tot bijna schenkstroop dik, wat invloed heeft op de doorstroming, elke toevoeging moet dus een keer gemeten worden, door bv de tijd te meten dat het vullen van een maatbeker van bv 100ml kost bij een bepaalde pomp snelheid, vandaar is het heel simpel om uit te rekken om bij hoeveel Hz stappen je op de juiste ml per L zit.

Dat ben ik niet met je eens, 1 liter water is net zoveel als 1 liter stroop. Als de pompjes geen stappen missen doen ze bij het zelfde aantal stappen de zelfde hoeveelheid water en stroop.

Dat de ene vloeistof wat makkelijker loopt dan de andere doet niets ter zake, maar een liter is een liter daar verander je niets aan. We hebben het hier niet over het soortelijk gewicht.

Zelf roken we thuis niet, maar er is regelmatig bezoek dat wel rookt, en er zit een afzuiger die dan aangaat, want om ze naar buiten te schoppen als het regent of sneeuw ligt en koud is (zoals nu), is ook niks, want dan lopen ze alleen maar bagger naar binnen.

Ik schopte ze naar buiten. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 4 februari 2018 19:30:37 schreef Lambiek:
Dat is eenmaal uitrekenen voor de hoeveelheid per omwenteling, maar dat moet al in de datasheet staan van die dingen.

Zoals GJ_ ook zij het is afhankelijk van verschillende factoren, zoals binnen diameter van de gebruikte slangen en er is ook nog een verschil tussen slangen types.

Dat ben ik niet met je eens, 1 liter water is net zoveel als 1 liter stroop. Als de pompjes geen stappen missen doen ze bij het zelfde aantal stappen de zelfde hoeveelheid water en stroop.

Dat de ene vloeistof wat makkelijker loopt dan de andere doet niets ter zake, maar een liter is een liter daar verander je niets aan. We hebben het hier niet over het soortelijk gewicht.

Er is helaas echt wel een verschil, niet zo extreem als bv bij een centrifugaalpomp, maar er is zeker een groot genoeg verschil bij de dikkere voedingenstoffen, dat je er rekening mee moet houden

Ik schopte ze naar buiten. :)

Ik heb er niet echt een probleem mee, ze zitten niet in mijn huis, daarnaast de asbak staat op een klein muurtafeltje met een 125mm afzuiger die aan moet in de muur waar ze de rook naar kunnen blazen, of ze roken niet, maar als ze zich netjes aan die regels houden heb ik er geen of nauwelijks last van.

En als een ex roken ga ik niet zo als vele ex rokers de mierenneuker spelen over iemand die van zijn peukje wil genieten.

ps. nog op of aanmerking over het lijstje met test spullen die ik wil kopen?

Op 5 februari 2018 18:44:53 schreef Lambiek:
Ha, een echte "LOLITA" euu lollette. :) Ik ken het merk niet.

Het is een siemens clone, maar doelde meer op de 10x 100K digitale porten die hij heeft.

Volgens mij kun je die alleen met ladder programmeren, "Support step7-micro/win programming" dat moet je dus gaan leren als je er iets mee wil doen.

Ik ben begonnen met programmeren met een Sinclair ZX81, ben ik nu echt oud? :)

En heb later met PC's eigenlijk alleen scripts geschreven om dingen te automatiseren op mijn PC, als ik ergens interesse voor heb kan ik het leren, maar denk dat dit net iets te ver is qua koste (tijd) en baten.

Maar ik heb het al eerder gezegd tegen je, voor dit project heb je echt wat kennis van één of andere programmeertaal nodig. Dit is te complex om het helemaal zonder programmatie te doen, en zonder één of andere controller van welk merk of type dan ook.

Een script schrijven voor zoals ik zij bv openHAB, of anders Profilab of IP-Symcon dat gaat me wel lukken, misschien alleen wat hulp nodig hier of op het gebruikersforum van het programma dat ik ga gebruiken om de hardware aan te kunnen spreken/herkennen.

Maar ik zou zeggen ga eens een beetje experimenteren en kijk of je het één en ander voor elkaar krijgt, op die manier krijg je er ook meer zicht op. En de kosten van de getoonde spullen zijn het nu ook weer niet.

Daarom wou ik ook met die onderdelen beginnen, lijkt mij de simpelste betaalbare oplossing om mee te beginnen

En je kan hier altijd advies krijgen.

Als de spullen binnen zijn, en ik loop echt vast hoop ik daar echt op. :D

Nu ff 2 weekjes wachten op de spullen. :/

Met je setup zoals die nu is, ga je nooit een mooie verdeling krijgen in je voedingstoffen.

je injecteerd 0.5ml in een leiding...

Deel je kas op in zones, per zone een reservoir, deze kan gevuld worden door je systeem bv. Je kan er nog een mengertje inhangen :)

Je reservoir kan je dan gewoon laten uitlopen bij de plantjes.
Door alles nog es te spoelen of water in te laten, start je elke dag met een vers systeem

edit:
ga naar apotheek, vraag daar grote injectie spuiten, nu maak je een systeempje dat de spuiten vast liggen en motorisch in en uit kunnen.
Nu kan je nog beter doseren, vervangen is kinderspel, zelfs andere voeding kan je er tussen steken,
en vooral veeel beter dosseerbaar.

Ik zou ver weglopen van die slangenpompjes, ze hebben te weinig te doen om nog betrouwbaar te zijn.
Een raspberry is perfect voor dit jobke

[Bericht gewijzigd door bordje op 19 februari 2018 08:58:12 (34%)

ASPA-tech.be

Op 19 februari 2018 08:52:39 schreef bordje:
Met je setup zoals die nu is, ga je nooit een mooie verdeling krijgen in je voedingstoffen.

je injecteerd 0.5ml in een leiding...

Ja hoor dat gaat prima, er zijn genoeg mensen die slangen pompen gebruiken voor dit doel.

Ik zou ver weglopen van die slangenpompjes, ze hebben te weinig te doen om nog betrouwbaar te zijn.

Dit pompje doet met het dunste slangetje 1.6ml/min max, dus zelfs 0.1ml/min (6% van de max) moet prima mogelijk zijn.

Samen met deze pomp (1.5L/min max) die ik op 1L/min ga instellen moet het prima gaan.

Daarnaast mengt het water en voeding ook nog eens in de slang en in de grond, dus ik heb er best vertrouwen in dat dat mijn minste probleem is.

Door alles nog es te spoelen of water in te laten, start je elke dag met een vers systeem

Het water met de mest stoffen worden door een slang met een binnen diameter van 4.2mm getransporteerd, dat betekend dat je ongeveer 1L per 20m slang hebt, dat is dus 2% van wat er dagelijks aan water gebruikt wordt, dus op deze manier zit er altijd een verse mix in het systeem.

Hier een update, ben nog steeds van tijd tot tijd hard bezig met het project, en heb heb besloten om een UniPi PLC te gebruiken, samen met CODESYS software, dat ook op lichtere platformen draait zoals de Rasbery Pi, tot aan zware industriële systemen.
https://nl.wikipedia.org/wiki/CODESYS

Na het matig testen met de pulsgenerator, ben ik van plan om het over een andere boeg te gooien, en het advies van Lambiek op te volgen.

Op 31 december 2017 17:08:06 schreef Lambiek:
Als master kun je bijv. een PC, Raspberry, of een controller nemen. Als slaves zou je bijv. Arduinos kunnen nemen, of een ander type controller.

Je verstuurd eerst het slave adres, en daarna bijv. de waarde 10. Die 10 staat dan bijv. voor 10mL aan voeding voor de planten. Zo kun je ook eventuele verwarming regelen, verlichting, en het sproeien/water geven van de planten.

Ben bezig geweest met de hardware, en heb een eerste (beta) versie van een stappenmotor board ontworpen.

Ben benieuwd wat men er hier vind van mijn eerste poging.

https://tweakers.net/ext/f/b86cUpsUMlLMTBdgfggLlns8/medium.jpg

Hier onder ook de layout file.