Close



Results 1 to 4 of 4
  1. #1

    Custom printer inaccuracy, weird Z movement, enable pin problems

    Hello everyone,
    So, for a I've been building a very very sturdy 3d printer (also in the future hopefully a cnc router), strongly based on this: https://www.instructables.com/id/Ard...NC-3D-Printer/
    After a good bit of messing with Marlin, I finally got it moving. Was excited but then came the problems:

    - First of the horrible inaccuracy, well, I don't actually know if this is considered horrible, but 10% I would guess is The weirdest thing is, that I calculated the steps per mm with the prusa caltulator (I have 20 tooth pulleys and a 5mm belt pitch for X/Y, 5 mm pitch ball screw for the Z, all with 1/32 micro stepping), I got 64 s/mm for X and Y and 1260 s/mm for Z, put them into the firmware uploaded, tested it, was kinda weird, because I got around the 10% inaccuracy, so I tried to change to by 1 step or so but when I did, the inaccuracy was jumping around like crazy, between 5-20% (for tests of 300 - 400 mm movements), then I noticed that I didn't remove the micro step jumpers on my RAMPS 1.4 board, removed those, tried again, boom, got exactly the movements I tried, pretty much 0,5% accuracy, but then after some more testing, sometimes when I power on the printer, it goes back to the 10% and very rarely got back to the 0,5% (seems to be permanently back to the 10% now I guess), I haven't changed any settings (no movement related once, still have the same steps per mm). Can anyone think of why this is happening and how to fix this?
    - Most likely fixed: Z axis steps are the same and it remained precise, I adjusted the X and Y steps/mm from 64 to 59 which I tested before and it seems to be pretty accurate (for large moves, eg. 400 mm, there is a ~0,5% overshoot, but I am good with that for now, as I have to reprint some parts after I get it working anyways)

    - Second, even worse than the first one, my Z axis is behaving super weird. To explain it, it works fine when only the Z axis is moving, or when perimeters are being "printed" (currently I just use a pencil taped to the carriage for testing, I don't actually have an extruder connected at the moment), but when the infill is being printed and the X and Y are moving towards 0,0 the Z axis is for some odd reason moving up too, even tho the test print I have made and sliced only has 1 layer, it's a drawing, and only has 1 G1 command for the Z axis in the gcode, down below I will link a wiring diagram from the instructables project I linked in the beggining, since it is the same, I checked that I have everything connected like 50 times already, so I'm 100% sure it's connected as it is in the diagram, as I'm using the M542T stepper drivers, not anything that plugs into the RAMPS so I only plug into the step and dir pins for the axis. Also I had some problems with inverting directions in marlin, if that could have anything to do with it, when I inverted them the X axis stopped moving, Z axis commands were moving the X axis in only the negative direction and Y was moving only in the positive iirc, weird. Any ideas why?
    https://cdn.instructables.com/F65/0U...T26X.LARGE.jpg
    - Fixed : Solution: As per Roberts_Clifs suggestion, bigger stepper drivers require longer step pulses (30µs), so change #define MINIMUM_STEPPER_PULSE in Configuration_adv.h to 30.

    - Third and possibly not as important as the other ones, the enable pins, as I mentioned I'm not using stepper drivers which plug into the RAMPS, so I have to run cables between them and once again, I found problems. So, when the X/Y/Z_ENABLE_ON in marlin are on 0 (active low) are set, everything works, well as it should I guess (or inverted I'm not sure if the M542Ts need high for enabling the motors or low), I connected the pins and when I try to move any axis, it doesn't, when I disconnect the cable the given axis moves, so I was thinking that they need high signal to work. Went to marlin, se enable_on to 1 (active high), went back, had everything connected, everything moved. But, I tried to disconnect the individual wires to see if it works as it should (when disconnected the motors shouldn't turn when given a signal I thought). The X axis moved when enable was connected or disconnected, Z also, Y one motor was moving regardless of enable connection, 1 behaved even weirder, moved in only one direction. I have pul+, dir+ and enable+ connected to 5V, pul-, dir-, enable- to the RAMPS as in this:
    https://3dtoday.ru/upload/main/b03/%...%B0%D1%802.jpg
    Tho I have also seen it the other way somewhere, like this:
    http://1.bp.blogspot.com/-qvM7BrO1wE...mps_TB6560.png
    (the M542Ts have 5V in parenthesis next to the pul+, dir+ and ena+ inputs, so I thing the way I have it right now I have it correctly, but I don't even know what could be wrong to be honest)
    How would I get these to work correctly?

    For some more basic info that I can think of I'm running Arduino mega 2560, RAMPS 1.4, M542T stepper drivers, NEMA 23 motors (425 oz, 3,5 A), timing belt with 5 mm pitch and 15mm wide and T5 pulleys with 20 teeth, also a 16mm diameter ballscrew with 5mm pitch. I would post pictures, but I truly feel it is not needed as it looks the same as in the instructables project I linked in the beginning and the wiring is kind of a mess right now The only other thing worth mentioning is that I have homing to the min on X and Y and to the max on the Z.
    Please if you need any more info that you think could help you help me solve any of the issues, don't hesitate and ask away, I will try my hardest to provide the information, as I have spent like 3 days on these 3 issues and am starting to get a little bit desperate

    Thank you very much for any reply, advice or solution in advance,
    Have a good rest of the day,
    Chos5555
    Last edited by chos5555; 04-23-2020 at 03:40 PM.

  2. #2
    Staff Engineer Roberts_Clif's Avatar
    Join Date
    Jun 2017
    Location
    Washington State, USA
    Posts
    1,141
    Add Roberts_Clif on Thingiverse
    The problem with this board is that it requires a longer step pulse (30usec?) than the 1usec needed by the Pololu A4988 drivers.

  3. #3
    Quote Originally Posted by Roberts_Clif View Post
    The problem with this board is that it requires a longer step pulse (30usec?) than the 1usec needed by the Pololu A4988 drivers.
    Hi, thanks for your suggestion.
    I searched around for a bit and found you can set the stepper pulse in marlin in config_adv.h so I set it as follows #define MINIMUM_STEPPER_PULSE 30, unfortunately, I tested it with the X axis (I had to take the motors of the Y axis for now, cause yesterday when I was messing with the enable pins I stripped a set screw on one side lol) and it actually behaved the same as before, it was still 10% off, so what I tried, just to test is I set steps per mm from 64 to 59 (which I landed on before, as being pretty accurate) and it seemed to be pretty much spot on, within 1% definitely, I'm gonna keep testing it more and also test it for the Y axis when I put that back together.
    Perhaps any ideas why different amount of steps per mm than prusa calculater (and others) calculated would be correct?

    Edit: Actually, you were right, it fixed the Z axis movement while doing infill, YAY! Thanks a ton I will cross the one out or somehow mark it complete and add what I did to solve it in case anyone has a similar issue and finds this post.
    Last edited by chos5555; 04-22-2020 at 01:52 PM.

  4. #4
    I'm also gonna add one more thing. while doing a test print (test drawing with a pencil taped to the Z carriage), I notice the image being mirrored, I had my X axis the wrong way, because I wanted min to be at the motor side, so I was homing (had 0,0,z_max) at the back left. Yes, I feel stupid
    Found a good explanation on this reddit post, for anyone who has the same issue: https://www.reddit.com/r/3Dprinting/...home_location/

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •