Jump to content

Absturz Hat Brick ?


Recommended Posts

Hallo zusammen,

habe ein Phänomen in meinem Projekt.

Ich habe eine Hat Brick auf einem Raspberry PI 3b+

an der Brick sind 3 x Industrial Dual Relais angeschlossen und einmal der Indust. Digital In 4 fach

Es funktioniert alles wunderbar und dann wenn der Eingang zum x-ten Mal geschaltet wird, gehen alle Staus LEDs an den Bricklets aus bis neu gestartet wird also Spannung weg und wieder ran.

Hat jemand vielleicht einen Tip?

Netzteil 24V / 0.63A Output

Danke schon mal vorab.

Grüße

Paul

 

Link zu diesem Kommentar
Share on other sites

Tritt das Problem auch auf, wenn an den Relaisausgängen nichts angeschlossen ist?

Wie häufig tritt das Problem auf? Eher alle 10 oder eher alle 1000 Schaltvorgänge?

Wie werden die LEDs mit Strom versorgt? Auch über das 24V Netzteil? Wenn ja, wie viel Leistung nehmen die LEDs auf? Bricht vielleicht durch das Schalten der LEDs die Spannung des Netzteils zusammen?

Geht auch das Raspberry Pi mit aus?

In welcher zeitlichen Folge und mit welcher Frequenz werden die Relais geschaltet? Werden die abwechselnd oder alle gleichzeitig geschaltet?

Link zu diesem Kommentar
Share on other sites

es wird alles über das selbe Netzteil gespeist.

Raspberry bleibt an.

Hab mir das mit dem Oszi mal angeschaut, da sind wenn man den Eingang schaltet Einbrüche/Überschwinger zu sehen. Mit den Relais etwas größer bis auf 21/27V.

Werde ein 2tes Netzteil für die Beschaltung nutzen und nochmals testen.

Danke und Grüße

Paul

Link zu diesem Kommentar
Share on other sites

Hallo Photron,

Raspberry resetet auch, hab nur gesehen das die Powerled am PI leuchtet, die Tinkerforge Devices aber alle dunkel sind.

Das hat mit dem Inputdevice glaub nichts zu tun.

Bei einem anderen Aufbau nur mit den DualRelais ist mir aufgefallen das wenn mehrere Relais-Bricks gleichzeitig geschaltet werden, dass ganze abschmiert.

Man sieht die Status LED für die Relais kurz noch aufblitzen bevor alles dunkel wird.

Habe mal das Oszi an die  CH 2 Versorgung (ca. 20V) und die  CH 1 => 5V Ausgang Anschluß A auf der Hat Brick.

Man sieht auf dem Bild, dass die Versorgungsspg. OK ist die 5V aber wegbrechen.

IMG_2584.JPG

IMG_2585.JPG

Link zu diesem Kommentar
Share on other sites

Es wundert mich, dass du das 24V Netzteil mit 20V misst.

Kannst du ein Foto vom Gesamtaufbau zeigen?

Die 5V für die Bricklets und das Raspberry Pi können vom HAT Brick geschaltet werden. Die 3 großen Kondensatoren neben der micro USB Buchse auf dem HAT bilden die Ausgangskapazität des 5V Reglers. Könntest du dort auch mal die 5V messen (die Masseseite hat den schwarzen Balken) an einem der 3 Kondensatoren? Die Frage ist, ob der HAT Brick die 5V abschaltet (5V nur an den Bricklet Ports weg), oder ob der 5V Regler an sich einbricht (5V am Kondensator weg).

Geht dann auch die Status LED des HAT Bricks selbst aus, oder bliebt die an?

Benutzt du in deinem Programm Funktionen des HAT Bricks, z.B. um die Stromversorgung der Bricklets zu schalten oder den Sleep Mode zu nutzen?

An welchem Port hast du welches Bricklet angeschlossen?

Woran erkennst du dass das Raspberry Pi neustartet?

Wie viele Schaltvorgänge braucht es bis das Problem auftritt? Wir haben, dass hier gerade versucht nachzustellen, es läuft aber ohne Probleme 10 Minuten durch wobei abwechselnd jede Sekunde alle 3 Industrial Dual Relay Bricklet umgeschaltet werden.

Tritt das Problem beim Anziehen ober beim Abfallen der Relais auf?

Sorry für die viele Fragen, das Problem ist mysteriös.

Link zu diesem Kommentar
Share on other sites

zu den 24V ist ein Aufbau mit Labornetzteil da hatte ich die Spg. nur auf 20V

Es bricht nur die Spg. zu den Bricklets ein die 5V am Kondesator bleiben

Hat Brick Status-LED bleibt an

Funktionen bzgl. Sleepmodus usw. werden nicht genutzt

Port A = hier wird die Spg für das PI-Display abgegriffen

Port B = Ind 4-fach Digitale Eingänge

Port C = Dual Relais

Port E = Dual Relais

PI startet doch nicht neu, habe mich vom Display irritieren lassen.

meistens reichen 2 - 3 Schaltvorgänge

Das Problem tritt beim Anziehen der Relais auf, da diese sonst ca. 2s angezogen wären

Bild 1 Aufbau

Bild 2 Status LEDs bei Absturz

 

 

 

IMG_2Aufbau.JPG

IMG_2Status_LEDs.JPG

bearbeitet von PaulPaulaner
Link zu diesem Kommentar
Share on other sites

Interessant!

Zwischen dem 5V Regler und dem 5V Ausgängen zu den Bricklets sitzt ein TPS22975 Leistungsschalter, über den der HAT Brick die Versorgung der Bricklets abschalten kann. Der TPS22975 Chip hat auch einen Überlastschutz. Entweder schaltet der HAT Brick die 5V Versorgung willentlich ab, was er nicht von sich aus tut, sondern nur beim Aufruf der entsprechenden API Funktion, oder der Überlastschutz des Chips greift ein.

Tritt das Problem auch auf, wenn der Display nicht über den Bricklet Port versorgt wird? Bzw. was ist der minimalste Aufbau mit dem das Problem auftritt?

Über Brick Viewer kann über die "Enable Bricklet Power" Checkbox auf dem HAT Brick Tab die Versorgung der Bricklets gesteuert werden. Hilft es im Fehlerfall, die Checkbox zu deaktivieren (falls sie aktive ist) und wieder zu aktivieren?

Oder hilft ein Reset des HAT Bricks über den "Reset" Knopf auf dem HAT Brick Tab im Brick Viewer?

Link zu diesem Kommentar
Share on other sites

Hallo,

tritt auch auf wenn das Display über ein extra Netzteil versorgt wird.

Die Bricklets werden nach setzen des  Enable Bricklet Power wieder mit Spg. versorgt.

Rest des Hat Bricks geht auch.

Jetzt sind nur noch die 3 Bricklets angeschlossen.

Diese Funktion wird genutzt zum Schalten

industrial_dual_relay_set_monoflop(reinterpret_cast<IndustrialDualRelay *>(psDevice->vDevice), ui8RelayChannel, true, ui32TO_ms);

bearbeitet von PaulPaulaner
Link zu diesem Kommentar
Share on other sites

Das sieht so aus als ob dein Programm da unabsichtlicherweise hat_set_bricklet_power(hat, false) aufruft. Ein industrial_dual_relay_set_monoflop(...) Aufruf für Channel 0 wird bei passend korrumpierter UID als hat_set_bricklet_power(hat, false) verstanden, da beide Funktionen die Funktions-ID 3 haben und der Channel 0 Parameter als false interpretiert werden kann.

Daher wäre es interessant zu sehen (z.B. per Wireshark auf localhost), ob dein Programm wirklich diesen korrumpierten Aufruf schickt.

Link zu diesem Kommentar
Share on other sites

Kannst du das bei dir mit dem Brick-Viewer nicht nachvollziehen?

Ich habe immer zwischen den 2 Relais-Reitern hin und her gewechselt und immer Relais Channel 0 geschaltet.

Kann ich mir eigentlich nicht vorstellen da ich 2 Aufbauten habe mit jeweils eigener Hardware.

Aber hier die UIDs aus dem Brick-Viewer':

Brick_UIDs.png

bearbeitet von PaulPaulaner
Link zu diesem Kommentar
Share on other sites

Moin,

Ich habe hier mit dem Aufbau nochmal rumgetestet und konnte es jetzt reproduzieren. Bei mir reicht es, am Dual Relay an Port C Channel 0 zu schalten, dann werden sofort Timeouts hochgezählt. Passiert es bei dir auch, dass das Digital In an Port B schnell zu blinken anfängt, wenn du beim Relay an Port C Channel 1 schaltest?

Link zu diesem Kommentar
Share on other sites

2 hours ago, PaulPaulaner said:

Kann ich mir eigentlich nicht vorstellen da ich 2 Aufbauten habe mit jeweils eigener Hardware.

Willst du damit sagen, dass du das Problem nicht nur an einem, sondern an zwei Aufbauten hast?

Update auch mal bitte alle Tinkerforge Software. Also Brick Viewer auf 2.4.13, Brick Daemon auf dem Raspberry Pi auf 2.4.1 und C/C++ auf 2.1.19. Mir ist kein Bug bekannt in den alten Versionen der zum Problem passt, aber ich möchte vermeiden, dass wir hier alte bereits behobene Bugs suchen.

Kannst du bitte das /var/log/brickd.log vom Raspberry Pi hier anhängen, vielleicht steht dort etwas interessantes drin.

Welche Kernel Version hast du auf dem Raspberry Pi laufen (was gibt "uname -a" aus)?

Was steht in /boot/cmdline.txt und /boot/config.txt auf dem Raspberry Pi?

Link zu diesem Kommentar
Share on other sites

Das Problem besteht an 2 Aufbauten, welche aber aus den selben Komponenten bestehen.

Deamon auf PI ist schon die 2.4.1

uname -a

Linux raspberrypi 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux

/boot/cmdline.txt

dwc_otg.lpm_enable=0 console=tty1 root=PARTUUID=125111a8-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles logo.nologo consoleblank=0 loglevel=1 quiet

/boot/config.txt

# For more options and information see
# http://rpf.io/configtxt
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
dtparam=i2c_arm=on
#dtparam=i2s=on
# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on
gpu_mem=256

#Ratio Spezifisch
disable_splash=1
disable_overscan=1
enable_uart=0

 

 

Link zu diesem Kommentar
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.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...