Hallo

om de kleine verandering in een magnetisch veld te meten gebruik ik een analoge Hall sensor(SS49E) en een ADS1115 16 bit ad convertor.
Ondestaand eenvoudig "schema"

Hall sensor + 5 Volt
Hall sensor uitgang ------ > ADS1151 ==> naar ESP32
Hall sensor Gnd

Doordat het magnetisch veld klein is, is de uitgangde spanning van de Hall sensor steeds in de buurt van 2.5 volt.

Daarom heb ik de prescaler van de ads1115 op -4 .096 tot + 4.096 volt ingesteld,en heeft de verandering een verandering van ongeveer 30 eenheden ( van de 2^16 =64000)

Graag had ik een beter meting gehad, een 16 bit ADC (0 tot 64000) gebruiken voor een nuttig signaal van 30 is niet echt fantastisch ?

Opties waar ik zelf aan dacht :

- Hall sensor tussen -4.4 volt en 5 volt hangen zodat uitsignaal altijd rond de 0.3 volt zit, en hierbij de ADS op een kleinere range instellen. (*0.512 tot +0.512volt) => 8 keer meer signaal
- een C+R tussen meet signaal en ads1115 , waardoor enkel de delta gemeten wordt. Deze delta kan dan gemeten worden met een kleoinere range. Probleem is hierbij dat het meet signaal afhankelijk is van de snelheid waarbij magn,etisch veld veranderd?
- instrumentatie versterker ( nogal complex daar er 4 sensoren zijn)
- brute force : een ads1256 , die 24 bit is => 30 x 256 eenheden signaal?
- een digitale sensor gebruiken (Melexis of zo) : nogal traag

Zijn er andere opties? Welke van bovenstaand eis 't best?

mvg
Jan

Geeft je sensor tussen de 0 en de 5V, met 2.5V als er 'geen' extra magneetveld is, meer dan 2.5V bij een veld in de ene richting en minder dan 2.5V bij een veld in de andere richting?

Als je alleen een stukje boven of onder de 2.5V gebruikt, zeg een halve volt rond de 2.5, dan kun je ook ongeveer 2 V van je signaal afhalen. Je ADC kan differentieel meten, dus dan bied je die 2V aan op de andere ingang. (Of als je elk van de ADC ingangen in gebruik hebt voor elk een andere sensor kan het ook met een opampje.)

7.3.1 Multiplexer
The ADS1115 contains an input multiplexer (MUX), as shown in Figure 7-4. Either four single-ended or two
differential signals can be measured. Additionally, AIN0 and AIN1 can be measured differentially to AIN3.

Als je dan van 2 tot 3 V uitgangsspanning die 2 V hebt afgehaald zodat je 0 tot 1 V over houdt, kun je ook je referentiespanning aanpassen op 1 V Full Scale Range (1.024V).

Beetje met software spelen?
Dit gaat over de ATMega, maar is algemeen toepasbaar .

Atmel_Oversampling_ADC.pdf

Lijkt me het makkelijkste om via TL431 Een stabiel spanning op bv 2,3V te maken.

https://www.benselectronics.nl/tl431a-triode.html?source=googlebase&am…

Dan door ADS1151 differentieel in te stellen kan je meten tussen de referentie spanning van 2,3V en de hall sensor. Dan kan je ADS1151 ook instellen voor 0,5V ingang range

Je kunt de Vref van de AD converter toch instellen naar wens?
Let wel: Voeding van een 16 bit AD converter moet zeer stabiel zijn, gewoon aan de 5v knopen voldoet niet.

Op dinsdag 26 augustus 2025 19:08:40 schreef Arco:
Je kunt de Vref van de AD converter toch instellen naar wens?
Let wel: Voeding van een 16 bit AD converter moet zeer stabiel zijn, gewoon aan de 5v knopen voldoet niet.

Ja dat is waar maar als je die instel op 2V en en je te meten signaal zit op 2,5V dan zit je buiten het meet bereik.

Het probleem is die 2.5V die je single ended in wil lezen.

Ik heb zelf een Hallsensor ontwikkeld, zie https://www.asensor.eu. Die heeft een differentiële uitgang en kan zo een ADC met differentiële ingang in, eventueel via een instrumentatieversterker.

Geef eens wat meer info over de grootte van het magneetveld? En van de grootte van de veranderingen die je wil detecteren? En van de bandbreedte en je gewenste nauwkeurigheid?

Dan denk ik wel even met je mee.

Hallo allemaal

eerst en vooral bedankt voor het meedenken !

@Lucky Luke : 2.5 volt is voor 0 magnetisch veld, 0 volt is max NZ veld , en 5 volt is voor max ZN veld. Meestal een klein veld dus in de buurt van 2.5 Volt.

@benleentje :Het probleem met differentiële adc is dat ik dan maar 2 meet punten heb , en ik 4 sensoren heb. Voor de rest van het project heb ik nog een ads1115 nodig, en de meet frequentie is nogal hoog (860 sps) waardoor een derde ads1115 moeilijk wordt.

@hoeben : de meeting is voor een proof of concept (quick and dirty ;-), nog niet voor een echte machine.
Het veld die ik nu meet is eerst -1.3 Gaus en daarna +1.3 Gaus. De absolute grote van het veld is niet zo belangrijk, vooral de detectie van verandering is van belang.

Ik verwacht dat de puls frequentie ongeveer 15 Hz zal blijven en dat de pulsduur +/- 1ms .

mvg
Jan

PS zou dit een oplossing zijn:
en de ads1115 instellen op -0.256 Volt tot + 0.256 Volt

[Bericht gewijzigd door fablab op (49%)]

Ja, dan heb je je sensor AC gekoppeld aangesloten en ben je de offset dus kwijt. Maar eventueel statisch veld kun je dan ook niet meer meten.

Je huidige 470 nF en 10k geven een kantelfrequentie van 1/(2πRC)=33.9 Hz
Dus ik denk dat je een grotere R of C wilt als je signaal 15 Hz is, anders verzwak je je signaal nogal.

Waarom eigenlijk een luxe 16 bit adc als alleen de verandering van belang is en niet de absolute waarde?
Als het bijvoorbeeld 1 puls per omwenteling moet geven ofzo (magneetje op een as) kun je toch ook een hallsensor met een digitale uitgang gebruiken? (En dan bedoel ik niet SPI of I2C maar gewoon 'aan' of 'uit')

@Lucky luke : de 16 bit is idd overkill, zeker daar de prijs hiervoor minder samples per seconden is . Ik test in 't weekend de RC met een grotere C en R en kijk of dit werkt.

Het magnetisch veld groter maken kanjammer genoeg niet , dus zal et zeker veel te klein zijn voor een "digitale" aan of Hall sensor.

Ik hou jullie op de hoogte.
mvg
Jan

1.3 Gauss is maar 0,13 mT (milliTesla), 130 µT. Dat is weinig voor een Hall sensor. Alhoewel het wel moet gaan zit je onderaan het normale gebruikspectrum. Ik denk dat misschien een GMR of AMR sensor handiger gaat zijn.

Als ik het goed begrijp heb je met 15 Hz, dus om de 67 millisecondes een puls van 1 milliseconden.

Dat betekent dat als je filtert, je de puls wel wil blijven zien. Dus niet filteren op die 15 Hz maar op een paar kHz. Hoe je puls er uitziet na het filter kun je heel makkelijk in LTSpice zien.

Hallo
zopas een LTspice simulatie gedaan van het RC schema, en nadien het C'tje en de R ook toegevoegd aan de echte opstelling.
De filter met 200nF en 4700 Ohm doet zowel in de simulatie als in de praktijk de DC component volledig verdwijnen, zonder veel van de amplitude van het echte signaal weg te doen.
Daardoor kan ik de ADC instellen op een kleiner bereik instellen (-0.256 tot + 0.256 ipv -4.096 tot + 4.096)
Daardoor heb ik 16 keer meer resolutie => van +/-15 naar +/- 200 signaal uit de adc

(Heel) soms werk echt alles ;-)))

mvg
Jan
ps Bedankt voor 't meedenken.