PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit 4..20mA Schnittstelle



SteffenJ
23.10.2006, 10:49
Hallo zusammen,

ich habe an einen PIC18F452 5 Helligkeitssensoren (0..150000lx) angeschlossen. Das Signal der Sensoren wird als 4..20mA Signal ausgegeben, welches über einen 250Ohm Widerstand in 1-5V gewandelt wird. Soweit funktioniert das ganze.
Nun das Problem: Ich habe die Sensoren eine zeitlang laufen lassen und dabei hat sich herausgestellt, dass die Werte, welche der AD-Wandler zurückgibt sich wiederholen, d.h. er gibt als AD-Wert 523 zurück, springt auf 610 und fällt dann wieder auf den Wert 523. Auch bleibt er eine zeitlang auf diesem Wert, so dass sich Treppenstufen bilden, dass es aussieht, als ob der Sensor in die Sättigung gegangen ist. Nur gibt es auch höhere Messwerte, so dass es keine Sättigung sein kann. Auch sind die Treppenstufen auch jeweils auf verschiedenen Niveaus.
Nach Anruf beim Sensorhersteller bekam ich die Auskunft, dass evtl. die Schaltung des PIC nicht genügt mit Strom versorgt ist und er deswegen über den AD-Wandler den Strom vom Messsignal aufnimmt. Kann das sein? Die Spannungsversorgung ist eine Sitop von Siemens (24V, 2,5A) mit der Sensoren und Controller versorgt werden. Stromaufnahme der gesamten Schaltung liegt bei ca. 200mA, also sollte die Sitop ausreichen.
Im Anhang habe ich eine aufgenommene Messkurve eingefügt.
Wie kommt es zur Treppenbildung?

Grüsse
SteffenJ

magnetix48
23.10.2006, 11:04
Hallo SteffenJ,

wenn du einen Skop zur Verfügung hast, kontrolliere als erstes mal die Betriebsspannungen, die Referenzspannung des ADC und die Signale direkt an den 250 Ohm-Widerständen. Hast du vieleicht eine überlagete Wechselspannung auf den Sensorsignalen?
Sehen schon etwas merkwürdig aus, deine Messwerte.

Gruß
Detlef

SteffenJ
23.10.2006, 11:11
Hallo magnetix48,

habe noch vergessen die Messkurve genauer zu beschreiben: Die senkrechten Striche zeigen verschiedene Messzeitpunkte an, habe nur alle in eine Kurve zur Übersicht zusammengefasst. Die Werte wurden jeweils im Abstand von 2Sekunden aufgenommen, also ist zum Beispiel die Stufe, welche bei Messpunkt ca. 3000 anfängt und bei ca. 3200 endet, 400 Sekunden lang. Von daher denke ich, dass da keine so langsame Wechselspannung drauf ist.
Das mit dem Skop werde ich jetzt mal prüfen, indem ich direkt am Sensorausgang messe, ob da die Werte auch so stufenförmig rauskommen.

Grüsse
SteffenJ

SteffenJ
23.10.2006, 13:43
Bin jetzt beim Experimentieren auf die Wandlungsgeschwindigkeit des ADC gekommen. Kann es daran liegen, dass der PIC mit 20MHZ getaktet ist und ich als ADC-Geschwindigkeit 1:2 eingestellt habe? Bei ersten Tests mit 1:64 sieht das Ergebnis schon besser aus.

Grüsse
SteffenJ

ps: Wie bekomme ich diesen Thread denn ins entsprechende PIC-Forum, damit ich dort weiter fragen kann?

BigWumpus
25.10.2006, 23:30
Ja, daran liegt es- Ließ im Datenblatt im Bereich ADC-Wandler mal den Abschnitt mit den Wandlerzeiten !

SteffenJ
26.07.2007, 11:34
Kann es sein, dass bei einer Messreihe, welche um die 200 (+/- 4) AD-Wandler-Ticks einzelne Ausreisser bei 250 Ticks liegen, wenn die acquisition time nicht eingehalten wird? Oder muss ich dann an einer anderen Stelle suchen? Versuche ein 4..20mA über einen 250Ohm Widerstand zu messen...

PIC18F452, Takt: 20MHz



void pause(void);

void adc_init()
{
OpenADC( ADC_FOSC_32 & ADC_RIGHT_JUST & ADC_8ANA_0REF, ADC_CH0 & ADC_INT_OFF );
}
void pause(void)
{int i=0;

for(i=0;i++;i<=1000);

}
void adc_messung()
{



// Sensor 1 einlesen
while (BusyADC());
SetChanADC(ADC_CH3);
while (BusyADC());
pause();
ConvertADC();
while (BusyADC());
dat.mw1=ReadADC();

SteffenJ
01.08.2007, 17:46
Keiner? Hmm... Wie wirkt sich das denn überhaupt aus, wenn die Aquisition time nicht eingehalten wird? Sind die gemessenen Werte dann eher zu gering oder können sie auch zu hoch werden?

Grüsse
Steffen