SimuCUBE Open Source Firmware Development Update Thread 3

Aww, that’s a shame. I was just getting started.

Oh yeah, and for those who are interested in what I am trying to do:
I was told that it would be very difficult or maybe even impossible to run a Kollmorgen motor with SFD with SimuCUBE (hooked up to a Kollmorgen drive). I liked the sound of that challenge, so that is exactly what I’m working on now.

It’s been several years since I’ve last done any sort of coding outside of the occasional Matlab script, so it’s definitely not just a weekend project. That being said, though, progress has already been made; the motor position is correctly reflected in the SimuCUBE configurator. I can also get the “wheel” to work in American Truck Simulator, but it repeatedly jumps back to the menu after anywhere between half and a few seconds for whatever reason. Next task is to have it not do that, and then, eventually, I will figure out how to output actual torque.

Oh, and huge thanks to Mika, for providing this code for us.

3 Likes

The 24 bit SFD sounds great!
Good luck and please keep us updated :slight_smile:

Yeah, I’m definitely looking forward to having a functioning prototype. Though last time I used a sim steering wheel was probably 20 years ago, so whatever the performance, I’m likely to be blown away using that as my base as reference :ghost:

And a quick dev update: We’ve got torque! Bumpstop works as expected, and I completed a practice lap in Raceroom, actually feeling the expected force feedback effects (wheel slip, kerbs, the occassional collision etc.), though with very oscillatory behavior. I do not have a steering wheel yet, and I was simply jogging the motor shaft with my fingers :sweat_smile:

Next up: Buy a cheapo steering wheel for the mockup, design a hub clamp for the shaft, and fix the oscillations. Will keep you posted.

1 Like

That sounds wonderful!
Can you confirm the 24 bit resolution? Or am I wrong about that?

I can’t wait to test it as well. When and where will you upload it?

PS: I hope you will share this :slight_smile:

Yes bumpstop is horrible. You could put slider like on MMOS to ramp up bumpstop power.
My kid uses 30% force and sometimes passes bumpstop.
Do you need testers for Simucube 1 fw?

2 Likes

I dialed the bumpstop down to soft in the configurator, and added an additional attenuation of 70 % in the hardware, and now the bumpstop feels realistic.

Since a lot of the signal conditioning happens on the IONI drive, I have to write a lot of these filters myself for the board I have between the Simucube board and the Kollmorgen drive. Adding some slight damping on all torque commands made the behavior much more manageable, but there’s still a ton of tuning to carry out.

And yes, it is indeed 24 bit, though I’m not entirely convinced that a human can distinguish between e.g. 20 bit and 24 bit.

I will probably eventually share it, but only when it’s fully stable, and I’ve implemented all features that I feel are necessary. I cannot even begin to contemplate a timeframe yet :sweat_smile: This is, after all, just a hobby project (of which I have many!).

There are enough testers, but not enough time for Simucube 1 at the moment. The bumpstop fix and the fw update wizard fix are the things that are ready, hopefully we will get to it after the coming week.

Maybe you should make a separate topic for your setup…
So you still need a Kollmorgen power amplifier for your implementation? Or which board are you talking about here? I thought you were doing it all with Granite hardware. It’s a pity, because that’s very complicated and also expensive.
And of course I have to agree with you. No one will notice the difference between 20bit, 22bit and 24bit.

I would like to start building a simucube 1 hardware (more exciting than to buy premade simucube 2)
and if I a have understood right I can get the “simucube 1 board and ioni-servo pro board from granite devices website” and rest of the hw (mig, pedals, wheel) else where.

What I am missing however is the latest firmware source code. I have previously cloned the SimuCUBE-OpenSource-Firmware from
https://github.com/SimuCUBE/SimuCUBE-OpenSource-Firmware.git

But I have myself only the 1.0.24 source code while the latest release is 1.3.0. Would it be possible to put the latest source code back to github?

I saw that Mika was putting many months ago a list of tasks he would like to be accomplished to simucube 1. Not promising but maybe I could help to implement some of those tasks in the list for fun.

1 Like

Hi,

We have pulled the open source code away from Github. Having it updated there was more work than what it was worth, as there were so few people interested in it.

Our development process put features to Simucube 2 development branch, then cherry-picking to our own Simucube 1 branch, and then updating that to the open source repository as well. It was just too difficult, as the open source repository couldn’t contain the USB interface code (due to our proprietary fixes in it), wireless wheels code (proprietary) and the simplemotion servo drive handling code (some of which is proprietary / uses undocumented features). This caused the build system to be just overly complex and it took around an hour each time to update everything to open source. And with no interest on Github, we pulled it out as that time can be better spent somewhere else.

At the current point of time, we have fully migrated to cmake based build system using much better commercial IDE (also for simucube 1). Just recently we rewrote a large part of the Simucube 2 firmware code while at the same time simplifying that code significantly by ripping out almost all Simucube 1 stuff. This means that the current work internal to us is pretty much completely proprietary to us, and it is likely that we won’t share any of this code to open source anymore. A near term project evaluation is to see how much work it will take to get back all Simucube 1 stuff back to its own working development branch, or whether to use the old build system still for Simucube 1.

2 Likes

Cheers for the update, Mika :wink:

Hi Mika

I understand that your future plans are pretty much on simucube 2 and your internal development branch. But if the v1.0.30 source code already exist and was published to github once for Simucube 1, it It would be nice to restore it back so I could for example take a look to it if needed.

To my understanding v1.0.30 fixed anyway some pretty big problems that existed in the v1.0.24 version, so if I want to try out some changes to my system, it would be much more benefetical to do them on top of 1.0.30 than to more buggy 1.0.24

Mika

There was no interest in the source code as it didn’t contain the USB interface code.

Why is that? There were no things that couldn’t be developed without it. All the proprietary code was included as pre compiled binaries.

1 Like

As we now (likely) found the wireless wheel paddles stop working -issue and managed to fix it, there is enough incentive to make a round of updates to Simucube 1.

  • Bumpstop fix
  • wireless wheel fix
  • fw update wizard fix (no next-button sometimes).

did I miss any outstanding things? :slight_smile:

2 Likes

Sounds good, cheers Mika :wink:

Hi Beano can you help me with the configuration of a Lenze motor to order from this company the most important things this motor must have because I have to choose a configuration. To be as perfect as Leo Bodnar lv 2 sim stering What I need for this servo is a lenze MCS Power 32.5 NM But it must also have speed so that I can accurately determine the condition of the tyres As far as possible You can help me Thank you very much for your answer Regards Sebastian

We need the exact model number for your Lenze motor to determine the correct settings in the servo drive for it.

That would be nice and if you need some help merging those changes on top of the simucube opensource firmware I could help. I have working CubeMX --> Generate SW4STM-Eclipse env setted so I should be able to build the project with open source tools.

At the moment I have 1.24 version of https://github.com/SimuCUBE/SimuCUBE-OpenSource-Firmware.git