Pololu microstepping settings

Pololu stepper microstepping settings taken from pololu’s site.

 

MS1 MS2 MS3 Microstep Resolution
Low Low Low Full step
High Low Low Half step
Low High Low Quarter step
High High Low Eighth step
High High High Sixteenth step

beta:3950 thermistor table for marlin

here’s the thermistor table for the thermistors with a beta of 3950, 100k ohm type. These can usually be found for really cheap on ebay and such, but finding the table for marlin firmware is a bit difficult so here it is, just replace type 8 with this code in thermistortables.h.

#if (THERMISTORHEATER_0 == 8) || (THERMISTORHEATER_1 == 8) || (THERMISTORHEATER_2 == 8) || (THERMISTORBED == 8) // QU-BD silicone bed QWG-104F-3950 thermistor
const short temptable_8[][2] PROGMEM = {
         {1*OVERSAMPLENR,        938},
         {31*OVERSAMPLENR,       314},
         {41*OVERSAMPLENR,       290},
         {51*OVERSAMPLENR,       272},
         {61*OVERSAMPLENR,       258},
         {71*OVERSAMPLENR,       247},
         {81*OVERSAMPLENR,       237},
         {91*OVERSAMPLENR,       229},
         {101*OVERSAMPLENR,      221},
         {111*OVERSAMPLENR,      215},
         {121*OVERSAMPLENR,      209},
         {131*OVERSAMPLENR,      204},
         {141*OVERSAMPLENR,      199},
         {151*OVERSAMPLENR,      195},
         {161*OVERSAMPLENR,      190},
         {171*OVERSAMPLENR,      187},
         {181*OVERSAMPLENR,      183},
         {191*OVERSAMPLENR,      179},
         {201*OVERSAMPLENR,      176},
         {221*OVERSAMPLENR,      170},
         {241*OVERSAMPLENR,      165},
         {261*OVERSAMPLENR,      160},
         {281*OVERSAMPLENR,      155},
         {301*OVERSAMPLENR,      150},
         {331*OVERSAMPLENR,      144},
         {361*OVERSAMPLENR,      139},
         {391*OVERSAMPLENR,      133},
         {421*OVERSAMPLENR,      128},
         {451*OVERSAMPLENR,      123},
         {491*OVERSAMPLENR,      117},
         {531*OVERSAMPLENR,      111},
         {571*OVERSAMPLENR,      105},
         {611*OVERSAMPLENR,      100},
         {641*OVERSAMPLENR,      95},
         {681*OVERSAMPLENR,      90},
         {711*OVERSAMPLENR,      85},
         {751*OVERSAMPLENR,      79},
         {791*OVERSAMPLENR,      72},
         {811*OVERSAMPLENR,      69},
         {831*OVERSAMPLENR,      65},
         {871*OVERSAMPLENR,      57},
         {881*OVERSAMPLENR,      55},
         {901*OVERSAMPLENR,      51},
         {921*OVERSAMPLENR,      45},
         {941*OVERSAMPLENR,      39},
         {971*OVERSAMPLENR,      28},
         {981*OVERSAMPLENR,      23},
         {991*OVERSAMPLENR,      17},
         {1001*OVERSAMPLENR,     9},
         {1021*OVERSAMPLENR,     -27}
};

#endif 

FreeCAD Code update

well, a few days after posting that code below for freecad to kisslicer bridge, I started having people contact me on the freecad forums and an administrator on there also agreed, so I copied the code, slightly modified, to the freecad’s main wiki as part of the official wiki documents under the macro section. The link for it is here:

http://www.freecadweb.org/wiki/index.php?title=Macro_3d_Printer_Slicer

I hope eventually it can be added in as an option as part of the main program rather than just a script/macro. Ive also gotten messages on the forums from people saying that it works good with pyCAM, cura, slic3r, and a few other slicing software/cnc software.

As Ive said before, I use it on a daily basis, so I know it works good, but what the code does, you save your current design, then click the button for the macro/script, and it will open the object, as it looks in your design, up in your slicing/printing software, ready to print. So instead of having to export everything, then finding your slicing software and opening the exported stl file, it just does everything automatically and opens it up in your slicing software, directly from freecad itself while automatically exporting the stl file in the same folder as the design file, and opens up your slicing software automatically ready to slice/print.

My FreeCAD addon

Ive been working on a FreeCAD addon since I use kisslicer to slice up my stl files for my 3d objects I design, so eventually, I got tired of constantly having to search for the stl files, and designed this code. The code will automatically convert only the visible parts that you want, group them together, and export it as an stl file next to the original design file, with the same filename except with stl extension. Then it’ll open the STL file automatically for you ready to slice and to create gcode from your settings.

I designed it on linux, but it should easily be converted to be used on windows or any other system. Just create a macro in freecad, and paste this into the macro, then save it. Then you can go to tools/customize and set up the macro to a button on the toolbar, so you can just click the button and it converts everything for you.

import FreeCAD
import Mesh
import sys
import math
import os
import subprocess

# some fuctions

def getPlacement(quat,vect,obj):
  if quat[3] > -1  and quat[3] < 1:
    delta = math.acos(quat[3])*2.0
    scale = math.sin(delta/2)
    rx = quat[0]/scale
    ry = quat[1]/scale
    rz = quat[2]/scale
  else:
    delta = 0
    rx = 0
    ry = 0
    rz = 1

info0 = "translation "+str(vect.x)+" "+str(vect.y)+" "+str(vect.z)
info1 = "rotation "+str(rx)+" "+str(ry)+" "+str(rz)+" "+str(delta)
return info0+" "+info1
# some definitions
placement = App.Placement(App.Vector(0,0,0),App.Rotation(0,0,0,1))

# user need to set this directory where STL files will be placed
OutDir = FreeCAD.ActiveDocument.FileName.replace(FreeCAD.ActiveDocument.Label + ".fcstd", "")
visible_objs = []
KISSlicer = "/kisslicer location/"     #put the location of your kisslicer directory here
os.chdir(KISSlicer)

# Get Objects in document
doc = App.ActiveDocument
objs = doc.Objects

# hide all
for obj in objs:
  if obj.ViewObject.isVisible():
    visible_objs.append(obj)

print "number of volumes "+str(len(visible_objs))

for obj in visible_objs:
# {
  # get volume
  volume = obj.Shape.Volume

  # get Rotation and translation of volume
  quat = obj.Placement.Rotation.Q
  vect = obj.Placement.Base
  pinfo = getPlacement(quat,vect,obj)

  # reset placement, export it and set at original placement
  oldPlacement = obj.Placement
  obj.Placement = placement
  obj.Placement = oldPlacement

stlFile = OutDir+str(doc.Label)+".stl"
Mesh.export(visible_objs,stlFile)
subprocess.Popen([KISSlicer + "KISSlicer", stlFile])

You’ll have to change the values of the location of KISSlicer, or modify it for whatever slicer software you use, and it should work fine.

Update

Well, tomorrow we leave for world makerfaire in new york. I havnt really posted much lately due to the fact that Ive been working on my new printer because of the printrbot jr’s printrboard (controller board) died. Ive been trying to get ahold of someone at printrbot to see if I can get a replacement, but so far, I havnt been able to get ahold of anyone through support tickets, or through private messages on the forums. I also tried contacting the head of printrbot on twitter because most people have said they had better luck of getting a response back from them on there, but it seemed like he just ignored the question. Maybe Im not sending the messages right or something on there, but it’s always worked with everyone else Ive ever tried it with. It’s waay too much of an expensive part to have to just toss the old one and get a new one when it’s not very old at all. (around 130-140 dollars for the board)

So Im just trying to figure out how to get the printrbot jr up and running again, and hoping I can get ahold of them to see if I can just get a replacement. Ive heard that thier warantee stuff is really good if you need something replaced, but I guess just getting ahold of them is the hardest part.

Ive decided not to go with the printrboard, sanguino, or ramps for my new printer, and instead, go for a gen7 board because of multiple reasons. Mainly, I just wanted to build the whole printer from scratch excluding the motors and maybe hotend, and I wanted to be able to really really customize the firmware and hardware myself for everything.

Ive decided on the gen7 1.4.1 rather than the 1.5 due to the fact that 1.5 has the usb chip built in, and eventually I want to do away with the usb chip entirely and use a level translator to convert the 3v signals to 5v and vise versa for hooking it directly up to the serial port on the raspberry pi, and just build the raspberry pi into the printer itself so it would have an all in one printer that I can just take with me and not have to worry about plugging in a bunch of power cords to get it to run. Just run the 5v from a pc power supply, and that’s all you need.

Like I said before, makerfaire is in two days, and Im already packed and ready to go, and will upload alot of pics from there. I saw that this year, eben upton from raspberry pi foundation will be there also showing off some of thier new hardware, and Im hoping that I’ll be able to get a pic or two with him also. Who knows, maybe Ill be able to show off that little hacked netbook running as a raspberry pi also 😛

Im hoping that the printrbot guys will be up there and see if I can just talk directly to them to get all of this sorted out. It’s been around a week since I sent in the support tickets and still havnt gotten a reply or anything from anyone, so maybe Ill just be able to ask up there. There’s still a good amount of parts needed to be printed out for my prusa, and cant, also I have a few other people wanting stuff printed also, so need to get it up and running asap.

Also, if anyone reads this site and knows the answer to this question, I’ll ask it here:

Ive seen people saying that they get disconnects using the ft232 chips and 3d printers due to the latency, but I also see other people using attiny chips or other usb-ttl converter chips, and I was wondering if the other chips have that issue, or if it’s just ft232 related. I only ask because for testing everything and getting everything set up, I wanted to use a pl2303x based converter that Im planning on making from an old dialup modem that I tore apart ages ago. Always better to repurpose something than toss it if you know you can use it for something. 😛

Newest Projects

Hi, I havnt really posted anything in a while due to being busy with some new projects and tearing things apart that we find in the trash.

So far, Ive been building a small cnc machine and a reprap prusa mendel 3d printer. The cnc machine hasnt gotten very far other than collecting the rods and such for it, and two motors for it. The reprap on the other hand, Im stuck due to the fact that I dont have the motors, electronics, or the hot end to finish it, but I do have the frame and all plastic pieces already printed out and assembled.

Here’s a pic of the progress on the reprap:

Image

the motor is just a weaker one that I found in an old inkjet printer ages ago, but looked good there for the time being, but Ill probably use it on my little cnc machine. Also, I ran out of filament, so just messing with fixing stuff atm. I keep researching into making a Lyman’s extruder, which turns plastic pieces of scrap or whatever and turns it into filament for the printers. I find tons of ABS plastic in the plastic covers and internals of most of the computer cases, and printers/scanners that we find in the trash nonstop, so it would be great to have one of those with some type of shredder.

The cnc machine, I plan on trying to make it out of an old flatbed scanner base since it had large 10mm smooth rods and brass bearings already there, so it was a good starting place. Ive been trying to research different electronics to put on it, but haven’t found something that suits my budget/needs yet.

The other thing Ive been working on is my little lemon trees and fixing xbox 360 consoles and kindle fire tablets. (they evidently couldnt solder the usb connector in very well, so it likes to just fall off and the tablets refuse to charge anymore.

Here’s an older pic of my baby trees and messy table: 😛

Image

That’s what’s been going on so far, too many projects, not enough parts 😛

New Addition to the Robot Circus

Well, there’s a new robot in town, it’s name is Mouse. I named it mouse because of the fact that when I was first putting it together, the big wheels and the base reminded me of a weird mouse with the wires sticking straight out the back of the base. I made it over the last few days using my 3d printer and some extra servos/arduino/printboard. It tends to go in large circles because of the fact that I dont know what the centers are on the servos for the arduino programming. Ive always used them with PIC chips, which I figured for this little bot, I’d change it up a little to learn something new. Other than the large circles issue, it runs around the camper here and if something gets in its way, the ultrasonic sensor on top picks it up and tells the robot to turn around and run away.

Here’s some pics of it sitting on my resistor cabnet waiting for me to press the go button:

Image

Image

Its based off of the miniskybot 2.0, which is a basic printbot. The robot is an educational robot designed by a guy over in spain, but uploaded the robot as open source for anyone to use and modify as they wanted.

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

With a 9v backpack holder hot glued to the back of the robot, here’s the 9v backpack

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

I also used a custom printshield which seperates the 9v from running into the 6v servos, and used the 6 AAA batteries that are designed into the base of the robot to power the servos with, then 9v battery for the arduino and sensors. I did it like this so motors didnt get too much power, and it helps prevent power dips when its running which would normally cause the robot to reset itself.

If anyone wants the pcb layout for the printshield, I can upload the files, and/or the mirrored pdf file to use for toner transfer method.

Will be bringing him to a certain gyro shack and letting him loose as soon as I can get over there 😛

Printrbot Jr KISSlicer settings and Comparison of slicers

ok, Ive been looking around at various slicer programs for slicing objects for use on 3d printers, and the best ones Ive found so far have been either Repetier-Host or KISSlicer, but each have thier own downfalls. Repetier-host needs .net framework (on windows) or mono (on linux), which I really dont like either in my computer.

Lately, Ive been looking at KISSlicer, and there was a large downfall that with poorly designed stl files, it doesnt slice it as a single object, but rather multiple parts. I found this is very annoying, but very recently, I discovered a hidden version of KISSlicer that actually does not have that issue, and will slice the objects as they are supposed to, and does as well or better than repetier-host.

KISSlicer is a stand alone program that you just run from a folder rather than installing it, but contains the .ini files in the same directory as the executable, which contains all of the settings for everything from filament size, to speeds, to setting temperatures. Ive found that KISSlicer runs on far more computers than just ones with graphic accelerators, and needs no external libraries to be installed beyond what’s installed by default in a normal operating system, so no extra baggage. Lighter memory cost on system + runs on almost everything is a definite win to me. 😛

Yesterday, I discovered a hidden version of KISSlicer called KISSlicer_submeshes, which is the version that handles the poorly designed stl files.

Here is a link to both windows and linux versions:

http://kisslicer.com/forum/index.php?action=dlattach;topic=489.0;attach=2003

http://kisslicer.com/forum/index.php?action=dlattach;topic=815.0;attach=2160

Ive also discovered something else about KISSlicer that repetier-host does not do. If you use a raspberry pi as a print server like I do, you’re probably used to pre heating the extruder to the right temperature before hitting print. KISSlicer actually contains some extra commands that tells the nozzle to get to the right temperature automatically, and will wait for it to get to that temperature. So everything is done automatically for you.

The quality between the two is a huge difference also, Repetier-host is a good one to get started with, where as KISSlicer seems to be a little more advanced, but once KISSlicer is set up and the configuration files are made, it’ll give alot better prints than with repetier-host.

It took me a while to figure out how to set up KISSlicer so it would have perfect prints, and the configuration files are a little difficult to understand at first. So I figured that I’d post my configuration files for everyone with a printrbot jr to use, to make it easier on those first getting into KISSlicer or for some reason cannot use repetier-host.

Well, here’s the configuration files:

http://www33.zippyshare.com/v/97529871/file.html

Just extract those 4 files in the same folder as the KISSlicer executable/binary and run KISSlicer. Then all you need to do is just add your item, hit slice, and your good to go. There’s two modes for the styles, the normal mode, which is comparable to repetier-host at 0.4mm, but is slightly faster, and high quality mode, which has half the layer height at 0.2mm, and looks much cleaner, and better. The high quality mode also takes longer to print though, so just as a warning.

When your done slicing, you dont need to click save, it automatically saves the sliced object’s gcode in the same folder as the KISSlicer binary/executable.

Happy slicing and hope this helps.

My New Assistant

Well, I finally got an assistant for printing off stuff, and my little hobby projects, and so far, he’s pretty cool but doesn’t do much other than stand around. I’ve been working on getting him for the last week and finally yesterday, everything came together, and now I have my own assistant. 😛

I figured I’d post a pic of us working on a dremel saw stand:

Image

I hope everything works out alright and the arrangement lasts for a while. 😛

 

Anyways, he’s a Mark II, which you can easily find him on thingiverse, and I know that the pieces didnt fit together all the way on mine, but he’s still pretty cool anyways. I just glued him with some high temperature hot glue, which fuses with the plastic and everything for a permanent bond.

My little Printrbot Jr assembly kit

Here, Ive collected all of the documents and everything needed to assemble and get your printrbot jr up and running, and comments to really help get those first getting started to get decent prints.

Printrbot Jr. Instructions:

http://printrbot.dozuki.com/Guide/Printrbot+Jr.+Kit+Build/25/1

Printrbot Jr Extruder Instructions (is not included with normal instructions):

http://printrbot.dozuki.com/Guide/Extruder/38/1

I had to take a knife and file down a little bit on the wood in where the hot end goes in so it would fit, and it slides up inside the bottom of the wood extruder parts, then there’s two long screws that go through the wood and into the beveled part of the hot head to keep everything locked into place. It’s kinda hard to see that, so I figured I’d mention how it went.

While assembling everything, you’ll want to check all connections multiple times, and defenitely check the fan so it’s not shorted, short circuits will blow up parts on the circuit board, and is very expensive to fix.

Also, for those saying it only takes around 2 hours to assemble the printer itself either is on some serious speed, or has found a way to control time because it definitely doesn’t go that easily. I can usually just blow through assembly of something in a few hours of what takes most people a week, and this printer took me close to 2 full days to put together.

For those who have the problem of the printer wanting to home to the bottom right instead of bottom left, the X axis wire can be rewired easily using this diagram to fix all of those problems:

http://d17kynu4zpq5hy.cloudfront.net/igi/printrbot/jHFB2IXlYOxwWhJs

The easiest software Ive found to use is repetier host, it can be downloaded here:

http://www.repetier.com/download/

or if you prefer to use a laptop and dont feel like needing to have it plugged in all the time to the printer while printing, you can set up a raspberry pi as a print server like I did using octoprint using this method:

https://github.com/foosel/OctoPrint/wiki/Setup-on-a-Raspberry-Pi-running-Raspbian

Then just run repetier-host on your laptop to just slice the files into gcode, and save it, then use the web-ui of octoprint to upload it to the raspberry pi. After you get everything set up, I would highly reccommend putting at least 3 layers of the wide blue painter’s tape on the print bed, dont overlap the pieces for each layer, just make it so it’s perfectly flat. For repetier host, there is a setup guide here:

http://printrbot.com/wp-content/uploads/2013/06/Getting-Started-Guide.pdf

but it doesnt show what print size to put in, so here’s the dimensions I used for the printrbot jr and they work perfectly:

X = 140

Y = 114

Z = 102

For temperatures of printing of normal layers and base layer in slic3r settings, I reccommend first layer being 195C and rest of the layers being 190C. Those have given me the best results with the natural PLA cord that you recieve with the printrbot.

After you get all of that set up, make sure the bed is perfectly level with the nozzle, you can do this by just moving the nozzle to the corners and turning the bed levelling screws until the nozzle looks like it’s just touching, but you can just barely slide a piece of paper between the bed and nozzle. After that’s all done, you should be able to plug in the USB cable to the computer or raspberry pi, then plug in the power for the printer. You should hear the sound that it makes when the usb is connected in windows, or in linux, by using the terminal, type lsusb into the terminal and you should see something with 4 capitilised letters, like YUSD or something like that, I forget what it shows atm, but it is something like that. If it doesnt make the sound in windows or show up in lsusb in linux, just unplug the power cord from the printer, and plug it back in. If it still doesnt work, check all of your wiring and check everything in the printer again. The best idea is to wait to put the printrboard circuit board and wiring in the base of the printer until you know everything is working fine.

Another thing to mention is, just let the printer heat up for a few minutes, like 3-5 minutes before starting your prints, and keep the print head off of the board while it’s heating up so it doesnt burn the tape. (it is around twice the temperature needed to boil water) Also, if you start running into one side of the bed, where the edges of the raft or bottom layer of the prints start lifting up and curling the passes, then letting it preheat usually fixes that, and if not, just loosen the bed leveling screws a little bit and it should fix that. It’s usually caused by either the bed not being close enough or the extruder not being warmed up enough.

I think I covered everything I could remember atm, but if I remember anything else, Ill be sure to add it. I hope this helps whoever reads this and is first getting started with the printrbot jr kits.