PPM issue

General topics and discussions about the VESC and its development.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
Garfield
Posts: 24
Joined: 04 Apr 2016, 10:43
Location: Wolfsburg
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

PPM issue

Postby Garfield » 04 Apr 2016, 10:51

Hello,

I have a little problem at controlling the VESC with an tennsy 3.1. I use the PPM input and the current control because I need the direction of the motor changed as fast as possible and PPM is the simplest way to control a ESC.
As PPM signal I tried to send an standard PPM Signal from 1ms to 2ms @50Hz and the zero point @1.5ms.
But the motors keep spinning at startup with the Firmware 1.12 and the actual GIT firmware (both tested) with hardware 4.7. I figured out that the zero Point (no motor spinning) is at 1.455ms instead of 1.5ms. To test this behaviour I gave a fixed PPM signal to the ESC (generated by the teensy) and iterated many times to prevent the motor from turning on at startup (no safe startup selected). Then i measured the signal with an saleae logic to verify this behaviour.
I used no deadband and signal low 1ms signal high 2ms settings in BLDC tool.
In the BLDC-tool only the min and max PPM signal length could be adjusted.
I would suggest, that the zero PPM signal length could be adjusted also. I hope this is possible to integrate or at least the correction of the zero point to the middle point between high and low ppm.

Thank you

joe90
Posts: 49
Joined: 15 Dec 2015, 16:52
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby joe90 » 05 Apr 2016, 19:35

Since you have hardware 4.7 try loading latest firmware and use the correcponding BLDC tool gui. I think that it's 2.16
You can adjust center deadband
the terminology changed too
You have
minimu pulse width
Maximum pulse width

instead of the old terminology that was different from what is currently used in the rc enthusiasts guys.

There is also the actual reading in ms of the input that help tuning.

Nice improvments
Michel Cote
Twin v4.7 + SK3 6374 149KV
Bicycle
2500W peak/unit on 12S

Garfield
Posts: 24
Joined: 04 Apr 2016, 10:43
Location: Wolfsburg
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby Garfield » 06 Apr 2016, 14:47

Hello Thanks for the answer.

I have tested it with the actual GIT version (two days before the post) also and had the same problem.
The settings are:
deadband 0
minimum pulse width 1ms
maximum pulse width 2ms

and the ppm has to be at 1,45ms also to prevent the motor from turning on instantly (safe start disabled). The 1.45ms are measured with the saleae logic and generated by an teensyduino 3.1.
My project is an self balancing scooter (segway like) I couldn´t test the next time because I reversed the polarity :( I try to solder two new VESCs soon.

Thanks

rew
Posts: 943
Joined: 25 Mar 2016, 12:29
Location: Delft, Netherlands.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby rew » 07 Apr 2016, 22:18

I was thinking: Why don't you just set a little deadtime? But the "balancing" thing explains things! then any "deadtime" is... deadly.

joe90
Posts: 49
Joined: 15 Dec 2015, 16:52
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby joe90 » 08 Apr 2016, 09:25

sorry for not reading correctly your post.
You are basically asking for a adjustable throttle curve.
Can you go the other way around ?
low pwm width would be 1.455ms - 0.5ms
high pwm width would be 1.455ms + 0.5 ms

maybe the gui skew again and you end up with non
symetrical response ?
Michel Cote
Twin v4.7 + SK3 6374 149KV
Bicycle
2500W peak/unit on 12S

Garfield
Posts: 24
Joined: 04 Apr 2016, 10:43
Location: Wolfsburg
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby Garfield » 08 Apr 2016, 12:52

Hello,

Thanks for your answer, that was an idea of me but before I could test it I reversed the polarity.
I now have to solder 2 VESCs again and the next test would be in a few weeks.

So sorry I couldn´t test if the setting

low PPM = 1.455-0.5ms
high PPM = 1.455+0.5ms

works or not.

Thanks

rew
Posts: 943
Joined: 25 Mar 2016, 12:29
Location: Delft, Netherlands.
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby rew » 10 Apr 2016, 10:26

Dead zone is meant to prevent "jitter" type effects if your input method is analog. For example, if you have a joystick controlling an aileron it is irritating if they keep moving about when you have your stick in the same position.

For a self-balancing thing, you will always have to be correcting things. Then, having a dead zone is going to make it fall over. If you anticipate on the deadzone, it might be possible to make it work, but things will be more complicated than they need to be.

Joe90: I don't think he needs an adjustable throttle curve. It is just that the zero-throttle should be (or "is expected to be") in the middle between the min and the max. Why would there be an arbitrary offset of several tens of microseconds?

Garfield
Posts: 24
Joined: 04 Apr 2016, 10:43
Location: Wolfsburg
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby Garfield » 12 Apr 2016, 09:32

Hello,

rew you understood my intention on the deadzone thing. If I use a deadzone the balancing controller couldn´t work correctly because the motor should respond to every little change in the PPM signal in every operating point.

Thank you rew, that is exactly what I was expecting from the PPM in of VESC. Sorry english isn´t my main language so to describe problems is a bit difficult for me ;-)

benjamin
Site Admin
Posts: 280
Joined: 15 Dec 2015, 08:38
Location: Sweden
Contact:

Re: PPM issue

Postby benjamin » 19 Apr 2016, 12:22

There is quite heavy filtering on the PPM input (which probably isn't necessary), so the timing is not always perfect. If you control the VESC from another microcontroller I strongly recommend that you use something like UART.

Garfield
Posts: 24
Joined: 04 Apr 2016, 10:43
Location: Wolfsburg
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Re: PPM issue

Postby Garfield » 19 Apr 2016, 14:07



[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1236: count(): Parameter must be an array or an object that implements Countable

Return to “General”

Who is online

Users browsing this forum: No registered users and 3 guests