Jump to content

Step-Down Power Supply als Raspberry-Pi Stromquelle?


mccrossen
 Share

Recommended Posts

Hallo TinkerUnity-Gemeinde,

ist es möglich mit dem 5V Ausgang von einem Step-Down Power Supply einen Raspberry-Pi mit genug Spannung zu versorgen?

 

So könnte ich für meine Projekte nur einen relativ einfachen Trafo verwenden und damit sowohl den Stapel als auch den Raspberry-Pi mit Spannung versorgen.

 

Der Ausgangstrom vom Step-Down Power Supply ist ja mit max. 3 A angegeben und das Raspberry-Pi braucht eigentlich nur 700 mA.

 

Freue mich schon auf eure Meinungen dazu.

Link to comment
Share on other sites

Ja, aber wenn man den Stack über Raspberry-Pi USB betreibt ist man zwingend auf die 5V vom USB angewiesen und man hat meist auch nicht überall die vollen 5V anliegen (z.B. IO16 auf 5V gestellt). Wenn man den Raspberry über den Step-Down Power Supply betreibt hat man im Stack überall die vollen 5V und man kann den Stapel inkl. Raspberry-Pi mit 6V bis 27V am Eingang betreiben.

 

Ich finde so wird das gesamte Projekt etwas Flexsibler, z.B. beim Einsatz im Auto, wo man standardmäßig 12V hat.

Link to comment
Share on other sites

Ich habe den Raspi an die Step-Down angeschlossen und den Stack an einen der USB-Anschlüsse des Raspi.

 

Das klappt ohne Probleme, Du musst Dir aber ein USB-Kabel "zurecht basteln".

 

Auch der Bootvorgang läuft so problemlos:

beim Einschalten booten Stack + Raspi, der brickd startet automatisch und erkennt sofort den Stack. Eine Anwendung startet nach brickd über die init-Sequenz.

Link to comment
Share on other sites

@remotecontrol: Gut, dass du das ansprichst, wie genau hast du deine Anwendung nach dem brickd auf dem Raspberry-Pi initialisiert?

 

Ich muss mich derzeit noch von Hand via SSH darauf verbinden und es von Hand starten. Ich habe eine C++ Anwendung erstellt und sie läuft eigentlich problemlos.

 

Ich hoffe mal du kannst mir weiter helfen.

Link to comment
Share on other sites

In /etc/init.d habe ich eine Start-Datei, die bei mir so aussieht:

 

#!/bin/sh
### BEGIN INIT INFO
# Provides:          homestation
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: homestation
# Description:       Home Station
### END INIT INFO

PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DAEMON=/usr/local/bin/homestation
NAME=homestation
PIDFILE=/var/run/$NAME.pid
DESC="Home Station"

# options for the main program
OPTIONS="--fork --pid $PIDFILE"

test -f $DAEMON || exit 0

set -e

case "$1" in
  start)
        echo -n "Starting $DESC: "
#       echo start-stop-daemon --verbose -d /home/pi/HomeStation --pidfile $PIDFILE --exec $DAEMON --start -- $OPTIONS
        start-stop-daemon --verbose -d /home/pi/HomeStation --pidfile $PIDFILE --exec $DAEMON --start -- $OPTIONS
        ;;
  stop)
        echo -n "Stopping $DESC: "
        start-stop-daemon --verbose --pidfile $PIDFILE --stop
        ;;
  restart|force-reload)
        echo "Restarting $DESC: "
        start-stop-daemon --verbose --pidfile $PIDFILE --stop
        sleep 3
        start-stop-daemon --verbose -d /home/pi/HomeStation --pidfile $PIDFILE --exec $DAEMON --start -- $OPTIONS
        ;;
  status)
        echo -n "Status of $DESC: "
        if [ -n "${PIDFILE:-}" -a -r "$PIDFILE" ]; then
                PID=`cat "$PIDFILE"`
                if [ -n "${PID:-}" ]; then
                        if $(kill -0 "${PID:-}" 2> /dev/null); then
                                echo "running (pid $PID)"
                        elif ps "${PID:-}" > /dev/null 2>&1; then
                                echo "running (pid $PID)"
                        else
                                echo "stopped"
                        fi
                else
                        echo "stopped"
                fi
        else
                echo "stopped"
        fi
        ;;
  *)
        N=/etc/init.d/$NAME
        echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
        exit 1
        ;;
esac

exit 0

 

Über den Befehl "insserv" kann dieser Dienst dann in den entsprechenden Runleveln eingetragen und damit automatisch gestartet gestartet werden.

 

Aber Achtung:

so wie hier gezeigt ist der User der "root" nicht "pi". Du musst den Start noch etwas ändern, wenn der User anders sein soll. Und das Programm muss natürlich die Argumente verarbeiten (z. B. fork + pid-file schreiben) und ggf. auf den SIGTERM reagieren um einen normalen Shutdown zu machen und ggf. auch zu protokollieren, dass er beendet wurde.

 

Das geht prinzipiell auch alles ohne PID-File und SIGTERM-Handling.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...