Thanks!! Well i have seen that code but i still got problems :/ using an arduino of a friend of me i hear the beeps!! but using the netduino nothing. Of course am a beginer!!
Hey the other tread is from me
in my case you had first to set the throttle of the esc to 100% and then connect the esc and motor (esc and motor should not get any power input before), then set throttle to 0%. After that your esc should sound correct and you can control your motor
then set throtte to 20% to begin ^^
Don't know which motor you have, but start only with 20%, else this can happen:
WP_000076.jpg 38.58KB
23 downloads
public static void Main()
{
OutputPort esc = new OutputPort(Pins.GPIO_PIN_D0, false);
OutputPort relais = new OutputPort(Pins.GPIO_PIN_D1, true);
InterruptPort button = new InterruptPort(Pins.ONBOARD_SW1, false, Port.ResistorMode.Disabled, Port.InterruptMode.InterruptNone);
SpeedController xl5 = new SpeedController(Pins.GPIO_PIN_D5, new TRAXXAS_XL5());
#region initiate esc & motor
// set max throttle
Debug.Print("waiting");
while (button.Read())
{
if (xl5.Throttle != 100) xl5.Throttle = 100;
}
// activate esc
Debug.Print("activate esc");
esc.Write(true);
Thread.Sleep(500);
// activate motor
Debug.Print("activate motor");
relais.Write(false);
// set min throttle
Debug.Print("set throttle min");
if (xl5.Throttle != 0) xl5.Throttle = 0;
Thread.Sleep(5000);
#endregion
bool end = false;
bool oldspeedup = button.Read();
DateTime dt = DateTime.Now;
int i = 1;
while (true)
{
//if (!buttonInput.Read()) break;
bool speedup = !button.Read();
if (oldspeedup != speedup && speedup & end) break;
if (speedup)
{
Debug.Print("speedup");
end = true;
}
if (speedup && xl5.Throttle != 20 + (i * 2)) xl5.Throttle = 20 + (i * 2);
if (!speedup && xl5.Throttle != 0) xl5.Throttle = 0;
oldspeedup = speedup;
if (DateTime.Now > dt)
{
dt = DateTime.Now.AddSeconds(3);
i++;
}
}
Debug.Print("deactivate relais");
esc.Write(false);
Thread.Sleep(500);
relais.Write(true);
xl5.Throttle = 0;
}