Showing posts with label EV. Show all posts
Showing posts with label EV. Show all posts

Wednesday, December 17, 2014

SLEEPLESS (IN SEATTLE) LAYOUT AND DESIGN REVELATIONS

With finals over, but a few days still left in semester, I took the opportunity to finish laying out what was aptly named the Nevcon Gen1.


I tried to condense the board into as small a space as possible, which meant I couldn't fit the optos and related necessities onto the board - at the very least I shaved ~$10 off the BOM, And with the relative abundance and swapability of arduino nanos, it's a feature that may be toyed with if a micro is ever soldered straight onto the board. Did I mention that the board is 3"x 2.8"? :3

Further, in cheaping out in the switching converter department, a rather unfortunate consequence was the requirement of a huge inductor. Not a huge deal considering passives come pretty cheap, but is pretty ridiculous when its footprint approaches that of your FETs.  



Speaking of FETs, they were moved to the bottom of the board for increased heatsink mounting capabilities. The arrangement appears promising, but seeing how cooling such a power dense object might be a problem, I'm quite inclined to ditch the fancy surface mount switches for some good-ol' TO-220s. 

To be continued...

Tuesday, December 2, 2014

Motor Controllerino, pls

After spending the better part of Thanksgiving break suffering from severe phase lead (diurnal living is overrated too hard), I thought it'd be wise to use the time on yet another project: a BLDC motor controller. Given that I wouldn't have the funds to complete the godly hysterically controlled buck converter until at least the end of summer, something on the smaller side could provide the amusement one needs when suffering from end of semester burn-out.

And so, the list of requirements was born.
  • 2kW continuous operation
    • This means at least 60A given a 10S pack. 
  • derpy voltage and less-derpy current control schemeability
    • From looking at homebrew controllers, open loop voltage control with block commutation seems to be the most common, but at some point current control would be nice (something, something, torque). Note that I'm avoiding fancier control schemes (sine drive, FOC), mainly because the algorithms involved typical take up more time on your cheap hobbyist microcontroller, thus limiting the commutation frequency.   
  • sensored commutation
    • Allows for starts from a stand still (extra important in vehicles such as pocket bikes and go-karts). 
  • low-cost
  • serviceability
    • I say this mainly because after having made so many boards with parts on top of parts and impossibly close clearances, it might be time to make my life a little easier when debugging. Maybe. 
Being ever so inclined to start by making a board, I went on the hunt for components. I ended up settling on many of the same components that the later iterations of melontroller used: D2PAK FETs, the same current sensor, and the same arduino; I was attracted to the power density of the D2PAK package (how heatsinkable they are is another question) and the modularity of the arduino nano, however the only current sensor I'm using will be on the DC-link. This is to avoid cost and to employ phase current estimation via techniques discussed here and here as opposed to having a hall effect sensor on each phase.

As for the drive electronics, I settled on these bootstrap ICs (LM5104) after being a little sick of discrete gate drive, which inevitably leads to a board space nightmare. Floating drive rails were out of the question considering I'd be driving FETs with under 4000pF of gate capacitance. Everything seems so cute after having to drive bricks.

Other considerations would be opto-isolating the gate drive from the arduiner - a habit I intend to continue after having seen too many micros and 74 series chips die to failures in the power side propagating to innocent logic. Note, optos with built in logic output may seem convenient, but often have propagation delays up into the tens of microseconds - not good when those microseconds constitute a nontrivial quantity of clock cycles and degrees of rotation. I'll probably end up using some variant of this (6N137).


Time for some board layout...


Saturday, July 5, 2014

A Midsummer Night's Blog Post

WHERE DID ALL THE TIME GO!?

No matter. 

IGBTs! IGBTs! IGBTs!

LOOK AT THESE IGBTs!



Current limited by the package leads, among other things, these are the perfect candidate for some pulsed, hard-switched, power dense goodness.

And so the journey to building a QCW bus modulator begins.

In essence, the modulator portion of your QCW coil is just a buck converter capable of producing arbitrary waveforms across the bus of your DRSSTC.

The tried and true control scheme for these guys is hysteresis (bang-bang) control, which involves turning on the high side of your buck converter when the sense voltage falls below your hysteresis band and turning the high side on when your sense falls below the hysteresis band.

In lieu of a microcontroller, I opted to make my control loop out of op-amps for noise immunity and beardy-weirdy cred.


Troller Schematic. Forgive me, for I have text overlap up the wazoo. 
The first two op amps are set up as an adder and differentiator, which produce the hysteresis band given the input waveform. These signals are then passed to the latter two, which acts as a window comparator.

The outputs of the comparators are then fed to an SR latch so that the hysteresis thing happens.


Squiggles of Science
The control loop can then be tuned using the width of your hysteresis band or some fancier processing downstream.

Eagle'd:



Special notes: the input signal is actually taken from an opto, which is filtered by an LC to reproduce the desired waveform. It's like L-C filterception. Additionally, this allows me to send square wave pulses optically, instead of an analog signal through a long length of coax, which is bound to cause massive damage pick up noise.

Here it is in board form:


Note: not fully routed not the actual board
After doing some math and running the simulation for the bus at full load in spice, I concluded that I simply couldn't find bus caps large enough and in the desired package, so, the some revisions were made to the design.

The boards are now split up into three sections: a DC-chopper motherboard, controller daughterboard, and DRSSTC with filter LC.


Can't have too much bus cap (a work in progress)
By moving the filter LC to the DRSSTC bridge, I could then populate the DC-Chopper with as much bus cap as my heart desired (and keep the ripple voltage below 5%).

The addition of the driver daughterboard would allow me to send out for plenty of driver revisions without having to spend a fortune on the whole 5.5" x 5.5" board. Oh, and did I mention how small everything is? :3

Current limiting is implemented on the driver side as desaturation detection: in an over-current state, the voltage drop across the switches increases to well above the typical ~2.0V, which is detected by the drivers, which do some fancy soft-turn off to prevent voltage spikes induced by the typically high dI/dt. The gate drivers also conveniently have built-in opto-isolated inputs.

IN OTHER NEWS:

Bluescooter got an overhaul to make it more of a reliable commuter vehicle than junkyard scrapper on the verge of collapse.

After eating through a current modded controller, a few things were changed:

1) Motor upgrade!


Sweet Bajeesus
After trolling around the internet for a sufficiently large motor, I had at some point chosen this guy:

http://www.hobbyking.com/hobbyking/store/__18179__Turnigy_Aerodrive_SK3_6354_215kv_Brushless_Outrunner_Motor.html

An especially squat, low kv motor, perfect for squeezing into the tiny 4" u-channel frame. 


But everything changed when the fire nation attacked the motor went on backorder.

I was forced to look beyond Ye' Old Hobbyking, and found a cheaper, dare I say, better option:

http://www.sdshobby.com/emp-n-series-outrunner-brushless-motor-n6354200kv-p-2486.html

Even with expedited shipping, the SDSHobby motor lends itself to be a good $20 cheaper than the Hobbyking equivalent, the only downside from ordering from SDSHobby being their rather small selection of EV-sized motors.

2) The controller with the infinite heatsink


After eating through a controller, and being too lazy to replace the dead FETs, I opted to avoid yet another headache by heatsinking the controller to the chassis.




Some fresh thermal grease, three holes, and some cap screws later, a happier 'troller was born.
Even on especially hot days, I've yet to find the area around the FETs go more than 5°C above ambient. 


3) It has a new caddy. 



Structural Hot Glue


Made entirely out of mystery plastic polypropylene and a bit of polycarb from MITERS. The key switch was also moved to the outer face of the port panel to accommodate for the larger motor. 


Fin.

Saturday, March 8, 2014

Scooter Recap


After having a working scooter for nearly a week, I can conclude that, while definitely delayed, there was gratification.

Further, it's worth noting that after thoroughly testing said vehicle, I can accurately report some of its idiosyncrasies.

1) RPM limit

Using the sensorless jasontroller (350W yiyun yk85s) definitely has its benefits: it costs next to nothing, is very small, and is extremely easy to set up. However, as I discovered only after several motor cutouts, its commutation frequency is limited to 550Hz (electrical). Check out Charles' blog post for details. And while scooters with larger, lower kV motors may graze this limit, my spunky 280kv motor is well above it, eliciting many a drivetrain failure early on in its derpy little life. (Sounds like a job for custom motor controller  Hobbyking airplane ESC man!)

2) Controller modding is almost definitely required

350W out of the controller is boring. Heck, 500W was too. In fact, to get the acceleration to something usable on a day-to-day basis required that I decrease the shunt resistance with solder globs. Controller output currently sits at ~800W.

It's as easy as popping
open the controller...
Finding the shunt resistor
(in this case, a piece of wire)
And globbing on some solder. 

Note: for a slightly more legitimate solution, you can cut the piece of wire and solder in an SMD resistor on the traces on the bottom of the board.

3) Hot motor is hot

Among the many valuable skills an EV builder must have, being able to translate sketchy Hobbyking ratings to IRL ratings is necessary. As it stands, the current motor is rated for 1.5kW*. It's important to remember that this motor is meant for R/C plane duty, which has a significantly lower inertial load as compared to that of a vehicle. Further, the typical outrunner is exposed to much greater airflow when not mounted to the inside of a piece of u-channel.

*kiloWalruses

Le Result:

In the end, with a 10S2P pack, I ended up getting 4 miles of range (the distance between my dorm and MITERS) with an average speed of 14 mph.

After-trip charge revealed an effective capacity of 3.1Ah

These are quite reasonable numbers considering the route there was very hilly, and that my downhill speed was artificially limited by the commutation frequency and my rolling resistance (no throttle going downhill).

The average grade was found to be 0.2%, so my mileage wasn't too far off from what I'd get on a reasonably flat route.

If I were to stay with the same motor, I'd probably go for a lower voltage pack at a higher capacity (I can only utilize so many rpm), choose a lower gear ratio (currently 11:55), or just go for a lower kv motor.

It also turns out that it take less time to get to MITERS on the scooter than it does to train.

Yay!

And on that note, happy scootering!

Monday, December 16, 2013

One Bit ADC and a (Not) Wheelbarrow Shaped Object

With the semester winding down, and final project(s) nearing completion, the coil was revamped and the project part of my final project was made.

Mmm remounted IGBTs
The goal was to have a working analog interrupter which would take an analog signal, such as the one coming out of an mp3 player, and then be able to play it through a Tesla coil.

The block diagram is the following:

Signal -> Amplification -> Triggering -> Poopy sparks

This led me to use an LM358 and 555 timer due to their availability. A 74HC14 was added to buffer the output of the 555 to preserve waveform integrity.

Both channels of the audio signal are sent through an inverting adder and then to a monostable 555. The trigger voltage is set using R5 and the gain of the opamp can be adjusted using R3. The output of the 555 is then buffered by the inverter and sent to the opto-out. The interrupter is optically coupled to the coil to avoid the potential ground loop. Unused inputs are grounded and decoupling caps are added appropriately. 


At this point, I was running out of time, so I quickly breadboarded the circuit which also made the system incredibly noise prone. Oops :P

Input and Output Waveforms Lookin' Legit.
Lulz.



It even did the interrupting thing!

Further testing involved hooking up a dinky little speaker to the output to test if audio came out intelligibly. 
The results:



It's important to note that because this is, for all intents and purposes, a one-bit ADC, the audio will be pretty terrible.

Nevertheless, it seemed to work on the revamped coil.

Modifications: new secondary, primary,heatsinking, and rectifier diodes.


One concern was that the bridge was blowing prematurely due to the rectifier diodes failing - perfectly valid given that they were rated for only 4A (MUR460). They were then replaced with complete overkill: some minibrick diodes Bayley bought a while ago.

Rate for 96A at 600V. Yummy. 
The assumption was that the diodes were failing short due to transients, sending X amps of 60Hz AC to V+ and V- of the inverter. Eww. Another useful feature of these diodes is that when your bridge blows, the diodes won't.

Power testing also revealed that the new bridge is now capable of doing up to 75% duty cycle.

Heatsinking was improved by bottom mounting the IGBTs and increasing thermal mass substantially.

A squashier primary was wound using the old chassis as a coil winding jig. A power drill was used to speed up the unbearable process of winding 1330 turns of 36 gauge wire.

Only took five tries...

The final secondary dimensions came out to 7" long, 3.5" OD compared to the old 10", 2.4"OD. The resonant frequency also sank from 300kHz to ~150kHz making it suitable for brick coil use. (Whether it'll stay a coil is another question).
Finished!
Unfortunately, the demo involved swapping out the secondary for a smaller one to reduce coupling - in this configuration, the coil had a tendency to be quite hot and burn-y.

For more details on the driver, you can view the project proposal here (Dropbox link).

Other news:

IT FINALLY HAS ANOTHER WHEEL

After relentlessly avoiding HSMXpress, I finally got around to generating the G-code to mill out the fork of my electric scooter on the MITERS CNC mill. 

And while HSMXpress seems to be incapable of informing the user why it failed to generate a toolpath, it can do this:



Totally worth it. So, sit back, relax, and listen to the elevator music courtesy of youtube's audio edit function.

And IRL:




Front assembly sans mounting screws, rear plate and brake. 
I opted to use a caliper brake as it requires a single mounting point on the fork and a shorter pull in terms of brake lever travel.

No longer a sad wheelbarrow!



Tuesday, September 24, 2013

Slightly less imaginary scooter



Riding my gallant steed




U-channel: check.
Motor: check.
Wheels: check.
Aluminum plate: check.

Thanks to the magic of oxyclean caffeine, most of bluescooter (yes, it has a name now), was done in the lead up to Maker Faire New York. Sadly, it wasn't completed in time for the faire due to a lack of functional waterjets, but the progress so far deserves a post of its own.

Among the first tasks completed was the fitting of the motor hardware. Since I was using a motor with a 6mm OD shaft and had an 8mm ID sprocket, I bought a bronze bushing to fill the gap.

But, as with the best laid plans of mice and men, it required some love on the lathe.

Something's telling me that I should've used a smaller chuck.
The motor shaft was then milled to accommodate the set screws, and the sprocket was slipped over the bushing to drill the hole that would let the set screw hit the mating surface of the motor. 

It turned out something like this:
Not too shabby...
Following no specific order thus far, I thought it'd be a good idea to get some work done on the chassis.
Then I realized I had to mill diagonals. Kids, don't mill diagonals. 

The process involved clamping a reference-specifically a nicely water-jetted octagon someone had left in the stock pile- against the bed of the mill and then resting the u-channel against it. The u-channel was then held in place with the magic of step clamps. 

yummy

Le result.
A few hours later, I ended up with a nearly done chassis. The only parts missing were the mounting holes for the motor, rear, caddy and fork.

Those horizontal dropouts <3
Motor mounting involved machining a set of standoffs, which were then drilled and tapped. The outer surface of the chassis was also countersunk for that extra hardcore effect.


Note: I had to mill off the top and bottom of the motor mount, leaving the motor secured by only two points. I have no idea how well this will fare in vehicular duty. There's still room for an extra standoff running from the opposite wall of the chassis, however, if need be.

In lieu of time, the aluminum rear caddy was ditched for some blue acrylic lying around at miters.













Notice the sad tip of one of the panels: this is in no way a permanent solution.

I finished up mounting all the holes and ended up with the shiny version of melonscooter's ass.

Horizontal dropout tensioners were added to prevent the chain from sagging too much and falling off. The fact that there's about 2mm of clearance between the frame and chain make this a vital addition.

Bored with the fact that I hadn't made much obvious progress, I took it upon myself to mount the fork, which made bluescooter look more like a scooter than a sad wheelbarrow.


I ended up using the same mounting hardware that came off of the razor A4 in order to avoid tapping the metric screws and machining a new mounting plate. I might end up having to mill off the sides of the plate that stick into the body cavity for space reasons, but for the meantime, it makes for a simple solution.

There was also the task of mounting the bottom cover, which would eventually play some part in keeping the batteries and motor controller from falling out.

18 holes yet to be countersunk

Anyway, it turned out pretty nice.



Next up:

Battery pack, motor controller, and fork assembly!



Thursday, August 15, 2013

Project Dump

Working from nine to five doesn't seem to be helping my projects.

Part 1: The still imaginary scooter 

After learning how2mill, I set out on machining one of the few components that didn't require the motor or battery (which I have yet to order): the fork!

I should learn how2CAD at some point too.

After rough sketches and some trigy math in the comp book, I sadly discovered that If I were to set the axle in line with the handlebar shaft, I'd end up with a scooter nose-up. Not to worry though, as forward offset fork is here to the rescue! Combined with some derpy angle finagling by cutting away part of the  rubber 'shock absorber,' I'd achieve a scooter that is both aesthetically and structurally sound. Well, aesthetically sound at least. 


The resulting hunk of 1/4" thick aluminum resembled something slightly too angular for my taste, but as the first thing I've ever milled, I think it turned out ok. 

Part 2: Derpy Coil lives!








Also known as "Long Hot," Derpy coil has finally come to life after scraping the secondary base feedback scheme. 

Here's how the troubleshooting adventure went:

1. Coil is completed, run off a variac at low power. Nothing

2. Scoped across primary: looks legit. The primary waveform only goes to shit when it's running off of its own feedback. 



3. Add turns to secondary base feedback CT and hope it doesn't reach saturation. Nothing.

4. Remove high-pass filter. Poopy sparks appear. 


5. Feed the coil a 316kHz offset sine wave. Success! Kind of out of tune 2" long sparks appear.

6. Abort secondary base feedback, go to antenna: nothing.

7. Give up on this driver board and repopulate another one (without secondary base feedback junk attached).

8. ???

9. Success!

Here it is playing Solfegietto by CPE Bach. Spark performance isn't quite impressive as duty cycle was turned down to maintain note clarity. Modified oneTesla interrupter pulse widths were overlapping each other, which you'll notice when the really low notes start playing.

After Bayley reflashed the interrupter for true continuous wave output, several things happened:

Hot Long finally got hot and long.

Then the bridge blew after getting to ~140VDC. 

The number of primary turns then grew to 27.

Then the bridge died again, but at ~200VDC.

Failure is probably due to transients - further testing will resume after TVS is added and primary current is scoped.

UPDATE: 8/18/2013

Long Hot will no longer endure CW abuse and will continue to live life happy at 75% duty cycle, occasionally pushing out the odd midi file. 






Monday, July 22, 2013

√−1 Scooter

As part of my last free this summer, I've taken up the task of building a personal scooter to transport me around campus and to MITERS.

Design parameters:
  • 5-8 mile range
  • cruise speed of 20mph
  • reliability
I used Charles Guan's instructable as a guide in how to succeed not to destroy everything.

Among the most useful "steps" was the motor page as, having no previous EV experience, sizing up a reasonable motor alone would lead to either utter disappointment or too much scooter for any sane person to handle.

To safely fulfill the 20 mph (8.9 m/s) cruising speed, I'd need a motor with the following output wattage:

P = Force(drag)*Distance/Time

Substituting in air's density at STP (1.1839 kg*m^-3), and my drag coefficient at 1 into the drag equation gets me 38.0N, which translates to 338W. It's recommended that this number be less than 15% of the max motor input as ideally, only half of the input wattage goes into mechanical output. 

This would mean I'd need a motor rated for ~2.3kW. 

Hot damn.

With waterjetting out of the question, I ran into the idea of constructing the entire chassis out of u-channel to avoid racking up costs (the actual theoretical budget for the project is around ~$400). 

Going for $47.06, three feet of 4"x2.25" McMaster u-channel seemed to fit the job. 

At this point, several issues arise with trying to build a suitable motor into the frame of this form factor.
  • Outrunners of the correct wattage tend to be either too big for the frame, or run at voltages that would cause battery costs to be too damn high.
  • Having an outrunner too long/large would mean having to machine out the appropriately sized  hole in the other side of the chassis while mounting the motor to the frame. 
  • Batteries are expensive.
  • Ideally, the motor should completely inside the chassis to avoid gunk acquisition that would otherwise limit its lifespan.
This meant downsizing the motor from the previously melon-esque Turnigy SK3 63mm motor to the following: http://www.hobbyking.com/hobbyking/store/__18175__Turnigy_Aerodrive_SK3_5055_280kv_Brushless_Outrunner_Motor.html

Running the system at 36V also means an overall cheaper system and a happier wallet.

This did mean, however, my safe cruising speed would take a fall to 18 mph (hardly slow).

After settling on the motor, I could finally go shopping for the other assortment of parts I'd need to make this scooter scoot. The BOM can be viewed here along with the drag equation conveniently available in table form.

More to come...











DISASSEMBLING MOTORS, TINY BIKES, AND A SHAFT

Hello again! Project directions have shifted quite drastically since last post. While compiling the bill of materials for Tee-mobile, it b...