pekkaroi / bldc-drive

Cheap and simple brushless DC motor driver designed for CNC applications using STM32 microcontroller
GNU General Public License v2.0
182 stars 92 forks source link

schematic and layout bldc_control #7

Closed Virtex7 closed 7 years ago

Virtex7 commented 7 years ago

i have now finished migrating the schematic and layout. i hope it was OK to switch from rather unconvinient 1206-components to mainly 0603.

also i have changed the important connectors to the encoder to JST connectors.

in the software i have not changed anything yet...

pekkaroi commented 7 years ago

Thanks for this! The schematics look very nice. I chose the component sizes based on what I happen to have, but I agree that for someone building this from scratch, constantly choosing 0805 or 0603 would very much make sense.

I'll try to clear up my third revision of the control board this week and include component values there. Of course the nice cleanup you made won't make its way there. :( The biggest change in the revision 3 is that I replaced the optocouplers in the encoder input with AM26LS32 differential receiver as I am planning to use differential signaling for my encoders. Also as I am planning to power the encoder from the same supply and ground domain as the controller, optocoupling simply did not make that much sense there. Another change is that I added a output buffer so that I can further connect the encoder signal and some error and status signals from the motor driver to the actual CNC controller.

A more radical thing that has been in my mind is that if someone (like you) really would like to build these, combining the power stage board and the control board would make sense. Originally I separated them just to test things and make it a bit more safe so that if I messed another part up, I would not have to build everything again, but now as the concept has been proven, it would be much cleaner if there were just single board. But as I have now already enough functional boards to run my mill, I haven't found motivation to do that. :)

Virtex7 commented 7 years ago

it is not a problem for me that my work on rev2 wont go into rev3. i can to it again if you like :D combining control and power stage is a good idea as long as you work with rather small voltages like in the actual drivers. i am working with 0603 and smaller because it saves space on the pcb and i have no problems with soldering them. mostly i solder with paste and a cheap reflow-oven.

most of the clean-up was making wires to labels concerning power and ground, so this is nothing difficult.

thanks for merging my changes to master... :)

pekkaroi commented 7 years ago

I uploaded the Ver3 now, it actually was not that much of work to do, just added the cap and resistor values on the schematic. On the same go, I pushed a software change which I almost forgot. I don't know if you noticed the branch sinusoid_drive which I've been working. Now, I merged the functionality in that branch to master and you can choose between the trapezoidal (a.k.a block) commutation and sinusoid commutation. With my motors, It seems that the BLDC commutation would be better on high speed performance, but sinusoid commutation works better with low speeds and especially when the motor is stopped and you apply external torque to the shaft.

My assembly methods are almost the same, I usually use stencils made by my crappy laser engraver, paste and a hot air gun. A reflow oven has been on a todo list for couple of years now. :)

Good luck with your project, please keep me posted. I think I'll be mostly watching on the background, as other projects (like a newborn baby :) will keep me busy in the future.