vedder said:I have updated the VESC post with some information about that:Just a short question: how to connect a dual motor setup to (two) VESC's? Is that done through the CAN Bus and if so, what connectors/cables would be required? Or is there another solution I've overlooked?
http://vedder.se/2015/01/vesc-open-source-esc/
Have a look under "Application Configuration"
onloop said:Considering we are discussing controlling methods, any idea what these thumb throttle for bike/scooter use? It has three wires, +, -, & Signal
Vedder, Is it possible to make this device work with the VESC?
The main benefit is that you avoid ground loops which can kill the VESC if you are unlucky. For example, if both VESCs are connected to the same battery and one of them gets a current spike that moves the ground potential because of power wire resistance and inductance, that potential difference will cause a current in the signal ground between them if both servo connectors are tied together. That is not a good thing. The CAN transceiver is differential and can take some difference in ground level if only CANH and CANL are connected.So when using dual motor with dual VESC's, what are the benefits of using CAN bus exactly? Is it mainly traction control? Or would CAN bus allow the dual VESC's to achieve improved startup behavior for example?
I am currently using dual hub motor, each connected to a VESC with its own power. There are some startup issues, possibly the torque required for a hub motor is very high, and smooth startup is difficult to achieve without gear ratio (in combination with sensorless). I haven't played with the 'startup boost' yet, because I didn't find the option in the BLDC tool. Where is it?
Maybe I can implement that later, but since it can be done with BLDC Tool and you need bldc tool anyway to configure the vesc, this does not have high priority. Also, I find it strange that you get scaling. I need a ppm signal where I can reproduce that issue in order to fix it.Some optional on-board PPM calibration at startup would be useful: some ESCs allow you to press a button to set the center, min and max servo signal easily. This would alleviate the incorrect pulsewidth computation (due to scaling by voltage level).
One last thing: I tried connecting the sensors of the Yuneec Ego motor, but the motor stopped working: no motion at all, until you disconnect the sensor. I guess the sensors are not compatible at the moment. Would that be easily fixed by a software change? Is the motor temperature sensor (white cable) used at all? Are there some off-the-shelf BLDC motors with sensors that are known to work with VESC? If so, which one?
(I want to try out the sensor option, because with hub-motors the startup is not smooth at all, compared to the boosted board).
vedder said:I have just implemented a "Safe Start" feature for the PPM app. After boot, when changing configuration and when the ppm signal has been gone for longer than the timeout period, neutral must be sensed for at least 50 ppm cycles before output is allowed. I tested it a bit, and it is really useful. I should have implemented this a long time ago.
That is very useful information, I didn't find that on your blog, perhaps you copy/paste it there too for others?vedder said:The main benefit is that you avoid ground loops which can kill the VESC if you are unlucky. For example, if both VESCs are connected to the same battery and one of them gets a current spike that moves the ground potential because of power wire resistance and inductance, that potential difference will cause a current in the signal ground between them if both servo connectors are tied together. That is not a good thing. The CAN transceiver is differential and can take some difference in ground level if only CANH and CANL are connected.So when using dual motor with dual VESC's, what are the benefits of using CAN bus exactly? Is it mainly traction control? Or would CAN bus allow the dual VESC's to achieve improved startup behavior for example?
Another benefit is traction control of course. Also, if you connect a nunchuk to one VESC, you can control both VESCs from the same nunchuk. Running cruise control from the nunchuk requires some communication between the escs as well.
Yet another benefit is that you can connect the USB cable to just one VESC and read parameters from and configure both VESCs over CAN-bus without plugging the USB cable to the other VESC. This will also be true when I implement the bootloader later.
One more benefit is that you can connect a bluetooth module to one VESC and control/access both of them.
How did you connect the sensor? If you aren't careful when connecting things, you can kill the vesc and/or the sensors. Sensors with 120 degree spacing (tested on rc car motors and two hub motors) are working, but you have to configure the VESC for using sensors and for which order the sensors are connected in. I will write a tutorial for that some time. I don't have a setup with sensors (and I prefer sensorless when possible for reliability), so I haven't spent so much time on the sensored implementation. I would like to implement a hybrid between sensored and sensorless so that the sensors are used when starting and then sensorless is used because sensorless is more accurate while the motor is running. It should be quite easy to implement, but I need a sensored setup first.
Startup boost is in the misc tab under motor configuration. For hub motors, you might need to change some other settings like the min ERPM, but I cannot test that since I don't have a setup with hub motors (having one would help me a lot). Also, as you mentioned, hub motors without gearing need to deliver a lot more torque than geared setups. What kv do your hubmotors have? Do you have good torque once you get away? Can you go up steep hills? If you have good torque while running, the startup can also be fixed for sure. If your motors are weak in general without gearing, getting good startup is much more difficult.
chatch said:hi im interested in dual rear drive mountain board. do you have another ESC batch planned? where do I send money?
Post updated 2015-04-28
Update: I have ordered assembled VESCs, some of them are for sale
I have ordered 100 assembled VESCs and they will arrive this or next week. I don’t need all of them, so I will sell some of them for 115€ + shipping. Worldwide shipping with tracking is 20€ per order (which can contain more than one VESC). Shipping within Sweden is less expensive and I will update this post as soon as I know the price. You can contact me by email if you are interested (benjamin at vedder.se). Tell me how many VESCs you’d like and your address, and I will reply with an email that confirms that I have put you in my list. Later, when I have figured out how to accept payments, I will send another email with information about how to do that. As soon as I receive your payment, I will ship the VESC(s) to you and send an email with tracking information
I will update this information in the coming days, so make sure to check if there are updates.
onloop said:GUESS WHAT?... VESC arrived...
So today i am packing orders!
hopefully get them all out today/tomorrow.
lizard said:Thanks for implementing that feature so fast.
I think the initial (after power-up) neutral check is great, but I am not sure if it's a good idea to wait for 50ppm cycles of "neutral" if the signal has been gone during running. With most RC receivers this means an additional 0.5-1 seconds of no control. And that is only if you stay cool enough to let off the throttle, I'd probably keep the brake pressed in sheer panic resulting in the ESC never coming out of the error-condition mode
Oh and maybe you could add another sanity-check: Check periodically if the throttle signal received has changed, if it didn't change for a configurable amount of time, go into failsafe mode. This should help against the vehicle running "forever" in case there are mechanical or electronical throttle problems like a stuck throttle-lever or wrongly set failsafe values in the receiver etc.
A hub motor board with two 6374 149kv motors should start smoothly sensorless with VESC, but maybe some other settings have to be changed. I would need a setup like that to test it myself.Also I think the Hub motor skateboards are becoming increasingly popular now since form member Pediglide started selling a copy of my dual SK3 - 6374 149kv hub motor. This setup can produce plenty of torque, enough to through you off the back if you’re not leaning way forward. It just needs about 80A for each motor during acceleration.
PPM can also be sent over CAN. I update my post regularly, so you can check it again now and then.That is very useful information, I didn't find that on your blog, perhaps you copy/paste it there too for others?
Would the PPM servo signal also be send to the other VESC over CAN bus, or just the Nunchuck/Bluetooth.
I'd like to add bluetooth support, is there a module for ChibiOS that can communicate with a PlayStation Move controller?
Short pulses like that will have more noise and less resolution, but you can configure the pulse length on BLDC tool even to that one if you'd like. If you really need to update that fast, you should use something else than PPM such as UART or CAN-bus.I come from the RC side of things. Usually we call this input PWM, which is 1000-2000us pulse. PPM stream is different. RX and flight controllers support PPM/SBUS but 99% of the esc out there communicate via PWM. a recent development was to shrink the pulse width from 1000-2000 to 125-250us, effectively 8x the response between a dlight controller and ESC. only select few high end esc communicate via I2C.
Barndom said:How about a push mode? Essentually it is that the motor drives the load from the friction of the belt and the motor itselfes and the extra weight of an e-board. So when you push the e-board it is as easy as a regular longboard.
This could be achived by having a fixed low current at about 1 A or so. I have drived the motor and wheel on my comersial board (DC-motor) with a bench supply and the current goes from about 0,8 A at slowest speed to 1,6 A at full speed with wheel in the air. So the friction doesn’t change much with speed. The fixed current should be adjustable somewhere, not necessary on the move. You may need some additional button but maybe the nunchuck have that?
The benefit of having a push mode is:
1. If you want to go for longboarding as a workout but don’t want the extra drag from the motor, belt and weight. But with a break.
2. If you find yourself running out of battery before coming home, you can push the rest bit with very low consumtion.
3. If you wantto go for a long trip. You can push most of the way but have the benefit of recharging in down slopes and also driving up the most boring hills.
Since there already is a current regulating mode this may be achived by just give very little fixed throttle wich maybe already is a feauture through the nunchuch?
Which bluetooth module are you buying exactly, do you have the brand, model number and/or Amazon link?vedder said:The same thing should also work over bluetooth, and I will test it as soon as I receive my bluetooth modules.
With hall sensors it can, but without sensors only regenerative braking is possible (at 0 RPM all motor phases will be shorted when braking without sensors). However, regenerative braking is strong enough for my longboard down to very low speeds, so I don't really miss active braking. What kind of application do you have in mind?3) Can VESC put a brake on motor at 0 RPM and actively resist rotation in any direction?