Here’s my layout for the motor control board using Arduino Nano expansion board and 3 driver boards. It’s a tight squeeze but it should work Am using double sided tape to secure it.
Although it wasn’t a bad attempt, my first try didn’t work. Here is what I did:
It is hard to see it on that photo, but those four posts print with little notches in them. You can maybe see that a bit better here:
The nano clicks nicely within those posts like so:
Here is an image with all of the electronics mounted:
Where it all falls apart is I did not take into consideration just how large the connectors are that fit on the pins. As this sits right now, the connectors themselves would just fit, but then there is no room for the wires coming out of those connectors. Even if I bent them at a right angle right past the connectors, it would still go too high. I don’t see any way to fix this orientation without making the box deeper - which I guess is an option… I need to think a bit about if there is any other way to change it.
@Orgeman Hey, that looks good! Yes, perhaps a bit deeper and everything fits perfectly.
This looks beautiful - making it a little taller should just be a matter of tweaking the height parameter, though of course it would mean printing again… From your use of the triangular holes, I’m wondering if you made this in OpenSCAD - in which case I’d be delighted to pull the changes in to the main repository if I can. It would be super to have an option for this in the “official” STL download.
There’s an issue thread here:
I’d be delighted either with an OpenSCAD file, or (even better) with a Merge Request if that’s something you are familiar with (a Merge Request would mean you show up in our Git History, which I always think is a nice record of who did what).
Yeah - it is all OpenSCAD. I will see about doing a merge request - or if not, will send the file. But let me play with it a bit more first. I am tweaking it still. Below you can see a test print that gives an idea of how I am changing it.
By mounting the nano on edge, it fits within the volume of the current box. Since most of the digital pins that you need are on the top row, they should be pretty accessible. Two pins are needed on the bottom row, but those should still work. Unfortunately, the USB cable is going to stick out of that hole in the box (the one that for the pi is power and display), and then either loop back in to go out the side where the pi USB are, or it is going to go out and around the outside. I haven’t been able to come up with a way to fit everything and avoid that - and am pretty close to just accepting that that is how it has to be. I thought I could flip the nano, but then most of the pins you need are on the less accessible bottom row…
Alright - I think that is as good as I am going to get it. Here is the motor driver box:
I couldn’t do anything about the USB poking out the side hole. It isn’t super bad. You can see that more clearly here:
I shifted the one driver board from the previous attempt to make a little more room as well - so here it is with all three drivers, the nano, and the USB cable:
I still have some more cabling to go - but everything else should now fit. I will clean up the OpenSCAD file (I did some of it as a pretty crude hack just to see if it would work) and will then do a merge request. I will mention that the nano support is fragile. I haven’t had one break with initial insertion when I was careful. I have had the post on the USB side break off if I tried to insert and remove the nano a couple of times…
I apparently don’t have a clue what I am doing with gitlab… I tried to paste the updated file in and create a merge request, but it won’t let me. It tells me that I already have a merge request. I am sure that is because I already edited that same file and did a merge request for the parametric wall thickness settings. Is there something different I should do to be able to create it. Git is completely new to me.
I have ended up with some cables going through the box even with the Sangaboard - I actually don’t mind it, because usually the calbes are too long anyway, so having it go through the box takes up the slack and keeps it neat.
The Sangaboard v0.4, once we’re finally able to test and produce it, will be a Pi HAT and eliminate a bunch of annoying wiring!
thanks - I see the issue with the merge request; your previous merge request (which I will merge in once I’ve figured out if there’s anything else that needs to change as a result of the thicker walls) asks the OpenFlexure repository to pull in changes from the “master” branch of your fork. As the changes you’ve made since then to add the motor driver boards are also on that same branch, they will get pulled in by the same merge request. So it’s correct, there’s nothing more you need to do.
You could mention in the description of the MR that it now includes the separate motor board mounts as well as thicker walls if you like, but I think I can update that too so no worries either way.
@Orgeman I really like your case design and I would like to print it but I’m not sure if it fits below the microscope stand. Have you tried that? Because in my Slicer(Simplify3D) it appears that the connections above are a bit too wide. Check out my screenshot(the yellow part is your case and the orange part is the current case - the mouse pointer show the different sizes). Just to get sure before printing it
It does fit, but I use a modified version, and that is probably what you are seeing. I set the wall_thickness variable to 2.35mm because I print with ABS and for me that results in a much better print. The default is 1.50mm - which you should probably use if you are printing PLA which is much more forgiving on layer-to-layer adhesion. If you print a stand at 1.50, and the motor case at 2.35, I am pretty sure that will not work. So if you already have the stand at 1.50, try setting the motor case to match and see if that is more what you are expecting. I can confirm that it works with both at 2.35 as shown here (ugly as the mixed versions might be):
I have not printed and tested with both stand and case at 1.50. I have made stl files of them and then lined them up graphically. It looks like that should work the same as with the thicker walls that I use… I can tell from the lower edge of the power/display cutout in your image that the walls are two different sized - so almost certainly you are looking at a 1.50 vs 2.35.
I understand the setting but I don’t know how to set the wall_thickness variable in Simplify3D. Perhaps it’s a tool problem
I could set “Thin wall behavior”, perhaps I should give it a try. I could start printing the upper part only to see if it fits.
Edit: I found the setting, it’s a combination…
Wall Thickness = (Extruder tab > Printing Selected Tool > Extrusion Width) * (Layer tab > Number of perimeters)
It’s actually at 1.50 and I’ll try to print the case with the same settings.
@Florian-HH - it is actually a variable in the OpenSCAD file. Look near the beginning for wall_thickness = 2.35. Change it to 1.50, and then export a new STL. That will be much more likely to give you good results than doing it with the slicer settings.
@Orgeman Perfect, thank you!
I didnt find any scad file of this housing, and I am very interrest for it.
Sorry, that’s my fault - it’s currently sitting in a merge request, but I have asked it to rebuild the STLs for said merge request here:
that should be done in an hour or so. Once they’ve built, I will try to remember to tell gitlab not to throw away the STLs. Feel free to remind me of this!
STLs are here:
They should stick around for a while. However, I’m not sure the thick walls version is built automatically yet - so you may need to clone the repository, check out that branch, and build it yourself with OpenSCAD if you are happy doing that.
the Arduino nano motor driver case is built automatically though - so you can get that one.
I download it already and the print is running.
By the way I will test it on a new assembly with microscope_stand_45-BS + optics_picamera_2_rms_infinity_f50d13_beamsplitter with 4x lens
Excellent - do let us know how it works This is now merged, by the way, so it will be in the next release.