My build thread - Front wheel, 180mm, Nunchuck, Glasfibre

2wayspeaker

10 mW
Joined
May 24, 2015
Messages
31
Hello everyone and welcome to my build thread.

My build goal: A light short Eboard that's ideal for public transport, carrying and when the batteries die can double as a regular one.

My components and purchasing price.
  • 1 X Logic 3 wireless nunchuck - €10,00
    1 X Arduino Pro Mini Atmega 328P - €3,47
    1 X USB to TLL - €1,90
    1 X Black Mantis 120A boat esc - €45,01
    1 X N6364/09-KV230 outrunner - €24,87
    1 X G.T.Power A6-10 200W balance Charger - €26,67
    1 X Adjustable DC12A Step Down - €6,88
    1 X ACER power jack - €1,52
    2 X Koyak 6S 2600mAh - €50,00
    1 X 70mm 78A longboard wheels - €20,69
    2 X 180mm Trucks - €22,41
    8 X 8mm ABEC7 bearings - €5,40
    1 X Set of plugs and connectors - €22,60
    Various shipping total €33,61
TOTAL: €287,60
To this costs for prototyping the board still have to be added.

Pictures of my components
LHlztlu.jpg

kwT35vD.jpg

zXGPeiW.jpg

BCIBg83.jpg

7pGB3SW.jpg

amje8kP.jpg

7E05Lj6.jpg


CAD drawings of components
This was drawn in a combination of Siemens NX 9, Autodesk Inventor Pro 2013 and Keyshot 5
XDqk2Zh.jpg

p0FpL3g.jpg

11sBMxj.jpg

HOyOFeM.jpg

20VJGZU.jpg


Arduino Code
x4eQNqM.jpg

The code is very different from the Manta one. This code, according to me :D , works much more intuitively.
Download my code here. http://www.mediafire.com/download/lcao6c1wl0m94ux/2wayspeaker_Eboard_Arduino_Code.rar
Code:
// Arduino Nunchuck Eboard drive code V0.01
// 2wayspeaker
// Open source, do as you wish for non-commercial use.

// Libraries: Unknown if I use all of them, but it doesn't hurt to just include them.
#include <Wire.h>
#include <WiiChuck.h> // Library for Wii Nunchuck
#include <Wii.h>
#include <ArduinoNunchuk.h>
#include <Servo.h> // Library for controlin Servo or ESC

//----------------Declaration of variables--------------------------
WiiChuck chuck = WiiChuck ();
Servo ESCblackmantis; // sets the name of your connected esc

// FILL THIS IN
int Range_Low = 700; //PWM for your neutral/low position. pulses/microsecond. low range for most ESC is 700.
int Range_High = 2000; //PWM signal bound to your max position. pulses/microsecond. low range for most ESC is 2000.
int Joystick_neutral = -4; //Set this to the readout of your joystick in neutral/low position
int Joystick_max = 123; //Set this to the readout of your joystick in max position
int DataPin = 3; //Set your PWM data output pin
int Increment = 10; //Set how much you add/subtract from your speed during each loop of the program.

// Don't touch from here
int Speed = Range_Low; //Speed is tha PWM written to the ESC. Setup sets your speed to 700 so the motor doesnt move.
int Speed_Wished = Range_Low;
int JoystickY = Joystick_neutral;
int AccelerationDelay = 200; //Delay of program loops in microseconds
int Gap = 0;
int Range_Gap = Range_High - Range_Low;

//----------Setup runs once every reset or when prompted--------------------
void setup () {
  Serial.begin(115200); //Sets serial monitor readout speed. 
  //comment all SERIAL write outs once the program runs as wanted, this improves the performance of your arduino.
  chuck.begin();
  chuck.update();
  ESCblackmantis.attach(DataPin); 
}

//---------------Loop runs continuously--------------
void loop(){
  delay(5);
  chuck.update();
  JoystickY = chuck.readJoyY();
  
  if (chuck.buttonZ) { //INPUT Z button overrides the main loop and holds the current speed, disregarding all other buttons
    Serial.print (" Z ");
    AccelerationDelay = 200; //Checks 5 times per second if the Z button has been released
  }
  else{
    if (JoystickY < Joystick_neutral) { //INPUT Down. Sets the engine speed to 0 immediatly. Hard brake.
     Speed = Range_Low;
     Speed_Wished = Range_Low;
     AccelerationDelay = 200;
    }
    else{
      Speed_Wished = map(JoystickY, Joystick_neutral, Joystick_max, Range_Low, Range_High);
      if (Speed_Wished > Speed) { //INPUT Up. You will accelerate.
        Speed = Speed + Increment;
        if (chuck.buttonC){ //INPUT C button causes the program to loop faster when accelerating. Boost.
           Serial.print (" C ");
           AccelerationDelay = 5;
        }
        else{
//INPUT Up. Intuitive acceleration.
//If there's a big difference between the current speed and the wanted speed, the program will loop faster and you will accelerate faster.
          Gap = Speed_Wished - Speed; 
          AccelerationDelay = map(Gap, 0, Range_Gap, 200, 5); //maps delay according to gap
        }
      }
      if (Speed_Wished < Speed) {//INPUT Up. A lower position than your speed will cause you to slowly decelerate. Coast or brake.
       Speed = Speed - Increment;
       AccelerationDelay = 200; //Fixed deceleration delay to avoid surprises
      }
      else{
       AccelerationDelay = 200; //Coast
      }
    }
  }
  
  ESCblackmantis.writeMicroseconds(Speed); //Sends new PWM to ESC
  //-------PRINT------
  Serial.print ("Joy = ");
  Serial.print (JoystickY);
  Serial.print (" ");
  Serial.print ("Speed = ");
  Serial.print (Speed);
  Serial.println();
  
  //Loop time delay
  delay(AccelerationDelay);
  
}
Explanation of how my code works.
When the joystick is in neutral the engine is stopped.
Pushing the joystick forwards causes the board to accelerate. If you jerk it forward you accelerate faster than when you gradually push it forwards.
Releasing the joystick will slowly brake.
Holding Z will hold the speed.
Holding C will cause you to accelerate as fast as possible.
Pulling the joystick down stops the engine, this can be used as emergency brake.

[youtube]OHoos6uCq7U[/youtube]

Tranmission Design
For transmission design I used this blog https://howtomakeanelectricskateboard.wordpress.com/2013/05/09/calculating-speed/ and the official pulley manual from my manufacturer.
Belt length options can be found using http://www.bbman.com/catalog/belt-length-calculator.html
O3tTzWX.jpg

onOuXw6.jpg

Make a spreadsheet of the formulas and cycle through pulley/belt combinations until you find one that matches your design specifications.

Ungluing the batteries
I want to turn my battery brick into a flat pack that will sit inside the skateboard.
To do this I need to dissassemble my batter packs into their individual cells.
:!: Lipo batteries are dangerous, they can be used for spot welding :!:
Yadayadayada don't do this when you do not take precautions or are unsure about what you are doing.

Lipo batteries sit in an aluminium wrap. Do not break this wrap. Do not pull or scratch it. When the side of your battery looks not flat the battery is probably dead.
Ref to this video to show you what NOT to do -> https://www.youtube.com/watch?v=SVMuaDnsqiA
Do NOT do it like that.

Between the cells a layer of adhesive is placed. You need to dissolve this adhesive. You should be able to solve the adhesive in acetone or lighter fluid.
Do this in a well vented area. You should not dispose of acetone in the drain of the communal water system as it causes infertility to lifeforms.
Undo the shrinkwrap first.
AV8M9a4.jpg

Get your gear, use a smaller syringe, a card/something very thin you can use to hold a space between the cells while you inject acetone between the cells
o4txIdR.jpg

When you feel that the solvent has been solved you should angle open the cells and clean the walls of both cells.
When the acetone evaporates the adhesive will work once again. Cleaned walls = No more adhesive.
OivMJxI.jpg

XoeOC6Q.jpg


Now you can desolder the cells. I didn't do this yet as I don't have a board to fill the cells with atm.

More updates will be coming to this main post and subsequent posts in the next few days 8)
 
The level of detail you are providing is impressive. .. is this your first ever eboard?.... it seems like you've done it all before?

Also you chose a boat ESC do you think it will be ok? Does it have a decent brake function?
 
onloop said:
The level of detail you are providing is impressive. .. is this your first ever eboard?.... it seems like you've done it all before?

Also you chose a boat ESC do you think it will be ok? Does it have a decent brake function?

This is my first Eboard. I'm a student design engineer. As a part of our methodology getting up to speed with a new subject quick is one of the key ones.

Yeah, I chose a boat esc because it's the cheapest 100A + esc I could find. What I'm currently worried about is the reverse current when I'm still rolling but stopped the engine. A boat's proppeller never drives the motor so there's no reason for a boat esc to have this protection. Which is why I'm considering mounting a one way clutch in my drivetrain.
 
A oneway clutch would be cool. I've never found a good solution to this problem.

Basically need to build a free wheel hub the fits onto a skate wheel.
 
Hmmm, really nice, you should chuck all the components up on the 3D parts depository thread so others can make their board in CAD as well. To what degree/accuracy did you model the stuff to?

As for freewheeling, that could be cool. It would be easy enough to print/machine a hub and pulley that fits onto a cheap dicta freewheel for a push bike or similar. This would add a bit of weight, but would make a lot less resistance when kicking it unpowered. Either a dicta or a one way bearing, depending what sort of power you are making.

Also, nice study choice, I'm an industrial designer! I assume you will make this with all the equipment you have available at your school? Be sure to wander down the workshop with your drawings and run it past the tech guy there. If they are anything like the ones I had then they could save you a bunch of time machining and tuning. One of the old tech guys I worked with is still my go-to guy.
 
This looks great! I hope you go into more detail about your custom battery pack build. I might follow your lead!
 
I think the most ideal free wheel would have to be a specific setup.

The drive wheel pulley would have it's own bearing which would attach to a lathed truck hanger that the bearing fits onto - pretty much how the Boosted setup is and maybe the Yuneec E-Go.

It's either a custom truck with an extended axle and/or a lathed truck with a pulley + bearing attached.

Ideally, I want to offer something like this but it's somewhat difficult unless you plan on offering only one or two truck options. You would have to lathe the ends.

Great photos.. Can't wait to see the final board.
 
onloop said:
A oneway clutch would be cool. I've never found a good solution to this problem.

Basically need to build a free wheel hub the fits onto a skate wheel.

They make directional bearings, I can't remember the "real" name of them though. On my very first build 10 years ago I used them inside my small sprocket. I had the sprocket milled to fit perfectly then had the machine shop press in the bearing. it would spin one way on a shaft, but not the other (so it would drive when driven, then freewheel when motor is stopped). If I recall, it was super cheap... like less than 10 bucks for a single bearing. I just bought it from a local shop that sold stuff like that.
 
I have one-way bearings HF1216 inside the motor pulley on my SkatE-Pods. It's 12mm ID but they also make them for 8mm ID. Check vxb.com or bocabearings.com.

The question is, how are you going to brake? I have mechanical brakes on mine and the cables are a pain to adjust.

SKATEPODS.jpg

Now that I've found out that the Hub motors coast like there's no tomorrow, I do not feel the need to have freewheel clutches. And I still keep the regenerative braking.
 
Pediglide said:
Now that I've found out that the Hub motors coast like there's no tomorrow, I do not feel the need to have freewheel clutches. And I still keep the regenerative braking.

Yes. Hub motors solve a lot of problems.
 
okp said:
I would love to try hub motors; only fear is will it wooble at 40/50kmh speed?

It did at first, I just tightened the kingpin and it went away.
 
Back
Top