13.8v pwm omvormen naar analoog 0-5V

Je kan een aktief filter gebruiken.
Dit is een 2e orde Bessel filter met een kantelfrequentie van 5Hz en heeft een stopband demping van 100Hz bij -45sB.
Hierachter kun je via een spanningsdeler met weerstanden, de benodigde 5 Volt halen.

Telefunken Sender Systeme Berlin
Arco

Special Member

Of een RC of DAC beter is, hangt af van de snelheid waarmee de omzetting moet gebeuren...

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

Eigenlijk is het in zo een geval eleganter de pulsbreedte digitaal te meten. Het kan zeker, of het ook haalbaar is hangt van de opzet van de software af. Als het bij zo ene traag signaal merkbaar vertraagt dan is er iets heel erg ongunstig.
Elektronisch zou ik dan zonder de context te kennen een optocoupler voorstellen. Auto's zijn elektrisch een vrij wilde omgeving.

[Bericht gewijzigd door Aart op maandag 14 januari 2019 22:13:22 (13%)

Je kunt het ook met een enkel filter doen, dus met 1 weerstand en 1 condensator, plus nog een weerstand om het signaal te delen, als het echt traag mag zijn.

Voor de waarde van de componenten moeten we wat meer weten; wat is de frequentie van dat PWM signaal, en hoe snel moeten veranderingen zichtbaar zijn voor de Arduino? Hoe groter het verschil tussen die 2, des te eenvoudiger je dit kunt oplossen.

13.8V lijkt me iets voor in een auto; als je kunt vertellen wat voor signaal het is, en waar je het voor wilt gebruiken, kunnen we je een betere oplossing aandragen.

@Aart: de Arduino library gaat duimen draaien terwijl hij op de flanken van het signaal staat te wachten, als je het digitaal wilt meten. Het kan prima met een hardware timer in input capture mode, maar ik denk dat die oplossing te ingewikkeld is voor de TS om zelf te implementeren. Geen idee of daar Arduino libraries voor bestaan, maar dat verwacht ik eigenlijk wel. Uiteraard heb je daarbij alsnog een circuit nodig om de ingang te beveiligen.

[Bericht gewijzigd door SparkyGSX op maandag 14 januari 2019 22:12:05 (28%)

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

Een timer gebruiken kan, een interrupt is mogelijk iets simpeler, maar ik verwacht dat je het met non-blocking code ook zonder hardware features wel haalt, of meet tien keer per seconde oid, een filter geeft immers ook "vertraging".

Ha HSP,

Je heb al een richting gekregen maar ik heb een vraag analoog uit bedoel je 0V....5V?
En moet dit in een periode omgezet worden en wat betreft de lineariteit.
Als je het real time wilt uitvoeren F/V convertor dat is een 1 bit ADC.

Groet,
Henk.

Everything should be as simple as possible, but not simpler.

@Aart: een externe interrupt is nauwelijks eenvoudiger; je moet alsnog een interrupt service routine starten, en een timer instellen om de interval te kunnen bepalen, maar daar komt nog extra onnauwkeurigheid bij omdat je de timer zelf moet lezen, al zal dat wel meevallen als je geen andere interrupts gebruikt, en geen lange stukken code waar de interrupts uit staan.

@electron920: een F/V converter is een DAC, geen ADC. Daarbij is ook dat niet helemaal "niet-time", als in, je hebt alsnog een filter aan de uitgang zitten, met dus een vertraging.

Het zou echt helpen als de TS wat meer informatie kon geven...

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

Hoi,

Bedankt alvast voor de snelle reacties hierop!
Om wat meer info te geven die men vraagt:
Toepassing: auto/moto

Ik heb een module die CANbus leest van het voertuig. Adhv van een draaischakelaar die geintegreerd zit in het voortuig (die dient voor de boordcomputer) kan ik een uitgaand PWM signaal creëren (geintegreerd in de CANbus module) waar ik van de fabrikant doorgekregen heb dat dit een 100Hz signaal is.
Wat voor mij nu belangrijk is is enkel dat ik weet wanneer de stand 0V is, 5v en ergens middenin (of 2 standen middenin). Als de 5v 4.8v is kan in mijn ogen geen probleem vormen. Adhv deze 3 (4) standen kan ik dan software matig uitgangen via ardiuno doen schakelen en optionele verlichting of iets dergelijks laten functioneren.
Is niet slecht als het zeer nauwkeurig gefilterd is des te beter dat het zal functioneren dan.

Of dit in een periode moet omgezet worden??? Ik heb geen idee wat je hiermee bedoelt... In het verre verleden herinner ik mij een periode op een osciloscoop nog :-)

Een beetje lineariteit is mss wel gewenst om gemakkelijk mijn 3 (4) punten kan bepalen via de ardiuno.

via interrupts in ardiuno heb ik ook geprobeerd ( 3 diverse mogelijkheden ) en telkens merk ik op dat het programma volledig word vertraagd dus daarom wil ik deze piste niet opgaan. Ik maak gebruik van een Arduino micro ter info.

Op 14 januari 2019 22:01:56 schreef Martin V:
Je kan een aktief filter gebruiken.
Dit is een 2e orde Bessel filter met een kantelfrequentie van 5Hz en heeft een stopband demping van 100Hz bij -45sB.
Hierachter kun je via een spanningsdeler met weerstanden, de benodigde 5 Volt halen.
[bijlage]

Martin,
Welk type opamp moet ik hiervoor gebruiken? Ik heb dit eventjes opgezocht ik krijg hier een oneindig lange lijst dat ik eigenlijk niet direct de juiste keuze kan uit selecteren...

[Bericht gewijzigd door HSP op dinsdag 15 januari 2019 07:19:33 (23%)

Je kan hiervoor iedere redelijk goede opamp gebruiken, ik neem daarvoor meestal de LM358 omdat dit een near ground opamp is.
De frequentie van het PWM signaal is slechts 100Hz zodat de bandbreedte van de opamp laag mag zijn.
Een andere opamp kun je ook gebruiken zoals een rail to rail opamp.

Vergeet niet de voedingspanning van de opamp dat die hoog genoeg moet zijn om de volle 13,8 Volt uit te sturen.
Een voedingspanning van ongeveer 15 Volt moet dan voldoende zijn.

Echter dat is in jouw geval een probleem aangezien je alleen maar over 13,8 Volt beschikt als hoogste spanning.
Je zou dan de spanningsdeler moeten verplaatsen naar de ingang zodat de pulsbreedte bij 100% nu 5 Volt is, dan kan het natuurlijk wel.

Je komt dan echter uit op een situatie zoals Aart omschrijft, een opamp is dan eigenlijk niet meer nodig, als je de rimpel met genoegen neemt.

Telefunken Sender Systeme Berlin

Ok; blijkbaar zit er iets raars in de code. Voor de analoge route:

47k in serie, 22k naar gnd en een condensator van 1 uF naar gnd is een spanningsdeler van 1:3 en een filter met een kantelfrequentie op ongeveer 10 Hz. Men heeft dan een flinke (-20 dB, dus 1/10) rimpel bij 100 Hz, maar om een paar standen uit te lezen zou het moeten volstaan.
Als het trager mag kan de condensator groter waardoor het kantelpunt omlaag schuift en de rimpel afneemt.

Let op dat als de boardspanning niet erg stabiel is dat je deze mee meet ter referentie met een tweede spanningsdeler.

[Bericht gewijzigd door Aart op dinsdag 15 januari 2019 09:25:11 (14%)

Als het signaal 100Hz is, zou het nooit langer dan 20ms moeten duren voordat de meting klaar is; je kunt de timeout dus op iets meer dan 20ms zetten, en dat een paar keer per seconde doen.

Echter, als je het analoog wilt doen kan het ook simpel. Als je een spanningsdeler maakt van 22k boven en 10k onder (13.8V in geeft dan 4.3V uit), heeft dat een effectieve weerstand van 6875 ohm, en met een condensator van 4.7uF geeft dat een kantelfrequentie van 4.9Hz. De weerstand is dan groot genoeg dat de ESD diodes bij de ingang van de AVR, die behoorlijk robuust zijn, andere spanningspieken best kunnen wegwerken.

Dit is dus het idee:
https://www.circuitlab.com/circuit/3gmsz3afv7rm/screenshot/540x405/
R1 wordt dan 22k, R2 10k, en C1 4.7uF. Je kunt die condensator nog groter of kleiner maken om de kantelfrequentie te veranderen, of de weerstanden, zolang je de verhouding van die weerstand maar ongeveer hetzelfde houdt.

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

Special Member

Zit die draaischakelaar zelf niet aan de can bus? Of is die later bijgebouwd?

Anders kun je gewoon de waarde uit de can bus halen..

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Hoi,

Ik lees veel over een kantelfrequentie. Wat word hiermee eigenlijk bedoelt?

Ivm CANbus, is een aparte module en is een blackbox.

High met Henk

Special Member

Op 15 januari 2019 12:38:02 schreef HSP:
[...]
Ivm CANbus, is een aparte module en is een blackbox.

Wat bedoel je hiermee?? Can bus is geen voodoo, dat signaal heb je zo te pakken, mits aangesloten..
Als het niet op de bus zit houdt het op, maar ook een blackbox kan op de bus zitten. En dat antwoord lees ik niet eenduidig in bovenstaand antwoord.

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Op 15 januari 2019 13:25:09 schreef High met Henk:
[...]
Wat bedoel je hiermee?? Can bus is geen voodoo, dat signaal heb je zo te pakken, mits aangesloten..
Als het niet op de bus zit houdt het op, maar ook een blackbox kan op de bus zitten. En dat antwoord lees ik niet eenduidig in bovenstaand antwoord.

ik heb de vraag verkeerd gelezen mijn excuses.
De draaischakelaar zit idd op de canbus. Deze word via mijn module die ik aangekocht heb ingelezen. Op die manier ontvang ik het signaal en kan deze worden geconverteerd naar een analoog signaal zodat ik op die manier 3 a 4 uitgangen kan schakelen hiermee.

High met Henk

Special Member

Aha, ik dacht dat je de draaischakelaar bij wilde bouwen...

Maar die lees je dus al uit. Was het dan niet handiger een module te nemen die van de can bus digitale uitgangen maakt??

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Op 15 januari 2019 17:37:45 schreef High met Henk:
Aha, ik dacht dat je de draaischakelaar bij wilde bouwen...

Maar die lees je dus al uit. Was het dan niet handiger een module te nemen die van de can bus digitale uitgangen maakt??

mocht dit bestaan zou dit ideaal zijn maar dit bestaat helaas niet.

Shiptronic

Overleden

Je hebt al een Arduino, prik deze : https://www.tinytronics.nl/shop/nl/arduino/shields/can-bus-shield-mcp2… er boven op, die leest de CAN bus, de pinnen op je arduino kan je dn als uitgang gebruiken en div zaken aansturen.

[edit]
PS. je hele omschrijving is wat cryptisch ,

Wat voor CAN-module gebruik je nu (liefst link naar de DS)
In wat voor auto komt het ( merk, type, bouwjaar, uitvoering)
Wat is het doel van de schakeling/project? dat geeft vaak gerichtere oplossingen.

[Bericht gewijzigd door Shiptronic op dinsdag 15 januari 2019 18:11:55 (37%)

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Hoi,

Die heb ik dus niet tegen gekomen...

Voertuig is een BMW motorfiets K1600.
Het is een plug and play Module van HEXezCAN die voor de motorfiets geschikt is.

Deze module heeft diverse uitgangen die je voor kan definiëren via bijgeleverde software. Dit is eigenlijk bedoelt om extra verlichting bij te schakelen.
Wat ik hier wil doen is de bestaande front verlichting laten flikkeren (volg motorfiets voor de fiets koers).

Ik heb alvast de RC filter getest en het signaal is redelijk stabiel en kan ik nu gaan onderverdelen.

mvg
Andries

High met Henk

Special Member

DAn heb je nu een analoog signaal: dus je krijgt eers je CAN module, dan je knutselwerk en vervolgens moet je daar ook weer iets aanhangen..

Vind je het heel gek als het mij vreemd voor komt?

Bovendien heb je ook nog de mogelijkheid om met 1 CAN controller het licht gewoon aan te zetten als je geen extra verlichting bijgebouwd hebt.

Meestal moet je dan wel een CAN-CAN bridge hebben, omdat verlichting een veiligheids issue is:

m.a.w. STANDAARD staat de verlichting aan. Er gaat dus steeds een bericht over de bus met de status van de verlichting. Als hij niet actief uit wordt gezet, gaat de verlichting aan.

Stel je voor er is een bericht:
verlichting uit wat elke seconde verstuurd wordt... Dan is de verlichting als het goed is uit.

Maar nu komt het bericht niet aan (bus defect, bus overload WHATEVER) Dan is het erg fijn als je verlichting AAN gaat.

Enfin daar zit nu meteen de crux in...
Als er standaard een bericht komt wat de status van de verlichting stuurt, en dat is aan en jij wilt ook aan: Geen probleem 2 berichten die beiden zeggen: Ga aan.

Nu de situatie waarin jij zegt: Ga uit en motorfiets zegt: ga aan. Misschien dat hij even uitgaat, maar uiteiendelijk wint vaak de motorfiets. e.e.a. hangt af van de timing en time out periode natuurlijk

Omgekeerd geldt hetzelfde: motorfiets wil uit en jij wilt aan: dito verhaal.

beide uit zal ook geen probleem opleveren.

Met een Can to Can bridge kun je het oude bericht onder condities niet meer doorzenden en evt een nieuwe op de bus zetten / aanpassen dat het de informatie die jij wilt bevat: ofwel een elegantere oplossing!

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
Shiptronic

Overleden

Wie de vraag stelt, zal met het antwoord moeten leren leven.
Shiptronic

Overleden

Misschien ook leuk om te vertellen hoe?

Wie de vraag stelt, zal met het antwoord moeten leren leven.

Op 28 januari 2019 21:55:50 schreef Shiptronic:
Misschien ook leuk om te vertellen hoe?

via de RC filter die men hier heeft beschreven. Dit samen met nog een software filter heb ik nu een zeer stabiele meting.

mvg