Jump to content
Ultimaker Community of 3D Printing Experts
  • Sign Up


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by conny_g

  1. @foehnsturm fyi, the parcel arrived a few days ago, thank you! Will take a while until I have the time to do the mod. Currently too much work, projects already in progress and also family vacation to be done.
  2. Hi Razanur, good work, congrats ? I had two different versions of a head initially as well, one version used the thumb screws to attach it to the side. The second version was an alternative head that allowed change a part of the head https://www.thingiverse.com/thing:945899 The 3rd version is the magnetic mount of https://magnetic-tool-changer.com/ (participated as beta tester there) That allows to attach/detach the laser head at any time, without screwing or anyting. Regarding color vs. photo resist. I am quite happy with the photo resist, it's very refined product and it's easy to expose it with the 150mW diodes which are cheap and available. The multi-Watt ones are much more expensive and harder to get in decent quality. Thought about trying the color method, but on one hand it's a bit of a mess to remove that much black color afterwards and on the other hand I am absolutely happy with the photo resist stuff. I belief it's more accurate than spray color and supports efforts of high resolution better than spray paint. Regarding the vector edging vs. pixel rastering I believe I can achieve higher resolutions with rastering as I can control the energy going into one pixel very precisely. And I can expose the exact image of what I want to do without having to convert it to vector edging, leaving the areas (unless I hatch it which is the same than rastering...). For that reason I don't experience much of an issue with the oval/rectangular shape of the dot. I have set it to 45 degrees vs. the raster direction and that way in essence it has the same size for X and Y, simply making the focus larger. Which I can compensate with reducing the energy (gaussian beam, effective dot converting the photo resist is then smaller). If you move in all directions you see the effects of the "bar" in one direction vs. the other. Then with the vector there is acceleration/deceleration ramps that change the energy going to the color/photo resist strongly so the lines are thinner/thicker, depending on the speed. Unless you go "full power'" anyway which will always create a large "effective" footprint (see the gaussian thing above). With the rastering every pixel is identical. And with the vector method I had strong oscillations in the corners as the laser is on while it't going around the corners. Depending on the speed, of course. After considering all this I stuck with the rastering approach. Tried the vectoring some time later and I didn't like it better, so still going with rastering now. The rastering takes long (3 hours for 1 side of Euro PCB), but I like the perfect result over the time factor. With the software + controller the vector approach is still possible. I have two modes built in, one is the "bitstream" mode, the sync signal given by printer starts the pixels being generated while the head moves along the defined path. And the "direct" mode where the sync signal actually controls the laser beam, sync on = laser on, sync off = laser off. That way I can vector any path directly with G-Code (just an amendment of the G-Code is needed: G01 X100 Y200 B1 -> the B1 is "beam on"). For simplicity I had started with the fan output originally as well, but I disliked that I needed to switch plugs or connection between fan or laser so I started to use the EXP3 port and can just leave the laser stuff connected. I don't have an issue with the firmware mod, it's making the solution more flexible and it's not a big /complicated mod. Even if you have to update the firmware from the repo again and resync the mod. For the "bitstream" thing you need an external controller and for that you need a sync signal. So there is not really a way around the firmware mod. I had tried to integrate the pixel generation in the firmware, but I got conflicts between the movement control (using interrupts) and the pixel generation (using ints as well). Possibly you can get that resolved, but I am quite sure that this will bring the poor Atmega to it's limits and I didn't feel like having to resolve all sorts of strange side effects changing the usage of the Atmega that much. So an external pixel controller was so much more safe and transparent. So for me all that is pretty much working and finished, currently. The most important next step is to unify the software parts in OctoPrint with a nice UI behind it. Currently it's just python command line scripts. And I am working on the drilling solution in a similar way. Magnetic attachment of the Dremel, python scripts to control the drilling. Also that would benefit strongly from controlling that with Octoprint. Already spent a few hours in the last months to delve into plugin development for Octoprint and I think am now ready to do the next step soon.
  3. @geert_2, I actually use this mount method already for a diode laser of 150mW for PCB exposure. But it could also be higher power for cutting or engraving. Ah, and I have used the 150mW laser for cutting paper stencils for SMD PCBs. Requires to paint the paper black with a laser printer to make sure the low power laser can cut it (black absorbs the energy better and makes sure the laser can pierce through the paper at all) and it cuts veeeeery slow (like 1mm per second), but it works. Still less work than putting the solder paste on the PCB manually.... don't care if the stencil takes 20-30mins to make. If you are interested, the whole process is: export the pads as Gerber, use a python script to convert the Gerber to g-code for the 3D printer, black the paper with laser printer (ideally two times for shiny surface = less absorbent, easier to distribute the paste), cut the stencil with the laser, spray the black surface with transparent lacquer to make it less absorbent. After drying for 1 hour you can use it as a stencil, even more than once. Engraving (not laser, regular engraving) I am not sure if that's going to work. The magnetic mount holds fine for light forces in Z direction, a few newton. But it will fall off with more force in that direction or even with lighter forces in X/Y. But of course the mount could be strengthened - it's just a bit more redesign. My motivation was to do as little as possible of (re)design on top of the Mark2 fixture to add the Dremel. And that succeded for this purpose. Regarding small drills and wobble. Have no experience yet, but the test in the video with 0.8mm drill bit was totally uncomplicated, no wobbling, no breaking of the bit. So I am not worried if it will work with 0.6mm - which is the smallest drills I use. So let's see the next tests after I finished the software part. I think the Dremels are quite good quality regarding wobbling. I tried a cheap $10 drill a few months ago and it's drill bit holder is a nightmare, wobbling like hell. Possibly one future iteration of this thing is to replace the Dremel flex extension with a decent quality DC motor with drill bit holder. Would make it more compact and it'd be still inexpensive.
  4. Cool ? Does it and how does it work with Bondtech feeders? http://shop.bondtech.se/en/extruders/qr-30-universal_lefthand.html
  5. Oh. I am using EXP3 for the sync signal of my UV laser exposure solution.... ? It's not needed at the same time, though. So I could switch between the two somehow, in the firmware and in hardware. If the flow sensor can handle (ignore) an "incoming" signal, then I can switch the port to output instead of input and it would just work, without any extra hardware required.
  6. PCB holder mount on an acrylic build plate replacement is done. I can now just swap the glass into the acrylic plate and start to drill. Have done this for the UV laser exposure solution, too - if the measurements of the "build plate" is accurate there is actually little tolerance in the placement of the frame/holder. For the exposure plate it's only some 0,5mm I usually need to correct the home position and also just 0,5-1mm in angle error for the 160mm PCB length. It's laser cut from scrap pieces of acrylic. Bottom side transparent 2mm, top side white 2mm, glued together. Resulting in the 4mm height also the glass plate has. So the glass plate mount works for this plate, too. Melted thread inserts into the bottom of the PCB holder and cut a larger hole in the lower side acrylic so that the holder can be screwed from the bottom with the screw head countersunk into the acrylic. That's the core reason for using the 2 layers of acrylic - aside of looking nice (could have used 4mm plywood, too) I can countersink the screw. Now there is some more software work to do for the calibration process (home position, angle error). And to enable multiple copies on one Euro PCB. The exposure scripts can do that to multiply the PNG export from eagle and position it X/Y multiple times, but the drill script currently only uses the one set of hole coordinates exported from eagle.
  7. Yes, that makes sense, thank you!
  8. Works better than expected. PCB is held in grooves 5-6mm above the T-nut plate, so the drill will not hurt the plate if calibrated correctly.
  9. @tinkergnome Is it possible to view / set the values you can mod via the UM2 display / scroll wheel also via gcode? I am using Octoprint to control / Monitor the printers and have a need to set / reset these mods remotely. Example: I started a print and tuned the parameters during the first layers, like more/less temp, lower/higher speed. These mods are saved by the tinker firmware, like +5 temperature, 80% speed. Next time I start a print job remotely I correct these parameters right in Cura and want to reset them in the printer. Can I do that with G-Code?
  10. Prototype of a PCB holder plate is printing. Based on T-nut system. Inspired by https://www.thingiverse.com/thing:2202041, but trying to do it less complex/massive. Actual T-nut holder in design process, possibly printing that later today. Will get mounted on a laser cut UM2 printbed sized acrylic plate in two layers to achieve the 4-5mm of thickness and holes for the screw heads on the bottom side.
  11. Short: it works! I killed one drill bit with a wrong height setting (the very big hole front left, the drill is still in there...), the 2nd try worked. Less than 2mins for 35 holes and the dirt/dust is rather limited, took 30 seconds to remove that with a hand vac. Still would add a vac tube to the drill holder later. Now I need a proper PCB holder that can quickly be mounted to the build plate and some calibration procedure to set the drill height quickly each time and to map the hole coordinates to the actual place of the PCB. The idea is to position the drill to two diagonal corners, use controls to correct/adjust the drill position and then use that offset to remap the coordinates.
  12. After redoing the Dremel side mounting plate so that the magnets stand out more and can touch the head side plate magnets it holds quite well. I can press from the bottom straight up with some 2-3kg of force and the Dremel does not move at all. Promising. So I have now found a simple script converting Eagle drill files to CNC g-code (https://github.com/kdupreez/excellon2gcode) and modified it to generate UM2 g-code and interpret the coordinates correctly. The first dry runs on basis of a real PCB layout look good, see video. Tomorrow I will test with real PCB and drill ? Of course the Z speed/feedrate is now set higher to see better what happens through the camera (not at the printer at the moment, just observing it through the web cam). For the real drilling this should probably be slower at first. And I am ignoring tool changes at the moment, that's next in the script after the actual drill test succeded.
  13. Yes, that’s to be tested if this kind of mount holds that. I wanted to try the magnetic mount first as the magnetic plate is already on the head. But of course there’d be other possibilities. As the Dremel does not need automatic docking and undocking there could be some „nose“ or „edge“ taking the vertical forces instead of the magnets. From manual drilling of PCBs I know that the perfect-quality drills need little force in and out. While other drills can be a bit nasty. Bed leveling: I was planning for air below the PCB or some wood panel ? Yes, I‘ll see how much dust there is and I planned to mount a small vacuum nozzle as well. Manual drilling of PCBs actually doesn‘t cause too much dirt, was not planning to use it as CNC...
  14. Wanted to try that for a long time, now at least the mount is ready: Dremel flex extension mounted on the UM2+ head using the magnetic mounting plate of the Mark2 dual extruder project. Currently printing a modification of the plate (needs to be 2mm thicker and the magnets are too far in, used a version of the file that had this "bug" for the plate), then I will write a g-code generation script for drilling and test it. Depends on the pressure required for drilling if that's going to work, the mount will not withstand very much pressure, maybe some more once the magnets stand a bit more out so the magnets of the plate on the head the plate on the drill can physically touch - currently they are like 0,5-1mm apart and the force is significantly reduced.
  15. The mentioned post processing script solves this.
  16. Thanks! Looks like that board has a few minor changes vs 2.1.4. Exp3 / PB7 is unchanged.
  17. You can use the pid tune feature of the firmware, if UMO has that. It will calm down the „curve“ and avoid overshoots, the print temp will be more stable.
  18. It seems that you need to configure the G-Code to switch a pin in the plugins config: https://github.com/Pheneeny/CuraPlugin-EnclosureFan/blob/master/EnclosureFan.py In Marlin firmware you can use M42 to switch a board pin. I don’t own a UM3, but I think that the UM2.1.4 board is still used for motion control. so you can check the circuit for a pin to use here https://raw.githubusercontent.com/Ultimaker/Ultimaker2/master/1091_Main_board_v2.1.1_(x1)/Main Board V2.1.1.pdf For example use header Exp3 and Pin PB7. Find the position on the board drawing in the same PDF. Then look up the arduino pin mapping for the PIN number to use for the M42 command. The Ultimaker board is essentially a nicer Arduino Mega 2560. https://www.arduino.cc/en/Hacking/PinMapping2560 PB7 is pin #13. So try M42 P13 S255 for on and M42 P13 S0 for off.
  19. I think the fan currents are less than 100mA and thus only small transistors are used there. How much current / voltage does your valve need?
  20. Bed leveling: Try to do the regular single head leveling first, then switch to head 2 and do the z offset calibration only for that. For the crashing into dock change the wipe position Y offset to about 45.
  21. Afaik you need to change that in the firmware. It’s open source, are you able to do that?
  • Create New...