Giter VIP home page Giter VIP logo

Comments (26)

pekkaroi avatar pekkaroi commented on August 16, 2024

Yeah, the documentation is nonexistent. And I really don't have time or resources to properly do it either, but I can try to help you to get the GUI running. Do you get some sort of error message when trying to run the GUI?

On a side note - on another project I spent some time reading more about theory on BLDC motor control and the more I read the more I realize how limited this implementation is in performance. The proper Field Oriented Control would be the way to go really, but like said above, other things keep me busy so getting back to this is not gonna happen soon..

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

With field oriented control, don't you have to change the commutation tables to sine? I wish I knew what it would take to change to sine. I would like to compare sine to trapezoid.

from bldc-drive.

pekkaroi avatar pekkaroi commented on August 16, 2024

I have implemented sinusoid drive in this firmware even though not very carefully tested it. Selection between sinusoid or trapezoid is made in file configuration.h. Sine commutation doesn't use hall sensors at all, only encoder to generate the commutation voltages. pwm.c contains the actual implementation of the commutation, that could be a starting point for studying the differences between the methods.

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

I looked at the code and saw the sine calls. I will study the code. On another note, you have mentioned that you recognize the shortfalls of your design.. Can you share some things with me that you feel are not working well or sub standard compared to a commercial servo amp? I might be able to contribute some code to you.

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

I also was thinking about using a different method to tune the drive. Where in the code is the message payload for the tuning software. I should find this myself but I am taking advantage of you lol

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

I have one last question. ... What is the development environment? Will the software compile under gcc and eclipse? Thank you.

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

I had real problems with that too. IIrc he mentioned somewhere that he used eclipse, but a older version. Its a real pain to install the toolchains and stuff. Now I program stm32f103 with the arduino ide. Do you know a ide which is good with stm chips?

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

I am going to install a newer version of eclipse and gcc. I used both at Honeywell for Arm cores. I will let you know how I make out.

from bldc-drive.

pekkaroi avatar pekkaroi commented on August 16, 2024

A lot of questions. :) Thanks for your interest.

I'm using Eclipse and GCC. Versions are very old, but as it works now and like you say, It's bit of a pain to set up so I havent updated my workspace in years.

The configuration and communication between the drive and the GUI sw are implemented in configuration.c.

What comes to performance compared to commercial solutions. First of all, I've never used a real industrial servo amp. But what I've seen from the performance of real CNC machines, the positional accuracy during any sort of movement or acceleration is much better than what I'm capable of achieving. I haven't simply been able to tune the control loop so that I would get reasonable accuracy also during acceleration, especially with Chinese cheap motors. Of course, part of the problem are the motors, I'm sure but as I've seen them running on various hobby CNC projects with reasonable performance, they cannot be the only issue.

To implement the FOC or even to implement some sort of other means of current control, the latest hardware is not useful. There is only one resistor&current shunt amplifier, so only the total bus current is measurable. But because of my brainfart, the bypass capacitors are placed between the shunt resistor and the mosfets so probably the bandwidth of the current measurement is poor. I deisnged it as current limiter originally and for that it works fine, but not usable as part of the feedback loop.

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

So sou know how Good oh performs with dc Motors? I've seen the position accuracy is around 10 encoder steps. Do you have any jmc servos to compare to? And do you know a better alternative for dc servos, like elm Chan?

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

from bldc-drive.

pekkaroi avatar pekkaroi commented on August 16, 2024

Hello. I don't have any finished spare boards. I probably have some bare PCBs somewhere, but quite frankly, shipping the boards from here is probably more expensive than ordering new from China.. And also, if you are willing to try any sort of current control (and I think you should), my board design is not very good. I realized that as the big filtering capacitors are after the current sense resistor, the current sensor is low pass filtered very heavily and thus not suitable for using in the control loop. New board design should be done, but I havent found time to complete it..

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

from bldc-drive.

pekkaroi avatar pekkaroi commented on August 16, 2024

Very good - dual sensing is definitely the way to go. And FOC. I'd like to implement that some day as well.

In my router, the performance is rather good. I have it in closed loop control with LinuxCNC and I'd say that the accuracy of the motor control stays within 0.01mm during all movements. That is way more than the accuracy of my flexy DIY router. The motors are some Technic motors with 4000cnt/rev encoders.

I then tried to use the drive with my 3d printer and brought some cheap BLDC motors in Nema17 size. I simply was not able to tune the drive to work pretty much at all.. That's pretty much where I'm left at, but haven't got time to investigate further.

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

Can you send or give me a picture of how you are using Linuxcnc for tuning?

I will make PCBs if I can get them to work with LinuxCNC and PMSM.

Can someone post a flowchart or picture?

Thank you,

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

Sadly I can't upload pictures or files. Will Try to upload on drive and post link. I'm not tuning with Linux cnc. The servo is controlled via step/dir. You tune the system and then just run it. A problem is the adaptive load. My email is my username [email protected], I won't post email for bots reason. Contact me and I send you all my documentation. For discussion I would like to continue on girhub so people can learn from it.

I will try to upload on zippy share first.

from bldc-drive.

pekkaroi avatar pekkaroi commented on August 16, 2024

Can you send or give me a picture of how you are using Linuxcnc for tuning?

I will make PCBs if I can get them to work with LinuxCNC and PMSM.

Can someone post a flowchart or picture?

Thank you,

I connect my servo drive to my custom Ethernet interface (a very old and outdated post is here: http://pekka.eu/cnc/). So this way I connect the encoder to LinuxCNC and a PWM output from LinuxCNC to the servo AMP. Tuning is done by PID HAL component in LinuxCNC. The same thing is doable with Mesa hardware in LinuxCNC.

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

So, took a while. Hope you can use some of this. I've come to the conclusion for servos in nema17 format to use DC motors, they go up to 360w with reasonable price 12€/motor and electronics for 14€ wich is a lot cheaper than commercial servos in this range. For nema23 format take jmc bldc servos 100-180w for ~80€ and upward of 300w build stmbl drive, cost about 100€ a piece for a 400v 3kw drive.
Elm chan DC servo has very good code but old hardware and is in assembler .
I'm looking to build a cheap, modular servo drive. I'm choosing parts on breakout boards you can buy from China, they are smd, cheap and everyone can get them. There's for example a 30a current sensor I'm using instead 9f the building opamp and stuff.
Would love for you guys to consider this approach of getting complete components and 'plug n play' them on a board with tht. This will make the board a bit bigger but you can change parts easily and the price is mostly cheaper except you plan ob building more than 100 boards. Most cheap cnc or 3d printer with 15€ dremel are capable of milling through hole pcb, so many people can build the 'mother board' or just use protoboards.
So long rant... Here's the link
https://www8.zippyshare.com/v/PIzVrBrB/file.html

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

The link you provided is full of malware. Can you send the file to my email? It is username at yahoo.com.

I am interested in your setup. Please send me links to the components you use to build a servo especially the bridge board and also the file you are using. Is it the standard hex file from the repository? I am interested in your implementation. I will share my new code.

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

Well the problem with this software is, it's just not mainstream enough. When you are a standard windows user u don't nessesary have python. It took me 6h to sort every problem out till I had a working ui. 2 I needed a usb to serial interface even though stm has usb. I didn't even get to use pekkarois software in the end because i don't have the time to setup a different work environment from scratch which will take days, at least on the first time.
I know it's a bit harder to search for readily available parts online. But not everyone wants to get a reflow oven an in the end I can get working servos for 80€, no need to invest countless hours and more money to get an experimental product.
Like I said, the bridge is just called bts7960.
I ordered a 895 dc motor today to test it. 5cm diameter is still in nema 17 format, the 5mm shaft is ideal for pulleys and it got an 5mm 2nd shaft for encoder. Seller says peak torque at 24v 16a is 9,8kg/cm but I calculated more like 5kg/cm torque. The speed of 6000rpm should be good too, since it's important. With my system right now I'm able to archive up to 8m/s. With the upgraded motor I'm planning to archive 10m/s with accuracy of 0,04mm and the capability to move 3-4kg loads.
Sorry for the blocked file access, first time sharing with gdrive.

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

Well the problem with this software is, it's just not mainstream enough. When you are a standard windows user u don't nessesary have python. It took me 6h to sort every problem out till I had a working ui. 2 I needed a usb to serial interface even though stm has usb. I didn't even get to use pekkarois software in the end because i don't have the time to setup a different work environment from scratch which will take days, at least on the first time.
I know it's a bit harder to search for readily available parts online. But not everyone wants to get a reflow oven an in the end I can get working servos for 80€, no need to invest countless hours and more money to get an experimental product.
Like I said, the bridge is just called bts7960.
I ordered a 895 dc motor today to test it. 5cm diameter is still in nema 17 format, the 5mm shaft is ideal for pulleys and it got an 5mm 2nd shaft for encoder. Seller says peak torque at 24v 16a is 9,8kg/cm but I calculated more like 5kg/cm torque. The speed of 6000rpm should be good too, since it's important. With my system right now I'm able to archive up to 8m/s. With the upgraded motor I'm planning to archive 10m/s with accuracy of 0,04mm and the capability to move 3-4kg loads.
Sorry for the blocked file access, first time sharing with gdrive.

from bldc-drive.

tecfacet avatar tecfacet commented on August 16, 2024

from bldc-drive.

Wintertod avatar Wintertod commented on August 16, 2024

from bldc-drive.

Related Issues (14)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.