Troubleshooting Guide
Troubleshooting Guide Diagnosis and Solutions for Common Issues 1. Hardware Issues Q: Motors not moving after power-on? Possible Causes: Power not connected or voltage insufficient A4988 driver not properly inserted Motor enable pin (ENABLE) wired incorrectly Solutions: Use multimeter to check 12V p
Troubleshooting Guide
Diagnosis and Solutions for Common Issues
1. Hardware Issues
Q: Motors not moving after power-on?
**Possible Causes:**
-
Power not connected or voltage insufficient
-
A4988 driver not properly inserted
-
Motor enable pin (ENABLE) wired incorrectly
**Solutions:** -
Use multimeter to check 12V power supply voltage
-
Check if A4988 indicator LED is on
-
Send
M17to manually enable motors -
Check if GPIO12 (ENABLE) is wired correctly
Q: A4988 overheating?
**Causes:** Current limit set too high
**Solution:**
-
Power off immediately
-
Install heat sink
-
Adjust A4988 potentiometer (counterclockwise to reduce current)
-
Reference current formula: Vref = I × 8 × Rs (Rs=0.1Ω)
-
For NEMA17 (1.5A): Vref ≈ 1.2V
Q: Vacuum pump not working?
**Check Items:**
-
Relay wiring correct (input, VCC, GND)
-
Relay indicator LED lights up when sending
M121 -
Pump power connection correct (12V)
-
Test pump directly connected to power supply
Q: Poor suction effect?
**Possible Causes:**
-
Air leak in pneumatic tubing connections
-
Solenoid valve damaged
-
Suction cup worn out
**Solutions:** -
Check all tubing connections, ensure tight fit
-
Manually test valve (should click when energized)
-
Replace aged suction cup
Q: Abnormal mechanical noise?
**Check:**
-
Ball joints properly installed, not too tight/loose
-
Gear meshing correct, no missing teeth
-
Motor mounting screws tight
-
No interference with other components during arm movement
2. Software Issues
Q: Serial port connection failed?
**Solution:**
-
Check port number: Open Device Manager → Ports (COM & LPT) to confirm correct COM port
-
Install driver: Download CP2102 or CH340 driver
-
Close other programs: Ensure Arduino IDE or other serial tools are not occupying the port
-
Replug USB: Try different USB port
Q: Python dependency error?
# Upgrade pip
python -m pip install --upgrade pip
# Clear cache and reinstall
pip cache purge
pip install -r requirements.txt --force-reinstall
# If specific library fails (e.g., opencv)
pip install opencv-python==4.10.0.84
Q: Camera not recognized?
**Check:**
-
Windows Settings → Privacy → Camera permissions enabled for Python
-
Test camera with Windows Camera app
-
Modify
VideoCapture(0)toVideoCapture(1)or2
Q: Firmware upload failed?
**Check:**
-
Board selection correct: ESP32 Dev Module
-
Port selection correct
-
Hold BOOT button while uploading (if auto-reset fails)
-
Reduce upload speed: 115200 → 57600
Q: GUI won't start?
# Verify Python version
python --version # Must be 3.10
# Verify PySide6
python -c "import PySide6; print(PySide6.__version__)"
# If error, reinstall
pip uninstall PySide6
pip install PySide6
3. Motion Issues
Q: Robot arm position inaccurate?
**Possible Causes:**
-
Arm length parameters incorrect
-
Step loss occurred
-
Motor current too low
**Solutions:** -
Re-measure arm lengths: Use calipers to measure, update
robotGeometry.cpp -
Increase current limit: Slightly turn A4988 potentiometer clockwise
-
Reduce acceleration: Decrease
Fvalue in GCode (e.g.,G1 X10 F500)
Q: Movement stuttering or non-uniform?
**Check:**
-
Ball joints too tight (manual rotation should be smooth)
-
A4988 microstep setting (recommended 16 microsteps)
-
Mechanical friction in arms (lubricate ball joints)
Q: Out of range error?
**Cause:** Target coordinates beyond workspace
**Workspace limits:**
-
Radial: R ≈ 100mm (center to XY plane distance)
-
Z-axis: -320mm ~ -140mm (relative to base)
**Solution:** Check target coordinates within limits
Q: Homing inconsistent position each time?
**Check:**
-
If using limit switches, check if triggered reliably
-
If using HOME_STEPS, ensure motors don't skip steps
-
Add mechanical end stops for consistent reference
4. Vision Issues
Q: YOLOv8 detection inaccurate?
**Optimization:**
-
Improve lighting: Avoid strong shadows, use uniform lighting
-
Calibrate camera: Run checkerboard calibration to correct distortion
-
Adjust confidence threshold: In code:
model(frame, conf=0.5) -
Train custom model: Collect your object dataset for training
Q: Coordinate transformation large error?
**Re-calibration Steps:**
-
Re-mark 4 or more calibration points on workspace
-
Accurately record pixel and physical coordinates
-
Regenerate
homography_matrix.npy -
Verify with known position objects
Q: Video stream lagging?
**Optimization:**
# Reduce resolution
cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640)
cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480)
# Lower frame rate
cap.set(cv2.CAP_PROP_FPS, 15)
# Use smaller YOLOv8 model
model = YOLO('yolov8n.pt') # nano (fastest)
Still Can't Solve the Problem?
Seek help from the community:
-
Email Support (service@nenpower.com)
-
Community Forum
-
Email: service@nenpower.com
Last updated 8 Aug 2026