mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Motorfader ansteuern


Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!!!!

Ich weis es gibt schon sicher 100000 beiträge über Motorfader nur wurde 
ich aus 99999 nicht besonders Klug und deswegen wollt ich fragen ob mir 
nochmal wer gaanz langsam erklären kann wie man denn Motorfader 
ansteuert!!!

Besten Dank und einen schönen Nachmittag!!!

Max Berg

Ps: Falls es gleich wer mithilfe von Microcontrollern erklären mag =) 
wäre ich sehr dankbar wenns mit PIC's geht =) Mit denen kann ich nämlich 
auch umgehen ^^

Danke!!!!!

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Hi!!!!
Kontrollier mal deine Shift-1 Taste. Ich glaube, die 
hängt!!!!!!!!!!!!!!!!

Ein Motorfader ist ja nun nichts anderes als ein Poti, dessen Stellung 
über einen Motor verändert werden kann. In diesem Poti sind 2 Potis 
versteckt: eines ist das "Audio"-Poti, das dann die Lautstärke ändert. 
Das andere "Servo"-Poti wird dazu verwendet, die aktuelle Position des 
Schleifers zurückzugeben.

Um zu wissen, wo der Schleifer aktuell steht, wird auf das Servopoti 
eine Spannung von z.B. 5V gegeben. Wenn dann am Servo-Schleifer 2,5V 
herauskommen, steht das Poti in der Mitte.
    o------.                  5V      Audio In
           |                   |         |
           |                  .-.       .-.
          / \            ---->| |       | |<----- Audio OUT
         ( M ) ............:..| |.......| |..:
          \_/                 '-'       '-'
           |                   |         |
    o------'                  0V     Audio GND

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey, danke für deine Antwort!

Was müsste ich machen wenn ich von einem µC einen float-Wert erhalte und 
danach den Fader stellen möchte? (Das heist 0 - 1 entspricht dem 
Faderweg)

Der Werdes Potis (welchesvon welchem denn?) soll dann wieder eingelesen 
werden....

Ich weis ich bin schwer von begriff ^^

Aber Danke für alle Antworten die noch kommen!

Max Berg

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Float Wert? Wenn Du das Servo-Poti zwischen Masse und 5V klemmst, 
bekommst Du Werte im gesamten ADC-Bereich, also bei 10 Bit von 0 bis 
1023. Das sollte zum genauen Anfahren einer gespeicherten Position 
reichen, oder?

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja ich bekomme von einer Software einen float wert der dann den Fader 
stellen soll??
Bin leider noch immer ein bissi ratlos wie ich es zusammenbringe den 
Fader zu stellen???
Lege ich einfach eine konstante Spannung (die vom Float in eine Spannung 
gewandelt) an das Poti?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du legst, zb eine bekannte Spannung an die Aussenanschlüsse des Poti an 
und nimmst vom Mittenanschluss die Positionspannung ab. Die legst du auf 
den ADC in deinem µC, der gibt dir dann einen Wert dafür. Wenn dein ADC 
einen Wertebereich von 0 bis 1023 hat, dann sagt dir ein ADC Messwert 
von 512, dass der Schleifer und damit der Fader in der Mitte steht.
Aber im Grunde interessiert dich das nicht besonders.
Dein Vorgabewert vom Benutzer kann im Bereich 0 bis 1 sein.
Also multiplizierst du den mal mit 1023.

Zb. hast du die Vorgabe von 0.28 bekommen. Mal 1023 macht das 286.
-> Wenn der Fader richtig stehen würde, würde aus dem ADC genau der 
gleiche Wert 286 herauskommen. Tut er aber nicht, da kommt 512 raus.
Dein Messwert war 512 und das ist größer. Also schaltest du den Motor 
ein, der den Fader dreht -> dein Messwert sinkt. 500, 480, 460, 440 ... 
und das machst du so lange, bis der ADC Messwert 286 erreicht hat.

Umgekehrt natürlich genauso: Ist der Messwert zu niederig, lässt du den 
Motor in die andere Richtung drehen.

> Der Werdes Potis (welchesvon welchem denn?) soll dann wieder
> eingelesen werden....

Na welches wirds wohl sein. Es wird wahrscheinlich nicht dasjenige sein, 
welches du benutzt um dein Audiosignal abzuschwächen ....

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Antworten!
Jetzt bin ich ja tatsächlich klüger geworden =)

Aber eine letzte Frage hätt ich noch:

Wenn ich jetzt meinen Wert der Faderstellung am ADC einlese und den 
Motor nachregel wie oft muss ich Vergleichen ob der Wert der richtige 
ist?
Wenn ichs richtig verstanden habe Vergleiche ich ja einfach immer den 
Ist und Soll Wert.
Aber ich kann ja den motor immer nur ein stück nachregeln und dann 
wieder schauen ob die Position die richtige ist?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Max Berg wrote:

> Lege ich einfach eine konstante Spannung (die vom Float in eine Spannung
> gewandelt) an das Poti?

Was soll das bringen?

Das Poti ist die Rückmeldung wo denn der Fader steht.
Steht das Poti an einem Ende, liefert der ADC den Wert 0.0 (ausgedrückt 
als Integer 0). Steht das Poti am anderen Ende liefert es den Wert 1.0 
(ausgedrückt als 1023)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Max Berg wrote:
> Danke für die Antworten!
> Jetzt bin ich ja tatsächlich klüger geworden =)
>
> Aber eine letzte Frage hätt ich noch:
>
> Wenn ich jetzt meinen Wert der Faderstellung am ADC einlese und den
> Motor nachregel wie oft muss ich Vergleichen ob der Wert der richtige
> ist?
> Wenn ichs richtig verstanden habe Vergleiche ich ja einfach immer den
> Ist und Soll Wert.
> Aber ich kann ja den motor immer nur ein stück nachregeln und dann
> wieder schauen ob die Position die richtige ist?

Ich bin sicher, dein PIC kann sehr viel schneller messen und nachregeln 
als dein Fader Motor den Bedienknopf (und damit das Poti) drehen kann. 
Oder dreht der den Knopf mit 20000 U/Min?


Also

  While immer
  {
    lies Vorgabe
    lies ADC

    Vorgabe > ADC Wert + 2    // für eine kleine Hysterese
      Motor links laufen lassen

    else Vorgabe < ADC Wert - 2
      Motor rechts laufen lassen

    else
      Motor ausschalten
  }


Soll ich dir jetzt das Programm auch noch schreiben?

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja ich habe eine Software in der (jetzt als Beispiel) ein Regler 
vorhanden ist.
Wenn ich diesen Regler bewege soll sich mein Fader an meinem Device 
nachstellen....

Von der Software bekomme ich als Reglerposition halt einen Float wert... 
Und mit diesem muss ich es irgendwie schaffen den Hardwareregler (also 
den Fader) zu steuern!

Danke für eure Geduld!

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Max Berg wrote:
> Naja ich habe eine Software in der (jetzt als Beispiel) ein Regler
> vorhanden ist.
> Wenn ich diesen Regler bewege soll sich mein Fader an meinem Device
> nachstellen....

Na dann denk dir was aus.

Es wird wahrscheinlich ziemlich sicher ausreichen, wenn du bei einer 
Veränderung des Wertes einmalig den Motor links oder rechts laufen 
lässt, bis der ADC meldet, dass die gewünschte Position erreicht ist. 
Danach Motor ausschalten und alles ist gut.

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für alle Antworten! Jetzt hab ichs glaub ich^^

@ Karl heinz Buchegger

"Soll ich dir jetzt das Programm auch noch schreiben?"

Nein brauchst du nicht =) Ich hatte halt bis jetzt nur keine Erfahrung 
mit Motorfadern.
Mein Softwareseitiges Programm is 2000 Zeilen lang =) also Programmieren 
is net so mein Problem =)

Lg Max Berg

Autor: Max Berg (maxberg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ha ich bin ja ur dumm! Jetzt habs ich echt....=) Eigentlich easy...

Sorry für die viele Fragen und vielen Dank dafür!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.