final project -- about me -- weekly assignments -- fab academy

How It Will Move

What will move

Moving components from one place to another is mostly a mechanical question. That is the part, though, that I will not tackle here. I will, at a later stage, of course. But the mechanics I want to use are simple, more or less proven and quick to acquire, so I will tackle them when I have brought some more pressing issues on their ways. The electronics need PCBs, and those PCBs will take time to have made even after I have drawn them. So, mechanics get to wait until those PCBs are on the way.

Architecture of a Machine

Most of the work in this project will (hopefully) go into controlling how stuff moves - I don't want to use a simple, readily available stepper system, and I don't want to build anything based on steppers. I do want to work on my own servo drives, though. Mostly because I'm interested in control loops, but also because moving smoothly and quietly is cool.

I built a really tiny motor driver board to go into a cheap RC servo some time ago (in 2015, looking at the design files) and used it in the Output Devices Assignment, but that board had a crippling design flaw limiting motor power to basically nothing. So while it was fun (and not very quiet), I never used it for anything or made any more software for it.

I will re-use that idea for the placer, using small (and a lot smoother running) geared motors instead of the noisy servos. The microcontroller will be the same, but I will use a far smaller and simpler motor driver to save on time since the small motors are rated for far less current than the one in the servos was run at. That "intelligent" motor driver board will talk CAN bus (I want to learn using it for another reverse engineering project, no time like the present...), and they will use a magnetic encoder that seems to currently be used by heaps of mass-produced moving tech and has cool specs.

To switch stuff like vacuum and working lights, I will also need a board that listens to CAN, and has some I/O broken out. That should be easy enough to make, and will probably share a lot of parts (and, more importantly, code for stuff like CAN) with the motor driver board.

To keep everything together (and where I want it) I also need a kind of brain. Since most of this brain's work will be synchronizing stuff I don't want to use any kind of PC-like hardware here, as I/O through a stack of operating system functions and drivers has notoriously high latencies. I might do that at a later stage (programming my own driver sounds fun, but that is not something I will start out with in a limited time project), as I will need a PC for the camera image anyway. I also want to work with image recognition in the loop later. But for now, I will need a brain, so I will build one. It will need to speak CAN, too, and it will need to speak USB and / or Ethernet to talk to a computer. I made a board very similar to that along with the older motor driver in 2015, I never succeeded in getting the USB code on the dsPIC to actually run. Microchip doesn't support that chip with their newer generation USB stuff yet, so I won't get at that in the time frame fabacademy puts on you. I do have working USB code for a number if TI processors, though, so I will use one of those - Their datasheets are horrid to read and full of errors, but their sample code is well documented and mostly works. It has ethernet, too.

Controlling a Motor

To control a geared DC motor, I don't really need all that much. I need to drive the motor, of course, so there's an H-Bridge. I also need to know how far and how fast it has gone, so there in an Angle Sensor that will be put onto the pulley. I also should have some way to initialize the system, and stop it in case it wants to run where it doesn't belong, so a pair of End Stops can be plugged in. Finally, I need some way to talk to the outside world, to know what to do (and when to do it), so there is a CAN-Interface. I also added a bunch of status LEDs, mainly for debugging code on the boards, but also to see who is complaining when stuff goes wrong.

There is a lot of design notes in the schematic, as well as the BOM for the board. I haven't done the layout yet, I want to finish the other schematics first so I can order parts. I've run into stuff becoming unavailable way too often to really trust in next-day delivery.

Schematic of the motorboard, image links to pdf download

final project -- about me -- weekly assignments -- fab academy

Creative Commons License
This work by Christoph Nieß is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.