Steuerung elektrische Hubstützen

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.

    Hinweis kann nach Kenntnisnahme deaktiviert werden!

    • Steuerung elektrische Hubstützen

      Hi,
      an unserem alten Wohnmobil waren die Stützen nicht mehr in Ordnung, welche das WOMO im Stand stabilisieren, damit das nicht herumschaukelt.
      Die wurden händisch ausgeklappt und mit einem 19er Schlüssel ausgefahren bzw auf Spannung gebracht.
      Ziemlich blöd, gerade bei Dreckwetter unter dem WOMO mit einem 19er Schlüssel bewaffnet Stützen auszufahren.

      Ich habe Stützen gefunden, welche über eine Kurbel ausgefahren werden können; das wäre schon mal ein Fortschritt.
      Aber ehrlich gesagt, Stützen rauskurbeln mag ich auch nicht :D

      Also habe ich die Mechanik der Stützen zerlegt und eine Zeichnung für eine geänderte Antriebswelle erstellt.
      Im Internet habe ich nach einem geeigneten Getriebemotor gesucht, der aus Metall gefertigt ist und mindestens 10 Nm Kraft aufbringt.
      Der läuft mit 12V und hat 66 U/min.

      Ein Kumpel hat mir die neue Antriebswelle gedreht und aus Alu eine Befestigung des Motors an der Stütze hergestellt.
      Für die Motoren habe ich ein Gehäuse entworfen und mit dem 3D Drucker ausgedruckt und mit Aceton verklebt.

      Die Steuerung ist mit BT Modul HC-05, zwei Stromsensoren, Step-Down 12V/5V, paar Taster und 4-fach Relaisplatine ausgestattet.
      ( im .bas File sind dazu Hinweise...)

      Einen Schaltplan gibt es nicht :) hier muss man kreativ sein.

      Dazu habe ich mit LAZARUS noch eine APP für Anroid erstellt, womit man die Stützen bedienen kann.

      Zuerst hatte ich den Gedanken, die Stellungen der Hubstütze über Hallsensoren festzustellen. Das habe ich dann verworfen, weil es mehr Aufwand bedeutet.
      Über den Motorstrom wird nun festgestellt, ob die Stütze am Anschlag ist oder der Motor Kraft zum Anheben braucht.

      Steuerung.png Stuetze-1.png Stuetze-2.png Image8.jpg
      Dateien
      Code first, think later - Natural programmer :D
    • Etwas Kritik erlaubt?

      Wenn es funktioniert ist ja alles gut.
      Interessant finde ich, dass man mit Lazarus scheinbar auch Handy-App's entwickeln kann.
      Leider komme ich mit Lazarus nicht klar.

      Mir ist aber aufgefallen, dass du im Code mit einem ganzen Arsenal an Flags hantieren musst, um die Funktionen zu steuern.

      Das Projekt wäre prädestiniert für die Anwendung einer Statemachine gewesen.
      Das Programm wäre dann vermutlich auch etwas übersichtlicher geworden.

      Trotzdem auch mein Respekt.

      An so ein ähnliches Projekt hatte ich vor Jahren auch mal gearbeitet, aber nie fertiggestellt. (war nicht für mich und anderes war ihm immer wichtiger)
      Dabei sollten die Stützen selbstständig so ausfahren, dass der Wohnwagen im Wasser ist.
      Dafür waren damals elektrische Wagenheber vorgesehen gewesen. Zur Messung der Nivellierung war auf dem Controllerboard ein Accelerator-IC verbaut, um die Lage des Wohnwagens festzustellen.
    • Mitch, mir war das vor Veröffentlichung schon klar, was du schreiben würdest :D
      Du bist verliebt in deine Statemachine... habe ich zu Zeiten von GAL auch verwendet a_21_6a45df93

      Im Grunde ist das ganze Konstrukt ja eine State Machine! ...nur habe ich "virtuelle" States, die keinen Namen haben; aber die Zustände sind real.

      ...und Kritik ist natürlich immer erlaubt!
      Code first, think later - Natural programmer :D
    • Michael schrieb:

      Ja, nettes Projekt.
      Jetzt fehlt nur noch, dass du dein Händie mit der App flach auf den Boden des Wohnmobils legst, und der Bock richtet sich automatisch in Waage aus ;)
      Michael, das geht leider nicht, da ich nur am Heck die zwei Stützen habe. Vorne ist keine Stütze...
      Hatte ich schon überlegt, aber der Nutzen ist wohl eher marginal...
      Code first, think later - Natural programmer :D
    • six1 schrieb:

      Falls Interesse an Lazarus und APP Entwicklung besteht, erstelle ich im Lexikon gerne einen Beitrag; teilt mir mit, ob das von Interesse wäre...
      Interesse habe ich. Leider habe ich kein Home-Office, da fehlt mir ein bisschen die Zeit.
      Aber spätestens zu Weihnachten klappt das wieder.
      Wenn du in der Zwischenzeit was erstellen könntest, wäre nett.
    • six1 schrieb:

      Du bist verliebt in deine Statemachine... habe ich zu Zeiten von GAL auch verwendet
      Nicht verliebt, sondern davon überzeugt.
      Und was ist GAL? Gate Array Logic?


      six1 schrieb:

      Falls Interesse an Lazarus und APP Entwicklung besteht
      Ja das würde mich auch interessieren.
      Aber ich komme so schon mit Lazarus nicht klar. Die bisherigen Tuts zu Lazarus im Lexikon haben mir nicht wirklich den Einstieg gebracht.
      Da wünschte ich mir auch weitere Tuts.
      Aber auch Grundlegendes. Wie strukturiert man ein Programm (module).
      Und die Hilfe schnalle ich auch nicht. Das ist ganz anders, wie man es allgemein erwartet.
      Da fehlt es - am Einstieg.

      Dann wäre das mit der APP-Entwicklung in Lazarus auch interessant.
    • LunaAVR ist eine IDE und kein Kompiler für "AVR"

      Lazarus ist eine Entwicklungsumgebung (IDE) mit fpc (free pascal compiler)

      Pascal ist eine Programmiersprache.

      Mit Lazarus kann man Programme für Windows, Linux, Android, Darwin, Freebsd, AIX, WINCE, Embedded (AVR), Java, MSDOS, Haiku, Solaris und NETBSD erzeugen.
      Dafür gibt es die Cross Compiler...
      Man installiert z.B. Lazarus auf einem Windows System und kann Programme für alle möglichen Systeme kompilieren. Dafür muss das Programm nur einmal entwickelt werden mit Lazarus und ist kompilierbar für alle Systeme.

      Im ersten Post ist Talento_Stuetzen_1.bas ein ganz normaler Bascom Code zum compilieren mit Bascom
      Im zip File ist eine .apk also eine Anwendung für Android. Diese habe ich mit Lazarus erstellt.
      Code first, think later - Natural programmer :D
    • Habe die Erstinstallation im Lexikon soweit beschrieben und die Projektdateien für die Steuerungs APP dieses Projekts auch als Download beigefügt.
      Damit solltet ihr in der Lage sein, die APP zu kompilieren und auf euer Handy zu bekommen.
      Dies wäre eine gute Grundlage für eigene Projekte, um z.B. ein HC05 BT Modul mit eurer eigenen APP zu kontaktieren.
      Hierzu könnt ihr den Ordner mit den Projektdateien (TalentoLIFT) einfach kopieren und habt dann ein Projekt, in dem ihr alles anpassen und ändern könnt, ohne das original Projekt zu zerstören :D


      Falls etwas nicht klappt, schreibt mich per PN an, damit ich eventuelle Fehler in der Beschreibung beheben kann.
      Code first, think later - Natural programmer :D
    • @katipefendi: Meinst Du mit VB Visualbasic oder was meinst Du??
      Hast Du Dir nicht (wenigstens) ein paar Beiträge höher in diesem Thread (!) die Erläuterungen von six1 durchgelesen?
      „Lazarus ist eine Entwicklungsumgebung (IDE) mit fpc (free pascal compiler)
      Pascal ist eine Programmiersprache.„



      oder
      de.m.wikipedia.org/wiki/Lazarus_(Entwicklungsumgebung)

      Was meinst Du mit Deiner Frage nach VB?
    • Ich vermute, er meint, ob Lazarus/Pascal ein Basic Sprachdialekt ist.

      Nein, Pascal ist ein Programmiersprache, die Niklaus Wirth erfand, um den Studierenden das Programmieren beibringen zu können.
      Es ist eine sehr reine und klare Sprache. Anders als beim Basic Dialekt darf man da nicht "schludern". Klare Strukturen, klare Vorgaben der Definitionen und Gültigkeiten.
      Der Quelltext ist meiner Meinung nach sehr gut lesbar.

      Auszug aus de.wikipedia.org/wiki/Pascal_(Programmiersprache)

      Geschichte

      Pascal wurde nach dem französischen Mathematiker Blaise Pascal benannt. Die Entwicklung der Programmiersprache Algol (bis 1958) wie auch die ihrer Nachfolger war Produkt von Entwicklungskomitees. Niklaus Wirth war maßgeblich an der Erstellung des Abkömmlings Algol W beteiligt, das in Zürich entwickelt und 1966 fertiggestellt wurde.[7] Er berichtete später von den Nachteilen einer gemeinsamen Entwicklung. Konsens innerhalb des Komitees musste mühsam erarbeitet werden, auch erschienen dem praktisch denkenden Wirth, der sich nicht nur als Wissenschaftler, sondern auch als Ingenieur sah, einige Entwicklungsziele mancher Kollegen als übertrieben und unumsetzbar.[8]
      Im Jahr 1968 erhielt Wirth eine Professur an der ETH Zürich, wo er neben seiner Lehrtätigkeit Zeit fand, mit der Entwicklung einer neuen Sprache zu beginnen. Er arbeitete diesmal alleine und konnte Pascal im Lauf des Jahres 1969 fertigstellen. Einer der Gründe für die Neuentwicklung war laut Wirth das Fehlen einer für den universitären Unterricht geeigneten Sprache. Weder das zu unwissenschaftlich angelegte Fortran noch das für die praktische Ingenieurstätigkeit ungeeignete Algol konnten Wirths Ansprüchen genügen. Über den Programmierunterricht hinaus sollte Pascal aber ebenso in der Wirtschaft, der Forschung und bei der Entwicklung von Compilern und Betriebssystemen einsetzbar sein.[8]

      CDC 6600
      Nachdem Wirth die Sprache 1969 fertiggestellt hatte, folgte ein Jahr später die Entwicklung des ersten Pascal-Compilers. Dieser wurde für Computer der CDC 6000 Serie geschrieben und ging bereits 1970 in Betrieb. Im Jahr 1971 veröffentlichte Wirth die nur 28 Seiten lange Beschreibung[9] der Sprache und 1972 konnten Lehrende Pascal erstmals für einführende Programmierkurse verwenden.[8] 1973 folgte eine überarbeitete und 54 Seiten lange Überarbeitung der Spezifikation.[10]

      „Oft wurde ich gefragt, wie man eine Programmiersprache ‚erfindet‘. Man kann das nicht wirklich beantworten, aber es ist sicherlich eine Frage der Erfahrung auf dem Gebiet der Programmierung und von sorgfältiger Überlegung. Manchmal sage ich: ‚So, wie man ein Flugzeug entwickelt. Man muss eine gewisse Anzahl nötiger Bauelemente identifizieren und diese dann zu einem funktionierenden Ganzen zusammenbauen.‘ Diese Antwort ist vielleicht nicht voll zufriedenstellend, aber zumindest passiert dem Resultat in beiden Fällen dasselbe, entweder es fliegt oder es stürzt ab.“
      – Niklaus Wirth[11]
      Code first, think later - Natural programmer :D
    • der Ausflug in die Geschicht macht mich optimistisch, dass in meiner Kabelvorratskiste auch Rechenpotential steckt. Die Frage ist jetzt nur, welche Kabelenden die passenden inputs, outputs sind :/
      Raum für Notizen

      -----------------------------------------------------------------------------------------------------

      -----------------------------------------------------------------------------------------------------