zoek PWM naar spanning schakeling


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.

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 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 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,
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 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.

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 21 juni 2021 15:54:13 (24%)]

Waar het moederbord het meeste rookt, loopt ook de meeste stroom!
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.

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.

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 21 juni 2021 16:34:49 (16%)]

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 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 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.

Volgens mij zal de rimpel op >=490Hz er niets toe doen, de ramp up/down van de FO is te traag en kan ook ingesteld worden zodat die rimpel bijzaak wordt.

LDmicro user.

Op 21 juni 2021 16:29:45 schreef Sine:
Maar ook een nano heeft toch hardware PWM? Daar kun je veel hogere frequenties meer bereiken.

Je de Nano heeft hardware PWM en kan dus max 64kHz halen. Echter gebruik ik het arduino platform en de IDE. Een aantal libraries die gebruik gebruiken de millis() functie die genereert elke miliseconde een interupt. Als de ik de PWM instel op 64khz dan gaan de interups 64x sneller en ook de millisecondes.

Op 21 juni 2021 19:57:10 schreef MGP:
Volgens mij zal de rimpel op >=490Hz er niets toe doen, de ramp up/down van de FO is te traag en kan ook ingesteld worden zodat die rimpel bijzaak wordt.

Daar heb je wel gelijk in. Maar het zal wel aan mij liggen maar ik wil toch graag een wat nettere spanning omdat ik denk dat het ook kan. Maar veel internet schema's kan je niet op vertrouwen en heb zelf niet de kennis om dat zelf te ontwerpen en maken.

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

Dat heb ik niet gezegd :). Maar ik ben gewoon soms wat eigenwijs omdat ik denk dat het beter kan.

Lambiek

Special Member

Je hebt aan 1KHz genoeg. Ik stuur daar motorregelaars, dimmers, kleppen, frequentie regelaars enz. nee aan. En allemaal zonder problemen.

Als je haar maar goed zit, GROETEN LAMBIEK.
Sine

Moderator

Dan heb je nog een plan B, geen PWM gebruiken maar een echte DAC in bijvoorbeeld I2C

Iets als een MCP4725 dan ben je van alle ellende af.

Nog mooier was een VFD-tje met een serieel poortje, dan ben je van die dubbele conversie af.

Hensz

Golden Member

Op 21 juni 2021 22:29:00 schreef Lambiek:
Je hebt aan 1KHz genoeg.

Psies. Samplerate is al een factor 100 lager, 1 kHz moet idd écht genoeg zijn.

Op 21 juni 2021 12:39:57 schreef benleentje:
....
Samplerate 10mS en een 10bit ADC
...

Don't Panic!