FAQ   Suche   Mitglieder   Links   Impressum & DSGVO 

HILFE ERBETEN - Servo Ansteuerung über Taster

 
Neues Thema eröffnen   Neue Antwort erstellen    www.rc-micro.de Foren-Übersicht -> Off Topic
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Joe Cool
RC-Fan
RC-Fan


Anmeldedatum: 23.09.2002
Beiträge: 1778

BeitragVerfasst am: 21.02.2014, 21:28    Titel: HILFE ERBETEN - Servo Ansteuerung über Taster Antworten mit Zitat

Hallo zusammen,

eine Frage / Bitte an die Microcontroller-Profis. Ich habe mich schon im Internet nach einer Möglichkeit umgeschaut zwei Servos getrennt über zwei Taster anzusprechen, aber leider nichts passendes gefunden.

Ich baue zur Zeit als Standmodell aus dem Film Blade Runner das Spinner Car (Polizei-Flug-Auto) und das hat zwei Türen die sich nach oben öffen. Im Film geht das "automatisch". Dies möchte ich nun in dem 1:24er Modell mit zwei Nano-Servos von Hobbyking umsetzen.

Ich möchte jedes Servo über einen Taster auf einer noch zu bauenden Base ansprechen. Sprich man drückt den Taster 1 und die Fahrertür schwenkt nach oben. Man drückt den Taster 2 und die Beifahrertür schwenkt nach oben. Umgekehrt dann, man drück den Taster ein zweites Mal und die Tür schließt sich wieder.

Anforderung an die Steuerung. Das Servo muss so einstellbar sein das der gesamte Servoweg, sprich von ganz links nach ganz rechts über die Nullstellung hinweg einstellbar ist. Die Servogeschwinigkeit müsste einstellbar sein, da sonst die Tür innerhalb von Millisekunden ganz offen oder sofort geschlossen wäre und die Taster müssen ja zwei mal abgefragt werden. Erster Druck auf den Taster öffnen, zweiter Druck auf den selben Taster - Tür wieder schließen.

Schaltungen bei Conrad und Co. sind für Eisenbahnstellwerke und Weichen gedacht und so wie ich das verstanden habe nicht das was ich suche.

Kann mir jemand einen Tip geben wo ich so was vielleicht kaufen kann oder fühlt sich jemand angesprochen mir so eine Schaltung vielleicht zu bauen?

Über jede Idee / Hinweis wäre ich dankbar.

Grüße Joe - der vielleicht auch noch ein zweites Spinner RC-Fähig bauen will
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Carsten
Sprocki


Anmeldedatum: 19.02.2004
Beiträge: 2892

BeitragVerfasst am: 21.02.2014, 22:42    Titel: Antworten mit Zitat

Hallo Joe,
schau mal in das

http://www.forum.mikromodelle.de/

rein & Sven Löffler anschreiben, der hat was schon mit einigen Servos und Standmodelle gemacht.
_________________
Gruß Carsten
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Majk
RC-Fan
RC-Fan


Anmeldedatum: 04.01.2003
Beiträge: 680
Wohnort: Wertheim am Main

BeitragVerfasst am: 22.02.2014, 17:28    Titel: Antworten mit Zitat

Hi Joe,

hier mal ein Link

http://www.austromodell.at/index.php?site=webshop&kategorie=433
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Yahoo Messenger
dude
RC-Fan
RC-Fan


Anmeldedatum: 06.03.2003
Beiträge: 916

BeitragVerfasst am: 22.02.2014, 20:38    Titel: Antworten mit Zitat

Hallo Joe,

ich beschäftige mich (Zeit erlaubend) gerne mit Microcontrollern, hauptsächlich Atmel AVR (siehe Arduino). Unter anderem auch mit Servos.
Das was du vorhast, wäre damit auf jeden Fall möglich.

Wenn du in der Richtung etwas vorhast, kann ich dir gerne dabei helfen.

Ich habe mir kürzlich das hier bestellt:
https://fasttech.com/products/0/10000015/1001002-arduino-compatible-nano-v3-0-atmega328p-20au-board

Das ist schön klein, sehr billig, und lässt sich direkt über USB programmieren, man braucht also weiter nichts.

Wenn du da deine Taster und die Servos dran anschließen kannst, kann dir mit dem Code sicher auch geholfen werden.

Die Möglichkeiten sind dann ja auch endlos; statt nur einer Start- und einer Endposition (mit fester Geschwindigkeit) könnte man dann auch eine Sequenz definieren, z.B. erstmal ruckartig öffnen, dann langsam in die voll geöffnete Position fahren.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joe Cool
RC-Fan
RC-Fan


Anmeldedatum: 23.09.2002
Beiträge: 1778

BeitragVerfasst am: 23.02.2014, 13:26    Titel: Antworten mit Zitat

@ Carsten,
Danke für den Link. Habe mich in diesem Forum umgeschaut aber keinen Beitrag zum Servoeinsatz so wie ich das suche, gefunden. Habe jetzt mal den Hr. Löffler angeschrieben, mal schauen ob der sich meldet.

@ Majk,
Danke für den Link, aber das Modul ist mir zu umfangreich. Ich dachte da eher an so was wie es Dude geschrieben hat.

@ Dude,
das klingt sehr interessant. Nicht das ich jetzt unbedingt auch noch MicroController Programmierung lernen möchte, aber reizen würde mich das schon. Ich schick dir eine PN.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
dude
RC-Fan
RC-Fan


Anmeldedatum: 06.03.2003
Beiträge: 916

BeitragVerfasst am: 23.02.2014, 23:20    Titel: Antworten mit Zitat

Nochmal zu den Mikrocontrollern, weil anscheinend Interesse da ist:

Zu Arduino selbst kann ich wenig sagen, weil ich selbst damit wenig Erfahrung habe (zumindest Softwareseitig).

In den gängigen Arduinobrettern sitzen unterschiedliche Mikrocontroller aus der AVR Reihe von Atmel (z.B. AtMega328P). Diese enthalten (Flash-) Programmspeicher, flüchtigen RAM, und nichtflüchtigen EEPROM. Es gibt auch jede Menge andere Controller (Microchip PIC, TI MSP430 etc.), aber damit kenne ich mich nicht aus.

Das Programm was man dafür schreibt, muss in den Programmspeicher geflasht werden. Dafür gibt es verschiedene Methoden, üblicherweise über die ISP Programmierschnittstelle. Dafür gibt es mittlerweile sehr billige USB Programmierer (~3€).

Die Alternative ist ein Bootloader, dieser ermöglicht es, das Programm über eine serielle Schnittstelle zu laden. Das ist dann meistens ein extra Chip (z.B. FTDI), der sich einerseits über USB an einem PC als virtueller COM-Port meldet.

Die Arduino-Boards haben alle ab Werk einen Bootloader einprogrammiert, und die meisten haben auch direkt einen USB-Anschluss (z.B. Uno, Mega, und der von mir gelinkte Nano).
Ausnahme ist der Arduino Mini, da muss man dann anderweitig für die Schnittstelle sorgen.

Mit den anderen kann man, ohne auch nur einen Lötkolben angeschaut zu haben, loslegen. Die Stromversorgung ist auch direkt über USB möglich. Ein Spannungsregler ist auch Standardmäßig vorhanden, so dass man auch unterschiedliche Akkus zur Stromversorgung verwenden kann.
Wie hast du denn vor, die Servos mit Strom zu versorgen?

An Hardware bist du dann im Prinzip komplett.

Zur Software:
Es gibt im Prinzip 3 Möglichkeiten, Software zu schreiben:
Assembler, C und Arduino

Ich habe erst in Assembler angefangen, und dann C. Arduino habe ich genau einmal benutzt.

[Ich setze das hier morgen fort...]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joe Cool
RC-Fan
RC-Fan


Anmeldedatum: 23.09.2002
Beiträge: 1778

BeitragVerfasst am: 23.02.2014, 23:27    Titel: Antworten mit Zitat

Also wenn ich Google und einige Videos auf YouTube richtig verstanden habe kann man die Servos über das Nano-Board mit + 5V und GND selbst versorgen. Ich habe auch inzwischen Tutorials zur Abfrage von Tastern gefunden und wie man Servo anspricht und einbindet. Ich denke ich werde mir mal so ein Nano Board bestellen und mein Glück versuchen.

Gruß Joe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joe Cool
RC-Fan
RC-Fan


Anmeldedatum: 23.09.2002
Beiträge: 1778

BeitragVerfasst am: 24.02.2014, 08:56    Titel: Antworten mit Zitat

So, die Boards (3 Stk) sind bestellt. Dann bin ich ja mal sehr gespannt ob ich das zum Laufen bekomme. Ich kann zwar weder C noch Assembler, aber im Prinzip sind alle Programmiersprachen ähnlich. Wenn man sich einmal die Befehle anschaut, klappt das schon. (ich kann ja PHP / Javascript / HTML Wink ) Sollte ich eine brauchbare Lösung erarbeiten / finden, stelle ich hier gerne alles vor und gebe auch gerne den Quellcode weiter. (also nur wenn es jemanden außer DUDE und mich interessiert)

Gruß Joe
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Julian
RC-Fan
RC-Fan


Anmeldedatum: 26.11.2007
Beiträge: 585

BeitragVerfasst am: 24.02.2014, 18:41    Titel: Antworten mit Zitat

Hey Joe,

hab mich selber seit letzten Jahr ein bisschen mit dem Arduino beschäftigt.

Wichtig ist eigentlich nur das man gut Googlen kann. In der Regel findet man Sketche die bereits viele verwendbare Zeilen beinhalten. Leicht angepasst und einmal um die Ecke gedacht und dann passt es meistens.

Für die Grundlagen war diese Seite immer klasse.

Falls das Board selber zu groß ist kann man auf einen anderen Chip ausweichen. Ich habs neulich geschafft ein Arduino sketch auf einem
Attiny 45 auszuführen. Dieser Controller würde für dein Vorhaben auch locker reichen.

Vielleicht kann ich bei Fragen aushelfen.

mfg Julian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
dude
RC-Fan
RC-Fan


Anmeldedatum: 06.03.2003
Beiträge: 916

BeitragVerfasst am: 24.02.2014, 23:35    Titel: Antworten mit Zitat

Weiter zur Software:

In Assembler schreibt man 1 zu 1 Maschinencode. Es gibt keine Variablen, nur eine feste Anzahl Register (32, die unterschiedlich funktionieren). Den RAM muss man selbst ansprechen, und laufend Daten hin- und herschaufeln. Das ist ganz interessant um zu verstehen wie die Programme tatsächlich auf dem Chip ausgeführt werden. Ich habe damit zuerst angefangen, das war aber auf sehr einfache Sachen beschränkt. Für komplexere Sachen ist mir das aber einfach zu umständlich. Zum Einstieg würde ich es nicht mehr empfehlen, aber zum weiteren Verständnis später ist es sicher nicht verkehrt mal reingeschaut zu haben.

C dagegen ist eine Hochsprache, das heißt man Variablen deklarieren, und muss sich keine Gedanken machen wo im Speicher die dann liegen. Das wird dann optimiert und in Maschinensprache umgesetzt. Trotzdem sollte man sich mit dem Chip auskennen und das Datenblatt zur Hand haben, denn für die Spezialfunktionen (Timer, PWM, ADC etc.) muss man dann doch wieder Register ansprechen. Die haben dann auf verschiedenen Chips leicht unterschiedliche Funktionen, oder Namen. Portabilität ist daher begrenzt.
Der gängige Compiler nennt sich avr-gcc, das gibt es unter dem Namen WinAVR als Komplettpaket und ist open-source. Ich arbeite damit (Arduino gab es damals noch nicht).
Als Tutorial habe ich das hier gut gefunden:
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
Zum Flashen kommt das Programm AVRdude zum Einsatz (schöner Name auch Cool ), das ist das selbe was auch in der Arduino Umgebung steckt. Die Arduino-Boards lassen sich ebenfalls damit programmieren, und über den Bootloader flashen.

Zu guter Letzt Arduino:
Das versucht alles zu sein: Eine komplette Entwicklungsumgebung, und standardisierte Hardware.
Ich weiß dass viele der "alten Hasen" eine Abneigung dagegen haben. Ich persönlich sehe Vor- und Nachteile daran. Das ist ein bisschen wie Iphone vs. Android. Einfache Sachen sind viel einfacher, man ist dann aber etwas eingeschränkt bei komplexeren Sachen. Andererseits macht das die Schwelle auch viel niedriger, was zu unglaublicher Popularität geführt hat, deshalb gibt es auch die Hardware mittlerweile so günstig. Dafür gibt es nichts vergleichbares Anderes.
Die Programmierung ist noch einmal abstrakter als avr-gcc, um es einfacher (und portabler) zu machen, ist fast überall noch eine Extra-Schicht dazwischen. Z.B. die Spezialfunktionen können als Funktionen eingebunden werden, und müssen nicht händisch initialisiert und angesprochen werden. Für ADC gibt es z.B. analogread(), in avr-gcc ist das deutlich aufwändiger.
Dazu gibt es jede Menge fertige Module und Libraries, z.B. die Servo-Library. Wenn die deine Zwecke so erfüllt wie sie ist, prima. Tut sie dass nicht, wird es aber schwierig etwas anzupassen denke ich.

In C müsstest du erstmal in kleinen Schritten die Grundlagen erarbeiten, dann weißt du aber wie es geht. Auch da gibt es bereits viele fertige libraries und Code-Beispiele, die muss man allerdings auch einbinden, bzw. auf den jeweiligen Chip anpassen können. Mit Arduino ist es wohl mehr mit fertigen Bausteinen basteln. Das ist sicher der schnellste Einstieg, um zu der gewünschten Funktionalität zu kommen. Ohne zu wissen, was darunter werkelt, ist es bei Problemen dann aber schwieriger. Aber dafür gibt es ja (Arduino-)Foren.

tl;dr:
Viel Spaß mit den Arduino's (Arduini?)! Die Arduino Umgebung ist sicher die beste Methode um etwas hinzubekommen was die gewünschte Funktion hat, ohne sich allzu tief in Datenblätter stürzen zu müssen. Wer sich mehr für die Mikrocontrollerprogrammierung selbst interessiert (und wissen will, wie man es "richtig macht" Wink ), dem kann ich WinAVR empfehlen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Joe Cool
RC-Fan
RC-Fan


Anmeldedatum: 23.09.2002
Beiträge: 1778

BeitragVerfasst am: 25.02.2014, 12:18    Titel: Antworten mit Zitat

Also das Tuto - AVR habe ich mir mal angelesen - gut ist jetzt nicht völlig unleserlich der Code, aber warum soll ich mich mit sowas rumärgern wenn es doch viel eleganter über Arduino geht?
Ok, ich verstehe das man dann nur Funktionen nutzen kann die die Libraries zur Verfügung stellen, aber niemand käme auf die Idee eine Internetseite in C++ zu programmieren nur weil man dann vom Browser noch eine Funktion nutzt die in HTML nicht erreichbar ist, oder?

Also ich versuche auf jeden Fall erstmal mein Glück in Arduino und wenn ich das dann vielleicht wie Julian schreibt, auch noch auf einen ATtiny exportiert bekomme, ist doch alles super. Eine Steuerung für knapp 1,00 € kann man nicht mehr toppen. Allerdings ist so ein Arduino Nano mit guten 5,00 € jetzt auch keine echte Investition und fertige Schaltungen von Conrad und Co. kosten ja immer gleich 15,00 - 20,00 € und machen nicht mal das was ich suche.

Ich berichte sobald die Boards hier eingetroffen sind. Bis dahin müsste ich ja auch schon den ersten Testaufbau nebst Sketch erstellt haben.

Gruß Joe - dem jetzt ganz viele Ideen im Kopf rumschwirren was man noch alles als MicroController gebrauchen könnte
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Julian
RC-Fan
RC-Fan


Anmeldedatum: 26.11.2007
Beiträge: 585

BeitragVerfasst am: 25.02.2014, 21:11    Titel: Antworten mit Zitat

Hey Joe,

um den Code auf einem Attiny zu brennen braucht man allerdings einen zusätzlichen ISP-Programmer.

Aber: Wenn dein Sketch erstmal steht kann ich dir den auf einen Attiny brennen. Dazu muss der Sketch nur leicht abgeändert werden (I/O Belegung weichen ab).


mfg Julian
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    www.rc-micro.de Foren-Übersicht -> Off Topic Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht teilnehmen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de