Haas Safe Mode

What is Haas Safe Run Mode?

The purpose of Safe Run is to reduce damage to the machine in the event of a crash. It does not prevent crashes, but it raises an alarm sooner and backs off from the crash location.

NOTE:The Safe Run feature is available starting in software version 100.19.000.1300. Safe Run Supported Machines

  • VF-1 through VF-5
  • VM-2/3
  • UMC-500/750/1000
  • All DM’s
  • All DT’s
  • All TM’s
  • ST-10 through ST-35

Take a look at the PDF below for more information about Safe Run Mode and its functionality.

What is Haas Safe Run Mode?

The purpose of Safe Run is to reduce damage to the machine in the event of a crash. It does not prevent crashes, but it raises an alarm sooner and backs off from the crash location.

NOTE:The Safe Run feature is available starting in software version 100.19.000.1300. Safe Run Supported Machines

  • VF-1 through VF-5
  • VM-2/3
  • UMC-500/750/1000
  • All DM’s
  • All DT’s
  • All TM’s
  • ST-10 through ST-35

Take a look at the PDF below for more information about Safe Run Mode and its functionality.

Downloads:

Safe Run Mode

COVID-19 Virus

What is COVID-19?

According to the CDC the COVID-19 disease, or coronavirus disease 2019, is a “respiratory illness that can spread from person to person. The virus that causes COVID-19 is a novel coronavirus that was first identified during an investigation into an outbreak in Wuhan, China.” While its symptoms may be mild for some, the virus can severely affect the elderly, the immunocompromised, and those with preexisting respiratory conditions. This virus is dangerous in that most carriers remain asymptomatic for a substantial amount of time (as much as two weeks) – during which the virus can still be transmitted to others. With such a large influx of infected patients, hospitals and healthcare facilities around the world are becoming overloaded and cannot sustain the level of healthcare needed to fight this disease. Many hospitals only have a few ventilators available, which are necessary to support the respiratory system while your body combats this disease.

For more information, go to https://endcoronavirus.org/ – we’ve found this to be an extremely helpful website with daily updates on COVID-19, case maps, family, business, and government guidelines, as well as different ways everyone can do their part in these unprecedented times.

How can machinists, engineers, makers, and other people like us help?

  1. Take a break from reading this and wash your hands – but don’t forget to come back to read the rest
  2. Share awareness around efforts to mobilize resources, including manufacturing and machining.

We will be updating this page with resources and projects.  Please contact us to submit suggested page additions.

How do the stay-at-home orders, quarantines, and business shutdowns affect manufacturing?

“The Critical Manufacturing Sector is crucial to the economic prosperity and continuity of the United States. A direct attack on or disruption of certain elements of the manufacturing industry could disrupt essential functions at the national level and across multiple critical infrastructure sectors.”  Jay Pierson provided us a link to the DHS page which lists businesses that are allowed to stay open during a national event.  Aerospace, machinery and vehicle manufacturing, and the related companies that support them, will be exempt from closure however increased cleaning, personal hygiene practices and teleworking for office staff is still highly recommended: https://www.cisa.gov/critical-manufacturing-sector

Many manufacturing businesses are also retooling to provide aid during this outbreak. The PREP Act affords immunity from lawsuits in times of national emergency, and will protect those designing, manufacturing, or distributing products to aid in combating COVID-19 from predatory lawsuits. Take the steps to protect yourself now – you can read more here, or view this PDF for more information.

Open Source Ventilator Design (University of Minnesota and TEKNIC)

Take a look at the resources below about an open source ventilator design from the University of Minnesota and TEKNIC (manufacturer of ClearPath servos):

Below is an email from Bridgette God of TEKNIC discussing the plans for a cheap, easy to manufacture ventilator design that is open-source (any hospital or medical facility can create or modify to their own  needs and resources!)

Hi John,

Thanks so much for taking my call today. We’re trying to move pretty quickly and simultaneously gain support for the design in case we need to call on machinists for help with producing different parts moving forward.

There is a lot of information regarding the project in the descriptions of the three videos Teknic has posted so far. As a summary, the goal is to keep the open-source design as inexpensive, easy to build, and reliable as possible for an emergency ventilator. A lot of the parts can be 3D printed, and we’re using ClearPath in our own designs, but we’ve designed the machine so that any motor like a stepper, AC induction, DC brush or something can be used in its place so that anyone can help manufacture these.

It would be very helpful if you could get the word out to your audience about the project. There is a very real possibility that we will have to call upon many machinists to help mass produce these parts. At this point, I’m not yet certain if we will definitely need help producing these parts (i.e. we might not end up needing to contact them or at least not right away) or what parts we will need specifically and how many, but we were hoping that maybe you could get the word out in advance just in case. That way if we do end up needing to reach out to machinists for parts, we will have a bunch of volunteers ready.

If you could post a quick, unedited (quality does not matter – you could do it on your cellphone) video just alerting your viewers about the project and get that information out so they can see the application on Teknic’s YouTube channel (as an idea, link to the Teknic videos in your video’s description), that would be much appreciated. Basically, we would just want machinists ready if we need to call upon them for help. I think at some point, if the need arises, we would probably make a public post requesting help and how to do that and it will be beneficial to have an audience that is already aware of what’s going on, ready to spring into action.

One thing that is important to note is that under no circumstances should people to start making this machine to operate on their own (we’ve gotten a few comments already for people wanting to build these for relatives since the design is open-source). The machines are designed to be used only by highly trained medical operators in emergency situations. Building and using one of the machines without proper training could cause serious harm or death.

Please let me know if you have any questions and thank you again! Best of luck with everything moving forward with Ohio’s shutdown.

Links to Teknic videos:

Best regards,

Bridgette God | OEM Applications Engineer

TEKNIC INC | “Manufacturer of the ClearPath Integrated Servo Motor”

Also take a look at this Reddit thread, detailing and discussing a bit more about the project.

The FDA recently issued a letter to Health Care Providers, entitled Ventilator Supply Mitigation Strategies. In this letter, the FDA states:

“Where possible, health care facilities should use FDA-cleared conventional/standard full-featured ventilators to treat patients who develop respiratory failure or respiratory insufficiency. However, FDA is taking steps to help make available ventilatory support devices that are not currently legally marketed in the U.S. to support the wider availability of devices for patients in need of ventilatory support in the United States for the duration of the public health emergency, as described in the Enforcement Policy for Ventilators guidance.”

The purpose of this letter is to set clear guidelines as to how a) existing ventilators should be used, b) allow for non-FDA cleared modifications to be made to existing ventilators in this emergency situation (likely for situations like this, where one ventilator can be modified to treat multiple people instead of just one), and c) to allow the use of “alternative devices capable of delivering breaths or pressure support” such as the ventilators being designed and manufactured in the project above. You can read the full letter here.

What is Project Open Air?

Project Open Air is a community run crowdsourcing project to get engineers, medical professional, makers and and the like together to design an open-source ventilator system to solve the problem stated above, which we were made aware of via this post on our forum. Currently over 2500 people have joined the project to be a “Helpful Engineer” as the Project Open Air folks are calling them. You can read more about the project at projectopenair.org or by reading this document.

Medtronic Releases Ventilator Plans

Healthcare company Medtronic has released the plans for their Puritan BennettTM 560 (PB560) ventilator. To access these plans you can register here.

Plastics Fabricators Needed to Manufacture “Aerosol Block”

Hospitals are now asking for Aerosol Blocks to be made – a clear plastic shield that covers a patients head while being intubated. This device protects medical professionals from aerosolized and possibly infected particles from coming into contact with them during the process, and is fairly straightforward to manufacture. You can read more here.

US Army Corps of Engineers Contracting

The US Army Corps of Engineers is seeing an influx of prospective contractors to provide aid during this time. If you think you could help, take a look at this Twitter thread detailing the process to become a USACE contractor. Here you can register your businesses capabilities and they will determine if and how you can best provide aid as a contractor.

General Motors Partners with Ventilator Manufacturer

General Motors found themselves shutting down plants nationwide last week, with Ford and FCA doing the same. While businesses across the US start closing their doors as county, state, and national leaders urge citizens to practice social distancing and self quarantine if necessary, GM plans to use the downtime to bring aid to those suffering from the virus. While their own factories are shut down, GM is working closely with medical device company Ventec Life Systems to streamline and increase their ventilator production. While not actually retooling their own manufacturing lines to create ventilators, GM aims to lend their expertise in industrial systems engineering to find untapped efficiencies in Ventec’s process. Both manufacturers believe that this partnership will save lives by catching up to the rapidly increasing demand for respirators in hospitals.

Formula 1 to Begin Ventilator Production

Formula 1 is another entity being hit hard by the virus with multiple races being postponed indefinitely or cancelled outright. The current season has been suspended until at least June 7, leaving numerous engineering facilities vacant and unused. The majority of F1 teams hope to increase production of ventilators in this downtime, with Formula One vowing to “provide as much help and assistance as we can.”

Organizing CNC Tools

S Tools (short for SMW Tools) is a great organization method to reduce setup time.

End mills, chamfer tools, taps, drills, and other frequently used cutting tools remain in dedicated holders.  A Google Sheet (similar to Microsoft Excel) tracks the “S number”, tool description, cutting tool product link, holder, and approximate stickout.  The S Tools are also programmed in a Fusion 360 Tool Library.

The S Tools system offers a number of benefits, such as:

  • Common tools are always in a ready-to-use state.  Significant time is saved by not having to search for and set up tools, collets, and holders.
  • The investment is negligible compared to the time savings and improvement in programming and process reliability.  Most of the tool assemblies (holder + collet) are under $200.  As an example, converting 30 tools to S Tools would cost approximately $6,000.  There are also ways do implement this system cheaper: 1) current holders may be able to be used, 2) holders can be purchased over time as cash flow permits and 3) the investment is still a fraction of alternative “automation” solutions such as higher capacity ATC’s, robots, or pallet systems (many of which are $30k to $100k+).
  • The bins offer a high-density, inexpensive way to hold extra cutting tools, tool-specific hand tools, extra carbide inserts, tool information, anti-seize and more.
  • The solution effectively requires no training; a new employee immediately knows where the requisite items are.
  • The tag rack displays the current “T” number for a cutting tool in the machine control ATC.
  • Tools not currently in an ATC are relatively easy to identify, increasing the confidence you’re selecting the correct tool and avoiding the time, hassle, and risk of mis-identifying similar tools.

A note on the system design:

In a perfect world with unlimited ATC size, the S Tools system could be abandon and all tools could be stored in the ATC. (However, this solution would still not allow a way to share tools across machines).  By separate the “S” number (for S tools) and “T” number for the current machine tool number, you can easily share tools and use the tool tag + 3D printed rack to identify current tool number.

Tool Tag

Akro-Mils 19228 Bin

Bin Numbering

Label Maker

Tool Tag Rack

Designing & Making a Truck in Fusion 360

Lets take a look at the process to go from a drawn sketch to a manufactured part or product!

A collaboration with Jeffrey Smith at Autodesk (check out his Instagram sketches!), this project is a series of videos taking an idea from a sketch to reality in the form of a manufactured product using Fusion 360, sketches, parametric CAD, t-spline modeling, DFM, 3D printing, and more. We’ll be using the sketches below as our example and inspiration for the project, so follow along to see the final results!

Collaboration Details:

We’ll be posting the Fusion 360 solid models here for YOU to machine, 3D print and make your own truck!  Entries will be voted on (details TBD) and included in a video recap on NYCCNC.

Videos

Visual Studio Code Trick for Editing Posts!

How can Visual Studio Code make it easy to edit post processors?

Visual Studio Code is a code editor by Microsoft which has some handy tricks that can let us know which part of a post processor is doing what (side note – it makes a great general code editor too!) By adding an extension to Visual Studio that is designed for Fusion 360 as well as a few other UI tweaks to make things easier, we can easily use sample code provided by the extension to make sense of and edit our post processor.

CRITICAL Setting Change:

By default, VS Code tries to remember past versions which can result in the wrong code being posted, despite re-running your Fusion post processor. The fix is to follow this video to change the ‘hot exit’ setting.

Installation and Setup

1.

Install Visual Studio Code. This is the software we’ll be using and adding on to for this workflow, so install it first. Visual Studio has a few different variants meant specifically for app and software development, so make sure you grab VS Code which is the general code editor. Keep track of where this installs so you can select it in Fusion later.

Click to expand image

2.

Add the Autodesk Fusion 360 Post Processor Utility extension to VS Code by clicking the gear in the bottom corner > extensions > and searching “HSM”. Then click on the correct extension and click install. Watch the video above for the settings we use, which you can edit by going to the gear at the bottom left > Settings > and search “HSM” at the top for related settings.

Click to expand image

3.

Add the nc-gcode extension to VS Code by clicking the gear in the bottom corner > extensions > and searching “nc”. Then click on the correct extension and click install. Note that this and the following add-on are not necessary, but we found make the process easier.

Click to expand image

4.

Again this step is optional, but we changed our color scheme. In the same extension search box, type “purple” and install “Shades of Purple” color scheme. Once downloaded you may have to manually set the color scheme, go to help > welcome > and select Shades of Purple from the drop down under color scheme.

Click to expand image

5.

This is where it helps to remember where you installed Visual Studio. We need to set this as our default post editor, so open Fusion and go to preferences. From here, click on manufacture and at the top you will see “External Editor” – click on this box and browse to where VS Code is installed. Now every time you post code from Fusion it should open in Visual Studio instead of WordPad (Fusion’s default).

6.

Once you have your post-processor edited, you need to export it as a .cps file to use in Fusion. To do this, press F1 on your keyboard and type “Download CNC exporting post” – this should auto-populate the command you’re looking for. Click on this result, and save your edited post processor wherever you like! In Fusion, choose this file you just saved as your post processor location to use it for your gcode.

Shop Update – December 2019

Looks like you aren’t a Pro Member… Click here to join now and get access to tons of helpful tutorials, videos, Fusion 360 files, calculators, and so much more (including this video!)

Akro-Mils Storage Rack

AccuPro Toolholder Tag

Autodesk University 2019: Growing into a 5-Axis

Autodesk University 2019 – Growing into a 5-Axis by John Saunders

Click here to go to the Autodesk site for this AU 2019 course – video embeds are no longer supported, but the course can be viewed at Autodesk’s site

Swarf & 3D Contour

Star Globe

Flow Demo

Adaptive Sketch Containment

More great classes from Autodesk University 2019!

Click the title below each video to visit Autodesk’s site for downloads and more.

Job Shop Workflow – Machining Award Medals!

Job shop production process for awards medals!

How can we batch run 18 of these 1/2″ thick aluminum awards for The Zanesville Survivor Challenge? By using the Component Pattern Design feature in Fusion 360 we can model several of these quickly and easily. We’ll use a hybrid superglue + fixturing technique and SPOILER ALERT–it’s not enough to hold it. We’ll talk about why it failed, how it could have worked, and which workholding solution helped us complete the job.

Downloads:

Chip Break: Advice on Business and Manufacturing Entrepreneurship

Videos on Business, Entrepreneurship, and Manufacturing Advice!

Running a machine shop or a manufacturing company is about more than operating a machine.  Accounting, marketing, operations, insurance – and more – are topics equally as important to business success.  The Chip Break series dives into business topics to help you succeed as an entrepreneur or business owner!

INSANE Gear Reduction! Making a Hypocycloid Gearbox

Hypocycloidal drives offer incredible gear reduction and increased torque for motors!

Let’s make a DIY version for a super slow machine designed to chop a toothpick in half in 50 years?? YEAH, that sounds good! The obsession with getting more torque and lower speed from motors began in the StrikeMark days (talk about a throwback) but the project itself was inspired by Arthur Ganson’s Machine with Concrete!

Some might think it’s a waste of time BUT it’s about the lessons and takeaways! We’ll cover the modified design, a double-sided custom workholding fixture, and tips and tricks in Fusion 360–including how to reduce annoying linking/z-retract moves, AND a new feature that allows us to see ONLY the cutting toolpath.

5 Stage Gearbox

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
/*

|| NYCCNC HYPOCYCLOID DRIVE

|| -version 1

|| -author Alex Pinson

|| -8/6/2019

|| -Copyright Saunders Machine Works, LLC 2019

*/


#include <SabertoothSimplified.h>
#include <PID_v1.h>  //PID library by Brett Beauregard

//Source for positional readings: https://github.com/BenTommyE/BenRotaryEncoder/blob/master/BenRotaryEncoder.ino

SabertoothSimplified ST; //Names the sabertooth object ST

volatile float temp, counter = 0; //This variable will increase or decrease depending on the rotation of encoder
int PPR = 400; //Equal to the number of ticks per revolution of your encoder

float pulsemSec = 0; //the amount of ticks the encoder is reading every millisecond
float RPM = 0; //RPM of the motor
float timeToRev = 0; //time in uSec per revolution of encoder
float timeSample1 = 0;
float timeSample2 = 0;

double setPoint; //desired value
float goalRPM = 1500;
double input; //sensor (RPM in my case)
double output; //action to be taken (Altering the PWM frequency in my case)
double kP = .8, kI = 1.1, kD = .0035; //PID tuners

PID rpmPID(&input, &output, &setPoint, kP, kI, kD, DIRECT);

void setup() {

setPoint = map(goalRPM, 0, 6500, 0, 127);

Serial.begin (38400);

rpmPID.SetOutputLimits(0, 80);
rpmPID.SetTunings(kP, kI, kD); //Defines which variables above are tuning variables
rpmPID.SetSampleTime(10);
rpmPID.SetMode(AUTOMATIC); //Turns on PID loop

ST.motor(2, 10);

pinMode(2, INPUT_PULLUP); //sets pin mode for pin 2

pinMode(3, INPUT_PULLUP); //sets pin mode for pin 3
//Setting up interrupt
//A rising pulse from encoder activated ai0(). AttachInterrupt 0 is DigitalPin nr 2 on most Arduinos.
attachInterrupt(0, ai0, RISING);

//B rising pulse from encoder activated ai1(). AttachInterrupt 1 is DigitalPin nr 3 on most Arduinos.
attachInterrupt(1, ai1, RISING);
}

void loop() {

RPM = (1/timeToRev) * 1000 * 1000 * 60; //conversion for uSec/rev to RPMs

input = map(RPM, 0, 6500, 0, 127);
rpmPID.Compute();
Serial.println(output);
ST.motor(2, output);

// Send the value of counter
if ( counter != temp ) { //if change is detected in the encoder, print the positional data values
//Serial.println ("Positional Data: ");
//Serial.println (counter);
temp = counter;
}

if ( counter >= PPR or counter <= -PPR) { //This if statement resets the counter every time the encoder does a full revolution, protecting from reset after memory becomes filled
counter = 0;
timeSample2 = micros();
timeToRev = timeSample2 - timeSample1;
//Serial.println ("timeToRev: ");
//Serial.println (timeToRev);
//Serial.println ("RPM: ");
Serial.println (RPM);
//input = map(RPM, 0, 3840, 0, 80);
timeSample1 = timeSample2;

//rpmPID.Compute();
//Serial.println(output);
//ST.motor(2, output);
}
//}
}

void ai0() {
// ai0 is activated if DigitalPin nr 2 is going from LOW to HIGH
// Check pin 3 to determine the direction
if (digitalRead(3) == LOW) {
counter++;
} else {
counter--;
}
}

void ai1() {
// ai0 is activated if DigitalPin nr 3 is going from LOW to HIGH
// Check with pin 2 to determine the direction
if (digitalRead(2) == LOW) {
counter--;
} else {
counter++;
}
}

The code for this project needed to handle three main tasks –

  1. Powering the motor
    • Powering the motor was originally done using a transistor circuit and PWM control through the Arduino – however the transistor could not handle the current draw from the motor, so a Sabertooth motor controller was used. Instead of PWM output (-255 to 255), this takes serial input (-127  to 127) from the Arduino.
  2. Reading the speed of the motor
    • Instead of building and coding a tachometer, we used a rotary encoder we already had in the shop. This works by reading the position of the motor and counting the time between each position. This is then converted into an RPM value.
  3. Adjusting the speed of the motor as needed
    • Once the motor speed is calculated, we can feed that into a PWM loop. This is similar to the cruise control on your car, the closer you get to the set speed the more slowly you accelerate. The PID loop checks to see if the motor is spinning at the goalRPM value, and if not will adjust the output to the Sabertooth accordingly. The output of the PID loop is also limited to avoid a “runaway” state. Because our encoder has a max RPM of 5000, any higher speed causes the encoder to read incorrect (low) values. If the motor is actually spinning fast but the encoder is reading low, it tries to speed the motor up and this will continue until the motor is spinning at full speed (which is why we limit the PID to an output that provides lower than our limit RPM).

On this rough schematic you can see the basic workings of the hypocycloid circuitry.

Power

  • A 12V DC wall power supply provides the main power for the mechanism

Backup Power

  • Because the system has such a long life, backup power is needed. A 12V rechargeable battery is used that will kick in if the power goes out or the system is unplugged to be moved. This is done by creating a trickle charge circuit with a resistor and a diode – the resistor steps down the voltage to slowly and safely charge the battery while the diode allows current to flow to the SaberTooth at full voltage when powering the motor. Both wall power and backup power run to the SaberTooth, which in turn powers both our Arduino and motor.

Motor Control

  • Motor control is handled by a feedback loop created from the encoder, Arduino, and SaberTooth controller. The motor spins up, the encoder reads the speed in RPM, the Arduino compares that speed to how fast the motor should be spinning and sends that data via serial to the SaberTooth which adjusts the motor speed.