Weight sensing longboard build

You could very easily correlate weight sensing with acceleration statistics - for a given amount of power measure how quickly the board accelerates. If you add an accelerometer and a tilt-pitch-roll sensor you would also know the attitude of the board as well as acceleration load on all axes.

Then filtering out bumps, rocks and carving loads would be pretty easy.

Wear a helmet when you are testing that board.

Seems like a cool project! I’m curious to see how your pressure activated control system works. Wouldn’t you have to de-weight the front to slow down though? That sounds a little sketchy to be honest. You want to keep your weight over the front truck to maintain stability at higher speeds. Switching your weight distribution could initiate speed wobbles and/or loss of stability

(Speaking as a 10+ year downhill rider and also a mechanical engineer)

1 Like

Yes, my idea was to build in something like a “launch control” mode, just not for drag racing purposes: When the board accelerates too fast, your weight will shift back alot and the weight on the front trucks will decrease. So we take a setpoint for front weight: if its too low (we are falling off), reduce the acceleration. If its too high (we can go faster), increase the acceleration. This could be done by an empirically tuned PID / writing down the differential equations in laplace domain (white box) / doing system identification (black box). There’s alot that comes into play we are probably forgetting :smiley:

Yes, we kind of wanted it to work like a segway, we will have to find out if it works on higher speeds as well. I was kinda thinking to use it as a more “inuitive” way to control the board at cruising speed. Since we will be driving the wheels separately, we were hoping to be able to also implement some sort of active speed wobble reduction controller. It’s kind of early in the project to give you answers to these questions, i guess we will just have to find out :wink:

Hey guys, is this at GroupT in Leuven?

No, it is at campus Arenberg (which is like 5min of cycling from GroupT) , are you from Belgium :smiley: ?

I’m a student at groupT :slight_smile: I’m in my second year and i’m currently building an electric skateboard. Just have to wait for a few more parts and I can finally start :slight_smile:

Ok, nice! Make sure to make a build thread. You can usually find us in the “FabLab” on our campus, where they have cnc laser cutters and 3D printers and other machinery, you only have to pay for the materials as a student of KU Leuven! I don’t know if you’ve been there before ?

Ooh yes, i’ve never been in FabLab myself but we have used it in previous projects. Is it also possible to cnc carve the motor mount? I’ve called to FabLab before but they said they didn’t work with metals… Normally colleagues of my dad would do it at school but they are already four weeks late :s

This has been successfully implemented before. Have a read through; https://endless-sphere.com/forums/viewtopic.php?f=35&t=49557

1 Like

They only do plastics and wood there, which is great for prototyping. There is also a CNC lathe and mill, but they kind of have problems getting it to run (they were working on it 2 weeks ago). I will ask them about it next time i’m there. Doen’t groepT have their own cnc machinery ?

Sounds like a fun project! What will you be using to compute everything? I saw you were using arduino’s software is there going to be an arduino on board? Or a vesc? Or some other micro controller?

Yes, we will be using an arduino pro mini. For prototyping we are just using an uno and a breadboard, since they both use the ATMega328, we wont have to change any pins or functions in our code. We will be using vesc’s as ESC, but we decided not to program to the STM32 directly, although they have plenty computing power left. Arduino is quicker, easier, cheaper (1$ from Ebay) and has way more online documentation and libraries. It is less powerful however, but it will be plenty for what we want to accomplish.

The only problem I see is that your rider is going to naturally react when those events occur which will change your sensor readings but more importantly, might cause your algorithm’s to actually make a bad situation worse. I would be mighty unhappy if my board reacted in an unpredictable way in a tense situation.

Still, from a research standpoint there’s a lot to be learned here. I would be interested to see intelligence that could make these boards safer. For instance (you might have already mentioned this) active high-speed wobble suppression, some sort of system that optimizes braking for conditions, etc.

Sensors could work on the trucks, but they would add an extra component to an eboard that is relatively consistent to a rider (same rider would likely maintain weight over boards lifetime). A different route you could take is to customize the riders experience. Boosted and Evolve boards allow you to change between settings but don’t let you focus on specific tunes. You could make a motor control component that allows the rider to tune how fast they get to certain speeds and allow input of weight calibrations there. Another cool tune you could try would have trucks that automatically adjust to the speed of a rider. Tightening trucks allows some control of speed-wobble, but the faster you want to go, the tighter the trucks need to be and the less carving you can do. Trucks that adjusted to speed would be unprecedented. Sounds like a fun project

We will probably make an android app that allows the user full control over all calibration and control settings. So you could generate your own custom profiles. And i will think about the tightening trucks for speed wobble suppression, which is completely different to the software approach we had in mind ! I like the idea.

Love your project! can I use this sensor to do the same thing?

1 Like

Yes, you can use those strain gauges. Just connect 4 of them for full bridge or 2 for half bridge wheatstonebridge. Then use an amplifier circuit to amplify the signal, after which you can sample it using an ADC. The strain gauges you linked can stretch 2%, so depending on material (young’s modulus) and geometry, you have to choose different strain gauges

1 Like

first simple test today:

2 Likes

Very cool project! It is great that this is being built in a research/university environment. I hope that what ever you discover will trickle down to commercial use one day.

I’m curious as to what kind of sensors you plan to be using for wobble detection.

We have played around with speed wobble suppression and torque vectoring on our board. We use a 6 D.O.F. IMU to sense roll angle oscillations, and apply brakes to each wheel accordingly. I’d like to share some of our insights with you, so hopefully you can come up with a better solution.

  • The torque we were able to apply with our hub motors was not enough to totally suppress a speed wobble. It definitely did help however! If you want to model the system, I would think of it as an under damped oscillator being driven at natural frequency, with the brakes providing the damping. So while the amplitude of oscillations did increase, they did so at a slower rate. A rider would still have to consciously stop the wobble (the rider is the thing driving the system at natural frequency), but since the wobbles build slower, it is easier to do. Also as a side effect of applying brakes to correct the wobbles is the board slows down which makes the whole situation a little less overwhelming for the rider.
  • It can be hard to characterize, identify, and react to a speed wobble. Something like traction control for a car is easier to identify… if the wheel speed is faster than the vehicle speed, you know you have wheel slip. For speed wobbles, there is no instantaneous identifier for the event, It takes time for a wobble to build. Imagine looking at a plot of roll angle vs time. How would you identify a speed wobble? You can qualitatively measure it easily… ‘a series of oscillations occurring at a certain frequency with increasing amplitude’ But how do you quantitatively measure it? What frequency is the wobble? (it will change with rider’s mass and speed) How fast does the amplitude need to increase to consider it a wobble? How many oscillations must there be to consider this a wobble? Once you can answer those you’ll need to come up with a detection algorithm to implement it real time. I imagine you would use fast fourier transform so you can analyze the signal in frequency domain, but it could be computationally expensive and require a lot of samples to get good bin resolution…The characterization and detection algorithm is the biggest issue we are trying to deal with right now. As a result the wobble correction kicks in too soon and slows you down when you are aggressively carving. It takes a lot of fun out of the ride…

I hope I didn’t bore you with the long explanation. I really hope you can come up with a better solution than us. Keep us updated with the project!

1 Like