OK here’s what I think I know: Normally the signal used to control speed output of an ESC is a input pulse with pulse widht between 1ms and 2 ms. i.e. 1 ms means motor stopped and 2 ms means full speed. 1.5 would be 50% power. So, as I don’t own an oscilloscope to measure pulse width, in order for me to see if the flipsky receiver was outputting the standard signal on its PPM wire I connected in to a servo ( RC type plane) since I know it uses the standard input where 1 ms = 0 degrees and 2 ms = 180 degrees. The servo was only moving about 30% so I guessed there would be an issue with connecting it to my ESC. My friend had experience this with his full setup as well until he calibrated his ESC. Thing is, an ESC need to be calibrated to adjust for different receivers (i.e. different ranges of pulse widths). Each ESC is a bit different is how this is done (check the manual for yours) but it normally involves powering it on while holding the remote at full throttle then releasing throttle completely to “teach” the ESC the range of the remote.
Thank you. Still learning here. Now I know a little more. Appreciate your response.
I am surprised they are only using 30% of the possible PWM range. This explains why the throttle resolution is so bad. Unacceptable on a $165 controller.
40 steps for throttle??? 2,4ghz? That’s all not ideal for efoiling. I thought this remote would crush mine, but turns our otherwise. I’m 1 month away from mass production. My trigger has 500 individual steps and a precision form 1. So if you hold full throttle then release it you have ±1 value, which is extremely accurate. Plus I am working with 433mhz which easily panatrates carbon water and everything in-between. Next my display is bigger displays all relevant values. You can limit amps wattage. Set you minimal voltage. Get notification when under 20/10/5% battery remaining. Wh counter cruise controle based on gps and normal throttle, logging updating Ota And much much more. Plus my remote will be in the same price region, if the demand is there.
I really hope to bring something great to you guys.
Felix
I am having the same antenna connection issues. Swapped out the Maytech for the VX3 and connected the same antenna used on the Maytech to the VX3 receiver board and as soon as I’m in the water it cuts out on me. So it’s definitely relying on it’s internal antenna as my external antenna goes all the way to the nose of my board and that is not covered by water. I did multiple tests but as soon as my enclosure area is submerged it cuts out on me. Help!
After desoldering the 0R resistor to the internal antenna, the connection gets more stable. I believe we are back to the same reception as the Maytech setup.
While I’m at it, I’ve done a few more modifications as well.
In the VESC tool, set the dead band to 1% and tweek the throttle curve to become a bit flatter around your ‘sweet-spot speed’. This will at least give you a bit better trigger resolution at the speed you are usually running at. It’s far from perfect but the sudden positive and negative accelerations will get smaller.
Edit:
I found the place where I’ve heard about having parallell antennas not being a good idea (around 11:05 in the video).
Can you give me a little more information on the desoldering of the 0R resistor? Did you do that in that picture as it doesn’t look like it? I am quite afraid to do anything like that. I can’t believe Flipsky didn’t see this as a potential problem. I too have heard multiple antennas is a horrible idea. Maytech receiver at least doesn’t have the internal antenna which is likely why that one just worked once an external antenna was connected.
The picture is the previous post is before desoldering the resistor and here is one after
There is nothing to be afraid of, it’s easy to undo the removal of the resistor by shorting the two pads again with some extra solder.
Totally agree, how is it possible not to have seen this problem.
Good luck
The desoldering of the resistor did not help me. I did that, hooked up the external antenna and then placed the board (mine is a Lift board) so that the entire enclosure was under the water but the nose of the board (where the antenna stops) is above the water line. I was still getting signal cut outs. Maybe not as bad as yesterday with the resistor in place, but enough to make me very hesitant to use this remote+receiver.
Any other ideas? I am using FSESC to connect to my Flipsky VESC so it gives me battery remaining. On the Maytech I was using PPM. Does that matter?
Sorry to hear it didn’t help. I’m out of ideas. And, as I said before, this is not the only problem. The trigger resolution is just as bad. It’s a shame, with just a little more R&D, this could have been a good product but it stumbled on the finish line.
I had a session yesterday too, and I’m seriously considering swapping back to the Maytech setup due to the trigger and rather wait for @Mantafoils or @Felixfoiler to finish their product and hope they have addressed the problems encountered so far.
Also, I’m not that far from having a prototype of my own version ready.
@JamieJiang We can all see you have been reading 2h recently so you cannot have missed our problems. Can you please respond to them
From Flipsky Aliexpress seller : “hello friend,We have read the information, there are some problems in the use of the customer’s remote, and our project is also analyzing the reasons for this situation.
We have sold a lot of VX3. At present, We have not received any negative feedback on Aliexpress. We will try our best to do a good job in quality control.
And you can contact me if any questions about the usage.”
Hello Everyone,
Thanks a lot for your feedbacks and suggestions on the remote. For some of your questions:
- In esurf mode, the cruise mode works when the GPS is connected and when you are moving.
- As for the trigger, thank you for @YAHEF’s suggestion, to make the speed more precise, our engineer will improve the 43 readings to 101 readings(from 0,1,2,3,4…to 100).
- The remote VX3 is in 2.4g frequency. Regarding the antenna question, previous we found that whether we keep the 0 ohm resistor or remove it the signal effect is the same, additionally, considering that the VX3 uses the built-in antenna by default, so we retain the 0 ohm resistor on the receiver, otherwise the built-in antenna is not workable if the resistor it’s removed. If you need to use the extended antenna but feel the signal is interfering during your using, please remove the 0 ohm resistor. Sorry for not mentioning this before. In addition, some fiber materials might affect the signal too, to avoid this, if possible, please put the antenna outside the the enclosure or the housing, thanks.
Thanks again for all your supporting and kind suggestions and feedbacks on our product.
Hi @JamieJiang,
Assuming you are doing your vesc uart control similar to here: https://github.com/RollingGecko/VescUartControl/blob/master/VescUart.cpp#L250
I would sample your ADC, convert to floats and filter then cast it as they do in that example.
Feels much better to have the trigger as smooth as possible. In the fpv drone work each stick is at least 1024 steps if not 2048 (transmitted over the air, on the transmitter the stick data is kept at higher resolution).
Question, can the delivered VX3 get a Firmwareupdate?
As of now the VX3 is using COMM_SET_CHUCK_DATA API and passes an uint8 value between 0 and 254. 0 is 100% backwards, 128 is 0% and 254 is 100% forward. Of course, in our case it’s only the values between 128 and 254 that are interesting for us since we don’t want to go backwards.
I have a function looking like this.
void VescSerial::SetChuckData(uint8_t value, uint8_t cruisecontrol)
{
Payload payload{};
payload.command = Command::COMM_SET_CHUCK_DATA;
payload.data.addUint8(127); //joystick x
payload.data.addUint8(value); //joystick y
payload.data.addUint8(cruisecontrol); //button c
payload.data.addUint8(0); //button z
payload.data.addInt16(0); //acc x
payload.data.addInt16(0); //acc y
payload.data.addInt16(0); //acc z
SendSerialData(payload);
}
In short, on the VESC side, the ‘joystick y’ value is mapped to a float value between 0 and 1 and multiplied with the max motor current, set in the vesc tool and then applying throttle curve, pos/neg ramping time and cruisecontrol
I guess the reason for Flipsky using this API is that they don’t have to code very much on their side, just have to map the throttle percent to a value between 128 and 254 and apply cruisecontrol when holding the break for 3 seconds
In order to use a high resolution throttle (more than 126 steps) the COMM_SET_CURRENT API has to be used. First, at startup the max motor current has to be fetched from the VESC with COMM_GET_MCCONF or COMM_GET_MCCONF_TEMP, then the max current can be used to map the trigger percent with.
Hi Jamie and thank you for replying.
Regarding the throttle readings, is 101 readings the best you can provide? As of my knowledge, the STM32 can handle 12 bit analog resolution, ref my answer to @brycej
Regarding the connection issue. What transmission power are you using right now? According to the specs, the radio chip can be programmed up to 11dBm and I doubt you are using more than the default one. You can also ask your engineer to play with the transmission rate since a lower rate has better sensisivity.
Also I want to echo @nice2cu. You say you will probably have your engineer to change the firmware, will it be possible for us, existing customers, to upgrade to future releases or are we stuck with an old, not so good version?
looks really good congrats. Can you share more details?
The last point in the settings menu shows you wich error?
From VESC?