-
Notifications
You must be signed in to change notification settings - Fork 298
Troubleshooting
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.
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.
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.
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.
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.
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.
Getting Started Pages
- Home
- What is g2core?
- Who uses g2core?
- Jerk-Controlled Motion
- Getting Started with g2core
- Connecting to g2core
- Configuring g2core
- Flashing g2core
- Troubleshooting
Reference Pages
- Gcodes
- Mcodes
- Text Mode
- JSON Communications
- GPIO Digital IO
- Alarms & Exceptions
- Power Management
- Coordinate Systems
- Status Reports
- Status Codes
- G2 Communications
- Tool Offsets and Selection
- Probing
- Feedhold, Resume, Job Kill
- Marlin Compatibility
- 9 Axis UVW Operation
- gQuintic Specs
Discussion Topics
- Roadmap
- GPIO for 1.X Releases
- Toolheads
- Raster Streaming Prototol
- g2core REST Interface
- Gcode Parsing
- G2 3DP Dialect
- Consensus Gcode
- Digital DRO
- Overview of Motion Processing
Developer Pages
- Development & Contribution
- Branching and Release - DRAFT
- Getting Started with g2core Development
- Project Structure & Motate
- Compiling G2
- OSX w/Xcode
- OSX/Linux Command Line
- Windows10 w/AtmelStudio7
- Debugging G2 on OSX
- Board and Machine Profiles
- Arduino Due Pinout
- Arduino DUE External Interfaces
- Diagnostics
- Debugging w/Motate Pins
- Development Troubleshooting
- g2core Communications
- Git Procedures
- Windows 10 / VMware 8 Issues
- Dual Endpoint USB Internals
- G2core License
- VSCode Setup
- Compatibility Axioms
- Wiki History