MKR FOX 1200 Spannungsteiler

Hi,
ich habe folgendes Problem, wenn ich meinen Arduino über USB betreibe, kann ich mit der Referenzspannung und einem Spannungsteiler die Batteriespannung ermitteln über den AD Wandler(3,3 Volt Uref). Wenn ich das ganze aber über die Batterieklemmen betreibe, passt die ermittelte Spannung aber nicht mehr, da es mir so scheint, dass die Referenzspannung nicht mehr passt/Die Batteriespannung als Uref genommen wird. Über AR_DEFAULT kriege ich die auch nicht festgesetzt.

Kennt einer von euch das Problem beziehungsweise weiß, ob man die 3,3 Volt als Referenz setzen kann.

Als Referenzspannung wird standardmäßig die 3,3V Spannungsversorgung benutzt. Bei Batteriebetrieb ist die Batteriespannung dann gleichzeitig die Referenzspannung. Dann geht das nicht mehr. Du kannst aber auf die interne Referenz wechseln:
https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/
Du hast mit dem MKR FOX 1200 ein Arduino SAMD Board. Da steht Dir z.B. eine 1,0V Referenz zur Verfügung.

Aber Vorsicht: Eine Referenzspannung von 1V bedeutet das die Spannung an den Analogen Eingängen nicht über die Referenzspannung steigen darf! Also Spannungsteiler anpassen!

Gruß, Jürgen

Edit: 1. Satz verbessert.

Dürfen schon, aber == Referenzspannung ist Vollausschlag.

Gruß Tommy

Alles klar danke, so habe ich es mir schon fast gedacht, wenn ich mir den Schaltplan anschaue.
Das ungünstige ist, dass ich noch einen analogen Feuchtesensor habe, wo ich dann ja auch noch einen Spannungsteiler einbauen muss(bis 3 Volt Ausgang). Geht dadurch dann die Auflösung runter oder macht das nichts?

Alles was > Vref ist, ist Anschlag. Das brührt die Auflösunf nicht. Ich verstehe Deine Frage nicht.

Gruß Tommy

Das ist schon klar, aber brauche ich ja den ganzen Bereich um alle Feuchtewerte abzubilden( 0-3 Volt) und somit einen Spannungsteiler, wodurch ich dann nur 1 Volt höchstens messe.

Ok, im SAMD21 Cortex®-M0+ 32bit low power ARM Datenblatt habe ich jetzt nichts gefunden.
Im ATmega 328 Datenblatt steht in der Sektion "29.8 ADC Characteristics" bei "Input voltage" für die analogen Eingänge: GND bis VREF. So kenne ich das.

Gruß, Jürgen

Der AD-Wandler hat 12 Bit, egal bei welcher Referenzspannung. Wenn Du eine 3V Referenz nimmst und die Sensoren direkt anschließt kommt theoretisch das gleiche raus wie bei einem Spannungsteiler der aus 3V 1V macht und einer Referenz von 1V.
Soviel zur Theorie. Praktisch ist das ein wenig komplizierter.

  1. Jeder Widerstand hat eine gewisse Toleranz. Das verfälscht das Ergebnis ein wenig.
  2. Jeder AD Wandler hat eine gewisse Kapazität (Kondensator). Dieser muss geladen werden. Je größer Deine Widerstände, umso schlechteres Ergebnis. Das kann aber durch einen zusätzlichen kleinen Kondensator direkt am analogen Eingangspin behoben werden.
  3. Störstrahlungen haben auch mehr Chancen wenn die Widerstände zu groß sind.

Du musst wohl oder übel auch den analogen Sensorausgang runterteilen. Theoretisch könntest Du immer die Referenz umschalten, je nachdem was Du messen willst. Aber das bringt nichts weil Deine Referenzspannung mit der Betriebsspannung schwankt. Wenn der Sensor 1,5V bringt und Du hast 3V Betriebsspannung bringt das ein anderes Ergebnis als mit 3,3V Betriebsspannung.
Mit der internen Referenz hast Du immer was genaueres zur Verfügung.

Zur Auswahl steht theoretisch:

  • AR_INTERNAL1V0: a built-in 1.0V reference
  • AR_INTERNAL1V65: a built-in 1.65V reference
  • AR_INTERNAL2V23: a built-in 2.23V reference

Mit BOD (Brown Out Detector) abgeschaltet geht der Mikrokontroller theoretisch bis 1,62V runter und läuft dann nicht mehr. Durch Bauteile im Strompfad auf der Platine ist es ein wenig mehr was er braucht. Deshalb würde ich die 2,23V Referenz nicht nutzen. Die 1,65V könnte funktionieren. Kommt aber natürlich auch darauf an bis zu welcher minimalen Spannung Deine restlichen Bauteile funktionieren.

Gruß, Jürgen

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.