Hallo Forumsgemeinde, benötige wieder einmal Eure Hilfe... Habe hier einen MCP3208 12Bit ADC der nicht nachvollziehende Werte liefert. Habe euch im Anhang den momentanen Aufbau angehängt. Zur Zeichnung ist noch zu ergänzen das CH1-7 ebenfalls mit Widerstand und Kondensator aufgebaut sind und an einem Poti hängen. Ich bekomme folgende Werte: Wert[Digits] Ist[mV] nachgemessen[mV] 35 10.5 2.90 45 13.5 3.60 79 23.7 6.10 473 141.8 35.60 !127 38.1 59! !206 61.8 65! Wieso wird der Digit Wert weniger - bei steigender Spannung? Das gleiche passiert auch bei höheren Spannungen... z.B. 600mV Die Referenzspannungsquelle beträgt 1228mV. Habe auch schon testweise einen Kondensator (100nF) an die Referenzspannung gehängt - leider kein Erfolg... Momentan fällt mir nichts mehr ein was noch helfen könnte... Könnt Ihr mir da bitte ein wenig weiterhelfen. Gruß Tim
Tim M. schrieb: > Könnt Ihr mir da bitte ein wenig weiterhelfen. Wenn du uns dein Programm nicht zeigst - wohl kaum.
>Wenn du uns dein Programm nicht zeigst - wohl kaum. Ja klar - Programm ist aber sehr übersichtlich ;) Da ich zwischenzeitlich schon Zweifel an meiner SPI / MCP3208 Library hatte, habe ich testweise auf einen Arduino umgestellt. Aktuell also Arduino Nano mit externer Library (https://github.com/MajenkoLibraries/MCP3208) Die Werte dich ich bekomme sind identisch mit denen die ich mit meiner Library und dem Attiny bekomme. Der Code sollte es daher nicht sein... Der aktuelle Code sieht wie folgt aus:
1 | #include "MCP3208.h" |
2 | #include <SPI.h> |
3 | MCP3208 adc(10); |
4 | |
5 | void setup() |
6 | { |
7 | adc.begin(); |
8 | Serial.begin(9600); |
9 | } |
10 | |
11 | void loop() |
12 | { |
13 | Serial.println(adc.analogRead(2)); |
14 | delay(100); |
15 | } |
Edit: Evtl. wäre der Thread im "Analogtechnik" Bereich besser aufgehoben(?) Gruß Tim
:
Bearbeitet durch User
Tim M. schrieb: >> Aha. >>Und die aktuellen Werte ? > > Die Werte, die oben stehen ;) > !127 38.1 59! > !206 61.8 65! So ? Bist du dir ganz sicher ?
>So ? >Bist du dir ganz sicher ? ja... leider Habe jetzt Vcc als REF Spannung getestet... Vcc = 4.2V (USB Port) Wenn ich jetzt 2.1V am Poti einstelle müssten ca 2047 rauskommen - ich bekomme aber den Wert 1440. Hab auch schon ein zweites Messgerät dran - Poti Spannung stimmt... Edit: Das IC wurde ebenfalls schon einmal getauscht...
:
Bearbeitet durch User
Tim M. schrieb: > void loop() > { > Serial.println(adc.analogRead(2)); > delay(100); > } Du liest Kanal 2, hast aber das Poti an Kanal 0 angeschlossen?
Tim M. schrieb: > Könnt Ihr mir da bitte ein wenig weiterhelfen. An welchem Pin von welchem Arduino ist dein CS angeschlossen?
>Du liest Kanal 2, hast aber das Poti an Kanal 0 angeschlossen? >An welchem Pin von welchem Arduino ist dein CS angeschlossen? War alles richtig angeschlossen :) Hab jetzt den Fehler gefunden... Meine Library sowie die externe von Github hatten einen Fehler. Hab die eigene Library überarbeitet - jetzt läufts :) Dieser Code funktioniert einwandfrei: http://playground.arduino.cc/Code/MCP3208 Gruß Tim
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.