PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USB am Arduino fällt aus; Stromversorgungsproblem?



bjoerng
01.11.2010, 19:50
Hallo Kollegen,

ich habe ein sehr eigenartiges Problem, bei dem Ihr mir vielleicht helfen könnt.

Ich habe ein ziemlich komplexes Setup in meinem Roboter, mit mehreren Arduinos, die an zwei parallel geschalteten 12V7AH Bleigelakkus betrieben werden. Die 12V werden von einem ATX-Auto-Netzteil stabilisiert. Sie betreiben zusätzlich einen PC über einen 12V-auf-19V DC-DC-Wandler. Der PC ist mit einem der Arduinos über USB verbunden und empfängt Statusmeldungen über die USB-Serial-Bridge des Arduino, und die Arduinos reden miteinander und mit der Motorsteuerung über I2C. Hier ist eine Schemazeichnung:

http://giesler.biz/~bjoern/downloads/Power.pdf

Mein Problem ist jetzt: Sobald der Roboter sich bewegt, "droppt" die USB-Verbindung (also der Arduino trennt die Verbindung zum USB-Stack auf dem PC und verbindet sich wieder). Alles andere funktioniert noch, d.h. die I2C-Verbindung ist immer noch aktiv, es ist nur die Verbindung zum PC, die abbricht.

Dies passiert mit vollen Batterien, die (nach dem Datenblatt) in der Lage sein sollten, 140A zu liefern; nichts in meinem Roboter zieht mehr als 10A in Summe. Die Stromversorgung sollte auch alle Spannungsspitzen wegstabilisieren, und die Motoren haben Entstörkondensatoren (waren beim Kauf dran). Ich bin etwas verwirrt.

Jemand eine Idee was ich tun könnte?

Vielen Dank im Voraus!

oZe
01.11.2010, 20:00
Sind die Motoren PWM versorgt? Falls ja würde ich tippen, dass die eine Störeinstreuung auf das USB Kabel verursachen.
Lösen würde ich das ganze mit guter Schirmung und ein bischen mehr entsörung des gesamten Aufbaus. Also entstörkodensatoren etc.

Thomas$
01.11.2010, 20:01
trenn mal die stromversgung, dass logic und leistung getrennt sind

bjoerng
01.11.2010, 20:14
@oZe: Gute Idee, das schau ich mir mal an.
@Thomas$: Du meinst, separate Batterien für beides? Auch 'ne gute Idee. Probiere ich mal.

Thomas$
01.11.2010, 21:07
ja um den fehler erstmal einzugrenzen bzw auch so zu beheben

wiso nimmst du nicht die 12V und nimmst denspannungsregler auf dem arduino?
pz netzteile liefern heftige ströme da geht bei einem kurzen auch mal was kaputt weis nicht wie weit du in die richtung alles gesichert hast

BMS
01.11.2010, 21:27
Hallo,
oft hilft auch ein sternförmiges Massekonzept. Durch die Stromaufnahme der Motoren fällt auf der Zuleitung eine Spannung ab, dadurch wird das Massepotenzial der Arduinos gegenüber der Masse vom PC verschoben. Möglicherweise werden dann die Signalpegel Low/High nicht mehr eingehalten...?
Also möglichst die Masseleitung von jedem Verbraucher direkt zur Quelle legen und ausreichende Kabelquerschnitte verwenden.
Du kannst auch mal die Motoren laufen lassen und mit einem Messgerät die Spannung zwischen dem GND-Anschluss des Netzteils/der Akkus und dem GND-Anschluss des Motortreibers messen. Dann siehst du welche Spannung allein auf dem Kabel abfällt und ob bzw. wie stark sich die Potenziale verschieben.
Grüße, Bernhard

bjoerng
01.11.2010, 21:35
@Thomas$: Der Arduino-Spannungsregler liefert zu wenig Strom auf der 5V- und 3V3-Schiene. Deshalb brauch ich das Netzteil. Was ist ein "PZ-Netzteil"?

...ich könnte auch einfach Optokoppler für die Kommunikation verwenden?

bjoerng
02.11.2010, 15:25
@Thomas$: Ich habe mir die Daten meiner Motorcontroller angeschaut (http://www.robot-electronics.co.uk/htm/md22tech.htm bzw. http://www.pololu.com/catalog/product/758). Beide stellen intern eine Verbindung zwischen Logik- und Motor-Masse her. Wie soll ich das denn trennen? (Argl -- man merkt schon, ich bin völliger Stümper, was Elektronik angeht.)

Thomas$
02.11.2010, 15:48
pz sry ich meinte PC bzw dein atx
die masse kann die selbe bleiben
nur + bzw vcc sollte von einer getrennten quelle kommen
i

was hast du alles am arduino angeschlossen?
der strom solte ausreichen die motoren werden ja von den 12v gespeist

ich ahne das du die motoren mit den 5V aus dem arudino versorgst

bjoerng
02.11.2010, 17:04
Naiiiiiin. Die Motoren werden direkt versorgt, siehe das verlinkte PDF.

An der Arduino-Stromversorgung selbst hängt eigentlich gar nix (außer 3V3 für den RC-Empfänger). Auch die 5V-Schiene speise ich aus dem PC-Netzteil.

Thomas$
02.11.2010, 17:51
"Der Arduino-Spannungsregler liefert zu wenig Strom auf der 5V- und 3V3-Schiene. Deshalb brauch ich das Netzteil. " dann versteh ich das nicht
hast du es schon so probiert?

bjoerng
02.11.2010, 18:51
Versteh ich nicht, was Du nicht verstehst ;-) Der Arduino-Spannungsregler liefert nur 500mA an 5V, sogar noch weniger an 3V3. Da ich (irgendwann mal) mit dem Arduino Servos ansteuern möchte, brauche ich eine stabilisierte Spannungsversorgung mit ein paar Ampère an 5V. Statt mir selbst eine zu löten, hab ich mir eine gekauft.

Die Versorgung für die Motoren geht am Netzteil vorbei direkt in den Motorstromanschluß am Motorregler.

Thomas$
02.11.2010, 19:44
die servos kannst du doch auch mit den 5v (vom atx) versorgen
der arduino selbst brauch doch nur ganz wenig strom

das problem ist das du nicht sicher weist wie das netzteil auf der 5v schiene reagiert wenn du es bei 12V stark belastest
hast du ein oszi? um das mal zu prüfen