The mother board I was referring to in my last post got made and seems roughly functional.
Despite me screwing up the stepper driver to some extent.
The mother board should be able to interface to six of the stepper carriers as soon as I produce a stepper carrier that isn't inherently screwed up ...besides the first round of stepper carriers which worked just fine ironically.Tango 1.1.3 has some dumb issues as i turns out not all 780x devices in the same packages have the same pin out and I was playing a bit fast and loose with the foot prints and mixed up the 5V with the ctl power in on the 5V regulator I was using. This may have resulted in burning out the gate driver chip immediately since I wasn't able to coax any PWMing out of the tango driver after fixing the foot print mess up. Le sigh.
Time to populate/kludge another carrier board. If this time round I get the board built up right and touble shoot it it will be pretty exciting to have a board carrier for so many boards. It will make a nice test platform.
The mother board is laid out in a fashion that allows for n arduino mini or some other equivalent micro to be mounted onto the board and have its outputs connect to all the varirious driver boards through the parallel busses laid out on the mother board. There are up to ~8 accessible signals on each bus/ for each driver board (the GND/SIG/GND/SIG/GND/SIG traces reffered to in the last post). This was intended to leave the future possibilities open. Currently the stepper driver would only use 2 signals/ driver leaving lots of possibilities.
Hopefully I'll get something done on the stepper fron again soon. I've been a bit distracted by other electronics and that whole having a job thing.
mathjax
Showing posts with label millathe. Show all posts
Showing posts with label millathe. Show all posts
2015-09-27
2013-11-11
Waltz Stepper Drivers: Functional Yet Noisy
After assembling one of the Waltz boards and only screwing up the the tiny driver once the board works!
It worked well up to several kHz of step frequency if the step frequency got too fast the motor would just sit there and make a very annoying whining sound. The controllers were tested up to around 10A with no heat sinking or additional cooling. Using the 'will this burn my finger?' test methodology the main power fets remained cool enough up to around 6A that you could continuously keep you finger on them. At 10A they had a temperature of 'owfuckshitthathurts' after around 5s of keeping your finger on a fet, but it wasn't that 'burn on contact' kind of hot. In conclusion I should get some thermocouples/ temp sensors also the boards seem quite capable of being pumped over 10A. Once they are upgraded to D2pak FETs rather than the jankily soldered on Dpak FETs this might improved heat sinking and current capacity.
On the next rev of the stepper driver the caps are going to be swapped out so the motors can run at higher voltage. Hopefully this will push the motor PWM frequency out of the audible range. The way the A4898 does current control is a fixed off time system, this makes the output PWM of the system variable with various operating conditions such as the voltage supply inductance of the motor and the decay rate settings on the controller. The noise and vibration also seems to vary greatly with the step frequency of the motor and the microstep settings. Motor operation seems much smoother and less noisy at increased speeds, this might be partially due to rotor inertia/velocity matching up with the commutation of the motor. There will have to be some characterization to find optimal operating points.
The motors being used are 27.4kgf*cm (381oz*in), 3.5Arms/phase, NEMA 23 hybrid steppers: data sheet. When stepping the motors vibrate enough on any hard surface to be really obnoxious, that's why the motor is sitting on a cushion in the video.
Next steps for the millathe project will include measuring up the millathe itself sizing it for a new set of ballscrews and mounting hardware. The next set of boards needs to be designed as well as the motherboard to hold all of the smaller stepper boards.
There were only a few quirks in getting the board to run. A grounding issue between my laptop and the Arduino and the scope which made things flip out whenever the scope connected. Which means something isn't as well grounded as it should be, since half the outlets where I live don't have a ground that might have been the issue... connecting all grounds explicitly in the circuit fixed the grounding issue. From that point out operating the motor was pretty smooth. The board was hooked up to an arduino with modified 'blink' code to step the motor continuously in a given direction. Here's a video of the waltz board driving a stepper:
It worked well up to several kHz of step frequency if the step frequency got too fast the motor would just sit there and make a very annoying whining sound. The controllers were tested up to around 10A with no heat sinking or additional cooling. Using the 'will this burn my finger?' test methodology the main power fets remained cool enough up to around 6A that you could continuously keep you finger on them. At 10A they had a temperature of 'owfuckshitthathurts' after around 5s of keeping your finger on a fet, but it wasn't that 'burn on contact' kind of hot. In conclusion I should get some thermocouples/ temp sensors also the boards seem quite capable of being pumped over 10A. Once they are upgraded to D2pak FETs rather than the jankily soldered on Dpak FETs this might improved heat sinking and current capacity.
On the next rev of the stepper driver the caps are going to be swapped out so the motors can run at higher voltage. Hopefully this will push the motor PWM frequency out of the audible range. The way the A4898 does current control is a fixed off time system, this makes the output PWM of the system variable with various operating conditions such as the voltage supply inductance of the motor and the decay rate settings on the controller. The noise and vibration also seems to vary greatly with the step frequency of the motor and the microstep settings. Motor operation seems much smoother and less noisy at increased speeds, this might be partially due to rotor inertia/velocity matching up with the commutation of the motor. There will have to be some characterization to find optimal operating points.
The motors being used are 27.4kgf*cm (381oz*in), 3.5Arms/phase, NEMA 23 hybrid steppers: data sheet. When stepping the motors vibrate enough on any hard surface to be really obnoxious, that's why the motor is sitting on a cushion in the video.
Next steps for the millathe project will include measuring up the millathe itself sizing it for a new set of ballscrews and mounting hardware. The next set of boards needs to be designed as well as the motherboard to hold all of the smaller stepper boards.
Labels:
millathe
2013-11-05
Stepper Boards have Arrived: Waltz v0.2
Woooooo the boards arrived like several weeks ago they arrived, but what ever they're getting posted about now so ...woooo stepper boards. They're all pretty n'purple n'stuff.
So far I've only assembled one and there seem to be no fatal errors on the board that will prevent it from functioning. Couple minor package errors and what not but whatever.
here's a pic of the board:
I've been slightly distracted from the project by work. However there will be more posts soon since there needs to be board testing.
In the mean time pretty boards are pretty, but pretty useless boards are pretty useless until they are tested otherwise.
So far I've only assembled one and there seem to be no fatal errors on the board that will prevent it from functioning. Couple minor package errors and what not but whatever.
here's a pic of the board:
| I went with purple because why the hell not? |
In the mean time pretty boards are pretty, but pretty useless boards are pretty useless until they are tested otherwise.
Labels:
millathe
2013-10-09
Millathe Stepper Driver v0.2: waltz
In order to power the millathe's axes I decided to create a stepper driver with a higher current capacity than most hobby stepper controllers out there. Driving a mill seems to be above the capabilities of standard hobby stepper motors. Below is a picture of the board. I named this version 'waltz'.
The waltz boards are currently being manufactured overseas in China at Myro PCB. Unfortunately as it turns out the first week of October is 'National Day' in China and the the factory closed down for the week a few days after the order was put in. On the flipside this gave me time to finalize/order components before the boards arrived.
waltz v0.2
Overview:
The waltz board is designed to fit in a 20 position 0.1" spacing card edge connector, this makes the board 53x62.5mm. Each board has two full bridges made to power a single bipolar stepper motor. The control of the motor is handled by an Allegro A4989. The FETs to be used in the half bridge are FDD8778 in a TO-263 package, each has 14mOhm of on resistance. These were chosen because of their relatively low gate capacitance/charge to reduce switching losses, however the majority of losses in this system will be ohmic. The Allegro A4989 was chosen because it seemed like a good all in one solution for various features such as current control, fast current decay and, up to 16th microstepping all while still supporting external FETs. The only two control inputs to the chip required are step and direction.
This brings us to how this system is going to be controlled. The plan is that several waltz boards will be plugged into a single motherboard carrying an arduino nano. Card edge connectors seemed like a modular way to stack multiple stepper drivers on a single board while having large amounts of connector contact area for the power paths and conveniently allowing for data to come in the same connector. The Arduino nano will partly be the brains of the operation. A computer will stream the control information (step and direction) for all of the waltz boards to the Arduino which will act as a buffer/ demultiplexer and timer making sure all of the outputs are switched synchonously and with proper timing. This type of setup will take heavy calculation off of the arduino however the tool paths/ step patterns will have to be preprocessed on a computer before being sent to the arduino.
Concerns /Issues/Thoughts/Modifications:
-The current ripple for this system could be quite large depending what motor is chosen. That being said each capacitor is rated to pretty high ripple >4A ripple. However I would like to raise the input voltage to the motors, which would make this more of a concern.
-I would like to increase the voltage of the system allowing for faster stepping and more awesomeness, this requires new bus caps as they are the limiting factor for the motor voltage, currently they are only rated to 16V.
-Screw these capacitors.
-I Screwed up the zener gate clamp pinout on using a 3-pin package...derp. In the mean time the diodes will have be added in a weird orientation. can be fixed on next rev.
That is all on the waltz board for now more updates when they come in and the mother board is ready to go.
![]() |
| Waltz v0.2 |
![]() |
| Top |
![]() | |
| Bottom |
The waltz boards are currently being manufactured overseas in China at Myro PCB. Unfortunately as it turns out the first week of October is 'National Day' in China and the the factory closed down for the week a few days after the order was put in. On the flipside this gave me time to finalize/order components before the boards arrived.
waltz v0.2
Overview:
The waltz board is designed to fit in a 20 position 0.1" spacing card edge connector, this makes the board 53x62.5mm. Each board has two full bridges made to power a single bipolar stepper motor. The control of the motor is handled by an Allegro A4989. The FETs to be used in the half bridge are FDD8778 in a TO-263 package, each has 14mOhm of on resistance. These were chosen because of their relatively low gate capacitance/charge to reduce switching losses, however the majority of losses in this system will be ohmic. The Allegro A4989 was chosen because it seemed like a good all in one solution for various features such as current control, fast current decay and, up to 16th microstepping all while still supporting external FETs. The only two control inputs to the chip required are step and direction.
This brings us to how this system is going to be controlled. The plan is that several waltz boards will be plugged into a single motherboard carrying an arduino nano. Card edge connectors seemed like a modular way to stack multiple stepper drivers on a single board while having large amounts of connector contact area for the power paths and conveniently allowing for data to come in the same connector. The Arduino nano will partly be the brains of the operation. A computer will stream the control information (step and direction) for all of the waltz boards to the Arduino which will act as a buffer/ demultiplexer and timer making sure all of the outputs are switched synchonously and with proper timing. This type of setup will take heavy calculation off of the arduino however the tool paths/ step patterns will have to be preprocessed on a computer before being sent to the arduino.
Concerns /Issues/Thoughts/Modifications:
-The current ripple for this system could be quite large depending what motor is chosen. That being said each capacitor is rated to pretty high ripple >4A ripple. However I would like to raise the input voltage to the motors, which would make this more of a concern.
-I would like to increase the voltage of the system allowing for faster stepping and more awesomeness, this requires new bus caps as they are the limiting factor for the motor voltage, currently they are only rated to 16V.
-Screw these capacitors.
-I Screwed up the zener gate clamp pinout on using a 3-pin package...derp. In the mean time the diodes will have be added in a weird orientation. can be fixed on next rev.
That is all on the waltz board for now more updates when they come in and the mother board is ready to go.
Labels:
millathe
2013-07-22
Millathe: Initial State Pictures
The Millathe with tool post and homemade tool post holder, the spindel speed is adjusted through the pair of little leve :
All the gears on this side are for the autofeed. Notice the small cracked plastic gear on the upper right. There is also a gear hidng be hind the 76 tooth gear which appears to be detached from its shaft. On the left is the main drive belt, it goes down to the motor which is single phase 500W asynchronous:
The gear box/ shifter. While there is no back gear on this device it can go pretty slow (speeds are printed on the front of the lather below here it says Maximat7). Theres a little bit of rust on the steel gears and some wear from shifting visible on the phenolic gears but over all it doesn't seem to be in bad shape:
One day perhaps the traction system in the millathe will be redone or incorporated into the control system, but that is a project for the future.
Labels:
millathe
2013-07-19
The Millathe: A CNC story
So a long while back I managed to acquire an Emco maximat 7 machining center. It has been my goal to make it a CNC machine, however it has been sadly sitting in my living room waiting for me to finish busscooter, but now that that is done (besides a few safety features which need to be added). I've turned my sites to making this CNC dream a reality and things are finally starting to happen.
So hear's the deal: this machining center, or the millathe as it is has been nicknamed, is like 75% lathe 25% mill and 100% heavy, seriously the millathe isn't that big but weighs well over 100lbs. Unfortunately I don't have pictures right now and am other wise not at home so those will get posted later. It also happens to be Austrian and metric which is wonderful because if you know me I tend to shun 'standard' units (really? Who calls 'units standard' when only a small fraction of the planet uses them?). The lathe portion of the millathe seems fully operable except for the lead screw; which is linked through a mess of gearing to what appears to be a cracked plastic press fit gear, so cant be turned automatically by the spindle motor. The lead screw does have a knob so you can turn it by hand, but this project is about avoiding that. Unfortunately most of the gears in the lathe system seem to be of phenolic materials but they're functional for now, perhaps some time in the future I will rebuild the power part of the spindle drive but that's another project and another thing to add to the list of fixes.
Currently the plan is to make lathe portion CNC before turning to what ever may be wrong with the mill section of the machine. The list of key action items for modifying the millathe in no particular order looks like this:
So hear's the deal: this machining center, or the millathe as it is has been nicknamed, is like 75% lathe 25% mill and 100% heavy, seriously the millathe isn't that big but weighs well over 100lbs. Unfortunately I don't have pictures right now and am other wise not at home so those will get posted later. It also happens to be Austrian and metric which is wonderful because if you know me I tend to shun 'standard' units (really? Who calls 'units standard' when only a small fraction of the planet uses them?). The lathe portion of the millathe seems fully operable except for the lead screw; which is linked through a mess of gearing to what appears to be a cracked plastic press fit gear, so cant be turned automatically by the spindle motor. The lead screw does have a knob so you can turn it by hand, but this project is about avoiding that. Unfortunately most of the gears in the lathe system seem to be of phenolic materials but they're functional for now, perhaps some time in the future I will rebuild the power part of the spindle drive but that's another project and another thing to add to the list of fixes.
Currently the plan is to make lathe portion CNC before turning to what ever may be wrong with the mill section of the machine. The list of key action items for modifying the millathe in no particular order looks like this:
- Replace lead screws (I might not replace them but they look a bit wonky).
- Add Backlash compensation, because no one loves backlash in automated systems.
- Acquire steppers for driving the Z and R axis screws giving control of the lathe port.
- Create method of supplying power to said steppers in order to control the system.
- Create control system for the steppers.
At the moment I've started looking at the control side of things. The plan is to stream through USB to an arduino nano which can act as a buffer and send the signal out separately to each stepper driver synchronously. I plan on using the Allegro A4989 stepper motor driver to control all of these shenanigans. It will require that each motor needs 2 outputs from the arduino, one for step and, one for direction.
The outputs from the A4989 generally go straight to the gates of transistors but, it's tempting to instead direct them to some gate drives to allow them to drive larger fets for larger stepper motors. I haven't really done any calculations to justify this but it seems like it would be nice thing to have a one size fits all solution to driving steppers even if it is over kill. A pair of LM5109A gate drivers per stepper driver seem perfect for this task since they have inputs that can be driven separately allowing for whatever sort of control method the stepper controller feels like.
However last night I began to experiment with methods of sending arduino data over usb and had moderate success in getting LED's to count synchronously according to their appropriate digital out ports rather than by using the normal digitalWrite commands. This was kind of interesting since apparently pyserial only sends data as strings and chars. Which to me this seems weird and inefficient but I'm not that experienced with data streaming techniques. Hopefully it will be able to send data at a pace appreciable enough to make it work other wise. I'll talk more about messing around with this in the next post.
I don't have any pictures of the millathe to post at the moment but I always feel bad not posting a picture so here have a repost of the tool post holder I made for the millathe a while back. It is currently mounted on the millathe and works just dandily. yaaay reposts.
Labels:
millathe
Subscribe to:
Posts (Atom)


