Forum: Analoge Elektronik und Schaltungstechnik Arduino 5V auf 3V regeln 40mA


von HWAIN (Gast)


Lesenswert?

Hallo an alle,

ich arbeite an einem kleinen Projekt für meinen Neffen, bei dem ich 
einen Wecker in einen Rettungswagen einbauen möchte, bei dem bei Alarm 
das Martinhorn und Blaulicht angehen. Gesteuert durch einen Arduino UNO 
und der FSC-1 Schaltung für das Blaulicht. Ich habe allerdings wenig 
Erfahrung mit Arduino/Elektronik.
Ich habe mir die FSC-1 Schaltung für die Regelung von Blaulicht LEDs an 
Modeleinsatzfahrzeugen gekauft.

http://tams-online.de/epages/642f1858-c39b-4b7d-af86-f6a1feaca0e4.sf/de_DE/?ObjectID=6588850

Hier ein Video wie ich mir das mit dem Blaulicht vorstelle: 
https://www.youtube.com/watch?v=phdUGg8F1Kk
In der Beschreibung stehen auch die Komponenten die verwendet wurden.

Ich habe die Stromaufnahme noch nicht gemessen, aber wenn ich das 
Datenblatt richtig verstehe sind es maximal 40mA.
Außerdem habe ich für den Arduino UNO folgende maximal Ströme gefunden:

https://playground.arduino.cc/Main/ArduinoPinCurrentLimitations

Jetzt meine Frage:
Die FSC-1 Schaltung benötigt (maximal) den höchstmöglichen Strom von 
einem 5V Pin, aber nur eine Spannung von 2-3V. Wie kann ich am 
geschicktesten die Ausgangsspannung von 5V auf 2...3V runterregeln ohne 
einen starken Stromverlust? Ich bin noch nicht durchgestiegen bei 
Spannungswandler/-regler, Schaltregler, Pegelwandler, Step down, lineare 
Regler, Längsregler, Querregler, ... Was sind die Unterschiede und was 
würde sich für mich am ehesten eignen? Ich bezweifel, dass der 
Stromfluss konstant ist...
Wäre der LP 2950CZ3,0 passend? 
https://www.reichelt.de/index.html?ACTION=3;ARTICLE=39475;SEARCH=lp295

Vielen Dank im voraus für jegliche Hilfe!

HWAIN

von Joe F. (easylife)


Lesenswert?

Wozu der Arduino?
Für den Wecker? Die 5 LEDs kann auch direkt der Arduino blitzen 
lassen... Brauchste kein teures 3V Modul.

: Bearbeitet durch User
von Bastian W. (jackfrost)


Lesenswert?

Hi,

Du solltest dein FSC-1 Modul nicht über einen Pin vom Arduino versorgen 
um so das Modul ein und ausschalten zu können.

Was für eine Spannungsquelle willst du für alles nutzen ? W

Wenn du 5 V als Versorgung nutzt, dann

Greif die Spannung für den Regler direkt von deiner Versorgung ab und 
Schalte das  Modul dann über einen Transistor ein und aus.

Wenn du das Modul noch nicht hast, das Blaulicht kann der Arduino auch 
blinken lassen.

Gruß JackFrost

von Stefan F. (Gast)


Lesenswert?

1
                    Versorgung 5V
2
                           o
3
                           |
4
                           |
5
Arduino      2x 1N4148   |/
6
Ausgang o----|>|---|>|---|     BC337-40
7
5V                       |\>
8
                           |
9
                           |
10
                           o
11
                       Ausgang 3V

von oldeurope O. (Gast)


Lesenswert?

Stefan U. schrieb:
> Ausgang 3V

Der Spannungsabfall an der 1N4148 ist bei sehr geringen
Strömen deutlich niedriger als Du (und LTspice) das
glauben.

LG
old.

von Stefan F. (Gast)


Lesenswert?

Dann machen ergänzen wir halt noch einen Pull-Down Widerstand. Oder 
verwenden anstelle der Dioden einen Spannungsteiler:
1
                           Versorgung 5V
2
                           o
3
                           |
4
                           |
5
Arduino     390          |/
6
Ausgang o---[===]---+----|     BC337-40
7
5V                  |    |\>
8
                   |~|     |
9
                1k |_|     |
10
                    |      o
11
                   GND     Ausgang 3V

von Manfred (Gast)


Lesenswert?

HWAIN schrieb:
> Arduino UNO und der FSC-1 Schaltung für das Blaulicht.

Die Modellbauplatine macht in diesem Szenario keinerlei Sinn, treibt nur 
Kosten und Stromverbrauch in die Höhe.

Die Platine soll mit 2..3V versorgt werden, aber im Zubehör werden weiße 
und blaue LEDs angeboten, die unter 3V nicht leuchten werden. Auf dem 
Bild sehe ich links ein SO-8 IC "CSI660ESA", was ein Spannungswandler zu 
sein scheint.

Da will man also aus den 5 Volt erstmal 3V erzeugen, um diese im 
Blinkmodul wieder nach oben zu wandeln?

Nee - besorge Dir ein Buch und lerne, die LEDs direkt aus dem Arduino 
anzusteuern, kost' nichts und ist sehr einfach.
( 
https://www.mikrocontroller.net/attachment/279643/Arduino_Kochbuch__super_.pdf 
)

Wo kommen die 5 Volt eigentlich her, Steckdose oder Batterien?

> Wäre der LP 2950CZ3,0 passend?

Ansonsten ja, der 2950 geht dafuer.

von Michael B. (laberkopp)


Lesenswert?

HWAIN schrieb:
> In der Beschreibung stehen auch die Komponenten die verwendet wurden.

Dafür braucht man schon ZWEI von den teuren Modulen.

Pack dein eines Modul wieder in die Kiste.

Lass den Arduino (passt der überhaupt ins Auto? Wozu ist überhaupt der 
Arduino im Auto ?) die 4 LEDs selber steuern, das ist kein Problem für 
den. Bei 20mA LEDs kann man sie direkt an 4 Arduino-Ausgänge 
anschliessen mit dem passenden Vorwiderstand von 100 Ohm (oder grösser, 
falls sie sonst zu hell wären und den Akku zu sehr belasten).

Das Modul ist verquer: Es macht erst mit dem CSI660 (MAX660) aus den 
2-3V lieber 4-6V und lässt dann mit einem 5V PIC-Mikrocontroller die 
LEDs blitzen. Die Hälfte von dem Modul ist bei dir also eher störend. 
Man könnte versuchen, deine 5V direkt an die Pins VCC und GND des 
PIC12C608? anzulegen, die Ladungspumpe wird dann aus bleibem.

: Bearbeitet durch User
von HWAIN (Gast)


Lesenswert?

Länger nicht hier gewesen. Da kamen doch einige Reaktionen.

1. Das FSC-1 Modul ist für Modellautos konzipiert, die mit einem Akku 
laufen, der normalerweise 2,4 V liefert, daher vermutlich die niedrige 
Eingangsspannung, die dann wieder hoch geregelt wird auf das, was die 
LEDs benötigen.
 --> Also 5 V direkt an die VCC klingt dann irgendwie vernünftig.

2. Den Arduino wollte ich nutzen, für den Wecker. Da der Wecker bei 
Alarm sowohl das Blaulicht auslösen soll als auch die Sirene, dachte ich 
es sei am einfachsten einen Output auf HIGH zu stellen und somit das 
Blaulicht anzuschalten, aber ich kann dann scheinbar auch ein seperates 
Alarm-Programm schreiben, dass die LEDs blinken lässt und den 
Lautsprecher anschaltet.
4 Ausgänge sollten reichen, um die 4 LEDs von dem Lichtbalken und 
hinten, sowie die 2 LEDs vom Frontblitzer zu steuern (1 Ausgang für 
Lichtbalken_1 und hinteres_Blaulicht_2, 1 Ausgang für 
hinteres_Blaulicht_1 und Lichtbalken_2 und dann jeweils ein Ausgang pro 
Frontblitzer)?! Hinzu kommen noch 2 weiße LEDs in parallel für die 
Frontscheinwerfer.

3. Der Arduino passt nicht in ein so kleines Modellauto. Mein 
"Rettungswagen" ist deutlich größer und bietet Platz dafür.

(Wie gesagt, ich stand bisher mit Elektronik und auch programieren eher 
auf Kriegsfuß und bin über solche Tipps sehr dankbar!)

von Joe F. (easylife)


Lesenswert?

Das Blaulicht direkt mit dem Arduino zu machen ist wirklich die kleinste 
Übung bei diesem Projekt, ein Modul hierfür zu verwenden ist reine 
Geldverschwendung.

Der Wecker selbst wird schon anspruchsvoller.
Hierfür benötigst du ja ein Display, das du entsprechend ansteuern 
musst.
Ausserdem benötigst du Taster und die dahinterliegende Programmlogik, um 
die Uhrzeit und Weckzeit einzustellen.
Ausserdem soll der Wecker ja nicht jeden Tag eine Minute zu schnell oder 
zu langsam sein, also benötigst du ein Real-Time-Clock Modul mit einem 
Uhrenquarz.

HWAIN schrieb:
> ich stand bisher mit Elektronik und auch programieren eher
> auf Kriegsfuß

Das wird sich dann jetzt ja evtl. ändern... ;-)

von Manfred (Gast)


Lesenswert?

Michael B. schrieb:
> Bei 20mA LEDs kann man sie direkt an 4 Arduino-Ausgänge
> anschliessen mit dem passenden Vorwiderstand von 100 Ohm (oder grösser,
> falls sie sonst zu hell wären und den Akku zu sehr belasten).

Aber hallo, der Neffe soll direkt aus dem Bett gegen die Decke springen, 
wenn der Wecker kommt? Ich würde mal eher mit 2mA = 1kOhm starten.

HWAIN schrieb:
> (Wie gesagt, ich stand bisher mit Elektronik und auch programieren eher
> auf Kriegsfuß und bin über solche Tipps sehr dankbar!)

Ich habe Dir gestern im 
Beitrag "Re: Arduino 5V auf 3V regeln 40mA" ein .pdf verlinkt, 
Du hast Kapitel 7.1 ab Seite 245 schon durchgesehen?

Egal wie, Du musst Grundlagen durchspielen! Wenn denn eine LED blinkt, 
geht das weiter - Internetsuche "Blink ohne delay", weil Dein µC ja 
neben den Leuchtdioden noch mehr zu tun hat.

von Checker (Gast)


Lesenswert?

Hallo,

was jetzt? höchstmöglicher Strom oder 40mA?
Der Arduino hat einen 3,3V onboard Regler für max. 50mA.

von Hinak K. (hwain)


Lesenswert?

Manfred schrieb:
> Ich habe Dir gestern im
> Beitrag "Re: Arduino 5V auf 3V regeln 40mA" ein .pdf verlinkt,
> Du hast Kapitel 7.1 ab Seite 245 schon durchgesehen?

Ich hab das Kochbuch gesehen und schon ein bisschen durchstöbert. Eine 
LED bekomme ich noch angeschloßen und zum blinken. Gestern hatte ich 
dann was gelesen wie man die LED blinken lässt ohne delay. Das wollte 
ich am Wochenende mal ausprobieren.

@Joe F.
Ich wollte erstmal mit den leichteren Sachen anfangen, daher habe ich 
mich erstmal auf die Beleuchtung beschränkt. Außerdem habe ich über 6 
verschiedene Widerstände, 6 Schalter an den A0 Pin angeschloßen, um dann 
über den Readout sagen zu können, welche Taste gedrückt wurde. Je nach 
taste dann erstmal einen Ausgang auf HIGH schalten und zum Überprüfen an 
den 6 Ausgängen ne LED angeschlossen.

von de_downmagaz_com (Gast)


Lesenswert?

Checker schrieb:
> Der Arduino hat einen 3,3V onboard Regler für max. 50mA.

Der NICHTchecker mambelt Unsinn: Der Uno läuft intern mit 5 Volt. Der 
3,3V-Regler ist im Original ein LP2985 mit "Guaranteed 150 mA output 
current", auf meinem Chinesen sitzt ein RT9193 "Low Dropout : 220mV @ 
300mA", andere setzen einen LM6206 ein, der noch mehr könnte. Man muß 
natürlich die Verlustleistung des gesamten Gebildes im Auge behalten, 
viel Wärme bringen die kleinen Käferchen nicht weg.

Hinak K. schrieb:
> Ich hab das Kochbuch gesehen und schon ein bisschen durchstöbert. Eine
> LED bekomme ich noch angeschloßen und zum blinken. Gestern hatte ich
> dann was gelesen wie man die LED blinken lässt ohne delay. Das wollte
> ich am Wochenende mal ausprobieren.

Das klingt gut, Du meinst es also ernst und bist auf dem Wege.

> @Joe F.
> Außerdem habe ich über 6
> verschiedene Widerstände, 6 Schalter an den A0 Pin angeschloßen, um dann
> über den Readout sagen zu können, welche Taste gedrückt wurde. Je nach
> taste dann erstmal einen Ausgang auf HIGH schalten und zum Überprüfen an
> den 6 Ausgängen ne LED angeschlossen.

Du machst Grundlagen, erstmal einfache Dinge - genau so, wie ich es 
immer wieder vorbete. Weiter so!

Aber warum die Schalter Analog? Wie gehst Du damit um, wenn mehrere 
Taster gleichzeitig betätigt werden?

Der Arduino hat jede Menge Ein- / Ausgänge, auch die Analogen kann man 
als digitalen Eingang verwenden: A0 bis A5 werden als 14 bis 19 
angesprochen, A6 und A7 kann man nicht digital nutzen.

Am Arduino die internen Pullups einschalten, Taster nach GND. 
Ruhezustand ist High, erspart unnötigen Strom. Ein paar mW mehr oder 
weniger aus der Steckdose tun nicht weh, sie sind aber auch Wärme am 
Spannungsregler - von daher gucke ich immer darauf.

Als Tip: Setze Deine LEDs auf die digitalen 3, 5, 6, 9, 10, 11, die 
können PWM und Du kannst per Software an die Helligkeit dran.

von Hinak K. (hwain)


Lesenswert?

> de_downmagaz_com
> Du machst Grundlagen, erstmal einfache Dinge - genau so, wie ich es
> immer wieder vorbete. Weiter so!
>
> Aber warum die Schalter Analog? Wie gehst Du damit um, wenn mehrere
> Taster gleichzeitig betätigt werden?

Über das Problem mit mehreren Schaltern gleichzeitig hatte ich mir noch 
keine Gedanken gemacht ... Könnte bei meinem Neffen durchaus passieren. 
Kann man das Problem lösen, indem man die Werte für den analogen Input 
A0 einschränkt auf "Wert +/-10" oder so und debounce nutzt mit einem 
Intervall von ~100ms? Wenn ich den TFT LCD Bildschirm (7 Pins, wenn ich 
dem Tutorial auf der Arduino-Seite folge), die ganzen LEDs (~4 
Ausgänge), den Lautsprecher für den akustischen Alarm, 6 Taster und dann 
noch ein RTC-Modul (2 Pins) anschließe wird das mit den ganzen Eingängen 
schon langsam eng.

Kann ich den Bildschirm auch wie bei dem LEONARDO anschließen? 
https://www.arduino.cc/en/Guide/TFTtoBoards Das würde bedeuten die Pins 
RX<-0, TX->1 und 3 von den ISCP Anschlüßen zu nutzen. Was ist ISCP?
Muss ich SD CS anschließen, wenn ich nciht vorhabe den SD-Slot zu 
nutzen? Kann ich einen der Pins für D/C, CS oder MOSI auch auf einen 
nicht PWM Pin legen? Kann dann vermutlich nicht die Helligkeit vom 
Bildschirm regeln oder?

> Der Arduino hat jede Menge Ein- / Ausgänge, auch die Analogen kann man
> als digitalen Eingang verwenden: A0 bis A5 werden als 14 bis 19
> angesprochen, A6 und A7 kann man nicht digital nutzen.

Die Eingänge A6 und A7 sind mir auf meinem UNO noch nicht aufgefallen!?

> Am Arduino die internen Pullups einschalten, Taster nach GND.
> Ruhezustand ist High, erspart unnötigen Strom. Ein paar mW mehr oder
> weniger aus der Steckdose tun nicht weh, sie sind aber auch Wärme am
> Spannungsregler - von daher gucke ich immer darauf.

Das mit den internen Pullups einschalten muss ich nochmal googlen oder 
irgendwo nachlesen. Das ist mir noch nicht ganz klar, wie ich das mache 
und welche Vorteile das bietet.

> Als Tip: Setze Deine LEDs auf die digitalen 3, 5, 6, 9, 10, 11, die
> können PWM und Du kannst per Software an die Helligkeit dran.

Wenn genügend Pins vorhanden sind werd ich probieren die LEDs auf die 
PWM Pins zu legen dann kann ich die in der Tat leichter anpassen von der 
helligkeit her. Ich wollte noch neben dem Blaulicht 2 weiße LEDs 
parallel schalten und an einen PWM Pin anschließen für die 
Frontscheinwerfer und dort 3 einstellbare Helligkeiten vorprogramieren. 
Auch abhängig von der Zeit, die mir noch zur Verfügung steht. 3 Monate 
habe ich noch :-D

: Bearbeitet durch User
von Manfred (Gast)


Angehängte Dateien:

Lesenswert?

Hinak K. schrieb:
> Über das Problem mit mehreren Schaltern gleichzeitig hatte ich mir noch
> keine Gedanken gemacht ... Könnte bei meinem Neffen durchaus passieren.
> Kann man das Problem lösen, indem man die Werte für den analogen Input
> A0 einschränkt auf "Wert +/-10"

Hier hast Du eine Fleißaufgabe: Taster plus Widerstände in Tabelle und 
alle Spannungen aller Kombinationen rechnen. Gucken, ob sich da 
eindeutige Bereiche bilden lassen. Wenn ich eine Reihenschaltung aus 
sieben Widerständen baue und alle Taster nach Masse setze, wird immer 
der oberste gewinnen.

Ach ja: Wenn Du mehr als einen A-Eingang frei hast, teile die Taster auf 
- je zwei Taster an insgesamt drei Eingänge, da kann man per 
Softwarefenster die Gleichzeitigkeit erkennen.

> oder so und debounce nutzt mit einem
> Intervall von ~100ms?

Könnte man drüber nachdenken, gibt aber eine unangehm langsame 
Reaktionszeit auf die Eingaben.

> Wenn ich den TFT LCD Bildschirm (7 Pins, wenn ich
> dem Tutorial auf der Arduino-Seite folge), die ganzen LEDs (~4
> Ausgänge), den Lautsprecher für den akustischen Alarm, 6 Taster und dann
> noch ein RTC-Modul (2 Pins) anschließe wird das mit den ganzen Eingängen
> schon langsam eng.

7 Pin TFT + 4 LEDs + 2 Pin RTC = 13, Du hast nur 12 digitale. Aber ich 
beschrieb es ja schon, Du kannst auch einen analogen Pin digital 
verwenden, dann reicht das.

> Kann ich den Bildschirm auch wie bei dem LEONARDO anschließen?
> https://www.arduino.cc/en/Guide/TFTtoBoards Das würde bedeuten die Pins
> RX<-0, TX->1 und 3 von den ISCP Anschlüßen zu nutzen.

Da gibt es doch auch die Anschlußbeschreibung zum Uno. Schaue Dir den 
Stromlauf vom Arduino an, am ICSP liegen keine Signale, die nicht auch 
an den äußeren Anschlüssen liegen würden - Finger weg von dem.

> Was ist ISCP?

In Circuit Serial Programming ICSP. Aus Deinem Buchstabendreher schließe 
ich, dass Du ein China-Board hast, denen kommen oft Buchstaben 
durcheinander, die sie nicht gelernt haben.

Über diesen Anschluss kann man den Controler programmieren, benötigt 
dazu externe Hardware. Ist für Arduino erstmal nicht relevant, weil man 
ihn ja über den USB programmiert. Kaufst Du einen blanken Controller 
AT328 von R* oder P*, hat dieser keinen Bootloader und müsste erstmal 
per ICSP beladen werden.

> Muss ich SD CS anschließen, wenn ich nciht vorhabe den SD-Slot zu
> nutzen? Kann ich einen der Pins für D/C, CS oder MOSI auch auf einen
> nicht PWM Pin legen? Kann dann vermutlich nicht die Helligkeit vom
> Bildschirm regeln oder?

Ich kenne das Display nicht und habe auch keine Lust, es zu suchen. 
SD-CS wirst Du nicht brauchen, kommt dann fest an GND oder Plus, selbst 
nachgucken, wann der inaktiv ist.

MISO / MOSI würde ich gemäß Vorgabe anklemmen, ich weiß nicht, ob dafür 
Arduino-interne Funktionen bemüht werden.

Vielleicht kommt jemand anderes aus der Ecke, der das Displaymodul 
kennt.

>> Der Arduino hat jede Menge Ein- / Ausgänge, auch die Analogen kann man
>> als digitalen Eingang verwenden: A0 bis A5 werden als 14 bis 19
>> angesprochen, A6 und A7 kann man nicht digital nutzen.
>
> Die Eingänge A6 und A7 sind mir auf meinem UNO noch nicht aufgefallen!?

Stimmt, die sind nicht herausgeführt. Da ich den Uno mechanisch Sch**** 
finde, nutze ich den Nano, der hat die.

>> Am Arduino die internen Pullups einschalten, Taster nach GND.
>> Ruhezustand ist High, erspart unnötigen Strom. Ein paar mW mehr oder
>> weniger aus der Steckdose tun nicht weh, sie sind aber auch Wärme am
>> Spannungsregler - von daher gucke ich immer darauf.
>
> Das mit den internen Pullups einschalten muss ich nochmal googlen oder
> irgendwo nachlesen. Das ist mir noch nicht ganz klar, wie ich das mache
> und welche Vorteile das bietet.

Ein Pullup-Widerstand hält einen Eingang auf Highpegel, solange nichts 
angeschlossen ist. Um sich das Bauteil zu sparen, hat der Controller 
welche integriert, die man per Software einschalten kann:
"pinMode (5, INPUT_PULLUP);"

>> Als Tip: Setze Deine LEDs auf die digitalen 3, 5, 6, 9, 10, 11, die
>> können PWM und Du kannst per Software an die Helligkeit dran.
> Wenn genügend Pins vorhanden sind werd ich probieren die LEDs auf die
> PWM Pins zu legen dann kann ich die in der Tat leichter anpassen von der
> helligkeit her. Ich wollte noch neben dem Blaulicht 2 weiße LEDs
> parallel schalten und an einen PWM Pin anschließen für die
> Frontscheinwerfer und dort 3 einstellbare Helligkeiten vorprogramieren.

Kann man so machen. LEDs niemals parallel, sondern jeder ihren eigenen 
Vorwiderstand, wobei beide gerne am selben Ausgang der Controllers 
liegen dürfen.

> Auch abhängig von der Zeit, die mir noch zur Verfügung steht. 3 Monate
> habe ich noch :-D

Dann mal Vollgas, in dem Bastelprojekt verschwinden ganz sicher deutlich 
zweistellige bis Anfang dreistellige Stunden.

von J. T. (chaoskind)


Lesenswert?

Ein kleiner Tip zur analogen Tasterauswertung: google mal nach Asuro, 
das ist ein kleiner Roboter, in dem Schaltplan davon war es, wenn ich 
mich recht entsinne, recht elegant umgesetzt. Ich glaube die 
Widerstandswerte wurden einfach von Taster zu Taster verdoppelt. Dann 
lassen sich auch "Mehrfachdrückungen" gut erkennen.

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.