- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 12

Thema: Widerstandsmessung mit Arduino

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.02.2006
    Beiträge
    267
    Also die Schaltung sueht so aus wie auf dieser Seite hier:
    http://electronfun.com/project_4.php

    Nur der eine Testwiderstand ist durch die Bahn ersetzt worden. Es handelt sich dabei um eine Leitende Bahn mit hohem Widerstand die ich mit einem Kontakt abfahren kann.

    Ich habe auch, wie empfohlen, den Code geändert. Es kommt nur einmal "Start" am Anfang, dann nur die Messwerte.
    So sieht das dann im Plotter aus wenn ich mich an einem Punkt der Bahn aufhalte.

    Klicke auf die Grafik für eine größere Ansicht

Name:	Ohmmeter.jpg
Hits:	30
Größe:	14,3 KB
ID:	33099

    Die Abstände sind recht regelmäßig, keine Ahnung wieso das nicht konstant angezeigt wird, es ist auch nicht bei 100ms die ich als Messintervale angegeben habe.

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    16.02.2014
    Beiträge
    80
    Da ist was faul an Deinem Aufbau oder Du hantierst mit den falschen Widerständen. Ein 1k-R kann an 5V niemals heiß werden, wie gesagt.

    Besorg Dir mal ein Multimeter und meß die von Dir verwendeten Widerstände nach. Meß dann auch scherzhalber mal die Spannung am 5V-Pin (nach GND natürlich). In DC-Stellung sollten 5V +- 0,2V anstehen, in AC-Stellung höchstens einige mV. Beide Messungen sind wichtig um die Güte der Arduino-Betriebsspannung zu beurteilen.

    Wenn das ok ist dann laß mal Deine Bahn weg und bau das genauso auf wie abgebildet, und zwar wie dort mit 2x mindestens 220R. Und starte das Meßprogrammchen nochmal.

    Der Referenzwiderstand sollte für die beste Meßauflösung in der Größenordnung des Meßwiderstands liegen - das wird dann also von Deiner Bahn bestimmt. Ich habe jetzt zwar nicht die Eingangswiderstände der Arduino-Analogeingänge im Kopf aber 1M-Ohm als Meß- oder Ref.widerstand dürfte ziemlich schon in der Grauzone liegen. Wenn Du wirklich so hochohmig messen willst (oder auch wenn's niederohmiger als 100R wird) mußt Du mehr externen Schaltungsaufwand treiben.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    57
    Beiträge
    2.814
    Ein Multimeter als Mindestausstattung an Messgeräten sollte wirklich vorhanden sein.

    Und auch das Wissen wie man mißt ohne zum einen "Mist" zu messen und zum anderen das Messgerät zu beschädigen oder zu zerstören.

    Heutige Kleinlastwiederstände haben üblicherweise 1/16W (früher 1/8W)

    beim I=U/R

    I=5V/1000Ohm (1kOhm)

    I=0,005A=5mA

    und P=U*I

    P=5V*0,005A

    P=0,025W

    sollte ein 1/16 W Widerstand nicht heiß werden.

    1/16W=0,0625W

    0,025W=X
    0,0625W=100%

    X=(0,025W*100%)/0,0625W

    X=40%

    Also mal durchmessen ob der vermeintliche 1k Widerstand wirklich ein k hat.
    (bei meinem letzten Einkauf in einer Conrad Filiale, hat es der Verkäufer bei 8 unterschiedlichen Widerständen geschafft zwei falsche einzupacken)
    Kann also durchaus vorkommen, das man nicht das bekommt was man wollte.
    Im Extremfall kann sogar mal ein Widerstand beim Umstellen der Produktionslinie mit dem falschen Wert gekennzeichnet sein und der wurde dann ausversehen nicht weggeschmissen sondern landete dann im Verkauf.
    (hatte ich einmal 1993, allerdings war da Wert höher als der Ringcode angab)

  4. #4
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.02.2006
    Beiträge
    267
    Nun habe ich das Ding mit Widerständen aufgebaut und es sieht nun wieder so aus:
    Klicke auf die Grafik für eine größere Ansicht

Name:	Arduino Messung.jpg
Hits:	27
Größe:	12,6 KB
ID:	33136
    Sollte das nicht bei einer Messung auf dem selben Wert bleiben, schon weil es ein einfacher Widerstand ist?
    Das Ganze sieht ziemlich ungenau aus.

  5. #5
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    57
    Beiträge
    2.814
    Du rechnest munter mit "float" und "int".
    Ich selbst vermeide float wo es nur geht, da die Verarbeitung deutlich langsamer ist als bei int.
    Wenn ich mir mal kurz die Arduino Referenz ansehe:
    https://www.arduino.cc/reference/en/...a-types/float/

    Versuch doch mal als erstes:
    Vout = (Vin * sensorValue) / 1023;
    in
    Vout = (Vin * (float)sensorValue) / 1023;
    zu ändern.
    Dann rechnest Du zumindest schon mal nicht mehr mit Äpfeln (int) und Birnen (float).

    https://www.arduino.cc/en/Reference/Cast

    Schneller wäre die ganze Berechung mit Int oder (wenn den 32 Bit benötigt werden) mit long durchzuführen.
    Mann kann das ganze ja auf Millivolt oder Mikrovolt trimmen. Die Umrechnung in Volt und den Nachkomma Bereich ist dann nicht so schwer.
    Geändert von i_make_it (25.12.2017 um 14:56 Uhr)

  6. #6
    HaWe
    Gast
    Zitat Zitat von i_make_it Beitrag anzeigen
    Du rechnest munter mit "float" und "int".
    Ich selbst vermeide float wo es nur geht, da die Verarbeitung deutlich langsamer ist als bei int.
    Wenn ich mir mal kurz die Arduino Referenz ansehe:
    https://www.arduino.cc/reference/en/...a-types/float/

    Versuch doch mal als erstes:
    Vout = (Vin * sensorValue) / 1023;
    in
    Vout = (Vin * (float)sensorValue) / 1023;
    zu ändern.
    Dann rechnest Du zumindest schon mal nicht mehr mit Äpfeln (int) und Birnen (float).

    https://www.arduino.cc/en/Reference/Cast

    Schneller wäre die ganze Berechung mit Int oder (wenn den 32 Bit benötigt werden) mit long durchzuführen.
    Mann kann das ganze ja auf Millivolt oder Mikrovolt trimmen. Die Umrechnung in Volt und den Nachkomma Bereich ist dann nicht so schwer.
    das stimmt nicht, (Vin * sensorValue) wird automatisch (implizit) zu float gecastet, weil einer der beiden Faktoren bereits als float vordefiniert ist.
    Außerdem hat der OP sicherlich kein Timing-Problem mit float.
    delay(100); // Delay in milliseconds between reeds

  7. #7
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    04.02.2006
    Beiträge
    267
    Ich push das mal nach oben weil das Problem noch besteht und ich dazu eine weitere Frage habe:

    Kann es sein dass die genannten Abstände durch die HArdware selbst, also durch deren Beschränkungen zustande kommen?
    Wie kann ich das am Besten mit einem Oszilloskop durchmessen und bestätigen oder widerlegen?

Ähnliche Themen

  1. Weitere Frage zur Widerstandsmessung II
    Von Modellbauer im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 12.07.2016, 17:53
  2. Komische Widerstandsmessung bei Schrittmotor
    Von chris61233 im Forum Motoren
    Antworten: 2
    Letzter Beitrag: 09.09.2009, 15:28
  3. Widerstandsmessung - Frage
    Von Hei.Mor im Forum AVR Hardwarethemen
    Antworten: 11
    Letzter Beitrag: 08.12.2007, 22:45
  4. ATMega32 - Widerstandsmessung
    Von julien im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 21.04.2007, 13:31
  5. Multimeter Spannung bei Widerstandsmessung
    Von ChrisM im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 19.08.2005, 16:09

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress