I'm trying to build a stepper motor driver based on the L6506 current controller, the L6203 h-bridge ICs and a PIC microcontroller. I assembled the circuit on a breadboard first and it worked, sort of. Basically, it worked fine when the chopper was inactive but made an awful noise when the chopper was working. It's probably due to all kinds of noise and bad grounding that interferes with the chopper and lead to subharmonic switching. Changing the blanking time of the L6506 did not improve things. Messing around with more ground wires and placing the sense resistors closer to ground helped a bit but not much. Hopping to reduce noise and make the driver work I laid it out on a PCB (4.8"x3.7"). I made the bottom layer a ground plane and no signal traces (except 2 short "jumpers") are laid out on it. Also, I separated the power stage from the driving and current sensing stage. The large empty space in the middle is for the heatsinks of the L6203s. The 5V and the motor supply power are distributed through their own power planes. I have a couple of questions about the layout of the PCB:
1. Should I separate the power and logic (PIC, current driver) grounds or is it ok sharing the same plane? How would I separate the grounds?
2. Should the L6506 be placed closer to the h-bridges therefore shortening the sensing voltage traces?
3. Should the sense voltage RC filters be placed close to the sense resistor (as it is now) or should they be closer to the L6506 instead?
4. Any other feedback on the schematic or layout is very welcome!
I know there are some pretty knowledgeable people on the forum, please help!
Last edited by petruscad; 11-23-2009 at 12:59 PM.
3. Closer to the 6506.
If you can shorten traces, do it. Never cross logic and power traces if you can avoid it, try to route them on opposite parts of the board.
Nanite CNC V2 under construction! :D