zu meiner Ausgangslage:
Ich besitze einen Arduino Leonardo und schreibe grade eine Quadcopter Flugsteuerung. Mein Gyro und Beschleunigungssensor sind in einer IMU verbaut die ich über I2C (SDA / SCL) ansteuere.(Radio Control Planes, Drones, Cars, FPV, Quadcopters and more - Hobbyking).
Für die 4 Motoren verwende ich 4 Turnigy ESC´s (Radio Control Planes, Drones, Cars, FPV, Quadcopters and more - Hobbyking) wo ich das Signal und Ground jeweils mit einem PWM Signal (Pins 3,5,6,11) auf dem Board angeschlossen habe. Für die Stromversorgung besitze ich einen extra Lipo. Das Stromkabel der ESC´s wird also nicht verwendet.
Der Arduino ist aktuell noch mit dem USB Kabel verbunden.
Jetzt zu meinem Problem:
Lasse ich nur die IMU laufen funktioniert alles.
Lasse ich nur die 4 ESC´s laufen kann ich Softwareseitig das "Armsignal" senden, dann den Lipo anstecken und es läuft alles.
Ist aber sowohl die IMU als auch die ESC´s an dem Arduino angeschlossen startet das Board und freezed in der setup Method beim initialisieren des Gyro ein.
Nutze ich die IMU und nur 2 ESC´s (2 abgesteckt), startet das Board läuft für eine gewisse Zeit (60Sekunden ca.) und freezed dann.
Meine Frage:
Kann es ein Spannungsproblem sein? Die ESC´s sind ja nur über Signal mit dem Arduino verbunden. Für die Stromversorgung und die Motoren wird später (zuerst muss das Board starten, dann erst darf die Stromversorgung erst hergestellt werden) ein Lipo angesteckt.
Kann es ein Problem mit dem I2C sein was sich nicht mit den Servos verträgt?
Ich weiß das das Problem recht speziell ist und ich habe auch schon eine Menge an Threads gelesen die mir aber nicht weiterhelfen konnten. Ich kann mir auch nicht erklären was die I2C Schnittstelle mit den PWM Signalen zu tun hat?
ach, wie peinlich :~
Wieso gibt es den SDA und SCL denn doppelt.
Auf die I2C Lib als Fehlerquelle bin auch gestoßen und hing jetzt an diesem Thread der meinem Problem sehr nahe kommt, aber daran hätte ich mich dann erstmal verrannt. http://forum.arduino.cc/index.php?topic=157825.0
Für den Leonardo weiß ich es nicht aber die Servo.h-Bibliothek kann beim Arduino UNO 12 Servo ansteuern und beim MEGA 48. Die Bibliothek benutzt einen Timer und darum sind 2 PWM-Pin nicht benutzbar. Ich weiß aber so auf Anhieb nicht welche. Libraries - Arduino Reference und Servo - Arduino Reference