bdring / 6-Pack_CNC_Controller

MIT License
289 stars 71 forks source link

6 pack built in esp, motors don't move #71

Open Kevycnc opened 9 months ago

Kevycnc commented 9 months ago

I have a 6 pack controller that I have gone over the wiring multiple times. Had a friend also look at it. to confirm. I seem to have everything hooked up correctly. I can Enable and disable the motors with commands. However if I try to jog any, they all lock up and of course nothing moves. This was purchased on Tindie order 442504. Hoping I can get assistance with the correct config to start.

One other weird thing I noticed on the board. I have 3 axis wired up. But for some reason the ENA led on what would be Motor 5 (Ena I2SO.16 from the pinout on the wiki) is always lit when the controller is powered on.

Thanks.

I do suspect most of its because of my config file as I have struggled with it and tried a few while making changes to suit. I see one alarm mentioned at the end. I try to clear prior to jogging. Should note I currently have no limit switches set up.

My Startup messages:
$ss [MSG:INFO: FluidNC 3.7.13 https://github.com/bdring/FluidNC]] [MSG:INFO: Compiled with ESP32 SDK:v4.4.4]] [MSG:INFO: Local filesystem type is spiffs]] [MSG:INFO: Configuration file:config.yaml]] [MSG:INFO: Machine 6 Pack External XYZ]] [MSG:INFO: Board 6 Pack]] [MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]] [MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]] [MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN freq:8000000]] [MSG:INFO: Stepping:I2S_stream Pulse:4us Dsbl Delay:0us Dir Delay:1us Idle Delay:250ms]] [MSG:INFO: Axis count 3]] [MSG:INFO: Axis X (0.000,730.000)]] [MSG:INFO: Motor0]] [MSG:INFO: stepstick Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0]] [MSG:INFO: X Neg Limit gpio.33]] [MSG:INFO: X Pos Limit gpio.32]] [MSG:INFO: Axis Y (-880.000,0.000)]] [MSG:INFO: Motor0]] [MSG:INFO: stepstick Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7]] [MSG:INFO: Y Neg Limit gpio.35]] [MSG:INFO: Y Pos Limit gpio.34]] [MSG:INFO: Axis Z (-50.000,0.000)]] [MSG:INFO: Motor0]] [MSG:INFO: standard_stepper Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8]] [MSG:INFO: Z Neg Limit gpio.2]] [MSG:INFO: Z Pos Limit gpio.25]] [MSG:INFO: Kinematic system: Cartesian]] [MSG:INFO: Using spindle NoSpindle]] [MSG:INFO: STA SSID is not set]] [MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]] [MSG:INFO: AP started]] [MSG:INFO: WiFi on]] [MSG:INFO: Captive Portal Started]] [MSG:INFO: HTTP started on port 80]] [MSG:INFO: Telnet started on port 23]] ok <Alarm|MPos:0.000,0.000,0.000|FS:0,0|Pn:XY|WCO:0.000,0.000,0.000>


board: 6 Pack
name: 6 Pack External XYZ
meta: Kev Setup

stepping:
  engine: I2S_STREAM
  idle_ms: 250
  pulse_us: 4
  dir_delay_us: 1
  disable_delay_us: 0

axes:
  shared_stepper_disable_pin: NO_PIN
  x:
    steps_per_mm: 100.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 50.000
    max_travel_mm: 730.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: false
      mpos_mm: 0.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.33
      limit_pos_pin: gpio.32
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm:1.000
      stepstick:
        ms3_pin: i2so.3
        step_pin: I2SO.2
        direction_pin: I2SO.1
        disable_pin: I2SO.0

  y:
    steps_per_mm: 100.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 50.000
    max_travel_mm: 880.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: true
      mpos_mm: 0.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.35
      limit_pos_pin: gpio.34
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm:1.000
      stepstick:
        ms3_pin: i2so.6
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7

  z:
    steps_per_mm: 100.000
    max_rate_mm_per_min: 5000.000
    acceleration_mm_per_sec2: 50.000
    max_travel_mm: 50.000
    soft_limits: false
    homing:
      cycle: 2
      positive_direction: true
      mpos_mm: 0.000
      feed_mm_per_min: 100.000
      seek_mm_per_min: 200.000
      settle_ms: 500
      seek_scaler: 1.100
      feed_scaler: 1.100

    motor0:
      limit_neg_pin: gpio.2
      limit_pos_pin: gpio.25
      limit_all_pin: NO_PIN
      hard_limits: false
      pulloff_mm:1.000
      standard_stepper:
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8

i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  card_detect_pin: NO_PIN
  cs_pin: gpio.5
bdring commented 9 months ago

If you only use i2so numbers less than 16 the controller is not actively setting the higher i2so number values.

Kevycnc commented 9 months ago

HI, the stepper drivers are DM556T for Y axis, DM542T for X and Z axis. I am unclear what you mean about the jumper configuration. I will attach some pictures. Edit: I did try unhooking the ENA signal as some suggested, but then the Motor enable and disable commands stopped working, so I put it back for now.

6 Pack Controller x axis y axis z axis

bdring commented 9 months ago

That is not technically a 6 Pack. It is a 6x which does not have the plug in modules. No jumpers to worry about on this controller.

Kevycnc commented 9 months ago

Hi, apologies for the confusion on the board type. The step LED's do show dim when trying to move. Other motor LED's go off until what I assume is the command completing, I tried to change the Pulse_us setting to 12 and then 8 ( I didn't see a pulse_ms in the file). At 8 it seemed the Step LED's were brighter when trying to move, but still no success. The appropriate step LED dimly lights, however it appears all motors lock whenever I send a jog command. Even though I only attempt to jog one axis at a time.

Appreciate the help on this.

bdring commented 9 months ago

If the correct step LEDs glow during the motion, the controller is setup right.

The signal that goes to the LED also goes to the driver.

Are you sure the driver switches are right?

bdring commented 9 months ago

All motors lock during any motion.

Many people will set idle_ms: 255 to keep motors locked at all times. This prevents drift between moves. You can always unlock with $MD or $MD=<axes>

Kevycnc commented 9 months ago

Hi, that makes sense on the motors locking up. I have went through the driver switches, rechecked motor and controller wiring and all seems good. Lights all proper when sending commands or trying to jog, except for the one that's not even in use. I am still concerned why there is the one random LED lit all the time on the motor 5 ENA led. Is this a problem?

Currently my motor drives are set to proper current for each motor. And they are set to microstep 4 which is 800 steps/rev. I changed my Yaml file in an attempt to get things moving. Im am a total noob at this Yaml so it could be something in my setup so far. I know on Tindie it was offered to have a file setup based on some information sent. I didn't do it at the time as I wasn't sure yet. I don't mid learning and trying, but wondering if I am fighting against it as well.


board: 6 Pack
name: 6 Pack External XYZ
meta: Kev Setup

stepping:
  engine: I2S_STREAM
  idle_ms: 250
  pulse_us: 4
  dir_delay_us: 5
  disable_delay_us: 0

axes:
  shared_stepper_disable_pin: NO_PIN
  x:
    steps_per_mm: 20
    max_rate_mm_per_min: 100.000
    acceleration_mm_per_sec2: 25.000
    max_travel_mm: 730.000
    soft_limits: false

    motor0:
     standard_stepper:
        step_pin: I2SO.2
        direction_pin: I2SO.1
        disable_pin: I2SO.0

  y:
    steps_per_mm: 20
    max_rate_mm_per_min: 100.000
    acceleration_mm_per_sec2: 25.000
    max_travel_mm: 880.000
    soft_limits: false

    motor0:
      standard_stepper:
        step_pin: I2SO.5
        direction_pin: I2SO.4
        disable_pin: I2SO.7

  z:
    steps_per_mm: 20.000
    max_rate_mm_per_min: 100.000
    acceleration_mm_per_sec2: 25.000
    max_travel_mm: 50.000
    soft_limits: false

    motor0:
      standard_stepper:
        step_pin: I2SO.10
        direction_pin: I2SO.9
        disable_pin: I2SO.8

i2so:
  bck_pin: gpio.22
  data_pin: gpio.21
  ws_pin: gpio.17

spi:
  miso_pin: gpio.19
  mosi_pin: gpio.23
  sck_pin: gpio.18

sdcard:
  card_detect_pin: NO_PIN
  cs_pin: gpio.5

Startup still no errors
$ss
[MSG:INFO: FluidNC 3.7.13 https://github.com/bdring/FluidNC]]
[MSG:INFO: Compiled with ESP32 SDK:v4.4.4]]
[MSG:INFO: Local filesystem type is spiffs]]
[MSG:INFO: Configuration file:config.yaml]]
[MSG:INFO: Machine 6 Pack External XYZ]]
[MSG:INFO: Board 6 Pack]]
[MSG:INFO: I2SO BCK:gpio.22 WS:gpio.17 DATA:gpio.21]]
[MSG:INFO: SPI SCK:gpio.18 MOSI:gpio.23 MISO:gpio.19]]
[MSG:INFO: SD Card cs_pin:gpio.5 detect:NO_PIN freq:8000000]]
[MSG:INFO: Stepping:I2S_stream Pulse:4us Dsbl Delay:0us Dir Delay:5us Idle Delay:250ms]]
[MSG:INFO: Axis count 3]]
[MSG:INFO: Axis X (-730.000,0.000)]]
[MSG:INFO:   Motor0]]
[MSG:INFO:     standard_stepper Step:I2SO.2 Dir:I2SO.1 Disable:I2SO.0]]
[MSG:INFO: Axis Y (-880.000,0.000)]]
[MSG:INFO:   Motor0]]
[MSG:INFO:     standard_stepper Step:I2SO.5 Dir:I2SO.4 Disable:I2SO.7]]
[MSG:INFO: Axis Z (-50.000,0.000)]]
[MSG:INFO:   Motor0]]
[MSG:INFO:     standard_stepper Step:I2SO.10 Dir:I2SO.9 Disable:I2SO.8]]
[MSG:INFO: Kinematic system: Cartesian]]
[MSG:INFO: Using spindle NoSpindle]]
[MSG:INFO: STA SSID is not set]]
[MSG:INFO: AP SSID FluidNC IP 192.168.0.1 mask 255.255.255.0 channel 1]]
[MSG:INFO: AP started]]
[MSG:INFO: WiFi on]]
[MSG:INFO: Captive Portal Started]]
[MSG:INFO: HTTP started on port 80]]
[MSG:INFO: Telnet started on port 23]]
ok
<Idle|MPos:0.000,0.000,0.000|FS:0,0|WCO:0.000,0.000,-50.000>

Thanks again.
Kevycnc commented 9 months ago

Success! I'm an idiot. It was a driver setting/switch. For future reference for anyone who missed it like me, they were set to 24V and I completely missed the switch to 5V. So now I believe I can adjust the yaml file to get it where I need.

I am still wondering about the random LED that's lit. Perhaps a bad LED?

Thanks for the assistance.

bdring commented 9 months ago

I think the LED might turn off if you use anything in the 16-31 range. Try adding this or change the number to the actual offending LED pin number.

user_outputs:
  digital0_pin: i2so.16
bdring commented 9 months ago

The LEDs actually helped a lot here, because we knew the problem was outside the controller.