Melzi V2.0 with LCD2004 and 5 keys

2

Comments

  • Hello,
    how do you flash Repetier firmware via Arduino IDE? I used Arduino addons from Marlin firmware to get "Sanguino" board, set "auto-reset" jumper, then start flashing, but "Uploading..." lasts very long, and no success. Board understand that i flash(reboot on upload start) but nothing happens.
  • @Light2016:

    I'm sure that there is no bootloader installed on the melzi board and you wont be able to upload code via the FTDI without it. So you have to install the bootloader first via the ISP interface on your  melzi board. You can upload the bootloader with an USBASP dongle or even with an Arduino UNO (maybe the better solution). Scroll down to "upload bootloader" --> http://reprap.org/wiki/Melzi 

    After that you should be able to upload the code via  FTDI (USB)

    If you have problems with Arduino IDE 1.6xx and the sanguino board files, there is an updated version here:

    https://github.com/Lauszus/Sanguinoor via the board manager:
    https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json



  •    Hi everyone and Thanks a lot to Axelsp for the modified source code, got it compiling and working in a minute! :D On the other hand, I have still one issue I need to solve, I hope anyone on this chain can help me...

       My issue is that ALL THE MOTORS ARE ONLY CAPABLE OF MOVING IN THE POSITIVE DIRECTION OF THE AXIS (x, y and z) :S

    2Axelsp...
       Don't you know if there is something missing in the configuration of the
    printer (perhaps in the stored variables of the EEPROM) that I should
    modify in order to make the printer move in all positive and negative
    directions?

       To find the issue, I did a quick workaround on my issue by using G-code commands as shown next:

    ---------------------------------------------------------------------------------------------------------------------------------------------------
    Connecting...
    start
    Printer is now online.
    Info:External Reset
    Info: 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000
    Free RAM:12337
    ok 0
    ok 0
    >>> m114
    SENDING:M114
    ok 0
    X:-35.00 Y:-10.00 Z:0.00 E:0.00
    ok 0
    ok 0
    >>> m119
    SENDING:M119
    ok 0
    x_min:H y_min:H z_min:H
    ok 0
    ok 0
    >>> g28
    SENDING:G28
    ok 0
    ok 0
    X:0.00 Y:0.00 Z:0.00 E:0.00
    ok 0
    ok 0
    >>> m114
    SENDING:M114
    ok 0
    X:0.00 Y:0.00 Z:0.00 E:0.00
    ok 0
    >>> m119
    SENDING:M119
    ok 0
    x_min:H y_min:H z_min:H
    ok 0
    ok 0
    >>> m115
    SENDING:M115
    ok 0
    FIRMWARE_NAME:Repetier_V1.4 http://zonestar3d.en.alibaba.com/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 REPETIER_PROTOCOL:2
    Printed filament:0.00m Printing time:0 days 0 hours 0 min
    ok 0
    ok 0
    >>> m205
    SENDING:M205
    ok 0
    ok 0
    EPR:2 75 115200 Baudrate
    EPR:3 129 0.000 Filament printed [m]
    EPR:2 125 0 Printer active [s]
    EPR:2 79 0 Max. inactive time [ms,0=off]
    EPR:2 83 360000 Stop stepper after inactivity [ms,0=off]
    EPR:3 3 100.0000 X-axis steps per mm
    EPR:3 7 100.0000 Y-axis steps per mm
    EPR:3 11 1600.0000 Z-axis steps per mm
    EPR:3 15 400.000 X-axis max. feedrate [mm/s]
    EPR:3 19 400.000 Y-axis max. feedrate [mm/s]
    EPR:3 23 2.000 Z-axis max. feedrate [mm/s]
    EPR:3 27 100.000 X-axis homing feedrate [mm/s]
    EPR:3 31 100.000 Y-axis homing feedrate [mm/s]
    EPR:3 35 1.000 Z-axis homing feedrate [mm/s]
    EPR:3 39 20.000 Max. jerk [mm/s]
    EPR:3 47 0.300 Max. Z-jerk [mm/s]
    EPR:3 133 0.000 X home pos [mm]
    EPR:3 137 0.000 Y home pos [mm]
    EPR:3 141 0.000 Z home pos [mm]
    EPR:3 145 245.000 X max length [mm]
    EPR:3 149 235.000 Y max length [mm]
    EPR:3 153 205.000 Z max length [mm]
    EPR:3 51 400.000 X-axis acceleration [mm/s^2]
    EPR:3 55 400.000 Y-axis acceleration [mm/s^2]
    EPR:3 59 400.000 Z-axis acceleration [mm/s^2]
    EPR:3 63 400.000 X-axis travel acceleration [mm/s^2]
    EPR:3 67 400.000 Y-axis travel acceleration [mm/s^2]
    EPR:3 71 400.000 Z-axis travel acceleration [mm/s^2]
    EPR:0 880 0 Autolevel active (1/0)
    EPR:0 106 0 Bed Heat Manager [0-3]
    EPR:0 107 255 Bed PID drive max
    EPR:0 124 80 Bed PID drive min
    EPR:3 108 196.000 Bed PID P-gain
    EPR:3 112 33.000 Bed PID I-gain
    EPR:3 116 290.000 Bed PID D-gain
    EPR:0 120 255 Bed PID max value [0-255]
    EPR:3 200 95.000 Extr.1 steps per mm
    EPR:3 204 50.000 Extr.1 max. feedrate [mm/s]
    EPR:3 208 20.000 Extr.1 start feedrate [mm/s]
    EPR:3 212 1000.000 Extr.1 acceleration [mm/s^2]
    EPR:0 216 3 Extr.1 heat manager [0-3]
    EPR:0 217 230 Extr.1 PID drive max
    EPR:0 245 50 Extr.1 PID drive min
    EPR:3 218 7.0000 Extr.1 PID P-gain/dead-time
    EPR:3 222 2.0000 Extr.1 PID I-gain
    EPR:3 226 40.0000 Extr.1 PID D-gain
    EPR:0 230 255 Extr.1 PID max value [0-255]
    EPR:2 231 -3500 Extr.1 X-offset [steps]
    EPR:2 235 -1000 Extr.1 Y-offset [steps]
    EPR:1 239 1 Extr.1 temp. stabilize time [s]
    EPR:1 250 150 Extr.1 temp. for retraction when heating [C]
    EPR:1 252 0 Extr.1 distance to retract when heating [mm]
    EPR:0 254 255 Extr.1 extruder cooler speed [0-255]
    ok 0
    ok 0
    ok 0
    Disconnected.
    ---------------------------------------------------------------------------------------------------------------------------------------------------

    As you can see on the log file (above), at starting the printer and sending
    the command m114 for getting the current position I get an offset (on X
    and Y), and although the printer physically started positioned in the
    middle of the work-space (NOT touching the end-stops), all the end-stops
    are triggered (as displayed after sending the command m119). Then I
    sent a g28 command for moving all the axis motors of the printer to the
    home position, and later again the m114 and m119 commands. Let me
    highlight that in this last case all motors moved ONLY to the positive
    direction of the axis, while the end-stops kept triggered. The worst
    part is that, EVEN IF I MOVE MANUALLY (WITH MY HAND AND FINGER) ANY OF
    THE END-STOPS, THEIR STATUS KEEP BEING TRIGGERED (THIS SAME BEHAVIOR CAN
    BE SEEN IN THE DISPLAY OF THE PRINTER WHEN CHANGING THE POSITION WITH
    THE MENU). I even checked each end-stop connector in the Melzi board (by using a multimeter in the respective header while testing), and they seem to properly shortcut the pins when pressed, and so I guess the mcu is doing it also, but the Software seems not being able to see it :S Any help on this issue will be really appreciated :)


  •    Hi everyone and Thanks a lot to Axelsp for the modified source code, got it compiling and working in a minute! :D On the other hand, I have still one issue I need to solve, I hope anyone on this chain can help me...

       My issue is that ALL THE MOTORS ARE ONLY CAPABLE OF MOVING IN THE POSITIVE DIRECTION OF THE AXIS (x, y and z) :S

    No panic - just compile the firmware again and this time check the checkbox for endstop active low ;) For all 3 axes.
  • Here's the firmware I received along with my Melzi 2.0 and LCD2004A kit. (Repetier v.91). When I open up Repetier-host, it says that the printer name is FIRMWARE_NAME:Repetier_V1.4 http://zonestar3d.en.alibaba.com/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 REPETIER_PROTOCOL:2
  • Hi guys,

    the same printer (Zonestar P802M),  the same issue (no source), the same wish (use newest firmware and configure features).

    So I stepped in and reworked the source you published here. It is now based on the top of official master branch and is easy to merge it (pull request created). The code changes are quite small and easy to review/rebase to newer releases. And the best of all, with it you can use the Web configuration tool to configure your printer right now. No need for manual patches, just use supplied Configuration-normal.h as a starting point and upload/change/download it any time you need. LCD/keypad support is enabled in the Manual section of web config tool (until merged and directly supported by the web config) and has comments in the code.

    I am very satisfied with the result after few prints using this firmware.

    Zipped source can be downloaded from here: Download ZIP
    You have to copy Configuration-normal.h from boards/Zonestar P802M/ to the source as Configuration.h (or upload it to the web configurator first if you want). Read the README.txt in the same folder.

    Happy printing!

  • Next release will contain the controller also in the online config tool for direct selection.
    osnwt for the pull request.
  • Thank you for very fast merging it into the main repository. My printer now runs with the code built from your git with my config (also provided in the boards/ folder of official repository for those who concerned). It seems to work great, here is a result of few hours of printing: Saber

    Also the video:

  • thanks for the awsome support. I have not tested this version of the firmware yet. Will try soon. I am having an issue with my Metal zonestar unit with the 5 keypad. I get really garbage LCD output, i simply can't use the LCD if its installed. Anyone have a solution? How can I sheild the LCD and the cable?
  • In this case I would try to connect that LCD using supplied cable to any Arduino board, load example code and see if that LCD is faulty, and/or bad cables, and/or they need shielding. Then depending on results you may find a solution. Actually, I did exactly this playing with LCD via shift register connection when had issues with the circuit.
  • edited March 2016
    thanks for the awsome support. I have not tested this version of the firmware yet. Will try soon. I am having an issue with my Metal zonestar unit with the 5 keypad. I get really garbage LCD output, i simply can't use the LCD if its installed. Anyone have a solution? How can I sheild the LCD and the cable?



    As osnwt wrote, best practise would be to check the display out as a "dry run" on any MCU Board (like Arduino). I believe there is no further shielding neccessary, it looks more like a connection problem. Are you sure, that you have installed the pin connectors into the right direction? Maybe you have some spare jumper cables for a direct connection so you can be sure that the two cables aren't faulty.

    For the connections you can look here for schematics:

    https://raw.githubusercontent.com/osnwt/Repetier-Firmware/zonestar-adc-keypad-support/boards/Zonestar%20P802M/Controller-schematics.png

    https://github.com/osnwt/Repetier-Firmware/tree/zonestar-adc-keypad-support/boards/Zonestar%20P802M


  • edited March 2016
    I have the metal zonestar unit and its when ever it gets close to the metal frame it acts all wonky, I looked for anything touching the metal frame when it happens and nothing, and it gets worse when the motors + Heaters are working. The LCD works perfect if I move it to the side. I think its not so much the cable that needs sheilding its the LCD unit. (I have 3 of these units and all acting the same, the pins are the type that can only go oneway on the LCD and il get no power if not plugged correctly into the MELZI board.


    when I try to compile I get an error when using the Repeteur config tool for ADC keypad...

    ui.h:1959: error: #error CONTROLLER_ZONESTAR requres ADC_KEYPAD_PIN = 1 defined in Configuration.h

     #error CONTROLLER_ZONESTAR requres ADC_KEYPAD_PIN = 1 defined in Configuration.h

      ^

    exit status 1
    #error CONTROLLER_ZONESTAR requres ADC_KEYPAD_PIN = 1 defined in Configuration.h

    What did I miss? Sorry very new to this!

  • So I ended up just manually changing adc keypad from -1 to 1... but should the config tool do this? Now I am getting another error but has to do with the Z probe, so off to another topic :P 
  • It does if you choose a correct controller ZONESTAR_P802M.... in the end of the list of web config tool. Then you'll see the analog pin number for the ADC. But I recommend to use my sample config to start from. It is avaliable here:
    https://github.com/repetier/Repetier-Firmware/tree/master/boards/Zonestar P802M


  • I guess I answered to another question. The tool provides the way to define the analog pin, but it does not enforce that.
    I agree, we can define it in the code instead of configuration for P802M similar to LCD pins. Maybe I should add some patch for user convenience.
  • Oh no, that's not easy. Unlike LCD pins, the analog pin MUST be defined on the Configuration.h file level due to code organization. That means that it may either be hidden from user when P802M selected, or may be predefined to 1 only for this controller by the web configurator. It also cannot be set to 1 by default for all controllers since it includes extra ADC reads in the code that is unnecessary for other controllers. On the other end, we still need to set steps/mm, axis directions, etc. for P802M.

    In short, better start from provided Zonestar P802M/Configuration.h file that has the pin already set to 1.

    Maybe we should create a user library of configurations for different printers. I did not look if anything similar exists already.
  • Hey guys,

    First of all, THANKS A LOT!!!!! for all your hard work.  

    I have a Zonestar P802M and i burned my Melzi 2.0 a couple of months ago.  After receiving a replacement Melzi from my vendor (china) with the wrong firmware installed and an entire month trying to fix it, I stumbled into this thread and not only did I fix my printer, now is working even better!! :-)

    A couple of comments for the next person:

    1. I had to invert my x-axis (no biggie)--(change line 222 on the "configuration.h" tab from 0 to 1
    2. I had to change the steps/mm on the z axis from 1600 to 400.--this was a bit trickier to figure out as for some reason the value was saved on the eeprom and would not change when uploading a new copy of the file.
    to change this, I connected my printer to my pc, with Pronterface and input the following code:
    M206T3P11X400  (400 refers to the steps/mm, in case you need a different value)

    I hope this helps someone as much as the rest of you guys helped me 

    Cheers!

  • Hello,

    Great work guys. The print quality is much better with this firmware. I also need to change the steps/mm on the z axis to 400 (because I changed the original Z motors with ones that has the threaded rods attached and the thread pitch was changed).

    Anyone tried offline printing with this chinese board? I have a problem mounting the SD card.
    I got SD_CARD_ERROR_READ in SdFat.cpp at Sd2Card::readData (status_ != DATA_START_BLOCK).
    Tested with FAT16 and FAT32 file systems.
    The board looks like Melzi Version 2.0. The hex buffer (CD4050BM in my case) seems to do the same as original schematics.

    Any ideas?


    Thanks.
  • Is someone having a actual Firmware with autoleveling for the china melzi 2.0 5 Buttons? Im just short in front of going back to hardware endstop z? Cant get rid of my firmware setup.


    Thank you in forward.



  •    Hi everyone and Thanks a lot to Axelsp for the modified source code, got it compiling and working in a minute! :D On the other hand, I have still one issue I need to solve, I hope anyone on this chain can help me...

       My issue is that ALL THE MOTORS ARE ONLY CAPABLE OF MOVING IN THE POSITIVE DIRECTION OF THE AXIS (x, y and z) :S

    No panic - just compile the firmware again and this time check the checkbox for endstop active low ;) For all 3 axes.
    " just compile the firmware again and this time check the checkbox for endstop active low ;) For all 3 axes. "  
    what do you mean by that ??
    do you mean to flip status of the endstopes for all three axis in configuration.h  or what ?

  • Anybody been able to setp up autolevelling with it ??? i did install new firmware 0.92.9 and if i enable autolevelling the keypad does not work. As soon as i disable autolevelling in the config the keypad comes back to life !!!
  • Anybody been able to setp up autolevelling with it ??? i did install new firmware 0.92.9 and if i enable autolevelling the keypad does not work. As soon as i disable autolevelling in the config the keypad comes back to life !!!
    I am hoping to do the same thing! Let's figure it out.

    But let me ask first: how did you install 0.92.9? Did the modifications talked about in this thread get added to the official firmware, or did you manually make the same modifications in the 0.92.9 version?
  • edited May 2016
    Hey guys, good work on the firmware. I'm having some troubles with the USB connection after updating to 0.92.9 using the config file on github. Wondering if any one else has also experienced this?

    It compiles and uploads fine using Arduino IDE 1.6. Printer can boot properly, LCD and buttons all functional. Can even use the menu to adjust / home positions and work the extruder. However when I try to connect using Repetier Host or Server the printer resets like it should (can see the LCD reseting) but it fails to connect and sits at 5 commands waiting.. The funny thing is I tried it on the next baud (230400) and it starts connecting, getting the usual responses (sdinit, transformation matrix etc) but then just loads of format errors..

    I've checked, the baud setting on the LCD Menu is set at 115200, and i've selected write to eeprom as well to make sure its stored (if it is an eeporm value?)..

    If I restore to v0.91 firmware it works fine.
  • Hey NorcoT,

    I've been experimenting with various configurations as well, and I am having similar problems.

    For me the key feature seems to be the auto-leveling and/or the distortion correction. With those disabled, everything works: even on 0.92.9. But if I enable them I get mixed results. It sometimes works, for a while... then, sooner or later (most times when I connect USB), the firmware seems to hang completely (not responding to Host commands or buttons anymore).

    When that happens, not even a reset or hard power off, power on brings it back to life. I can only revert then by using a programmer.

    It also seems to work better if I turn off the LCD and EEPROM in the firmware. (not sure which makes the difference, since I didnt try them separately yet).

    So lets figure out if our problems are the same. Once you hit your problem when connecting the USB, do the buttons and LCD still work, or does the LCD simply keep displaying the same thing whatever you press? If so, does re-powering the printer make it go away, or do you need to update the firmware to get rid of it?

    Cheers!

  • Up to now only the keypad is not responding when autolevel is activated, Sadly haven't had time to invistigate further more !!
  • Alright, it could also be due to the board (mine is the Anet A8 board, which is a melzi clone).

    I decided to just turn LCD+keypad support off. Now everything else works well, including auto-leveling and distortion correction.
  • Alright, it could also be due to the board (mine is the Anet A8 board, which is a melzi clone).

    I decided to just turn LCD+keypad support off. Now everything else works well, including auto-leveling and distortion correction.
    Are you sure that you are using the last available firmware? I have same Anet A8, and I have working auto-leveling (but without distortion correction - autoleveling is enough for me) and screen+keys. I am using git version with configuration file from Zonestar
  • Hi
    I recently bought an E3D v6 hot end for my Anet A8 i3 clone with a anet v1.0 board (the melzi clone) and found this thread whilst struggling to update the firmware (to change the tempsensor type). I read through this post and tried using the latest repetier firmware (0.92.6) and the configuration linked to above. I've also tried the Repetier-Firmware-5keys.rar as well.
    I got it installed and I can use the LCD and buttons to control the printer, I am however having similar issues to those above with the USB connection not working correctly.
    The firmware is set to use baudrate 115200, but I cannot connect with that set in any software, I did figure out that I can connect over 230400, also mentioned above. However, it seems I cannot send commands only receive them. Nowhere in the firmware is the baudrate 230400 set.
    I have tried what was mentioned above, using the latest firmware, turning off the LCD, EEPROM, etc.
    I don't have the auto leveling system so I have that off too.

    Any suggestions about how I can get the USB connection working?
    If anyone has an Anet a8 and firmware files that work (not a HEX, I can't modify that) I would appreciate if I could try the files.

  • this is the setup i am currently having issues with. Can anyone send my their completed firmware? I have tried using the configuration tool but its not uploading from the config file provided
Sign In or Register to comment.