Hallo,
Vanuit mijn siemens logo moet ik een 4-20 mA of 0-10V signaal omgezet krijgen tot PWM signaal van 500 Hz.
Dit voor pomp aansturing. Echter vind ik niet hoe dit te doen.
Hebben jullie ideeën, ervaringen. hulp is welkom !
Groeten Mathias
Toeternietoe
Dubbelgeïsoleerd
Daar waar een schakeling rookt, vloeit de meeste stroom (1e hoofdwet van Toeternietoe)
Wees eens wat duidelijker waar je tegenaan loopt.
IK neem aan dat je een module voor je pomp hebt.
Dat module PWM’t een vermogen, voor je pomp.
Dat module moet je aansturen met 4-20 mA of 0 (2) - 10 Volt???..
Hallo,
Excuses indien ik niet echt duidelijk was...
in bijlage over welke pomp het gaat.
2 aansluitingen. 1 voor vermogen ; 230V en 1 voor PWM-signaal.
ik zie niet meteen in hoe ik dit moet gaan opstarten. wil dit aansturen met mijn logo, vandaar 4-20 mA of 0-10V, maar moet naar een PWM signaal geraken
Mathias
Hoe wil je dat doen?
Dat kan vrij eenvoudig als je wat met opamps wilt/kunt klooien. En het zou me zwaar verbazen als er geen module is die je van de plank kunt trekken die dit voor je doet.
-edit-
Met opamps klooien hoeft al niet, dat heeft al iemand voor je gedaan:https://nl.aliexpress.com/item/1005006728832387.html
-edit2-
Verkeerde inderdaad:
Ze zijn er wel, maar deze PWM-en vanaf 2kHz
https://nl.aliexpress.com/item/4000315961234.html
[Bericht gewijzigd door Sine op (17%)]
Die module doet het omgekeerde. Er zal echter vast iets verkrijgbaar zijn.
Het PWM signaal heeft geen specificaties zo lijkt het, alleen een voorbeeld:
Het zou best eens kunnen dat de default PWM snelheid van een 'Duino (1 kHz?) ook werkt. Zo niet dan wordt het iets complexer, hoewel ook daar libraries voor zijn.
Ongetest iets als:
void setup() {
pinMode(A0, INPUT); // 1:2 spanningsdeler naar 0-10V.
pinMode(5, OUTPUT); // PWM output pin on Pro Micro
}
void loop() {
int analogIn = analogRead(A0);
int analogOut = analogIn / 4;
// AnalogRead = 10 bit = 1024 steps. Analog out = 8 bit = 256 steps.
analogWrite(5, analogOut);
}Of anders "mijn" klassieke PWM schakeling met een LM358, als de 4-20 mA 2 - 10V kan leveren moet dat op 12V voeding wel te dimensioneren zijn.
Maar welke kant wil TS op? Wie het zelf kan stelt meestal geen vragen.
Dat is toevallig de zelfde pomp als in dit topic:
https://www.circuitsonline.net/forum/view/171635/last
Die wil een PWM signaal hebben en geen 0-10 volt op 4-20 ma.
Misschien zo iets er tussen ( voorbeeld) ?
https://www.bol.com/nl/nl/p/otronic-voltage-naar-pwm-converter-module-…
Zoiets is een vrij simpel klusje voor een microcontroller. Heel veel microcontrollers hebben een A-D converter, en PWM uitgangen hebben ze ook bijna allemaal. Maar als je die kant op gaat, kun je net zo goed (of beter) de hele functionaliteit van die logo ook in die microcontroller stoppen.
Op vrijdag 3 april 2026 20:40:06 schreef revado:
Dat is toevallig de zelfde pomp als in dit topic:
https://www.circuitsonline.net/forum/view/171635/lastDie wil een PWM signaal hebben en geen 0-10 volt op 4-20 ma.
Misschien zo iets er tussen ( voorbeeld) ?
https://www.bol.com/nl/nl/p/otronic-voltage-naar-pwm-converter-module-…
Dag Revado, ik ben het die het andere topic heb geplaatst en het is idd dezelfde pomp. Maar deze pomp werkt niet op analoge signalen enkel met PWM sturing.
Maar ik ben wel geïnteresseerd in de oplossing want mijn solarcontroller kan ook analoog signaal (0-10V) genereren om cv-pompen aan te sturen. Maar deze pomp kan dit niet “binnenhalen”
benleentje
Golden Member
Vanuit mijn siemens logo moet ik een 4-20 mA of 0-10V signaal omgezet krijgen tot PWM signaal van 500 Hz.
Dit voor pomp aansturing. Echter vind ik niet hoe dit te doen.
Het hoe in een PLC weet ik ook niet maar het kan ook niet heel moeilijk zijn.
0V of 4mA zal dan een PWM van 0% zijn of het laagste wat je kan instellen en 10V of 20mA is PWM op 100%. IN het midden op 5V en 12mA is de PWM op 50%. Dat is ook het mooie van PWM je stuurt dan vaak in procenten of op dutycycle wat eigenlijk hetzelfde is.
IN een arduino als voorbeels is er geen 100% maar dat is 255 en 50% is 128.
En als je pwm bv 16 bit is is 100% 65535 en 50% 32767
Toeternietoe
Dubbelgeïsoleerd
Daar waar een schakeling rookt, vloeit de meeste stroom (1e hoofdwet van Toeternietoe)
Helaas voor je, dat gaat met een Siemens LOGO niet.
De hoogste uitgangsfrekwentie van een transistoruitgang is 10 Hz, ver onder de 500 Hz die jij nodig hebt.
Je kunt er natuurlijk wel een moduultje tussenbouwen, analoog 4-20 mA (of 0-10Volt) in naar 500 Hz PWM Uit.
Als ik het goed gelezen hebt dan moet je pomp niet een echt een PWM signaal hebben , je moet een 500Hz signaal voorzien van een "Duty Cycle".
[Bericht gewijzigd door Toeternietoe op (21%)]
Op vrijdag 3 april 2026 22:56:59 schreef Toeternietoe:
Je kunt er natuurlijk wel een moduultje tussenbouwen, analoog 4-20 mA (of 0-10Volt) in naar 500 Hz PWM Uit.
Daar begon deze draad geloof ik mee: Vraag naar zo'n moduletje.
Op vrijdag 3 april 2026 22:56:59 schreef Toeternietoe:
Als ik het goed gelezen hebt dan moet je pomp niet een echt een PWM signaal hebben , je moet een 500Hz signaal voorzien van een "Duty Cycle".
Ik ben wel nieuwschierig waarom jij denkt dat dit twee verschillende dingen zijn. PWM is dus "Pulse Width Modulation" oftewel pulsbreedte modulatie, en de verhouding tussen de cyclus tijd (1/f) en de "aan" tijd is dus de duty cycle.
Vonkenpromotor
Golden Member
Ik heb nog een schemaatje met een Arduino voor mijn zelfbouw hybride warmtepomp controller:
Misschien heb je er wat aan.
op J1 staat een 10V PWM signaal gemaakt door de Arduino. Werkt met een Grunfos pomp
Torretje is een BC547 oid
Een uC heeft ook een interface nodig: iig een spanningsdeler voor 0-10 v
En dan evt nog een pwm driver (ik zou iig galvanisch scheiden)
Mijn oplossing zou hier een zaagtand van 10 V zijn en een comperator en TADA: je hebt een PWM signaal.
Werkt altijd en geen software nodig...
Ik heb mijn oude schakeling even in breadboard geprikt en gedimensioneerd voor de toepassing:
Met E12 waarden kom-ie van ruw 2,2 - 9,4 V bij 423 Hz. Wat overrange rond 0 en 100% leek prettig. Als bepaalde parameters "preciezer" moeten zijn een paar potmeters voor een one-off vermoedelijk de weg om te gaan.
De documentatie van de Logo zal weten of de 4-20 mA uitgang kan sourcen naar GND. Kan hij dat niet dan zal de 12V voeding geïsoleerd moeten zijn.
Aan de pompzijde verwacht ik zoals in het andere topic beschreven geen problemen. Iemand met de pomp of complete documentatie daarvan kan dat bevestigen. Isoleren van het PWM signaal kan natuurlijk altijd, maar dan is er ook een extra geïsoleerde voeding nodig.
Hoewel ik zelf vandaag de dag een Arduino zou pakken lijkt het voor de toepassing prima, hoewel het niet erg lineair is. De 'Duino kan imo deze pomp direct aansturen.
[edit: Schema update. Foutje!
]
Als je een 0 tot 10V signaal hebt kun je dat rechtstreeks met een driehoek of zaagtand vergelijken (comparator) om een PWM signaal te genereren. En liniairiteit kan best goed zijn. HP kreeg er al 8 cijfers ofzo uit geperst in sommige "multi slope" varianten.
Maar voor een zwembad zijn die kromme RC boogjes vermoedlijk al goed genoeg. Een driehoek of zaagtand generator hoeft echter nauwelijks ingewikkelder te zijn dan de schakeling op Aart z'n broodplank. (Wel mooi hoor, zon BusBoard. Die hoort wel bij de betere. Ik vind het alleen onbesnappelijk dat ze de rijen de verkeerde kant op genummerd hebben (In mijn hoofd zit "1" altijd links) dus bij mijn BB heb ik die getalletjes er maar afgekrabt. Dan wordt ik daar niet meer door afgeleid).
Ik ben eigenlijk wel benieuwd hoe een betere of 0-10V geschikte schakeling er uit zou zien, met als beperking een enkele 12V voeding? Het voelt voor mij niet triviaal.
Maar allicht is zo een eis aan de voeding in deze tijd van DC/DC converters ook niet meer gepast. Die heb ik alleen niet in alle varianten in huis.
Die boogjes lijken elkaar (eerste orde) te compenseren. Misschien eens meten hoe niet-lineair het werkelijk is.
[edit]
Nu ik er over nadenk; men zou in deze schakeling een (derde) opamp als aparte integrator kunnen plaatsen, zo is hij allicht betrekkelijk eenvoudig lineair te maken. Een LM324 in plaats van een LM358 is geen diepte investering 
[Bericht gewijzigd door Aart op (22%)]
Ik heb een beetje zitten spelen met het schakelingtje van Aart met KiCad / ngSpice. (Zie bijlage) en de kromme RC lijntjes compenseren elkaar aardig, maar echt liniair is het toch niet. Het verschil in puls breedte tussen opeenvolgende pulsen varieert van ong. 45us tot 35us. Ik heb met de hand met cursors zitten schuiven. Ik weet niet of dat op een betere (geautomatiseerde) manier kan...
Wat opmerkingen voor ngspice:
Ik moest de simulatie stap grootte terug brengen naar 1us, anders werkt de simulatie niet goed.
Voor de comparator (vergelijker in NL? Yuchie!) heb ik een 1F condensator gebruikt waar ik 60 Ampere in duw. Dan krijg ik een mooie rechte lijn van 60V/s oftewel van 0 tot 12V in 12/60 = 200ms.
Voor de Opamp / comparator heb ik een generiek ding gepakt uit de "simulatie" bibliotheek. Ik vermoed dat deze ongeveer de eigenschappen van een LM358 heeft, maar dat weet ik niet zeker.
------------------
En inderdaad, met een integrator en een comparator kun je een driehoek genereren. Vroeger waren er ook vernuftige schakelingetjes met discrete componenten: condensator laden met een stroombron (= liniar) en dan bij een bepaalde grenswaarde hem kortsluiten met een thyristor. Maar ach, een LM324 kost 16ct bij TME (SO16, 10+)
Ik moet Kicad weer eens updaten zie ik..
Maar ik laat het onderwerp even rusten. Ik ben natuurlijk DOL op dingen in breadboard prikken en er aan meten maar de bedoeling van het topic is TS te helpen.
Het is nu niet bekend of en hoe dit daaraan bijdraagt, het voelt dan niet zo beleefd helemaal los te gaan. Daarbij moeten er hier ook andere dingen gebeuren 
Op zaterdag 4 april 2026 20:26:59 schreef Aart:
maar de bedoeling van het topic is TS te helpen.
Mijn simulatie conclusies:
- Aart heeft gelijk, die kromme RC constanten compenseren elkaar grotendeels. Goed genoeg voor een zwembad.
- Periode is 2.33ms = 429Hz
- Condensator (C1)van: 100*429/500 = 86nF brengt hem op 500Hz
- C1 spanning oscilleert tussen 1V8 en 10V2.
- 4-20mA -> 10V/20mA = 500 Ohm. Da's mooi.
- 1V8/500 = 3.6mA, is bijna 4mA en dat is ook goed genoeg voor een zwembad.
Alles bij elkaar, schakeling ziet er goed uit, is ook netjes gedimensioneerd.
Met een geschike opamp kan het ook met (Bv) een 6V voeding. Dan moet je wel R5 ook (ongeveer) halveren, zodat het 4mA tot 20mA signaal ook een kleinere spanning voor de comparator genereert.
In de praktijk zijn lange kabels altijd storings bronnen. Een RC filter toevoegen tussen het stroom ingang signaal en de opamp wil ik sterk aanraden. TVS of extra dioden tegen overspanning is ook verstandig. En de "voeding" moet van voldoende kwaliteit zijn.
Maar afgezien van deze details ziet het er uit als een goed begin.