Hallo,
habe folgende Schaltung aufgebaut und lese diese mittels Arduino aus.
Das auslesen ist nicht das Problem jedoch schwanken die Werte extrem.
Z.b. habe ich versucht die Spannung an einer 9V Batterie zu messen und
an 4 Volt Wechselspannung. Aber die Werte waren beide male sehr
schwankend. Woran kann das liegen?
Hier der Code:
1 | int CS = 10;
|
2 | long adc_value;
|
3 | unsigned long b1;
|
4 | unsigned long b2;
|
5 | unsigned long b3;
|
6 |
|
7 | void setup()
|
8 | {
|
9 | SPI.begin;
|
10 | SPI.setBitOrder(MSBFIRST);
|
11 | SPI.setDataMode(MODE2);
|
12 | SPI.setClockDivider(DIV32);
|
13 | }
|
14 |
|
15 | void loop()
|
16 | {
|
17 | digitalWrite(CS,LOW);
|
18 | SPI.transfer(0x17);
|
19 | delayMicroseconds(25);
|
20 | b3 = SPI.transfer(0x00);
|
21 | b2 = SPI.transfer(0x00);
|
22 | b1 = SPI.transfer(0x00);
|
23 | adc_Value = b3 << 16;
|
24 | adc_Value I= b2 << 8;
|
25 | adc_Value I= b1;
|
26 | digitalWrite(CS,HIGH);
|
27 | }
|
So ganz kurz der Code. Glaube nicht dass der Fehler im Code liegt, habe
auch noch einen anderen Code getestet, auch da schwanken die Werte so
extrem trotz Mittelwert Bildung!