Tronbike Meter (TBM) 4.0.0 Test Ride

Tuesday, March 4, 2014

Tronbike 3.0 is Alive and Kicking


The last 2 bolts for the last 2 cables were connected tonight, and now registering 61 volts energy I revved up Tronbike 3.0.

I need to confirm the charging works, then insulate the lugs a bit, and ride it around if I like.
Its been a while, not sure I will like :)

Monday, May 27, 2013

You're Going the Wrong Way

Memorial Day weekend. Bought a chunk of metal to get those batteries re-mounted and installed,
maybe get it ready to wire up to ride next weekend.

But alas, visions of a plywood battery box, and then removing/spreading the motor mounts to
put batteries in side by side, then finally, a realization that 16 inches could get me 3 batteries in
a nice, neat row. Yes, but I need an inch or 2, please. Move the motor back, or at least pivot
it upwards, cut the excess material at the mount.

More bolts come off, the chain master link is disconnected, and the pulley puller is activated. The motor
drops off, the mount is in my hands, oily/grimy. sort of unexpected that this is a "clean EV".

I trace a cardboard mount and place it in the gaping hole where the motor was. The goal is to figure out where and how much of the mount I can cut, first measure/cut in cardboard. The motor controller
is in the way, and likely next to come off. In pieces, this thing could be sold off/removed very quickly
if  I get tired or do not get my act together!

I hope to sneak in 3 batteries, standing upright, on the bottom row, then 2 on a higher row, with space
for the controller or a 6th battery. All lines and metal nice and straight, boxlike, no funky angles or hacks. A simple box.

I'd love to hang the motor out on the left side - it would become exposed/outboard, and it actually would then spin in its proper/designed direction.

Wednesday, January 30, 2013

Rebuilding www.tronbikes.com

I am slowly rebuilding the blog after a disastrous attempt to consolidate my Google properties. Moving a blogger account to a different administrator does nothing for images and youtube videos linked to the original, now destroyed account. I should have backups of each image, but its brutal to find/organize the relationship to the blog posts. Now if I could only get around to rebuilding the actual tronbike...

Wednesday, August 22, 2012

Wednesday, October 19, 2011

Technical Extinction - My Ode to Lego Mindstorms I, torbot.nqc

The kids finally have reached an age where Lego Mindstorms might impress and teach. I took out my well preserved set, found the included 1998 CDROM useless, went to the archive of all things, the Internet.

Or so I thought. I barely found documentation on "NQC" - not quite C, the replacement/enhancement for Mindstorms - dated 2000. A full 90% of the links
were "dead", links to code, ideas, work, everything. The "LugNet" main site had some ancient forum Q&A, but nothing on the simple code to make my Lego "torbot" run. Even Lego corp itself had no links on the Original Mindstorm, something I assumed to be an iconic product that could never go away.

Anyway, I will hereby post code to run "The Torbot" and hope it may survive for others to use, copy, and learn from. I included a sniffing routing to use the IR eyeball/give the bot some motivation.

// torbot.nqc - run that lego mindstorm 1 torbot please
//
// T.Stiers 20111019
//
// copyright tronbikes.com 2011
//
sub forward() {
   OnRev(OUT_C);
   OnFwd(OUT_A);
}

sub backward() {
   OnFwd(OUT_C);
   OnRev(OUT_A);
}

sub right() {
   OnFwd(OUT_A);
}

sub left() {
   OnRev(OUT_C);
}

sub backright() {
   OnFwd(OUT_C);
}

sub backleft() {
   OnRev(OUT_A);
}



sub whoa() {
   Off(OUT_A+OUT_C);
}
task sniff() {
   PlaySound(1); Wait(100);
   while( true ) {
        if ( SENSOR_2 < 700 ) {
                forward(); Wait(25); 
                whoa(); Wait(25);
        }
        if ( SENSOR_2 < 700) {
                right(); Wait(25);
                whoa(); Wait(25);
        }
        if ( SENSOR_2 < 700 ) {
                forward(); Wait(25);
                whoa(); Wait(25);
        }
        if ( SENSOR_2 < 700) {
                left(); Wait(25);
                whoa(); Wait(25);
        }
   }
}



task main()
{
  SelectDisplay(DISPLAY_SENSOR_2);
  SetSensor(SENSOR_1,SENSOR_TOUCH);
  SetSensor(SENSOR_3,SENSOR_TOUCH);
  start sniff;
  while (true)
  {

    if ( SENSOR_1 == 1 || SENSOR_3 == 1 ) {
        stop sniff;
        PlaySound(4);Wait(5);
        // backward(); Wait(25); whoa();
        if ( SENSOR_1 == 1 ) {
                backleft(); Wait(150); whoa();
        }
        if ( SENSOR_3 == 1 ) {
                backright(); Wait(150); whoa();
        }
        if ( SENSOR_1 == 1 && SENSOR_3 == 1 ) {
                backward(); Wait(50); whoa();
        }

        if (SENSOR_1 == 0 || SENSOR_3 == 0 ) {
                start sniff;
        }
    }

  }
}

Monday, October 17, 2011

4.2.w Dashboard

Been a long time since the last update. The bike maybe gets ridden once a week on a very short commute, thankfully short as the battery only support maybe 5 or 6 miles before major power dropoff occurs.

Getting the parts together to make an update to the dash software alone was a challenge, followed by dismantling the dash and trying to recall what was wires to what and why. My standards for packaging and wiring have improved, as has my soldiering, so everywhere I look I know I can do better. Not a great combo for someone as anal as me :)

I got the servo speedo running, already I want power or amps instead. The configuration menu works to reset, but seems to have a final option I don't understand, and needs cleaning. This will allow me to calibrate the speedo/odo
better. I need a long 6 conductor ribbon cable to make the code updates easier - a whole XBee might really take it up a notch.