Forum: Mikrocontroller und Digitale Elektronik LPC1768 - ARM Cortex M3 - KfZ Spannung auswerten


von André W. (sefiroth)


Lesenswert?

Hallo!

Ich steige gerade von Atmel AVR 8-Bit Mikrocontroller auf ARM Cortex M3 
(habe den LPC1768 gewählt) um. Da ich überwiegend Schaltungen für mein 
Auto entwickle, wollte ich mich gleich mal um den Eingangsschutz und die 
Auswertung von Bordnetzsspannungen informieren.

Für den AVR hatten wir hier im Forum die folgende Beschaltung 
entwickelt, mit der ich eine Bordnetzspannung direkt an einem IO-Pin 
auswerten kann. Hintergrund der Schaltung ist, dass die internen 
Clamping-Dioden des AVR-Pins wohl jede Spannung abführen können, solange 
der Eingangsstrom unter 1mA liegt.

Eingang -----10k--+--10k--+--| AVR-Eingang
                  |       |
                10nF     11 k
                  |       |
                 GND     GND


Jetzt wäre meine Frage, ob es sich beim LPC1768 ähnlich verhält. Im 
Datenblatt sind an jedem Pin "ESD"-Blöcke nach Vss und Vdd eingezeichnet 
- ich vermute dass es sich hierbei um Dioden handelt. Aber wie genau der 
Schutz aussieht und wie belastbar er ist... keine Ahnung :-)

Siehe Seite 69:
http://ics.nxp.com/products/lpc1000/datasheet/lpc1763.lpc1764.lpc1765.lpc1766.lpc1767.lpc1768.lpc1769.pdf

Es wäre toll, wenn wir auch hier wieder eine saubere Lösung finden 
könnten, die mit so wenig Bauteilen wie möglich auskommt. An anderen 
Lösungsansätzen bin ich natürlich auch interessiert (z.B. ein 
Rundum-Sorglos-IC im SOT23 Package ^_^)!

Zweck der Übung ist es also mit einem LPC1768 Pin eine 
KfZ-Bordnetzspannung auszuwerten, die dauerhaft zwischen 9,5V und 15V 
liegen kann und im Extremfall auch kurz mal mit einem 40V Peak behaftet 
ist.

Gruß,
André

von Erwin R. (er-tronik)


Lesenswert?

An Deiner Schaltung sehe ich jedoch, daß der Teiler mit 2,8:1 zu klein 
gewählt ist. Hierdurch können maximal ca. 9,3 Volt gemessen werden, dies 
ist die Maximalspannung am AD-Wandler (bei 3,3V Betriebsspannung) 3,3V * 
2,8 = ~9,3V.

Wir bauen in unseren OBD2-Diagnoseadaptern mit LPC17xx-Controllern auch 
solch eine ähnliche Schaltung zur Boardspannungsmessung ein. Hier 
benutzen wir jedoch eine hochohmigere Variante mit 10:1 Teilung (180k in 
Reihe, 20k nach Masse). Dies hat den Vorteil, dass nach oben noch genug 
Reserven sind (z.B. um auch mal 24V Bordnetze zu messen) und bei 
kurzzeitigen Spitzen muß nur ein geringer Strom über die Controller 
internen Schutzdioden abfließen.

Erwin

von André W. (sefiroth)


Lesenswert?

Erwin Reuss schrieb:
> An Deiner Schaltung sehe ich jedoch, daß der Teiler mit 2,8:1 zu klein
> gewählt ist. Hierdurch können maximal ca. 9,3 Volt gemessen werden, dies
> ist die Maximalspannung am AD-Wandler (bei 3,3V Betriebsspannung) 3,3V *
> 2,8 = ~9,3V.

Ah, entschuldigung! Ich vergaß zu schreiben, dass der AVR mit 5V 
betrieben wurde und das dargestellte Schutznetzwerk ebenfalls darauf 
ausgelegt ist.

von André W. (sefiroth)


Lesenswert?

Erwin Reuss schrieb:
> am AD-Wandler

So, ich hatte jetzt endlich Zeit mir den Beitrag im Detail anzuschauen. 
Vielen Dank erstmal für die Antwort! Dazu habe ich noch zwei kurze 
Fragen:

1) Du erwähntest Maximalspannung am AD-Wandler. Bedeutet das, dass Du 
die Messungen als AD-Wandlung ausführst? Oder geht es nur darum, dass 
die AD-Wandler-Pins weniger "aushalten"? Die IO-Pins sind ja 
5V-Tolerant...

2) Stecken hinter den 20k/180k noch irgendwelche Werte außer dem 
Teilerfaktor (ein definierter Maximalstrom zum Beispiel)? Treten bei 
180kOhm Eingangswiderstand spürbare Verzögerungen bei der 
Signal-Auswertung auf? Ich vermute eher nicht, aber die Frage halte ich 
dennoch für wichtig ;-)

Gruß,
André

von chris (Gast)


Lesenswert?

Sind die AD-Wandler Eingänge 5V tolerant? Ich meine gelesen zu haben, 
dass die Eingänge am LPC nicht alle gleich sind.

von André W. (sefiroth)


Lesenswert?

chris schrieb:
> Sind die AD-Wandler Eingänge 5V tolerant? Ich meine gelesen zu haben,
> dass die Eingänge am LPC nicht alle gleich sind.

Ich habe das so verstanden, dass die Standard Port Pins nur dann 
5V-Tolerant sind, wenn sie eine digitale Funktion (CAN, UART, I²C, ...) 
erfüllen. Sobald die analoge Funktion "ADC-Eingang" zugewiesen wird ist 
das nicht mehr gegeben. In der Beschreibung des ADCs ist als maximale 
Eingangsspannung nämlich VDDA angegeben, welche wiederrum mit 2.7V bis 
3.6V festgelegt ist.

Das beruht jetzt aber nur auf meinem Verständnis des gelesenen - ich 
habe es noch nicht in der Praxis testen können...

von André W. (sefiroth)


Lesenswert?

Kann das wer bestätigen?

von Marc (Gast)


Lesenswert?

Ich würde mich hier auch ganz gern noch mal ein klinken. Ich komme mit 
dem Datenblatt des LPC nicht richtig klar.

http://ics.nxp.com/products/lpc1000/datasheet/lpc1763.lpc1764.lpc1765.lpc1766.lpc1767.lpc1768.lpc1769.pdf

Auf Seite 42 steht was von 5V tolleranten ADC Eingängen (analog input 
Voltage 0.5V to 5.1V). Sonst wird aber immer angegeben, dass die 
Analogeingänge bis maximal V(DDA) aushalten und das wird überall mit 
maximal 3,6V angegeben.
Wenn die Eingänge wirklich keine 5V aushalten kann ich mir gleich einen 
STM holen, der hat wenigestens höhere Abtastfrequenzen?!?

von Erwin R. (er-tronik)


Lesenswert?

Bei den LPC-Controllern sind die Portpins natürlich 5 Volt tolerant. Das 
ist aber nur der Fall, wenn man sie als digitale Eingänge benutzt. Wenn 
man einen PIN als Analog-Eingang für den AD-Wandler benutzt, ist die 
maximale Spannung die, die auch als Stromversorgung für den AD-Wandler 
anliegt, also am PIN VDDA bzw. am VREFP-Pin. Da diese meist mit der 
Stromversorgung verbunden sind und diese wiederum meist auf 3,3V Pegel 
liegt, ist die maximale Spannung am AD-Pin eben auch 3,3 Volt um den 
maximalen Wert zu erreichen. Wer höher Spannungen braucht, muß eben 
Spannungsteiler verwenden, wo ist da das Problem?

Erwin

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
Noch kein Account? Hier anmelden.