tjhawkey

Forum Replies Created

Viewing 25 posts - 1 through 25 (of 39 total)
  • Author
    Posts
  • Avatartjhawkey
    Participant

    I have been trying to revive my Makelangelo 5 recently. I had it working great last year, but then got lost in the swamp of hardware and firmware upgrade. There has been a change in stepper motor configuration. Used to be that the firmware default was for 400 step motors, but newer versions of the official hardware use 200 step motors. Another change that’s happened someplace is the home position. Used to be in the middle, about a foot down from the motors. Now it’s set to where the limit switches engage (bottom middle). Mechanically, I can see the point, but something seems disconnected between the dev firmware and the software (for me at least).

    in reply to: Step setting robot_polargraph.h #27879
    Avatartjhawkey
    Participant

    Here are some videos of the behavior. This is a stock Makelangelo 5, belts about 1m long.
    One is of the homing stall when set to 400/0.9, the other is of the start of a drawing. It’s as if the software (7.21) lost track of the homing position and is trying to draw at the bottom of the range. Firmware is 9.1
    The software certainly seems to show the pen in a different location on the board than reality.

    https://drive.google.com/open?id=1NfUyUXF-yKOGxdxP9O559ytb0i_GmPKo
    https://drive.google.com/open?id=1Ng5t_vLxddUkdeySSVFbGIH1LKhFMINE

    Tim

    in reply to: Step setting robot_polargraph.h #27878
    Avatartjhawkey
    Participant

    Ahh, newer hardware is 200 step motors vs 400 step motors from a couple of years ago. No big deal to update configure.h and robot-polargraph.h, but the steppers stutter and stall at the end of homing when everything is set for 400 setps / 0.9 deg/step

    Avatartjhawkey
    Participant

    That seems like a great idea.
    Thanks!

    in reply to: Trouble compiling latest firmware #27814
    Avatartjhawkey
    Participant

    Now resolved. I had to clean up my arduino installation

    in reply to: Pen up/down confusion with spiral drawing #23071
    Avatartjhawkey
    Participant

    But, not done yet!
    In limited testing, I found that the spiral pattern drifts to the left (eventually the carriage goes off the edge of the board I use).
    Any suggestions? It (Makelangelo 5) can draw an outline pretty well. I haven’t carefully tested all the patterns.
    Cross hatch works fine.

    Thanks!

    in reply to: Pen up/down confusion with spiral drawing #23049
    Avatartjhawkey
    Participant

    Sorry–figured it out.
    The image was reversed not the pen!

    in reply to: Makelangelo 5 doesn't home properly #20602
    Avatartjhawkey
    Participant

    Thanks. The right motor was plugged in backwards. I suspected that, but the picture on your website shows the yellow wire on the right for both motors.
    Can you clarify what’s the best orientation for the gondola clips? The audio on your video is pretty quiet.
    I think the clip from the inside edge of the gondola. Are they supposed to be the same (belt from the back) or opposite (one in front and one in back)?

    Tim

    in reply to: Updating Firmware Makelangelo 5 #20329
    Avatartjhawkey
    Participant

    Thanks! The firmware now compiles. I will test sometime this week.
    note–minor version # confusion on github (and above). 7.16.1 I think.

    Tim

    in reply to: Updating Firmware Makelangelo 5 #20308
    Avatartjhawkey
    Participant

    Hi Dan, I am getting a number errors when trying to compile version 7.16 using the instructions above.
    Makelangelo-firmware:775: error: ‘adjustPinState’ was not declared in this scope
    case 42: adjustPinState(); break;

    There are several more like this.
    It’s the same if I am connected to the machine or not.

    Thanks,
    Tim

    in reply to: .bat file function? #19973
    Avatartjhawkey
    Participant

    Hi Dan, I’m just getting back to working on this. I confirmed just now that 7.8.3 and 7.9.0 will convert the picture in cross hatch properly, but 7.15.5 (latest) doesn’t
    I’ll send you the file and views. My laptop still gets the open gl error, but after hitting OK a few times, it comes up.

    Tim

    in reply to: .bat file function? #15530
    Avatartjhawkey
    Participant

    Thanks for the quick response. I partly resolved the bat file issue by forcing installation of 64 bit java.
    It now will start the jar file, though it does report this error message.
    WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(…) returned error code 5.

    Interestingly, the jar file now won’t open any images.

    I will get some snips and send them.

    Tim

    in reply to: Makelangelo 7.15 firmware #15364
    Avatartjhawkey
    Participant

    That does the trick.
    Thanks!
    You might want to update the page on your site with these instructions.

    in reply to: Makelangelo 7.15 firmware #15360
    Avatartjhawkey
    Participant

    Yes, I have eeprom.ino. The github download makes a folder with several sketches, several .h files, and a .cppfile.
    When you open a sketch, the IDE makes a folder for it. I’ve now opened every sketch, so there are a number of sub-folders and the remaining .h files and .cpp file. I put the .h files and the MSErvo.cpp file in the folder with the makelangelo-firmware.ino folder. Compiling the sketch I get the error “savelimits was not defined in this scope” (and a bunch of others)
    conigure.h was updated to call out makelangelo 5.

    in reply to: Makelangelo 7.15 firmware #15354
    Avatartjhawkey
    Participant

    Hi Dan, I just got the latest from github (with updated version #)
    configure.h and robot_polargraph.h look correct.

    I’m trying to compile makelangelo-firwmare.ino
    It claims “savelimits” not declared in scope?
    I put all the .h files in the same folder as the sketch.

    Lacking that, could you send me the compiled file?
    Sorry for the trouble.
    THanks!

    in reply to: Makelangelo 7.15 firmware #15339
    Avatartjhawkey
    Participant

    OK, getting back to this with new firmware release.
    I updated the comments in robot_polargraph.h to point to define the correct hardware version (5).
    I found I had to comment out zarplot in configure.h since there was no related .h file in the github download.
    Still no luck compiling.
    Error messages like this below (sorry it’s long).
    I am not connected to the makelangelo yet–just trying to verify/compile.
    I have all the .h files from github and servo.h

    Any suggestions?
    Thanks

    Arduino: 1.8.3 (Windows 10), Board: “Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

    C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void IK(float*, long int*)’:

    robot_polargraph:36: error: ‘axies’ was not declared in this scope

    float limit_xmin = axies[0].limitMin;

    ^

    C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘int FK(long int*, float*)’:

    robot_polargraph:58: error: ‘axies’ was not declared in this scope

    float limit_xmin = axies[0].limitMin;

    ^

    C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void recordHome()’:

    robot_polargraph:100: error: ‘wait_for_empty_segment_buffer’ was not declared in this scope

    wait_for_empty_segment_buffer();

    ^

    robot_polargraph:101: error: ‘motor_engage’ was not declared in this scope

    motor_engage();

    ^

    robot_polargraph:102: error: ‘findStepDelay’ was not declared in this scope

    findStepDelay();

    ^

    robot_polargraph:114: error: ‘axies’ was not declared in this scope

    homes[0]=axies[0].homePos;

    ^

    robot_polargraph:143: error: ‘step_delay’ was not declared in this scope

    pause(step_delay * 2);

    ^

    robot_polargraph:143: error: ‘pause’ was not declared in this scope

    pause(step_delay * 2);

    ^

    robot_polargraph:154: error: ‘step_delay’ was not declared in this scope

    pause(step_delay * 4);

    ^

    robot_polargraph:154: error: ‘pause’ was not declared in this scope

    pause(step_delay * 4);

    ^

    robot_polargraph:182: error: ‘step_delay’ was not declared in this scope

    pause(step_delay * 4);

    ^

    robot_polargraph:182: error: ‘pause’ was not declared in this scope

    pause(step_delay * 4);

    ^

    robot_polargraph:185: error: ‘calibrateLeft’ was not declared in this scope

    calibrateLeft = count[0];

    ^

    robot_polargraph:186: error: ‘calibrateRight’ was not declared in this scope

    calibrateRight = count[1];

    ^

    robot_polargraph:189: error: ‘saveCalibration’ was not declared in this scope

    saveCalibration();

    ^

    robot_polargraph:190: error: ‘reportCalibration’ was not declared in this scope

    reportCalibration();

    ^

    robot_polargraph:195: error: ‘teleport’ was not declared in this scope

    teleport(axies2);

    ^

    robot_polargraph:196: error: ‘where’ was not declared in this scope

    where();

    ^

    robot_polargraph:202: error: ‘get_end_plus_offset’ was not declared in this scope

    get_end_plus_offset(offset);

    ^

    robot_polargraph:205: error: ‘feed_rate’ was not declared in this scope

    lineSafe(offset, feed_rate);

    ^

    robot_polargraph:205: error: ‘lineSafe’ was not declared in this scope

    lineSafe(offset, feed_rate);

    ^

    C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void robot_findHome()’:

    robot_polargraph:216: error: ‘wait_for_empty_segment_buffer’ was not declared in this scope

    wait_for_empty_segment_buffer();

    ^

    robot_polargraph:217: error: ‘motor_engage’ was not declared in this scope

    motor_engage();

    ^

    robot_polargraph:221: error: ‘findStepDelay’ was not declared in this scope

    findStepDelay();

    ^

    robot_polargraph:244: error: ‘step_delay’ was not declared in this scope

    pause(step_delay);

    ^

    robot_polargraph:244: error: ‘pause’ was not declared in this scope

    pause(step_delay);

    ^

    robot_polargraph:252: error: ‘calibrateLeft’ was not declared in this scope

    count[0] = calibrateLeft/THREAD_PER_STEP;

    ^

    robot_polargraph:253: error: ‘calibrateRight’ was not declared in this scope

    count[1] = calibrateRight/THREAD_PER_STEP;

    ^

    robot_polargraph:254: error: ‘axies’ was not declared in this scope

    count[2] = axies[2].pos;

    ^

    robot_polargraph:262: error: ‘teleport’ was not declared in this scope

    teleport(axies2);

    ^

    robot_polargraph:264: error: ‘where’ was not declared in this scope

    where();

    ^

    robot_polargraph:269: error: ‘get_end_plus_offset’ was not declared in this scope

    get_end_plus_offset(offset);

    ^

    robot_polargraph:275: error: ‘feed_rate’ was not declared in this scope

    lineSafe(offset, feed_rate);

    ^

    robot_polargraph:275: error: ‘lineSafe’ was not declared in this scope

    lineSafe(offset, feed_rate);

    ^

    C:\Users\TJHawkey\Documents\Arduino\robot_polargraph\robot_polargraph.ino: In function ‘void calibrateBelts()’:

    robot_polargraph:287: error: ‘wait_for_empty_segment_buffer’ was not declared in this scope

    wait_for_empty_segment_buffer();

    ^

    robot_polargraph:288: error: ‘motor_engage’ was not declared in this scope

    motor_engage();

    ^

    robot_polargraph:298: error: ‘axies’ was not declared in this scope

    homePos[0]=axies[0].homePos;

    ^

    robot_polargraph:302: error: ‘findStepDelay’ was not declared in this scope

    findStepDelay();

    ^

    robot_polargraph:325: error: ‘step_delay’ was not declared in this scope

    pause(step_delay);

    ^

    robot_polargraph:325: error: ‘pause’ was not declared in this scope

    pause(step_delay);

    ^

    robot_polargraph:332: error: ‘calibrateLeft’ was not declared in this scope

    calibrateLeft = (float)steps[0] * THREAD_PER_STEP;

    ^

    robot_polargraph:333: error: ‘calibrateRight’ was not declared in this scope

    calibrateRight = (float)steps[1] * THREAD_PER_STEP;

    ^

    robot_polargraph:335: error: ‘reportCalibration’ was not declared in this scope

    reportCalibration();

    ^

    robot_polargraph:340: error: ‘teleport’ was not declared in this scope

    teleport(axies2);

    ^

    robot_polargraph:341: error: ‘where’ was not declared in this scope

    where();

    ^

    robot_polargraph:347: error: ‘get_end_plus_offset’ was not declared in this scope

    get_end_plus_offset(offset);

    ^

    robot_polargraph:350: error: ‘feed_rate’ was not declared in this scope

    lineSafe(offset, feed_rate);

    ^

    robot_polargraph:350: error: ‘lineSafe’ was not declared in this scope

    lineSafe(offset, feed_rate);

    ^

    exit status 1
    ‘axies’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    in reply to: Makelangelo 7.15 firmware #14647
    Avatartjhawkey
    Participant

    Thanks! I am getting closer. I learned/remembered that I have to copy the .h files into the folder that the IDE makes when you open the sketch.
    However, the sketch won’t compile and returns a number of errors.
    A few examples are listed below.
    Seems like I have files not in the correct place in my arduino environment.
    Any suggestions?

    C:\Users\TJHawkey\Documents\Arduino\Makelangelo-firmware\Makelangelo-firmware.ino: In function ‘void parseLimits()’:

    Makelangelo-firmware:140: error: ‘saveLimits’ was not declared in this scope

    saveLimits();

    ^

    C:\Users\TJHawkey\Documents\Arduino\Makelangelo-firmware\Makelangelo-firmware.ino: In function ‘void testKinematics()’:

    Makelangelo-firmware:167: error: ‘IK’ was not declared in this scope

    IK(axies1, A);

    ^

    Makelangelo-firmware:168: error: ‘FK’ was not declared in this scope

    FK(A, axies2);

    ^

    C:\Users\TJHawkey\Documents\Arduino\Makelangelo-firmware\Makelangelo-firmware.ino: In function ‘void lineSafeInternal(float*, float)’:

    Makelangelo-firmware:204: error: ‘IK’ was not declared in this scope

    IK(pos, steps);

    in reply to: Makelangelo 7.15 firmware #14581
    Avatartjhawkey
    Participant

    I think I might need the dummy version. 🙂
    On the reprap wiki it says:
    To flash your firmware of choice with the Arduino suite you have to select “Arduino Mega 2560 or Mega ADK” as Board.
    So that seems to answer one question.
    The next question is which .ino file do I use?
    I assume the makelangelo-firmware.ino
    Is that right?
    The robot-polargraph.h looks like it needs modification as you suggest for version 5, but I don’t see that it is called in either of the obvious .ino files

    Sorry for my ignorance. If you put the hex file for makelangelo 5 on github, I could just download that?

    Thanks

    in reply to: Drawbot with motorshield not working #11230
    Avatartjhawkey
    Participant

    I ran into a similar issue recently when changing power supplies.
    Different motors are optimized to run with different supply voltages.
    The motors on the machine I made are 5V motors, so I need a 5V, 4A supply.
    Other motors (and I think the ones Dan uses) will run at 12V and < 2A nicely.

    Many modern wall plug supplies have hiccup and overcurrent shutdown.
    That meant (for me) that when I tried to use a 12V, 2A supply with 5V motors, the motors would jerk a few times (hiccup mode) and then shut down as the motors wanted to draw more like 3A in operation.
    Unfortunately, many motor data sheets don’t explicitly list voltage, just coil resistance, and the actual dynamics of the stepper motor are a little more complicated than V=IR, but the simple calculation should at least get you in the ballpark.

    Tim

    in reply to: Best Way to Draw People? #10910
    Avatartjhawkey
    Participant

    I found that mugshots against a white-ish background work the best and use either scanline or crosshatch. I size/crop on my phone for aspect ratio to match my paper and so that the face takes up about 3/4 of the dimension of the paper. It’s really cool.
    I’ve never been able to get stipple to work that well, though I’d love to.

    Tim

    in reply to: V7.8 & diy machines #10909
    Avatartjhawkey
    Participant

    Hi Dan, is it possible for you to put a jar of the branch on github (maybe it’s there someplace and I don’t see it?)

    Thanks!
    Tim

    in reply to: V7.8 & diy machines #10893
    Avatartjhawkey
    Participant

    I see what Vlad is saying. If I just open the software without the machine attached, there’s no sign of a pulley diameter setting in the machine tab. I haven’t checked yet to see if a field appears when the machine is connected.

    Avatartjhawkey
    Participant

    I just tried this change and it’s pretty clear that I don’t fully understand what’s happening.
    I expected the gondola to move faster (of course), and maybe try to draw twice as large.
    The faster is true, but the larger seems like much larger if I put in “interleave” or “single” in the firmware.
    Even asking for a 100 mm move, moves the gondola beyond the range of my servo umbilical.
    I will retest with a 10 mm move and see if I can understand the scaling.

    I’m also going to buy bigger pulleys (currently using 20 T). That’s a clean way to get more speed (again with some assumed loss of accuracy). Right now, I can draw on 450 mm x 600 mm paper really well with the microstepping, but it takes several hours to do a portrait.

    in reply to: Would you like gcode that runs on any machine? #10582
    Avatartjhawkey
    Participant

    Thanks! I got 1.4 and 7.7.1 working on my machine and made some nice prints.
    I need to test more carefully but I think that the engage/disengage still get confused if you stop a print mid-way. I will check carefully and put it on github if needed.

    I might also consider dis-engaging the motors at the end of a print. The gondola goes to a corner (nice), but the first thing I want to do is disengage the motors to make it easier to remove the paper.

    in reply to: AMS firmware v1.4 compile errors #10542
    Avatartjhawkey
    Participant

    Thanks. I installed 1.6.11 and it compiled without error. I had been running 1.6.9 no problem, but I don’t have time to track down why that worked with older firmware.

    Tim

Viewing 25 posts - 1 through 25 (of 39 total)