Schrittmotorsteuerung die xte

  • Hallo Leutz;
    nach langer Enthaltsamkeit für diverse Computereien und auch so einiges andres (wg Krankenhaus) will ich noch mal loslegen.
    Meine mir wegen langer Untätigkeit im KrkH gekommene Idee ist folgende:
    Ein Raspi als Steuerung für eine Antennenanpassgerät.
    Eine Meßvorrichtung für den Grad der (Fehl)-Anpassung der Antenne habe ich.
    Diese gibt 2 Werte aus - Vor und Rücklauf der Energie auf der Antennenleitung.
    Daraus errechnet sich dann das VSWR.
    Dies erledigt ein kleiner Arduino-EPC, der diese Werte anstelle sie nur anzuzeigen, ja auch an einen Raspi weiterleiten.
    Dieser sollte dann anhand der Werte 2 bzw 3 Schrittmotoren steuern, welche dann 2 Drehkondensatoren und 1 Spule positionieren.
    Den Erfolg seiner Arbeit kriegt er als Rückmeldung vom EPC.
    DA die Arduinos aber sehr wenig Speicher haben und ich wegen der zu hinterlegenden Tabellen Platz brauche, dachte ich mir das ein Raspi doch einen Großteil der Steuerarbeit übernehmen könnte, zumal er ja auch " einfacher " zu programmieren ist.

    ICh bin mir erstmal nur ein wenig unsicher, ob das nicht auch für "einen" Raspi zuviel sein könnte, oder ob man die Ansteuerung der Schrittmotre nicht auch an einen Arduino delegieren sollte.
    Die ganze Anwendung ist nicht wirklich zeitkritisch, zumal die Schrittmotore relativ langsam laufen, damit der EPC seinen Meßaufgaben nachkommen kann
    Ich brauch kein Tempo sondern Reproduzierbarkeit der Stellwerte. Deswegen auch die Tabellen.
    ICh denk mir , das ausrechnen doch länger dauert als der Zugriff auf eine Tabelle.

    Also , wenn mir da jemands auf Sprünge helfen könnte... Bin für Denkanstöße dankbar.


    Gruß
    Ralf

    PS - Hab grade gesehen, das ich in der falschen Rubrik gelandet bin.
    Sorry; wenn mich bitte einer der Moderatoren in die richtige - vermutlich Basteleien -Funktechnik - verschieben könnte?
    Oder kann man das selber machen?
    Danke

    Einmal editiert, zuletzt von Ralf-DC7FB (28. Dezember 2016 um 07:48)

  • Bei den langsamen Ansteuerungen die dir vorschweben sollte das ein PI schaffen. Allerdings ist das recht viel Komplexitaet im System fuer so wenig zu tun. Was sind denn das fuer Tabellen? Wenn die alles sind, was dich von der Arduino-only-Loesung abhaelst, koenntest du die ja ggf in ein externen Speicher auslagern. Und wie kompliziert zu berechnen sind sie denn faktisch?


  • Bei den langsamen Ansteuerungen die dir vorschweben sollte das ein PI schaffen. Allerdings ist das recht viel Komplexitaet im System fuer so wenig zu tun. Was sind denn das fuer Tabellen? Wenn die alles sind, was dich von der Arduino-only-Loesung abhaelst, koenntest du die ja ggf in ein externen Speicher auslagern. Und wie kompliziert zu berechnen sind sie denn faktisch?

    Hallo deets
    erstmal muß ich zugeben, das das ganze erstmal nur auf meinem Schmierzettel steht, worauf das schlußendlich hinausläuft....???
    #viel Komplexitaet im System fuer so wenig zu tun. #
    hab ich bisher eher andersrum gesehen;
    Auf der einen Seite mit Arduino reden <> Meßwerte, also das wäre eigentlich nur lauschen und quittieren damit die nächste Messung startet
    erschien mir bisher nicht komplex
    Dann aber 3 Schrittmotore:
    Position abfragen; ev auf Start zurück,
    MEßwerte abholen,
    (eine Tabelle, wo die Position der Spule in Relation zur Arbeitsfrequenz positioniert wird - lesen )
    dazu muß irgendwie die Arbeitsfrequenz gemessen werden
    in Tabelle lesen,
    dann ersten Drehko bewegen, neue Werte lesen, wieder drehko bewegen, werte vergleichen, entscheiden ob rechts oder links rum usw.
    Ich denke, das "tun" ist eher komplexer.
    Aber bestimmte Routinen wie das Frequenzmessen braucht man ja nur einmal zuschreiben, oder dafür auch einen kleinen PIC16F...
    abzustellen, der dies parallel zur VSWR-Messung macht
    Automatisch zusammengefügt:
    Tja, dieTabellen existieren auch noch nicht.
    Ich denke aber, das ich die zu fuß erstellen muß.
    Vielleicht gibt es ja irgendwo ähnliche, wo man ein wenig abgucken kann.
    Für die Frequenzmessung hab ich schon eine etwas genauere Idee.

    Einmal editiert, zuletzt von Ralf-DC7FB (28. Dezember 2016 um 12:09)

  • Zuersteinmal ist ein System aus zwei Computern, mit unterschiedlichen Pegeln, der Notwendigkeit zu kommunizieren und einem verteilten Programm mit verschiedenen Sprachen und Umgebungen voellig unzweifelhaft komplexer.

    Was nicht heisst, dass es nicht trotzdem notwendig oder besser sein kann, wenn dadurch das Problem besser geloest wird.

    Aber auch nach all dem was du da beschreibst sehe ich das nicht. Mir fallen - ohne weitere tiefere Kenntnisse ueber dein Problem - grundsaetzlich zwei Vorgehensweisen ein: ein (ggf achsenweises) Gradientenabstiegsverfahren, bei dem du durch Feedback deines Sensors das lokale Optimum findest.

    Oder eine systematische Suche ueber den gesamten Suchraum, die lange dauert, aber auch ein globales Optimum finden *kann*.

    Beides sind simple Algorithmen, die auch der Arduino problemlos packt. Falls aber zB noch eine grafische Oberflaeche mit Moeglichkeit zum Eingriff dazu soll, etc - da waere dann vll. der PI mit im Spiel.

    Letztlich musst du das entscheiden. Was ich aber nicht machen wuerde ist, Arduino nur messen & PI steuern zu lassen. Ich wuerde auch die Schrittmotoren vom Arduino ansteuern lassen. Dann hast du die Wahl, ob du die Logik komplett auf dem Arduino haelst, oder eben Messwerte aufnimmst von ihm, und dann Fahranweisungen gibst.

Jetzt mitmachen!

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