-         

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 18

Thema: Werte begrenzen

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    27.09.2009
    Alter
    22
    Beiträge
    661

    Werte begrenzen

    Anzeige

    Liebes Forum,

    ich habe mir für den RP6 einen Arm gebaut und will in jetzt mit Funktionen programmieren aber das er sich nicht selbst zerstören kann muss ich einige Servowerte speren sodass ersich nicht selbst zerstören kann aber wie macht
    man das ?Es soll auch in abhängigkeit von anderen Werten abhängen.
    MfG Martinius

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    If(servowert > erlaubterServowert){
    servowert = erlaubterServowert;

    errorFlag = 1;
    }


    Oder so ähnlich.

    Gruß, Yaro

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    27.09.2009
    Alter
    22
    Beiträge
    661
    muss ich dann nach errroFlag fragen oder gibt das der Komplier aus?
    MfG Martinius

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Das errorFlag kann z.B. eine globale Variable sein, die du ab und zu abfragst und wenn die gesetzt ist z.B. eine LED anschaltest. Das ist nur dazu da, zu erkennen, das du deine Servobegrenzung erreicht hast. Du kannst es auch weglassen, dann kannst du aber schlecht erkennen, ob der Servo so sein muss, oder ob die Begrenzugn gerade aktiv geworden ist.

    Gruß, Yaro

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    28.04.2010
    Beiträge
    170
    Der Vollständigkeit halber sei noch gesagt, dass diese Überprüfung zwischen die eigentliche Werteberechnung und die Ausgabe muss um zu verhindern dass zu grosse Werte vor der Fehlerabfrage ausgegeben werden.

    MfG JoeBlack

  6. #6
    Erfahrener Benutzer Roboter Genie Avatar von Rabenauge
    Registriert seit
    13.10.2007
    Ort
    Osterzgebirge
    Alter
    49
    Beiträge
    1.245
    Ich habe mir, gleich im Programmkopf, zwei Konstanten abgelegt, die während dem Programmablauf nicht verändert werden:

    const int servo_maxLeft= Wert für Maximalausschlag links
    const int servo_maxRechts= Wert für Maximalausschlag rechts

    So kann man leicht mal die Maximalausschläge verändern, um z.B. zu testen, wie weit es wirklich geht.
    Wann auch immer dann eine Berechnung der Position nötig ist, wird aufgepasst dass der errechnete Wert zwischen diesen beiden liegt, so kann nichts passieren.
    Grüssle, Sly
    ..dem Inschenör ist nix zu schwör..

  7. #7
    Benutzer Stammmitglied
    Registriert seit
    30.12.2009
    Ort
    Koblenz
    Alter
    38
    Beiträge
    78
    Moin, vielleicht erzählst Du uns noch etwas mehr über Deine geplante Abhängigkeit von anderen Werten. Eventuell könntest Du/Wir dann "einfach" eine Funktion erstellen, die die Bedingungen erfüllt.
    Ich habe bereits bis Unendlich gezählt. Zweimal, und zurück

  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    27.09.2009
    Alter
    22
    Beiträge
    661
    Nun ja wenn der Servo 1 auf position 12 ist darf Servo 2 nicht auf 10 sein

    Aber ich hab grad noch einganz anderes Problem wenn ich den Arm anschließe verhält sich der RP6 wie bei einem Kurzschluss.
    das passiert auch wenn ich nur einen Servo anschließe was kann man da tun ?
    MfG Martinius

  9. #9
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    28
    Beiträge
    607
    Ich gehe mal davon aus, dass der Servo deinem µC den Strom wegfrisst.
    Da hilft z.B. Entkoppeln des µC mit schottky und Kondensator.

    Poste mal deinen Schaltplan.

    Gruß, Yaro

  10. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    27.09.2009
    Alter
    22
    Beiträge
    661
    dagibts eigentlich keinen großen schaltplan ich hab halt nur die Anschlüße
    entsprechent verbunden und beim signal 10kOhm dazwischen als Signale hab ich INT1, ADC0, IO2 und IO3
    MfG Martinius

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •