zoek PWM naar spanning schakeling

benleentje

Golden Member

IK wil met een arduino nano een Eurotherm 601 series frequentie regelaar gaan aansturen.

De specs die ik kan vinden van de regelaar zijn:
Vout voor potmeter is 10V +/- 5% met max 10mA.
Samplerate 10mS en een 10bit ADC
Aanbevolen potmeter is 10kΩ
Ingangsimpedantie onbekend en laat zich niet meten met een multimeter en ik denk omdat er ook in de handleiding staat dat de sample periode 10mS is.

Spec arduino:
frequentie is 490 of 980HZ
duty cycle 0 - 100% - 8bit 0 - 255 stapjes.

Ik zoek:
0 - 10V.
een lage rimpelspanning. Hoe lagr hoe beter natuurlijk maar het hoeft geen perfecte gelijk spanning te worden. Een spanning goed genoeg voor mijn regelaar of andere soortgelijk toepassing waarin ik een 0 10V signaal nodig heb is ok.
Een redelijk step response en dan vind ik alles onder 30mS al erg goed :). Maar als dat hoger word maar de rimpel beter dan mag dat ook.
De spanning hoeft niet per se nul volt te worden, dat kan ik instellen op de FO. Waar de min en max liggen. OV is bv 0Hz maar lager als ca 6Hz kan de motor toch niet. En de schakeling die ik nu hebt geeft als minimum ca 0,3V wat ook gewoon werkt. Dus als het kan zonder negatieve voeding voor de opmap zou mooi zijn.
Het liefst gevoed uit een 24V dc SMPS voeding.
of ander uit mijn FO die heeft 24V met max 50mA. Maar ik heb geen idee of dat lineair is of via een smps of hoe schoon dat is.
Het liefst throughole componenten (geen vereiste) en goed verkrijgbaar voor een particulier.
Opamps die ik heb liggen zijn bv een ca3140, TL081 en wat andere eenvoudige opamps. Zou mooi zijn als het daar mee kan maar is geen vereiste.

Ik heb wel op het net gezocht en veel schakelingen gevonden maar toch niet precies wat ik zoek. Van de meeste schakelingen is bv niet bekend voor welke PWM frequentie die bedoelt is. En voor het mooie is de PWM van de arduino te laag ja dat weet ik:).
Of de schakeling heeft maar 1 RC sectie en dan heb je denk ik toch nog steeds een behoorlijk rimpel zeker met 490Hz.

Ik heb nu een passieve schakeling gemaakt met een transistor en een pull-up weerstand naar de 10V. Met daarachter 3 maal een RC sectie. De spanning uit de regelaar moet onder de zeg 5mA blijven en zit daarom met grote weerstanden en grote waarden voor de condensatoren. Ik heb nu wel een schakeling die het redelijk doet met ca 80mV rimpel maar wel met 50mS step response. Van 10 naar 0 of 0 naar 10 gaat wel in ca 50mS.
Een ander nadeel van mijn huidige schakeling is dat curve krom is (niet lineair en dat de ingansimpedantie van de regelaar daarop invloed heeft.
Ook zie ik nu op de scope bij het veranderen van een stap een ongewenst signaal met grote rimpel.
Toch ben ik wel blij met de huidige schakeling en ik zie op de scoop wel een trap ontstaan en de performance is voor nu goed genoeg.

[Bericht gewijzigd door benleentje op maandag 21 juni 2021 12:48:11 (16%)

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
Lambiek

Special Member

Op 21 juni 2021 12:39:57 schreef benleentje:
Ik zoek:
0 - 10V.
een lage rimpelspanning. Hoe lagr hoe beter natuurlijk maar het hoeft geen perfecte gelijk spanning te worden. Een spanning goed genoeg voor mijn regelaar of andere soortgelijk toepassing waarin ik een 0 10V signaal nodig heb is ok.

Ik gebruik dit altijd om bijvoorbeeld kleppen aan te sturen of om bijv. een frequentie regelaar aan te sturen. Misschien moet je de versterkingsfactor iets aan passen of de waarde van R1 en C1. Zelf gebruik ik altijd een rail to rail opamp voor zoiets.

Als je haar maar goed zit, GROETEN LAMBIEK.
Arco

Special Member

Rimpel hangt van je PWM frequentie af...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Sine

Moderator

Dat is inderdaad lekker simpel, maar het heeft zijn beperkingen.

-edit-

Sterker nog, dat zal ver van linear zijn.

Je 1680R in de plus en 680 naar massa, bij 50% PWM heb je geen 50% spanning.

De schakeling van bristol lijkt me een simpele maar effectieve oplossing. Het deel waar het om gaat is de RC combinatie aan de ingang. Met de waarde van 10uF kun je nog wat spelen om de rimpel en de response te beïnvloeden.
Voorwaarde voor een goede werking is wel dat de input door de Arduino tijdens de pauze actief naar GND getrokken wordt, anders laadt de elco op tot de topwaarde.

De schakeling die Arco laat zien keert het signaal om. Hogere duty-cycle geeft een lagere output.

Arco

Special Member

Als je de transistor door een fet (BF170 o.i.d.) of een BISS transistor (PBSSxxx) vervangt kun je tot (bijna) 0 regelen.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Sine

Moderator

@Arco,
Dat is invers en niet-linear

@KlaasZ
Ook die schakeling van bristol verdient niet de hoofdprijs, de buffer aan de ingang is compleet overbodig.

Het voorstel van Lambiek lijkt me tot nu toe de mooiste.

-edit-
Zonder transistor buffer dan, anders kom je nooit aan 10V bij 10V voedingsspanning.

[Bericht gewijzigd door Sine op maandag 21 juni 2021 13:57:10 (18%)

Op 21 juni 2021 13:56:10 schreef Sine:
@KlaasZ
Ook die schakeling van bristol verdient niet de hoofdprijs, de buffer aan de ingang is compleet overbodig.

O, en als je die buffer weglaat? Dan verschijnt je PWM gewoon aan de uitgang.
Die buffer is juist cruciaal om aan de uitgang een min of meer gladde gelijkspanning te krijgen.

Lambiek

Special Member

Op 21 juni 2021 13:56:10 schreef Sine:
Het voorstel van Lambiek lijkt me tot nu toe de mooiste.

-edit-
Zonder transistor buffer dan, anders kom je nooit aan 10V bij 10V voedingsspanning.

Dan voed je de opamp met 12VDC.

Op 21 juni 2021 14:00:53 schreef KlaasZ:
O, en als je die buffer weglaat? Dan verschijnt je PWM gewoon aan de uitgang.
Die buffer is juist cruciaal om aan de uitgang een min of meer gladde gelijkspanning te krijgen.

Ik denk dat Sine doelt op de eerste opamp, de weerstand en de condensator moet mee verhuizen naar de tweede opamp natuurlijk.

Als je haar maar goed zit, GROETEN LAMBIEK.

Ik hoor liever van Sine zelf wat hij bedoelt.
De eerste opamp is als spanningsbuffer geschakeld. Je kunt de RC combi verhuizen naar tussen de opamps, maar dat maakt geen verschil. Die buffer blijft noodzakelijk om het gestelde doel te bereiken.

Arco

Special Member

@Arco,
Dat is invers en niet-linear

Ik neem aan dat de ingangsimpedantie bij een modern apparaat hoog is. Daarbij heeft 1-2k weinig tot geen invloed.

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Sine

Moderator

Op 21 juni 2021 14:05:35 schreef Lambiek:
[...]
Dan voed je de opamp met 12VDC.

Dat moet lukken, over de darlington lever je zo'n 1,2V in en de opamp heeft een R2R uitgang.

Op 21 juni 2021 14:15:47 schreef KlaasZ:
Ik hoor liever van Sine zelf wat hij bedoelt.

Geen reden om daar vervelend over te doen, Lambiek heeft het bij het goede eind, die eerste buffer kan compleet vervallen.

De eerste opamp is als spanningsbuffer geschakeld. Je kunt de RC combi verhuizen naar tussen de opamps, maar dat maakt geen verschil. Die buffer blijft noodzakelijk om het gestelde doel te bereiken.

Nop, die buffer heeft 0 toegevoegde waarde.
Als je een dual opamp gebruikt heb je die toch 'over', dus je kunt hem zo gebruiken.

Maar dit doet exact hetzelfde:

Op 21 juni 2021 14:36:25 schreef Arco:
[...]
Ik neem aan dat de ingangsimpedantie bij een modern apparaat hoog is. Daarbij heeft 1-2k weinig tot geen invloed.

Dat (kan) kloppen, zie voor de Ri de datasheet van de drive.
Wat niet klopt is dat 1k geen invloed heeft, dan haal je zelfs de 50% niet eens meer.

Het grotere probleem is dat je laad en ontlaadweerstanden niet gelijk zijn.

Laden is 1k + 680R, ontladen is enkel de 680R, dus 50% PWM geeft dan nooit 50% U.

Daarnaast is die omgekeerde werking niet heel failsafe, als je CPU niet start gaat je uitgang naar 100%

“Everything should be made as simple as possible, but no simpler”
Dit is misschien iets TE simpel

Lambiek

Special Member

Op 21 juni 2021 14:15:47 schreef KlaasZ:
Ik hoor liever van Sine zelf wat hij bedoelt.

O, sorry hoor. Ik wist niet dat je kwaad werd. ;)

Als je haar maar goed zit, GROETEN LAMBIEK.
harry64

Golden Member

Op 21 juni 2021 14:00:53 schreef KlaasZ:
[...]O, en als je die buffer weglaat? Dan verschijnt je PWM gewoon aan de uitgang.
Die buffer is juist cruciaal om aan de uitgang een min of meer gladde gelijkspanning te krijgen.

Nee want de impedantie van die + ingang is sowieso al hoog. De uitgeklede versie van Sine doet i.d.d. exact het zelfde.

Die van Lambiek vind ik wel mooi omdat die een kleine C heeft wat de snelheid van reageren verhoogd. Die darlington in de uitgang lijkt me dan weer wat overdreven. Ik denk dat een gewoon BC'tje ook wel voldoende aangeduwd zou worden door de opamp.

[Bericht gewijzigd door harry64 op maandag 21 juni 2021 15:54:13 (24%)

Sine

Moderator

De drive verwacht maximaal een 10k pot, de ingangsimpedantie zal minimaal een orde van grootte groter zijn (100k)
Dus een enkel opampje moet dat zelfs prima rechtstreeks kunnen.

Als je een R2R amp gebruikt kun je hem zelfs voeden uit de 10V referentiespanning van de drive.

benleentje

Golden Member

De bristol schakeling had ik zelf ook al gevonden en heeft maar 1 rc combinatie.

De schakeling van Arco heb ik nu ook al maar dat is niet lineair omdat het opladen en ontladen van de condensator via verschillende weerstanden gaat en ook door de load van de uitgang is de PWM spanning altijd onder/ lager dan de theoretische waarde. Maar dat is geen groot probleem.

@Arco 10V en 1KΩ kan niet in mijn geval de abs max van mijn voeding is 10mA. En omdat ABS max de max is wil ik daar ver vandaan blijven.

Rimpel hangt van je PWM frequentie af...

?? Nee toch. De rimpel kan ik volledig weg krijgen maar dan is mijn insteltijd ook 1 minuut.;). De lage PWM frequentie zal dan wel altijd zorgen voor een wat langere insteltijd wat ik nu heb is ca 50mS. Ik ben wel met je eens dat de lage frequentie wel altijd een wat grotere rimpel zal houden.

Ik gebruik dit altijd om bijvoorbeeld kleppen aan te sturen of om bijv. een frequentie regelaar aan te sturen. Misschien moet je de versterkingsfactor iets aan passen of de waarde van R1 en C1. Zelf gebruik ik altijd een rail to rail opamp voor zoiets.

Mooie schakeling echter ook niet helemaal wat ik zoek. Lijkt me toch dat er nog een redelijk grote rimpel op zit zeker met de lage PWM frequentie van de Arduino.
Heb je deze schakeling ook wel eens voor een Arduino Nano gebruikt?

De drive verwacht maximaal een 10k pot, de ingangsimpedantie zal minimaal een orde van grootte groter zijn (100k)

Dat denk ik ook wel minimaal 100k. Anders is de potmeter ook niet meer lineair.

Mensen zijn soms net als een gelijkrichter, ze willen graag hun gelijk hebben.
Sine

Moderator

Tja rimpel of response, dat werkt mekaar tegen.

Maar ook een nano heeft toch hardware PWM? Daar kun je veel hogere frequenties meer bereiken.

-edit-

Ja, dat is een ATmega328 op 16MHz

KHz-en zijn geen enkel probleem.

-edit2-

Als je in de problemen komt met stroom dan kun je het geheel natuurlijk ook voeden uit de 50mA aan 24V die je uit de drive krijgt.

-edit3-

https://www.etechnophiles.com/how-to-change-the-pwm-frequency-of-ardui…

Max 62,5kHz ... daar moet je toch wat mee kunnen.

[Bericht gewijzigd door Sine op maandag 21 juni 2021 16:34:49 (16%)

Arco

Special Member

Als je de transistor door een TC4428 (o.i.d.) vervangt is het lineair en gebruikt maar 2mA (+ laadstroom)
Da's een push-pull driver. De FAN3111 gebruikt minder stroom maar dat is een SMD...

Arco - "Simplicity is a prerequisite for reliability" - hard-, firm-, en software ontwikkeling: www.arcovox.com
Sine

Moderator

Dat is een hele hoop vreemd spul voor iets wat je prima met een enkel opampje kunt oplossen.

En dan moet je nog steeds bufferen want zo hoog is de Ri niet.

Lambiek

Special Member

Op 21 juni 2021 16:12:05 schreef benleentje:
Mooie schakeling echter ook niet helemaal wat ik zoek. Lijkt me toch dat er nog een redelijk grote rimpel op zit zeker met de lage PWM frequentie van de Arduino.

Als het bij mij werkt om een frequentieregelaar aan te sturen, waarom zou dat bij jou niet werken dan?

Heb je deze schakeling ook wel eens voor een Arduino Nano gebruikt?

Ik gebruik geen Arduino, werk altijd met pic-microcontrollers.

Op 1KHz (of hoger) moet het goed werken, dat is met een Arduino ook wel te halen toch. Heeft dat ding geen HPWM?

En als dit niet goed is moet je verder zoeken. :)

Als je haar maar goed zit, GROETEN LAMBIEK.

Op 21 juni 2021 14:54:49 schreef Sine:
Geen reden om daar vervelend over te doen, Lambiek heeft het bij het goede eind, die eerste buffer kan compleet vervallen.

Aha, misverstand.
Met buffer bedoelde je de eerste opamp, ik bedoelde daarmee de RC-combinatie.

Lambiek

Special Member

Op 21 juni 2021 17:24:05 schreef KlaasZ:
......, ik bedoelde daarmee de RC-combinatie.

Daarom zei ik ook dat die wel mee moest verhuizen. :)

En die R/C combinatie dient als filter, niet als buffer.

Als je haar maar goed zit, GROETEN LAMBIEK.

Je kunt ook een variant van de Bristol schakeling maken, met 2 opamps, en een paar extra weerstanden en condensators, om er een 5de orde filter van te : https://1.bp.blogspot.com/-J9g6SeYKkSg/XVswDs-gyMI/AAAAAAAAUpE/QQd2Jtr_nOwCVTNlBOfvl3rZQiW7nen2QCLcBGAs/s640/Laagdoorlaat-filters-12.JPG
https://verstraten-elektronica.blogspot.com/p/laagdoorlaat-filters.htm…

Dan ziet het compromis tussen rimpel en reactiesnelheid er opeens heel anders uit; uiteraard beperk je de reactiesnelheid door hogere frequenties te onderdrukken, maar omdat het filter veel steiler loopt kun je het kantelpunt hoger kiezen, terwijl je nog steeds genoeg rimpel onderdrukking hebt.

Ik zit me nu even af te vragen of je hier wel de gewenste versterking uit kunt krijgen; je kunt natuurlijk wel de inverterende feedback van één van de opamps (of allebei) aanpassen, maar dat heeft ook weer invloed op de filter stage vóór die opamp. Je kunt het signaal tussen de uitgang en de condensator in het filter (C1 of C4) niet ongestraft gaan delen, wat heeft invloed op het filter.

Je kunt er wel de gewenste versterking uit krijgen als je een 3de orde filter maakt; dan laat je dus R4, R5, C4 en C5 weg, en voeg je de deler toe aan de feedback van opamp 2; die vormt dan alleen nog een buffer met 2x versterking.

[Bericht gewijzigd door SparkyGSX op maandag 21 juni 2021 17:48:15 (17%)

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken
Sine

Moderator

Als benleentje hardware PWM kan doen op 10+ kHz (en ik zou niet weten waarom dat niet zou kunnen)
Dan is het filter helemaal niet zo kritisch.