Fuel Tracking – April 2016

April Gasoline Use and Statistics:

Distance driven (miles)2,782
Fuel used (gallons)94.996
Efficiency (MPG)27.9 ± 0.9
Fuel cost ($)$186.97
Average fuel cost per gallon ($/gal)$1.97
Carbon dioxide released (LBS)*1,679
CO2 efficiency (LBS/mile)0.603

*Assumes 10% ethanol for 17.68 lbs-CO2/gallon.

3D Printing – Anet A8 – Build Instructions

So, I finally purchased a 3D printer… I am old enough to remember when the RepRap project started way back in the early 2000s. You know, before it became a commercialization race.  So, I’ve been watching, waiting, and finally had the free time to start a new hobby. Well, not really.  I’ve got some design work that needs prototyping.

China finally came online as a cheap manufacturing center for low cost consumer 3D printers.  Distributed via the Amazon network with 2-day shipping, and presto I’ve got a box of parts that purport to be a 3D filament extrusion printer.  The instructions are a silent video on YouTube. Nothing is labeled. And everything feels cheap.  But the reviews are good.

3D Printer as Packaged

3D Printer as Packaged from Amazon.  This is an Anet A8 (sold as a Prusa i3 type). The top smaller box is the PLA filament. This is plastic extruder type. It has a 0.4 mm nozzle, uses a 1.75 mm filament, and can to an alleged 0.05 mm layer thickness.

 

 

Layer 1 of Printer Parts

Layer 1 of Printer Parts: Build Platform, wire covers, tools, screws, display assembly, power cable.

Layer 2 of Printer Parts

Layer 2 of Printer Parts: Frame parts, z-axis mounts, control board, cooling fans, usb cable.

 

 

 

 

 

 

 

 

Layer 3 of Printer Parts

Layer 3 of Printer Parts: Frame parts, power supply, extruder, stepper drive motors, rails, linear bearings.

 

Remove Paper from Plastic Parts

Remove protective paper from plastic frame… 1 hour of paper removal. No labels.

 

Interesting Nut Holder Design. Where a screw holds the parts together.

Interesting nut holder design. Where a screw holds the parts together. You need to hold these tiny nuts in the slot and press the opposing parts together and fasten with a screw.

 

Assemble the frame by inserting the nut into the slot and then binding with screws.

Assemble the frame by inserting the nut into the slot and then binding with screws… tedious is an understatement, especially when a nut falls out.

 

The bottom of the frame is held together with threaded screws and opposing nuts.

The bottom of the frame is held together with threaded screws and opposing nuts. Measure to make certain they are equally aligned. The front smaller frame unit has a roller bearing for a drive belt. In the back center, you have the motor mount.

 

The Y-Axis limit switch screws into a holder.

The Y-Axis limit switch screws into a small holder. This will hold a nut and be screwed into the back lower frame.

 

Y-Axis motor is mounted on a flat plate on the back bottom of the frame. The limit switch is also mounted here.

Y-Axis motor is mounted on a flat plate on the back bottom of the frame. The limit switch is also mounted here.

 

Rail Holder

To the front and back of the lower frame, you attach these small keepers. A rail will be placed in the small hole that is under this keeper.

 

These are the Y-Axis Rails

These two smooth rods are the Y-Axis rails. On each of them you put 2 linear bearings. (Although, this picture shows only 1 on the left rail, that was corrected later).

 

Build Plate Frame

The build plate frame is held onto the Y-axis rails via the linear bearings. Each has 4 screws to anchor the 4 linear bearings to the build plate frame. Roll the plate a few times before tightening the screws. You might also need to adjust the lower screws on the frame to make certain the smooth rails are parallel.

 

The Y-Axis belt holder is attached to the center of the build plate frame with two screws on each plastic spacer part.

View from under the build plate frame. The Y-Axis belt holder is attached to the center of the build plate frame with two screws on each plastic spacer part. Here, you can also see the 4 linear bearings with the rails installed. The longer threaded rods on the outside edges are to hold the frame together and ensure the rails are parallel.

 

Looking under the build bed, attach a piece of drive belt from the motor at the back of the frame, through the roller bearing at the front and screw one loop side of the belt to the build plate frame center with the two mounting parts.

Looking under the build bed, attach a piece of drive belt from the motor at the back of the frame, through the roller bearing at the front and screw one loop side of the belt to the build plate frame center with the two mounting parts.

 

On each front side of the frame, build a small box that will hold the 2 z-axis drive motors.

On each front side of the frame, build a small box that will hold the 2 z-axis drive motors.

 

On both the right and left sides, install the Z-Axis stepper motors under the newly built support boxes. They screw in from the top.

On both the right and left sides, install the Z-Axis stepper motors under the newly built support boxes. They screw in from the top.

 

Assemble the z-axis limit switch with 2 plastic spacers and the switch. This is bolted onto the left frame side. Use the limit switch with the shortest wire.

Assemble the z-axis limit switch with 2 plastic spacers and the switch. This is bolted onto the left frame side. Use the limit switch with the shortest wire.

 

Install the left z-axis rail (smooth rod) and feed this rod through the x-axis motor mount holder - it is a white part that will hold two other x-axis rails and a motor.

Install the left z-axis rail (smooth rod) and feed this rod through the x-axis motor mount holder – it is a white part that will hold two other x-axis rails and a motor.

 

Insert the right z-axis rail (smooth rod) and x-axis mount. This mount will hold the x-axis rails. Hold these in place with same type of plastic keeps as in the y-axis bed rails.

Insert the right z-axis rail (smooth rod) and x-axis mount. This mount will hold the x-axis rails. Hold these in place with same type of plastic keeps as in the y-axis bed rails.

 

Install the left and right z-axis drive screws through the holes at the top of the machine and through the x-axis holders. Then fix them into the z-axis drive motors (located at the bottom).

Install the left and right z-axis drive screws through the holes at the top of the machine and through the x-axis holders. Then fix them into the z-axis drive motors (located at the bottom).

 

Push the two x-axis rails through the white holders (located on the z-axis drive). Make certain they are parallel. Also place 2-linear bearings on the top rail and 1 on the bottom rail.

Push the two x-axis rails through the white holders (located on the z-axis drive). Make certain they are parallel. Also place 2-linear bearings on the top rail and 1 on the bottom rail.

Install the x-axis drive motor on the left z-axis drive assembly (white part).

Install the x-axis drive motor on the left z-axis drive assembly (white part).

 

To the extruder's u-shaped carriage holder install two belt holders. These are double plastic parts with teeth to hold the belt.

To the extruder’s u-shaped carriage holder install two belt holders. These are double plastic parts with teeth to hold the belt.

 

Bolt the extruder u-shaped carriage to the linear bearings on the x-axis rods. Move the assembly a few times to ensure parallel movement before tightening.

Bolt the extruder u-shaped carriage to the linear bearings on the x-axis rods. Move the assembly a few times to ensure parallel movement before tightening.

 

Bolt on the extruder into the carriage holder. There is a single screw on the bottom that holds the extruder in place. Tighten the nut on the feed rod between the lower heater assembly and upper feed motors and gears.

Bolt on the extruder into the carriage holder. There is a single screw on the bottom that holds the extruder in place. Tighten the nut on the feed rod between the lower heater assembly and upper feed motors and gears.

 

Bolt on the cooling fans. One with a heat sink on the left side (to cool the filament) and one on the front to freeze the deposited filament.

Bolt on the cooling fans. One with a heat sink on the left side (to cool the filament) and one on the front to freeze the deposited filament.

 

The heated build bed is made of the black aluminum sheet with tape, 4-srews and the heating board. Tape the contractors on heated board with electrical tape before assembly.

The heated build bed is made of the black aluminum sheet with tape, 4-srews and the heating board. Tape the contractors on heated board with electrical tape before assembly.

 

Install the build bed onto the build bed frame by using the 4 screws. You will later use these screws to level the build platform relative to the extruder nozzle (with 1 mm of spacing).

Install the build bed onto the build bed frame by using the 4 screws. You will later use these screws to level the build platform relative to the extruder nozzle (with 1 mm of spacing).

 

Install the x-axis limit switch by the x-axis drive motor. This is the longest switch wire. Also, feed the x-axis drive belt around the motor and the slip bearing on the right of x-axis holder. Tighten the belt to the belt holder at the back of the extruder carriage.

Install the x-axis limit switch by the x-axis drive motor. This is the longest switch wire. Also, feed the x-axis drive belt around the motor and the slip bearing on the right of x-axis holder. Tighten the belt to the belt holder at the back of the extruder carriage.

 

Install the control board at the top of the frame with 4 screws, 4 plastic spacers and a few leveling nuts. There is also a backing plastic sheet for protection.

Install the control board at the top of the frame with 4 screws, 4 plastic spacers and a few leveling nuts. There is also a backing plastic sheet for protection.

 

Connect wires to power supply and attach to right side of the frame.

Connect wires to power supply and attach to right side of the frame.

 

Install the control board to the left side of the frame. Use the wire wrap to tidy up the wires. Match the connectors and plug in everything.

Install the control board to the left side of the frame. Use the wire wrap to tidy up the wires. Match the connectors and plug in everything.

 

Cura slicer software had a test part. A small toy robot figure. It seemed to work alright.

The included Cura slicer software had a test part. A small toy robot figure. It seemed to work alright. The white air scoop is to direct cooling air at the part to help the plastic freeze.

 

The bed alignment was off, the hot extruder nozzle melted into and burnt the release tape. We also have a plastic leak at the top of the extruder. That will need to be fixed later.

The bed alignment was off, the hot extruder nozzle melted into and burnt the release tape. We also have a plastic leak at the top of the extruder. That will need to be fixed later.

 

 

 

 

 

 

 

 

 

Fuel Tracking – March 2016

March Gasoline Use and Statistics:

Distance driven (miles)2,569
Fuel used (gallons)88.797
Efficiency (MPG)28.9 ± 2.1
Fuel cost ($)$159.15
Average fuel cost per gallon ($/gal)$1.79
Carbon dioxide released (LBS)*1,569
CO2 efficiency (LBS/mile)0.611

*Assumes 10% ethanol for 17.68 lbs-CO2/gallon.

Fuel Tracking – February 2016

February Gasoline Use and Statistics:

Distance driven (miles)2,569
Fuel used (gallons)91.132
Efficiency (MPG)28.2 ± 1.9
Fuel cost ($)$143.76
Average fuel cost per gallon ($/gal)$1.58
Carbon dioxide released (LBS)*1,611
CO2 efficiency (LBS/mile)0.627

*Assumes 10% ethanol for 17.68 lbs-CO2/gallon.

Cooling A Flask?

So, you have a flask (maybe it contains some chemical) and you want to cool the flask. The obvious answer is to place it in a refrigerator. However, you want to keep it on a magnetic stir plate, which every well stocked kitchen has on hand.  You do have a few options, the first is to place the flask and the stir plate into the refrigerator, but then the power cables might block the door… Or, you can use a cooling water bath, like a kitchen ice cream maker, with ice in a container around the thing to be cooled (messy).  Unless you have a temperature controlled recirculating water bath, you won’t be able to control the temperature.

There is another option.  A Thermoelectric or Peltier Cooling Chip AND our previous temperature controller project.  These work by applying electricity to a series of electrical junctions. When the current flows it moves the heat with it – discovered back in 1834. It is moving entropy from one area to another, this change is reflected in the measured temperature – items at lower temperature tend to have less disorder.  So, we can use one of these cooling chips for our flask.  Now, how big of a chip to buy?

We can apply a bit of heat transfer.  Let us assume the room is a nice warm 23°C (or 74°F). There is not wind in the kitchen, so we can say the heat transfer coefficient from the flask wall to the room air is about 25 watts per meter squared per degree centigrade. This number indicates the amount of heat (25 watts) that will exchange to/from the air/flask for each unit of exposed area and degree of temperature difference.  So, the bigger the difference in temperature the more heat will want to move between the two items, and more area exposed the more active exchange points exist.

Since we are cooling the flask (lets pick 10°C or 50°F (a refreshing temperature) we can find the amount of heat (Qin) that will be coming into the flask from the warm air.  This is simple, make your units work. Qin equals the difference in temperature (23°C – 10°C) times the flask exposed area in squared meters (0.04 m2). Qin is about 13 watts.  So, we a chip that can move at least 13 watts.

Now, if we are using the chip to cool the flask the heat needs to go somewhere…. So, we can put the chip under the flask between the stir plate top and the metal/ceramic plate (use a bit of paper towel to form an insulator).  Question? is the plate the big enough to handle the heat from the flask with out getting too hot?  Let us assume the hottest we want the plate top to get is 50°C (hot bath water).  We can do the same calculations, Q to room equals the area of the stir plate exposed to the room air (0.04 sq meters minus the space covered by the flask 0.01 sq meters) times the coefficient of transfer (25 water per sq meter per degree C) times the driving force difference in temperature (50°C – 23°C).  This is about 24 watts… We can apply 24 watts to the top of the stir plate before it gets too hot.  Good!  We are only moving 13 watts from the flask.  If this number was too low, the project wouldn’t work or the stir plate would get too hot to be safe. If you have that that problem, you might need cooling fins, a fan, and a bigger stir plate.

Now we know that we can buy a cooling chip that can move at least 13 watts and keep our flask nice and cool.  Instructions about building the actual temperature controller are over here in another post.

Coolling flask calculations

 

 

 

Fuel Tracking – December 2015

December Gasoline Use and Statistics:

Distance driven (miles)1,658
Fuel used (gallons)57.520
Efficiency (MPG)28.4 ± 0.5
Fuel cost ($)$103.50
Average fuel cost per gallon ($/gal)$1.80
Carbon dioxide released (LBS)*1,017
CO2 efficiency (LBS/mile)0.604

*Assumes 10% ethanol for 17.68 lbs-CO2/gallon.

Excel Automation – VBA to Help Make Surface-Plots

Imagine that you have a complicated excel spreadsheet that might have more than one variable and calculates a numerical output. And, you would like to make a surface plot of the result as the two variables change.

Surface plots are useful for displaying complicated data that tend to change a function of 2 or more parameters. For example, a product yield might depend on both temperature and reaction time.  So, to make a surface plot showing this behavior, you would choose different times and temperatures and record the resulting yield.  In this example, we picked 10 temperatures and 10 times.  That is 100 scenarios that will need to be entered, calculated, recorded, and then plotted.  – Do you really want to type a 100 different values and copy and paste each result to fill in the grid?  What if you decide you picked the wrong range?  Start over?

A faster method is to build a VBA Macro that can do the typing for you.

Here is what to do:

Start with your worksheet that does the calculations. Open it and have a single worksheet that accepts the inputs and gives the outputs.

Then out where you want the data to go… make a new workbook.

Next, define the range for analysis.  Start by making an empty data grid.  Your ranges for testing will go along the edges.  In this example, time will vary from 2 to 72 hours and Temperature from 50 to 500.  I have picked 10 times and temperatures and entered the values that I want to test here on the worksheet.  The calculated result will go in the cell that crosses the row and column.

Excel Grid

Open Visual Basic Editor (in Excel’s Developer Tab
Create a new module (Insert > Module) and put it in your personal workbook for future use.VBA Project Tree

There is an editor window for your module. It looks like an empty text file. You can open modules by double clicking on them.  New modules will be blank…

Start by defining a subroutine called TestProgram(). The command Sub indicates it is subroutine, followed by its name, and () is where you would define pass through variables from another macro.

Type:
Sub TestProgram()

Press enter.

End Sub should appear at the bottom of the editor to automatically close off the subroutine.

Press enter again to leave some space.

Now we will define a For loop for the rows and columns. A For loop defines a variable and sets it equal to a starting number.  For n = 1 to 10 step 1 will create a variable n and set it equal to 1. Any commands between For n = 1 to 10 step 1  and Next n will be executed.  When the commands have run, a Next n statement will tell n to increment by the value defined by step and repeat the process.  Here, step 1 means n goes from n to n+1 and then the commands execute again.  The process keeps going until n = 10.  These loops can be nested and the inner most loop finishes before the outermost loop.

We use two For loops to move along the rows and columns of the data grid. The row loop is nested in the column loop.  So, it will fix a column and move down the column by incrementing the rows by 1. Them move to the next column.  I entered 10 different times and temperatures that I wanted to test in the empty data grid, so we set the upper limit at 10.

Type:
For n = 1 to 10 step 1  
     For r = 1 to 10 step 1  

You needed to have an open workbook to get the variables and store the results. We need to make sure that file is active first. In this example, “Price Comparison.xlsx” is the name of my workbook where the results will be saved.

Type:
Windows(“Price Comparison.xlsx”).Activate

Now, define two internal variables to store the values you want to test. The variable (HydroT and SL) will be set to the values you entered in the empty grid.  In this example, the Times are in a column, so the row will increment downward with each iteration.  The Cells() command tells VBA to go to the currently active sheet and look for that cell.  Here, we are going to use Cells(row + offset from the top, column the values are in).  We include an offset to account for the distance from the edges of the worksheet.  So, the first Time we want to test is 6 rows down from the top and three columns in from the left edge.  So, that is 5 empty cells + r, and r starts at 1.  The temperature values are in row 5 and start in column D, or 3 empty columns + over from the left side.

Remember that r is the row and n is the column variable the will change during the For loop.  And will increment along the rows and columns were you put the conditions you wanted to test.

Type:
HydroT = Cells(5 + r, 3).Value
SL = Cells(5, 3 + n).Value

Now, we switch to the workbook that does the calculations.
Type:
Windows(“RL-SingleProduct-V7(60pct).xlsm”).Activate

In this example, my calculations are done is RL-SingeProduct-V7(60pct).xlsm workbook. You will replace this text with the name of your workbook.

Now, in the calculation workbook.  I assume you only have one worksheet active… You need put the variables into the worksheet’s appropriate cells. For this, you can either use the Cells(row,column) function or the less direct Range() command.  The Range() command calls out name of the cell, which can also be a named label.  In my example cell C23 is the time entry cell and G25 is the temperature entry cell.  So, Range(“C23”).Select activates the cell and ActiveCell.FormulaR1C1 = HydroT passes the value of the HydroT into the cell. We could also use Cells(23,3).Value = HydroT to put the value into the cell.  My calculating spreadsheet uses iteration on selection.  So, I have included an additional Range(“G25”).Select to force the sheet to re-iterate.

Type:
Range(“C23”).Select
ActiveCell.FormulaR1C1 = HydroT
Range(“G25”).Select
ActiveCell.FormulaR1C1 = SL
Range(“G25”).Select

Now, we need to get the results back into the macro and put them into the starting workbook. For my workbook, the result comes out in cell H2.  So, we collect the value and put it into the variable temp for safe keeping.  I am using the Range() command, Cells(2,9).Value would work as well. The Rage() would let me call out a named cell later for another project.  That would also let me move the results to a any location in the file and Excel will follow the name’s pointed location and not an absolute cell reference. This a good option if you don’t have everything on a single worksheet.

Type:
temp = Range(“H2”).Value

The value is now stored in temp.  Next, go back to the workbook that will store the results.

Type:
Windows(“Price Comparison.xlsx”).Activate

Excel needs to put the values into the cell in the grid. The calculated answers are the intersection of the two variables.  In my example, that starts at row 6 and column 4.  We offset the row by 6 to move down 6 lines.  So, we take r and add 6 to it.  The column starts in column D, that is 4 columns from the left.  So, take the column variable n and add 3 to move over 3 spots.  Remember that r and n start at 1 and count to 10.  Set the value of the cell to the result stored in temp.

Type:
Cells(5 + r, 3 + n) = temp

We need to increment the and n to do the next iteration. We nested the rows in the columns.  So, we need to increment the rows first.  After the macro goes from row 1 to row 10, then it will go to the next column and do rows 1 to 10 again.  The order of Next r and Next n matter.

Type:
Next r
Next n

Your macro should end with End Sub to tell it that your subroutine is done.

Macro Example

Save everything!

Now with the calculating workbook open and the input/output worksheet selected, and the results workbook open and selected to the worksheet with the variables grid, run the macro. You can goto the VBA editor window, click in the macro code area and then click the green Play Button, use the menu to choose Run > Run Sub/User Form, or use the Developer ribbon and click on Macros to choose the macro you just made.  The macro will work and report the data back into the grid.

Excel Grid with Data

Now you can create your 3D surface plot by selecting the data block and inserting a surface plot. Excel Surface PlotAdd some labels, analysis and …

Done!

 

Hope this helps save you time.

Publication – Lowering the cost of cellulase

There is a new publication that was just accepted for print regarding the production of cellulase. This article is entitled “Nutrient control for stationary phase cellulase production in Trichoderma reesei Rut C-30″ and will appear in the journal Enzyme and Microbial Technology.

Cellulase is normally produced by a fungus, Trichoderma ressei.  Most of the time the cells continually grow and make enzymes needed to consume cellulose (what trees are made of – think mold growing on a dead log).  In this study, we show that by using phosphorus limitation, we can keep the fungal cells from growing and yet remain healthy.  This condition allows them to produce cellulase enzyme without growing in size.  For industrial cellulase production with less growth, there are less cells that need to be sent to a waste stream and less nutrient is used to make wasted biomass.  These improvements allow us to cut the costs of cellulase production by 60% and make the process more efficient.

The full article and results will appear in Enzyme and Microbial Technology, you can view the pre-print edition here.