Jump to content

Daid

Ambassador
  • Posts

    4,700
  • Joined

  • Last visited

  • Days Won

    19

Posts posted by Daid

  1. So, more updates!

    Finally got to push my earlier update to github. I've also added some more GUI stuff, like a progress window.

    The STL from

    http://www.thingiverse.com/thing:13440

    slices in 50 seconds on my desktop machine (Core2 2.33Ghz) as the reported slice time was 3 hours on SF, it's more then 200x as fast right now.

    Still no infills, and the perimeter sometimes intersects with itself causing problems. Which is the next thing I'm working on, but it's quite math heavy.

    I've added the option for a skirt, which doesn't work correctly in most cases yet. (My math Foo was failing today)

    I've also added a "minimum layer time" option, so you get the same behavior as the cool plugin from SF. (This was ridiculously easy)

    I've moved a few of the ADVANCED settings to a new setting group called "KITCHENSINK" which will contain all options which you will never want to change.

    The start/end GCode is now configurable (new configuration dialog shows 3 tabs for: settings, start code, end code)

    I hope to get my first working print tonight!

  2. The current motor controller is the Arduino Mega 2650, priced at 48,50 euro. Which works, but has it's challenges. Buffering being one of the issues, CPU power is another.

    For 69,00 euro you can soon buy a BeagleBone. For only 20.50 euro more you get:

     

    • [*:7gxtue7r]An ethernet interface VS USB interface
      [*:7gxtue7r]32bit 720 MHz ARM Cortex-A8 VS 8bit 16MHz AVR.
      [*:7gxtue7r]256MB ram VS 8KB ram
      [*:7gxtue7r]2GB disk space VS 248 KB flash for code
      [*:7gxtue7r]Linux VS bare metal

     

    So compared to the Arduino, you get limitless power and storage!

    So, marketing speech done.

    There are disadvantages. To name a few:

     

    • [*:7gxtue7r]Ethernet is awesome, but not as plug&play as USB. But the BeagleBone might have "USB On The Go" which could solve this.
      [*:7gxtue7r]The arduino firmware has to move to a Linux driver. Which is not as accessible as the Arduino software. Driver development might sound as scary magic to some people, but I do so in my day job from time to time, so no problem for me personally. Linux can be big and scary, but with a few tricks you get the realtime timing you need.
      [*:7gxtue7r]The IO pins are 3.3V instead of 5V, this causes problems with the current electronics. The Pololu drivers require VCC * 0.7 volt for a 'high', which is 3.4V at 5V, but the 5V might be drawn from the Arduino. All parts of the electronics need to be checked, as the temperature sensor also uses 5V, but I wouldn't be surprised if it al ran at 3.3V.

     

    So, why go trough all this trouble?

    Well, with the BeagleBone we can get even more fine grade control over the motors. How about a curve for acceleration, instead of the linear acceleration used right now?

    "Instant realtime control", no more waiting for the buffer to be empty after changing the flow/feed rates.

    Buffering problems will be a thing of the past. With 256MB ram, even the largest GCode file will fit in memory. PC crashing during print? No problem. Want to use/shutdown the PC during a print? No problem.

    Much better diagnostics. If something goes wrong in the firmware, you're plain out of luck trying to figure out what went wrong. With linux and a proper driver, you can just telnet to your Ultimaker, read out some values, and be happy.

    I'm planning to get one of these BeagleBones soon, my first step will be to put it in between the PC and the Arduino. To solve the PC crashing problem, because that's currently a huge issue for me.

  3. First, only color the wooden parts. You don't want any paint on moving parts. Next, you don't want a thick layer of paint because then the kit won't fit.

    From my experience, spray paint is pretty hard to get nice without some practice. So I wouldn't go for that myself. Also, the printer head comes pre-assembled. Just don't paint it. Taking it apart is quite troublesome.

    Mini guide: Paint all parts, let them dry, see if they fit, sand where needed, assemble ultimaker.

  4. That's a great idea! I'm a long way from it, but I'll keep it in mind. First step would be to get the features so normal prints work. I just did a test with the "Pink Panther Woman" printing at 50% with just the perimeter 3 lines. And it came out quite good for the first 10mm or so. The bottom layer was not really sticking to the platform, so it moved a bit. Other then that, it looks great.

    I didn't push my latest update to github yet, so don't try to use the current code, it doesn't work. (problem of using a new tool, haven't been using git for long)

  5. Ok, more info. It's related to the realtime control feature from RepG. Once I click that panel open it goes all crazy. Not sure if RepG sends a M-code at that point, but it goes crazy, even if I put the speed down to 10% it goes crazy fast. It's only sending F180 at that point, which should be crazy slow.

    The strange thing is, the realtime control worked fine before...

  6. It is producing GCode now, but I cannot edit the topic title...

    It still only generating the perimeter, but I guess you could print one of those fancy tornado's with it like this.

    I've added an "Tiny compact" GGode mode, which I think produces GCode as compact as possible, which the firmware will still accept. However, some parsers might not like it, and it's far from readable. But it does save about 10% codesize, might just be the edge if you run into buffering problems.

    The startup/shutdown code it hardcoded right now.

    It's still in heavy development, but it's also still slicing at ~2 seconds for my test model which took 5 minutes with skeinforge. Right now it can slice the _assemble.stl from

    http://www.thingiverse.com/thing:12472

    under a minute. The assemble.stl is not really intended for printing, but it's a good speed test, however I do not dare to put that stl into skeinforge.

    I'm working at many fronts at once, so I've also updated the config UI, and the preview window. The configuration dialogs look this this:

    Screenshot-SliceAndDaid%20-%20Dev-Prerelease.png

    (Beginner mode)

    Screenshot-SliceAndDaid%20-%20Dev-Prerelease-1.png

    (Normal mode)

    Screenshot-SliceAndDaid%20-%20Dev-Prerelease-2.png

    (Advanced mode)

  7. Thanks, but I had seen that already, your blog post was the reason I ordered my Ultimaker(still waiting :( )

    I haven’t had the time to do as much research as I would like, but the reason I hesitated to say the Ultimaker could do better is I don’t know if the 40 and 20 micron resolutions refer only to the Z axis(layer heights) or all 3

    In general the X/Y axis are done with 0.4mm lines at a very high accuracy (if you have all the mechanical stuff sorted) Doing smaller then 0.4mm lines with a 0.4mm nozzle is very hard. With 0.02mm layers is sort of laying very small pizzas on top of each other.
  8. You're posting at 7 post a hour, keep this up and you'll post 168 a day. Most people check a forum once a day. And I don't think they want to read 168 of your new topics shattered along the forum. You're also posting a lot without doing any searching yourself, which can make a good combination to piss people off.

    I can understand you're excited, but, really, take a Valium.

    The think that "shoots" (drips) out plastic is the extruder, or hot nozzle. The wrapping is most likely to keep the heat in there. It's not there by default, but people mod it on, explaining the different sizes/colors.

  9. I experienced something quite odd yesterday, I was printing, and suddenly my printing speed increased to insane. I had to abort the print because it caused the filament drive to grind into the filament. But I wouldn't be surprised if the print was happening at my travel speed of 300mm/s.

    I tried starting another print, but it was still going at insane speeds, I had to reset the machine before it worked normal again.

    Anyone else ever experienced anything like this? I was printing with RepG with the realtime control window open. I printed the same GCode with no problems after the reset.

  10.  

    http://daid.eu/~daid/IMG_20111107_195330.jpeg

    Left is a print with skeinforge, right is with slic3r.

    Part of the uglyness is my fault, part Slic3r I think.

     


    • [*:3kagejik]I didn't activate the fan before the start, because that's in my normal start.gcode, I did so after a bunch of layers with the manual control in RepG
      [*:3kagejik]But there are also alignment problems in the bottom layers. By any chance, are you moving the Z and X/Y in 1 move action when you go up a layer? The Z endstop is still pressed at that point, and I've noticed the Marlin firmware is kinda picky when endstops are pressed and multiple axes move.
      [*:3kagejik]The fill layer where the head is put on top is kinda wierd compared to the skeinforge one.

     

    I didn't get the start/end gcode to adjusted. So I manually put the M92 in the final GCode. And the UI doesn't remember anything by default, I really suggest you save the current settings on closing the tool, and reload those on start. Just from a useability standpoint.

  11. Interesting. It also looks like an easier UI then skeinforge.

    I think the following configuration will work:

     

    bottom_layer_speed_ratio = 0.3end_gcode = M104 S0 ; turn off temperatureG28 X0  ; home X axisM84     ; disable motorsfilament_diameter = 2.85filament_packing_density = 1fill_angle = 45fill_density = 0.4infill_every_layers = 1layer_height = 0.2multiply_distance = 6multiply_x = 1multiply_y = 1nozzle_diameter = 0.4perimeter_feed_rate = 30perimeter_offsets = 3print_center = 100,100print_feed_rate = 80retract_before_travel = 2retract_length = 1retract_restart_extra = 0retract_speed = 40rotate = 0scale = 1skirt_distance = 6skirts = 1solid_layers = 3start_gcode = M92 E926G28 ; home all axestemperature = 210travel_feed_rate = 300use_relative_e_distances = 0z_offset = 0

    (save it as config.ini and load it)

    As it seems to use the same 'dimension' type of configuration as the new SF40/SF41 you will need a M92 in the start code for the right number of E steps. And at least a sprinter/marlin firmware.

    I did a slice test (no print), and it's faster then Skeinforge. It does have the same 'feature' as skeinforge that it hangs during slicing, and only produces console output. It also doesn't remember the last selected path. I guess the developer is using the command line himself.

    For my test model:

    Skeinforge: 6 minutes 13 seconds (with psyco, and speedup patches found in SF43)

    Slic3r: 50 seconds (with the above settings)

    SliceAndDaid: 1.8 seconds (Cheating, because doesn't generate GCode yet, doesn't do infills, but does generate an path for the perimeter)

    So, it's at least 6 times faster then using Skeinforge. However, it's Perl, so my Java slicer should run circles around it (once it works). It does generate GCode with comments in them, so make sure your GCode sender strips those out or you might run into buffering problems. But it looks like a valid option instead of skeinforge.

  12. I think the Ultimaker people are still learning about which types of filament they need to stock more then others. If they don't have it in stock then I recommend sending them an email with details about what you are looking for, they respond quick and will give you a lead time on when it will be in stock again. If they know better which types of filament is wanted then they can keep a better stock.

    I currently still have black and red. But when I start to run out of black I want to order white and the flexible PLA. I see they have less 2.3kg spools on the webshop now. Which I think is quite good, because I ordered one of the 2.3kg black spools and I think it's a bit much, and heavy, the 0.75 spools are much easier to handle.

    For other sources of plastics:

    http://reprap.org/wiki/PLA#Europe

     

  13. Customize the registration page. Really, it stops 100% of the spam right there.

    On a different forum I've added:

    ./includes/ucp/ucp_register.php around line 260:

     

    if ($data['areyouhuman'] != "yes"){ $error[] = "You need to confirm that you are a human (no aliens allowed!)";}

     

    And, styles/subsilver2/template/ucp_register.html around line 84: (you're using a different style, so the file might be a bit different)

     

    [tr] Are you a human?: Enter 'yes' if you are a human. Else enter 'no'.[/tr]

     

    I've disabled capcha's, email confirmation, and so far I've had 0, yes, ZERO. Spam signups. It won't work for high visibly sites, but it works for small forums like this one. No difficult "don't post URLs in your first post" plugins, no hard to read capcha's. Plain and simple "be different then the majority"

  14. I've put up my code on Github today. So today is a good day.

    I've started work on a new Slicer for 3D printers. Which is a more complicated task then I had imagined. I was looking at Skeinforge and I found it slow, the code inflexible to work with. I did some work on trying to speed it up. But in the end it's the design that makes it slow and clumsy.

    So I started on my own slicer. And with a huge ego programmers have, I named it "SliceAndDaid". It currently only slices the model into layers, generating an outline. I'm still a few days off from generating GCode, but I figured I get this topic rolling a bit. I've not measured slicing speed, because providing metrics at this point would be useless as it lacks many features. But, it's fast, very fast. The largest thing I threw at it took seconds to slice and optimize.

    The steps my slicer takes:

    Configuration dialog

    I'm aiming for a simple configuration dialog, with 3 "user levels": Beginner, normal, advanced. The higher the level the more options are shown. The beginner option should only need a few settings like layer height, line width, filament width. Advanced will show everything, like Skeinforge does.

    Model loading

    It only loads ASCII STL files right now. Binary STL files is in the planning, but I have yet to encounter those files. (please send me an example?)

    Slicing

    It slices the model not layer by layer as Skeinforge does, but triangle by triangle. This means it goes trough all the triangles in the model, and only adds lines to the layers in which this triangle intersects. This is very fast, especially on high detailed models. Because this way it only needs to go trough the triangle list once, instead of once per layer.

    Optimizing

    My slicer will assume, and require!! that your model is manifold. It tests so during the optimizing phase, where it will connect the lines to each other, find out which are outlines, and report errors. It will also join up lines that have a to slim angle between each other. This will make circles slightly less round, but will also reduce the amount of GCode. (this is configurable)

    Outline

    The outer wall is generated by a line inside of the enclosed lines found during the optimizing phase. There are a configurable number of outlines.

    Currently there is an issue with thin sections which causes outlines to overlap. Another thing for the todo list.

    My code can be found at:

    https://github.com/daid/SliceAndDaid

    I'm not providing binaries yet, and documentation is lacking. There are files in there for an eclipse project. I'm just throwing this out here so people can give me ideas. I hope to have the code ready for printable hollow objects in the next few days.

  15. It's not just 50% better resolution (or 33% better, depending on how you calculate), the layers are sticking to one another a lot better making a cleaner and stronger part.

    These where still printed at the wrong 2.98 setting, I also printed one at 2.89, which has better fills but still shows gaps. I set it at 2.85 for the next try, but I haven't got around printing yet.

    If I want tinner lines I need to reduce the W/T ratio? I find that setting a bit awkward, not sure what it represents, so I'm using the hint that W/T needs to be 0.4/layerheight, which is 2.0 in my case now.

  16. I've printed the same part twice, once at 0.28mm layers and once at 0.2mm layers. And the results are much better then what I expected.

    See for yourself:

    http://daid.eu/~daid/IMG_20111027_195618.jpeg

    The top print is at 0.28mm layers, the bottom is 0.20mm layers. Note that they are both printed at 205C, and in the same print time, the top was at 60mm/s and the bottom at 80mm/sec (ok, that's slightly slower)

    The top of the first one is ruined, but that had nothing to do with the settings. But seeing the differences I think 0.2mm should be your absolute maximum layer height. Larger layers don't give more speed (which is limited by the amount of material you can push to the extruder at that point)

×
×
  • Create New...