itronics / wii-esc

Automatically exported from code.google.com/p/wii-esc
0 stars 0 forks source link

Plush30A Firmware does not work with 40A Pentium #7

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Flash Plush30A firmware to HobbyWing 40A ESC
2. Power up the ESC

What is the expected output? What do you see instead?

I expect some sort of boot up beep sequence

Original issue reported on code.google.com by a432...@gmail.com on 6 Aug 2012 at 5:54

GoogleCodeExporter commented 9 years ago
I am not sure if this helps or not, but the tp_nfet firmware from SimonK works 
well on these ESCs.

Original comment by a432...@gmail.com on 6 Aug 2012 at 8:10

GoogleCodeExporter commented 9 years ago
Ok. Just an FYI.. I validated that the config file Plush30A is not compatible 
with the hobbywing (or others) 40A board. I have made changes to the config 
file to make it compatible and will post back when I have it fixed.

Original comment by a432...@gmail.com on 6 Aug 2012 at 9:23

GoogleCodeExporter commented 9 years ago

Original comment by a432...@gmail.com on 10 Aug 2012 at 12:34

Attachments:

GoogleCodeExporter commented 9 years ago
Hi,
The Pentium40A.inc looks ok. The pFETS are inverted as they shold be.
But as I understand it still not working for you. What is the problem now?

Original comment by d.kayu...@gmail.com on 15 Aug 2012 at 3:57

GoogleCodeExporter commented 9 years ago
Hello! Thanks for your reply. I am now able to get the three beep boot 
sequence, but the motor does not spin up at all. I am using the pwm_fast_250 
input config with an AfroI2C controller. I have validated that the PWM range is 
correct coming from the AfroI2C.

I don't know much about the electronics of ESCs or Assembly, but I have a hunch 
that there is a fundamental incompatibility in the core of wii-esc. I just 
don't know what it is, but maybe it is something that is not being exposed via 
the hardware config files. If I compare the Pentium40A config that I created to 
the tp_nfet config file from SimonK's firmware, there are some macros that are 
not used in the wii-esc firmware. Maybe those extra macros are in there because 
of other differences SimonK found that needed to be abstracted up to the config 
file...? 

Let me know if I can help in any way. I can even mail you an ESC if you need me 
to.

Thanks,
Adam

Original comment by a432...@gmail.com on 15 Aug 2012 at 1:00

GoogleCodeExporter commented 9 years ago
Hi,

For pwm_fast_250 you need input pulses between 800us and 1000us, to arm.
For pwm_fast_200 you need input pulses between 800us and 1100us, to arm.

Is AfroI2C configured to send pulses lower than 1000us? Can you try with normal 
receiver?

I cannot test it my self, but it should be compatible. The config should be 
same as Plush, except pFETs are inverted (which you already did).

Original comment by d.kayu...@gmail.com on 16 Aug 2012 at 12:09

GoogleCodeExporter commented 9 years ago
Dude... if this works I am going to cry. :-D and after I have shed some tears, 
I am going to send you some money. Couple more questions.

1. What about the AcInit, AcPhaseA, AcPhaseB and AcPhaseC? Those appear to be 
different in the tp_nfet simonk firmware file. I am not sure what these do...

2. So both pwm_fast_250 and pwm_fast_200 BOTH require 800-1100us to arm? My 
AfroI2C is configured with a range of 1000-2000us. So shouldn't 1000us be low 
enough?

Thanks again.

Original comment by a432...@gmail.com on 16 Aug 2012 at 1:24

GoogleCodeExporter commented 9 years ago
Yes, you right. According to tp_nfet, you need:

#define mux_b           5     ; ADC5 phase input
#define mux_a           4     ; ADC4 phase input

pwm_fast_250: 800-1000us to arm 
pwm_fast_200: 800-1100us to arm 

So, in your case, flashing pwm_fast_200 should work without changes in AfroI2C.

Original comment by d.kayu...@gmail.com on 16 Aug 2012 at 1:44

GoogleCodeExporter commented 9 years ago
Sweet. I will try that now. I have the mux integers defined properly, but I am 
more concerned about those Macros. AcPhaseA, etc...

Original comment by a432...@gmail.com on 16 Aug 2012 at 1:46

GoogleCodeExporter commented 9 years ago
I think I will try copying the Macros directly from the tp_nfet config. Do you 
know what those macros do?

Original comment by a432...@gmail.com on 16 Aug 2012 at 1:51

GoogleCodeExporter commented 9 years ago
Also, where is your donate button? :-)

Original comment by a432...@gmail.com on 16 Aug 2012 at 1:52

GoogleCodeExporter commented 9 years ago
comp_init                  AcInit
set_comp_phase_a           AcPhaseA
set_comp_phase_b           AcPhaseB
set_comp_phase_c           AcPhaseC

But I'm using also helper macroses:
ACChannel <n>  - set multiplexer channel to n
ACNormal       - set comparator normal mode    
ACMultiplexed  - set comparator multiplexed mode

you can take a look definitions in common.inc.

copying the Macros directly from the tp_nfet config would be difficult, as they 
are require passing temp register name as a parameter. So' you would need to 
change it everywhere.

Original comment by d.kayu...@gmail.com on 16 Aug 2012 at 2:24

GoogleCodeExporter commented 9 years ago
BTW: Found mistake in ACNormal macro: 
http://code.google.com/p/wii-esc/source/detail?r=238 

Original comment by d.kayu...@gmail.com on 16 Aug 2012 at 3:06

GoogleCodeExporter commented 9 years ago
Ok. I just got done testing the file I am attaching to this comment. It 
worked!!! I took the macro definitions from SimonK's firmware (mostly), with a 
little tweak to make it work within wii-esc. If you want to, please feel free 
to include this in the wiki and source control for others who might need it. 
One thing that I did that you may want to fix is remove the DbugLed definition 
which required a change in the core file that was referencing it.

Original comment by a432...@gmail.com on 16 Aug 2012 at 3:14

Attachments:

GoogleCodeExporter commented 9 years ago
Thank you so much. I have been bashing my head on a wall for a while now trying 
to figure it out.

Original comment by a432...@gmail.com on 16 Aug 2012 at 3:15

GoogleCodeExporter commented 9 years ago
Donation sent. Thanks for the help.

Original comment by a432...@gmail.com on 16 Aug 2012 at 3:55

GoogleCodeExporter commented 9 years ago
Hi,

I have committed support for Pentium 40A. I had to make some changes, though:
1) BRAKE_PB - we need to turn on all nFETs
2) Added DbgLED - easier for now ;)
3) Changed AcPhase[x] macro to be in wii-esc style. ;) It will be easier to 
change it in future.

If you can verify that it still works, we can close issue.

Tnx.

Original comment by d.kayu...@gmail.com on 16 Aug 2012 at 4:01

GoogleCodeExporter commented 9 years ago

Original comment by d.kayu...@gmail.com on 23 Aug 2012 at 4:19

GoogleCodeExporter commented 9 years ago
I tested the firmware and it works well except that the throttle input is 
inconsistent. What I mean is that I have eight identical escs all with the same 
firmware but the motors don't start at the same pwm input. This is critical for 
my Mikrokopter. Is there any way to do a live calibration like a standard esc?

Original comment by a432...@gmail.com on 28 Aug 2012 at 2:13

GoogleCodeExporter commented 9 years ago
  Should I open a new issue for this?

Original comment by a432...@gmail.com on 28 Aug 2012 at 2:15