Widerstandsmessung über Spannungsteilerverhältnisse

Hallo,

ich möchte ganz ohne weitere Bauteile einen Widerstand mit einem Mikrocontroller messen.

Der Mikrocontroller verfügt über einen eingebauten Referenzspannungsgenerator der aus einer Kette von Widerständen besteht. Den kann ich auf einen Portpin schalten, da den Widerstand anlegen und die Spannung am Portpin messen.

Jetzt möchte ich den Wert des Widerstandes in Ohm herausfinden in dem ich bei verschiedenen Einstellungen der Referenzspannungsquelle die Spannung am Portpin messe.

In dem µC sind 8R, dann 16x R und zum abschluß wieder 8R drin wobei der letzte R überbrückt werden kann. Ich kann auf einen der 16 Punkte zwischen den R umschalten. Die R sind laut Hersteller alle identisch, R an sich ist aber unbekannt was daran liegt, dass die Laserabgeglichen werden um die alle gleich zu machen, dafür haben die dann von IC zu IC verschiedene Werte. Das reicht um die Referenzspannung sehr genau schalten zu können, dafür ist R eben unbekannt.

Jetzt möchte ich in dem Programm den gesuchten, außen angeschlossenen Widerstand berechnen in dem ich die Widerstandskette umschalte und bei verschiedenen einstellungen die Spannung am gesucten Widerstand messe.

 VCC
  +
  |
  |
 .-.
 | | 8R
 | |
 '-'
  |
  |
 .-.
 | |
 | | R
 '-'
  |                 .------.
  o-----------------o      |
  |             1   |      |
 .-.                |      |
 | |                |      |
 | | R              |      |
 '-'                |      |
  |              2  |      |
  o-----------------o      |
  ………………………………………………|…………………………………………
  o-----------------o      |
  |          14     |      |
 .-.                |      |
 | |                |      o---o---|
 | | R              |      |       |
 '-'                |      |       |
  |          15     |      |      .-.
  o-----------------o      |      | |
  |                 |      |      | |
 .-.                |      |      '-'
 | |                |      |       |
 | | R              |      |       |
 '-'                |      |      ===
  |          16     |      |      GND
  o--------o--------o      |
  |        |        '------'  R unbekannt
 .-.       |
 | | 8R    o |
 | |         |=|
 '-'       o |
  |        |
  |        |
 ===      ===
 GND      GND

Ich hatte da schon mit Formeln hantiert und ein Programm geschrieben, da kommt aber "alles und nichts" bei raus, die Ergebnisse sind völlig unbrauchbar. Vermutlich wie die Formel zu kompliziert ist und die Rundungsfehler extrem werden.

Hat einer eine Idee wie man das in einfachen Formeln und/oder Programmschritten (ich benutze hier C) möglichst ohne Fließkomma und mit wenigen Multiplikationen und divisionen hin kriegt?

Elektronik, Elektrotechnik, Mikrocontroller, messen, Widerstand

Meistgelesene Beiträge zum Thema Elektrotechnik