Forum: Mikrocontroller und Digitale Elektronik Servo drehrichtung ändern


von µC anfänger (Gast)


Lesenswert?

Wie klann man mit bs1 die drehrichtung eines servos(modelcraft rs-2) 
ändern??? Möglichst ohne ic
vielen dank im voraus

:
von Stefan P. (form)


Lesenswert?

Ich weiss zwar nicht was bs1 ist, aber Du kannst den internen Motor 
umpolen und die beiden äußeren Anschlüsse des internen Potis umdrehen.

von µC anfänger (Gast)


Lesenswert?

das heißt basic stamp 1 und wie programmierich des?

von Stefan P. (form)


Lesenswert?

Oben hast Du doch geschrieben das Du kein IC dafür verwenden willst.
Am besten schreibst Du mal komplett auf was Du überhaupt vor hast.

von Jens M. (Gast)


Lesenswert?

µC anfänger schrieb:
> das heißt basic stamp 1 und wie programmierich des?

RTFM

von µC anfänger (Gast)


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???

von Oliver (Gast)


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

von µC (Gast)


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

von Schlau wie Sau (Gast)


Lesenswert?

µC anfänger schrieb:
>  Möglichst ohne ic


Ui, auf dem bs1 ist ein IC drauf.
Ohne Informationen deinerseits, wird es wohl kaum Informationen 
unserseits geben.
Ich hab da so ein Ding, mit dem will ich irgendetwas machen. Wie geht 
das denn jetzt?

von µC (Gast)


Lesenswert?

WIr wissen was wir haben

von µC (Gast)


Lesenswert?

Warum könnt ihr uns nicht einfach sagen,wie das geht?

von Schlau wie Sau (Gast)


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.

von µC (Gast)


Lesenswert?

weshalb sollten wir einen ADC brauchen?

von Schlau wie Sau (Gast)


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.

von µC (Gast)


Lesenswert?

kann einfach jm nen direktes beispielprogramm mit beschreibung 
schreiben?

von Schlau wie Sau (Gast)


Lesenswert?

Ja cool,
und ihr habt ein fertiges Projekt und bekommt gute Noten. Geht's noch??
Lies selber du fauler Sack!

von Stefan P. (form)


Lesenswert?

Wenn man die Amper von den Solarzellen hochskillt, kann man auf die 
Nachführung verzichten.

von µC (Gast)


Lesenswert?

will nur nen beispielprogramm!!!!!!!!!

von Karl H. (kbuchegg)


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.

von µC (Gast)


Lesenswert?

danke, das war schon mal ein ansatz. die letzte frage ist jetzt, wie wir 
diesen servo auf die entsprechende Position schicken.

von Stefan K. (berliner)


Lesenswert?

jep, würd ich auch so machen..

von Karl H. (kbuchegg)


Lesenswert?

µC schrieb:
> danke, das war schon mal ein ansatz. die letzte frage ist jetzt, wie wir
> diesen servo auf die entsprechende Position schicken.

Ich denke, ihr wisst bereits wie man ein Servo ansteuert?

Irgendwas müsst ihr doch selber auch können!
Oder sollen wir eure Arbeit gleich für euch beim Lehrer abgeben?

von Stefan K. (berliner)


Lesenswert?

@µC
Apropos Schülerprojekt, ist es nicht ein bissl kurz vor der Abgabe?
wann sind bei euch Ferien?

von Schlau wie Sau (Gast)


Lesenswert?

Auf ein Letztes:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Servo

Lies es und du wirst schlauer sein. Aber bitte: tu es.

von Michel (Gast)


Lesenswert?

µC schrieb:
> .... die letzte frage ist jetzt, wie wir
> diesen servo auf die entsprechende Position schicken.

Indem ihr im genügend viele Impulse mit der richtigen Länge schickt.

von Karl H. (kbuchegg)


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)

von Stefan K. (berliner)


Lesenswert?

ich find den Ansatz von Karl Heinz Buchegger ganz gut.

von µC (Gast)


Lesenswert?

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

von Andreas S. (Firma: Schweigstill IT) (schweigstill) Benutzerseite


Lesenswert?

Programm schreiben? Klar, können wir erledigen. Im konkreten Fall muss 
ich aber schon auf Vorkasse bestehen, und zwar auch schon für die 
Analysephase.

von Karl H. (kbuchegg)


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)

von Karl H. (kbuchegg)


Lesenswert?

Edit:
Interessanterweise liest sich der allerletzte Abschnitt in diesen 
Herstellerunterlagen so:
1
Challenge
2
Replace the potentiometer with two photocells and update the code
3
to cause the servo to center at the brightest light source.

Das erinnert mich doch an irgendwas.

von µC (Gast)


Lesenswert?

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?

von Schlau wie Sau (Gast)


Lesenswert?

Mit einem Minuszeichen davor....

Wie wäre es endlich mit einem Schaltplan, eurem Programm und was man 
sonst so braucht.

von Daniel F. (df311)


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

von Michel (Gast)


Lesenswert?

Vielleicht geht auch soetwas wie

PULSOUT Servo,n

aus (p.146):
http://www.parallax.com/Portals/0/Downloads/docs/books/sw/Web-SW-v2.1.pdf

von µC (Gast)


Lesenswert?

des ham wir ja gem8!!!!!!!!!!!

von Karl H. (kbuchegg)


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.

von Lehrmann M. (ubimbo)


Lesenswert?

Ich bin gespannt auf das Ergebnis.

von Karl H. (kbuchegg)


Lesenswert?

Lehrmann Michael schrieb:
> Ich bin gespannt auf das Ergebnis.

Ich auch.
In 12 Tagen nicht in der Lage eine Subtraktion auszuknobeln.

Aber da müssen sie durch.
"Computer, Servo Drehrichtung umdrehen!"
funktioniert nun mal nur auf der Enterprise.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.