Simplification of the table configuration and Zero axis menus for entering the axis speed. The speed is modified using up/down arrows with an increment corresponding to the timer value.
Support of the version 4 of the GGC firmware.
Saving of foam management parameters between two calls.
License code automatically copied when entering the license menu.
This tutorial completes information that can be found in the help file that comes with GMFC. It is done for the EXPERT version that supports four different motors. If you use the PRO or LIGHT version, left and right motors have an identical configuration.
Table configuration
Open the Table Configuration dialog (GMFC/Table configuration).
The first thing to enter is the type of driver, parallel port or USB, that you use. If you use a GGC adapter, or the former MMUSB adapter, select the USB mode. Then, the timer value will be automatically determined.
If you use a parallel port based interface, select the appropriate entry with the corresponding timer value.
Then, you need to enter the characteristics of the motors, and the dimensions of your table:
Steps per revolution. That’s the number of steps required for the motor to perform one revolution. Older unipolar motors were 48, 50, or 100 physical (full) steps. Current bipolar motors are 100, 200, or 400 full steps. In addition to the physical steps, motor interfaces are able to insert intermediate (2, 4, 8, 16) steps between two full steps. The step configuration mode is set by the motor interface (usually using switches), and not within GMFC. Therefore, you must multiply the physical number of steps by the (inverse of the) step configuration mode. 1/2 and 1/4 step configurations usually provide smoother movements. In my openbuild table (see picture above), motors are 200 physical step motors used in 1/4 step mode. So steps per revolution equals 800.
Screw thread. That’s the distance the axis moves if the thread performs one revolution. If you are using a metric thread, you have to use the values in the following table:
Type
Screw diameter
Screw thread
M6
6mm
1mm
M8
8mm
1.25mm
M10
10mm
1.5mm
M12
12mm
1.75mm
In my openbuild table, I am using multi-threaded screws with an advance of 8mm per turn.
DIY or second hand screws are not always exactly at a metric thread value. To verify the exact screw thread, perform the longest possible displacement and measure the distance. The real screw thread equals:
Thread * (measured distance/entered distance).
Steps lost when going reverse. This is the number of steps that the motor does without moving the axis when changing direction. This value is not used by GMFC at the current time and should be set to 0.
Then, enter table dimensions:
Distance between wire supports. Be careful to measure the distance between the two wire support points, and not the distance between the Y axes.
Axes travel. That’s the maximum distance the axis can move. Be careful to measure the useful distance and not the length of screws.
Direction inversion. If the axis runs in the wrong direction, check this box to reverse movement. Therefore, you don’t have to modify cables.
Calibrating the table speed
Step motors have two behaviors in terms of speed: (i) From a complete stop, they can instantaneously reach a non-accelerated speed, (ii) then from the non-accelerated speed, they can increase speed progressively to a faster accelerated speed. The limit is given by the motor torque and the friction in the machine. Also, higher is the speed, lower is the motor torque. When the speed is too high, the motor torque becomes insufficient for moving the axis and the motor will stall. The calibration process is to determine the safe limit for the non-accelerated and the accelerated speeds. This is done by performing long distance travels for all axes using the GMFC/Zero axis dialog.
Precision is critical for foam cutting and safe fast movements. To achieve a high level of speed precision, GMFC relies on a high frequency timer, with a frequency of up to 50Khz (20 us) with the GGC adapter. For this reason, accelerated and non-accelerated speeds are specified in GMFC using the timer. Since speed = distance/time, time is expressed using a multiple of the timer value. Increasing the time lowers the speed, decreasing the time raises the speed.
There are three fields per axis to calibrate: (i)
Minimum time between steps no acceleration, for the non-accelerated speed. Using the arrows will increase/decrease the time by one timer unit.
Minimum time between steps with acceleration, for the accelerated speed. Note that acceleration is only supported by GMFC PRO and GMFC Expert.
Acceleration steps. This is the number of steps that are used by GMFC to progressively reach the accelerated speed, from the non-accelerated speed. A number of steps corresponding to half a revolution is a good starting value.
Now, let’s open the GMFC/Zero axis dialog to perform the calibration.
I have created a dummy table for the tutorial with 1mm screws and 200 steps motors used in half step mode that results to 400 steps in the table configuration. Set the Time between steps to a value (here 1200) so that the speed is around 2mm/s for all axes. This speed is sufficiently low to to work without problems. Be sure that acceleration is not used by having the Time between steps with acceleration equals or higher to the Time between steps. Uncheck Synchronized Axes, so that you can move all axes independently.
Let start with the Left X axis. Enter a distance between 10 and 50mm, and press Go to start movement.
Check that the left axis has indeed made a move of 50mm. If not, check all table parameters.
If the move is correct, you can now increase the speed to around 3mm/s, by lowering the Time between steps to 800us. You can inverse the direction of the movement by pressing on the Rev button that negates all distances. Please note that you should not use the arrows to test speed.
Repeat the process of increasing the speed until the motor stalls. We are now too fast.. and we need to lower the speed by one timer unit using the arrows (at the right of the Time field) until the motor travels safely without stalling.
Now, you must perform the “Schizo” test which is to chain up several round-trip travels. This ensures that when going reverse, the motor will not stall. Let’s do 10 round trips over a distance of 20mm.
The final test is to perform moves for the complete length of the axis, so that you are sure that there is no point of friction. Voila, the non-accelerated speed for the Left X axis is calibrated !
Let’s calibrate now the accelerated speed. The methodology is the same as the one for the non accelerated speed. Start by choosing a speed higher than the non-accelerated one, then test displacement.
Repeat the test while increasing the speed until you reach motor stall. Then, lower sightly the speed so as to be safe. Finally, you can adjust the number of acceleration steps in the table configuration so as to shorten or increase the acceleration phase. Note that with acceleration you may double the non-accelerated speed.
Now that we are done with the X left axis, you can check that the settings are also valid for the X right axis.
Step 1. Load the project designed in the previous lesson
GMFC stores a reference to the four last projects used. You can open them using the file/(1..4) menu.
Let’s open the multi_taper.cnc project.
The first panel is activated when the project after the project is open.
Step 2. Place the block on the table
Open the Cut/Panel Cut dialog.
The first thing to do is to select the foam material that will be used for this project.
The foam material should have been calibrated before cutting the project. Please practice the foam calibration tutorial.
After selecting the material, GMFC displays in the information window if the cut can be done or not.
Here, GMFC tells that the block can’t be cut because the left Y axis would go below 0 at point 35 of the lower surface. The reason is due to taper. The tip is smaller than the root, so the wire is lower at root (and left) than at the tip (and right). The problem is amplified at the axis level, hence the limit overflow.
The block should be moved so that the overflow disappear. There are three ways to do that:
Increase the basic height in the panel setting,
Add a wedge in Y under the block using some foam,
Move the block closer to the root (left) axis.
Personally, I don’t like the block to be centered in Z since it’s hard to obtain an accurate placement. So I always use solution 3 and position the block as close as possible to the root axis. For most of the wings, this is the configuration that gives the highest cutting speed, since it reduces the travel distance at the axis level.
On my table, the usable margin to the axis is 40mm. By placing the block to that position, you can see in the information window a message in blue, which means that there is no more error and that the cut can be safely done. The message tells where the limiting point is (here lower surface point 74). Using the travel distances at axis level, and the maximum machine speed, GMFC computes the maximum cutting speed which here is 4.03mm/s.
Note that if you want to cut at a lower speed, you can the cut speed to user choice, and enter the desired speed.
What if we want to cut a left wing? just select Left Wing in the cut parameter.
Step 3. Cut the block
We are done now. Just click on the Cut button.
GMFC shows a window that resumes the cut parameters and the total cutting time. You can proceed by clicking on OK or abort by clicking on Cancel.
I needed to modernize the tools I use to generate GMFC. Therefore, I switched to recent Microsoft tools. The downside is that the minimal version version of Windows required to run GMFC is Windows XP. Any change of tools may induce incompatibilities so this version is a test version until no one complains.
Still, there are few novel features and bug corrections:
If the USB adapter when GMFC is launched, it asks to change the table configuration to USB.
The wing active side is changed only if the full view mode is activated.
Bug in recognizing the timer value for the USB adapter.
Download the project from this url and save it to your PC in the directory of your choice.
Start GMFC PRO by double-clicking on the project. GMFC will open the project.
To show the points and their numbers, click on the “cut coordinate” icon, and set the point multiple to 1 in the toolbar.
The project contains a circle of 24 points at the root side,
and a polygon of 5 points at the tip side.
Step 2. Use the alignment mode
Click on the alignment icon in the toolbar.
The two shape are now displayed one on top of the other.
Now move the cursor on top of the point 0 of the tip. The cursor will turn into a green cross. If you move the cursor over a root point, the cursor turns to red. The number of the point is shown in the status bar.
While the cursor is on top of the tip 0 point, left click. The first segment of the tip is selected and is shown in red.
Now, move the cursor to the first point (point 0) of the root shape, and select the first segment by a left click.
Then, move the cursor to the point 6 of the root and SHIFT+click on it. This will extend the selection from point 0 to point 6.
Note that the status bar shows the point under the cursor, and the current root/tip selections.
Now Right-click, the following menu will appear.
For information, the “Root display”/”Tip display” entry allows to enable/disable the display of root/tip shapes.
Click on “Segment synchronization”.
The first 6 segments are now synchronized. Note that the first point at the tip is numbered “6”. This means that the former first tip segment has been divided into 6 new segments.
Note that GMFC automatically selects the next segment at root and tip.
Now select root segments 6-12, by SHIFT+Click on root point 12.
And synchronize these six segments again.
Repeat the process for root point 16.
Then do the synchronization with root point 20.
Finally for t the last tip segment, we use a different method. Put the cursor over tip point 20, and double click on it.
A dialog let you set the number of points in the segment. Change it from 2 to 5.
We have now the same number of points at root and tip. Synchronization is done. We can exit the alignment mode either by the entry in the menu, or the alignment icon.
So after exiting the alignment mode, we can see that GMFC has created the additional points in the tip shape.
So what we have learn? Click on a point sets the beginning of a selection. SHIFT+Click sets the end of the selection. “Segment synchronization” computes the smallest multiple number and adjust the number of points. Double Click allows to enter the number of points in a segment.
Step 3. Aligning the shapes
We want to center the shapes in X (and in Y). To do that, go to the panel management dialog.
To center the two shapes in X, check the “X centered” box. GMFC will compute the sweep back when exiting the dialog. To position the shapes in Y, you have to adjust the “Basic height” values.
To check the shape positions, you can superpose the shape views using the “superposed profiles” icon in the toolbar.
Step 4. Cutting the project
Go to the cutting dialog “Cut/Panel cut”. Set the foam type, and then the block position in Z.
For a precise cutting, I don’t place the block in the middle of the table, but at a specific offset from the root axis.
On my table, the closet position is 40mm from the root axis. As you can see in the picture above, GMFC tells that position does not work for this project, because at point 16 the wire would go underneath the table.
So we have to move the block. One solution is move it higher by using a foam wedge (or a higher block). Here a 10mm wedge will work.
The second solution is to move the block in Z further into the table. An offset of 240 will work.
You can see that the error is gone. The information message turns to green which means that cutting will work. It also tells that the cutting speed (4.5 mm/s) is limited by the wire heat which in that case is 99%.
After pressing on the “Cut” button, you get this final dialog that summarize cutting parameters including the cutting time.
Go to “Project/Current Panel Configuration”, or press “Ctrl+T”, or double-click on the profile.
Set the wing mode by checking the “Wing panel” box.
Set also the “Different Roo/Tip” box.
And set the Panel span (here 300mm).
Then, set the root chord (200mm) and the Sweep Back (50mm).
Now we have to select the profiles. Click on the “Airfoil” file button.
GMFC opens the profile directory (see GMFC/Configuration and Files). Possible formats are .dat and .cor files. Just select the desired profile.
Do the profile selection for both the root and the tip. Then exit the dialog by clicking on OK. Here is the result.
Now let’s see the wing from above using View/Wing.
The main window is now spitted in two sub-windows.
Step 2. Addition of a new panel at the tip.
Use “Project/Panel management/New at end” to create the new panel.
There is now a new rectangular panel those chord is the same as the tip. Note the the new panel is selected as the current one. You can change the current panel by clicking on a panel in the wing window.
Open the panel configuration, and set the parameters (Span = 100mm, Tip Chord = 120mm, Sweep back = 30mm).
Here is the result.
Step 3. Panel alignment on the upper surface
By default the two panels are aligned on the lower surface. Let’s align them to the upper surface.
This is done using the alignment toolbar. Just click on the desired icon. Note that you can align either on the upper surface, the lower surface or the middle.
Step 4. Save the project
Open the dialog “File/Save” or “File/Save as”.
Now you can navigate in directories and choose a name for your project.
TB6600 drivers are interesting because they can work up to 40V and 4A. Therefore, they can drive a large variety of bipolar stepper motors. These drivers are also affordable with a price below 10 euros on ebay or aliexpress.
TB6600 drivers are available under several packaging with different maximal current and voltage. However, connections are mostly identical.
On the motor side, there are :
VCC (DC+), GND (DC-) that must be connected to the motor power supply.
A+,A- and B+,B- the four motor signals.
On the GGC side, there are:
PUL+, PUL- that are the step control signal.
DIR+, DIR- that control the direction of the move.
ENA+, ENA- that control powering of the motor. This signal is optional and avoids heating the motor when not used.
The PUL+, DIR+ et ENA+ should be connected to +5V on the GGC. The pin 20 on port J4 can be used for this purpose as shown on the following picture.
ENA- should be connected to the DB25 parallel port, either to pin 1 or to pin 17. PUL- should be connected to pin 2, DIR- should be connected to pin 3. Other motor drivers should be connected to pin 4 to 9. This is only an example since the configuration of STEP and DIR signals is fully configurable within the ggc_utility.
Using the ggc_utitity the timer should be set to 50Khz, the duration of the STEP signal and the delay for Dir before Step should be set to 2 us. Here, Motor ON is on pin 1, and should be Active High.
Several DB 25 pins are also available on J4:
DB.17 (Motor Enable) -> J4.2
DB.2 (step Motor1) -> J4.13
DB.3 (data Motor1) -> J4.15
DB.4 (step Motor2) -> J4.9
DB.5 (data Motor2) -> J4.11
DB.6 (step Motor3) -> J4.5
DB.7 (data Motor3) -> J4.7
DB.8 (step Motor4) -> J4.1
DB.9 (data Motor4) -> J4.3
Note that If you want to use J4, you have to use Pin17 (J4.2) for motor On, since DB.1 is not available on J4.
I tested the TB6600 drivers under GMFC using a NEMA23 motor (200 steps) without being attached to an axis. The power supply voltage is 28V. Higher the voltage, faster the movement, but the heat may also be higher. I obtained the best performance with the current set to 2A.
Here is the table configuration. The motor is attached to the YL axis.
The motor is set to half step mode in the driver, so the number of steps per revolution is 2×200. To fully check the speed configuration, you have to performe two ways movements using the Zero axis dialog. The number of steps for performing acceleration is set to 400. The time between two steps for the no acceleration speed is 620us. With acceleration, it goes down to 260us.
These numbers are good. With my Letmathe motor interface, I get sightly better results with my openbuild table, but my power supply has also a higher voltage.
GMFC’s configuration is stored is a set of files that need to be backup regularly in case of a computer crash. If you change your cutting computer, you will also have to transfer these files to the new machine.
Table parameters such as their size and displacement speed are stored in a file named name_table.bd, with name being the name of the table. Foam cutting parameters such as the kerf and the speed are stored in a file named name_foam.bd. There is also a file named TableNames.bd that summarizes all the tables. All these files are text based and can be edited with the notebook.
So where do you find these files?
Start GMFC, and open the dialog “GMFC/Configuration and Files”
The Configuration Directory is shown on top of this dialog.
Now open this directory using the file explorer. After exiting GMFC, you can backup the complete content of the directory or transfer it to a new PC.
When transferring to a new PC, you can copy the configuration files to any directory. Start GMFC, then open “GMFC/Configuration and Files” and set the configuration directory. You should now see your table and foam configurations.
Fusion 360 is a great CAD program, and quite easy to learn. For now, it is also free for personal usage. I have already used it to design few models.
Here is a tutorial that explains how to design a “simple” shape using Fusion and then exporting it into a GMFC EXPERT (and PRO) project.
First, you need to start Fusion, and create a new design (File/New Design).
Using the view cube in the right, select the front view.
Then, create a sketch (Create/Create Sketch). Select the (front) plane to define the sketch on the front.
Now draw a hexagon using Lines. Then finish the sketch.
Now, we are going to create the second face. First, we need to create a second plane parallel to the first one. Use Construct/offset plane for this. Select the front plane which is the XY plane in the Origin section in the browser, and enter the distance between the two faces (here 60mm).
There is a new plane in the construction section. Right click on the plane and select “Create Sketch”.
Draw a circle on this face, and center it with respect to the hexagon.
Now we need to split the circle so that we can synchronize both faces. Here we want to divide it in 6 parts corresponding to each side of the hexagon. For this, let’s draw lines from between each hexagon opposite points. Change the type of the lines to “Construction Lines”.
The next step is to break the circle at the intersection of the construction lines. Use the break tool in the “Modify” menu.
Cut also the construction lines outside the circle, using again the break tool. Then finish the sketch.
Now, we need to construct the 3D view of the object, so as to check the final result. Select the “Loft” tool in the create menu, then the two profiles.
Here is the result.
Note that we could have split the circle in other ways. The construction lines are there only to ensure that all part are symmetric. What matters is that in the end there are the same number of segments in each profile.
Now we need to create a GMFC project from this shape. The solution relies on exporting both sketches into DXF files. Fusion does that, but it also exports construction lines which would require editing the DXF using a CAD program. My solution is to create a script for fusion that does the exportation while removing the construction lines.
Uncompress the zip file in a directory. You need to install the script within Fusion. This should be done only once. Call the script menu using the “S” command. Then click on the green cross and select the installation directory. “ExportDXFSelection” should be now present under “My Scripts”.
Select “ExportDXFSelection”, and click on “Run” to launch the script. A windows is displayed with the number of sketches selected.
Select the sketches you want to export, then click on “OK”. A new pop-up window appears for selecting a directory where the DXF are saved. There is a file for each sketch. The name is constructed by concatenating the design name and the sketch name.
Then for each sketch, the script displays the bounding box, i.e., the limits of the sketch.
Finally, the script displays the delta in X and Y. This information is critical for correctly positioning both profiles when creating the GMFC project.
Now, we can create the GMFC project. Start GMFC, open the panel parameter. Select “Different root/tip”.
Enter the DeltaX value in the “Sweep back” field. Add the DeltaY value to the root “Basic Height” and enter it in the tip “Basic Height”. Enter the distance between the plans into “Panel span”.
Enter the alignment mode. We need now to assign the same number of cutting points to each corresponding segment at root and tip.
Double-click on a segment and set the number of points.
Voila, you are nearly done for the design part… now you have to cut the shape.
Note that this project induces a lot of sweep back in X and Y… I used a 100mm wedge for cutting the shape. Fortunately, my Y axes are large. Here is a video of the cutting…
This tutorial is for GMFC EXPERT. If you are using GMFC PRO, you need to transform the DXF files using a CAD tool. Split each segment into the desired number of lines, then finally merge them into a polyline.