für meinen Roboter habe ich mich nun letztlich für einen ESP32 D1 Mini entschieden. Alle Anforderungen (2 getrennte oLED' s via I2C und Sprachausgabe via SAM) konnte ich damit umsetzten. Die Servos funktionieren auch, sobald ich es einzeln ausprobiere (Prototyp).
Nun habe ich leider ein Problem. Sobald ich über meine App Signale via Bluetooth schicke und darauf basierend ein Servo eine Bewegung macht, bricht mir die Bluetoothverbindung ab.
Die Spannungsversorgung des MC erfolgt über den 5V Pin. Diese wird von einem Pololu Step Up/Down Spannungsregler zur Verfügung gestellt (PO2123).
Ich war mit meinem Nano sehr glücklich. Auf Grund des Speicherproblems habe ich mich umentschieden und bereue inzwischen meine Entscheidung. Vermutlich werde ich alles auf den Nano und ein HC-05 rückbauen und das korrespondierende IO Shield verwenden. Damit hatte ich bisher keine Probleme.
Wahrscheinlich werde ich das auch tun. Ich habe gerade folgendes gefunden: Link Dann soll sich der Nano um die Servos kümmern und der ESP32 um die Sprache und die oLED' s.
Hat hier jemand eine Idee wo das Problem liegen könnte. Beißen sich die verwendeten Pins mit der BT Funktionalität? Ich verwende die Lib: <ESP32Servo.h>?
Danke für Deine Rückmeldung Ich kann versuchen mal ein Bild zu malen. Bin aber aktuell eher damit beschäftigt den Roboter zu zerlegen und es anders zu bauen. Bzw. versuche ich mich an einem neuen Prototyp. Ich stehe irgendwie mit den diversen ESP32 Modellen auf Kriegsfuß und das liegt nicht nur an mir...
Vorerst auf der Tonspur (vielleicht reicht das). Ich komme von meiner 9V Batterie und speise den Spannungswandler. Der gibt mir 5v zurück. Die verteile ich auf einer Platine (ähnlich wie bei einem IO Shield). Von dort gehe ich dann in die Servos und einmal an den MC. Also Parallelschaltung. Masse geht natürlich auf Masse des Spannungswandlers. Eine Masse für alles.
Mit dieser Bibliothek habe ich keine Erfahrung, weshalb ich SerialToSerialBT.ino zusammen mit MoToServo der MobaTools probiert habe. Mit sieben Servoobjekten und einem angeschlossenen Servo funktioniert das.
Doch. In meinen Fall reicht das. Der Servo ist sehr klein und wird mit 4,7 bis 6V betrieben (MG90S). Ich haben einen anderen Roboter gebaut (gleiches Schema) mit 4 Servos. Funktioniert einwandfrei. Dort verwende ich allerdings einen Nano mit IO Shield und 2,4GHz mit einer eigenen Fernsteuerung. Keine Probleme...
Hier noch das Schema. Vielleicht muss irgendwo ein Kondensator hin. Aber da kenne ich mich nicht aus. Ich glaube es ist eher ein Konflikt mit den Pins und der integrierten BT Funktionalität.
Danke. Probiere ich heute abend aus Sollt ich recht schnell umgebaut bekommen. Dann ärgere ich mich wieder über die Ewigkeit die das Kompilieren dauert und freue mich falls es funktionieren sollte. Schauen wir mal...
Nein, reicht nicht. Ein MG90S braucht auch gerne mal 1A wenn er beschleunigt oder eine Gegenkraft aufbauen muß. Wenn der Servo bewegt, wird die Versorgungsspannung zusammenbrechen.
Okay. Das nehme ich dann mal zur Kenntnis. Dann wäre aber auch der Step Down Wandler überfordert. Der kann maximal 1.000mA liefern und muss ja auch andere Sachen bedienen. Aber danke für den Hinweis.
Ich habe es ausprobiert. Prototyp BT und 1 Servo funktionieren. App geht somit. BT geht. Prototyp war der Roboter selbst indem ich aber explizit nur einen Servo angesprochen habe.
Dann das ganze in mein Roboterprojekt überführt (war einfacher als der Prototyp). Funktioniert nicht. BT bricht ab. Auch wenn ich nur 1 Servo "attache". Außerdem habe ich alle zusätzlichen Libraries rausgenommen...
Insgesamt habe ich bisher nur 4 Servos in Betrieb (Arme und Kopf sind noch nicht angeschlossen). In meinem anderen Roboter habe ich auch 4 Servos via 9V Li-Ion Batterie in Betrieb. Dort funktioniert es. Die Unterschiede sind der MC und das verwendete IO Shield.
Ich habe den Roboter noch nicht zerlegt. Klappt leider auch mit deinem Tipp nicht. Vielleicht ist der MC auch defekt. Keine Ahnung.
Ich habe jetzt folgendes vor: der ESP32 wird BT Empfänger, Sprachgenerator und oLED Verantwortlicher. Die BT Signale (einige davon) werden an den Nano weitergeleitet. Der kümmert sich dann nur um die Servos. Im Einzeltest sieht das alles gut aus, aber wie ich immer wieder lernen muss reicht das als Test / Prototyp nicht aus.
Jetzt habe ich auch wieder das Problem, dass der D1 nicht mehr richtig bootet, wenn er nicht vom USB versorgt wird sondern über eine externe Spannungsquelle. Dazu hatte ich schon mal einen Post aufgemacht. Das kann ich nur lösen, wenn ich eine Brücke zwischen 3.3V und TXD herstelle. Dann kann man aber nicht mehr die Sketche hochladen. Das werde ich wohl über einen Taster lösen, den ich zusätzlich drücke, wenn ich den Hauptschalter betätige.
Schade, dass man die Einfachheit eines Nanos nicht mit etwas mehr Speicher kombinieren kann. Es ist leider so: alle meine bisherigen Projekte mit dem Nano waren erfolgreich und laufen stabil. Alles mit dem ESP32 ist bisher gescheitert. Das liegt aber mit Sicherheit an mir und meiner Unerfahrenheit. Es gibt ja genügend begeistere ESP32 Nutzer.
NEIN... leider nicht! Habe mal geschaut... auf jeden Fall schon mal auf die Merkliste gesetzt. Vom Speicher sieht das super aus. Muss mal im Detail schauen (vor ein paar Monaten hätte ich nicht gedacht, dass ich beim Nano mal an die Grenzen komme ). Hat vermutlich kein I2S... und integriertes BT. Wäre aber nicht schlimm. Hätte für meinen "umfangreichen" Roboter die Lösung sein können.
VIELEN DANK für den TIPP. Ich habe immer nur den großen 2560 gefunden. Der kleine ist mir auch noch nie vorgeschlagen worden (im Rahmen diverser Suchen z.B. als Alternative) oder ich habe es übersehen.
Sollte das jetzt nicht klappen probiere ich damit. Einen oder zwei werde ich mir auf jeden Fall zulegen. Einen großen habe ich hier ungenutzt rumliegen. Der war in einem Einsteigerset dabei. Kommt wegen der Größe für meine bisherigen Projekte nicht in Frage.
@agmue Ich habe den letzten noch im Rohzustand (ohne Pins) verfügbaren D1 Mini verbaut. Beim Test bin ich auf folgendes Problem gestoßen: Link
Der MC bootet ständig neu. Die (Fehler-)Meldungen sind mehr oder weniger ähnlich denen im Link. Tatsächlich ist es so, das der Blinksketch hochgeladen werden kann und dann das Problem nicht auftritt. Im Gegensatz zur letzten Aussage (siehe bitte Link) repariert das aber gar nichts. Sobald ich den eigentlichen Sketch hochlade geht es nicht. Der gleiche Sketch ist auf einem anderen Modell hochgeladen und funktioniert dort. Es muss also am MC liegen. Vielleicht habe ich da ein Montagsmodell erwischt.
Hast du evtl. eine Idee? Ich frage dich direkt, da du wie du schreibst viel mit den ESP32 MC arbeitest.
Brauchst du nicht. Aber danke für das Angebot. Ich habe ja einen bei dem es geht. Ich hätte nur gern versucht den anderen MC irgendwie zu retten bevor ich ihn entsorge.