Forum: Mikrocontroller und Digitale Elektronik Servo über Taster steuern


von Florian (Gast)


Lesenswert?

Ich möchte einen Servo (klassisch aus dem Modellbau) über einen Taster 
in Position X fahren und danach soll er wieder zurück gehen auf 
Ausgangsstellung.

wie lässt sich so was relativ "einfach" realiseren?

viele grüße

Flo

von Timmo H. (masterfx)


Lesenswert?

Arduino mit nem Attiny (z. B.  Digispark für ca. 1€)

von Hubert G. (hubertg)


Lesenswert?

Wenn du nicht programmieren willst / kannst, dann nimmst du einen 
Servotester. Z.B. Conrad 234915

von Sebastian S. (amateur)


Lesenswert?

Ohne µC wird sich da nicht viel machen lassen.

Schau Dir mal das zugehörige Wiki (Servo) an, dann wirst Du verstehen.

Ein µC kann auf Kommando (Tastendruck) eine Menge Kunststückchen machen.

von Florian (Gast)


Lesenswert?

Und wie stelle ich das mit den Servotester an?

das Poti durch ein Taster ersetzen, das erschließt sich mir aber wie 
regel ich den winkel?

er soll ja nicht von anschlag zu anschlag gehen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian schrieb:
> wie lässt sich so was relativ "einfach" realiseren?
Kauf dir einen micro:bit Rechner.
Damit malst du dieses Programm in ein paar Minuten im Browser.

von Hubert G. (hubertg)


Lesenswert?

Ein zweites Poti parallel mit dem Taster dazu schalten .

von Jobst M. (jobstens-de)


Lesenswert?

Sebastian S. schrieb:
> Ohne µC wird sich da nicht viel machen lassen.

Dual-OP. (z.B. TL072)
Einen der beiden OPs als Dreieckgenerator mit 50Hz.
Den zweiten als Komperator.
Spannung aus Poti für Stellung 1, zweite Spannung aus zweitem Poti für 
Stellung 2.


Gruß
Jobst

von Sebastian S. (amateur)


Lesenswert?

Mit dem angegebenen "Tester" kannst Du nur das machen, was der 
"Deckblatt" sagt.

Anders ausgedrückt:
Mit dem Poti kannst Du den Servo in jede Position fahren lassen, die DU 
vorgibst.
Also "fahre auf langsam auf 120° und anschließend zurück auf 20°" geht 
nur, wenn Du entsprechend am Poti drehst...
Lässt Du das Poti los, bleibt das Teil genau an der vorgegebenen 
Position stehen.

von Sebastian S. (amateur)


Lesenswert?

@ Jobst
Ich nehme mal an, dass der sogenannte Tester genau das macht.

@ Florian
Nach diesem Prinzip kannst Du einen Servo mit einer Gleichspannung 
steuern.

von Florian (Gast)


Lesenswert?

Wollte den aufwand eher gering halten, jedoch finde ich Arduino gar 
nicht so verkehrt.

Denn dieser gibt ja schon 5V aus, und garantiert somit die versorgung 
des servo`s.

Bliebe die beschaltung, rest würde ja sowieso übers programm laufen das 
man beim druck auf den taster als beispiel 40° macht und danach soll er 
auf 0° zurück fahren.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Arduino wird da keine schlechte Wahl sein.
Sind die genannten 40° ein fester Wert?
Wenn nciht, wie willst Du den 'als nächstes geforderten Wert' zum Servo 
(aka den Arduino) bringen?

Auch ist nicht gesagt, daß der berechnete PWM-Wert (der Puls mit 1...2ms 
Länge) den gedachten Winkel trifft.
Ggf. muß hier nachgestellt werden können, also dem Arduino gesagt 
werden, daß Er doch bitte 'etwas mehr' fährt.

Wie immer:
WAS soll Es werden
WAS hast Du bereits (Lötkolben, LEDs, ne Hand voll Widerstände, ...)
WIE dachtest Du Dir, Dein Problem zu lösen?

Zwischen 'Taster drücken' und 'Servo geht auf 40°' liegen ein/zwei 
Zwischenschritte, Die der Arduino ausführen muß, damit das Servo auch 
was macht.

MfG

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian schrieb:
> Denn dieser gibt ja schon 5V aus, und garantiert somit die versorgung
> des servo`s.
Mal vom unnötigen Apostrophen abgesehen: reicht der 5V Regler auf dem 
Druiden für die zusätzliche Last aus? Je nach Versorgung würde ich da zu 
"Nein" tendieren.

Oder andersrum: wenn du keine Probleme willst, dann versorge das Servo 
nicht mit der Spannung des µC. Lediglich die Massen der beiden 
Versorgungen werden (natürlich) miteinander verbunden.

von Sebastian S. (amateur)


Lesenswert?

@Florian

Ganz so einfach ist das Ganze dann auch nicht.

a) Ein Arduino reicht bei Weitem aus.
b) Ersterer kann zwar die Steuerung eines Servos übernehmen, aber er
   kann den Servo nicht Versorgen - was auch immer das bedeuten soll.
c) In fast allen Fällen kommen schon nach wenigen Sekunden
   Sonderwünsche.
   1) Du willst den Nullpunkt einstellen (vielleicht bei 3°).
   2) Du musst den Endpunkt korrigieren (vielleicht auf 41°).
   -) Du hast ein Zeitraster!
   3) Fahre xx Sekunden nach Tastendruck.
   4) Warte xx Sekunden am Endpunkt.
   5) Was soll bei einem Tastendruck während der Fahrt passieren?
   6) Wie lange soll am Ende der Rundfahrt gewartet werden?
   -) Nicht nur der Porschefahrer fragt: Wie schnell?
   7) Bei großen Lasten sind auch Start- und Bremsrampen nicht schlecht.
   8) Fahre mit Geschwindigkeit xx hin.
   9) Fahre mit Geschwindigkeit yy zurück.

Rund um die konkrete Anwendung werden Dir bestimmt noch ein paar 
Sonderwünsche einfallen.
Willst Du die alle fest einprogrammieren oder sollen die Parameter vor 
Ort veränderbar bzw. Einstellbar sein.
Wird eine Anzeige benötigt um z.B. durch ein Blinken anzuzeigen: "In 10 
Sekunden geht’s zurück"!
Ein Arduino kann das alles, aber dann brauchst Du ein paar 
Eingabeelemente mehr und ev. ein paar Ausgabeelemente (LEDs usw.). Mit 
Potis kann man z.B. (zusammen mit den A/D-Wandlern) 
Pseudoanalogvorgaben, für Winkel, Zeiten und Geschwindigkeiten, 
festlegen.

: Bearbeitet durch User
von Bastler (Gast)


Lesenswert?

Hallo

mit relativ wenig Aufwand und für kleines Geld sollte es so 
funktionieren:

Kaufe dir wenn es relativ schnell, aber nicht unnötig teuer gehen soll:

1 Stück
http://www.ebay.de/itm/USB-2-0-to-TTL-RS232-5V-CP2102-Adapter-seriell-converter-Arduino-RX-TX-327-/322068719226?hash=item4afccaa67a:g:2XYAAOSwAvJXCQW~

und min.(besser mehr...!) 1 Stück

http://www.ebay.de/itm/Arduino-Pro-Mini-kompatibel-Atmega328-5V-16Mhz-MEGA-328-/252715060447?hash=item3ad6fdccdf:g:bbcAAOSw-0xYl1HD

(Oder irgendein anderer Anbieter der aus Deutschland versendet).

Dann besorge dir noch ein Steckerdnetzteil (Handylader, USB Lader...) 
mit 5V und möglichst >=1A - 6V gehen auch.

Informiere dich über die Beschaltung der Boards und (vorher!) über die 
Installation des Treibers des USB Serials Wandlers CP2102.
Installiere Treiber und führe die Korrekte Verdrahtung durch - noch aber 
ohne den Servo (Wenn die Spannung >=5V beträgt unbedingt am RAW Eingang 
des Pro Mini Clones anschließen).

Dein CP2102 Wandler sollte als Virtuelle Schnittstelle im Gerätemanager 
auftauchen, wenn nicht nutze die Googlesuche und löse das Problem.

Gehe auf https://www.arduino.cc/ und Lade dir die komplette 
Entwicklungsumgebung herunter und installiere diese (mit allen Treibern 
welche abgefragt werden).
Öffne die Arduino IDE und wähle das richtige Board und die richtige COM 
Schnittstelle (die solltest du im Gerätemanager vorfinden).

Verbinde den Arduino Pro Mini Clone mit deinen CP2102 Wandler (eventuell 
mit die Google Suche nutzen ) und lade mittels der Arduino IDE das 
Blinkprogramm aus der IDE auf den Pro Mini Clone - die Onbord LED sollte 
Blinken - modifiziere das Blinkprogramm zu Testzwecken.

Jetzt suche dir irgendein Tutorial bzw. eine Anleitung für deine 
Servoaufgabe (Modellbauforen sind da oft gute Quellen z.B. Stummi 
Forum).
Lade den vorgefundenen Arduino Scetch (*.ino Datei) auf deinen Pro Mini 
Clone, führe die Verdrahtung korrekt (Pins beachten, Spannungsversorgung 
unbedingt korrekt ausführen) durch und es sollte funktionieren.

Wahrscheinlich sind Anpassungen notwendig die aber bei guten Tutorials 
oder Anleitungen Dokumentiert sind - wenn nicht: Wieder mal hilft dir 
Google.


So das ist meiner Meinung nach die schnellste und gleichzeitig wenig 
kostenintensive Möglichkeit.

Mehr Komfort aber zu deutlich (und zwar wirklich sehr deutlich) mehr 
Kosten bekommst die wenn du dir ein Original Arduino Board, "offiziele" 
Netzteile und im schlimmsten Falle unglaublich überteuerte "Shilds" 
zulegst.

Sparen kannst du wenn du direkt aus China bestellst - aber das dauert 
und es besteht immer die Gefahr das du für diesen finanziellen Kleinkram 
noch bei deinen zuständigen Zollamt antanzen darfst...

Ansonsten:
Mit den Arduino, oder natürlich auch einen "nackten" µC, hast du jetzt 
jede Menge Möglichkeiten und kannst den Abzockern aus den 
Modellbaubereich u.ä. den Mittelfinger zeigen.
Leider musst du aber auch sehr viel lernen und einige Misserfolge 
hinnehmen - programmieren lernt man leider nicht mal so eben nebenbei - 
selbst wenn du nur fertigen Code nutzt wird es immer mal wieder Probleme 
geben wo dir auch Google nicht direkt helfen kann und du zumindest ein 
wenig wissen bezüglich der Programmiersprache (Arduino in etwa C und C+) 
und Hardware aneignen musst.

Bastler

von Wolfgang (Gast)


Lesenswert?

Sebastian S. schrieb:
> Ohne µC wird sich da nicht viel machen lassen.

Ein simpler Oszillator mit umschaltbarer Pulsdauer wird doch wohl auch 
ohne hinzukriegen sein. 74123 oder NE555 sollte es noch irgendwo geben 
;-)

Früher (tm) hat man ganze Funkfernsteuerungen ohne µC gebaut.

von Patrick J. (ho-bit-hun-ter)


Lesenswert?

Hi

Sebastian S. schrieb:
> Potis kann man z.B. (zusammen mit den A/D-Wandlern)
> Pseudoanalogvorgaben, für Winkel,

Was z.B. der weiter oben erwähnte Servo-Tester z.B. auch so macht.
Daneben hat Der noch einen 'Mittelpunkt' und das Abfahren aller Punkte 
im Links/Rechts-Rhythmus mit drin.
Darin werkelt also ebenfalls ein eigener µC (wenn auch kein Arduino oder 
Dessen zu Grunde liegende µC).

MfG

von Wolfgang (Gast)


Lesenswert?

Florian schrieb:
> Denn dieser gibt ja schon 5V aus, und garantiert somit die versorgung
> des servo`s.

Allenfalls garantiert dir die Nutzung der 5V-Versorgung vom Arduino 
Abstürze des selben ;-)

von Florian (Gast)


Lesenswert?

Sebastian S. schrieb:
> In fast allen Fällen kommen schon nach wenigen Sekunden
>    Sonderwünsche.
>    1) Du willst den Nullpunkt einstellen (vielleicht bei 3°).
>    2) Du musst den Endpunkt korrigieren (vielleicht auf 41°).
>    -) Du hast ein Zeitraster!
>    3) Fahre xx Sekunden nach Tastendruck.
>    4) Warte xx Sekunden am Endpunkt.
>    5) Was soll bei einem Tastendruck während der Fahrt passieren?
>    6) Wie lange soll am Ende der Rundfahrt gewartet werden?

Nr. 1 und 2 wäre unbedingt von vorteil und auch so zwingend notwendig.

Nr. 3 : er sollte sofort starten ohne warten
Nr.4 : Ebenso soll er direkt nach dem er (als beispiel) 40/41° 
angefahren hat zurück auf 0/3°
Nr. 5 : weiterer tastendruck wird nicht passieren, falls doch 
(ausversehen o.ä.) soll dieser einfach ignoriert werden.
Nr. 6 : versteh ich nicht, wie meinst du dies?

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Florian schrieb:
> wie lässt sich so was relativ "einfach" realiseren?
Beherrschst du eine Programmiersprache, vorzugsweise C bzw. C++?

Wenn nicht, dann bleibe ich dabei: nimm den micro:bit. Da kannst du 
schon mal vorneweg im Browser dem Anlauf simulieren. Dann wird im 
Browser compiliert und der Programmer ist ganz simpel: das Hexfile wird 
heruntergeladen und auf das micro:bit Laufwerk geuogu. Fazit: nach 2 
Minuten läuft das erste Programm, ohne irgendwelche Software auf dem 
Rechner zu installieren.
Und jetzt kommt der Trick: die Bausteinprogrammierung des micro:bit hat 
schon einen fertigen Servo-Block. Also Drag&Drop und das Servo ist drin.

: Bearbeitet durch Moderator
von Florian (Gast)


Lesenswert?

Ein wenig C kann ich (noch)

Habe mir nun ein Arduino gekauft und versuche erst mal rein zu kommen, 
wollte schon immer einen besitzen und so habe ich nun zwei fliegen mit 
einer klappe.

Ebenso habe ich ein wenig rum gesucht und das gefunden was ich will, 
leider erklärt er nicht wie er das anstellte aber so stelle ich es mir 
vor

https://www.youtube.com/watch?v=JIMgCqUvVKg

von Einfach mal Googlen (Gast)


Lesenswert?


von Michael B. (laberkopp)


Lesenswert?

Florian schrieb:
> Ich möchte einen Servo (klassisch aus dem Modellbau) über einen Taster
> in Position X fahren und danach soll er wieder zurück gehen auf
> Ausgangsstellung.
1
 +5V --+-----+---+--------+-----+
2
       |     |   |        |     |
3
      220k   |   |        |     |
4
    _  |    +-----+       |     |
5
 +-o o-+----|     |    +-----+  |
6
 |     |    |     |    |     |  |
7
 +--->10k   |     |    |     | 100uF
8
       |    |NE555|----|Servo|  |
9
      10k +-|     |    |     |  |
10
       |  | |     |    |     |  |
11
       +--+-|     |    +-----+  |
12
       |    +-----+       |     |
13
     150nF   |   |        |     |
14
       |     |  10n       |     |
15
GND  --+-----+---+--------+-----+
Das >10k ist ein 10k Poti zur Einstellung der Position

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.