Go Down

Topic: 3.0 Volt - 3.3 Volt Bauteile an Arduino Uno (Read 8080 times) previous topic - next topic

BigInteger

Dec 26, 2012, 10:27 am Last Edit: Dec 26, 2012, 10:30 am by BigInteger Reason: 1
Ich habe hier zwei Bauteile welche nur mit einer Betriebsspannung von 3.0 bis 3.3 Volt betrieben werden dürfen.
Kann ich diese Elemente ohne Probleme an den 3.3 V Anschluss an meinem Board hängen?
Bekomme ich Probleme, wenn ich diese Bauteile über die Digital/Analog Pin's ansteuere?


Ah und noch eine zweite Frage, ich habe einen Sensor, der mit einer Spannung von 3.0 bis 5.5 Volt betrieben werden kann,
wenn ich dieses Bauteil mit 3.3 Volt betreibe, bedeutet es doch auch, dass der Sensor länger über Batterie betrieben werden kann, als wenn ich diesen an 5 Volt klemme, oder liege ich da falsch? 

mkl0815

Bauteile über den 3.3V Ausgang des Arduino zu betreiben ist kein Problem. Bei den IO-Pins hängt es davon ab, ob Du z.B. nur Lesen willst, der Arduino also nur Eingang ist. ein 3.3V HIGH Signal wird auch vom 5V TTL-Pegel des Arduino sicher als HIGH erkannt. Willst Du die Arduino Pins als Ausgang und damit als Eingang deines 3.3V Bauteils betreiben, mußt Du aufpassen. Es gibt Bauteile die mit 3.3V betrieben werden, aber 5V tolerant sind, das sollte im Datenblatt stehen. Auf Nummer Sicher gehst Du, wenn Du einen Pegelwandler verwendest, oder im einfachsten Fall einen Spannungsteiler mit 2 Widerständen, die das Ausgangssignal des Arduino auf 3.3V bringen. Schau Dir mal die verschiedenen Beschaltungsbeispiele für SD-Karten an, da wird das häufig so gemacht.
Mario.

Tobias93

#2
Dec 26, 2012, 11:26 am Last Edit: Dec 26, 2012, 02:52 pm by uwefed Reason: 1
Hallo,

wenn die 3 - 3,3 V die Betriebsspannung ist und keine Signalspannung kannst du das Bauteil sowohl an dem 3,3V Abgriff des Arduinos anschließen als auch an einem I/O Port. Du musst nur darauf achten den Port nicht mit High "anzuschalten" sondern über PWM auf effektive 3,3V einstellen. Z.B so :

analogWrite(10,167);

Ich habe schon öfters Bauteile so betrieben allerdings waren die nicht besonders empfindlich. Vielleicht wartest du lieber erst auf Antworten zu meinem Post.

Gruß,
Tobi

[EDIT]
Hab diese Aussage durchgestrichen da unzutreffend und sie zu Schäden an den Bauteilen Führen kann
Uwe Federer, Moderator[/EDIT
Nobody is perfect but - impossible is nothing

mde110

#3
Dec 26, 2012, 11:27 am Last Edit: Dec 26, 2012, 11:33 am by Mardetuino Reason: 1

Ah und noch eine zweite Frage, ich habe einen Sensor, der mit einer Spannung von 3.0 bis 5.5 Volt betrieben werden kann,
wenn ich dieses Bauteil mit 3.3 Volt betreibe, bedeutet es doch auch, dass der Sensor länger über Batterie betrieben werden kann, als wenn ich diesen an 5 Volt klemme, oder liege ich da falsch?  

Der DS18B20 hat eine Betriebsspannung von 3,0 bis 5,5V. Die Stromaufnahme ist bei diesem Bauteil aber nicht linear der Spannung. Es ist ein "aktives Bauteil" und verhält sich nicht wie ein Passives wie z.B. ein Widerstand.

Bzgl. der Pegelwandler bzw. Spannungsteiler schließe ich mich MKL an.

mde110


...als auch an einem I/O Port. Du musst nur darauf achten den Port nicht mit High "anzuschalten" sondern über PWM auf effektive 3,3V einstellen. Z.B so :

analogWrite(10,167);

Ich habe schon öfters Bauteile so betrieben allerdings waren die nicht besonders empfindlich. Vielleicht wartest du lieber erst auf Antworten zu meinem Post.
...


So ein grober Unfug ist nicht zu empfehlen! Gleich vergessen!

Du kannst den Arduino Ausgang zerstören oder das Bauteil dahinter etc...

Tobias93

Hey,

Danke für die warnende Info. Kannst du bitte schreiben wieso, ich hab das wie gesagt schon öfter gemacht und möchte in Zukunft da dann nichts mehr falsch machen.

Gruß,
Tobi
Nobody is perfect but - impossible is nothing

mde110

Aus dem Ausgang kommen 5V Impulse. Diese liegen über der Spezifikation.
Wenn das Bauteil einen "Kurzen" aufgrund der zu hohen Spannung von 5V verursacht oder die Stromaufnahme zu hoch wird, stirbt dein Ausgang gleich mit.

Du kannst den Arduino Ausgang zerstören oder das Bauteil dahinter etc...

jurs


Ich habe hier zwei Bauteile welche nur mit einer Betriebsspannung von 3.0 bis 3.3 Volt betrieben werden dürfen.
Kann ich diese Elemente ohne Probleme an den 3.3 V Anschluss an meinem Board hängen?


Ja, bis zur maximalen Stromabgabe des Arduino-Spannungsreglers (z.B. Uno: max. 50 mA).


Bekomme ich Probleme, wenn ich diese Bauteile über die Digital/Analog Pin's ansteuere?


Das kommt auf das konkrete Bauteil an. Es gibt 3.3V Bauteile mit TTL-5V-festen Eingängen, die kannst Du problemlos direkt mit 5V Logikpegeln ansteuern. Und es gibt Bauteile, die das nicht abkönnen und die Du nur mit entsprechenden 5/3.3V-Pegelwandlern betreiben darfst.


Ah und noch eine zweite Frage, ich habe einen Sensor, der mit einer Spannung von 3.0 bis 5.5 Volt betrieben werden kann,
wenn ich dieses Bauteil mit 3.3 Volt betreibe, bedeutet es doch auch, dass der Sensor länger über Batterie betrieben werden kann, als wenn ich diesen an 5 Volt klemme, oder liege ich da falsch? 


Das ist sehr gut möglich. Konkretes über die Stromaufnahme sollte Dir das Datenblatt ("datasheet") des Bauteils verraten.

uwefed

#8
Dec 26, 2012, 01:13 pm Last Edit: Dec 26, 2012, 01:21 pm by uwefed Reason: 1
Gegendarstellungen:

Beim Arduino 2009 und allen anderen Arduino's mit FT232 USB-Serial Adapter liegt der maximale Strom am 3,3V in bei ca 50mA. Der Spannungsstabilisator ist im FT232 integriert.
Beim Arduino UNO und alle anderen Arduino's mit dem ATmega8U2 bzw 16U2 oder dem ATmega32U4 ist ein Spanungsstabilisator zB der LP2985-33DBVR vorhanden der bis zu 150mA liefern kann.

Normalerweise ist die maximale Spannung die an einem Eingang anliegen darf 0,5 bis 0,7V über der  Versorgungsspannung. Dies weil an den Eingängen Schutzdioden gegen statische Entladungen integriert  sind und diese bei 0,5V bis 0,7V anfangen zu leiten und durch den resultierenden Strom zerstört werden. Dies gilt auch bei ICs die von 3,3V bis 5V betrieben werden können und mit 3,3V versorgt werden.
Es gibt wenige Ausnahmen bei denen ein Eingang eine höhere Spannung tolleriert als die Versorgungsspannung. Beispiele sind der Reseteingang bei den ATmega, welcher 12V zum HV Programmierung tolleriert, EPROMs, welche eine höhere Programmiespannung brauchen, manche I2C ICs die 5V an SCL bzw SDA tollerieren. Dies MUß immer im Datenblatt kontrolliert werden.

Eine niedrigere Versorgungspannung kann zu einem geringeren Stromverbrauch führen. Dazu muß dann aber die gesamte Schaltung in 3,3V realisiert werden. Eine größere Stromersparnis hat man aber wenn man eine Schaltung auf stromsparen trimmt. Geringere Taktfrequenz, höhere Pullup/down Widerstände, LED weglassen oder Superhelle nehmen und mit wenig Strom betreiben, Hintergrundbeleuchtung von LCD abschalten oder grün-schwarze Displays nehmen die ohne Hintergrundbeleuchtung lesbar sind, ICs in Standby bzw Sleep-Modus schicken, DC Wandler statt Spannungsstabilisatoren verwenden, stromsparende Vergleichstypen verwenden zB bei Operationsverstärkern.

Viele Grüße Uwe


BigInteger

Okay, gut, dass ich gefragt habe, sonst hätte ich glaub mein Bauteil mit samt dem Arduino geschrotet.

Hier die (wichtigen) Daten aus dem Datenblatt:
Fastrax UP501 key features
[font=Verdana]Low power consumption: 75mW @ 3.0V [/font]
Configurable fix rate, up to 10Hz
Ultra High Sensitivity:
-148dBm (Cold Start Acquisition)
-165 dBm (Navigation)
Tiny form factor - 22mm x 22mm x 8mm
Embedded patch antenna 18.4 x 18.4 x 4.2 mm
NMEA protocols (default speed: 9600bps)
One serial port (default: CMOS level, option: RS232)
1PPS output
A-GPS with 14-day extended ephemeris
WAAS/EGNOS support
MediaTek MT3329, 66-channel receiver
Optional Internal back-up battery

wobei es ja hauptsächlich um die 75mW @ 3.0V geht. Im ausführlichen Datenblatt stehet dann noch weiter, dass VDD von 3.0 bis 4.2 gehen darf, das ist ja dann kein Problem, wenn ich es an den 3.3 Volt Anschluss des Arduinos hänge. Mehr sorgen bereitet mir jetzt die 75mW, da das Ardoino Uno ja nur 50mW liefert, oder?

uwefed

Der Arduino Uno liefert bis zu 150mA.
Grüße Uwe

mde110

115mW im Suchbetrieb = ~40mA.

Alle Signale die zum Modul gehen über Spannungsteiler auf 3,3V hinpegeln.
Die SIgnale vom Modul können direkt, ohne Pegeländerung, in den Arduino. Dabei würde ich aber imm einen Widerstand von ca. 1k dazwischen hängen, nur zur Sicherheit.

jurs

#12
Dec 26, 2012, 01:53 pm Last Edit: Dec 26, 2012, 01:56 pm by jurs Reason: 1

wobei es ja hauptsächlich um die 75mW @ 3.0V geht. Im ausführlichen Datenblatt stehet dann noch weiter, dass VDD von 3.0 bis 4.2 gehen darf, das ist ja dann kein Problem, wenn ich es an den 3.3 Volt Anschluss des Arduinos hänge. Mehr sorgen bereitet mir jetzt die 75mW, da das Ardoino Uno ja nur 50mW liefert, oder?


mA = Milliampere
mW = Milliwatt

P = U*I ==> I = P/U = 0,075 W / 3.3V = 0,023 A = 23 mA

One serial port (default: CMOS level ==> CMOS-TTL-Level ist 5V

D.h. Du kannst die 23 mA aus dem 3.3V Anschluss am Arduino ziehen und Du kannst das Modul über 5V-Logikpegel ansteuern.
Alles im grünen Bereich.


115mW im Suchbetrieb = ~40mA.


Wäre ja immer noch im grünen Bereich. Aber irgendwie hätte der OP dann das Datenblatt nicht korrekt gelesen, wenn er nicht den maximalen Leistungsbedarf des Moduls gepostet hätte, sondern irgendeinen geringeren Leistungsbedarf, der nicht in allen Betriebszuständen zutrifft.

uwefed

Quote
One serial port (default: CMOS level ==> CMOS-TTL-Level ist 5V

Jurs das sehe ich nicht so. TTl level sind klar definiert da TTL mit 5V betrieben werden. CMOS zb der 4000 Serie aber zwischen 3 und 18V.
CMOS-Level und TTL-Level würde ich nicht gleichsetzen.
Im Datenblatt des GPS Moduls müßte es stehen.
Grüße Uwe 

mde110

#14
Dec 26, 2012, 02:18 pm Last Edit: Dec 26, 2012, 02:41 pm by Mardetuino Reason: 1
Quote from: http://www.anglia.com/fastrax/datasheets/UP501.pdf
Main power supply VDD current varies according to the processor
load and satellite acquisition. Typically VDD peak current is up to
40mA during Search mode. In Low Power Tracking mode the average
VDD current is typically below 25 mA for the Fastrax UP501 and
UP501B modules, and below 28 mA for Fastrax UP501R module with
default baud rate of 9600 baud.


Ist CMOS Level Dig.0 nicht mit 0V bis VDD/2 definiert?
Dig.1 mit VDD/2 bis VDD?

Go Up