I wrote this last November about an experience I had installing a brushless ESC and motor into a museum display that controlled a model helicopter that ran up and down a pair of power wires. Sorry, but I dont have time to re-edit it for this topic thread but think my experience valuable enough to repeat what I said.
I am guessing the Novak ESC is a Model Brushless Motor Speed Controller? If not I've bashed out a whole load of info for nothing
I've not used the Novak controller but guess they are all much the same. Anyway if you know how I got mine to work it might help. I've used a couple of Mystery RC 100A Brushless Motor Speed Controllers for a project I was contracted to do a couple of months ago. I didnt need the full 100A but couldnt resist the £15ish it cost to get them from a Chinese Ebay shop
I had some similar difficulty because the controller didnt respond as expected. ie it didn't give me MIN to MAX power over the 0 to 180 PWM range and a lot of the time it would not work at all. I spent a bout two solid days with a POT to PWM sketch and debugging with the PWM values being read out of the terminal to understand that a ESC is a bit more involved that I thought and eventually get it to reliably work with the Arduino.
I'm not sure if this is your problem but the controller has a whole bunch of paramaters / features that aid the model builder but made my job controlling it from an Arduino lot trickier and less straight forward.
The features that caused me some grief are;
# Throttle range self-adjusting
Most probably your problem. The controller interprets the PWM input at power on and sets a ZERO position from this. The problem is if you have a PWM that is out side its expected ZERO range it fails to start and assumes a SAFE condition until you cycle the power. ie it appears dead. This is done every time the ESC powers up so if you don't standardise your ZERO position you will not get consistent response from the ESC as it uses this as a reference to your PWM value and expected motor responce.
# Auto motor cutoff with reset
If the controller spots an abnormal condition, which could be anything, it shut the motor down until the power is cycled. ie it dies for no 'apparent' reason. I had problems with 3 meters of wire and enough voltage drop to trigger flat battery condition. :-?
# Safe power arming program ensures motor will not run accidentally after turn on
If the PWM demand is not within the expected ZERO band or possibly fluctuating on power up it goes into a SAFE condition until the power is cycled. ie it appears dead.
The other feature that annoyed me was a minimum motor speed. ie the motor was OFF or spinning at some minimum speed which for my project and motor was a little bit to fast. :-[ I bought a motor with a lower speed rating to solve this
My solution was to initalise the controller and use it as follows:
A] Set PWM signal at your ZERO position ie low but not 0( I chose 30)
B] Supply power to Motor controller. (My Arduino switched the power with a relay)
C] Wait for Motor controller to initalise and set its ZERO to your ZERO position(It should beep, I waited 2 seconds)
D] Motor will now respond to the PWM signal and spin above the minimum running speed (for me that was about 43 PWM but was different for a different motor)
You'll now have to work out what PWM value will max out the motor.
Keep the PWM signal above your ZERO value and below the max power and you should have it working. If the PWM goes out side this range I found it would shut down into SAFE mode again.
If you trigger a SAFE condition you have to reinitalise the ESC and reset the ZERO value. ie steps A,B and C above. If you dont then your current PWM value becomes ZERO and you get in a mess.
Oh yes, and dont forget he schoolboy error of not having a common ground with the Arduino AND the motor controller. Without this you might not be giving it PWM at all
got me a couple of times :
Hope this is more helpful than confusing and remember I wrote this about 3 months ago for a different question .
PS I used an IR link between the Arduino and the ESC!