spanningsdiscriminatie met drempelwaarde

fatbeard

Honourable Member

Ik krijg de volgende spanningen:

Maximum en stijgtijd zijn onbekend (dit is een simulatie), de duur ligt tussen de 10 en 50µs.
Wat ik wel weet: het maximum is nooit hoger dan 600mV, het minimum is 0V.
Vervelende bijkomstigheid: ze kunnen ook aan elkaar gelijk zijn.

Nu probeer ik een schakeling te vinden die zodra het verschil tussen de twee spanningen meer dan 30mV (20 à 75) wordt de grootste 'aanwijst', plus een indicatie of er überhaupt een spanning is.
Vier toestanden dus: geen spanning, a>b, b>a, onbepaald.
Ik weet het: makkelijk met een microcontroller met ADC, maar ik wil nu juist een discrete schakeling. Gewoon: opamps, comparators, logica.

Het bepalen van de grootste lukt prima, maar die 30mV drempel is nogal weerspannig: zodra ik hysterese toevoeg in de comparators houdt de schakeling op te functioneren...

Iemand een suggestie (of twee)?

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
Arco

Special Member

Er is natuurlijk ook nog de situatie dat een der signalen '0' is, valt dat dan onder 'geen spanning', of a<b, b<a?
Als je een van de signalen (a of b) via twee antiparallel ULDO Schottky diodes aanbiedt, krijg je de gewenste window werking.
(de Vf van de diodes kun je instellen met de stroom die er doorheen loopt)

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

Special Member

Voor het bepalen van het verschil van de twee spanningen: https://www.nutsvolts.com/questions-and-answers/operational-amplifier
De rest doe je met comparators en logica.

Ignorance is bliss
fatbeard

Honourable Member

Er is natuurlijk ook nog de situatie dat een der signalen '0' is

Dan is de andere dus niet nul: zodra die meer dan 30mV is kom je op bekend terrein (en daarvoor was je het al: geen spanning)...
Die schottky diode is een goed idee, ga ik mee knutselen (in LTspice).

Ik denk dat ik in de valkuil 'te vroeg teveel vereenvoudigen' ben gevallen. Gebeurt me wel vaker...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Je kunt ook de hysterese toevoegen met diodes in serie; dus maar in één richting, zodat dat deel in rust niets doet.

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

Ik zou het signaal eerst wat versterken. dat kan meer dan voldoende met één transistor. als de repitietietijd laag is, dan kan dat zelfs een AC gekoppelde trap zijn. daarna wordt discriminatie met diodes en comparator veel eenvoudiger (duidelijker) en zekerder (minder temperatuurafhankelijk).

Op 20 april 2021 16:10:34 schreef fatbeard:
Ik krijg de volgende spanningen:[bijlage]

Nu probeer ik een schakeling te vinden die zodra het verschil tussen de twee spanningen meer dan 30mV (20 à 75) wordt de grootste 'aanwijst', plus een indicatie of er überhaupt een spanning is.
Vier toestanden dus: geen spanning, a>b, b>a, onbepaald.

Sommetje wordt (a=0V && b=0V), (a>b+30mV), (b>a+30mV), (overig). Moet te doen zijn met een aantal opampjes en spanningsreferenties. En wat kris van damme zegt: "Na versterken van de spanning werkt het allemaal wat gemakkelijker." Zeker omdat je zeker weet dat de aangeboden spanning niet hoger is dat 600mV.

Op 20 april 2021 21:59:43 schreef fatbeard:
[...]
Dan is de andere dus niet nul: zodra die meer dan 30mV is kom je op bekend terrein (en daarvoor was je het al: geen spanning)...

Als a=0mV && b=1mV, dan zit je in de toestand "overig". En wat is de definitie van 0V? Is 1µV gemeten gelijk aan "0V", want theoretisch komt de spanning "0V" niet voor?

De formule (a>b+30mV):
Met twee opamps kan je eenvoudig de som U=b+30mV maken. De plusingang knoop je aan de nulvoltlijn. Aan de miningang knoop je drie weerstanden van 1k. De eerste (terugkoppelweerstand) knoop je aan de uitgang. De tweede knoop je aan spanningsbron "b" en de derde knoop je aan referentiespanning "30mV". Op de uitgang van deze opamp staat een spanning U=-(b+30mV). Dit signaal stop je in de tweede opamp die geschakeld is als 1x inverterende versterker. Uit deze opamp komt dan het signaal U=(b+30mV). Dit signaal voer je toe aan de miningang van een comparator. Op de plusingang van dezelfde comparator sluit je spanningsbron "a" aan. De uitgang van de comparator is "waar" (hoge spanning) als geldt a>(b+30mV)

De formule (b>a+30mV):
Met twee opamps kan je eenvoudig de som U=a+30mV maken. De plusingang knoop je aan de nulvoltlijn. Aan de miningang knoop je drie weerstanden van 1k. De eerste (terugkoppelweerstand) knoop je aan de uitgang. De tweede knoop je aan spanningsbron "a" en de derde knoop je aan referentiespanning "30mV". Op de uitgang van deze opamp staat een spanning U=-(a+30mV). Dit signaal stop je in de tweede opamp die geschakeld is als 1x inverterende versterker. Uit deze opamp komt dan het signaal U=(a+30mV). Dit signaal voer je toe aan de miningang van een comparator. Op de plusingang van dezelfde comparator sluit je spanningsbron "b" aan. De uitgang van de comparator is "waar" (hoge spanning) als geldt b>(a+30mV)

De formule (overig):
Die maak je eenvoudig met poorten volgens de vergelijking.
U = (a=0V && b=0V)! && (a>b+30mV)! && (b>a+30mV)!
Afhankelijk van de beschikbare poorten en een beetje booleaanse algebra is daar wel een passende schakeling voor te vinden.

Wil je een soort "hysterese" toepassen, dan kom je heel snel in een toestand dat je flipflops moet gebruiken om te onthouden waar je vandaan kwam. De formule "overig" zal dan wel vervallen want die is geldig als de voorgaande 3 voorwaarden niet waar zijn en dat treedt ook op als het systeem in een overgangstoestand bevindt tussen de oude voorwaarde en de nieuwe voorwaarde.
Als bij opstarten de aangeboden spanningen in een gebied zitten waarbij geen van de 3 voorwaarden geldig is (overgangsgebied), dan is er geen geldig overgangsgebied. Er is namelijk geen oude voorwaarde. Dan zit het systeem in de toestand "onbepaald" of "geen keuze".

Een 555 gebruikt ook een flipflop voor het creëren van een hysterese.
Er zitten twee comparators in de 555. De ene wordt gebruikt om een flipflop te setten. De ander wordt gebruikt om dezelfde flipflop te resetten. De ene comparator vergelijkt het ingangssignaal met 1/3e van zijn voedingsspannig en de andere comparator vergelijkt het ingangssignaal met 2/3e van zijn voeding. De starttoestand "geen keuze" komt niet voor in de 555. Dat zou een extra flipflop kosten.

Shock6805

Golden Member

Is het ook niet mogelijk om beide spanningen elke aan een kant van een weerstand aan te bieden en dan differentieel te meten? Aan de uitgang van de opamp komt dat een positieve spanning als a groter is, een negatieve als b groter is en bijna niets als ze beide ongeveer even groot zijn. Met twee comparators kan je dan uitvissen welke groter is (als er al een groter is).
Geen spanning kan je dan nog makkelijk met een nor poortje doen lijkt me, al zal je daarvoor je spanningen wel moeten versterken naar min 3.3v ofzo.

Alas, dat schoot in mijn hoofd toen ik je OP las. Wellicht zie ik nog wat over het hoofd.

[edit]
Nog wat verder denkend, dat moet natuurlijk niet over een weerstand... Je kan ook gewoon een spanning aan de inverterende en een aan de niet-inverterende ingang van een opamp aanbieden.
[/edit]

[Bericht gewijzigd door Shock6805 op woensdag 21 april 2021 09:00:19 (14%)

Als je maar genoeg geinteresseerd ben, verwondert heel de wereld.
fatbeard

Honourable Member

Allen dank voor het meedenken.
Wat ik niet had vermeld in de openingspost was dat er geen symmetrische voeding beschikbaar is, waardoor er een heleboel aangedragen oplossingen afvallen...
Sorry.

Bij nadere analyse van het probleem bleek trouwens de situatie 'geen spanning' helemaal niet te bestaan, dat vereenvoudigde de zaak aanmerkelijk.

Uitgaande van het idee 'versterkt is alles makkelijker' heb ik eerst met twee verschilversterkers 10*(a-b) en 10*(b-a) bepaald.
Door die met een comparator te discrimineren (hier mag dat ;)) op een drempelspanning heb ik de gewenste informatie, het ontbreken van een voldoend groot verschil (beide comparators blijven laag) levert de derde optie op...

ff quick-and-dirty in LTspice (daar heeft de logica een drempelspanning van 0.5V wat de comparators uitspaart) levert inderdaad het gewenste resultaat:

Het sample signaal is (samen met externe, niet gespecificeerd componenten) verantwoordelijk voor het opwekken van de spanningen A en B.

Volgende stap: breadboard.
Dan zal ik wel niet onder 'echte' comparators uitkomen...

En voor wie nu benieuwd is waar dit alles toe dient: het vaststellen van de stand waarin een wissel echt staat, en niet de stand die de besturing denkt dat-ie staat...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
Arco

Special Member

Dat zal nog niet eenvoudig zijn om de werkelijke toestand betrouwbaar te detecteren (zonder schakelkontakt op het wissel)

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

Golden Member

Het je ook een comparator geprobeerd ipv een opamp ?

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs
fatbeard

Honourable Member

@Arco:
Blijkt mee te vallen: de zelfinductie verandert behoorlijk als de kern verplaatst, bij de geteste wissels meer dan een factor 2.
Ik bepaal nu waar de kern zit, en dus hoe de wissel staat. Vandaar ook die 'derde toestand': als de kern te veel in het midden zit is de stand onbepaald (en reden om er wat aan te doen).

@fred101:
De opamps doen precies dat waarvoor ze gemaakt zijn: het verschil versterken. Dat gaat niet met een comparator (YMMV).
Er zullen in het uiteindelijke schema wel comparators achter de verschilversterkers komen, maar omdat snelheid niet echt van belang is zou ik dat ook met opamps kunnen doen. Hangt even af hoe het op de PCB uitpakt.

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
Arco

Special Member

De zelfinductiewijziging zal per type wissel ook wel verschillen. Bij solenoids (eigenlijk vergelijkbaar) had ik maar 10...15% verschil.
Toen was het makkelijker om de back-emf te meten (ook een veelgebruikte methode)

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

Op 21 april 2021 15:09:47 schreef fatbeard:
Allen dank voor het meedenken.
Wat ik niet had vermeld in de openingspost was dat er geen symmetrische voeding beschikbaar is, waardoor er een heleboel aangedragen oplossingen afvallen...
Sorry.

tiens, waarom maakt je eigen oplossing er dan wel gebruik van ?

fatbeard

Honourable Member

Waar is mijn voeding dan symmetrisch? Ik heb alleen V+ en GND...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Ok, - en gnd driehoekje zijn dus dezelfde?

fatbeard

Honourable Member

In LTspice wordt GND aangegeven met het driehoekje.
Het opampsymbool heeft als voedingsaansluitingen V+ en V-, die kun je (net als bij een 'echte' opamp) aan een spanning naar keuze leggen.
Ik was zo lui om het voedingsnet V+ te noemen...

[Bericht gewijzigd door fatbeard op donderdag 22 april 2021 00:38:22 (57%)

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Op 21 april 2021 15:09:47 schreef fatbeard:
..
En voor wie nu benieuwd is waar dit alles toe dient: het vaststellen van de stand waarin een wissel echt staat, en niet de stand die de besturing denkt dat-ie staat...

Ik vraag me dan af wat er daarna gebeurd als de wissel niet goed blijkt te staan en naar welke kant je die gaat sturen en hoe kun je dat weten?

LDmicro user.

Ik heb niet alle oplossingen bekeken. Die van arco waar je 30mV spanningsval over een diode moet zien te krijgen vind ik "lastig". Ik heb zo m'n twijfels of dat lukt. En het is "lastig instelbaar". Hangt van componenten af.

Ik zou het splitsen. Maak met opamps A-B . Met een "comparator > 0" kijk je of die groter dan nul is voor wie er groter is. Digitaal signaal S1. Dan maak je met een opamp en een diode een ideale gelijkrichter. |A-B| . Deze vergelijk je met 30mV voor je "er is een verschil signaal". Tweede digitale signaal: S2.

En als laatste vergelijk je A en B met een drempel om "er is een signaal" te detecteren. 3e en vierde digitale signaal: S3 en S4. En nu is het voor uitgangs-signalen alleen nodig om wat logica toe te passen. Volgens mij wil je "S1 & S2 & (S3|S4)" en "!S1 & S2 & (S3|S4)", maar deze twee onderscheiden nog niet de twee cases "wel signaal maar geen significant verschil" van "geen signaal". Maar het zit nu in het digitale domein en dan kan je alles met poortjes bouwen. (De ouderwetse manier van: ik weet nog niet wat de signalen precies moeten doen is dat je de 4 signalen een ROM instuurt. Een 28F256 heeft 65536 maal te veel opslag aan boord, maar het werkt wel).

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
fatbeard

Honourable Member

@MGP:
Dat kan ik inderdaad niet weten, maar de besturing weet in welke stand die wissel hoort te staan en kan de boel dan corrigeren.

Zet iets of iemand de wissel handmatig om wordt dat dus ook gecorrigeerd, een beetje zoals een useless box (al lijkt dit me dan wel weer handig).

@rew:
Da's ongeveer wat ik nu doe: ik bepaal A-B en B-A en kijk welke daarvan groter is dan de drempel.
Dat levert twee digitale signalen op: 4 toestanden.
Klaar.

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Niet helemaal want "geen signaal" is nog steeds niet te onderscheiden van "te klein verschil".

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/
fatbeard

Honourable Member

Touché! :) (scherp hoor)
Gelukkig maakt dat in de praktijk van de wisselbediening weinig uit...

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.
fred101

Golden Member

zodra ik hysterese toevoeg in de comparators houdt de schakeling op te functioneren...

Hierdoor werd ik op het verkeerde been gezet, ik zag opamps in de sim dus ik dacht dat je die als comparator gebruikte. In opamps for everyone wordt een hele pagina gebruikt om uit te leggen waarom dat geen goed idee is.

Is er geen andere detectie mogelijk ? bv de puls gebruiken om een condensator op te laden. De lage puls is korter in duur en lager in spanning. Het verschil in eindspanning over de Cs zal hoger zijn dan het verschil in topspanning maar zal ook eerder een triggerpunt bereiken. Wat er daarna gebeurd is niet meer van belang want de flipflop/comparator etc is dan al geactiveerd. (Maar dan zit je misschien nog steeds met mogelijke lijnvervuiling die valse triggers levert).

Aan de andere kant is 30 mV niet zo lastig als het om een mooie schone puls gaat in een mooie schone afgeschermde omgeving zonder electromotertjes en vonkende slepers die het net vervuilen.

www.pa4tim.nl, www.schneiderelectronicsrepair.nl, Reparatie van meet- en calibratie apparatuur, ook maritieme en industriele PCBs
fatbeard

Honourable Member

Tsja, het schemasymbool voor een opamp en een comparator is wel hetzelfde...
Ik had toch al verteld dat door de logica van LTspice ik de comparators uitspaarde in de sim?

Ik heb ook een sim gedraaid met opamps als comparator: dat werd ineens heel kritisch, zeg maar veel te kritisch. Met een 'echte' comparator liep het als een zonnetje.

De spanning is het gevolg van een korte activering van beide wisselspoelen. Zo kort, dat de stroom erdoor nooit een waarde bereikt die enige mechanische arbeid kan verrichten; maar wel lang genoeg om een bruikbaar spanninkje op te wekken over een weerstandje.
Omdat ik alleen geïnteresseerd ben in het verschil tussen beide spanningen als dat groter is dan een drempelwaarde pas ik verschilversterkers toe, zodat ik met een 'normale' drempelspanning kan werken. Het eindresultaat van de analoge bewerkingen wordt dan op het wegvallen van de sturing ingeklokt.

Over lijnvervuiling maak ik me geen zorgen: alle eventuele storing komt als common-mode binnen en wordt door de verschilversterkers keurig geëlimineerd. Eventueel door de aansturing opgewekte differential-mode storing wordt voldoende onderdrukt door het laagdoorlaatfilter 100Ω/100n.

Een goed begin is geen excuus voor half werk; goed gereedschap trouwens ook niet. Niets is ooit onmogelijk voor hen die het niet hoeven te doen.

Soms moet je een stapje terugdoen en eens kijken wat je echt ziet op dat plaatje. Wat ik zie is niet alleen dat de piek hoger is, maar het hele plaatje.

Wat is storingsongevoelig? Iets wat integreert. Een integrator is uit zichzelf al een filter. En een integrator neemt niet de piek maar meet de oppervlakte. En die oppervlakte is duidelijk groter bij die grijze curve.

De oplossing is dus integreren, oppervlak nemen. Met een paar opampjes kan dat wel. De integrator moet wel "leeglopen". Je zou ook ervoor kunnen kiezen hem continue te resetten onder bepaalde spanningen. Zodra de spanning hoog genoeg is 2 integrators aan, aan het einde van de puls zie je een flink spanningsverschil. En omdat een integrator automatisch filtert is het storingsarm.

Er zijn zo nog wel meer oplossingen te verzinnen.

Het basisprincipe waar ik hier van uitga is dat ik alle informatie in het signaal gebruik en niet alleen dat korte piekje.

Soms beschuldigt men mij ervan met andere oplossingen dan anderen te komen.