ADC zieht Spannung runter?

OP #1562380
Lesenswert?

Hallo zusammen,

ich habe ein größeres Problem mit meiner Strommessung (s. Anhang).

Funktiosbeschreibung:
Am Knotenpunkt R62, R62 und D24 messe ich eine Spannung, die dem Strom 
entspricht der über GND -> K1 nach "Zur Kaskade" fließt. Der Filter R62, 
L2 und C41 dient zum Filtern der doch sehr unsauberen Spannung. Danach 
siehst aber sehr gut aus.

Das funktioniert soweit auch, messe ich mit einem Multimeter am 
Knotenpunkt, dann messe ich genau die Spannung im gleichen Verhältniss 
zum Strom. Wenn 200 µA fließen also 200 mV.

Sobald ich aber nun den ADC "Zum ADC0" des ATMega128 drann hänge, zieht 
dieser mir die Spannung total in den Keller. Kann mir das jemand 
erklären? Ich steig da nämlich gerade garnicht durch.

Gruß
Snatch
Angehängte Dateien:
OP #1562423
Lesenswert?

Hallo,

ich arbeite mit Bascom.
1
Ddrf.0 = 0                                                  
2
portf.0 = 0

Das was ihr schreibt ist richtig. Hatte den Fehler am Anfang auch 
gemacht, weil ich vom A16 auf den A128 portiert habe und den Code nicht 
dazu angepasst habe. Aber jetzt ist alles korrekt. Port F als eingang 
und Pullups aus. Er zieht die Spannung zwar nicht mehr so weit runter 
aber immer noch weit genug (in einem Beispiel von 100 mV auf 70 mV)

Gibt es noch etwas zu beachten?

Was mit aufgefallen ist, wenn ich den Filter weglasse, also R62 abtrenne 
und den ADC direkt an R63 am Knotenpunkt hänge, dann zieht der die 
Spannung nicht mehr runter, sondern sie geht ums 4 fache hoch.

Nun ist aus mit Verständniss :(

Gruß
Snatch
#1562440
Lesenswert?

Da ist entweder was faul in Deiner Hardware oder Software.
Die ADCs sind sehr hochohmig. Ich hab am ATmega8 nen 1M in Reihe und 
100nF gegen GND am ADC und der mißt ohne Probleme.

Die Drossel kannste weglassen, hat keinerlei Wirkung.
Der 1k hat auch kaum Wirkung, ich würde mindestens 10k..100k nehmen.


Peter
OP #1562477
Lesenswert?

Hallo,

ja, da ist was faul, ich weis nur nicht was. Den ATmega habe ich bereits 
3x getauscht. Die Software ist gerade sehr minimal (s. unten).
Die Schaltung der Platine ist auch sehr minimal da dies nur ein 
Testboard ist (s. Anhang).

Die Schaltung ist auch sehr minimal, da dies nur ein Testboard ist (s. 
Anhang) Aber vielleicht seht ihr ja was was ich nicht sehe. Im Prinzip 
hängt der ADC direkt am Pin aus dem Anhamg im ersten Posting.

1
$regfile = "m128def.dat"
2
$crystal = 16000000                                   
3

4
Dim Adcwert2 As Word
5

6
Ddrf.0 = 0
7
Portf.0 = 0
8
Ddrf.1 = 0
9
Portf.1 = 0
10
Ddrf.2 = 0
11
Portf.2 = 0
12
Ddrf.3 = 0
13
Portf.3 = 0
14
Ddrf.4 = 0
15
Portf.4 = 0
16
Ddrf.5 = 0
17
Portf.5 = 0
18
Ddrf.6 = 0
19
Portf.6 = 0
20
Ddrf.7 = 0
21
Portf.7 = 0
22

23
Config Adc = Single , Prescaler = Auto , Reference = Avcc
24
Enable Adc
25

26
Do
27

28
Adcwert2 = Getadc(1)
29

30
Loop
31
End
Angehängte Dateien:
Gast #1562518
Lesenswert?

> zieht dieser mir die Spannung total in den Keller. Kann mir das jemand
> erklären?

Mit dem Multimeter am ADC0 gemessen ?

Ansonsten wäre es ziemlich ratsam auch ADC0 auszulesen, und nicht ADC1 
wie in Deinem Code. :D

> ...Getadc(1)
OP #1562528
Lesenswert?

Hallo,

sorry, ich lese den richtigen aus. Mir gehts auch weniger ums auslesen, 
sondern ich messe den Spannungsabfall mit dem Multimeter direkt am Pin.
Ob ich den nun in der Software auslese oder nicht ist ja egal, er würde 
ja die zu niedere Spanung auslesen die ich auch mit dem Multimeter am 
Pin messe.

Gruß
Snatch
Gast #1562670
Lesenswert?

> er würde ja die zu niedere Spanung auslesen die ich auch mit dem
> Multimeter am Pin messe.

Das ist richtig, nur war aus Deinem Post nicht ersichtlich, ob auch per 
Multmeter gemessen wurde.

So kurz der Code auch ist, so hast Du es doch geschafft zwei massive 
Fehler reinzuschreiben, einmal falscher Pin, und dann noch Enable Adc, 
das erlaubt den ADC Interrupt, nur ist keiner definiert, dafür sind 
wenigstens die Interrupts global auch nicht erlaubt.

Wenn sich diese Sorgfalt in der Hardware fortsetzt, dann ist mir klar 
warum das nicht hinhaut, da ist irgendein Murks in der Schaltung.

Die Eingänge des PortA sind auf jeden Fall sehr hochohmig und werden, 
falls korret beschaltet, das Messergebnis nicht beeinflussen.
OP #1562679
Lesenswert?

Hallo,

sorry, ich bin schon Sorgfälltig. Das kommt nur, vom hin und her 
kompieren und schnell schnell machen weil ich ne Antwort will. Ich sehe 
das wie du, es sollte das Messergebniss nicht beeinflussen, tut es aber 
dennoch.

Ich habe heute keine Zeit mehr, werde morgen mal den kompletten 
schaltplan posten.

GRuß
Snatch
OP #1564048
Lesenswert?

Hallo zusammen,

ich habe mal den Schaltplan eben für hier ins Forum neu dahingezeichnet. 
Ist nur eine Skizze soll aber die Schaltung im groben zeigen.

Problem ist auch Schaltplan beschrieben. Bitte keine nicht verbundenen 
Kontakte bemängeln, soll mehr zum Verständniss dienen :D

Die Frage lautet, warum zeigt das Voltmeter die Spannung richtig an, und 
sobald der µC drann kommt steigt diese. Was macht das Voltmeter richtig, 
dass der µC falsch macht.

hier noch der Abgespekte CODE
1
$regfile = "m128def.dat"
2
$crystal = 16000000
3

4
Config Lcdmode = Port                                       
5
Config Lcd = 16 * 2                                         
6
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.3 , Db6 = Portc.2 , Db7 = Portc.1 , E = Portc.4 , Rs = Portc.5       
7
Initlcd                                                    
8
Config Lcdbus = 4                                          
9

10
Waitms 150
11
Cursor Off Noblink                                          
12
Cls
13

14
Dim Adcwert2 As Word
15

16
Ddrf.0 = 0
17
Portf.0 = 0
18

19
Config Adc = Single , Prescaler = Auto , Reference = Avcc  Referencespannung Avcc = 5 V
20
Enable Adc                                                  
21

22
Do
23
Adcwert2 = Getadc(0)
24

25
Locate 1 , 1
26
Lcd Adcwert2
27
Waitms 500
28
Cls
29

30
Loop
31

32
End

Danke und Gruß
Snatch
Angehängte Dateien:
OP #1564146
Lesenswert?

Also, nochmals zu software. Auch so bleibt das Problem bestehen.
Selbst wenn ich den ADC-Teil weg lasse geht es nicht.
Problem wie oben beschrieben bleibt bestehen.

Es sollte nicht an der Software hängen.
1
$regfile = "m128def.dat"
2
$crystal = 16000000
3

4
Config Lcdmode = Port                                       
5
Config Lcd = 16 * 2                                         
6
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.3 , Db6 = Portc.2 , Db7 = Portc.1 , E = Portc.4 , Rs = Portc.5       
7
Initlcd                                                    
8
Config Lcdbus = 4                                          
9

10
Waitms 150
11
Cursor Off Noblink                                          
12
Cls
13

14
Dim Adcwert2 As Word
15

16
Ddrf.0 = 0
17
Portf.0 = 0
18

19
Config Adc = Single , Prescaler = Auto , Reference = Avcc  Referencespannung Avcc = 5 V
20
Enable Adc                                                  
21

22
Do
23
Adcwert2 = Getadc(0)
24

25
Locate 1 , 1
26
Lcd Adcwert2
27
Waitms 500
28
Cls
29

30
Loop
31

32
End

Auch mit dieser Verion geht es nicht.
1
$regfile = "m128def.dat"
2
$crystal = 16000000
3

4
Ddrf.0 = 0
5
Portf.0 = 0
6
                                        
7

8
Do
9

10
Loop
11

12
End
OP #1564151
Lesenswert?

Route_66 schrieb:
> Wenn ich den Schaltplan richtig lese, dann liegt am Widerstand
> WECHSELspannung an. Das kann der ATMega nicht!

Ja, könnte man denken, aber ist nicht so. Das Oszi zeigt eine fast 
Saubere gleichspannung an. Des weiteren liegt der ADC ja im Pfad der 
Ausgangsspannung der Kaskade und somit wieder in einem 
Gleichspannungspfad.
Das Multimeter an diesem Punkt ist auch auf Gleichspannungsmessung 
eingestellt und mist ohne den µC ja den richtigen Wert.

Komisch oder?

Was macht das Multimeter denn so anders?

Gruß
Snatch
#1564155
Lesenswert?

Denis H. schrieb:

> Was macht das Multimeter denn so anders?


Wie jetzt?
Steigt die Spannung, oder fällt sie, wenn du den µC anklemmst
Am Anfang war von 'die Spannung fällt, sobald der AVR drannhängt' die 
Rede. Irgendwo in einem der letzten Posts wars dann plötzlich 'die 
Spannung steigt, sobald der AVR drannhängt'
OP #1564159
Lesenswert?

Ja, im Moment steigt sie an, am Anfang fiel sie.
Ich habe nun herrausgefunden, dass es etwas mit der Masse zu tun haben 
muss.
Jenadem wo ich die Masse (ERDE) verbinde, bekomme ich unterschiedliche 
Werte. Obwohl ich alle ERDEN am Netzteil an einem Kotenpunkt 
zusammengeführt habe.

GRuß
Snatch
Gast #1564198
Lesenswert?

> Jenadem wo ich die Masse (ERDE) verbinde, bekomme ich unterschiedliche
> Werte. Obwohl ich alle ERDEN am Netzteil an einem Kotenpunkt
> zusammengeführt habe.

Da fehlen im Schaltplan die Details, Masse kann man nur einmal 
verbinden, µC Masse muss natürlich gleich Masse an der Kaskade/Fuß von 
R1 sein, sonst fehlt der Bezugspunkt.

Das hört sich alles so an, als ob eine Ableitung über den µC ergfolgt, 
da der Massepunkt nicht richtig definiert ist.

Würde man aber auch rausbekommen, indem man die Verbindung zwischen 
PortA.0 und Strommeßwiderstand öffnet und dort das Voltmeter reinhängt, 
bzw. zwischen µC Masse und Strommeßwiderstand.
OP #1564293
Lesenswert?

MWS schrieb:
>> Jenadem wo ich die Masse (ERDE) verbinde, bekomme ich unterschiedliche
>> Werte. Obwohl ich alle ERDEN am Netzteil an einem Kotenpunkt
>> zusammengeführt habe.
>
> Da fehlen im Schaltplan die Details, Masse kann man nur einmal
> verbinden, µC Masse muss natürlich gleich Masse an der Kaskade/Fuß von
> R1 sein, sonst fehlt der Bezugspunkt.
>
> Das hört sich alles so an, als ob eine Ableitung über den µC ergfolgt,
> da der Massepunkt nicht richtig definiert ist.
>
> Würde man aber auch rausbekommen, indem man die Verbindung zwischen
> PortA.0 und Strommeßwiderstand öffnet und dort das Voltmeter reinhängt,
> bzw. zwischen µC Masse und Strommeßwiderstand.

So ist es. Ich habe das ganze Board an der Stromklemme mit ERDE 
verbunden. Habe also einen geerdeten -. Alle Masseflächen auf dem Board 
sind Sternförmig mit diesem Punkt verbunden. Und genau so sieht es nun 
auch besser aus. Hatte vorher die Schaltung auf einem Steckbrett und die 
Masse (ERDE) wo anders her geholt.

Jetzt funktioniert es soweit. Weder geht die Spannung hoch noch runter, 
wenn ich den µC Dranhänge.

Teste jetzt gerade die ergebnisse in allen Lastbereichen und lasse Sie 
auf dem LCD anzeigen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren