New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Dshot ESC protocol #5300
Comments
Would be so much nicer if they would just use CAN and get on with it.. |
Ooh, don't go there. They laughed at me last time I suggested it. Too complicated and expensive. |
CAN .... I went there :) |
This is an important step forward and we should make sure this is supported in the next release. While CAN ESC's will be great. BL_Heli represents mainstream ESC state of the art. It is benefiting from many thousands of racing quads that need to push the control capability to it's limit. This is another fantastic step forward for mainstream ESC development and we should support them not only because it is beneficial to us but also because they are a fellow open source community that is doing great things. |
Second @lthall words. While CAN has the "potential" to be all for all, the community moves forward with easier/cheaper and effective solutions. |
I think we should try and support this. The critical component we need is "DMA to a pin". I'm also not sure if we have enough DMA channels available. We may have to have options to choose between some of the other uses of DMA (eg. UART RX and SPI) and this. |
are the GPIOs memory mapped? The PIC32 on using MIPS arch has that and it
is quite handy. You can have DMA stream any thing via any event timing or
source to any GPIO pin because they're all memory mapped.
…On Thu, Dec 1, 2016 at 1:55 PM, Andrew Tridgell ***@***.***> wrote:
I think we should try and support this. The critical component we need is
"DMA to a pin". I'm also not sure if we have enough DMA channels available.
We may have to have options to choose between some of the other uses of DMA
(eg. UART RX and SPI) and this.
It is likely that this will be a fairly tricky feature to develop, but I
also think it is very worthwhile. The same basic system level features are
needed to support FW update of ESC by flight controller.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5300 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEj7Gz2KiihvhOYBvrJfYiUYovBTn78tks5rD0JIgaJpZM4LAI_R>
.
|
@tridge will u include support for the telemetry feedback from the ESC as well? This will eliminate the need for e.g. a current sensor because data can be read from ESC (if they have one like the KISS24re ESC). |
@tridge if you're going to do this I can donate some dshot esc's. |
I can donate KISS24RE ESC as well if needed. |
I think this work may be underway.
…On Jan 5, 2017 1:48 AM, "Gerald" ***@***.***> wrote:
I can donate KISS24RE ESC as well if needed.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#5300 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AEj7G_BePPfDCZF75A1xwhQya7QTu6SVks5rPLx8gaJpZM4LAI_R>
.
|
Can someone please explain me what CAN is? |
https://en.m.wikipedia.org/wiki/CAN_bus
Regards,
James
… On 1 Jun 2017, at 10:06, iskymaster ***@***.***> wrote:
Can someone please explain me what CAN is?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.
|
James, Thanks! May be the reason people have not jumped on it is because of the royalty fees? "Bosch holds patents on the technology, and manufacturers of CAN-compatible microprocessors pay license fees to Bosch, which are normally passed on to the customer in the price of the chip. Manufacturers of products with custom ASICs or FPGAs containing CAN-compatible modules need to pay a fee for the CAN Protocol License." |
Is there any news or progress on this? Just about every new ESC sold these days uses Dshot, so it would be a pity to not be able to use them and also to not have to calibrate ESCs anymore. |
Hi All, |
I don't recall ardupilot motor update rate, but i assume its on the order of 1k or so... |
I initially wanted to post comment here but ended up in PX4 issue on Dshot. Original comment: The options are then i2c, CAN, UART and Dshot. Since CAN needs licensing, it is probably best to avoid; otherwise cost of ESC will be higher and its adaptation will be slow. Personally I would like to see UART based ESC's and this how it can be done: Invert UART signals. If whole message checksum has more overhead then we could use 11 bits for throttle value and 5 bits for checksum giving us 2048 levels and still keeping within 2 bytes. Data request could contain first 4 bits as ESC ID and last 4 bits for data request. This allows for 15 motors and 15 different data packet structs, assuming last byte 0x00 means response not requested and it could be used to perform load balancing. As soon as one message is sent, one of the ESC would respond with data packet requested and FC would process before requesting another. This type of system does require ESC ID's to be set before hand but it is a onetime requirement. What do you think? |
Update: WIP still, but not far away from flight testing |
Can I ask if telemetry feedback from the ESC is being implemented also ? I to would be very happy to get rid of the current sensor, and gain voltage, current, RPM, and ESC temperature feedback. |
@demondev yes, I am going to implement the telemetry feedback.
I will be looking for people to do testing over the next few days. Please join the https://gitter.im/ArduPilot/ChibiOS gitter channel to join in the fun. I'd also like to support Kiss ESCs, but haven't bought one yet. Donations welcome :-) |
@tridge i have send a contact request via skype a few minutes ago. Maybe i can help u on KISS ESC. |
@dk7xe got it just now (for some reason skype on linux didn't show it, but skype on my windows box did) |
@tridge 4 KISS32A ESC are ordered now. Hope they will arrive soon at your end. Thanx for your work! |
Have mentioned something in gitter but should maybe add here too: I am really looking forward to using this in Plane, too, since I use Aikon AK32 BLHeli32 ESCs and would love to use telemetry (and d-shot is nice too). Is there anything I can do to help, such as send some of those ESCs for testing, test something here myself, etc.? |
Is there any specific reason why Dshot is currently not supported on rovers? I am starting a new project, it is a small autonomous ground vehicle for various speed competitions (line following, track races with other vehicles, maze solving...). I am still at the "hardware selection" phase, and having fast and accurate wheel speed control (with RPM telemetry) would be really nice :-) |
You will want to use an encoder for that |
@massimiliano-mantione |
This is in master so closing. hope that's OK. |
Thanks for the replies, I'll look into using an encoder! |
any idea of when this will be available on arm boars? specifically bbbmini/pocketpilot? |
Issue details
Dshot is a new "digital" ESC communication protocol currently developed by flyduino (Felix Niessen) together with borisb (betaflight). BLheli and KISS ESC are supporting this new protocol already.
-> https://www.rcgroups.com/forums/showthread.php?t=2756129
Advantages (as described by Felix on rcgroups) compared to the most used analog signals like PWM as also oneshot125 or 42 are:
Since arducopter aims to support smaller/racer frames as well i suggest to add support for Dshot.
Platform
[ ] All
[ ] AntennaTracker
[X] Copter
[ ] Plane
[ ] Rover
Airframe type
all
Hardware type
Pixhawk
The text was updated successfully, but these errors were encountered: