Hi, ich komme über BAV99 Schutzdiode und C (zur Masse) an ADC Eingang. Frage: wenn Sensor abgesteckt ist, reicht "Masse" über BAV99 und C damit ADC nicht floatet und ungültige Werte liefert? Konkret geht es um PIC18. Habe keine interne weak pulldown/pullup gefunden die ich zuschalten könnte. Grüße
ETechniker schrieb: > ADC Eingang. An welchem Port ist der ADC? Soweit ich mich erinnere haben fast alle PIC's an PORTB interne weak Pull-up's. Weiss allerdings nicht ob das bei allen PIC18 der fall ist. Gehts evt konkreter, welchen PIC du benutzt? Könnte man einen Blick ins betreffende Datenblatt werfen... Das betreffende Bit um die Pull-Ups zu aktivieren wäre übrigens RBPU. Evt kannst ja das mal in der suchfunktion beim Datenblatt eingeben ;)
Hm. Was sind für dich ungültige Werte..?? Falls du damit "irgendwas > 0" meinst, dann brauchst du einen pulldown.
Ich würd in Software prüfen, ob der Wert plausibel ist. Also irgendwas nahe an den Endwerten des ADC könnte man so problemlos aussortieren. Ein Pulldown könnte auf jeden Fall das Messergebnis verfälschen, fänd ich jetzt nicht so schön. Alternativ kann man auch einen Stecker mit Kurzschlußbrücke verwenden (erfordert einen zusätzlichen Kontakt auf dem Stecker) und über diese prüfen, ob ein Sensor eingesteckt ist. Das schützt allerdings nicht vor Sensordefekten, da wäre die Software-Lösung besser, z.B. wenn man (bei Normaldruck) flüssiges Wasser mit 150 Grad C misst.
Ein Schaltplan ist bei sowas oft sehr hilfreich. Und dann würde ich mir mal den Code anschauen. ADC´s können - und + und haben eine 0 Zone. Wenn du die nicht klar definierst wird er dir bei 0,01V auch schon was liefern. Je nach Code kann sich das dann blöd aufaddieren oder deine Variable ist nicht dafür ausgelegt.. Hach da gibts viel Zeuschs was falsch sein kann.
Kris M. schrieb: > Wenn du die nicht klar definierst wird er dir bei 0,01V auch schon was > liefern. Auch wenn man sie klar definiert, liefert er je nach Umständen schon etwas. Du kannst ja höchstens definieren, welche Referenz er haben soll und ob der Eingang als AD Wandler funktioniert oder als Komparator. Ist die Referenz bsp. 2,5V -> GND, dann hast du auch bei einer Auflösung von gerade mal 8 Bit: 2.5V / 256 = 0,0097V Sprich deine 10mV die du da als Beispiel angibst wären bereits ein erkannter Wert.
San Lue schrieb: > Gehts evt konkreter, welchen PIC du benutzt? Könnte man einen Blick ins > betreffende Datenblatt werfen... PCI18F6622. Genutzten ADC liegen am Port A/F. Port B hat TTL Eingänge, da sind auch pullups möglich. Mir geht es nicht darum niederohmig eine Massenreferenz zu haben, sondern überhaupt einen Massebezug zu haben. Sonst würde ich 1Meg zu Masse legen. Andererseits würde ich gerne darauf verzichten wenn die Diode ebenfalls diese hochohmigen Bezug herstellt. Mit Rauschen in niederwertigen 3 bits (bei 10bit ADC) kann ich gut leben.
San Lue schrieb: > Kris M. schrieb: >> Wenn du die nicht klar definierst wird er dir bei 0,01V auch schon was >> liefern. > > Auch wenn man sie klar definiert, liefert er je nach Umständen schon > etwas. Du kannst ja höchstens definieren, welche Referenz er haben soll > und ob der Eingang als AD Wandler funktioniert oder als Komparator. > > Ist die Referenz bsp. 2,5V -> GND, dann hast du auch bei einer Auflösung > von gerade mal 8 Bit: > 2.5V / 256 = 0,0097V > > Sprich deine 10mV die du da als Beispiel angibst wären bereits ein > erkannter Wert. Das war nur ein BSP. Es kommt ja darauf an was er messen möchte... Ich meinte ja nur das er schauen muss, dass er seine Ref oder seine 0 klar definiert. Weil genau 0 oder genau REF ist recht unmöglich..
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.