Lüftersteuerung - Tx/Rx Kommunikation

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo zusammen

    Vorab, was ich mit bringe. Ich programmiere schon seit jahren privat C#. Bin also nicht ganz ein DAU. Da ich jedoch eigentlich nur auf Windows unterwegs bin und von Linux / Konsolenbedienung keine Ahnung habe, kommt es dem doch schon sehr nahe.

    Nun zum Thema:

    Ich habe einen Raspberry Pi 1 und will einfach nur ein Projekt damit machen. Er soll meine Alveo3D Lüftersteuerung kontrollieren. Ich habe nun versucht eine Verbindung zwischen der Lüftersteuerung und dem Rasphi herzustellen. Aber naja, kläglich gescheitert.

    Es gibt sogar eine Anleitung (https://www.alveo3d.com/en/tutorial-v2/) dazu, dort wird es aber per USB angeschlossen. Ich schliesse es per GPIO (Tx, Rx) an. Das geht nach Anleitung auch, wird jedoch nicht genauer ausgeführt.

    Was ich gemacht habe:

    1. Mittels Raspberry Pi Imager das Raspberry Pi OS (32 bit) installiert. Beim Imager vorher noch das Standardpasswort geändert.
    2. Kabel zwischen Lüftersteuerung und Rasphi verbunden (Gnd_Lüftersteuerung <--> Gnd_Rasphi, Tx_Lüftersteuerung <--> Rx_Rasphi, Rx_Lüftersteuerung <--> Tx_Rasphi).
    3. Rasphi an LAN angeschlossen
    4. Rasphi gestartet und bei meinem Router eine Feste IP zugewiesen.
    5. Mich mit Putty mit dem Rasphi von meinem Win 10 verbunden.
    6. Mich eingeleoggt.
    7. Nach Anleitung "sudo apt-get update" ausgeführt
    8. Nach Anleitung "sudo apt-get upgrade" ausgeführt
    9. Nach Anleitung "sudo apt-get install screen" ausgeführt
    10. Nach Anleitung "cd /dev && ls -lh " ausgeführt.
    11. "ttyUSB0" gesucht. Nicht gefunden. Überlegt, bemerkt das ich gar nicht per USB anschliesse.
    12. Gegoogelt nach UART (ist ja Tx/Rx) und Screen gegoogelt.
    13. Eventuell gefunden das ich ttyAMA0 nehmen sollte (?)
    14. "screen /dev/ttyAMA0 9600" eingegeben --> "[screen is terminating]" zurückerhalten

    Ja, keine Ahnung was ich jetzt machen soll. Kann mir jemand, bitte, helfen? :D

    Was ich eigentlich bewirken will, hier aber nicht thematisiert werden muss. Ein anderer Rasphi setzt einen GPIO auf aktiv wenn ein 3D Drucker läuft (Das geht auch schon \o/). Dieses Signal soll schlussendlich dann mal erkannt werden und der Lüftersteuerung gesagt werden das sie Lüften soll. Warum 2 Rasphis? Naja, ich bin froh wenn der andere mit dem Druckerserver einfach läuft und ich dort nix zerschiesse :D.

    Danke für Eure Zeit.


    Gruss

    Black_Rider

  • Was ist denn ein Rasphi?

    Und su solltest für die Lüftersteuerung besser einen Xeon-Server mit 16 Kernen einsetzen. Ich hätte arge Bedenken, dass ein Pi mit der Aufgabe überfordert ist.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Hallo Black_Rider,

    willkommen in diesem Forum.

    Ein paar Punkte sind mir unklar.

    1. Welcher Pegel liegt zwischen TX und GND Deiner Lüftersteuerung an? Sind dies mehr als 3,3 V, dann hast du Deinen Raspberry Pi bereits in die ewigen Jagdgründe bzgl. GPIO geschickt. Die Dich weiterführenden Begriffe wären Pegelwandler oder Spannungsteiler.
    2. Wie heißt Deine serielle Schnittstelle nun tatsächlich?
    3. Wie hast Du das Device /dev//ttyAMA0 vorbereitet? Angenommen, das wäre das richtige Device. man stty hilft Dir hier weiter. Du musst die tatsächliche serielle Schnittstelle benennen, die Baudrate, die Anzahl der Datenbits und der Stopbits sowie die Parität festlegen. Erst dann ist eine Kommunikation möglich. Bis zu einer störungsfreien Kommunikation sind dann ggf. weitere Einstellungen über stty vorzunehmen (z.B. echoing ausschalten).

    Weitere Fragen ergeben sich mit Deiner Rückmeldung.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    4 Mal editiert, zuletzt von Andreas (21. Mai 2022 um 15:37)

  • Hallo Gnom

    Ich meinte damit einen Raspberry Pi.

    Bekomme ich den Xeon-Server mit 16 Kernen denn auch gratis? ;)

    Gruss

    Black_Rider

    Edit:

    Hallo Andreas

    Danke für Deine Antwort.

    1. Da es in der verlinkten Anleitung so beschrieben war. Hatte ich das gar nicht überlegt. Aber ich hatte Glück. Es sind 3.2 V.
    2. Das ist das Problem, nach dem installieren von Screen und dem Anschliessen der Kabel ist bei mir ende Gelände. Ich habe keine Ahnung was ich tun muss.

    Ich werde jetzt mal nach "man stty" googlen und mich versuchen einzulesen. Falls jemand ein gutes Tutorial über die ganze Thematik kennt, wäre ich dankbar über einen link.

    Gruss

    Black_Rider

    Einmal editiert, zuletzt von Black_Rider (21. Mai 2022 um 15:22)

  • Da gibt es Förderungen von der EU... ;)

    Also Scherz beiseite: Wenn du dem Pi einen Befehl über die serielle Schnittstelle schicken kannst, dann kannst du den doch auch gleich an den Lüfter schicken, oder? Wozu der zweite Pi?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

    2 Mal editiert, zuletzt von Gnom (21. Mai 2022 um 15:24)

  • Ach, doof das ich hier nicht in der EU bin :D

    Da hast Du natürlich vollkommend recht. Ich hatte die Lüftersteuerung zuerst am Pi mit dem Druckerserver gehängt und die Befehle nach der Anleitung ausgeführt. Dadurch hat der Pi die Verbindung mit dem 3D Drucker verloren. Da ich ohne finanziellen Aufwand einen zweiten Pi hinstellen konnte, habe ich mich entschieden das zu tun und auf diesem, da ich ja keine Ahnung habe ich was mache, herumzuprobieren. So kann ich sicherstellen, das mein erster Pi mit dem Druckerserver sicherlich immer sauber läuft.

    Falls ich das ganze mal in den Griff gekriegt habe und ich auch ein wenig mehr Ahnung habe. Kann ich immer noch alles auf einem Pi machen.

    Das waren die Beweggründe für diese Konstellation.

  • Hm, da wäre mal zu klären, warum die Verbindung abbricht. Vielleicht ist es naheliegender das Problem zu lösen.

    Ansonsten... hast du keinen Arduino rumliegen, der das machen kann? Ein Pi, nur um einen Lüfter zu steuern, ist echt etwas überdimensioniert.

    Du hast einen Pi, der einen Pi steuert, der einen V2-Controller steuert, der einen Lüfter steuert...? Und das für die Kühlung eines 3D-Druckers?
    Was nützt dir der Controller und der Pi, wenn du mit dem GPIO doch eh nur sagen kannst: Lüfter an / Lüfter aus? Wie wäre es, wenn du einfach einen simplen Lüfter mit einem Mosfet oder sowas an den GPIO des ersten Pi klemmst?

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Die Lüftersteuerung will ich nicht umgehen weil ich dort schon ein Display habe. Mit Drehzahlanzeige, Filterzustand, Temperaturanzeige etc. Und wie erwähnt, der zweite Pi kommt ja ev. weg, wenn ich das ganze mal im Griff habe und verstehe.

    Mir ist bewusst, das diese Konfiguration für einen, der sich damit auskennt, viel zu überdimensioniert ist. Diese Konfiguration erlaubt mir jedoch

    1. Das mein Drucker / Lüftersystem weiterläuft.

    2. Ich lernen, rumprobieren, verkacken, neu machen kann. Und wärendessen 1. immer noch funktioniert.

  • Moin Black_Rider,

    du hast die serielle Schnittstele mit sudo raspi-config für deine Zwecke aktiviert? Im Grundzustand wird sie anders genutzt.

    Wenn du das gemacht hast, sollte es eine /dev/ttyS0 geben. Die würde ich nehmen.

    Dann hast du sicherlich, in deinem Drucker, die RS232-Funktion angeschaltet?

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

  • Hallo Bernd

    Vielen Dank für Deine Antwort.

    Bingo :)

    • sudo raspi-config --> Serielle Schnittstelle aktivieren
    • raspi-gpio get --> GPIO 14/15 sollte TX und RX stehen, dann hats geklappt
    • "screen /dev/serial0 9600" abgeschickt und siehe da:

    ">>> ## 75.27% 451h 1740rpm 27.7% 847min 35.25*C m 27.7% 848min 35.19*C"

    Das sind Filterzustand, Drehzahl des Lüfters, eingestellt Laufzeit des Lüfters und die Temperatur im Gehäuse \o/

    Jetzt ist Schluss für heute. Als nächstes kommt scripten um die Automation umzusetzten.

    Ich wünsche Euch noch einen schönen Abend, und allen vielen herzlichen Dank.

    Gruss

    Black_Rider

  • Moin Black_Rider,

    gerne, dann nur noch dein Thema als erledigt markieren. Falls es das ist. Das geht oben bei Thema bearbeiten.

    Viel Spaß noch...

    73 de Bernd

    Ich habe KEINE Ahnung und davon GANZ VIEL!!
    Bei einer Lösung freue ich mich über ein ":thumbup:"
    Vielleicht trifft man sich in der RPi-Plauderecke.
    Linux ist zum Lernen da, je mehr man lernt um so besser versteht man es.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!