Probleme mit meinem 2WD Car Projekt

Hallo Community,

ich baue ein ferngesteuertes Auto. Irgendwie habe ich diesmal wohl den falschen Ansatz. Es will nicht klappen.

Verwendet wird:

  • Arduino Nano
  • Screw Terminal (Link)
  • Motor
  • DRV8833
  • nrf24l01 + Adapter
  • 5V Step-Down Konverter (Link)
  • MM996R Servo
  • 2S LiPo

Wenn ich den Nano inkl. selbst gebautem Shield anschließe (ohne Servo + Motor) empfange ich Daten via 2,4GHz. Sehe ich im seriellen Monitor. Schließe ich zusätzlich den LiPo an VIN an bekomme ich keine Anzeige mehr im seriellen Monitor?!

Es gab eine Phase, in der ich kurz eine Anzeige im seriellen Monitor hatte auch bei Anschluss des LiPo und der Peripherie. Der Servo ist in Neutralposition gefahren. Der Motor hat kurz gedreht. 2,4GHz Daten wurden empfangen. Dann nach kurzer Zeit ist es abgebrochen.

Also ich weiß nicht weiter. Ich vermute, dass der Arduino abstürzt. Muss ich da evtl. noch einen Kondensator zwischenschalten weil beim "hochfahren" zu viel Strom in Anspruch genommen wird?

Alle Komponenten funktionieren für sich. der Motor geht, der Servo auch. Der 2,4GHzu Empfang auch (wenn via USB betrieben + ohne Peripherie).

Und hier noch ein Schaltbild...

Sehe ich das richtig, du versorgst den Nano über USB und hast zusätzlich den Akku an Vin angeschlossen ?
Ich tippe darauf, da ist eine Diode oder eine Leiterbahn durchgebrannt.
Der Nano verträgt das nicht.

@HotSystems Mmh... habe ich nicht an unzähligen Stellen hier im Forum gelesen, dass man genau das darf aber nicht USB + extern via 5V. Also jetzt bin ich verwirrt.

PS
Ich glaube ich habe wieder den falschen Antwortbutton erwischt. Deshalb Text nochmal geändert... Sorry.

Hallo,
dann lass , wenn Du den Nano mit USB verbindest, den VIN Anschluss am Nano mal weg. Dann betreibst Du letztlich alles mit dem Aku außer den Nano selbst.

Heinz

2 Likes

Bei einem originalen Nano soll das wohl funktionieren, selbst habe ich es nie probiert. Aber bei den zahlreichen, billigen Nachbauten, wäre ich mir da nicht so sicher. Keiner weiß welche Qualität die verbauten Teile haben.
Daher war das ja auch nur ein "Tipp" :wink:

1 Like

Ja alles gut. Ich danke dir auch dafür. Das mit den Nachbauten ist halt ein Problem. Ich bin da auch zu sehr Laie um das zu erkennen ob der damit zurecht kommt oder nicht. Bisher hatte ich da allerdings keine Probleme. Genau kann ich aber nicht sagen, ob ich das immer so verschaltet hatte wie jetzt. Meist hatte ich auch ein IO-Erweiterungsshield dazwischen (Link). Zustäzlich um eine 2 polige JST XH Buchse erweitert (bei den vorgesehen Stellen).

Das verrückte ist... bisher habe ich mir da nie so viele Gedanken gemacht. Mein Roboter nutzt 7 Servos (MG90S) und das genannte IO Shield. Funktioniert. Allerdings laufen die auch nicht alle gleichzeitig unter Volllast (blocking).

Danke. Ist eine gute Idee. Nur nicht so ohne weiteres umsetzbar (außer ich verbiege einen Pin von meinem gebastelten Shield). Aber ich überlege mir was. Ich werde jetzt erst mal den MC ausbauen und in meinem Prototyp einbauen um zu sehen ob der grundsätzlich noch funktioniert.

Ok, alles klar.
Für das genannte Problem habe ich mir einen steckbaren USB-Adapter gebaut, der dazwischen (USB) gesteckt wird und auf dem das Plus 5Volt Kabel per Jumper getrennt ist. Da kann ich bei Bedarf die USB-Versorgung auftrennen.
Allerdings zuletzt selten genutzt, da ich fast nur noch ESP verwende.

2 Likes

Hallo,
ich sehe in solchen Fällen eine Steckbrücke /Pfostenverbinder auf der Platine mit vor um das trenne zu können. Eventuell geht das auf Deinem Schield ja auch nachträglich noch.

Ich habe das jetzt in meinen Prototyp eingebaut. Erst mal ohne Motor. Siehe Foto. Coding exakt gleich. Gleiche Verwendung der Pins. Anschluss nur via USB (auch um eine Ausgabe im seriellen Monitor zu haben = "Debuggen für Arme").

Wenn ich den aktuellen Nano verwende bricht die Verbindung ab, sobald ein Signal für den Servo empfangen wird und dieser kurz zuckt. Dann erscheint: keine Verbindung zum Arduino an COM.

Nehme ich einen anderen Nano kommt es nicht zum Abbruch und der Servo bewegt sich.

Also heißt das vermutlich, dass der eine Nano defekt ist. Entweder schon defekt war oder durch den Anschluss USB + VIN in diesen Zustand versetzt wurde. Ich vermute allerdings ersteres. Denn soweit gekommen ist es nur dadurch, dass mein Auto nicht funktioniert hatte. Zu diesem Zeitpunkt war nur der LiPo (ohne USB) angeschlossen. Ich war nun auf Fehlersuche, wo das Problem liegt. Das hat dazu geführt, dass ich über den seriellen Monitor sehen wollte, ob überhaupt Daten ankommen etc. Das wiederum war der Grund LiPo + USB anzuschließen.

Die Frage wäre nun, ob ich den Nano über den 5V Pin versorgen kann und dazu die Spannung nutze, die mir der Step-Down-Wandler für den Servo liefert. Und könnte ich dann auch USB anschließen um im seriellen Monitor zu sehen was passiert?

Okay... ach so... dann funktioniert die Übertragung zum seriellen Monitor in der IDE trotzdem noch da ja nur die Datenleitungen D+ / D- benötigt werden und ggf. GND?

Hallo,
vermutlich ist es zu einem Ausgleichsstrom gekommen und ein Bauteil gestorben. Ich würde also den Vin und die USB nicht gleichzeitig nutzen.
Kannst Du nicht nachträglich eine Steckbrücke einbauen ? Es gibt halt noch die Möglichkeit das Kabel zu modifizieren und den Plus durchzuschneiden. Aber ...
Die Variante von @HotSystems mit dem Adapter hat mir auch ganz gut gefallen. Wenn Du noch ein Kabel zu viel hast kannst Du das ja auch druchschneiden und eine kleine Lochraster dazwischen mit einem Jumper für die 5V Ader.

Heinz

Okay. Ich muss mal in mich gehen, wo die Unterschiede zu meinen vorherigen Projekten sind. Ich meine ich hätte das schon getan... ohne Probleme. Auch USB + 5V Pin gleichzeitig. Aber möglicherweise ist das wie @HotSystems schrieb auch Glück, je nachdem was man für einen MC Clone erwischt.

So einen Adapter werde ich mir wohl bauen. Mit Schalter und LED, damit ich sehe ob das Ding an oder aus ist (also Strom fließt oder nicht). Habe aber aktuell kein Kabel das ich opfern kann (bzw. muss ich halt suchen). Vielleicht finde ich in der Kramkiste noch einen USB Stecker (lötbar). Buchsen habe ich noch.

Hast du dafür vielleicht ein Foto? Ich habe das bei google gesucht. Kann mir aber nicht vorstellen wie du das meinst in Verbindung zu dem, was ich gefunden habe. Das wäre sehr cool / nett :slight_smile:

Hallo
na sowas hier

die kannst jeweils abschneiden , kennst Du aber doch von Deinem Shield ??

Der zuletzt von mir (für einen Bekannten) gebaute hat auf der Eingansseite einen USB-A Stecker, ausgansgangsseitig USB-A Buchse. So kann man das Teil individuell nutzen und bei Bedarf dazwischen bauen, egal welcher Controller. Auch hier ist die Plusleitung per Jumper steckbar.
Mit einer optionalen Led wäre das auch optisch besser sichtbar.

Genau so habe ich das vor. Ich poste ein Bild wenn ich es gebastelt habe :wink:

Ja :slight_smile: Da hast du recht. Ich dacht du hast da noch einen anderen Trick. Ich versuche das so zu bauen, dass die Bauteile reversibel sind. Ich stecke den Nano in das Shield. Die Doppelreihen sind gebrückt. Die Platine steche ich dann von oben rein (sogar durch) und kann dann auf der Platine oben die Pins vom Nano abgreifen. Dort ist dann z.B. das NRF Modul untergebracht. Hinten ein Anschluss für den Servo und oben hinten liegt der Step Down. Unten konnte ich den DRV8833 unter bringen.

Aber um nun zu verhindern, dass der Nano bei Anschluss des LiPo' s Strom bekommt, müsste ich den LiPo dann direkt an den Pin anschließen und dieser dürft auch nicht mehr unten im Shield stecken. Mhh... ich glaube du weißt was ich meine.

Wollte mich nochmal melden und zu verschiedenen Punkten Rückmeldung geben. Vielleicht hilft es anderen. Das Modellauto funktioniert nun endlich. Fast so gut wie das aus dem Modellbausport (also ich meine die professionelleren Bausätze).

@HotSystems Den Adapter habe ich gebaut. Funktioniert auch. Getestet mit dem Modellauto und Strom aus dem LiPo via VIN am Arduino. Hier ist V+ nicht getrennt (die LED leuchtet). Schalter ist gedrückt. Man sieht es schlecht, da er blau ist und die LED auch :wink:

Lötpläne (ich nenne es bewusst so) nun mit PowerPoint. Ich habe unzählige Tools ausprobiert, aber leider nichts gefunden was einfach ist. Papier, Bleistift und Radiergummi nerven zunehmend. Falls hier jemand einen Tipp hat gern. Ein Tool mit dem man einfach ein Dummybauteil (Anschlüsse) darstellen kann (siehe Bild - Mitte rechts ist der Adapter für NRF Modul) und dann die Kabelstränge ziehen kann. Diese sollen als Objekt vorliegen (zwecks Verschiebbarkeit).

Die Pläne zeichne ich in der Draufsicht. Dann kann ich sie am Tablet drehen und spiegeln. Hier im Beispiel für die Anbindung des NRF24L01 mit alternativen Adapter und Montage (das Modul liegt direkt über dem Adapter und steht nicht nach hinten raus).

Und nun zum Auto... Es ist ein Bausatz, der lt. rudimentärer Anleitung mit einem Uno, Shield und Bluetooth gebaut wird (Link)

Die Gründe für Bluetooth sind im Nachhinein betrachtet möglicherweise Problem mit der Kombination SPI, Servo und PWM (Motor). Ich habe unzählige Versuche unternommen es wollte nicht richtig funktionieren. Folgende Kombination kann man probieren. OHNE GEWÄHR. Ich habe aus Frust meinen Prototyp zerlegt und weiß nicht mehr, welche Programmversion diejenige war, welche halbwegs funktioniert hat.

// pins am arduino
const uint8_t pinEngineIN1 = 5; 
const uint8_t pinEngineIN2 = 6;
const uint8_t pinSteering = 2;

const uint8_t pinRF24CSN = 8;
const uint8_t pinRF24CE = 9;

Schlussendlich habe ich es ganz anders aufgebaut. Ich verwende einen ESC und zwar diesen Link.

Damit wird der Motor wie ein Servo behandelt. Motortreiber etc. entfällt. Das macht der ESC integriert. Außerdem liefert dieser gleichzeitig genügend Strom für den Servo für die Lenkung. Im Vergleich zu oben reduziert sich das ganze dann auf folgendes...

// pins am arduino
uint8_t pinEngine = 2;
uint8_t pinSteering = 3;

uint8_t pinRF24CE = 7;
uint8_t pinRF24CSN = 8;

Und so sieht das ganze dann aus. Zu sehen auch die selbstgebaute 2.4GHz Funkfernsteuerung mit der ich verschiedene Dinge steuere (aktuell einen kleinen Roboter und das Auto).

Eine Sache möchte ich noch ergänzen. Ich habe mich von Videos leiten lassen und meinte, dass man das mit dem Joystick Modul KY-023 umsetzen kann. Weit gefehlt. Man würde erwarten, dass über den gesamten Bewegungsbereich des Steuerknüppels Werte zwischen 0 und 1023 am analogen Eingang abgebildet werden.

In der Realität sieht es so aus, dass man einen gewisses Wertespektrum im gründen Bewegungsbereich erfährt. Dann springen die Werte sofort auf 0 oder 1023 (Bereich rot). So ist man weit entfernt von einer präzisen Steuerungsmöglichkeit für die Lenkung. Das Modul ist eigentlich ein Schalter: vor, zurück, links und rechts und die jeweiligen Diagonalen. Für mehr sind zumindest die Module die ich habe nicht zu gebrauchen.

Der zu sehende Joystick in meiner Funkfernsteuerung ist ein selbst gebautes Modul bestehend aus einem Hall Sensor Joystick (z.B. dieser hier) und einem Step-Down Wandler für 3.3V etc.. Die empfangen Werte skaliere ich dann entsprechend um.


Die Umskalierung mache ich aus Gründen der Einheitlichkeit, da ich die Module an der "Funke" tauschen kann. Für den Roboter baue ich die Joystickeinheit aus und ersetze sie durch eine Einheit mit 3 Schiebepotentiometer wie links zu sehen. Die laufen dann regulär über 5V und liefern entsprechend Werte zwischen ca. 0 und 1023.