fpga4fun.com - where FPGAs are fun.
Home
Welcome
Information


FPGA projects
Music box
Pong game
R/C servos
Text LCD module
Quadrature decoder
PWM and one-bit DAC
Debouncer
LED displays
Crossing clock domains
External contributions

FPGA interface projects
RS-232
JTAG
I2C
EPP
SPI
CNC steppers

FPGA advanced projects
Graphic LCD panel
Digital oscilloscope
10BASE-T interface
PCI interface
Spoc CPU core

Hands-on
A simple oscilloscope


FPGA introduction
What are FPGAs?
How FPGAs work
FPGA pins
Clocks and global lines
Download cables
Configuration
Learn more

FPGA software
Design software
Pin assignment
Design-entry/HDL
Simulation/HDL
Synthesis and P&R

FPGA electronic
SMD technology
Crystals and oscillators

HDL info
HDL tutorials
Verilog tips
VHDL tips

Quick-start guides
ISE
Quartus

Site
News
FPGA links
HDL tutorials
Forum


Movement

Axes parameters

Each axis has two parameters:

For example, one axis could have a maximum acceleration of 20mm/s², and a maximum speed of 50mm/s.
From the motion formulas in continuous time, we can deduct than, starting from idle and using the maximum acceleration, we would reach the maximum speed after 2.5 seconds, and reach a position at that time of 62.5mm. Then using the maximum deceleration (-20mm/s²), we would move another 62.5mm, for a total of 125mm.

Linear motion on a single axis

Let's say we want to move one axis for a determined distance while leaving the other axes alone.

There are two cases: a short or long distance.

In the first case (short distance), we are not limited by the maximum speed, while in the second (long distance), we are.
For example, assuming an acceleration of 20mm/s² and a maximum speed of 50mm/s, a distance below 125mm fits the first case, and above 125mm the second case.

Linear motion on multiple axes

Here we want to move in a diagonal line - multiple axes are involved and need to move simultaneously and synchronously.

Usually only one axis runs at maximum speed, and the others run slower. So you determine the "master axis" (the one that runs at maximum speed), and if a speed plateau is required (if any axis reaches its maximum speed). To move in a straight line, make sure all the axes move using the same profile.

Non-linear motion

Here you usually build a list of coordinates that your CNC needs to follow, including the velocities required at each coordinates. Then you calculate the accelerations required. We'll let that to you.

Your turn to experiment!
Have fun engraving!






This page was last updated on January 29 2008.