Calling all Electronics Wizards and Open Source Hardware enthusiasts to help me fix my Motor Controller…

Okay. So, i’m a little embarrassed that this thing is still not working. I’ve made cool progress on it over the years, but not the part that matters… that it actually works. This should not be that hard. Since it’s basically an HIP4081A beefy full h-bridge controller and an Arduino it should not be all that complicated. I think what i need to do is just spend some money on known good components and true schottky diodes and mosfets and just breadboard this thing out. Once i can get this reliably working on a breadboard i can come back to the PCB design stuff. I know last time i messed with it i had a few PCB wiring issues and when i was testing the h-bridge i could only get one side to turn on. The other side was shorting out somehow.

20171123_111038

Having said that, i’m still pretty happy with the overall PCB design and direction that is heading. I really enjoy the two PCBs that plug into each other via male and female headers ans sockets. I just put up my files (in their old unkempt state) onto GitHub for version tracking and in true Open Source Hardware fashion for others to hopefully help collaborate with me on this. I really really really want to see this thing work someday and turn into a cool motor controller that people use all over to build cool robots and stuff with in the near future.

20171123_111058

So, please… If you are good with electronics and electronic theory, especially motor control, if you are an open source enthusiast, if your good with git, if you are good with EagleCAD, if you have an interest in a cool Open Source motor controller based on MOSFETS, if you were a user of the old FIRST Robotics, VEX Robotics, or IFI Victor 884s or 885s that this design is based on (now a defunct product to my knowledge), if you’d like a motor controller you can hack, use I2C or add a CAN bus or some other device such as a current sensing circuit, or who knows what else, then PLEASE PLEASE Help Me! Help me get this thing working and ready for market and usability and hackability. I’m not ashamed to ask for help or to admit that i need it. I’m proud of how far i got with as little electronics knowledge as i do have, but concede that there are so many other people out there that can help!

 

 

 

I have uploaded the last freeze of this project onto a new github project for you all to easily get the source files here: https://github.com/keen101/XYZZY-Motor-Controller

I’ve also designed a neat little 3d printable base to keep this thing from shorting out. And i will track down the other design files that are relevant or that this design is based on in the next couple days / weeks.

20171123_111133

 

*Bonus Offer: I have several old PCBs of V. 1.0 laying around. For anyone willing to help me with this project i would be willing to send you up to 3 copies of the top and the bottom boards each to play with (while supplies last). There are i think at least two potential PCB trace errors (that i can’t remember what at the moment) that are on the boards, but hey, free boards and it’s not that hard to cut a trace or two and rewire if needed. You would just need to obtain the needed mosfets, diodes, arduino, and HIP4081A h-bridge driver chip to work on the project. Heck, i’m even willing to entertain replaccing the HIP4081A chip to a different one if there are any better or cheaper options that do basically the same thing. Please Help 🙂

Advertisements

Preview: Upgraded Bread Machine Incubator TR444 [in progress…]

20171114_125852

Ok. So! Back to hardware / electronics projects!! Yay!

This is a preview for an upcoming post. I am currently working on upgrading my Hacked Breadman Breadmachine TR444 Incubator from a previous project. I’m adding some RGBW neopixel LEDS from Adafruit for light. It will have a button to change lighting sequences from White to red/blue to purple, to blue, to black. All the colors one would need to 1. see into the machine. 2. Color LEDs to grow seedlings for gardening. 3. blue which may come in handy for bacteria cultures? IDK. maybe not. But whatever. I currently have the arduino code for the light sequence working.

I will also be adding a fan for circulation. I 3D printed the fan holder. I may or may not have a button to control the fan. I will have a big red button to start the incubator cycle (37 Degrees C for bacteria / fungal petri dishes). And i am considering another button for a programmed Dry Heat Sterilization routine. As mentioned before, according to Wikipedia:

The proper time and temperature for dry heat sterilization is 160 °C (320 °F) for 2 hours or 170 °C (340 °F) for 1 hour.

I also think i will be integrating my Chronodot real-time clock for use with this dry heat sterilization routine and possibly some other incubating cycle as well. Cool! Fun stuff! Lets get working!!

p.s. post in the comments if these are the kind of projects you’d like to see more of of! 🙂

20171114_125921

 

 

 

 

DIY Mini Taffy Machine – revisited 2016

So lately in 2016 (and quite a bit today) i’ve taken a look at revisiting my original DIY Taffy Pulling Machine from 2012. There was a lot of interest in the 2012 version, and i did try to provide enough information and detail in open source fashion for others to build their own, but i guess things just didn’t work out the best for that to happen.

0c6556e03d732523e2476570beb6ad49_preview_featured

The biggest reason i revisited it is because it just didn’t quite feel finished, and quite frankly those big gears posed a pinching hazard. Plus many people didn’t know where to get their own. So in an effort to solve both problems in one i decided to make internal gears, but to do that successfully i had to shrink them down. In the process i decided it was time to make the gears 3D-printable thereby speeding up my own design process, but also opening up this design to a whole new set of people that otherwise would not be able to make one.

31d4594a9cacf2c13bfd4b548d4edb2e_preview_featured

I hereby am pleased to announce the re-releasing of my Mini Taffy Machine as an Open Source Hardware project. I have improved the CAD files and PDF assembly drawings with good blueprint title blocks (a skill i obtained from my recent machining courses this semester). So i hope you all enjoy and i look forward to seeing more of these in the wild and new iterations and modifications that people come up with!! (http://www.thingiverse.com/thing:1659568)

51b4ee7b0222c4e7954674a361709cd1_preview_featured

e4aabb69c5551581f3feb43e2a1db620_preview_featured

d804cd81440521e6a89c3eea1aeb5c2c_preview_featured

Modding the Lulzbot Mini

So recently i’ve finally gotten my homemade / homebuilt Lulzbot mini working. And it’s working pretty good. The most critical problem i was facing was that my 3d printer would start printing either too close to the heat bed (or if i added extra bed leveling washers) it would print too far away. This was a critical problem as the first few layers are the most important and if you can’t get you prints to stick to your print bed then the rest of the print will usually unstick and fail. Thanks to some helpful people on the Lulzbot forum i was able to adjust my z-offset to the correct height that worked for me.

The second issue is that recently i’ve noticed my large and tall prints failing miserably at a certain height and the filament not coming out thick enough and the top gets all cob-weby like a spider web, but worse. Apparently this is called “Heat Creep”. The problem in part may be caused by the tiny blower fan on the Lulzbot mini not providing enough cooling and heat slowly rising in the hot end until the filament actually melts too soon and cannot be extruded properly. This makes sense as the problem only occurs after a long time printing. So the logical step was to replace the tiny blower fan (or squirrel fan) with a larger fan that will do the job. The new Taz 6 has obviously taken that tiny fan into consideration and has changed it to a large 40mm fan.

EDIT: The failing on large prints may be due to me using a half-size stepper instead of a full size stepper motor for the extruder. This means too much voltage is being applied to the motor and it is getting super hot. Over time this means the motor looses steps and probably causes my printing problems.

Unfortunately the Taz 6 x-carriage and modifications are not a drop in replacement for the Lulzbot Mini i decided to make my own. This is what i came up with and it seems to work beautifully. http://www.thingiverse.com/thing:1587110

030d38b107dabf534244542162ddb535_preview_featured

 

I have only tested this on HIPS so far, but it has eliminated the heat creep i was getting with HIPS. PLA apparently suffers more from heat creep problems than other filaments, but this mod will likely help with PLA heat creep issues as well.

3296419c58b741f03adf3c87a39a0a98_preview_featured

Homebuilt Lulzbot Mini First Prints!

Here are a few photos from my first test prints on my new, now functional (for the most part), DIY Lulzbot Mini that i made myself from scratch (minus the frame and electronics). All hardware assembly and electrical wiring were done by me. Phew. What a ride it’s been. The upside is i now now how this printer works inside and out. The downside it was more trouble that it was worth and i wish i had just bought one instead. lol. Whatever though.

 

Progress on my Homebuilt Lulzbot Mini

Today i made significant progress on building my own Lulzbot Mini 3D printer from scratch. Technically i now have two 3d printers i’m building from scratch, but the other one is bigger and one i’m designing myself. Just like me to not finish one project before starting another. At least i’m going to work on this one and finish it before continuing on my other one (which might be converted into a homemade CNC mill).

DSCF7351

Today was a major milestone because most of the components are put together and i finally was able to test part of the electronics i wired up myself. I was able to test the Y-axis motor and limit switches as well as the X-axis stepper motor. All seemed to function correctly using Lulzbot’s Cura software. The software did have an unexpected safety feature however, it wouldn’t let me turn any of the motors on without the bed thermistor wired up. So i had to wire up a temporary 10k thermistor for testing purposes. It worked great. I was running the Cura software under Ubuntu Linux. The Cura software gave me an error that it could not autodetect the serial port or something like that, so i ran it as the root super user and that fixed the problems.

DSCF7353.JPG

Since i’m building this thing from scratch instead of buying one premade i’m trying to find ways of cutting costs. Although i think i will end up spending more than i hoped. But anyway, part of that is looking into ways that i might be able to replace expensive commercial products like the IGUS bearings and the Leadscrew nut. I’ve already drafted up a 3d printable version of the leadscrew nut and posted it here on Thingiverse. The nut has yet to be tested, but i’ve also had some RJM-01-08 IGUS bearing replica prototypes made in Nylon. The RJM-01-08 IGUS replica bearings turned out to be too tight, but with a drill i was able to make them usable. They are currently being used to remove the wiggle and slop i was experiencing from using the 1mm too small LM8UU ball bearings.

delrin_nut_2_preview_featured

I originally got the LM8UU bearings as a cheaper alternative to the commercial RJM-01-08 IGUS stock bearings the Lulzbot mini uses thinking they would work. They work, and i am currently using some, but the stock STL files from Lulzbot have holes that are 1mm too big because of the slight size difference between them and the LM8UU. I might try to modify the STL files [i have modified the lulzbot solidworks files] to make LM8UU compatible parts in the near future, but for now i’m happy with my 3d printed nylon ones. I’ve heard PLA might work too, so i will experiment with that in the future as well.

DSCF7355.JPG

Here are some more pictures:

DSCF7347.JPG

DSCF7346.JPG

DSCF7314.JPG

Fixing Mesh Issues & Layer Gaps in 3D Printing

So today i had an interesting experience. As i have been lately, i sometimes go to the library to print out parts I’ve designed for my custom 3D printer project. While they print i use the time to crunch out upcoming essays for for school.

But this time instead of the printer happily moving along and producing perfect parts i got a rude awakening. The parts that came out looked like picture #3. Instead of my corner pieces being printed with two triangular pyramids and four “arms” they printed with one triangle, a “tail” and two “spaghetti blobs” on the side in a mess. It looked more like a deformed geometric fish instead.

Looking for info online i found helpful information on the Ultimaker Forum. It seems if i go into Layer view beforehand i can see what it will print out like and see any obvious gaps before hand. X-ray mode is even more helpful in a situation like this because if there are any faces or walls that have problems they get highlighted in bright red.

As you can see on mine, the bad models have several red triangular “internal” walls. The models have internal walls because they were created in Solidworks as assemblies from smaller parts and “digitally glued together”. Normally that shouldn’t cause a problem, but for some reason it did.

Currently i’m using Solidworks 2007 to create my 3D models. I wish i could use a good Open Source CAD program that works in Ubuntu Linux, but sadly none really exist. Not to my liking anyway. FreeCad has potential, but has a long way to go. OpenSCAD looks decent, but is for people who have mathematical minds. Sadly i don’t. And Blender has amazing graphics, but is not a CAD program. If someone could combine the beautiful elegance of Blender while stripping out it’s over-complexity and merging it with FreeCAD, and taking the user friendliness of Solidworks it would be perfect. Oh, and it has to be cross-platform (meaning runs on Ubuntu Linux). So until that day i’m forced to use a proprietary CAD program on a otherwise useless proprietary operating system, either on it’s own machine (or run in a virtual machine like Virtualbox). Far from an elegant solution. -End Of Rant. lol.

For me my problem was some sort of issue with the internal walls. Normally this should not be a problem. Since my version of Solidworks does not export whole assemblies as STL files (instead each separate part is exported into STL), I’ve been using 3dContentCentral to convert my CAD files into single STL files. Apparently the issue i ran into arises when i export my assemblies into single part files before converting them to STL. If i instead upload the entire assembly (and dependencies) and convert those to STL files it seems to work fine. Somehow that makes a difference when fixing whatever was wrong with those internal walls/faces. Whatever. At least i’m happy to find a solution.

I wanted to fix my bad CAD models from the beginning, but for example if i had a bad STL file that was not created by me and i still needed to print it, i could turn to Cura’s expert settings. In Cura’s expert settings there are some tools that attempt to “fix horrible” models that would otherwise fail to print correctly. I could have gone that route to print them anyway, but for me the better solution was to fix the source of the problem which was a bad CAD model.

cura_good_model2

So, all in all, check your parts before you print them. Cura’s x-ray mode and layer mode are invaluable tools that can help you avoid problems with your 3D printing endeavors.

This site also gives some good tips on bad edge geometry and bad STL meshes.