Thursday, April 3, 2014

Making Timing Pulleys on a 3 Axis Mill

I was hoping to be able to make timing pulleys on my mill with the help of some already available software.  Unfortunately, all of the software that I came across require a 4th axis to mill pulleys.  I did see one YouTube video of someone who managed to do this by vertically drilling all of the holes first, then milling around the part to expose the teeth.  I believe only one part was needed, so he sketched it out in CAD and created the g-code for it.

I wanted to try this method out on my mill, but rather than manually draw out the part, I decided to write a C# application that would do the calculations for me and generate the g-code.  It's coming along, and so far I've milled a handful of pulleys with dimensions that were close but not a perfect fit.  I still need to tweak the calculation for the outer diameter and tooth position slightly so that the belt teeth enter and exit the gaps in the pulley easier.  I should be able to get this worked out in the next few days.

In the meantime, here is what the application looks like so far, and a couple of the test pulleys I milled.


Pulley Creator for a 3 Axis Mill

Sample g-code Output from Application

MDF Milled Test Pulleys for a GT3 Belt

UPDATE 1:

I managed to find the issue with the calculation of the outer diameter in the original algorithm.  The first was in the calculation of the outer pulley diameter.  The circumference of the outer diameter was not passing through the center-point of the tooth pulley hole.  This leads to the belt not being able to rest on top of the pulley teeth and meshing properly.  The difference in this calculation was 3/10ths of a millimeter for this particular pulley.

Comparing Milled Pulley with a Plastic Idler for the Same Belt



Teeth Meshing on the Pulley


Size Comparison with a Dime
 
UPDATE 2:

Added the option of creating a collar for a set screw and optimized the tool path and speeds.



Saturday, March 15, 2014

Sieg X2 CNC Mill Conversion

A few years ago I bought a Sieg X2 from Harbor Freight in the US with the intention of converting it to CNC.  I couldn't pass up buying it for $400 when the equivalent mill sold locally at Princess Auto and Busy Bee Tools for almost double the price.


It sat idle for a couple of years because something always came up that prevented me from working on it.  Finally, at the end of last year I started to piece together a plan of how to complete the conversion.  There are a couple of bolt-on kits that you can purchase, but I figured it would be an interesting project to try and assemble it from scratch.

The first things I purchased were the three ball screws and ball nuts to control the movement.  I ended up buying them on eBay from Asia Engineer, along with couplers and six thrust bearings for $180 CAD.



Next was to disassemble the mill so that I could begin fitting the ballscrews.  I started with the X-axis since I thought it would be the easiest to modify since I could re-use the end plate that houses the thrust bearings.






After a bit of work with a Dremel, I managed to cut down the ballnut enough to clear the channel.  One thing I didn't realize was that there was an exposed grease hole that was now filled with metal filings.  I had no choice but to disassemble and clean it... a complete pain.


I managed to find a good deal on the stepper motors (425oz-in), drivers, and breakout board from eBay for $325 CAD from wantaimotor.  The motors are more than sufficient, and the drivers look very well made with aluminum heat sinks.


Not having the right tools for metal work made this job a bit harder.  All of the motor mounts and aluminum work was done with a hack saw, Dremel tool and a drill press.  If I only had a mill to make the parts, things would be so much easier :)






Next I worked on the Y-axis.  Before starting the fitting, I needed to open up the throat so that I would not lose any travel since the new ballnut was larger than the original leadscrew nut.


 
Both the Y and Z-axis needed to have the thrust bearing housing made along with the motor mount.  With the proper tools, this would be easy to make out of a solid piece of aluminum, but I needed to come up with different approach that would not require any milling.  I ended up making the housing out of three separate pieces of aluminum.



A hole saw in a drill press was used to cut the larger holes on the two outside pieces of aluminum.  Smaller screws held the three pieces together until the main mounting bolts sandwiched the pieces securely.  Duplicating this setup one more time for the Z-axis, and all three ballscrews and motors were mounted.






Some details about the Z axis of the machine.  There is a plate attached to the top of the Z column that extends off to the right side of the machine by about 3 inches, and extends forwards (towards you if you are facing the machine) about 1 1/2 inches. This is where the Z axis stepper motor mount is located. 


Underneath the 1 1/2 inch overhang is another plate that is attached to the top of the Z axis saddle. This is where the ball nut is attached. Its basically the same as the Y axis, except instead of the motor and rod being centered with the saddle, it runs off to the side. 

 


Instead of buying a separate enclosure for the electronics, I ended up mounting the drivers, power supply and breakout board inside the mid-tower case and added an extra fan for cooling.






Today I had a chance to test out the mill by having it draw out the sample file that comes with Linux CNC.  Even though the pen was vibrating quite a bit, and stumbled a few times with direction changes, it does demonstrate the capability of the mill.





Sieg X2 Mini Mill CNC Conversion - First Run

Tuesday, October 2, 2012

Ecotrons ECU Kit - GX200 Conversion


After almost a year, I finally had a chance to fire up my new engine project!













I'll start off by saying how easy it was to convert my GX200 to electronic fuel injection with the Ecotrons EFI kit.  With this engine project, I wanted to use as many off-the-shelf and properly sized parts as possible.  After finding the Ecotrons kit online and doing a bit of research, I decided to buy the kit since it came with all of the parts that I had a hard time making or finding with my first engine project.

There is no specific kit for the GX200, so I ended up getting a GY6 kit (including the throttle body) since I only needed to make a simple adapter to mount it.












The only other part I needed to make was a bracket for the crank position sensor.  It is basically a 3" 'L' bracket that uses the magneto mounting points for positioning and a centered hole for the crank sensor.

I received a lot of requests to assemble a conversion kit after I posted the video of my first engine project, but the parts were all one-offs that would be very difficult and time consuming to duplicate. So, for those of you wanting to convert a GX200 (or other small engine) to EFI, I suggest that you to look at the Ecotrons EFI kit.

           Small Engine EFI conversion Kit

The kit overall is well built. The ECU and CDI are both potted, and all of the electrical connectors have solid locking mechanisms. Although the fuel pressure is fairly low, I would have preferred to have a barb on the fuel pump outlet and fuel. pressure regulator connector since I did manage to pull off the hose running to the fuel pressure regulator with only a slight snag. Other than that, I have had no issues with the kit. Support is also very good with Matt Lee @ Ecotrons returning my emails quickly.

Ecotrons ECU Kit - GX200 EFI Conversion

 

Saturday, October 8, 2011

5.5HP Turbo Charged Fuel Injected Engine

For a while now, I've been thinking about some of the shortcomings of my original fuel injection project.  I wanted to go back and redesign this project adding some of the missing pieces.  So, that said, the idea was to take a small carbureted engine and convert it to fuel injection, then add a turbo charger.  All of this would be controlled with a stand-alone ECU, and PC software to tune the parameters.

The Engine

There were a couple of options when it came to selecting the engine.  The main criteria was to select an engine that was small enough to bench test.  Although a larger engine would have helped when the turbo was installed (more displacement, would be able to reach higher boost) this one was good enough to prove out the concept.  It's a 4 cycle, 5.5hp engine with a horizontal output shaft.  It is similar to ones that you would find on a go-kart (GX160).

Controlling the Spark

These engines are equipped with a transistorized magneto, and the ignition is fixed at around 25 degrees BTDC (before top dead center).  Being able to set the spark advance gives you more control over the engine.  This is especially true if you can vary it according to engine load and RPM.  So the first step is to get some sensors mounted to engine to report on the cam shaft position, and when the engine has reached TDC.


Normally, we could use Hall-Effect sensors mounted near the teeth of the cam gear.  In this case, there wasn't an easy place to do this (at least I couldn't find one).  So instead, I chose to use a shaft encoder (CAM Position) and a break-beam IR Tx/Rx pair (TDC).  Future engines (yes, I plan on doing this again) will instead have the traditional Hall-Effect sensors mounted.

Next, the spark coil was added replace the magneto in order to fire the spark plug.  The initial test runs didn't have any special logic, the spark advance was adjusted manually from 15 to 31 degrees, just to see how the engine would respond.


Fuel Injection

The next step was pretty big.  It was going to involve removing the carburetor and adding a fuel injection system.  They don't typically make any parts for an engine this small, so a lot of time was spent trying to find parts that were small enough to retrofit onto the engine.

To supply fuel to the injector, an in-tank fuel pump was added (from a WRX).  It pressurizes the fuel line to 40psi, and the adjustable regulator maintains this pressure.  The original fuel injector was replaced with one from a Ford Festiva in order to reduce the flow rate (from 330cc to 120cc).




The throttle body is from an BMW R850 motorcycle which was restricted down to about 3/4" to better match the engine's intake.


Turbo Charger

Next was to add the turbo charger.  Actually, next was to find a turbo charger that was small enough for the engine.  The smallest available one I could find was a RHB31 (I'm told this is one from a Suzuki Swift 1.0l).  It would only be able to boost the engine between 2-4psi, but that would be enough for bench testing, so on it goes.



Since there engine does not have an oil pump, an evac pump is used to draw oil from the bottom of the engine through the turbo.  This keeps a vacuum in oil cavity preventing the oil from getting past the seals.  Normally an evac pump is used to pump excess oil away from the turbo when it's mounting point is low with respect to the oil pan.  This is typically not required if a turbo is mounted higher on the engine.

Drive by Wire Throttle

The last mechanical part that was added was a stepper motor mounted to the throttle body that controlled the throttle plate angle with a belt and pulley system.

Sensors

Along with the TDC and CAM position sensors, the engine is equipped with a MAP sensor, two temperature sensors (block temp, and intake air temp) and a TPS (throttle position sensor).  All of the sensor signals are routed back to the ECU board.  



ECU

The ECU is used to set the spark advance and fuel delivery based on the input sensor readings.  There are two main tables (Spark Advance and Fuel Delivery) that are user tunable using the PC software mentioned below.  The table values are set as a function of RPM and engine load, but correction factors for throttle input and temperature readings are also performed.


PC Software

In order to tune the engine, a PC application was developed to set the table values.  The application also reads back, reports and logs the sensor values to see how the engine is performing during the test run.  This allows you to see how the engine performs under different conditions and makes the tuning process much easier.




Completed Engine

A couple of pictures of the completed engine.

Quick Bench Test



June 13th, 2009

Video Capture Board

I started working on this project because I wanted to experiment a bit more with video (capture, display and scaling). I wanted to make the board flexible enough to experiment with a variety of input modes. To accomplish this, I placed a DVI header that accepts all of the common signals associated with DVI input chips (i.e. Data Lines, Control Lines, I2C for programming, etc.). Most of the available DTV decoder chips follow this format. The first board I will be experimenting with has both analog (YPbPr, VGA) and digital (HDMI) inputs. This allows me to attach several different types of inputs to the board. The output is basically a header of GPIOs. For now, I have a small 640x480p Sharp colour LCD.

The board is also equipped with USB so I can download data from the frame buffer. This will be useful when debugging, but can also be used to capture and dump frames.

Here is a screen capture of the current board. Only thing left to do is add a few control lines for the LCD.


September 8th 2007