Tuesday, January 30, 2018

1310 CNC Engraver - Adding Limit Switches

Per the vendor the board doesn't support limit switches - lol - even if the board has plugs for them.

Here is the 13 x 10 CNC Kit - it works! Let's add Limit Switches.

So I wanted to design a holder that didn't need screws to secure the switch. The design uses a post and a pin to hold the switch in the holder. Here you can see the switch with a proud pin.

Pin was been inserted.

X axis switch.

Y axis switch.

Z axis switch - taping holder - will replace existing hex standoff.

The rear hex standoff - not sure if I can get it installed without taking it completely apart.

Had to take the top screws out.

Install and solder to two switches.

Back together - hot mess of glue to hold the wires in place

Using the grbl guide for optocouplers found here: https://github.com/gnea/grbl/wiki/Wiring-Limit-Switches

Testing the limit switch control board - using long wires didn't work once the spindle fires up it trips. I tried using an older board that was laying around from another project that had these optocouplers on them - want a waste of time two are bad so I just ganged new ones on top of the non-working ones.

First bracket - needed to cut the back for the wire clearance. I designed it to replace the existing 4mm spacers behind the main control board - got the hole positions and distances right on the first go.


My input wires are too short - so I jumper them. I thought for sure I would continue to get spurious but it worked! So it's only the negative wire that needs to be short.

Second print - make it thicker and moved the slots that hold the board for more back clearance for the wire. Once I figured out that only the negative wire was receiving interference I moved the input wires back to the front.

10T85 Switch: https://smile.amazon.com/gp/product/B00MFRMFS6
Thingiverse Files: https://www.thingiverse.com/thing:2775407

Thursday, January 25, 2018

Upgrades to Makerfarm i3v 3d Printer - Octoprint Scripts

Power control with Octoprint running on a Raspberry Pi.

Solid state relay controls the main power.
As the Makerfarm i3v board still gets power from the USB connection I added the two board relay.

One relay controls the USB - sliced unto a USB cable and fished out the (red) power wire.
Second relay controls the light.

The Home Depot LED light (about $19) has the transformer on the plug so the wires to the light are only carrying about 7 volts DC.

Wired the light switch so that the existing switch or the relay can provide the completed circuit.

The LED light was switching on the neutral/negative side - I would have preferred positive side but didn't want to change the wiring completely. You can see the small nick I made to test the polarity and voltage.

Added and Emergency Stop - this runs between the low voltage - so it just cuts the power to solid state relay and that drops the power on the high voltage side.

Backside of Emergency Stop used spade connectors so I could disassemble if needed.

Emergency Stop - powered.

At the end of a print I get an email and ios notification with filename, print time and snapshot.

To get it all working I created three bash scripts - turn on, turn off and print finished:

Bash Scripts:
gpio export 23 out
gpio -g write 23 1
#usb pwr
gpio export 24 out
gpio -g write 24 0
#light pwr
gpio export 18 out
gpio -g write 18 0

gpio export 23 out
gpio -g write 23 0
#usb pwr
gpio export 24 out
gpio -g write 24 1
#light pwr
gpio export 18 out
gpio -g write 18 1

/bin/echo "" | /usr/bin/mail -s  "$1" xxx@bxc.io
/usr/bin/curl -s -o /tmp/printDone.jpg "http://localhost:8080/?action=snapshot" > /dev/null
/usr/bin/mpack -s "$1" /tmp/printDone.jpg xxx@hotmail.com 

Octoprint config file:
  - action: printer on
    command: /home/pi/scripts/printer_on.sh
    name: Turn on the printer
  - action: printer off
    command: /home/pi/scripts/printer_off.sh
    confirm: You are about to turn off the printer.
    name: Turn off the printer

  enabled: True
  - event: PrintDone
    command: /home/pi/scripts/printDone.sh "Done {name} {time}"
    type: system
  - event: PrintCancelled
    command: /home/pi/scripts/printDone.sh "Cancelled {name}"
    type: system
  - event: PrintStarted
    Command:  "/home/pi/scripts/webcam start"
    type: system

Tuesday, January 2, 2018

HVAC Blower Hacking

When your Lennox G60UHV HVAC ECM motor (10M07) doesn't want to blow when the furnace fires up - bypass it and force fan mode when heat is triggered.

I never could find a spec sheet that described what modes get what pin voltages.

During Heat operation - I saw the following voltages on pin 2 (0 or 10 vac), pin 13 (0 or 26 vac) and pin 15 (15 vac).

In the first picture above - I jumped 28 vac to pin 15 and pin 1 and 3 to ground.

I never could get the DC only (left side of page) to get the blower rotating - guessing the ECM didn't have power (on pin 12) like it's show on the AC side (right side of page).

The HVAC guys guessed wrong and said it was the control board - so they replaced that after about a week the blower stopped again. So I replaced the ECM part on the motor. I measured similar voltages to the motor as the first controller -   pin 2 (0 or 15 vac), pin 13 (0 or 26 vac) and pin 15 (15 vac). I measured these voltages after it started acting up again... So time will tell if it was the ECM or I need a third controller board...

Friday, December 1, 2017

Halloween 2018

My eyes based on the adafruit LED Eye Prosthetic Cyborg Eyewear. Soldering the leds onto the wire was a bit fidgety. I have to say the LED's and doll was a big hit.

Doll from my post on Halloween 216 - Baby Dolls.

Here is our three clown setup - two in flower pots by front door and one in trash can next to sidewalk. Not a lot different from last years Halloween 2016 - Jumping Clowns  but did add lights inside the trash can and pots so the clowns are lighted up at night.

Canon VIXIA HF R50 and R600 Zoom Hacking - Part 1

I was unhappy with my attempt to control zoom with a servo - so lets directly control it.

You can see the small servo attached to a screw - the lens has a bracket that attaches to the screw.

The bracket is able to slip when it hits the end points of the travel - so this limits the worry of damaging something with missed steps.

I found more then a few of these servo-screw combinations on ebay all rated at 5-volts; the camera looks to be using 3-volt signals

At the far end of the camera is an  IR Emitter Detector that the Lens assemble trips when it reaches the end of it's travel. As an added bonus the camera lens (as it powers up) always returns to this end point - so the lens position on startup will be at zero.

Here are the pads to the IR Emitter Detector but fried it while testing with the voltage meter - oops!

Attached wires to the servo.

Hot glue for wire support

There are two other servo's on this assemble: focus and aperture. But not planning on using those at this time.

Using an Ardunio Nano with servo code it moves the lens - \0/

Saturday, April 15, 2017

Pan Tilt Feedback Control for a Bescor MP101 Video Motorized Pan Head

Tilt Feedback Control

So this first test works! Get a range of about 100 analog readings for the 30 degrees of tilt.

Hot glued the potentiometer directly to the head

On to Pan Control - what kind of analog potentiometers have multiple rotations - I want to stick with analog as I don't want to count pulses or worry about location on startup - hey these cheap 10-turn rotating ones might do it! Hope the gear size for 1:10 can be worked out.

I did a few quick test prints to workout the smallest gear teeth that would printout correctly.

Love first print designs that are 95% working!

This 1:10 ratio is going to work great for pan control!

More Analog Please
Lets try to get more range out of our analog potentiometer

This gear was a pain to design. I tried to work out how much gear was needed.

The top bracket ended up being too flexible and the gears don't stay connected - fail!

Inside gear and smaller B103 wheel potentiometer

Seeing full range of analog values with this 1:10 setup - but this small 10,000 Ω B103 is a fail!

Hot melt glue got inside the wheel while gluing on the gear - there's a small hole in the wheel and hot glue flows nicely into it as you press the gear on.

  potentiometer + hot glue = wheel doesn't turn

Tried a second time using tape to cover the small hole - it's still a fail!

Also See the not so nice tilt on the gear - these small pot's are easily damaged... This one turned into a 5,000 Ω.

Inside Gear it Is

A few issues with tilting:
 - arms a bit too long
 - arms a little bendy
 - alignment of top and bottom bracket

Control Center - found these cute joysticks for control - nice wiring...

And it's Done!

- The servo on top is for zoom control.
- The potentiometer holder still gets directly glued to head unit arm.
- If the glue doesn't hold - I've included holes to screw the holder directly into the arm. - Advantage of using the holder with the flipped potentiometer is that the gears are closer to the unit (keeping the gears aligned) and helps keep all the mess centered.
- Fixed: length and bendiest of tilt arms; added guide for alignment of top and bottom tilt bracket.
- Needed to add a cutout for the power feed into the camera.
- A wider camera would likely need a bit of a redesign with the top tilt bracket, add a spacer between to raise up the cam and change out the mounting screw or another option would be to print a drop-in replacement for the top plate. The existing plate is held in place with four screws.

- Once I thickened up the 10-Turn potentiometer base, had issues with screwing it into the base.
- The potentiometer uses a M8-0.75 thread.
- Not having that tap, completely destroyed one potentiometer trying to force it into the PLA holder.
- Now I heat up the PLA holder and busted up potentiometer threads and tap.
- The base still has enough flex to account for any misalignment's with the gears.

- Used existing screws from the unit. - These screws are long enough to hold the new printed part and existing bottom plate in place.
- The pan gear slips/presses onto the fixed pan/mount base.

- Field testing
- Code Control
- Upgrades


3d Parts and Design for above:
  Tilt Pan Position Feedback for Bescor MP101 Video Motorized Pan Head

my zoom control:

  Bescor MP101 Video Motorized Pan Head

  WXD3-13 10K Ohm 2W 4 mm Shaft Diameter 10-Turn Wire Wound Potentiometer

  Adafruit Panel Mount 10K potentiometer (Breadboard Friendly) (10K Linear) [ID:562]

  Dual-axis XY Joystick Module For Arduino Joystick Module

these parts didn't work out:
  B103 10K Ohm 5-Pin Dual Linear Dial Wheel Potentiometer

  Cut your own gears with profile shift - OpenSCAD library

  Bescor MP-101 Hack Part 1

  Bescor MP-101 and Arduino v3.0

  Hardware @ Lab

  PJON - Arduino compatible Communications Bus System