PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RP6 Probleme Bootloader und Encoder



bernd01
10.08.2012, 15:27
Hallo,

habe mir nun einen RP6 gekauft und eine IBN laut Anleitung vorgenommen. Nachdem ich die Software installiert habe, habe ich die SELFTEST.HEX in den RP6 gespielt. Funktioniert einwandfrei.
Habe dann die einzelnen Tests durchgeführt die auch gingen. Bis auf den Motor- und Encodertest. Dieser schlug mehrmals fehl. Laut Ausgabe sah es nach einem Schleppfehler aus. Habe dann mal die Ketten
abmontiert. Danach ging es. Von allerdings 5 Test schlug immer noch einer fehl. Habe an den Antriebsrädern eine kleine Unwucht festgestellt könnte diese etwas ausmachen ? Hat jemand das Problem mit den Ketten auch schon gehabt ?
Danach wollte ich ein anderes Programm aufspielen. Dies geht nun nicht mehr da der RP6Loader sich nicht mehr mit dem RP6 verbinden kann. Die Verbindung wird mit "Errorcode1 Mikrocontroller antwortet nicht" abgebrochen. Das SELFTEST Programm funktioniert aber noch. Kann es aus dem Terminal ansteuern. Auch der USB Seriell Wandler müsste gehen, habe den Test mit der Brücke gemacht und die Sendedaten wurden wieder zurückgesendet. Eigentlich kann ich noch mit ihm kommunizieren aber nichts mehr aufspielen. Kann mir dabei jemand weiterhelfen ?

bernd01
10.08.2012, 15:32
Hier noch die Logfile

RobotLoader log file

SystemLogger started at: Fri Aug 10 16:31:45 CEST 2012 (1344609106001)
JVM System Information:

java.runtime.name = Java(TM) SE Runtime Environment
sun.boot.library.path = C:\Program Files (x86)\Java\jre7\bin
java.vm.version = 23.1-b03
java.vm.vendor = Oracle Corporation
java.vendor.url = http://java.oracle.com/
path.separator = ;
java.vm.name = Java HotSpot(TM) Client VM
file.encoding.pkg = sun.io
user.country = DE
user.script =
sun.java.launcher = SUN_STANDARD
sun.os.patch.level = Service Pack 1
java.vm.specification.name = Java Virtual Machine Specification
user.dir = D:\Elektronik\RP6\RobotLoader_20120717 - Kopie
java.runtime.version = 1.7.0_05-b06
java.awt.graphicsenv = sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs = C:\Program Files (x86)\Java\jre7\lib\endorsed
os.arch = x86
java.io.tmpdir = C:\Users\Hauser\AppData\Local\Temp\
line.separator =

java.vm.specification.vendor = Oracle Corporation
user.variant =
os.name = Windows 7
sun.jnu.encoding = Cp1252
java.library.path = .;.\lib
sun.awt.enableExtraMouseButtons = true
java.specification.name = Java Platform API Specification
java.class.version = 51.0
sun.management.compiler = HotSpot Client Compiler
os.version = 6.1
user.home = C:\Users\Hauser
user.timezone = Europe/Berlin
java.awt.printerjob = sun.awt.windows.WPrinterJob
file.encoding = Cp1252
java.specification.version = 1.7
java.class.path = RobotLoader_lib.jar;lib\jd2xx.jar;lib\RXTXcomm.jar ;lib\comm.jar
user.name = Hauser
java.vm.specification.version = 1.7
sun.java.command = de.dsh.rp6loader.Init
java.home = C:\Program Files (x86)\Java\jre7
sun.arch.data.model = 32
user.language = de
java.specification.vendor = Oracle Corporation
awt.toolkit = sun.awt.windows.WToolkit
java.vm.info = mixed mode, sharing
java.version = 1.7.0_05
java.ext.dirs = C:\Program Files (x86)\Java\jre7\lib\ext;C:\Windows\Sun\Java\lib\ex t
sun.boot.class.path = C:\Program Files (x86)\Java\jre7\lib\resources.jar;C:\Program Files (x86)\Java\jre7\lib\rt.jar;C:\Program Files (x86)\Java\jre7\lib\sunrsasign.jar;C:\Program Files (x86)\Java\jre7\lib\jsse.jar;C:\Program Files (x86)\Java\jre7\lib\jce.jar;C:\Program Files (x86)\Java\jre7\lib\charsets.jar;C:\Program Files (x86)\Java\jre7\lib\jfr.jar;C:\Program Files (x86)\Java\jre7\classes
java.vendor = Oracle Corporation
file.separator = \
java.vendor.url.bug = http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding = UnicodeLittle
sun.cpu.endian = little
sun.desktop = windows
sun.cpu.isalist = pentium_pro+mmx pentium_pro pentium+mmx pentium i486 i386 i86


JVM Memory Information:
Free: 14210792 (13877 Kb)
Max: 259522560 (253440 Kb)
Total: 16252928 (15872 Kb)


Initializing...
RobotLoader Version: 2.3c
Last build: 11.07.2012
Loading Configuration...
Done!
Global->loadLocalizedText
Loading Board Library...
Done!
OS:WIN
Initializing native communication library: JD2XX
--> USB0 | RP6 USB Interface | ARVCWDH0
--> USB0 | RP6 USB Interface | ARVCWDH0
UDP listener on 55555 active!
Add Connection Entry: 192.168.10.171:2000
TERMINAL: RobotLoader Serial Terminal
TERMINAL: - type ".help" for command list!
NETWORK TERMINAL: RobotLoader Network / WIFI Terminal
NETWORK TERMINAL: - type ".help" for command list!
Loading File List...
Done!
Loading File List Network...
Done!
Loading WIFI Configuration...
Done!
Init.2 done.
Global->Enabling log panel...
RobotLoader is ready to go.
Message (Fri Aug 10 16:31:49 CEST 2012) : RP6Main.actionPerformed: CONNECT
Trying to open port: USB0 | RP6 USB Interface | ARVCWDH0
--> USB0 | RP6 USB Interface | ARVCWDH0
Portlist: USB0 | RP6 USB Interface | ARVCWDH0
USB0 | RP6 USB Interface | ARVCWDH0 open @38400baud
Device info: --> Desc: RP6 USB Interface
Device info: --> ID: 67330049
Set Comport...
Baudrate is set to: 38400
OK!
Try to get ID...

Finished 0ms
FEHLER (1) ||| Timeout: Der Mikrocontroller hat nicht geantwortet!
Sind Sie sicher, dass das Kabel richtig angeschlossen ist und
der Roboter angeschaltet ist?
Sind die richtigen USB Treiber installiert
und wurde der richtige Port gewählt?
Message (Fri Aug 10 16:31:58 CEST 2012) : RP6LoaderGUI.windowClosing: WINDOW_CLOSING,opposite=null,oldState=0,newState=0
Saving File List...
Done!
Saving File List Network...
Done!
Saving configuration...
Done!

JVM Memory Information:
Free: 7222592 (7053 Kb)
Max: 259522560 (253440 Kb)
Total: 16252928 (15872 Kb)

Trying to close port...
Port Closed!
Program terminated! (1344609118637)

SlyD
10.08.2012, 16:53
Hallo Bernd,

prüfe mal ob der Spannnungsregler IC1 ungewöhnlich warm wird sobald das USB Interface angesteckt ist.
Dreh das Flachbandkabel mal um (also die Stecker jeweils in die andere Buchse stecken).
Falls es dann geht, ist das Kabel oder ein Steckverbinder defekt.

Schau auch mal allgemein genauer auf dem Mainboard ob da evtl. irgendwo Metall/Lötzinnreste einen Kurzschluss verursachen könnten.

Verwendest Du Akkus oder Batterien? Voll geladen und in Ordnung?
Mit uralten Akkus oder normalen Batterien kann es schonmal seltsame Effekte geben weil die nicht stark genug sind.

Sind irgendwelche Kabel bei der Montage zwischen Chassis und Mainboard eingeklemmt worden?
Sitzen die Steckverbinder zu den Motoren und Encodern richtig?


MfG,
SlyD

RolfD
10.08.2012, 17:01
Komisch... Da der RP6 nach dem einschalten erst Programme ausführt wenn man den Startkopf drückt oder den Befehl im RP6Loader dazu gibt, sollte der RP6 sich zunächst noch im Bootloader befinden... (SL1 blinkt)
Da kann man auch Programme flashen... In dem Zustand kannst du keine Verbindung aufbauen? Keine Ausgabe der Bootloaderversion und Batteriespannung unten rechts?
Manchmal hilft es wenn man den USB Treiber neu installiert, einen älteren RP6Loader verwendet oder alles mal ab- und neu ansteckt.
Wenn er doch verbindet, sollte er auch auf ein Reset Befehl im RP6Loader reagieren... (SL2 und 5 gehen mit der PowerLED kurz an, dann wieder blinken der SL1)
Wären z.B. Fuses im Atmega falsch gesetzt, wäre es möglich das der Selbststest den Bootloader überschrieben hat.
Der würde dann ohne Möglichkeit den RP6 im Bootloader zu beinflussen sofort ausgeführt. Ich halte das allerdings für unwarscheinlich.
Schau also erst mal das du den RP6 in den Bootloader bringst... wenn das nicht geht, ist das ein Fall für die Reklamation.
Zu den Encodern... RP6v1 oder RP6v2? Es gibt da Unterschiede...
Gruß Rolf

bernd01
10.08.2012, 18:02
IC1 ist ist kalt. Verwende ein Netzteil mit Strombegrenzung. Eingestellt habe ich es auf 7.2V und 500mA angeschlossen an der weißen Buchse an Ub+ und GND. Im Terminal wird 7.22V angezeigt.
Nachdem Neustart (Spannung war weg) blinkt die LED SL1. Und der Controller scheint
im Bootloader zu sein. Nachdem drücken des Startknopfes läuft das Programm. Im Terminal lässt sich das Programm auch verwenden und ansteuern alle Test sind Ok. Der Reset scheint vom Bootloader aus nicht durchgeführt zu werden. Habe die Resetleitung bis zum PIN wo ein Stiftstecker für die Auswahlt zwischen Bootloader und ISP angelötet werden kann durch geklingelt. War Ok.

SlyD
10.08.2012, 18:16
Nun dann wird wohl der Reset Pin entweder vom USB Interface oder vom Mikrocontroller was abbekommen haben.

Schalt den Roboter mal aus. Finger am Schalter lassen. Dann im RobotLoader auf Connect klicken. Direkt danach(!) innerhalb
einer Sekunde den Roboter anschalten (das simuliert quasi den vom USB Interface ausgelösten Reset). Für die anderen Funktionen kannst Du genauso vorgehen.


Wie verhalten sich die LEDs wenn Du "Hold in Reset" / "Im Reset Modus halten" aktivierst, deaktiviert?
(noramal wäre: aktiviert --> aus, deaktiviert --> an/blinken... )


> Eingestellt habe ich es auf 7.2V und 500mA

500mA sollten zwar prinzipiell reichen, allerdings wenn bei der Mechanik z.B. eine der Stellschrauben etwas zu fest sitzt oder eine Kette zu stark gespannt ist könnte es auch mehr werden. Bei den höheren Geschwindigkeiten zieht das Fahrwerk schon ein bisschen was.


MfG,
SlyD

bernd01
10.08.2012, 18:34
Ja das funktioniert. Der Bootloader hat sich danach mit dem Controller verbunden. Wenn ich es aber dann wieder normal versuche geht es nicht. Würde bedeuten das die Leitung defekt oder der Reset am USB Interface defekt ist oder ?

SlyD
10.08.2012, 19:05
Funktioniert der Reset Taster?

Also USB Interface mal abziehen und paar mal auf den Start/Stop Taster drücken.
(Läuft der Bootloader, ist der Taster der Start Taster, läuft das Programm fungiert er als Reset/Stop Taster).

Wenn das funktioniert, liegt es wohl am USB Interface. Also das mal genauer unter die Lupe nehmen.
Wenn nichts zu erkennen ist, ist der Pin am Chip defekt da hilft dann nur Austausch.

MfG,
SlyD

bernd01
10.08.2012, 19:36
Nach Neustart (Spannung ein) blinkt die grüne LED SL1. Wenn das USB Interface nicht angeschlossen ist lässt sich das Programm nicht starten. LED blinkt weiter. Nach Anschluss des USB Interface leuchten nach betätigen des Start/Stop Tasters alle LED auf. Programm startet und gibt dies über das Terminal aus. Würde daraus schließen das evt. der Reset am Mainboard etwas hat. Glaube ich tausche mal das ganze Teil um. Da es ja noch die Probleme mit den Ketten auch noch hat. Platine sieht so weit gut aus. Sehe sonst keinen weiteren Fehler.

SlyD
10.08.2012, 19:58
> Würde daraus schließen das evt. der Reset am Mainboard etwas hat.

Richtig.

> Glaube ich tausche mal das ganze Teil um.

Jep wird wohl nicht anders gehen (gut, man könnte jetzt jedes einzelne Bauteil genauer untersuchen aber... tauschs einfach um)
Bitte einen Zettel mit kurzer Fehlerbeschreibung und evtl. Hinweis auf diesen Thread hier beilegen.


MfG,
SlyD

bernd01
10.08.2012, 21:35
Ja schade denke mal da bleibt nichts anderes übrig. Trotzdem mal danke für die schnellen Antworten. Werde ihn mal umtauschen und hoffen das es beim Nächsten besser ist. Die Fehlerbeschreibung hänge ich an. Seltsam ist dies aber mit dem Reset Eingang schon, da dieser eigentlich sehr Robust ist.

bernd01
10.08.2012, 22:35
Kommando evt. zurück. Hab noch einen Versuch unternommen und ein Oszi angehängt. Der Reset Eingang bekommt 3V ab. Ist das Ok oder ein bisschen zu wenig ? Beim Port öffnen über den RobotLoad wird ein Reset von einer Länge von112ms (0V für 112ms) durchgeführt. Sieht eigentlich gut aus. Reset geht. Ich kann über das Terminal mit dem Controller kommunizieren, nur kein Programm hochspielen. Jemand eine Idee was es sonst noch sein kann verwende Windows 7 64bit vielleicht gibt es hier noch ein Problem ?

SlyD
11.08.2012, 10:40
Hallo,

nochmal genauer: USB Interface angeschlossen oder nicht?
OHNE USB Interface sollte da normal 5V anliegen (über R3).
Auch MIT USB Interface sollte normal 5V anliegen.
Wird im RobotLoader "Hold in Reset" aktiviert, dann 0V.

Wenn nur 3V anliegen, könnte der Pin (=Kabel+Stecker oder Diode D1 auf dem USB Interface) der das USB Interface mit 5V I/O Spannung
versorgt defekt sein.
(die I/O Spannung wird extern festgelegt)

Auf dem Mainboard kannst Du übrigens mal mit einem Multimeter R3, R5, C7 und den Start Stop Taster prüfen.
Roboter ausschalten, USB Interface abziehen.
R5 = 100k, R3 = 10k, kein Bauteil hat einen Kurzschluss, Taster tastet (Durchgang prüfen, Pads ST1+ST2 direkt daneben)?
Spannung an ST1 = 0V, Spannung an ST2 = 5V.
Wird der Taster gedrückt an beiden etwa 4.5V.
OHNE das USB Interface.

MfG,
SlyD

bernd01
11.08.2012, 12:12
USB Interface nicht angeschlossen:
Denke das Problem liegt an dem R3. Um einen Spannungsabfall von 3,9V zu erreichen müsste doch ein Strom durch diesen fließen liegt dies dann an dem niedrigen Wert von R3 ?
Freilaufdiode am Reset Eingang ist ja keine eingebaut.

VDD an R3 beträgt 5V
R3=2,6KOhm Spannungsabfall an R3=3,9V
R5=100KOhm
ST1=0V
ST2=1.1V
Taster nicht gedrückt 102KOhm und gedrückt an die 0 Ohm. --> Würde sagen IO

SlyD
11.08.2012, 12:26
Wenn R3 wirklich was im Bereich 2.6k hat, liegt da wohl der Fehler (kann aber auch sein das irgendwas anderes z.B. ein Defekt intern im Mikrocontroller den Wert verändert, der Widerstand ist ja in der Schaltung eingebaut).
Wenn alles OK ist, sollte man aber etwa 10k messen können.

Was steht denn auf R3 drauf? 103?
Ist vielleicht irgendeine Beschädigung in dem Bereich zu erkennen?

MfG,
SlyD

bernd01
11.08.2012, 12:33
ja 103 steht auf R3 drauf.
Beschädigungen lassen sich keine Erkennen. Denke mal den muss ich nun doch Umtauschen. Weißt du wieso hier die Freilaufdiode fehlt ? Reset Eingang des Controllers hat ja keine Clampdiode und deshalb sollte doch hier eine eingebaut werden oder nicht ?

SlyD
11.08.2012, 14:33
Der Reset Eingang hat schon eine Diode, aber nur nach GND. Der 100n Kondensator an dem Pin dient zusammen mit der internen Diode als rudimentärer ESD Schutz. Das ist ausreichend, aber natürlich nicht kugelsicher.

Wenn man die Schaltung komplett absichern wollte, müsste man noch an vielen anderen Stellen deutlich mehr Aufwand treiben. Macht aber im Hobby Segment so gut wie kein Hersteller weil Hobbyanwender typischerweise nicht bereit sind Geld für sowas auszugeben ;-)



Bei Dir ists aber eher ein typischer DoA (defect on arrival) Fall und hat nix damit zu tun. Der Controller kann schon vor der Produktion was abbekommen haben. Fällt dann aber nicht sofort aus, sondern erst später im Betrieb. Passiert dann wie hier i.d.R. innerhalb der ersten paar Betriebsstunden.


> Beschädigungen lassen sich keine Erkennen.

Dann wie gesagt umtauschen.

MfG,
SlyD

bernd01
11.08.2012, 14:57
Denke ich auch. Also gut trotzdem danke nochmal für die Unterstützung. Werde es Umtauschen und eine Beschreibung dazuhängen.