Skip to content
jaymis edited this page Aug 16, 2020 · 12 revisions

This page has some issues people have reported whist getting started with g2core. Please feel free to add to this page if you have guidance that you think would help.

Motors Do Not Move

PROBLEM: The board seems fine, but the motors don’t move. This is from Issue #365

The default settings disable axes for safety. Axes need to be enabled.

If you’re using external drivers, the motor enable polarity may need to be set and power management enabled for the startup logic state to change.

Enabling Axes

When using text mode

Note - text mode is enabled using the $ej=0 command.

To tell if this is what’s happening to you, look for the am settings of your axes.

$x
[xam] x axis mode                 0 [disabled]
[xvm] x velocity maximum      18000 mm/min
[xfr] x feedrate maximum      18000 mm/min
[xtn] x travel minimum            0.000 mm
[xtm] x travel maximum          420.000 mm
[xjm] x jerk maximum           3000 mm/min^3 * 1 million
[xjh] x jerk homing           18000 mm/min^3 * 1 million
[xhi] x homing input              2 [input 1-N or 0 to disable homing this axis]
[xhd] x homing direction          1 [0=search-to-negative, 1=search-to-positive]
[xsv] x search velocity        2000 mm/min
[xlv] x latch velocity       100.00 mm/min
[xlb] x latch backoff             4.000 mm
[xzb] x zero backoff              2.000 mm
g2core[mm] ok> 
$y
[yam] y axis mode                 0 [disabled]
[yvm] y velocity maximum      17000 mm/min
[yfr] y feedrate maximum      17000 mm/min
[ytn] y travel minimum            0.000 mm
[ytm] y travel maximum          435.000 mm
[yjm] y jerk maximum           3000 mm/min^3 * 1 million
[yjh] y jerk homing           17000 mm/min^3 * 1 million
[yhi] y homing input              4 [input 1-N or 0 to disable homing this axis]
[yhd] y homing direction          1 [0=search-to-negative, 1=search-to-positive]
[ysv] y search velocity        2000 mm/min
[ylv] y latch velocity       100.00 mm/min
[ylb] y latch backoff             4.000 mm
[yzb] y zero backoff              2.000 mm
g2core[mm] ok> 
$z
[zam] z axis mode                 0 [disabled]
[zvm] z velocity maximum       1200 mm/min
[zfr] z feedrate maximum       1200 mm/min
[ztn] z travel minimum            0.000 mm
[ztm] z travel maximum           68.000 mm
[zjm] z jerk maximum           3000 mm/min^3 * 1 million
[zjh] z jerk homing            3000 mm/min^3 * 1 million
[zhi] z homing input              6 [input 1-N or 0 to disable homing this axis]
[zhd] z homing direction          1 [0=search-to-negative, 1=search-to-positive]
[zsv] z search velocity        1200 mm/min
[zlv] z latch velocity       100.00 mm/min
[zlb] z latch backoff             4.000 mm
[zzb] z zero backoff              4.000 mm

Note the "0 [disabled]" lines there. eg:

[xam] x axis mode                 0 [disabled]
[yam] y axis mode                 0 [disabled]
[zam] z axis mode                 0 [disabled]

To fix this, set the am values to 1:

$xam=1
$yam=1
$zam=1

The same applies to other axes as well. eg The a, b, c axes all have their own am variables too.

When using JSON mode

In the x/y/z lines, it’s showing those axis as disabled (check the am values):

{"r":{"x":{"am":0,"vm":1000,"fr":1000,"tn":0,"tm":0,"jm":1000,"jh":1000,"hi":0,"hd":0,"sv":500,"lv":100,"lb":4,"zb":2}},"f":[1,0,1]}
{"r":{"y":{"am":0,"vm":1000,"fr":1000,"tn":0,"tm":0,"jm":1000,"jh":1000,"hi":0,"hd":0,"sv":500,"lv":100,"lb":4,"zb":2}},"f":[1,0,1]}
{"r":{"z":{"am":0,"vm":1000,"fr":1000,"tn":0,"tm":0,"jm":500,"jh":500,"hi":0,"hd":0,"sv":250,"lv":25,"lb":4,"zb":2}},"f":[1,0,1]}

Change "am" to enable the axis:

{"r":{"x":{"am":1,"vm":1000,"fr":1000,"tn":0,"tm":0,"jm":1000,"jh":1000,"hi":0,"hd":0,"sv":500,"lv":100,"lb":4,"zb":2}},"f":[1,0,1]}

There is ongoing discussion on how best to change the defaults.

Setting Motor Enable Polarity

If you’ve enabled axes and the system is showing velocity/position status updates when you jog but motors still aren’t energizing or moving, you may need to modify the Enable Polarity and Power Management for your motors.

Enable polarity may default to HIGH depending on your board definition settings, so if your drivers are enable low they need polarity changed and power management enabled for the new logic state to be sent to the pins.

$1ep = 0 // Enable Polarity LOW
$1pm = 1 // Any setting other than 0 (disabled). If power management is disabled then the Enable Polarity change isn't sent to the pin.

These settings will need to be changed for all motors.

Arduino Due flash getting erased at random moments

PROBLEM: The flash on Chinese clones of Arduino Due is getting erased at seemingly random moments. This is from Issue #235

There was a hardware mistake in the older version of the Arduino Due (which happens to be the common version to be cloned in China) and luckily it is easy to fix by adding an SMD resistor to the PCB as explained here.

Clone this wiki locally