587,997 active members*
1,996 visitors online*
Register for free
Login
IndustryArena Forum > OpenSource CNC Design Center > Open Source Controller Boards > DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)
Page 12 of 25 2101112131422
Results 221 to 240 of 490
  1. #221
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by _ID_ View Post
    Here are my eagle files if someone is interested in making my version of the board.
    I must say, this is one of the cleanest reworks I've seen in a long time.

    Truly an extremely professional layout and anyone using the original style design would be wise to use this layout as there is minimal component changes and I strongly recommend this layout for the beginner over the original.

  2. #222
    Join Date
    Apr 2006
    Posts
    3498

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    _ID_ thanks for sharing the files and this will help us ...
    dwalsh62, can you please tell what current rating/voltages the driver circuit posted by _ID_ can withstand?
    http://free3dscans.blogspot.com/ http://my-woodcarving.blogspot.com/
    http://my-diysolarwind.blogspot.com/

  3. #223
    Join Date
    Mar 2009
    Posts
    533

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by Khalid View Post
    _ID_ thanks for sharing the files and this will help us ...
    dwalsh62, can you please tell what current rating/voltages the driver circuit posted by _ID_ can withstand?
    According to the schematic 36V and it uses a 10amp fuse.

  4. #224
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    According to the schematic 36V and it uses a 10amp fuse.
    I took a few minutes calculated the rating based on the following board conditions.

    1. THICK - COPPER
    2. CONT AMP
    3. PEAK AMP
    4. SURGE AMP (250ms)

    1. 2oz
    2. 4.78A
    3. 8.14A
    4. 14.91A

    1. 3oz
    2. 5.73A
    3. 10.23A
    4. 17.67A

    1. 4oz
    2. 7.16A
    3. 12.84A
    4. 23.09A


    These ratings can be improved (almost doubled) if the power stage traces to/from the fets to motor connector and 36V power connector are stopped and I would personally use a different fet, something like NDB6060L or NDP6060L.

    If you've ever seen a board with popped traces around the power fets/transistors, the traces pop for different reasons, over-current from shorts, insufficient copper thickness and or trace width, unstopped trace (most common).

    You can have a 3oz copper board with 0.070in trace width and it can handle 25A continuous if it's short and stopped or a 4oz copper board with 0.100in un-stopped trace width and blow it at 12A.

    Most servo motors don't operate in the peak current region so as long as you can handle the initial surge which in most cases last about 20ms - 65ms, a 3oz board or better will handle a 140W servo motor without damage, 4oz a 200w servo motor and anything more I would stop it which then puts you at around 450W on a 4oz board.

    If you need more power then you use a thick copper trace (0.03125in thickness) soldered on top of the board trace which puts you around 1.5KW motor (41A at 36V is dangerous and ridiculous).

    Typically you see copper sheet stopping in high current inverters and VFD's, not so much on servo drives so I wouldn't consider this route.

    If I was making a handful of boards to sell off, I'd stop the motor related traces using a feather/quil pattern ( _/_/_/_/_/_/_/_/_/_/_/_/_ ), make it as symmetrical as possible for appearance and call it a day.

  5. #225
    Join Date
    Mar 2009
    Posts
    533

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by dwalsh62 View Post
    ... If you've ever seen a board with popped traces around the power fets/transistors, the traces pop for different reasons, over-current from shorts, insufficient copper thickness and or trace width, unstopped trace (most common).

    You can have a 3oz copper board with 0.070in trace width and it can handle 25A continuous if it's short and stopped or a 4oz copper board with 0.100in un-stopped trace width and blow it at 12A. ...
    I couldn't find your "stopped" traces idea. Any links?
    I did find a means to put as much as 20oz copper on specified tracks on a 2oz copper board ( Heavy Copper and EXTREME Copper in PCB Design for Maximum Reliability ).
    The temperature rise would need to be included for these high current track designs.
    Another aside, fabricators don't always "measure" the copper thickness, as in my former work we rejected some suppliers because of non-conformance to our specs. It could be the plating process that was not accurately monitored.

    Sorry, if I high-jacked the this thread.

  6. #226
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    I couldn't find your "stopped" traces idea. Any links?
    I did find a means to put as much as 20oz copper on specified tracks on a 2oz copper board ( Heavy Copper and EXTREME Copper in PCB Design for Maximum Reliability ).
    The temperature rise would need to be included for these high current track designs.
    Another aside, fabricators don't always "measure" the copper thickness, as in my former work we rejected some suppliers because of non-conformance to our specs. It could be the plating process that was not accurately monitored.

    Sorry, if I high-jacked the this thread.
    You don't know what a stopped trace is???

    In eagle the corresponding layers are tstop and bstop and these layers affect their corresponding solder mask layer which means solder can flow on the exposed copper surfaces created by the stop thus increasing the layer thickness in the area or on the specified trace.

    In eagle try the following, select top layer, draw a horizontal trace 4in length, width 0.070, now select tstop layer and draw a trace identical to the first in position and width and directly on top of it, now you have a stopped trace.

    The currents calculated in my post was done by software used to specifically calculate this and takes into consideration inductance, capacitance and temperature based on the board material, board thickness and copper thickness.

    About the fuse, if you are going to use one on the board you are better to use a 15A slow blow fuse which will allow for peak and surge currents for a motor up to 200W.

    To ensure you get a decent board meeting your requirements, work with a known quality source or someone you absolutely trust, nobody likes paying for a 4oz copper board and only receiving 2oz copper board.

    The reworked board layout by _ID_ is much better than the original work from mihai, this is not to say mihai's layout is no good, it works however, it's not optimal, _ID_ spent time moving, replacing packages and reorganizing the layout and based on the results it is better suited to the application and if I know _ID_ well enough I'd ask him to redo my board layout because he seems to clearly have a good grasp on part placement.

  7. #227
    Join Date
    Mar 2009
    Posts
    533

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by dwalsh62 View Post
    You don't know what a stopped trace is??? ...
    Yes, that's why I had to ask. Thanks for the explanation. I'm not an Eagle user, nor get into pcb designs. I'm still in the "perf board" stage.

  8. #228
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    Yes, that's why I had to ask. Thanks for the explanation. I'm not an Eagle user, nor get into pcb designs. I'm still in the "perf board" stage.
    It's not an eagle terminology, it's a general board terminology referencing a solder mask void, in this case a trace without a mask.

    Alternately people have taken 14ga solid copper wire, stripped the insulation off of it and placed this on top of the trace and then coated everything in solder, good for about 20A continuous.

  9. #229
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    Yes, that's why I had to ask. Thanks for the explanation. I'm not an Eagle user, nor get into pcb designs. I'm still in the "perf board" stage.
    With the plethora of prototype board shops around it makes no sense to really do anything in a perf-board any more, it lets you test the design and layout and offers good bang for the buck.

    PCBExpress is one such company, OSHPark is another.

  10. #230
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    Yes, that's why I had to ask. Thanks for the explanation. I'm not an Eagle user, nor get into pcb designs. I'm still in the "perf board" stage.
    KOC62, I recommend you to contact _ID_ and see if you can get one or two of his extra boards, it would be the best option for you as a development board to play with, use a 10A fast-blo fuse so you don't waste the board should things go south.

    If there's enough interest I'm sure he (_ID_) would be willing to stop the board and do a small run as he seems to be a decent enough guy

    More than 60days since Mihai went MIA, no updates on his design or code so at this time I think any improvements will probably come from _ID_ so keep an eye on his posts in case he posts some code updates.

  11. #231
    Join Date
    Mar 2009
    Posts
    533

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by dwalsh62 View Post
    KOC62, I recommend you to contact _ID_ and see if you can get one or two of his extra boards, it would be the best option for you as a development board to play with, use a 10A fast-blo fuse so you don't waste the board should things go south....
    Thanks for the suggestion. I don't have a brushless motor.
    I am currently experimenting with an old sewing machine and using it's 80W 120VAC motor. It did not come with a foot controller, so I'm designing one, with "junkbox" parts, as an educational exercise. I have so far built a MOC3023- triac controller driven by an Arduino MEGA. The simple potentiometer speed control PWM is working using a zero-cross detector (H11AA1) to synchronize with the 120VAC line.
    My next phase is to add a sensor (OPB706) to detect the motor shaft RPM. When that part works I plan to introduce myself to a PID control as a possible improved speed controller. Rather than "copy&paste" someone else's working PID solution, I'm interested in understanding each PID part so I'm adding code as I go along. I suppose you may ask; "Why re-invent the wheel...", well, ... because I haven't done it before.

  12. #232
    Join Date
    Feb 2016
    Posts
    7

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    I found this project yesterday with the youtube videos and I have to say - Im amazed!
    I had an idea for the hardware. There is a project called esc32 from autoquad (it seems like I cant post the link?).
    v2 is interesting because it can be bought in china (aliexpress, ebay) for 15-20$. It uses the same CPU like here, IR2301S as drivers and IRLR7843 FETs (firmware is OSS btw). There are different interface options including CAN.
    What do you think, couldnt this project be ported to esc32v2 with very little effort to have a readily available low cost driver for lighter duty applications?

  13. #233
    Join Date
    Mar 2009
    Posts
    533

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)


  14. #234
    Join Date
    Feb 2016
    Posts
    7

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    Yeah, but version 2. 3 ist closed source and no clones afaik

  15. #235
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by volatile666 View Post
    I found this project yesterday with the youtube videos and I have to say - Im amazed!
    I had an idea for the hardware. There is a project called esc32 from autoquad (it seems like I cant post the link?).
    v2 is interesting because it can be bought in china (aliexpress, ebay) for 15-20$. It uses the same CPU like here, IR2301S as drivers and IRLR7843 FETs (firmware is OSS btw). There are different interface options including CAN.
    What do you think, couldnt this project be ported to esc32v2 with very little effort to have a readily available low cost driver for lighter duty applications?
    Why would you port this driver which is STM32F103C8T6 to control an ESC32 driver which is just a fancy STM32F1 based ESC driver only to use the first to control the PWM signal and read the encoder and from what I can tell, the ESC32 is not direction changeable on the fly, it's a setting toset the direction and it's only 5v tolerant.

    There are much cheaper ESC's out there and some are direction changeable.

    And, V2 and V3 are not opensource and not compatable with V1 which was their testbed.

    In my opinion it would be a waste of an STM32 to control an STM32 based ESC.

  16. #236
    Quote Originally Posted by KOC62 View Post
    Thanks for the suggestion. Rather than "copy&paste" someone else's working PID solution, I'm interested in understanding each PID part so I'm adding code as I go along. I suppose you may ask; "Why re-invent the wheel...", well, ... because I haven't done it before.
    Look at this read this carfuly
    https://en.m.wikipedia.org/wiki/PID_controller

    https://github.com/danithebest91/ServoStrap/blob/master/Arduino_stepper_motor_emulator_v1.0.0.pde

    http://brettbeauregard.com/blog/2011/04/improving-the-beginners-pid-introduction/

    http://controlguru.com

    Yoo will need to stay patince good luck !

  17. #237
    Join Date
    Feb 2016
    Posts
    7

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by dwalsh62 View Post

    In my opinion it would be a waste of an STM32 to control an STM32 based ESC.
    And I agree about that but thats not what I want. My idea is to flash Mihais Firmware onto the ESC32 to make it a servo controller!

  18. #238
    Join Date
    Mar 2009
    Posts
    533

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Thanks, tandel.
    Yes, I already have come across some of your links, but I'm still working on a few hardware pieces. Then comes the PID stuff. I also have the Arduino PID blog tutorial. So I'm good as far as information goes. Patience I do have.- well, most of the time.

  19. #239
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by volatile666 View Post
    And I agree about that but thats not what I want. My idea is to flash Mihais Firmware onto the ESC32 to make it a servo controller!
    Unless you can magically add 6 or 7 IO's with associated hardware to the ESC to handle encoder, step, dir enable, sense I fail to see how you could use it.

  20. #240
    Join Date
    Oct 2010
    Posts
    448

    Re: DIY BLDC / DC Motor Servo Drive - ARM MCU (STM32F103C8T6)

    Quote Originally Posted by KOC62 View Post
    Thanks for the suggestion. I don't have a brushless motor.
    I am currently experimenting with an old sewing machine and using it's 80W 120VAC motor. It did not come with a foot controller, so I'm designing one, with "junkbox" parts, as an educational exercise. I have so far built a MOC3023- triac controller driven by an Arduino MEGA. The simple potentiometer speed control PWM is working using a zero-cross detector (H11AA1) to synchronize with the 120VAC line.
    My next phase is to add a sensor (OPB706) to detect the motor shaft RPM. When that part works I plan to introduce myself to a PID control as a possible improved speed controller. Rather than "copy&paste" someone else's working PID solution, I'm interested in understanding each PID part so I'm adding code as I go along. I suppose you may ask; "Why re-invent the wheel...", well, ... because I haven't done it before.
    I've been using 3-phase servo drivers to drive 2-phase DC and AC motors without issues and controlling a sewing machine motor with this driver is just a matter of adding an encoder into the mix and selecting a 200V Qfet with a low Rds and there are plenty of options.

    There is an STMicro motor speed control application note/project code that someone gave me a binary of in mihai's original drive board and use this driver to run a single phase 110VAC benchtop drill press motor (remove the cap) which gives me speed and direction and full torque at all speeds (I made 4 mihai boards and gave two to someone for this purpose, they gave me the binary to test and I left the drill connected this way).

    If I can give some more advise, if you're going to reinvent the wheel, please be heavy on the comments so others can learn from it, current stuff is copy/paste mediocre results because not enough information is in the existing code to make easy alterations and it takes the next guy considerable time to figure it out.

Page 12 of 25 2101112131422

Similar Threads

  1. Replies: 3
    Last Post: 02-11-2015, 06:07 AM
  2. Replies: 0
    Last Post: 10-21-2014, 09:29 PM
  3. Servo Drive AC + servo motor for car steering wheel simulator
    By yusukeand in forum Servo Motors / Drives
    Replies: 6
    Last Post: 01-10-2014, 09:06 AM
  4. VCE-750 with BLDC Servo - X Axis Servo fault
    By kostner in forum Haas Mills
    Replies: 6
    Last Post: 10-23-2011, 08:09 PM
  5. Sell Servo Motor, Servo Drive by GSKcnc.com from China
    By salecnc@hotmail in forum News Announcements
    Replies: 0
    Last Post: 06-03-2008, 08:55 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •