Servo drehrichtung ändern

Gast #2248195
Lesenswert?

also...ich will die drehrichtun des servos rs-2 ändern. ich habe einen 
basic stamp 1 µC und die software dazu. dazu hab ich ldrs und ein paar 
kondensatoren. wie änder ich jetzt die drehrichtung. also wie 
programmiere ich das dann???
Gast #2248209
Lesenswert?

µC anfänger schrieb:
> also wie
> programmiere ich das dann???

Du? Als "µC anfänger" mit einer bs1 und einem ldrs (wasn das?) 
vermutlich gar nicht.
Schraub das Servo auf, pol den Motor um, und dazu die Anschlüsse am 
Poti. Schon läuft es anders herum.

Wenn du Lust und Zeit hast, kannst du dir auch mal die Artikel hier 
(oder sonstwo im WWW) zum Thema Servoansteuerung durchlesen. Bevor du da 
allerdings etwas passendens Programmieren kannst, wirst du erst mal die 
Grundlagen erlernen müssen.

Oliver
Gast #2248218
Lesenswert?

ALso, ich bin kein Anfänger.Das ist unser SChulprojekt,und in der Schule 
gibt es nunmal nichts anderes. Mein Problem, bzw. unseres in der Gruppe 
ist: Unser Projekt: LDRs (erkennen das Licht) erkennen wo das Licht 
herkommt, geben das an einen µC weiter. Der steuert einen RS-2, welche 
die Solarmodule in eine Richtung lenken, von der am meisten Licht kommt. 
Allerdings wissen wir nicht, wie man diesen RS-2 programmiert, dass er 
dasm macht, was wir wollen. Das war unsere Frage
Gast #2248232
Lesenswert?

Aber nicht, was ihr damit anfangen sollt.

Also: LDR ist ein lichtabhängiger Widerstand...also analoge Spannung. Da 
wirst du um einen ADC nicht herum kommen.
Servoansteuerung? Zeit(Impuls)abhängig. Beides kann man mit einem 
kleinen IC (AVR)erledigen. Erst einmal Servoansteuerung und ADC hier 
unter Artikel lesen, dann gezielt fragen.
Gast #2248241
Lesenswert?

Damit ihr ein Regelwerk für die Servoposition programmieren könnt, das 
von der Lichtmenge abhängig ist.
Ich nehme mal an, ihr wollt so eine Art Solarhaus auf einer drehbaren 
Platte konstruieren, die der Sonne folgt.
#2248272
Lesenswert?

µC schrieb:
> kann einfach jm nen direktes beispielprogramm mit beschreibung
> schreiben?

Es fängt schon mal damit an, dass ein Servo (Modellbauservo) keine 
Drehrichtung vorgegeben bekommt, sondern eine Position.

D.h. dein Programm sagt dem Servo: geh auf Position 30 (von 100 
möglichen).

Wenn wir uns jetz der Einfachheit vorstellen, dass die Servopositionen 
linear aufgefädelt vor uns liegen und das Servo 100 Positionen anfahren 
kann.

  0     20    40   50    60    80    100
  +-----+-----+----+-----+-----+-----+

dann ist Position 30 ungefähr hier

  0     20    40   50    60    80    100
  +-----+-----+----+-----+-----+-----+
           ^
           |
  <-- 30 -->

also 30 Einheiten vom linken Rand entfernt. Das ist aber nicht die 
Position die ihr braucht. Ihr braucht die Position 30 Einheiten vom 
rechten Rand entfernt.

  0     20    40   50    60   80    100
  +-----+-----+----+-----+-----+-----+
                            ^
                            |
                            <-- 30 -->

Und, mit der Kentnis, dass es 30 Positionen sein sollen, wie errechnet 
sich jetzt, auf welche Position ihr das Servo schicken müsst, damit es 
30 Positionen vom rechten Rand entfernt sein soll?


Ist doch nicht so schwer. Jeder Grundschüler kann das.

(Nur damit das klar ist: Euer Servo hat natürlich nicht 100 anfahrbare 
Positionen. Wieviele das sind, müsst ihr selbst herausfinden. Und die 
ganz linke Position wird wahrscheinlich auch nicht den Wert 0 haben. 
Aber macht euch eine Skizze, so wie ich das oben auch gemacht habe, in 
die ihr einzeichnet, welcher Wert für ganz links und welcher für ganz 
rechts steht. Dann findet ihr schon heraus, wie die Formel aussehen 
muss, damit sich die Positionswerte genau spiegelbildlich verhalten.
#2248289
Lesenswert?

Schlau wie Sau schrieb:
> Auf ein Letztes:
> http://www.mikrocontroller.net/articles/AVR-Tutorial:_Servo
>
> Lies es und du wirst schlauer sein. Aber bitte: tu es.


Er hat eine Basic Stamp.
Die kann das alles von alleine. (Da ist ein Basic drauf, dass schon die 
korrekte Unterstützung dafür bietet).
Nur die Handbücher und Doku müsste man halt dazu lesen.


(oder zumindest mit den richtigen Stichworten googeln)
#2248301
Lesenswert?

µC schrieb:
> 1. bei uns sind die ferien schon vorbei und die sommerferien kommen erst
> im august.
>
> 2. seit anfang an, war unsere Frage, wie man diesen servo steuert

Das war nicht von Anfang an eure Frage,
Von Anfang an war eure Frage: "Wie drehen wir die Drehrichtung um?"
und damit diese Frage überhaupt Sinn macht, muss man davon ausgehen, 
dass ihr ein Servo überhaupt erst einmal prinzipiell ansteuern könnt.

Was sagen denn eure Unterlagen dazu?
Bei Parallax (dem Hersteller der Basic Stamp) gibt es dazu ein schönes 
Beispiel. Ist das auch in euren Unterlagen enthalten?

http://www.parallax.com/dl/docs/books/sw/exp/sw25.pdf

Sorry. Aber mehr Hilfe gibt es nicht, kann es nicht geben.
Denn noch mehr Hilfe würde schon bedeuten, euer Projekt in wesentlichen 
Teilen für euch zu machen. Und das ist nicht Sinn der Sache.

(Woher ich das mit dem Beispiel weiß?
Ich habe 2 Minuten gegoogelt! Suchbegriff "Basic Stamp Servo".
Und das ist auch euch zuzumuten)
#2248367
Lesenswert?

µC schrieb:
> wir haben es geschafft,den servo in eine richtung in gewollten abständen
> zu drehen. in eine richtung. wie geht es in die andere richtung?

bei meiner letzten servo-ansteuerung wars
1
move(20);
2
move(-20);
damit hat sich der servo 20 "schritte" (weiß nicht mehr wieviel das 
genau war) in die ein, dann in die andere richtung gedreht.
wie genau: RTFM
#2262020
Lesenswert?

µC schrieb:
> des ham wir ja gem8!!!!!!!!!!!


Ja und?

Wenn jetzt n der Wert ist, der angibt an welcher Position das Servo zu 
stehen kommen soll, wie drehst du dann die Richtung um, so dass sich die 
Position von der anderen Seite aus ergibt.

aus (Beispiel mit anderen Zahl)

  20   40    60   80    100   120   140
  +-----+-----+----+-----+-----+-----+
           ^
           |
  <-- 30 -->

soll werden

  20   40    60   80    100   120   140
  +-----+-----+----+-----+-----+-----+
                            ^
                            |
                            <-- 30 -->

muss schon sagen: wahnsinnig schwierige Mathematik. Das kann jeder 
Grundschüler!

Hinweis: du kannst nicht n direkt verwenden. D.h. du kannst schon. Aber 
einfacher ist es, wenn man erst mal eine Servoposition als Wert von 
links nach rechts hat, die dann umdreht und erst dann dieses Ergebnis in 
eine Pulslänge verwandelt.

Jaaaa, da muss man das Programm ein wenig rechnen lassen! Und was es zu 
rechnen hat, muss der Programmierer vorgeben. Nicht für jeden Mückenfurz 
gibt es einen fertigen Befehl.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren