author

bpark1000

4
Inbox View Profile
365CommentsAlexandria, Va
Have BSEE, design Halloween effects including robots, and party lighting effects.

Tell us about yourself!

Achievements

100+ Comments Earned a bronze medal
  • How to Make Handscrew Clamps

    You should have made the barrel nuts from brass stock. This eliminates the need to "brass finish" them, and they are easier to tap then steel.

    View Instructable »
  • Arduino Controlled Robotic Biped

    I wanted to make sure you got the materials I sent, and whether they were of use?

    View Instructable »
  • Halloween Candy Slide

    To make the anti-slip rings, cut rings from a pipe coupling.

    View Instructable »
  • bpark1000 commented on JohnShute's instructable A Bewitched Book
    A Bewitched Book

    Rather than make the haunted action directly in the program, drive it from a table that the program "reads". This way, when you want to change the haunted sequence, you need only change the table, not the code. You can arrange the table to one or more bytes to write to the ports, and a "delay byte" (how long to wait before executing the next table entry). For this book, a single byte will suffice for the output, and another for the delays (if you choose 1/4 second as your "time unit", you can have delay up to 64 seconds between actions). The code reduces to setup, and read the table, copy the byte out, and set the delay. A zero byte in the delay can signify "end-of-table" (loop back to beginning). You can put a test sequence at the beginning (…

    see more »

    Rather than make the haunted action directly in the program, drive it from a table that the program "reads". This way, when you want to change the haunted sequence, you need only change the table, not the code. You can arrange the table to one or more bytes to write to the ports, and a "delay byte" (how long to wait before executing the next table entry). For this book, a single byte will suffice for the output, and another for the delays (if you choose 1/4 second as your "time unit", you can have delay up to 64 seconds between actions). The code reduces to setup, and read the table, copy the byte out, and set the delay. A zero byte in the delay can signify "end-of-table" (loop back to beginning). You can put a test sequence at the beginning (to test all the actions in sequence) which is executed only once on power-up. The loopback goes beyond the test sequence.

    View Instructable »
  • Building My CNC Circular Saw

    Assuming your CNC has ballscrews, you need to either cut on the other side of the blade, or reverse the direction of rotation of the saw motor (& flip over the blade) so you are making "climb" cuts rather then "conventional" cuts. This will push the work down, rather then trying to lift it up (like a radial or miter saw). That was the major cause of the calamity you had happen. When using blade stack, you need to go slow. The motor overloaded and stalled. Cause #2 for calamity.

    View Instructable »
  • bpark1000 commented on Makerneer's instructable De-nailer Deflector
    De-nailer Deflector

    Simple solution to the ricochet. Fill the bucket quarter-way with wood chips. A barrel full of wood chips can capture all grenade fragments (detonated in the center of a 55 gallon barrel). Discard the chips after use as they will be full of nails.

    View Instructable »
  • Arduino Controlled Robotic Biped

    Did. let me know if it is useful, or if you have questions.

    View Instructable »
  • TMD-1: a Turing Machine Demonstrator

    When you insert code to debug (such as your status monitor) LEAVE THE CODE IN! It should not interfere, and more importantly, the code you run is the code you debugged!

    View Instructable »
  • Electromagnetic Pendulum

    You don't need a germanium transistor. There is plenty of voltage with many-turn coil and even weak magnet. It is done here commercially with silicon transistor and 9V battery (I think 2N3904. If not, that, or other common small NPN transistor, will work.) To make this circuit run on single cell, you need to reduce the number of turns on the coil in series with the collector. For changing from 9V to 1.5V, you need to reduce the turns by 6, and make the wire's CROSS-SECTION 6 times larger (wire DIAMETER sqrt(6) larger). Leave the number of turns/wire gauge in the base circuit the same. The coils should fit in the same space. Current consumption will be 6 times higher (but power will be the same).https://www.teachersource.com/product/top-secret

    The mechanism you built was patented by Anderson (3,783,550 Novelty Electric Motor) for their "Top Secret" toy, in 1974. Their coil was wound on a nail, about 3/4 inch long by 3/4 inch diameter. it keeps the top spinning for weeks on a 9 volt "transistor" battery. This is also used in novelty toys with spinning and swinging mobiles. Toy shown disassembled here, and you can buy for $12 https://www.teachersource.com/product/top-secret For efficiency, I would extract the energy from the pendulum with "magnetic escapement gears" (for at least the first few stages). You want to minimize the coupling to the pendulum to not disrupt its speed.

    You don't need a germanium transistor. There is plenty of voltage with many-turn coil and even weak magnet. It is done here commercially with silicon transistor (I think 2N3904. If not, that will work) https://www.teachersource.com/product/top-secret

    View Instructable »
  • Refrigerator Magnet Clock

    I don't understand your statement. The magnets I am talking about attract and grab the numbers to the carriage, not produce movement. The movement is independently provided by stepper motor driving a screw (to engage/disengage the number from the carriage by moving the magnet toward/away) and the other 2 steppers on the carriage (for X/Y movement).

    View Instructable »
  • Refrigerator Magnet Clock

    Your choice to use permanent magnets versus electromagnets on the carriage is a wise one! To use electromagnets, you would need huge power to get enough strength, and have problems with heating. With the permanent magnets, all you need is a motor to move them to/from the surface, which requires little power, and only during the "turning on & off" of the magnetic force. People underestimate the strength of rare-earth magnets. Just 1/4 inch thickness is equivalent to electromagnet with 5000 ampere-turns of current!

    View Instructable »
  • Axe Made From Bike Chain and an Old Rasp. Aka: Mad Maxe!

    No matter what you do, tool heads loosen because the wood swells and shrinks with the seasons. When wood swells, wood cells on the outside of the handle get crushed by the tool head, which doesn't swell. Then wood shrinks, becoming loose. That's why bolts in wood get loose. This is referred to in the industry as "compression set". I have used Gorilla Glue to repair shovels, rakes, hammers, and yes, axes for 20 years. I have never had a head come off because the glue failed. I have had the handle break or rot, and if that happens, I cut it off flush with the head, drill a hole through, and shoot a torch through to burn out the remains of the handle. You really don't need strength. You need all voids filed, and shear strength which all glue's are good at. The glu…

    see more »

    No matter what you do, tool heads loosen because the wood swells and shrinks with the seasons. When wood swells, wood cells on the outside of the handle get crushed by the tool head, which doesn't swell. Then wood shrinks, becoming loose. That's why bolts in wood get loose. This is referred to in the industry as "compression set". I have used Gorilla Glue to repair shovels, rakes, hammers, and yes, axes for 20 years. I have never had a head come off because the glue failed. I have had the handle break or rot, and if that happens, I cut it off flush with the head, drill a hole through, and shoot a torch through to burn out the remains of the handle. You really don't need strength. You need all voids filed, and shear strength which all glue's are good at. The glue is trapped between 2 strong substances. An example of this is Locktite for securing threaded fasteners. Regarding forge welding, doesn't the steel have to have high carbon content for it to work? (The rasp is certainly, and the rollers in the chain do, but what about the side plates?)

    View Instructable »
  • Painting a Reduced-Color Indigo/Violet Landscape

    This scheme is common for those trying to make circuit boards (there are Instructables and Youtube videos on the subject). But unless everything is perfectly set up, the transfer tends to be spotty. But for your purpose, this is fine! This works because the laser ink is plastic dust (that gets fused to the paper). This plastic is dissolved by acetone, so some transfers. Do tests to work out the technique. Have rigid surface under the canvas, with the print on top, taped along one (long) edge. Apply the acetone with a slightly dampened rag from behind the paper with light rubbing. You can roll the paper up and peek underneath for transfer skips, roll back down, and re-apply the rag. Have the lines on your print made good and dark, and not too thin. Keep the acetone away from the …

    see more »

    This scheme is common for those trying to make circuit boards (there are Instructables and Youtube videos on the subject). But unless everything is perfectly set up, the transfer tends to be spotty. But for your purpose, this is fine! This works because the laser ink is plastic dust (that gets fused to the paper). This plastic is dissolved by acetone, so some transfers. Do tests to work out the technique. Have rigid surface under the canvas, with the print on top, taped along one (long) edge. Apply the acetone with a slightly dampened rag from behind the paper with light rubbing. You can roll the paper up and peek underneath for transfer skips, roll back down, and re-apply the rag. Have the lines on your print made good and dark, and not too thin. Keep the acetone away from the tape or you will have a gooey mess. Other tricks is to tape the canvas (leading edge only) to stiff paper and feed through the laser printer (in the straight-through path) for small enough pictures and well-sized canvas. For huge canvas, project the picture on the canvas (mounted on the opposite wall) and paint the lines as you see them.

    View Instructable »
  • Painting a Reduced-Color Indigo/Violet Landscape

    Why not draw contour lines over the image in the PC, along with very course grid lines. Print this to full-scale in sections, if your printer is not large enough. Use coarse grid lines to align the various prints. Cut and tape these together. If you have carbon paper, cover the canvas with this, then your taped print. Trace over the contour lines to transfer them to the canvas. If you make these prints in mirror and use laser printer, you can lay face-down on canvas and transfer the lines with acetone lightly applied from the back of the print with light rubbing. The transfer may be spotty, but it won't matter.

    View Instructable »
  • Axe Made From Bike Chain and an Old Rasp. Aka: Mad Maxe!

    For holding tool heads on wooden handles, polyurethane "Gorilla glue" is the thing to use. The glue bonds tight, doesn't require mixing, is waterproof, and if the fit isn't perfect, the glue foams up to fill the gap. Let set 24 hours, then trim off the excess with rasp. Tool heads WILL NOT COME OFF!

    View Instructable »
  • Science With Rainbows! - Spectrophotometry

    You would be better to use a photodiode rather then an LDR. LDR's are notoriously nonlinear, and prone to age. You will need an amplifier between the photodiode and the Arduino. To get more dynamic range, have several gain stages (gains factors of 2) and feed each one into different Arduino A/D input. The "highest" one that is not saturated is your output.

    View Instructable »
  • Epoxy Resin and Walnut LED Night Lamp

    What is the brand/type of the casting epoxy resin you are using? I see UN3082 but can not find.

    View Instructable »
  • bpark1000 commented on ccronkhite's instructable Extension Cord Reel
    Extension Cord Reel

    Spacing is 8 to the inch. Rotor made by turning epoxy fiberglass tube until it just slips into copper pipe (diameter of fiberglass about 1 3/16 inch). outside of fiberglass and inside of pipe coated with epoxy resin, then slipped together and allowed to set. Then mount on lathe, and cut just through the copper 8 to the inch. Holes drilled in copper through to center for soldering wires. Outside brush guide made from 4 pieces of 1/16" thick, 2 unclad, 2 single-side 1 Oz copper clad. Interior square hole just large enough to fit rotor. Cuts through copper cladding isolated contacts (alternate on 2 sides giving room for terminals, 4 to the inch each side). Contacts made with bronze wire (too thick, but I could not get thinner material from McmasterCarr). Each wi…

    see more »

    Spacing is 8 to the inch. Rotor made by turning epoxy fiberglass tube until it just slips into copper pipe (diameter of fiberglass about 1 3/16 inch). outside of fiberglass and inside of pipe coated with epoxy resin, then slipped together and allowed to set. Then mount on lathe, and cut just through the copper 8 to the inch. Holes drilled in copper through to center for soldering wires. Outside brush guide made from 4 pieces of 1/16" thick, 2 unclad, 2 single-side 1 Oz copper clad. Interior square hole just large enough to fit rotor. Cuts through copper cladding isolated contacts (alternate on 2 sides giving room for terminals, 4 to the inch each side). Contacts made with bronze wire (too thick, but I could not get thinner material from McmasterCarr). Each wire contacts on 2 opposite sides of the rotor. There is a lot of friction, but that didn't matter as it was on large, heavy, missile test platform. I have photo, but Instructibles "Add images" won't work,I can send image by email. I also made tiny one (8 channel) for a "record player" sized centrifuge.

    View Instructable »
  • Automated Perpetual Calendar

    Is there some reason why you didn't use a single, large, piece of plywood, and cut all the rings out of that? Was it importent to have the sections of grain for each label?

    View Instructable »
  • Clockception - How to Build a Clock Made From Clocks!

    Put clear plastic cover over the clock faces, and paint 45 degree black stripes on the cover, a little wider then the hands. That way, when you want the hands to "disappear", you can have the hands hide behind the black stripe. no more annoying 45 degree hands in unused faces! If you put 3 hands on the central 2 clocks in each number, you can properly form "3", "4", "6", "8", and "9".

    View Instructable »
  • Disco Ball Hanging Planter

    I would use clear silicone rubber rather then construction adhesive. It adheres well to both glass and ceramic. If you get new tube and trim tip to small hole, you can dispense right out of the tube. Get the type of silicone ("silicone 1", or "acetoxy silicone). This type smells like vinegar (look for warning about acid fumes, not ammonia). I used small hose connected to vacuum cleaner for the pickup probe. I did a 10" diameter ball. If mirror gets damaged or broken, it can be pulled off and a new one glued in with silicone.

    View Instructable »
  • Arduino Barrel Piano

    Why not make the reader suitable for "real" piano rolls? Roll standard is 11 1/4" wide, 88 notes, 9 to the inch, centered. Speeds are in the range of 6 to 10 feet per minute. If you used "one pass" sensors (light source behind, simple detectors on top), you could achieve the tighter spacing. You will also need an "automatic tracking device" to keep the roll centered properly.

    Use a "1 pass" sensor (collimated light in the back, straight light sensor in the front). You will need automatic tracking device (check out the one in the piano!)

    View Instructable »
  • Arduino Controlled Robotic Biped

    I will need email to send material. Instructables file attach doesn't work.

    Tip for simplifying the "reverse kinematics" calculations: Rather than calculating every incremental move, calculate points "further apart", and use linear interpolation to calculate the intermediate points for smooth movement. I also recommend 2 other things in the software: one is a "startup routine" that starts the PWM to the servos one-at-a-time spaced out 1/2 second each to reduce the large current surge on startup when all 6 servos suddenly all attempt to jump to position. The other thing is a slew-rate routine that forbids a servo's movement more than "X" counts per iteration. This protects servos from abuse and limits current spikes which can overwhelm the power supply. I have charts for all 3 of these routines if you are interested.

    One reason you may be having a problem with power supply is a "start up spike". When the robot powers up, all 6 servos are most likely way out of position. It is not uncommon for a servo to draw a peak of 2 amps when making a large move, so that would be 12A for your robot, most likely overwhelming the supply, and causing Arduino to crash and reboot, repeating the whole sequence forever... The way to solve this is to put in the software a start up routine that starts the PWM one servo at a time, spaced 1 second apart, in sequence. This staggers the start-up spikes so does not overwhelm the supply. Also in the software, it is wise to put a slew-rate limiting routine which prevents sudden large movements of a servo (especially when debugging the movement calculation routin…

    see more »

    One reason you may be having a problem with power supply is a "start up spike". When the robot powers up, all 6 servos are most likely way out of position. It is not uncommon for a servo to draw a peak of 2 amps when making a large move, so that would be 12A for your robot, most likely overwhelming the supply, and causing Arduino to crash and reboot, repeating the whole sequence forever... The way to solve this is to put in the software a start up routine that starts the PWM one servo at a time, spaced 1 second apart, in sequence. This staggers the start-up spikes so does not overwhelm the supply. Also in the software, it is wise to put a slew-rate limiting routine which prevents sudden large movements of a servo (especially when debugging the movement calculation routines). I have flowchart for such a routine if you are interested.

    View Instructable »
  • Home Oven Steel Tempering/Coloring

    The color is not due to the crystalline state of the steel. It is due to the formation of an oxide film. The thickness of this film is determined by the temperature (how far oxygen can diffuse into the steel). Light reflects from both the steel's surface, and the oxide's surface, and interferes. The relation between light wavelength and the oxide's thickness sets the color.

    View Instructable »
  • Arduino Pinball Machine That Plays Itself!

    One comment about flipper placement: every machine I have seen has the flippers set (pivots to the outside), except one, Williams Arcade, which has the pivots set to the center. This make for more interesting play in my opinion.

    You might want to try some different, used before the score counter drums were used. A machine I have (Williams Arcade) has stepper relays with rotary contacts, that light lamps 1, 2, 3, 4, ....10, 20, 30, 40, ...100, 200, 300, ... on the upright board.

    View Instructable »
  • Starting a Scrap Garden

    For making plant labels, get an old Venetian blind (the type with narrow white matte plastic slats) and cut and discard all the strings holding it together. Cut the slats into convenient lengths for labels. You can stack them and cut with a garden shears. Because they are matte finish, pencil will write on them, and sunlight will not bleach off the pencil. You can also use a pair of them to scoop out, separate, and transplant tiny plants.

    View Instructable »
  • Spherical Quadruped Arduino Robot

    I tried to send you files, but the Instructables download won't work. So I will shovel the text files here. (I have video of spider robot, but can't send that). Code is on 6808 and 65816 assembly, but don't worry, the code is simple and the comments describe everything, so you should be able to code in language of your choice. All of these algorithms rely on executing periodically at fixed rate. That's why I recommend setting up your code in a periodic interrupt.R_C FILTER ALGORITHMDigital filter, acts like analog RC filter, rapidly approaching target value initiallyand slowing as it approaches. Algorithm code is executed at periodic rate.Arguments:"P", present value"T", target value"K", filter constant (determines time constant of filter, small K = …

    see more »

    I tried to send you files, but the Instructables download won't work. So I will shovel the text files here. (I have video of spider robot, but can't send that). Code is on 6808 and 65816 assembly, but don't worry, the code is simple and the comments describe everything, so you should be able to code in language of your choice. All of these algorithms rely on executing periodically at fixed rate. That's why I recommend setting up your code in a periodic interrupt.R_C FILTER ALGORITHMDigital filter, acts like analog RC filter, rapidly approaching target value initiallyand slowing as it approaches. Algorithm code is executed at periodic rate.Arguments:"P", present value"T", target value"K", filter constant (determines time constant of filter, small K = long time constant)P = (1-K)*P + K*T"T" is updated from the calculations you are doing, and "P" is the filteredvalue.If you do this in finite math (such as 8-bit), there are 2 problems. First isthe rounding error of the 2 multiplies. To fix this, re-arrange algebra:P = P + K*(P-T)(This can overflow, but will not be problem in higher-level languages).Second problem is that "P" will never reach the target value. If the RC time-constant is long, and the iteration rate high, K will be tiny value, and as Papproaches T, K times (P-T) will become zero, causing P to stop approaching T.To fix this, replace multiplication with a table. As the difference approacheszero, the table always has a finite value so approach will continue (until matchoccurs, where the only zero entry is in the table). Note that by profiling thevalues in the table, any non-linear response can be achieved. In this table,the "RC" is more like a slew-rate limit than an RC response.65816 assembly code follows:ORG TABLES; regulates speed of Yoda head U/D and L/RSTEP_TAB:.BYTE 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1.BYTE 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3.BYTE 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3; servo positions (sent to servos, unsigned)SERVO1 .BLOCK1 ;head U/D;servo positions ("new step", unsigned)NSERVO1 .BLOCK1; NSERVO JUST LOADED WITH NEW VALUE: calculate new servo position which; steps toward new position with "smooth motion"; ALGORITHM: calculate ABS(NSERVO1 - NSERVO1) (the magnitude of the step); look up step size in table (which gets smaller the closer you get); this is like a multiply except nonlinearities can be introduced to; prevent excessive speed on large steps or never getting to end because; small fraction times small difference is zero in low precision mathSEC ;determine difference (step size)LDA |SERVO1SBC |NSERVO1 :subtractBCS IS_POS ;branch on carry set; case when NSERVO > SERVO: difference negative, negate, index into table; add result of table to SERVO (to step toward NSERVO)EOR#<$FF ;negateINCATAX ;ABS(NSERVO - NSERVO)LDA |SERVO1 ;do the add (step positive)CLCADC |STEP_TAB,X ;this is the table lookup and the addBRA DONE_STEP; case when NSERVO < SERVO: difference positive, index into table; subtract result of table from SERVO (to step toward NSERVO)IS_POS:TAX ;ABS(NSERVO - NSERVO)LDA |SERVO1 ;do the subtract (step negative)SECSBC |STEP_TAB,XDONE_STEP:STA |SERVO1;save result, and do step;(DONE)SLEW-RATE LIMITINGSlew-rate limiting limits the rate-of-change of a value to a specified rate.Routine is executed periodically at fixed rate. Each execution limits thechange from pre-existing value.Algorithm has 3 arguments:1st one is the "present value"2nd one is the "target value"3rd one is the "maximum step change allowed per execution"The 1st is compared to the 2nd, and if the same, nothing is done. If 2nddiffers, then value is "adjusted toward the target" subject to the limit.If 2nd > 1st, then 1st = 1st + step. If 2nd < 1st, then 1st = 1st - step(This can overshoot if step > 1)Second compare (exactly the same as the first, but with updated 1st value).If the polarity of the compare reverses, then overshoot happened. Overwrite1st = 2nd6808 assembly code follows. There are complications. If the target is nearthe overflow limit (either + or -), the step can result in overflow."Hard-limiting" prevents this.; slew rate routine variablesSTEP .BLOCK1 ;maximum change allowed in 1/100th secondSLEW1 .BLOCK1 ;"present value" of the outputTARGET .BLOCK1 ;"target value" of the output;------------------------------------------------------------------------------; Slew rate limiting routine, uses UNSIGNED numbers.; description of the algorithm: First, the present value and the target; value are compared to determine the direction of the adjustment needed. If; equal, no adjustment needed, done. If not equal, adjustment (increment/; decrement) is made in the proper direction. If the adjustment results in; under/overflow, the new (proposed) value is hard limited. Then, the same; compare is repeated (substituting the "proposed new" value in place of the; "present" value). If the sense of this compare is unchanged from the 1st; compare (or became equal), then the "proposed new" value is allowed to; stand. If the sense of the compare changes, "crossover" occurred, and the; "new" value is forced to the target value.; input: STEP: the maximum adjustment amount allowed per pass; input: TARGET: the desired ending value; input: Acc: the previous value (to be adjusted toward target value); output: Acc: the new value (adjusted toward target value); altered: A, P; Load present value into A, target value into TARGET, then call routine.; On exit, A has the adjusted value.SLEW_LIMIT: ;[30]; servo position update: first compare [12]CMP TARGET ;[3] actual value - target value (flags)BLO TOO_LOW1 ;[3] actual value < target valueBEQ SLEW_DONE ;[3] actual value = target value (done); actual value > target value: decrement [10];(TOO_HIGH1)SUB STEP ;[3] adjust downwardBCC SLEW1_OK ;[3] test for underflow (skip correction if not)CLRA ;[1] correction: hard limit on underflowSLEW1_OK:;proposed new decremented value; 2nd compare, too high case [12]CMP TARGET ;[3] proposed new value - target value (flags)BHS SLEW_DONE ;[3] proposed >= target value (OK, done)LDA TARGET ;[3] crossover occured: fix it with direct loadRTS ;[4] done; actual value < target value, increment [11]TOO_LOW1:ADD STEP ;[3] adjust upwardBCC SLEW2_OK ;[3] test for overflow (skip correction if not)LDA #$FF ;[2] correction: hard limit on overflowSLEW2_OK:;proposed new incremented value; 2nd compare, too low case [12]CMP TARGET ;[3] proposed new value - target value (flags)BLS SLEW_DONE ;[3] actual <= target value (OK,done)LDA TARGET ;[3] crossover occurred: fix it with direct loadSLEW_DONE:RTS ;[4] done;------------------------------------------------------------------------------; subroutine hard limit (8-bit signed binary data only); input: A-reg: data to hard limit; N,V,Z status flags, as set following an addition or subtraction; altered: A (output), P only. X and H unaltered; This subroutine must be called IMMEDIATELY AFTER the add/subtract; [12] max; Because the @#$! 6808 does not have a branch on overflow, we do a SIGNED; binary test, BGE (which tests Nflag XOR Vflag), and compare that with an; UNSIGNED test, BPL/BMI (which tests Nflag only). If the 2 tests match,; V-flag is clear (no overflow); else there is an overflow, so apply; correction.HLIMIT:BGE HPOS ;signed test (N xor V = 0); is negative (N xor V = 1)BMI HOK1 ;unsigned test (N=1); overflowed negative (N = 0, V = 1)LDA #$80 ;"largest negative" number possibleHOK1 :RTSHPOS: BPLHOK1 ;unsigned test (N=0); overflowed positive: (N = 1, V = 1)LDA #$7F ;"largest positive" number possibleRTS;------------------------------------------------------------------------------MORPH ALGORITHMHow it works: the routine accepts 3 arguments1st argument is the "present value"2nd argument is the "next value""M" 3rd argument is the "morph factor" (scaled to be between 0 and 1)Output is 1st*(1-M) + 2nd*(M)Note that if A and B are fixed, and repeated calculations are made whilestepping C "slowly" between 0 and 1, the output "slowly" changes from 1st to 2ndThen you set the 1st argument to the 2nd, and calculate the new 2nd argument(from whatever you are calculating, such as the next leg position). ResetMorph fatcor to 0, then increment again. In this way, smooth position changeis achieved. This can reduce calculation load as the "density" of calculationscan be reduced.If you do this with finite math (such as 8-bit), there are errors caused byrounding in the 2 multiplies. Simple fix is to re-arrange the algebra so onlyone multiply is done. This is explained in the code below.Detail about possible overflow: if you write this in assembly (as I did), youhave total knowledge of how overflow is handled (and that you can totallyignore). If you write in higher-level language, who knows what happens (willmost likely "waste resources" and calculate to higher precision then needed).Things are different for handling unsigned versus signed variables. Inhigher-level languages, normally this is "wasted" and extra word-length is used.6808 assembly code follows:;------------------------------------------------------------------------------; signed morph (interpolate) subroutine; MORPH CALCULATION: Normally this is done with: out = 1st*(1-M) + 2nd*M.; But this leads to "morph dither". So we use: out = (2nd-1st)*M + 1st.; This eliminates dither but the difference can overflow. But the total; calculation can never overflow. So, in theory, a high byte would be needed; for the 2nd add. Since the result is in range, we can ignore the overflow,; because it would alter the high bytes ONLY FOR THE INTERMEDIATE RESULT.; Everything "fixes itself up" in the result of the final add.; inputs: pushed on stack 1st (SP+4): 1st value (signed); pushed on stack 2nd (SP+3): 2nd value (signed); (SP+1 and SP+2 have the JSR return address); X-reg: morph factor (unsigned fractional); morph factor = 0: routine returns 1st value; morph factor = $FF: routine returns (almost) 2nd value; altered: A-reg (output), X-reg, P-reg, stackMORPHS8: ;signed 8-bit morphLDA 3,SP ;"2nd" value minus...SUB 4,SP ;..."1st" valueBGE PLUS1; signed minus caseNEGA ;convert to positive number for multiplyMUL ;(morph/256)*(abs(2nd-1st))TXA ;high byte is fractional productNEGA ;convert result back to negative numberBRAMORPH1PLUS1: MUL ;(morph/256)*(abs(2nd-1st))TXA ;high byte is fractional product;is low byte of "16 bit signed number"MORPH1: ADD4,SP ;"1st" value ; have result in A: M*(2nd - 1st) + 1st: low bytes; now clean up stack: no more need for input data, move return address; "up" over old input data, and adjust stack pointerPULX ;return address lowSTX2,SP ;"move up" 2 (overwrite input data)PULX ;return address highSTX2,SP ;"move up" 2 (overwrite input data)RTS ;return

    I want to send you files, but the Instructables download won't work (screen just "sits there")! Is there another way I can send? I have one 50M video and 3 small text files.

    View Instructable »
  • Spherical Quadruped Arduino Robot

    When calculating servo positions for walking, it is typically done in discrete steps. When this is fed to the servos, the result is "jerky" motion. This is hard on the servo mechanics and causes current surges to be drawn. There are 2 ways (both software) to mitigate this. One is to implement a software "RC lowpass filter" between the data calculated and the servo drive. Another way to do this is to have a "morphing" calculator, the present positions, and the new ones submitted to the calculator. Then a "morph factor" is slowly changed from 0 (present position) to 1 (new position). This breaks up the big step into a bunch of little ones for smooth movement (like the way microstepping drive works). I have algorithms for both of these if you a…

    see more »

    When calculating servo positions for walking, it is typically done in discrete steps. When this is fed to the servos, the result is "jerky" motion. This is hard on the servo mechanics and causes current surges to be drawn. There are 2 ways (both software) to mitigate this. One is to implement a software "RC lowpass filter" between the data calculated and the servo drive. Another way to do this is to have a "morphing" calculator, the present positions, and the new ones submitted to the calculator. Then a "morph factor" is slowly changed from 0 (present position) to 1 (new position). This breaks up the big step into a bunch of little ones for smooth movement (like the way microstepping drive works). I have algorithms for both of these if you are interested.

    View Instructable »
  • Mesmerizing Ferrofluid-Display: Silently Controlled by Electromagnets

    Inexperienced? What you are doing is awesome! OK about the assembly, but the other optimizations (rate multiplier table to enable more resolution/lower clock frequency on the coil drive, less blob dither) are about algorithms, not the code you write it in. You would benefit from the rate multiplier, and that is implemented in 3 lines of assembly code, and most likely 1 of C. The other thing is about the periodic interrupt scheme, which makes "software act more like hardware". You need not time code (other then to guarantee that it is "faster then X"). It is very unreliable to tack delay loops into code, which I see so prevalent, especially in higher languages where the amount of delay is not guaranteed. Another thing about code (of any type). Try to …

    see more »

    Inexperienced? What you are doing is awesome! OK about the assembly, but the other optimizations (rate multiplier table to enable more resolution/lower clock frequency on the coil drive, less blob dither) are about algorithms, not the code you write it in. You would benefit from the rate multiplier, and that is implemented in 3 lines of assembly code, and most likely 1 of C. The other thing is about the periodic interrupt scheme, which makes "software act more like hardware". You need not time code (other then to guarantee that it is "faster then X"). It is very unreliable to tack delay loops into code, which I see so prevalent, especially in higher languages where the amount of delay is not guaranteed. Another thing about code (of any type). Try to write it "straight line", with the fewest branches possible, or ones that are "confined" to small pieces of code. Use lookup tables to reduce the requirement for branches. 99% of bugs arise from branches.

    View Instructable »
  • Mesmerizing Ferrofluid-Display: Silently Controlled by Electromagnets

    You could simplify magnet array by purchasing the NeoPixel drive ICs (WS2811) and serially drive a chain of them, and let each one control a magnet. This would DRASTICALLY simplify the wiring. The only problem is you have no control of the PWM frequency (I think it is in the KHz). You would need a logic-level FET, a 1K resistor, and a flyback diode per magnet.

    I look at these projects (where code speed is not high enough) and am mystified why one optimization is consistently overlooked: programming in assembly! The "baggage" that the C-code, the "operating system", and the myriad of libraries (which are written to be universal, not optimized for YOUR application) adds is horrendous! Even if only the high-speed parts were in assembly, huge speed increases would be obtained, even on Arduino. That aside, there are other optimizations possible. One is to run the code in a single-"straight-line" (not a loop), periodically invoked by interrupt off the clock. This gets rid of speed changes, on While(1) loop, when processing load changes. To get rid of code jitter, you calculate the drive in the code, & s…

    see more »

    I look at these projects (where code speed is not high enough) and am mystified why one optimization is consistently overlooked: programming in assembly! The "baggage" that the C-code, the "operating system", and the myriad of libraries (which are written to be universal, not optimized for YOUR application) adds is horrendous! Even if only the high-speed parts were in assembly, huge speed increases would be obtained, even on Arduino. That aside, there are other optimizations possible. One is to run the code in a single-"straight-line" (not a loop), periodically invoked by interrupt off the clock. This gets rid of speed changes, on While(1) loop, when processing load changes. To get rid of code jitter, you calculate the drive in the code, & store it to memory (but DO NOT OUTPUT). At the BEGINNING of the next interrupt, you output the drive previously calculated, then start the other calculations. Since you are running PWM in software, there is HUGE gain possible. The problem is to limit AC to the magnets, get higher resolution, you must push the update clock up. There is way to push the undesirable AC component of the magnet drive upward in frequency WITHOUT raising the clock. You do it by re-distributing the pulses (instead of sending all high for a bunch of periods, then low for the rest, you spread out the highs evenly throughout the block). This permits lowering the update rate while reducing the undesirable "wobble" in the display. Lets give example using 32 updates per PWM period. (this makes 5-bit DAC). The MSB of the 5-bit amplitude drive word (bit4) controls whether every other update period, lets say 0,2,4,6,...31 is high. Bit3 controls half the remaining periods (1,5,9,...29), bit2, controls 3,11,19,27, bit1, 7,23, and bit0, 15. This can be done with a 32 byte lookup table, a counter (which you have already), an indexed read of the table, an AND, and a test for zero instruction. The bits "carrying the most power" output the higher frequency, while the lower power ones have lower frequency components . If you want more details and code, I can send. I use this for a "poor man's DAC", requiring only an RC filter afterword.

    View Instructable »
  • Geodesic Dome With Cardboard Tubes and Laser Cut Connectors

    You could have made laser-cut plywood pieces that mimic the flattened tabs on the metal struts, and joined them with bolts. The plywood could be thicker, and less of it would be needed. You could salvage your dome by shortening lengths a little, and using short new-end adapters with bolts. The tubes can be dipped in varnish to waterproof them.

    View Instructable »
  • Planetary Gear Clock

    You should have the sun gear number of teeth divisible by 3 (not having it divisible by 3 leads to asymmetrical arrangement of planet gears axles around the sun.for example: 12 : 60 : 132, or 9 : 45 : 99). Coarser gear (9) would be in danger of colliding. How do you sense the 12:00 position with only 1 sensor? Isn't the resolution too low for this? you could easily sense the hour, but how do you get the minute at 12? In the code, I would add feature that "expects" 12:00 at noon & midnight, and if not true, re-calibrates. That way, any skipped steps are accounted for, caused by anything other then power interruption. Comment about laser-cutting acrylic plastic: When the laser cuts, it melts a thin film of plastic at the surface of the cut. T…

    see more »

    You should have the sun gear number of teeth divisible by 3 (not having it divisible by 3 leads to asymmetrical arrangement of planet gears axles around the sun.for example: 12 : 60 : 132, or 9 : 45 : 99). Coarser gear (9) would be in danger of colliding. How do you sense the 12:00 position with only 1 sensor? Isn't the resolution too low for this? you could easily sense the hour, but how do you get the minute at 12? In the code, I would add feature that "expects" 12:00 at noon & midnight, and if not true, re-calibrates. That way, any skipped steps are accounted for, caused by anything other then power interruption. Comment about laser-cutting acrylic plastic: When the laser cuts, it melts a thin film of plastic at the surface of the cut. Then this cools, and tries to shrink, but can't, because it is supported by the bulk that was not heated. This leads to tensile stress in the edges of the gears. With age, they will craze or crack (most likely at the root of a tooth where there is a sharp "inside corner"). Solution is to anneal the gears after cutting. (Clamp lightly to prevent warp, heat in oven to 200F, hold several hours, slowly cool). For critical things like gears, rough out blank oversize, anneal a little hotter before cutting to relieve built-in stress to reduce warp after cutting and annealing). Sheets will tend to thicken and shrink. How to determine if there's stress: get cheap pair of polarized sunglasses, remove lenses, set crossed, and stack (rotate until looks black). Insert plastic between and illuminate from behind. Stress will show as dazzling colored bands. Another thing you can do: radius between teeth with largest possible arc that is tangent to the tooth sides, and radius tops of teeth to fit between.

    View Instructable »
  • Arduino Laser-based Timing System

    So you are going to send the received optical signal over an RF link? That will impose uncertain delay. Both ends will need wires anyway for power! If you object to wires crossing field, use optical retro-reflector (bike reflector) and put optical Rx & Tx on the same end!Yes you can synchronize, but additional algorithm is needed to synchronize. Since beam will be "on" most of the time, you will have long time to sync. You can use "Costas loop" (done in software) to do this. Normally this would be difficult, but since you are running at low frequency, the "lock in" need be only over +/-1% of the carrier frequency. (Use crystal oscillators on both ends). You can also use "incoherent" method (multiply received signal by locally-generated …

    see more »

    So you are going to send the received optical signal over an RF link? That will impose uncertain delay. Both ends will need wires anyway for power! If you object to wires crossing field, use optical retro-reflector (bike reflector) and put optical Rx & Tx on the same end!Yes you can synchronize, but additional algorithm is needed to synchronize. Since beam will be "on" most of the time, you will have long time to sync. You can use "Costas loop" (done in software) to do this. Normally this would be difficult, but since you are running at low frequency, the "lock in" need be only over +/-1% of the carrier frequency. (Use crystal oscillators on both ends). You can also use "incoherent" method (multiply received signal by locally-generated carrier and carrier shifted by 1/4th period. Each of these is low-pass filtered (~100Hz). Result is the sum of the 2 filtered results. This will give slower response then the coherent method (which can respond within 1 cycle of the carrier).

    View Instructable »
  • Magnetically Coupled Water Pump

    Due to the axial design of the magnets, there is a large axial force that the impeller bearings must bear. It is better to use a radial flux arrangement (like the original motor you got the magnets from, with impeller having magnets facing out, and the motor magnets facing in, as in the inside of a cup). This largely balances the magnetic forces. The wall between the 2 must have a projection for the motor magnets to fit over, and the impeller magnets to fit into. This is the way that commercial magnetically-coupled pumps are made.

    View Instructable »
  • bpark1000 commented on Veters's forum topic Rust on sink drain pipe

    Most likely the pipe is corroding from the inside, and is now breaking through. If you don't replace it, it will start "weeping", then leaking. When you go to replace it, you will most likely find the pipe crumbles when you take a wrench to it. Replace it now!

    View Topic »
  • bpark1000 commented on jiripraus's instructable Freeform LED Sphere
    Freeform LED Sphere

    Are you running the whole project on 3.3v? Don't the LEDs require 5V to work?

    View Instructable »
  • LED Flame With a Plasma Effect

    There are several ways you can evade the need to go to 3 dimensions to get rid of the "seam". Simplest in concept is to make the 2D "noise array" wider then your display. For example, let's say your display is 8 pixels circle and the noise array calculations are done on 16 wide array. Each display pixel is driven from 2 in the noise array (display #1 driven from noise array 1 & #9, #2 from 2 & 10, etc.) You taper the weights down toward the edges of the noise array (but the sum of the 2 weights always equals 1), blending the seams. The other way to do this is to do the noise calculations on a "cylindrical surface" (where the plane is rolled up so the left side and the right side come together). This is still a 2D surface, with animation being al…

    see more »

    There are several ways you can evade the need to go to 3 dimensions to get rid of the "seam". Simplest in concept is to make the 2D "noise array" wider then your display. For example, let's say your display is 8 pixels circle and the noise array calculations are done on 16 wide array. Each display pixel is driven from 2 in the noise array (display #1 driven from noise array 1 & #9, #2 from 2 & 10, etc.) You taper the weights down toward the edges of the noise array (but the sum of the 2 weights always equals 1), blending the seams. The other way to do this is to do the noise calculations on a "cylindrical surface" (where the plane is rolled up so the left side and the right side come together). This is still a 2D surface, with animation being along the axis and pixel # around the circumference. A single stripe from this will have no seams. This will save calculations!

    There are several ways you can evade the need to go to 3 dimensions to get rid of the "seam". Simplest in concept is to make the 2D "noise array" wider then your display. For example, let's say your display is 8 pixels circle and the noise array calculations are done on 16 wide array. Each display pixel is driven from 2 in the noise array (display #1 driven from noise array 1 & #9, #2 from 2 & 10, etc.) You taper the weights down toward the edges of the noise array (but the sum of the 2 weights always equals 1), blending the seams. The other way to do this is to do the noise calculations on a "cylindrical surface" (where the plane is rolled up so the left side and the right side come together). This is still a 2D surface, with animation being al…

    see more »

    There are several ways you can evade the need to go to 3 dimensions to get rid of the "seam". Simplest in concept is to make the 2D "noise array" wider then your display. For example, let's say your display is 8 pixels circle and the noise array calculations are done on 16 wide array. Each display pixel is driven from 2 in the noise array (display #1 driven from noise array 1 & #9, #2 from 2 & 10, etc.) You taper the weights down toward the edges of the noise array (but the sum of the 2 weights always equals 1), blending the seams. The other way to do this is to do the noise calculations on a "cylindrical surface" (where the plane is rolled up so the left side and the right side come together). This is still a 2D surface, with animation being along the axis and pixel # around the circumference. A single stripe from this will have no seams. This will save calculations!

    There are several ways you can evade the need to go to 3 dimensions to get rid of the "seam". Simplest in concept is to make the 2D "noise array" wider then your display. For example, let's say your display is 8 pixels circle and the noise array calculations are done on 16 wide array. Each display pixel is driven from 2 in the noise array (display #1 driven from noise array 1 & #9, #2 from 2 & 10, etc.) You taper the weights down toward the edges of the noise array (but the sum of the 2 weights always equals 1), blending the seams. The other way to do this is to do the noise calculations on a "cylindrical surface" (where the plane is rolled up so the left side and the right side come together). This is still a 2D surface, with animation being al…

    see more »

    There are several ways you can evade the need to go to 3 dimensions to get rid of the "seam". Simplest in concept is to make the 2D "noise array" wider then your display. For example, let's say your display is 8 pixels circle and the noise array calculations are done on 16 wide array. Each display pixel is driven from 2 in the noise array (display #1 driven from noise array 1 & #9, #2 from 2 & 10, etc.) You taper the weights down toward the edges of the noise array (but the sum of the 2 weights always equals 1), blending the seams. The other way to do this is to do the noise calculations on a "cylindrical surface" (where the plane is rolled up so the left side and the right side come together). This is still a 2D surface, with animation being along the axis and pixel # around the circumference. A single stripe from this will have no seams. This will save calculations!

    View Instructable »
  • How to Make a Live Edge Bar Stool/Table

    You can treat the wood with polyethylene glycol 1000 (available from Rockler.com).

    This stool, made from a cross-section of unseasoned wood, will split when it dries (like a pie with one small slice eaten out of it, because the circumference shrinks more then the radius). The bark will also come off. To prevent this, you need to treat the unseasoned (preferably fresh-cut from a felled tree) with PEG (rockler.com/polyethylene-glycol-peg-green-wood-stabilizer) solution for about a month for the size piece you have. Then the piece can be dried without shrinkage or splitting, and the bark will stay on.

    View Instructable »
  • Growth Chart for Children Made Out of Colored Pencils

    It sucks when ads invade even Instructables internal videos!

    View Instructable »
  • Knife Forged From Bicycle Spokes - a Truly Bespoke Knife!

    I say the fumes are from zinc or cadmium, not chromium. Many spokes are galvanized, which is a coating of zinc to inhibit corrosion. The zinc/cadmium boils off and then oxidizes, giving zinc oxide dust. Chromium's melting/boiling points are similar to iron, so I can't imagine chromium fuming off. The same goes for manganese or vanadium, which may be alloyed in the steel.

    View Instructable »
  • Wacom Pen Holder Hand AKA Making a Plaster Cast of Your Hand

    Yes, if you heat it too hot, you will essentially reverse the plaster's setting and turn it back into a powder (this is referred to as "calcine"), but this won't happen at 120F. Air bubbles won't be a problem at this low temperature. The secret is to have it heated to 120F and with circulating air so the water vapor can escape. Plaster's strength more then doubles when it is properly dried. In addition, trapped water inside the plaster will lift off paint as it attempts to escape from inside. See this link to US Gypsum recommended drying scheme. (You don't need to get this fancy, but keep the process in mind, and allowing a lot of time for drying will make up for lack of fanciness).http://www.douglasandsturgess.com/HowTo/Drying-plaster-Howto.pdf

    View Instructable »
  • DIY Magnetic Sunglasses

    I have never seen metal eyeglass frames that are magnetic. (They are usually made of monel, copper/nickel alloy, titanium, or stainless steel. All of these are non-magnetic.) How did you get the sunglasses to stick? What brand frame are you using?

    View Instructable »
  • Wacom Pen Holder Hand AKA Making a Plaster Cast of Your Hand

    Dry the plaster COMPLETELY before attempting to paint. You can put it in an over set at 120F for several hours. The plaster will get stronger and the paint won't peel off in time. When releasing the hand from the alginate, use a straightened paper clip to poke holes from the bottom into the tip of each finger. This will allow air entry.

    View Instructable »
  • bpark1000 commented on WickedMakers's instructable DIY Halloween Mummy
    DIY Halloween Mummy

    There is available scissors used by the medics for cutting off casts. One of the "points" has a bulb-shaped tip . This is slipped under the cast and will not poke.https://www.grainger.com/product/MEDI-FIRST-Black-EMT-Scissors-11C665?cm_sp=Product_Details-_-Products_Based_on_Your_Search-_-IDPPLARECS&cm_vc=IDPPLARECS

    View Instructable »
  • There are wires going to the top of the pendulum. Why are they needed? The thing control system needs is the angle of the pendulum. Why can't that be measured at the bottom with a mechanical angle sensor?The way you are doing it works but adds another layer of complexity. Ideally, the gyro could give the angle, but gyros drift. The accelerometer gives the angle, but corrupted by the vastly larger lateral accelerations (which average out to zero). So the high-frequency part of the angle must come from the gyro, and the low frequency part from the accelerometer. Segway-type balancing vehicles are forced to use this technique.This project can make use of the angle measured directly between the pendulum and the base cart, using a mechanical sensor such as a pot or optical encoder. The…

    see more »

    There are wires going to the top of the pendulum. Why are they needed? The thing control system needs is the angle of the pendulum. Why can't that be measured at the bottom with a mechanical angle sensor?The way you are doing it works but adds another layer of complexity. Ideally, the gyro could give the angle, but gyros drift. The accelerometer gives the angle, but corrupted by the vastly larger lateral accelerations (which average out to zero). So the high-frequency part of the angle must come from the gyro, and the low frequency part from the accelerometer. Segway-type balancing vehicles are forced to use this technique.This project can make use of the angle measured directly between the pendulum and the base cart, using a mechanical sensor such as a pot or optical encoder. The wires from this will be right at the base on the cart. It would be interesting to compare the effectiveness of the 2 schemes. It would also be interesting to mount the gyro/accelerometer at the base of the pendulum (also getting rid of the wires to the top). The commanded accelerations of the cart could be subtracted from the accelerometer giving a cleaner signal.

    View Instructable »
  • If you are in the woods, find jewel weed. It grows in swampy places. It has stems that are hollow and upon crushing, yield a juice. Put this on the bite. The whole plane easily pulls out from the ground

    View Instructable »
  • bpark1000 commented on ejmastnak's instructable Save a Burned Pot

    The chemical I would start with is caustic soda (lye). This is the chemical used in oven cleaner. (Do not use lye in aluminum pots. Badly burned aluminum pots are usually not salvageable unless they are thick and you grind off the deposits.) Put concentrated solution in pot and heat slowly to boil (this chemical is hazardous when concentrated, use eye and skin protection). Let cool and soak overnight. Rinse and dilute solution (not hazardous after dilution). Another way to clean is to "fight fire with fire". Remove any plastic handles from the pot, and place in a self-cleaning oven (if you have one) and run cycle. Burnt food will be reduced to carbon which will burn off. Do not do this with aluminum pots.

    View Instructable »
  • You show the results of the modifications, but say nothing how they were accomplished. It is essential that no material deformation or overheating take place during these modifications. Many of the materials of these instruments are hardened. How do you make the cuts without damage?

    View Instructable »
  • If you want your creation to last, do the following: first, don't scrounge a mirror. Mirrors age and the coating falls off. Instead, buy new mirror tiles. They are inexpensive, and are easier to handle and cut (aged glass is harder to cut). Get one of the more expensive diamond point glass cutters. They work so well that the glass typically starts cracking before you can finish the cross-cuts! (Put masking tape on the back along the edges if this happens). Third, use silicone RTV (the type that smells of vinegar) instead of hot glue, which becomes brittle as it ages). Cut the tiniest amount from the tip, apply small bead to the object (that you can apply mirrors to in 5 minutes) and then put on mirrors. For hanging items, use lightweight material for the core (polystyrene pack…

    see more »

    If you want your creation to last, do the following: first, don't scrounge a mirror. Mirrors age and the coating falls off. Instead, buy new mirror tiles. They are inexpensive, and are easier to handle and cut (aged glass is harder to cut). Get one of the more expensive diamond point glass cutters. They work so well that the glass typically starts cracking before you can finish the cross-cuts! (Put masking tape on the back along the edges if this happens). Third, use silicone RTV (the type that smells of vinegar) instead of hot glue, which becomes brittle as it ages). Cut the tiniest amount from the tip, apply small bead to the object (that you can apply mirrors to in 5 minutes) and then put on mirrors. For hanging items, use lightweight material for the core (polystyrene packing rigid foam, you can hot-wire to shape). Silicone metal rod through shape for hanging first (let set overnight before proceeding). To pick up mirrors, make a vacuum pick-up tool (vacuum cleaner running real slow on dimmer control, tape 1/4" tube to hose end.) put the mirrors in a shallow box, shake so they are in single layer. Use vacuum pick-up tool to grab mirrors that are face-up and apply to your shape (that has bead of silicone applied). After face-up mirrors are gone, shake box again to get more.

    View Instructable »
  • bpark1000 commented on Kuzmanic's instructable Charcoal Retort

    You are adding heat to the charcoal only around the central tube. You need to insulate the outside surface of the tank to prevent heat loss. You could also speed the process by lighting up the lower pieces of charcoal wood, loading up the rest, and feeding some air into the charcoal chamber while you are firing up the rocket stove. Then cut off the air to the charcoal chamber and finish. Another technique is to load up the charcoal chamber, and light up the top layer just before you put on and seal the lid. Feed air into the bottom of the charcoal chamber. As the fire burns down inside, the upper layers are protected from oxygen by the burning layers below. As soon as you see fire at the bottom, you cut off all air and allow to cool. The bottom layer will not be fully converted…

    see more »

    You are adding heat to the charcoal only around the central tube. You need to insulate the outside surface of the tank to prevent heat loss. You could also speed the process by lighting up the lower pieces of charcoal wood, loading up the rest, and feeding some air into the charcoal chamber while you are firing up the rocket stove. Then cut off the air to the charcoal chamber and finish. Another technique is to load up the charcoal chamber, and light up the top layer just before you put on and seal the lid. Feed air into the bottom of the charcoal chamber. As the fire burns down inside, the upper layers are protected from oxygen by the burning layers below. As soon as you see fire at the bottom, you cut off all air and allow to cool. The bottom layer will not be fully converted, so use this for the next run.

    View Instructable »
  • Always drill thru-holes before cutting the isolation. Doing so in the opposite order will result in smaller pads being ripped off the board as the center hole is drilled. Add a follower foot and spring coupling to the Z-axis. This will give consistent depth of cut from the TOP surface of the board (the board stock varies in thickness!) Avoid grinding away all that copper where large spaces exist between traces. Use that copper as a ground plane, unless voltages between traces are high.

    View Instructable »
  • Be careful when drilling brass! Drills tend to grab on break-through. Hold the brass with a pliers in case this happens. (You can modify the drill bit's cutting edges to prevent this.) On the wood piece, chamfer the inside edges of the slot where the blade enters. This makes inserting a new blade easier.

    View Instructable »
  • One photo shows the metal to be a beautiful blue. As-forged is scaly black (as shown in your photos). Did you use heat treatment to get blue? Did you etch the metal between the forging and the blue treatment?

    View Instructable »
  • bpark1000 commented on M8377's instructable Nixie Tube Watch

    For a watch, you may want to try the "Paneplex" display. It is a planer 7-segment neon display. This display is much thinner then a Nixie. You will need only 8 drivers for segments and decimal point. You will need decimal to 7 segment decoding.

    View Instructable »
  • Please be careful. Some of the "chrome" finishes on shopping carts have cadmium in the plating. This and zinc produce toxic fumes. Also, the zinc on the galvanized steel will release fumes. Fire it initially very hot, keeping everyone away until the cadmium and zinc burns off. Do not use to cook food until it is thoroughly "seasoned" (metal blackened from repeated heatings). The same cautions apply to the use of old refrigerator shelves.

    View Instructable »
  • Do not use abrasive paper to clean toilet. You will leave scratches which will attract more dirt. Use hydrochloric acid, and if you don't have that, you can make some by putting in vinegar and a little salt. First lower water level in bowl by stomping gently with plunger, and then trickle acid onto stain. Just a little brushing with toilet brush will be enough.

    View Instructable »
  • bpark1000 commented on abetusk's instructable Cyberpunk Jacket

    I ordered from that exact Ebay source you cited in the Instructible. Regarding cutting, the panel is heat-sealed, with extra plastic at the edges. When you cut, you break that seal at the cut edge, and start delamination (like when you cut into a heat-sealed badge. Not only does the panel delaminate, but moisture leaks into the cut edge. The electroluminous layer is very sensitive to moisture. It is not uncommon for electrical breakdown to start at the cut edge, as the insulating layer inside is very thin, and it extends beyond the electrode area at the edges. You will see small flashes and black spots at the edge, which will grow across the display like a cancer until the display shorts. (I had this happen to an uncut old display). You can do things like try to apply hot glue to …

    see more »

    I ordered from that exact Ebay source you cited in the Instructible. Regarding cutting, the panel is heat-sealed, with extra plastic at the edges. When you cut, you break that seal at the cut edge, and start delamination (like when you cut into a heat-sealed badge. Not only does the panel delaminate, but moisture leaks into the cut edge. The electroluminous layer is very sensitive to moisture. It is not uncommon for electrical breakdown to start at the cut edge, as the insulating layer inside is very thin, and it extends beyond the electrode area at the edges. You will see small flashes and black spots at the edge, which will grow across the display like a cancer until the display shorts. (I had this happen to an uncut old display). You can do things like try to apply hot glue to the edge, or over-laminate with another layer of plastic. Do not flex the panel parallel to the cut edge!

    I ordered some of these panels for a Halloween decoration. Every single one arrived damaged because they threw the inverter and the panel into a pouch for shipping. The panel was creased and had numerous dark spots. Panels took over 2 months to arrive! Did you have the same problem? My recommendation is to not cut the panels. They will fail early. Get one large enough, and cover it with black cloth.

    View Instructable »
  • You mentioned hanging the fabric was tedious. Would sewing iron pellets in pockets of the fabric and magnets on the frame help?

    View Instructable »
  • Your equations for real power, and reactive power only apply if the load is linear (pure sine wave for the current). Phase angle does not exist for complex waveform (such as the one you show). Do the calculations work according to the equations listed, or are they averaging instantaneous voltage times instantaneous current (which gives correct answer for any waveshape)? What is the sample rate of the system (what is the highest frequency that can be processed)?

    View Instructable »
  • You can make another decoration related to the snowflake. Fold as described (except on 3rd fold, do just single fold to make 1/8th of a circle), then take compass and strike arcs on one side of the triangle (pivot at pointed end, draw arcs 1/8 inch in increasing radius from almost zero to the outside). Cut along outermost arc all the way along. Cut all the other arcs, alternately, from one side to ALMOST the other side (stop 1/8" short). Cut off a little of the point (this will form a hole at the center).Carefully unfold and flatten. Place a weight on the center. Slowly lift the outside loops and the paper will expand into a cylinder. The loops can be supported by crossed sticks. Place a Christmas ornament ball in the center with the hook protruding down through the central h…

    see more »

    You can make another decoration related to the snowflake. Fold as described (except on 3rd fold, do just single fold to make 1/8th of a circle), then take compass and strike arcs on one side of the triangle (pivot at pointed end, draw arcs 1/8 inch in increasing radius from almost zero to the outside). Cut along outermost arc all the way along. Cut all the other arcs, alternately, from one side to ALMOST the other side (stop 1/8" short). Cut off a little of the point (this will form a hole at the center).Carefully unfold and flatten. Place a weight on the center. Slowly lift the outside loops and the paper will expand into a cylinder. The loops can be supported by crossed sticks. Place a Christmas ornament ball in the center with the hook protruding down through the central hole. Put weight on the hook to stretch cylinder. The whole thing can be hung on a motor and slowly rotated while a light shines from below.The number of loops on the outside equals half the number of layers . For the snowflake fold scheme given (1/12 of a circle, 12 layers), there will be 6 loops. The one I made in the photos is folded 3 times, making 1/8th circle, 8 layers or 4 loops.1st photo shows after folding with arcs drawn. 2nd one shows after cutting, 3rd one shows after unfolding flat, and the last one shows it expanded into a cylinder.

    When you do the last triple-fold, flip the flake over between the folds. This reduces the thickness of paper that must be folded over (the last 2 folds, will look like a "Z" rather then a "U". The fold will have only 8 thicknesses rather then 12.) This is especially helpful when the paper stock is thick, or the snowflake small.) Prior to the last folds, crease the paper firmly. The Z-fold also reduces paper bulge of the inside layers and pull-back of the outside layers because the effects of the 2 folds tend to cancel.Diagram shows exploded cross-section view of paper stack, as viewed from the outside edge of the folded snowflake.

    View Instructable »
  • ...but unless you happen to live at the pole or the equator, the table is tilted so steeply that gravity and friction no longer do their job holding the bearings together and eliminating lash, as the center of mass of the telescope is no longer centered above and bearing directly down on their surfaces. Now the bearings need to be totally enclosed "on both sides" and provisions made for taking up play, and bearing high overturning torques that change direction with every movement of the 'scope. Mount can't be Dobsonian, it must be either fork-type or German type. The bearings must not only be large in diameter, they must be of a thickness comparable to the diameter to get stiffness, making them large and heavy "3-D" structures, and there are 2 of them! Then even mo…

    see more »

    ...but unless you happen to live at the pole or the equator, the table is tilted so steeply that gravity and friction no longer do their job holding the bearings together and eliminating lash, as the center of mass of the telescope is no longer centered above and bearing directly down on their surfaces. Now the bearings need to be totally enclosed "on both sides" and provisions made for taking up play, and bearing high overturning torques that change direction with every movement of the 'scope. Mount can't be Dobsonian, it must be either fork-type or German type. The bearings must not only be large in diameter, they must be of a thickness comparable to the diameter to get stiffness, making them large and heavy "3-D" structures, and there are 2 of them! Then even more weight needs adding "to the other end" to balance the mess.All the "calculation" stuff can be eliminated by manually adjusting the 2 tracking rates to hold the star. Manual speed adjustment also allows "catching up" or "falling behind" to align image, and totally mitigates clock drive gear backlash problems. (It also has the effect of "aligning the equatorial axis" by turning 2 knobs. This takes less time then aligning an equatorial mount. (Equatorial mounts are only practical for a permanent setup for this reason). Been There Done That! I attempted to photograph Saturn. Exposure required 8 minutes with ASA400 film. I did setup about 8 times on separate nights with 8" cassegrain 'scope, and only 1 of them came out. I made variable frequency drive for clock motor because of the gear lash problem. After I had Saturn in image and closed the clutch, it took 5 minutes for the gear lash to be taken up! By then, Saturn was long gone in 30 seconds! Simple solution was to crank up frequency and wait for clock-drive to catch up, and hope that my alignment was good enough that I didn't miss on the cross-axis. (Now days with digital camera, could combine multiples of shorter exposures and get results with poorer alignment).I was photographing Saturn with the image directly on the camera's film plane; there were no optics other then the primary and secondary mirrors of the telescope. Saturn's diameter on the film was only about 1/10th the frame.(By the way, the star to use for aligning finder is the 2nd one from the handle end of the dipper. It is a "double-double", so you won't mistake it for another star! You can see the first double to point the finder. In both the finder and the 'scope, you will see the double-double.)

    Actually, in my opinion you would not need an equatorial table (that would totally nullify the elegance of the Dobsonian mount). You should be able to do this with 2 clock drives on the 2 axis. Depending upon where you are looking, the speeds would be different, but would not change significantly over any reasonable observation time. Power is not a problem, as the power requirement is about 1 watt if you use stepper motor and reduction gearing/screw drive (simpler to implement), which can be provided by a set of 4 D-cells.For simplicity in design, I would add curved plate between elevation axis bearing surfaces, and flat one between azimuth bearing surfaces. (Only effect on 'scope is to raise it an inch). Each of these plates would have your formica/teflon cladding to mate with exist…

    see more »

    Actually, in my opinion you would not need an equatorial table (that would totally nullify the elegance of the Dobsonian mount). You should be able to do this with 2 clock drives on the 2 axis. Depending upon where you are looking, the speeds would be different, but would not change significantly over any reasonable observation time. Power is not a problem, as the power requirement is about 1 watt if you use stepper motor and reduction gearing/screw drive (simpler to implement), which can be provided by a set of 4 D-cells.For simplicity in design, I would add curved plate between elevation axis bearing surfaces, and flat one between azimuth bearing surfaces. (Only effect on 'scope is to raise it an inch). Each of these plates would have your formica/teflon cladding to mate with existing bearing surfaces. A stepper motor.gearbox/screw drive would couple between the extra plate and the surface below. The drive would need to only move maybe 2 inches at most which would allow holding for many minutes. Drive to the motor would be from a small microcontroller, and would have rapid and variable slow speeds. Because the coupling to the 'scope is by friction, there is no need for any special clutches. Point the 'scope at a bright star near where you want to observe, and determine direction of drive on each axis. Use fast drive to set screw drive at opposite extents. Point finder on star, and adjust alt/az motors to hold star on center. Then observe!

    View Instructable »
  • Normally any big scope needs a clock drive "to be able to do anything". How do you clock drive a Dobsonian? What magnification do you typically use? (My experience is that at any really large magnification, a given view is gone in less then 30 seconds!) Do you observe in "rich field" mode?

    View Instructable »
  • Neon signs emit UV radiation, which degrades all plastics near them. If mounts are degraded, so will be the back plate. Replace it! I would not rely on glue to hold the clips; I would bolt them on to the back plate. If the glue fails, the sign gets broken!If sections of the neon tube are painted black, now is the time to renew that while the sign is disassembled.Also note that the supply makes high voltage and is dangerous! Be sure that the insulation is not also degraded by the UV, and disconnect power when working on the sign.

    View Instructable »
  • You could get more storage by adjusting your front-end regulator (add more diodes in the string) to get closer to the 2.5V rating of the super cap, and putting any of the widely-available low voltage low dropout regulator chips between the super cap and the clock. Some of these regulators draw less then a handful of nanoamps.

    View Instructable »
  • bpark1000 commented on Haunted Spider's instructable Spider Web Maze

    For Halloween I use webs stretched on frames like your project. Bot instead of string I use small 3/32" bungee cord from mcmaster-carr (https://www.mcmaster.com/bungee-cords). White has stripes, and "looks like bungee cord", so I used yellow. Run the radial lines (double over ends, tie overhand knot in doubled part to form loop at end). Tie 10% short, then hook over your screws. For the circumferential lines, lay lines in place, and secure with white UV-treated small zip-ties at the intersections. Web will stay tight, even if it is crashed into!My web in photo has string circumferentials. If I had it to do again, I would make it all bungee cord. To get circumferentials tight, build web on frame 20% too small, set radials just tight, put circumferentials on just bar…

    see more »

    For Halloween I use webs stretched on frames like your project. Bot instead of string I use small 3/32" bungee cord from mcmaster-carr (https://www.mcmaster.com/bungee-cords). White has stripes, and "looks like bungee cord", so I used yellow. Run the radial lines (double over ends, tie overhand knot in doubled part to form loop at end). Tie 10% short, then hook over your screws. For the circumferential lines, lay lines in place, and secure with white UV-treated small zip-ties at the intersections. Web will stay tight, even if it is crashed into!My web in photo has string circumferentials. If I had it to do again, I would make it all bungee cord. To get circumferentials tight, build web on frame 20% too small, set radials just tight, put circumferentials on just barely tight, and secure crossings with small zip ties (zip tie gun is helpful in getting ties tight). When web is stretched onto full-size frame, circumferentials will become tight.If you don't have undersize frame, put redials on, stretched. Put circumferentials on, but inside where you ultimately want them, loosely zip-tied at intersections. Slide each intersection outward to tension circumferentials, then tighten zip-tie.

    View Instructable »
  • You may have been lucky. You need the ability to adjust both sides to have enough freedom to align everything in both up-down and left-right directions. If a 90 degree turn would have been required, you would have had to adjust the other side to correct the left-right error caused by the 1st adjustment.

    View Instructable »
  • You need getter to improve vacuum. Put a pinch of red phosphorous on filament it will transform to white phosphorous and combine with residual gases. You can also put 2nd lamp in manifold and seal off the pair. Burn 2nd lamp to failure, then seal off the tube to the 1st lamp. 1st lamp will last longer.

    View Instructable »
  • If epoxy sets too slow warm everything up (120F should be enough). You could preheat whole block in oven at low, or use heat gun to preheat areas before applying epoxy. Also, divide mixed epoxy into 2 batches. Brush one on to penetrate and form bond. Have other one heated and allow to thicken some, then pour on.

    View Instructable »
  • The secret of hydrochloric acid is that most metal chlorides are soluble, and as the metal carbonates are attacked and converted to chlorides, the waste washes away, allowing attack on the next layer. Most metal citrates are not soluble in water, so block subsequent attack, forcing you to soak and repeatedly brush. The most diluted hydrochloric acid does its job quickly, so you can supervise the cleaning, and minimize the time you need to expose the electronics to chemicals and water. You do want to get the acid away immediately after the corrosion is cleaned!

    The corrosion products are usually alkaline, not acid. To dissolve the corrosion, you need acid, not alkali (baking soda is alkaline). The best acid to use is hydrochloric acid, available as a pool pH adjustment chemical and brick/concrete cleaner. If you use that, you need only a thimble-full diluted in a few ounces of water. You can also use vinegar with a little salt added. After you dissolve away the corrosion, first rinse well, then use the baking soda solution to neutralize the acid. (Do not mix soda with acid. That just destroys the acid and makes fizz. You want to let the acid do its job first.)For equipment with integral battery compartments, hold the item with compartment facing down, and apply chemicals/rinse from below with cotton swabs to minimize chance of getting ch…

    see more »

    The corrosion products are usually alkaline, not acid. To dissolve the corrosion, you need acid, not alkali (baking soda is alkaline). The best acid to use is hydrochloric acid, available as a pool pH adjustment chemical and brick/concrete cleaner. If you use that, you need only a thimble-full diluted in a few ounces of water. You can also use vinegar with a little salt added. After you dissolve away the corrosion, first rinse well, then use the baking soda solution to neutralize the acid. (Do not mix soda with acid. That just destroys the acid and makes fizz. You want to let the acid do its job first.)For equipment with integral battery compartments, hold the item with compartment facing down, and apply chemicals/rinse from below with cotton swabs to minimize chance of getting chemicals in the electronics. Dry everything completely before closing up the equipment, preferably overnight. Preferably, remove batteries when not using equipment. When equipment has batteries in it and it is not being used, store with battery compartment facing downward. Modern mercury-free batteries burst and leak, often before you even have a chance to use them!

    View Instructable »
  • After you lay/tape the string in place over the first half of the print, put tiny dabs of super glue where the string crosses each piece, to hold the string in place during the 2nd half of the print.

    View Instructable »
  • I saw a fountain like this, except it had a faucet filling a bucket. The faucet was supported by a Plexiglass tube going into the output. This tube also fed water to the faucet. The water then turns around in the faucet and exits through an annulus (between the tube and the output) and flows down over the tube, concealing the tube. Here is link to such product:express.google.com/product/5755245856369612148_5440090000355501072_3933755?mall=WashingtonDC&directCheckout=1&utm_source=google_shopping&utm_medium=product_ads&utm_campaign=gsxYou could use this same scheme for your teapot/teacup fountain. The teapot seems to be floating with no means of support.

    View Instructable »
  • Except in a double boiler, you usually can't boil the stuff in the inner pan (you only heat it UP TO boiling), because the water in the outer one will not allow exceeding the boiling point. To distill, you must EXCEED the boiling point by at least a small amount to get heat to transfer. Adding salt to the outer container will give you this boost. You can also distill under vacuum to lower the boiling point, again, to allow heat transfer.

    View Instructable »
  • How do you get the water in the hot jar to boil when it is itself surrounded by water? If you add salt to the water in the pan, its boiling point will be raised permitting faster distillation.

    View Instructable »
  • You should solder bypass 0.1 microfarad capacitors across GND/VCC at least every couple of LEDs. Signal is high frequency, and may get corrupted due to noise on VCC bus.

    View Instructable »
  • Your vinegar/steel wool wood stain will attack stainless steel, making it mottled and pitted if it sits for a time. Don't put that on a stainless steel sink! The stain will not immediately get dark in the wood; it needs hours for that to happen. (The relatively colorless ferrous iron needs exposure to the air to convert to ferric (brown) form. It reacts with the tannic acid in the wood to make ferric tannate (dark brown).You can dabble a little of the stain on the labels to give then a "rusty" appearance.Put tonic water in the clear bottle. It will fluoresce under UV light. You can get UV LEDs to illuminate from All Electronics.

    View Instructable »
  • bpark1000 commented on PFO's instructable Fixing a Slipping F-clamp

    If the clamp is slipping, you need to look at the pins that bear on the beam first. These get worn every time the clamp is slid or tightened. (The force is concentrated in 1 spot on each pin, whereas the wear on the beam is distributed, unless you always clamp the same thickness stock at the same screw setting.) When they wear, the sliding member becomes more inclined, giving less normal force. I would inspect those first. Look for flats on the side that faces the beam. Replace or rotate them to a fresh side of they are worn.Another strategy is to let the clamp rust on purpose (if the beam and pins are not plated).

    View Instructable »
  • bpark1000 made the instructable Bismuth Magnet Levitator
    Bismuth Magnet Levitator

    I made one of these, except I used 4 threaded rods and a 6 inch cube of ferrite magnet for the top magnet (from the actuator of an old giant disk drive). I used a 1/2 inch cube of N54 for the levitating magnet (with a piece of circuit board attached) for the levitator.The mold for the bismuth can be made of wood. Be sure the wood is good and dry. The interior will char some, but that will help release the cast part. If the wood is a little wet, bubbles may form on the bismuth. if this happens, remelt that cast and make again. The heat from the 1st cast will dry the mold.For the rest of the construction I used 1/16 inch sheet aluminum.

    View Instructable »
  • bpark1000 commented on gocivici's instructable Marble Clock

    That approach will not make the motor movement any more discontinuous than your other method. Figure how many steps are needed for a minute (gear ratios and number of steps in motor per turn will go into that calculation). Divide the processor clock (16 MHz?) by a factor that the number of steps factors into. Each interrupt will advance the stepper one step, and this will be at a uniform rate. (I don't believe in using complex libraries to do simple things. Nothing is simpler then dividing a clock down, and dividing that by 4 to drive the stepper. If the load is light, you can use wave drive and save power, else you can use "full step drive".)

    View Instructable »
  • bpark1000 commented on gocivici's instructable Marble Clock

    Rather than gamble with the delay in the C code, why not set up a periodic interrupt using timer off the clock crystal (say 16 per second, or whatever is convenient) and run a piece of code that increments the stepper drive? This way, while the code produces time jitter, this is on the microsecond scale and does not accumulate. You will have much better control of the speed.

    View Instructable »
  • Are you sure you have the platinum/tin silicones in the right order? The reason I ask is that tin cure silicones usually are "just looking for an excuse to not cure". They are notorious for this. On the other hand, platinum-cure tend to be immune to having their cure interfered with foreign substances. I have never seen the reverse case, as you report.

    View Instructable »
  • Be careful! Is the glass lid of the pot rated to withstand the vacuum force? It could implode! (If the pot is 10" in diameter, the force on the lid with high vacuum is about 1000 lbs! Even with -40Kpascals-vacuum, it is still 400lbs.)What I would do is to draw vacuum, but also have a small leak that slowly admits air to the chamber. The moving air at low pressure will carry away the moisture better than still air. Without air circulation, the boiling point of water must be exceeded to get water transport out. With your -40kilopascals, that's only a 40% reduction in pressure. Boiling point of water is not even reduced 10C (so you would need to get hotter than 90C to drive off water). By bleeding air, any water that evaporates from the filament will be swept away. Better is t…

    see more »

    Be careful! Is the glass lid of the pot rated to withstand the vacuum force? It could implode! (If the pot is 10" in diameter, the force on the lid with high vacuum is about 1000 lbs! Even with -40Kpascals-vacuum, it is still 400lbs.)What I would do is to draw vacuum, but also have a small leak that slowly admits air to the chamber. The moving air at low pressure will carry away the moisture better than still air. Without air circulation, the boiling point of water must be exceeded to get water transport out. With your -40kilopascals, that's only a 40% reduction in pressure. Boiling point of water is not even reduced 10C (so you would need to get hotter than 90C to drive off water). By bleeding air, any water that evaporates from the filament will be swept away. Better is to set this up so the bleed air comes from an area with dehumidifier running. At 120F, vapor pressure of water is only 0.12 atmospheres, so you would need -90kilopascals without circulation.

    View Instructable »