No announcement yet.

I fixed my Artist-D Pro, you will not believe what was wrong.

  • Filter
  • Time
  • Show
Clear All
new posts

  • I fixed my Artist-D Pro, you will not believe what was wrong.

    As you all know I thought my right (second) extruder was broken because it was heating up, but the stepper motor was not turning. So here is what I learned, most of it from people in this group and by breaking stuff. I am sharing this to help other readers.
    1. The cable breakout boards on the top of the right and left extruder are different, and the board in the Artist-D and Artist-D Pro are different.
    2. If you mess this up, you will smoke your ribbon cables, which is a lot better than damaging your main controller but still quite disturbing.
    3. To remove the bottom cover of the printer, you need to heat up the area on the bottom around when the gantry bolts go through the bottom. There are foam blocks under the back panel that is glued to the panel and the printer. After you remove all of the small bolts, this glue will hold the panel in place.
    4. After opening up the printer, I was impressed with the quality of the build. All cables were tied down and neatly arranged. The power supply on my Pro model was a Maxwell power supply. The main power leads we in connectors and properly attached to the power supply.
    5. Since I did not know what was holding the back panel in place, I removed the gantry (four bolts). This is unnecessary, and putting these bolts back in is painful since the printer is heavy, and it is hard to get the bolts to line up.
    However, all of that was not necessary.

    I discovered my problem was a firmware user interface bug.

    The front panel filament load and extruder movement command control only the left extruder when your printer is in duplicate mode. So if you are trying to load filament in the right extruder, you think it is broken. The temperature controls do work properly, so this led me to believe my stepper motor was either broken or the cabling, etc., was the problem.

    I understand how this coding error could occur and even understand the programmer may think this is correct. However, if you want to change filament for a duplication print job, you need to switch back to the auto park or full control mode.

    Here are some pictures of the inside of the printer you may find interesting.

    Click image for larger version

Name:	IMG_6513.jpeg
Views:	529
Size:	4.11 MB
ID:	11399
    Click image for larger version

Name:	IMG_6511.jpeg
Views:	45
Size:	5.35 MB
ID:	11400
    Click image for larger version

Name:	IMG_6516.jpeg
Views:	43
Size:	4.81 MB
ID:	11401
    Click image for larger version

Name:	IMG_6514.jpeg
Views:	41
Size:	4.69 MB
ID:	11402

    Click image for larger version

Name:	IMG_6506.jpeg
Views:	40
Size:	5.24 MB
ID:	11403

    Continued in the next post .... attachment limit reached.

  • #2
    *** Read this post second, after the one that follows it in the thread that I posted first.

    Here are the photos of the two versions of the cable breakout boards.

    What I learned from the JGMaker Facebook group is that they only used some of the traces (wires) in the ribbon cable. In the V1.2 Pro version, they increased the number of wires they use to care power.

    Click image for larger version  Name:	IMG_6508.jpeg Views:	1 Size:	3.38 MB ID:	11405
    Click image for larger version  Name:	IMG_6507.jpeg Views:	1 Size:	4.69 MB ID:	11406


    • #3
      Thanks very much for this irvshapiro. The photos are very helpful. I have not tried to open the bottom yet. Now I know about the foam blocks.

      I am surprised about how little spare room there is inside the base, considering how big the base is.

      About the firmware issue. I did know that there are things that don't work in Duplication or Mirror modes. I wrote about it in my original Artist D review post. One of the most important I believe is that the Z Offset setting for the right-hand extruder is inoperable in Dupe & MIrror modes. It makes sense. How would it be possible to dynamically adjust the Z Offset of 1 extruder when both extruders are on the same X rail & printing simultaneously? Of course it isn't possible. This is probably the main reason why I say at least the right-hand extruder, if not both, should have a manual adjustment knob that can be adjusted dynamically while printing.


      • #4
        irvshapiro Do you think the firmware "bug" you discovered is something that will be fixed in a future firmware release? Or buried too deep in how they handle the different modes of the printer to be changed?


        • #5
          There is a guy, TwinkieXLII, who's taken on quite a bit of Artist D firmware development. It seems that even JG Maker recognizes his work, because they have a link to his github repository. I suspect that, if anyone would address this "bug", it would be him.


          • #6
            This is going to be a bit tricky to correct and it is a bug at the core of Marlin.

            First some background. Most menu commands in effect that send a Gcode command. For example, the change filament option sends an M600.

            Marlin (I am looking at the 2.x code) has built-in support for changing filament implemented as the M600 command. Here is the source code for M600:

            #if ENABLED(DUAL_X_CARRIAGE)
            int8_t DXC_ext = target_extruder;
            if (!parser.seen('T')) { // If no tool index is specified, M600 was (probably) sent in response to filament runout.
            // In this case, for duplicating modes set DXC_ext to the extruder that ran out.
            if (dxc_is_duplicating())
            DXC_ext = (READ(FIL_RUNOUT2_PIN) == FIL_RUNOUT_INVERTING) ? 1 : 0;
            DXC_ext = active_extruder;
            We can see here that the M600 implementation has support for a T option (tool or extruder number). This is why when we are in the auto park or full support mode the load and unload menu options work correctly.

            My guess, and I have not found the code yet, is that when the printer is set to IDEX Mirror or Duplicate mode all T options, tool head (extruder), are ignored. For some reason when the printer is in duplicate or mirror mode it is unable to differentiate between extruding for a load/unload and extruding for a print. I am surprised that the bug did not result in extruding filament from both extruders at the same time instead of not working when T was set to 1 (the tool heads are 0 and 1).

            It may be that anytime the printer sees a tool head (T) option that is not 0 it ignores it when in Mirror or Duplicate mode. This would explain the bug.

            Either way probably not simple to correct at least not simple for me. For a Marlin expert, it may be a much easier fix.


            • #7
              I hear you . Besides, I've been out of the programming world for some years. And Python is not a language I worked with much at all (it's rising popularity came along at the time I was getting out). Maybe 1 of us should reach out to TwinkieXLII, to see if he's aware of the issue and/or working on it.