Arduino-Projekt. USB + externe Stromquelle - funktioniert einwandfrei. Kein USB - alles spielt verrückt

Ich habe diese Schaltung:

Geben Sie hier die Bildbeschreibung einEs ist ein einfaches Projekt - ein Fokussystem für ein genommenes Objektiv und einen anamorphotischen Adapter. Ich habe drei Töpfe. Den ersten verwende ich als Manipulator. Der zweite wird verwendet, um die Position des Servos mit kontinuierlicher Drehung (JX DC6015 Mod) - Motor Nr. 1 - zu erhalten. Der dritte Topf wird verwendet, um die Position des anderen Servos mit kontinuierlicher Rotation (JX DC6015 Mod) - Motor Nr. 2 - zu steuern. Es gibt auch einige Tasten und Dioden für Kalibrierungszwecke. Motor Nr. 1 dreht das aufgenommene Objektiv und Motor Nr. 2 dreht den Adapter.

Nun, schauen wir uns die Schaltung an. Ich habe dort auch eine 1N4007-Diode und eine 47uF-Kappe. Ich verwende dieses Schema, weil der Stromkreis nicht einmal eingeschaltet wurde, als ich versuchte, ihn von einer Batterie mit Strom zu versorgen. Jetzt schaltet es wenigstens ein. Aber lassen wir es für einen Moment beiseite.

Das Hauptproblem ist, dass alles perfekt funktioniert, wenn ich einen externen AC-DC-Adapter (oder Akku) mit Nanos USB verwende, der an meinen Laptop angeschlossen ist. Sobald ich das USB-Kabel abziehe, spielt das System verrückt. Falls es an den AC-DC-Adapter angeschlossen ist, beginnt es einfach, die Servos einige Umdrehungen im Uhrzeigersinn und dann rückwärts zu drehen. Wenn es nur mit einer Batterie betrieben wird, drehen sich die Servos nur sehr schnell gegen den Uhrzeigersinn oder gegen den Uhrzeigersinn und stoppen nie.

Für mich sieht es so aus, als hätte ich ein Problem mit der GND-Schleife. Ich habe versucht, meine Töpfe zu entkoppeln, indem ich 3 Kappen für jeden Topf hinzugefügt habe, der einen Signalstift mit GND verbindet, aber es lief noch schlimmer. Es funktionierte nicht einmal mit USB an Arduino angeschlossen. Die Servos drehten sich im Uhrzeigersinn und gegen den Uhrzeigersinn und änderten die Richtung sehr schnell.

Ich habe zwei andere Arduino-Controller ausprobiert, aber es war alles gleich.

Ich habe alle GNDs getestet. Sie sind alle miteinander verbunden.

Dann entschied ich mich zu versuchen, VCC und GND vom Servo zu isolieren, indem ich NME0505SC zwischen Stromquelle und Arduino legte. Aber es hat auch nicht geholfen.

Was könnte getan werden, damit es nur mit einer Stromquelle funktioniert?

Fritzing sollte Ihnen eher einen Schaltplan als den von Ihnen geposteten Schaltplan geben können. Der Schaltplan wird auf dieser Seite bevorzugt, aber beide könnten in diesem Fall nützlich sein.
Versuchen Sie, den Nano über ein USB-Telefonladegerät mit Strom zu versorgen. Wenn dies genauso funktioniert wie das Anschließen an den Laptop, vermute ich, dass der Nano das Rauschen der Motorversorgung nicht tolerieren kann.
Aber ich brauche es, um nur von einer Versorgung mit Strom versorgt zu werden. Lohnt es sich, einen RC-Filter auszuprobieren? Aber ich kenne die Frequenz dieses Geräusches nicht. Ich habe ein Verarbeitungsprojekt gefunden, das aus Arduino ein Oszilloskop macht. Ich werde versuchen, das Rauschen am 5-V-Arduino zu messen und zu sehen, ob es sich ändert, wenn das Servo startet.
Probieren Sie zuerst den Vorschlag von @transistor aus. Es ist eine einfache Möglichkeit, das Problem einzugrenzen. Ein "Oszilloskop" aus einem Arduino funktioniert möglicherweise nicht gut genug, um das Problem wirklich zu erkennen. Außerdem haben Sie es gerade aus Bits und Stücken zusammengebaut. Wie werden Sie sicher sein, ob Sie ein Problem mit Ihrer Schaltung messen oder einem Problem im Oszilloskop nachjagen?
Der Vorschlag von @transistor ist sehr offensichtlich. Wie ich in meinem Thema geschrieben habe, funktioniert es einwandfrei, wenn Arduino sowohl an eine USB-Stromquelle als auch an einen AC-DC-Adapter angeschlossen ist. Die Frage ist, wie es mit nur einer Stromversorgung funktioniert.
Das offensichtlichste Problem, das ich sehe, ist, dass Sie dem VIN-Stromversorgungsstift nicht genügend Spannung zuführen. Die Dokumentation für den Arduino Nano besagt, dass VIN 7-12 VDC betragen muss und Sie 5,6 VDC (Batterie) - 0,6 VDC (über diese Diode) liefern, wobei nur 5 VDC bei VIN verbleiben. Sie erfüllen also nicht die Dropout-Spezifikation für den integrierten linearen 5-VDC-Spannungsregler, und deshalb erhalten Sie keine geregelte 5-VDC-Stromversorgung auf der Platine, und deshalb verhält sich die Platine unregelmäßig.
Ich habe einen Aufwärts-DC-DC-Wandler für Arduino verwendet. Es hat nicht geholfen. Für mich scheint es eine Masseschleife oder ein Rauschproblem zu sein. Aber dann sollte der Isolator es lösen, oder? Ich fand heraus, dass jemand ein ähnliches Problem hatte und löste es, indem er einem DC-Motorstecker eine 1nf-Kappe hinzufügte. Ich habe im Moment keine solchen Kappen, um es zu überprüfen, aber ich werde versuchen, es bis Montag zu bekommen, und wir werden sehen.
Hören Sie @JimFischer. Arduino verwendet einen Junk-1117-On-Board-Regler auf der Vin-Leitung mit erheblicher Abfallspannung. Geben Sie ihm mindestens 7+ V oder einen standardmäßigen 12-V-AC-DC-Wandadapter, nicht einen unbekannten "Step-up-DC-DC".
Ich glaube, Sie haben das Konzept des "Erdschleifenrauschproblems" falsch ausgelegt. Das Erdschleifenproblem tritt auf, wenn ZWEI Erdungen für ZWEI verschiedene Quellen verwendet werden. Und Ihrer Meinung nach haben Sie bei Verwendung von zwei Quellen genau hier kein Problem, was im Gegensatz zu dem steht, was manchmal bei Erdschleifen auftritt.
Denke das ist kein Fall. Ich habe JX 6015 Servos für Doman mit fast den gleichen Eigenschaften geändert und alles funktioniert gut. Die einzige Sache ist, dass Doman nur CW eine reibungslose Geschwindigkeitsregulierung hat und irgendwie nur drei Geschwindigkeiten CCW hat. Doman erfüllt meine Projektanforderungen nicht. Es geht also nicht um die Spannung, sondern um das Rauschen.

Antworten (3)

Zusätzlich zu meinem Kommentar bezüglich der Anforderung, dass die Spannung auf dem Arduino Nano's v ICH N Power Pin muss immer 7 – 12 VDC sein, hier sind einige zusätzliche Vorschläge zur Fehlerbehebung.

  1. Verwenden Sie bei der Fehlersuche bei Stromversorgungsproblemen kein Voltmeter . Verwenden Sie IMMER ein digitales Speicheroszilloskop (DSO) (bevorzugt) oder ein analoges Speicheroszilloskop mit ausreichender Speicherpersistenz (wenn Sie kein DSO haben), um das Spannungs-Zeit-Verhalten der Stromversorgung über einen vernünftigen Zeitraum zu beobachten – z. 200 – 500 Millisekunden.

  2. Beobachten Sie mit einem DSO die ungeregelte Spannung an den Nanos v ICH N Stromeingangsstift. Sicherstellen v ICH N Unterschreitet niemals die minimale Eingangsspannung des Reglers, die beim Arduino Nano 7 VDC betragen würde (siehe Datenblatt des Arduino Nano). Stellen Sie sicher, dass diese ungeregelte Spannung keine inakzeptablen Probleme aufweist, wie z. B.: große Spannungsspitzen; große Welligkeit; die Spannung verlässt gelegentlich das 7 – 12 VDC-Fenster usw.

  3. Beobachten Sie mit einem DSO die Spannung an den 5-VDC- und 3,3-VDC-Stromausgangspins des Nano, WÄHREND IHRE SOFTWARE AUSGEFÜHRT WIRD. Stellen Sie sicher, dass die Spannung am 5-VDC-Ausgangsleistungspin zwischen 4,95 – 5,05 VDC liegt (siehe Datenblatt des LM1117 ) und die Spannung am 3,3-VDC-Leistungsausgangspin zwischen 3,267 – 3,333 VDC liegt (siehe LM1117-Datenblatt ). Prüfen Sie, ob große Spannungsspitzen, Spannungsabfälle, übermäßige Welligkeit usw. vorhanden sind – dh alles, was auf einer Gleichstromversorgungsschiene anormal ist und das Arduino oder die umgebende Schaltung zum „Schluckauf“ bringen könnte: spontane Resets, Analog-zu - digitale Konvertierungsfehler usw.

Ein letzter Kommentar. Die Arduino Store-Webseite für den Arduino Nano gibt widersprüchliche Werte für den erforderlichen Spannungsbereich für VIN an. Der Abschnitt "Technische Daten" gibt an, dass der erforderliche Bereich von VIN 7 - 12 VDC beträgt, was mir vernünftig (richtig) erscheint. Der Abschnitt „Dokumentation > Stromversorgung“ behauptet jedoch, dass der erforderliche Bereich von VIN 6  – 12 VDC beträgt. Diese 6-VDC-Spezifikation liegt UNTERHALB des vom LM1117IMPX-5.0 spezifizierten Ausfalls von 6,2 VDC (siehe Datenblatt des LM1117 ), was für ein Produktionsprodukt ein riskantes Geschäft ist. Wenn VIN auch nur ein wenig unter 6,2 VDC abfällt, erhalten Sie ein "nicht spezifiziertes Verhalten" vom Spannungsregler LM1117IMPX-5.0 des Nano.

Warum funktioniert es Ihrer Meinung nach gut mit einem anderen Servo?
@AntonZimin, Jim Fischer (und ich) "denken" nicht. Wir sind zuversichtlich, dass Ihr Problem in einer unzureichenden schlaffen Stromversorgung liegt. Das andere Servo funktioniert, weil es wahrscheinlich weniger Einschaltstrom hat, wenn es gesteuert wird, und die Stromversorgung weniger durchhängt. Es funktioniert zufällig. Man kann es „Lärm“ nennen. Aber wenn sich Ihre Umgebungstemperatur ändert oder der Akku etwas nachlässt, funktioniert es wieder nicht mehr. Fixieren Sie die Eingangsspannung oder den Regler. Entfernen Sie zumindest Ihre In-Serien-Diode.
@AntonZimin, verbringe nicht zu viel Zeit damit, zu erraten, was das Problem sein könnte. Verwenden Sie Testgeräte und insbesondere ein DSO, um nützliche Messungen/Tests durchzuführen, die Ihnen mit Sicherheit sagen können, was am VIN-Stromeingangspin des Nano und an den 3,3-V- und 5-V-Stromausgangspins passiert. Wir können den ganzen Tag versuchen zu spekulieren und zu erraten, was das Problem sein könnte, aber das ist normalerweise Zeitverschwendung. Fünfzehn Minuten Test mit einem DSO können Ihnen sagen, ob die Spannungsregler des Nano nominell funktionieren oder nicht.
Wenn ich die Diode entferne, schaltet sie sich nicht einmal ein, wenn ich versuche, sie mit einer Batterie zu betreiben. Ich habe versucht, Arduino eine separate 12-V-Spannung mit allen angeschlossenen Erdungen zu geben, und es hat sich wegen Überhitzung in 10 Sekunden ausgeschaltet.

Einige zusätzliche Gedanken und Vorschläge zur Fehlerbehebung.

Gedanken

  1. Es gibt zahlreiche Artikel im Internet, die Probleme mit Stromversorgungsrauschen diskutieren, die durch das Zusammenschalten von analogen Schaltungen, digitalen Schaltungen und elektrisch rauschenden Komponenten wie Gleichstrommotoren verursacht werden. Diese Artikel diskutieren verschiedene Strategien zum Reduzieren des Stromversorgungsrauschens in Schaltungen mit gemischten Domänen. Probieren Sie eine Internetsuche mit den Schlüsselwörtern „ Mixed Signal Grounding “ oder „ +Breadboard Mixed Signal Grounding “ nach Artikeln zu Steckplatinen aus. Zum Beispiel: Siehe Walt Kesters Analog Dialog- Artikel mit dem Titel „Erdung und Entkopplung: Lernen Sie jetzt die Grundlagen und ersparen Sie sich später viel Kummer! Teil 1: Erdung“ .(Hinweis: Verwenden Sie den Download-Link, um die PDF-Version dieses Artikels zu erhalten. Die Webseite schneidet einige der Informationen am Ende des Artikels ab.)

  2. In Ihrem ursprünglichen Beitrag wird der Widerstandswert Ihres Potentiometers nicht erwähnt. Denken Sie daran, dass diese drei Töpfe parallel über die 5-VDC-Stromversorgung und die GND-Pins des Nano angeschlossen sind. Wenn beispielsweise jeder Topf einen Widerstandswiderstand (End-to-End) von 100 Ohm hat, beträgt der äquivalente Widerstand dieser drei Töpfe parallel 100/3 = 33,3 Ohm, was kontinuierlich etwa 150 mA aus den 5 des Nano ziehen würde VDC-Stromversorgungsstift. Das ist schlecht.

  3. Stellen Sie sicher, dass Ihre Töpfe richtig verdrahtet sind, so dass die End-to-End-Widerstandsklemmen jedes Topfs über die 5 VDC- und GND-Pins des Nano verdrahtet sind. Stellen Sie sicher, dass der Wischeranschluss jedes Topfes weder mit dem 5 VDC- noch mit dem GND-Pin des Nano verbunden ist .

schematisch

Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan

Vorschläge zur Fehlerbehebung

  1. Entfernen Sie alle peripheren Schaltkreise vom Steckbrett und vom Arduino Nano – dh entfernen Sie die LEDs, die Potentiometer, die Druckschalter und die Servomotoren.

  2. Schließen Sie eine 12-VDC-Stromquelle an die VIN- und GND-Pins des Nano an und führen Sie Ihren Code auf dem Nano aus. Überwachen Sie mit einem DSO oder DC-Voltmeter den 5-VDC-Stromanschluss des Nano für einen Zeitraum von mindestens fünf Minuten. Stellen Sie sicher, dass der integrierte lineare Spannungsregler LM1117IMPX-5.0 des Nano nicht überhitzt und sich selbst abschaltet, was dazu führen würde, dass die Spannung am 5-VDC-Pin des Nano auf (ungefähr) Null abfällt.

  3. Trennen Sie die 12-VDC-Stromquelle von den VIN- und GND-Pins des Nano. Installieren Sie NUR die drei Drucktastenschalter neu. Überwachen Sie anhand des Verfahrens aus Schritt 2 fünf Minuten lang die Spannung am 5-VDC-Stromanschluss des Nano.

  4. Gehen Sie wie folgt vor, vorausgesetzt, in Schritt 3 werden keine Probleme entdeckt. Ändern Sie Ihren Quellcode, um die drei LEDs einzuschalten und niemals auszuschalten. Lassen Sie die Drucktastenschalter an Ort und Stelle und wiederholen Sie Schritt 3 für die drei LED-Schaltungen - dh in Schritt 3 ersetzen Sie "die drei Drucktastenschalter" durch "die drei LED-Schaltungen". Stellen Sie sicher, dass die Platine nicht überhitzt, wenn die LEDs fünf Minuten lang kontinuierlich laufen.

  5. Unter der Annahme, dass in Schritt 4 keine Probleme entdeckt werden, lassen Sie die Drucktasten und LEDs an Ort und Stelle und führen Sie Schritt 3 für die drei Potentiometer durch. Verwenden Sie dieselbe Software aus Schritt 4, die die LEDs einschaltet und nicht ausschaltet. Stellen Sie sicher, dass die Platine nicht überhitzt, wenn Sie diese Kombination von Schaltkreisen fünf Minuten lang ununterbrochen betreiben.

  6. Unter der Annahme, dass in Schritt 5 keine Probleme entdeckt werden, lassen Sie die Drucktastenschalter, die LEDs und die Potentiometer an Ort und Stelle und führen Sie Schritt 3 für die beiden Servomotoren durch. Verwenden Sie die gleiche Software aus Schritt, die die LEDs einschaltet und nicht ausschaltet. Stellen Sie sicher, dass die Platine nicht überhitzt, wenn Sie diese Kombination von Schaltkreisen fünf Minuten lang ununterbrochen betreiben.

Ich habe vor dem Vin eine Shottky-Diode und eine Kappe von 2200 uF hinzugefügt, und das Problem wurde gelöst. Es war wahr, es war ein Stromproblem, aber ich habe die Spannung nicht erhöht, sondern nur eine große Kappe gesetzt, und es funktioniert gut mit AC-DC. Was die Batterie angeht, muss ich anscheinend eine andere ausprobieren oder sie verdoppeln.