Melzi V2 Tronxy X1 firmware not working

Hi, i bought a new Melzi board as a replacement for the original one, i had no problems flashing the bootloader trough SPI and no problems running some test code (i wrote a simple code to turn on and off a pin and checked it with the oscilloscope, so the micro is indeed kind of working and the code uploads fine). My issue starts after the firmware is uploaded , i get nothing on the LCD and the "debug" LED is constantly on. I downloaded this firmware from Github (https://github.com/dennistimmermann/tronxy-x1_repetier) already configured for the Tronxy X1, but i'm wondering if maybe it have the wrong pinout for my specific board.

Comments

  • Yes 63 is melzi board so named pins should be correct. Can you communicate with printer?

    Can't say if led definition matches yours. Don't have the printer.
  • Repetier said:
    Yes 63 is melzi board so named pins should be correct. Can you communicate with printer?

    Can't say if led definition matches yours. Don't have the printer.
    i can't communicate with the printer in any way, i tried octoprint and repetier host.
  • I think i'm going to check every connection on my board to see if there are any differences.. I found the section of the melzi board with all the pin definitions but i don't quite understand what pin numbering is used, in the datasheet for the Atmega1284p pins are numbered by registers. Maybe the pinout is correct but for some reason the compiler chose the wrong one? how the IDE knows what pinout has to define?
  • You select the board before compiling - in your case sanguino board. That has the mapping. Also form that we see your board and select correct mapping in fastio.h.

  • Still I have had no luck solving my problem. This is what i get on the console by trying to connect with repetier:

    18:36:42.966 : Printer reset detected - initalizing
    18:36:42.967 : start
    18:36:42.980 : Transformation matrix: 1.000000 0.000000 0.000000 0.000000 1.000000 0.000000 0.000000 0.000000 1.000000
    18:36:44.243 : Free RAM:12346
    18:36:44.246 : SelectExtruder:0
    18:36:49.137 : SD init fail
    18:36:49.162 : FIRMWARE_NAME:Repetier_0.92.9 FIRMWARE_URL:https://github.com/repetier/Repetier-Firmware/ PROTOCOL_VERSION:1.0 MACHINE_TYPE:Mendel EXTRUDER_COUNT:1 REPETIER_PROTOCOL:3
    18:36:49.167 : Printed filament:0.00m Printing time:0 days 0 hours 0 min
    18:36:49.167 : PrinterMode:FFF
    18:36:49.173 : X:0.00 Y:0.00 Z:0.000 E:0.0000
    18:36:49.175 : DebugLevel:6
    18:36:49.181 : SelectExtruder:0
    18:36:49.182 : Begin file list
    18:36:49.183 : End file list
    18:36:49.195 : DebugLevel:6
    18:36:49.198 : SelectExtruder:0
    18:36:50.134 : DebugLevel:14
    18:36:50.137 : Other:: temp sensor defect marked defect
    18:36:50.142 : Error:Printer set into dry run mode until restart!
    18:36:50.147 : Disabling all heaters due to detected sensor defect.
    18:36:50.148 : DebugLevel:14

    i'm not sure if this means there is no answer at all from the machine or if it give some kind of clue about the issue.
  • That is a connection. Looks like in host log with ack/commands disabled as they are missing here in log.

    Anyhow you can connect so that is ok. What I see is a message about defect temperature sensor, which explains why printing will not work. Moving head should work. Guess you have set wrong sensor pins so it gets no useful response and assumes a defect sensor.
  • The printer is finally alive! seems the connection issue was caused by a broken cable. Now only the lcd is not working, i'm going to test the display with an arduino to find out if this is a software or an hardware related problem.
  • Make also sure the display has pin settings for that board. Most displays don't have special melzi pins. DisplayList.h defines them.
  • Repetier said:
    Make also sure the display has pin settings for that board. Most displays don't have special melzi pins. DisplayList.h defines them.
    the lcd by itself seems to work correctly, and it is the one that came with the printer. The board seems identical to the original one but on the lcd port i found out that 5v and ground are in a different position than on the display module itself. I have a module with analog output for 5 push buttons and 4 data pins + enable + RS (i'm not really sure about the uses of this pin, the datasheet says this about: "RS(C/D) H: Display Data, L:Display Instruction"). I wasn't able to find the file you mentioned, in "pins.h" i found only theese lines about the display:
    // #define UI_DISPLAY_RS_PIN 32
    // #define UI_DISPLAY_ENABLE_PIN 31
    // #define UI_DISPLAY_D4_PIN 14
    // #define UI_DISPLAY_D5_PIN 30
    // #define UI_DISPLAY_D6_PIN 39
    // #define UI_DISPLAY_D7_PIN 15
    i'm not sure what to think about them since they are commented. In "uiconfig.h" however i found what it seems to be the configuration settings for the display. i was not able to find a pinout of my board either, on the melzi official page it is mentioned only the use of an i2c screen wich is not my case. 
    So the problem of the mismatch of 5v and ground between the lcd and the board is easy fixable with an adaptor i could make, but i don't quite understand how to define pins and comunication settings for the lcd in code and if it is possible to use the analog signal for the controls.
    i'm going to find out which pin of the connector is connected to each pin of the microcontroller to at least have a clear hardware prospective.
    Thank you for your help, i'm really not good understanding this kind of complex code :# .
  • FINALLY, i've managed to solve my problem, i've changed the type of display selected in uiconfig and corrected the connections to power, now the display seems to work fine along with the push buttons
Sign In or Register to comment.