Closed marcogarzotti closed 8 years ago
yes the problem lies probably on the control sofware side. There is a nasty bug I couldn´t find so far.
It is programmed to resend the command after some seconds if no "ok" was received as an answer. Probably this goes on until the receive buffer of the arduino overflows. I implemented this resending as sometimes the print just stoped.
Thank you for the reply. Any chance that this bug will be chased in the near future? I've tried to send commands over a serial monitor and the firmware seems to be ok, the unikorn plug in is working, but i can't figure out how to deal with the host-gui. It's a pity, it's the most updated and complete project i've seen...
i'm available as beta tester, if needed! :)
I think I have found the bug and updated the code.
Hi thunderbug1,
I'm facing the exact same problem as marcogarzotti. I downloaded everything today, so I still think there is a problem.
When I use the arduino serial monitor I can send commands with quick response. Also with putty I can send all gcode from a file and get fast response (I don't know if it runs the file till the bottom)
Could you have another look at the software, because I really like your work and I'd like to use it.
Hi thunderbug, i'm facing some problems, i don't know what's wrong. I've downloaded everything, i've uploaded the arduino code with some warnings (see below) but no errors. I've modified the config.h (i will copypaste it below) and the servo is ok but the stepper don't work. I don't think that's a motor/driver problem, they used to work last time i checked. I can connect the spherebot control 2.0 to the arduino, i've tried to send the example gcode inkscape-unicorn.gcode that i've found but i see a very slow communication in the two boxes in the control software, transcieved data and received data. Just to give some numbers, a new line appears once every 3-5 seconds, only for the first 5-6 lines and no more lines after that, and an "Overflow Error" appears once on the received data box. If i use the serial terminal in the arduino ide i can move the servo and i have a fast response, i'm trying to move the steppers but i cant actually control them properly. Anyway, my opinion is that the problem is related to the control software but i don't know how to check that.
I'm using a windows 7 pc and an arduino 2009 wiht the 1.6.5 ide, this are the warning that i see when i upload the code and my config.h.
Thanks for the help!
----- warnings ---- In file included from SoftwareServo.cpp:1:0: SoftwareServo.h:4:22: warning: extra tokens at end of #include directive [enabled by default]
include "Arduino.h"</wprogram.h>
In file included from SphereBot.ino:34:0: SoftwareServo.h:4:22: warning: extra tokens at end of #include directive [enabled by default]
include "Arduino.h"</wprogram.h>
SphereBot.ino: In function 'void process_commands(char*, int)': SphereBot.ino:295:49: warning: NULL used in arithmetic [-Wpointer-arith]
In file included from SoftwareServo.cpp:1:0: SoftwareServo.h:4:22: warning: extra tokens at end of #include directive [enabled by default]
include "Arduino.h"</wprogram.h>
In file included from SphereBot.ino:34:0: SoftwareServo.h:4:22: warning: extra tokens at end of #include directive [enabled by default]
include "Arduino.h"</wprogram.h>
SphereBot.ino: In function 'void process_commands(char*, int)': SphereBot.ino:295:49: warning: NULL used in arithmetic [-Wpointer-arith]
----- config.h ---- //#define BAUDRATE 9600
define BAUDRATE 57600
//#define BAUDRATE 115200 //#define BAUDRATE 256000
/*
// Y-Axis //#define YAXIS_DIR_PIN 14 //#define YAXIS_STEP_PIN 15 //#define YAXIS_ENABLE_PIN 21
define YAXIS_DIR_PIN 5
define YAXIS_STEP_PIN 6
define YAXIS_ENABLE_PIN 2
define YAXIS_RST_PIN -1
define YAXIS_SLP_PIN -1
define YAXIS_MS1_PIN -1
define YAXIS_MS2_PIN -1
define YAXIS_MS3_PIN -1
define YAXIS_ENDSTOP_PIN -1 // -1 -> No Endstop
define YAXIS_VMS1 HIGH
define YAXIS_VMS2 HIGH
define YAXIS_VMS3 HIGH
define YAXIS_MIN_STEPCOUNT -50 // Travel limits
define YAXIS_MAX_STEPCOUNT 50
define YAXIS_STEPS_PER_FULL_ROTATION 200.0
define YAXIS_MICROSTEPPING 1
//X-Axis //#define XAXIS_DIR_PIN 10 //#define XAXIS_STEP_PIN 8 //#define XAXIS_ENABLE_PIN 2
define XAXIS_DIR_PIN 9
define XAXIS_STEP_PIN 10
define XAXIS_ENABLE_PIN 4
define XAXIS_RST_PIN -1
define XAXIS_SLP_PIN -1
define XAXIS_MS1_PIN -1
define XAXIS_MS2_PIN -1
define XAXIS_MS3_PIN -1
define XAXIS_ENDSTOP_PIN -1 // -1 -> No Endstop
define XAXIS_VMS1 HIGH
define XAXIS_VMS2 HIGH
define XAXIS_VMS3 HIGH
define XAXIS_MIN_STEPCOUNT -50 // Travel limits
define XAXIS_MAX_STEPCOUNT 50
define XAXIS_STEPS_PER_FULL_ROTATION 200.0
define XAXIS_MICROSTEPPING 1
define SERVO_PIN_1 13
/*
define DEFAULT_PEN_UP_POSITION 120
define DEFAULT_ZOOM_FACTOR 0.1808 // With a Zoom-Faktor of .65, I can print gcode for Makerbot Unicorn without changes.
define X_SCALING_FACTOR 1.65/2 //this factor is for correction to meet the unicorn coordinates
define Y_SCALING_FACTOR 1
/*
//MS1, MS2 and MS3 are optional. You can simply make these settings by hardwiring the pins to high or low
/* MS1 | MS2 | MS3 Microstepping Resolution
*/