Monday, December 26, 2016

Version 2 - fix the issues

After the event it was found that I made some critical errors on my build that caused me to lose use of the head mechanism and my power issues with continuously shorting the USB shields etc.

Issues found and next steps

The Back plate that holds the 2 large BB+ servos that move the control arm (gimbal) that moves around the magnets, broke off the banana due to me not properly weld gluing them together or bolting.  the screws snapped right now.

The Electronics were either not grounded correctly or too much going on and static caused issues on a lot of things.

Room to fix things.... because I perm connected the sides on, I only have small holes the size of the panels to put my hands into to get to anything... this does not work.







Thursday, December 15, 2016

Premier Night at IMAX - Destiny USA

Brought the droids to the mall in a snow storm...
Got them up the IMAX theater and there was already a crowd forming....



Overall the event went well... some key things:
  1. BB8 is too quiet compared to R2... you cannot hear him over a full room of people
  2. The Bluetooth didn't engage - working on that Friday
  3. The main Servo plate that attaches to the head controller arm broke off... so head movement may be very limited.

Both got good camera time... from the crowd







Sunday, December 11, 2016

Cleaning up the skins - Body panel work

After struggling with the bondo issues... come to find out it was the wrong type of bondo (glazing) where it was used for shallow holes etc.  So went out and purchased the correct Bondo (multi-purpose) with hardner.

So today was major work to bondo the surface where there were huge gaps... etc


Here is the summarized work performed on the main body of BB8 over the weekend

Looks rough, very rough... tried and tried... but alas I didn't have the right bondo

Here are some various shots of the bad areas of the body...

Here are the gaps... there is major issues here.

This is another tough environment

This looks pathetic :)


So here we go... applying the bondo, I learned that you are to apply it in small layers, why?
because you will work that hard to remove it... its like sanding rock

Here is where I am applying it over the gaps and pushing it evenly

Another view of the bondo.... lots of sanding ahead

After showing this to the team at Brownlie Design.. I was told I am putting too much on, I will need 40 or 60 grit to sand this thing down.

Here is another view of the bondo

while I was painting, I began applying the primer to the skirt assembly and top of the head

Began sanding the bondo using a orbital sander using 60 grit then going over the 60 grit with 220 grit.

Here is a view showing this as successful.

Applied another layer of bondo

and another...

After applying the 60 grit... looks awesome

Another view after running over it with 220

This is working well...

Its looking very nice... very smooth.


This is going to need lots of bondo...

So here we go with more bondo

Focused on the circle outlines.  Making sure to smooth it out as much as possible.

Another view...

Here I am.. I think my hair was white after hours of this nonsense.

After getting all areas sanded with the 220 grit... applied first layer of white

applied the white to the top and skirt as well.

Used a heat gun and set the dehumidifier to 35.. yeah sucking the fluids right out of everything :)

another layer and we are done...

And I started to peel the masking off the circles as well to see how much damage we have.  Not bad I guess.. but we will have to tape off the white now and re-spray the orange and dark areas once again.

Putting the dome on the body it looks much better and very familiar...

Hello friend?  BB8 is almost ready... now for electronics in the head and assembly of the magnets from Patrick...

Tuesday, December 6, 2016

Posted latest BB8 Shadow Code to github - Smart Configuration

Latest version offers newer settings that auto calibrate the "at rest" state of BB8 when powering up.



These new settings allow less tweaking to my code when adapting it to your build.
https://github.com/jlvandusen/SHADOWBB8

Code changes below to getPOT and getMPU

void getMPU()
{
  if (isMPUENABLED)
  {
    float timeStep = 0.01;
    if (!isMPUCheck)
    {
        Vector norm = mpu.readNormalizeGyro();    // Read normalized values
        pitch = pitch + norm.YAxis * timeStep;    // Calculate Pitch
        roll = roll + norm.XAxis * timeStep;      // Calculate Roll
        startpitch = pitch + norm.YAxis * timeStep;    // Store Initial pitch
        startroll = roll + norm.XAxis * timeStep;      // Store Initial roll
        #ifdef SHADOW_DEBUG_MPU
          output += "\tPitch: ";
          output += pitch;
          output += "\tStartPitch: ";
          output += startpitch;
          output += "\tRoll: ";
          output += roll;
          output += "\tStartRoll: ";
          output += startroll;
        #endif
        isMPUCheck = true;
    }
    else
    {
//    if (PS3Nav->PS3Connected || PS3Nav->PS3NavigationConnected)
//    {
      unsigned long currentmpuMillis = millis(); // grab current time
      if ((unsigned long)(currentmpuMillis - previousmpuMillis) >= mpuinterval) // check if "interval" time has passed (1000 milliseconds)
      {
//        float timeStep = 0.01; // commented and move to beginning
        Vector norm = mpu.readNormalizeGyro();    // Read normalized values
       
        pitch = pitch + norm.YAxis * timeStep;    // Calculate Pitch
        roll = roll + norm.XAxis * timeStep;      // Calculate Roll
        yaw = yaw + norm.ZAxis * timeStep;        // Calculate yaw
       
        // Output raw
        #ifdef SHADOW_DEBUG_MPU
          output += "\tPitch: ";
          output += pitch;
          output += "\tStartPitch: ";
          output += startpitch;
          output += "\tRoll: ";
          output += roll;
          output += "\tStartRoll: ";
          output += startroll;
        #endif
        previousmpuMillis = ((timeStep*1000) - (millis() - timer));    // Wait to full timeStep period
      }
//    }
//    else return;
    }
  }
}

// =======================================================================================
//                          getPOT test data verify its working
// =======================================================================================

void getPOT()
{
  if (!isPotCheck)
  {
    startpot = analogRead(A0);   // read initial trousers pot and set as center point
    if (startpot > 512)
    {
      potdeviation = startpot - 512;
    }
    else potdeviation = 512 - startpot;
    #ifdef SHADOW_DEBUG_POT
      output += "\tstartpot: ";
      output += startpot;
      output += "\tpotdeviation: ";
      output += potdeviation;
    #endif
    isPotCheck = true;
  }
  else
  {
//    if (PS3Nav->PS3Connected || PS3Nav->PS3NavigationConnected)
//    {
      pot = analogRead(A0);   // read trousers pot
      if (startpot > 512)
      {
        pot = pot-potdeviation;
      }
      else
      {
        pot = pot+potdeviation;
      }
      #ifdef SHADOW_DEBUG_POT
        output += "\tPOT: ";
        output += pot;
        output += "\tpotdeviation: ";
        output += potdeviation;
      #endif
//    }
//    else return;
  }
}


https://github.com/jlvandusen/SHADOWBB8


Sunday, December 4, 2016

Prepping the body for paint (yes while the panels are on it)

Ok so since I had the assembly connected, glued etc... I started to wipe down and tape off the body circle panels to be ready for primer and white painting.

Nice, clean and ready... I think... the question is, is it round enough?  I don't think so.

Took some painters tape and began taping around the circle edges while using paper to shield off the inside of the circle.

Another shot of this work...

Here I am taping slowly around the circle edges... I will have to paint those circles after we complete this or leave it for weathering effect, shall see.

Saturday, December 3, 2016

Started a new Dome print!

I ended up messing around with the firmware for the MPCNC... I know I need to correct the "ringing" that is occurring due to vibrations hardware wise... but until then I slowed it down a bit.

I reduced the jerk from 4 to 2
I reduced the acceleration on x/y from 400 to 200

Viola!  Better print... howbeit 30+ hours each.

If you look close... ok ok.. yes its blue... wont matter since I have to paint it anyways so hush!
The lines are greatly reduced and ringing is almost not existent...

Another shot of it... I think I will use this once its done.. we are on hour 28 and counting... of the print.