Arduino L293D - Servo Ansteuerung

Gast #4497691
Lesenswert?

Hallo zusammen,

ich besitze einen Meccanoid und möchte diesen Open-Source programmieren. 
Auf 
http://cdn.meccano.com/open-source/Meccano_SmartModuleProtocols_2015.pdf 
auf der letzten Seite ist eine Skizze, die den Anschluss der Servos an 
einem Controller zeigt. Ich möchte die Servos mit einem Arduino Uno 
betreiben und habe mir hierfür auch einen L293D Motortreiber gekauft. 
Wenn ich nun einen Motortreiber benutze, benötige ich die im Protokoll 
erwähnten 1kOhm und 22kOhm Widerstände trotzdem?
Gast #4499383
Lesenswert?

Mal eine andere Frage. Für die Servos gibt es eine Lib vom Hersteller. 
Wenn ich die Servos aber ganz simpel an den Arduino anschließe und 
folgenden COde, der mit jedem Servo funktionieren dürfte, eingebe, 
reagiert der Servo nicht:
1
#include <Servo.h>
2

3
Servo myservo;  // create servo object to control a servo
4
// twelve servo objects can be created on most boards
5

6
int pos = 0;    // variable to store the servo position
7

8
void setup() {
9
  myservo.attach(5);  // attaches the servo on pin 9 to the servo object
10
}
11

12
void loop() {
13
  for (pos = 0; pos <= 180; pos += 1) { // goes from 0 degrees to 180 degrees
14
    // in steps of 1 degree
15
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
16
    delay(15);                       // waits 15ms for the servo to reach the position
17
  }
18
  for (pos = 180; pos >= 0; pos -= 1) { // goes from 180 degrees to 0 degrees
19
    myservo.write(pos);              // tell servo to go to position in variable 'pos'
20
    delay(15);                       // waits 15ms for the servo to reach the position
21
  }
22
}

Gibt es dafür einen Grund, dass die Servos nur mit der Lib vom 
Hersteller und nicht mit der Servo.h Lib vom Arduino funktionieren? 
Andere Servos funktionieren doch auch.
Gast #4499421
Lesenswert?

Peter H. schrieb:
> Gibt es dafür einen Grund, dass die Servos nur mit der Lib vom
> Hersteller und nicht mit der Servo.h Lib vom Arduino funktionieren?

Schau Dir mal Deine verlinkte Beschreibung - S. 7 - an. Fällt Dir was 
auf? Daisy Chain ... kann das ein Standard-Servo? Datenpakete - kann ein 
Standard-Servo etwas damit anfangen?

Also ist an den Servos irgendeine Art von Intelligenz / Chip dran, der 
die Kommandos liest und ausführt (ist sogar auf den Bildern 
näherungsweise erkennbar).

-> Protokoll loggen und nachmachen ist angesagt - oder die Lib des 
Herstellers nutzen (wozu ist die sonst da?)
Gast #4501420
Lesenswert?

Ich hätte dazu eine andere Frage. Auf folgendem Bild sieht man die 
Spannungsversorgung der Servos unabhängig von der des Arduino: 
http://www.netlabtoolkit.org/wp-content/uploads/2015/01/servo_connection.png

Ich lese aber immer wieder, dass der Ground-Anschluss des Arduino 
gemeinsam mit dem Ground/Minuspol einer Batterie angeschlossen werden, 
warum ist das so? Mein Arduino wird per USB betrieben und läuft auch 
ohne Ground-Anschluss. Und meine Servos werden über eine Batterie 
betrieben. Wozu den Arduino-GND-Pin dann mit dem Minuspol der Batterie 
verbinden, wenn beide unabhängig voneinander laufen? Verstehe den Sinn 
nicht.
Gast #4501431
Lesenswert?

Weil der Steuersignalstrom vom Arduino zum Servo wieder zum Arduino 
zurück muß. Das geschieht über GND. Der Stromkreis muß geschlossen sein 
und im Allgemeinen geschieht das über die GND Verbindung . Sonst fließt 
kein Strom, keine Reaktion auf Steuersignal. Um dir zu erklären, warum 
das bei dir anscheinend ohne die GND-GND Verbindung trotzdem geht, 
braucht man eine detailierte Schaltung und Aufbaubeschreibung/-foto.

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