1

Donnerstag, 19. Januar 2017, 16:59

Problem ESC Flashen Simonk

Hallo Zusammen

Eine kurze Einleitung

Ich versuchte es kurz zu machen (auch wenn es
mir nicht gelungen ist). Jedenfalls bin ich verzweifelt. Ich möchte unbedingt
SimonK auf einen ESC brennen und habe mir schon so ziemlich jedes Tutorial
durchgelesen/angeschaut. Ich möchte mit meinem ESC bremsen, und ihn in beide
Richtungen betreiben können. Es ist daher leider keine Option einen ESC mit
SimonK zu kaufen oder viel zu große RC-Car ESCs zu erwerben. Ich Poste das an
diese Stelle da ich wenig Forenerfahren bin, ich denke das in der Multikopter-ecke
die meisten wissen wie sowas geht und ich schon an der stelle scheitere die
Multikoperleute vermutlich immer machen: Nämlich zuerst einmal einen ganz
normalen unveränderten HEX-File auf den ESC zu spielen. (Habe schon 3 ESCs
zerschossen.)


Nun genau zum Problem:

Ich habe einen original HobbyWing ESC
gehabt. Beim Versuch zu flashen hatte ich Probleme mit der Verkabelung da ich
versuchte direkt an die Pins vom Atmega8A AU zu löten was irgendwann mit dem
Abbrechen der Pins endete. (Es gab auch da schon Fehlermeldungen die ich aber
leider nicht dokumentiert habe. Das ganze versuchte ich mit nem Arduino als
Programmer.) Daraufhin besorgte so einen weißen Aufsteckadapter der direckt auf
den MCU gehalten wird. Dazu kamen noch zwei USBasp die ich erfolgreich auf
Windows10 installiert habe und habe auf beide USBasps den neusten Treiber von
fischel.de installiert. Ich war sogar mit diesen im stande meinen Arduino zu
programmieren (das sollte also eigentlich passen?!).


Dann kamen noch 3 weiter rote günstige ebay
ESCs die genau gleich aussahen wie der Hobbywing ESC. Auf diesen war sogar schon SimonK drauf laut verkäufer- ich dachte also auf diesen muss es doch klappen. Testweise versuchte ich also auch
auf diese die tgy.hex mit dem USBasp zu flashen. Die Einstellungen sahen wie folgt aus:


Programmer: USBasp, http://flischl.de/usbasp/ (usbasp)
Port: USB
Baud Rate: 19200
Controller: atmega
8-based brushless ESC (fuse restore, external clock (8kb flash))

File: tgy.hex


Die Fehlermeldung die dabei raus kam war folgende:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
Flash the
firmware file.

 

C:\Users\David\Desktop\SimonK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.exe
-C
C:\Users\David\Desktop\SimonK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.conf
-p m8 -P usb -c usbasp -e -U lfuse:w:0x3f:m -U hfuse:w:0xca:m 

 

avrdude.exe: AVR
device initialized and ready to accept instructions

 

Reading |
################################################## | 100% 0.00s

 

avrdude.exe:
Device signature = 0x1e9307

avrdude.exe:
erasing chip

avrdude.exe:
reading input file "0x3f"

avrdude.exe:
writing lfuse (1 bytes):

 

Writing |
################################################## | 100% 0.01s

 

avrdude.exe: 1
bytes of lfuse written

avrdude.exe:
verifying lfuse memory against 0x3f:

avrdude.exe: load
data lfuse data from input file 0x3f:

avrdude.exe: input
file 0x3f contains 1 bytes

avrdude.exe:
reading on-chip lfuse data:

 

Reading |
################################################## | 100% 0.00s

 

avrdude.exe:
verifying ...

avrdude.exe: 1
bytes of lfuse verified

avrdude.exe:
reading input file "0xca"

avrdude.exe:
writing hfuse (1 bytes):

 

Writing |
################################################## | 100% 0.01s

 

avrdude.exe: 1
bytes of hfuse written

avrdude.exe:
verifying hfuse memory against 0xca:

avrdude.exe: load
data hfuse data from input file 0xca:

avrdude.exe: input
file 0xca contains 1 bytes

avrdude.exe:
reading on-chip hfuse data:

 

Reading |
################################################## | 100% 0.00s

 

avrdude.exe:
verifying ...

avrdude.exe: 1
bytes of hfuse verified

 

avrdude.exe done.
 Thank you.

 

 

C:\Users\David\Desktop\SimonK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.exe
-C
C:\Users\David\Desktop\SimonK\kkmulticopterflashtool_0.80beta6\lib\avrdude\windows\avrdude.conf
-p m8 -P usb -c usbasp -e -U lfuse:r:C:\Users\David\Desktop\SimonK\kkmulticopterflashtool_0.80beta6\tmp\/lfuse.hex:r
-U
hfuse:r:C:\Users\David\Desktop\SimonK\kkmulticopterflashtool_0.80beta6\tmp\/hfuse.hex:r 

 

avrdude.exe:
error: programm enable: target doesn't answer. 1 

avrdude.exe:
initialization failed, rc=-1

   
         Double check connections and try again, or
use -F to override

   
         this check.

 

 

avrdude.exe done.
 Thank you.

 

Error during
reading of high fuse.

Flashing of
firmware aborted.


Vorher funktionierten alle ESCs- nachher nicht
mehr. Die Tutorials liegen teilweise schon einige Zeit zurück- kann es sein, dass man das unter Windows 10 einfach nicht mehr so machen kann? Oder habe ich die
falschen ESCs? Es geht leider langsam alles etwas ins Geld was mich doch sehr ärgert und ich habe im Moment nur noch einen. Wenn der auch noch kaputt ist muss ich nochmal nach bestellen.



Über jedwede Hilfe wäre ich ausgesprochen dankbar!

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Morpheus90« (19. Januar 2017, 17:05)


2

Donnerstag, 19. Januar 2017, 17:28

Hallo, meine Frage dazu:

Warum SimonK für ein RC Car?

In deinem Fall müsste dies ja dann ein 3D Regler sein, der beiWege fährt. Soviel ich weiß, ist das mit SimonK nicht möglich.
Hab auf jeden Fall nix dazu gefunden.

LG Frank
LGFrank

T-rex550 E DFC, HC3 sx
T-rex700 E DFC, Bavarian Demon 3sx :heart:
Raptor E 550se
Zu viele Multicopter. :tongue:
T2M Beaver 152cm, Pitts Phyton 146cm 6S
Edge 540 160cm 6s :evil:
Mirage 2000 6S :applause: Geile Kiste
F-16 70mm Impeller R.I.P.
;(
One-O-four/Causemann F-104 XXL ;)
Funke MX 20 Hott
DX6 G2

3

Donnerstag, 19. Januar 2017, 18:30

Man kann die Bremsfunktion und auch die Vor- und Rückwärtsfunktion implementieren indem man im Programm vor dem Compilieren in den Hex-file an entsprechender Stelle aus Nullen Einsen macht (ist auch durch Kommentare an den entsprechenden Stellen so erklärt)

Das geht aber zu sehr ins Detail und hat auch wenig mit meinem jetzigen Problem zu tun. Mein Problem ist das ich einen unveränderten HEX-file nicht auf den Chip ge-flashed bekomme. Selbst wenn es der falsche HEX-file sein sollte (für einen anderen ESC) müsste das doch drauf gehen und keine Fehlermeldung ausspucken. In dem Fall würde sich doch "nur" der Motor nicht drehen und der ESC vermutlich in Rauch auflösen.

Meine Frage ist also was könnte an meinem Setup nicht stimmen (Hänge da nämlich schon mindestens 3 Monate drann). Es muss doch Leute geben die das auch heute noch machen und mir Stolpersteine aufzeigen können die ich nicht bedacht habe- an dem jetzigen punkt bin ich nämlich Ratlos...

4

Donnerstag, 19. Januar 2017, 18:39

Ich hab das selbst so noch nicht gemacht.

Eventuell wüsste ich jemand der da helfen könnte. Klingel den Morgen mal an.

LG Frank


Edit: Schau mal Beitrag Nr. 6 https://www.rcgroups.com/forums/showthre…middle-throttle
LGFrank

T-rex550 E DFC, HC3 sx
T-rex700 E DFC, Bavarian Demon 3sx :heart:
Raptor E 550se
Zu viele Multicopter. :tongue:
T2M Beaver 152cm, Pitts Phyton 146cm 6S
Edge 540 160cm 6s :evil:
Mirage 2000 6S :applause: Geile Kiste
F-16 70mm Impeller R.I.P.
;(
One-O-four/Causemann F-104 XXL ;)
Funke MX 20 Hott
DX6 G2

hsh

RCLine User

Wohnort: Österreich

  • Nachricht senden

5

Donnerstag, 19. Januar 2017, 18:52

Laut dem geposteten avrdude-Auruf wird der AVR nicht geflasht, sondern die Fuses gesetzt. Wenn dabei etwas mit den Einstellungen nicht stimmt, kannst die Programmierung per ISP-Adapter vergessen.
Außerdem ist es immer empfehlenswert, die Fuse-Einstellungen zuerst einmal auszulesen und mit dem Datenblatt abzugleichen.

Du musst das Innenleben der Regler mit derDatensammlung von unterstützten Modellen abgleichen.
Allerdings könnten Regler auf denen schon Simon-k oder BLheli läuft einfach per Bootloader programmierbar sein. Damit reduzierst du das Risiko bei deinen Experimenten etwas. Ein falsches hex-File bei fehlende Strombgrenzung ist aber immer das Ende des ESC.

https://github.com/sim-/tgy
https://github.com/sim-/tgy/wiki/Identif…n-configuration

p.s. AVRs mit falsch gesetzte fuses lassen sich ev. durch einspeisen eines ext. taktsignals wiederbeleben. HV-programming geht in der Schaltung meist nicht.
mfg Harald

6

Donnerstag, 19. Januar 2017, 18:56

Allerdings könnten Regler auf denen schon Simon-k oder BLheli läuft einfach per Bootloader programmierbar sein. Damit reduzierst du das Risiko bei deinen Experimenten etwas. Ein falsches hex-File bei fehlende Strombgrenzung ist aber immer das Ende des ESC.

Das wäre mein nächster Punkt gewesen. :shy:

hsh :ok:
LGFrank

T-rex550 E DFC, HC3 sx
T-rex700 E DFC, Bavarian Demon 3sx :heart:
Raptor E 550se
Zu viele Multicopter. :tongue:
T2M Beaver 152cm, Pitts Phyton 146cm 6S
Edge 540 160cm 6s :evil:
Mirage 2000 6S :applause: Geile Kiste
F-16 70mm Impeller R.I.P.
;(
One-O-four/Causemann F-104 XXL ;)
Funke MX 20 Hott
DX6 G2

Diver

RCLine User

Wohnort: Hannover

Beruf: Dipl.-Ing.

  • Nachricht senden

7

Sonntag, 22. Januar 2017, 09:22

auf die richtige SW achten

Hallo

Ich habe bereits diverse HK ESCs mit der SimonK SW geflasht, bislang alles ohne Probleme, allerdings muss man peinlichst genau darauf achten auch das richtige Hex File zu benutzen. Die verfügbaren Anleitungen sind meist sehr gut, ich benutze eine ISP Programmer und diese SW zum Flashen http://chrmoll.de/en/modellbau/kkmulticopterflashtool/start. Bei den meisten ESCs sind sogar die Pads für den ISP Programmer auf dem Board verfügbar, es gibt aber auch sogenannte Clip over Adapter für die Atmel Prozessoren, da braucht man dann auch nichts an die Beinchen anlöten.

Wie gesagt bislang alles ohne jegliches Problem

Gruss
Klaus

haschenk

RCLine User

Beruf: Dipl. Ing.

  • Nachricht senden

8

Sonntag, 22. Januar 2017, 19:13

Sicherheitsmaßnahme

Hallo,

Nach Programmieren eines ESCs hab' ich früher immer erstmal einen BL aus einem alten Diskettenlaufwerk (im Originalzustand) ans ESC angeschlossen.
Diese Motoren laufen daran auch einwandfrei und sind nicht so niederohmig wie die Modellbau-BLs. Bei einem falsch programmierten ESC raucht dann nichts ab, weder Motor noch ESC.

Einziges Problemchen dabei: Die Laufwerksmotoren sind im Stern verschaltet, und der Sternpunkt ist immer mit rausgeführt (man hat also 4 Anschlüsse), und den muß man erst identifizieren (Ohmmeter). Er wird einfach nicht benützt; die restlichen 3 Anschlüsse sind dann die richtigen.

Gruß,
Helmut

9

Sonntag, 22. Januar 2017, 23:04

Ich möchte euch allen zuerst einmal herzlich danken. Jetzt habe ich mal wieder ein paar Ansätze wie ich mich selbst schlau machen kann. Das ein Teil des Fehlers bei falsch gesetzten Fuses liegen könnte der Gedanke kam mir auch schon. Die Fuses haben ja etwas mit der Brown Out Protection und ähnlichem zu tun. Das der Chip dann nicht mehr geht macht Sinn.

In dem kkMulticopter Programm gibt es wohl auch die Möglichkeit ohne den "Full Fuse Restore" zu flaschen. Bei einem jungfräulichen ESC gibts dann aber nur direkt nen Abbruch und die frage ob alles richtig angeschlossen ist. (Der ESC funktioniert danach weiterhin.)

Darf ich noch fragen welche Programme ihr fürs flaschen nehmt. Benutzt ihr da alle kkMulticopter? Oder geht ihr über die Kommandozeile ruft avrdude auf und lest so dann auch die fuses aus?

PS: Auch wenn mir noch kein ESC sichtbar durchgeschmort ist werde ich den Tip mit der Festplatte ebenfalls nutzen. Hab den "Aufbau" sogar schon bin nur nicht auf die Idee gekommen das die verringerte Leistungsaufnahme vor defekt am ESC bei tests schützen kann. Auch danke dafür ;)

hsh

RCLine User

Wohnort: Österreich

  • Nachricht senden

10

Montag, 23. Januar 2017, 00:17

Die Fuseeinstellungen die du gesetzt hast, verlangen auf jeden Fall einen ext. Quarz od. Resonator; BOD=4.0V + 512k Bootloader müsste eigentlich passen (vgl. SimonK *.asm).

Ich verwende meistens AVR Studio und orig. AVR Programmer.
Die WinAVR, AVRDUDE Toolchain ist aber auf jeden Fall ausreichend. Das Tool von Lazyzero habe ich für KK-Kopter manchmal genutzt (absolut :ok: ).

Vielleicht kannst du ja Bilder von den gebrickten PCB machen. Sonst kontrolliere unbedingt, welche Taktquelle da bestückt wurde.
Vom noch funktionfähigen ESC solltest du unbedingt mit AVRDUDE die DeviceID und Fusekonfiguration auslesen. Das sollte eigentlich immer funktionieren.
Je nach Lock-Bits wird allerdings ein Programmieren eher nicht möglich sein. Aber auch da hilft nur, erst einmal auslesen...
mfg Harald