Last month I tried running bldc motors (8 poles, 3000rpm max) with LinuxCNC and MESA 5i23, 7i43 and 7i39. I am quite happy now, but I see the limitations of this set: sine commutation is rough at higher speeds. Motors do run on 5i23 at 200-250us servo period, but not very smooth and such period is too short for 7i43. I think even 7i43 would be capable of running such motors smoothly at max speed if sine lookup and commutation would be made in FPGA by hardware.
I am thinking about new, corrected firmware for BLDC motors, which would be superior over current LinuxCNC/hostmot2/bldc solution. Now I am talking about "qi" mode only. And it is the only mode I would need. What I would like it to be is similar functionality, just more tasks done by FPGA itself. The main point is to transfer sine commutation. I understand these things have to be changed: 1. Encoder to electric angle conversion by FPGA (configurable parameters, such as scale and encoder offset); 2. computing or table-lookup of sine function in FPGA; 3. remove 3pwmgen.nn.A-value, B-value, C-value and similar pins from hm2 component / driver. LinuxCNC would pass only value (amplitude) to every axis every servo period only. This way commutation would be much faster and would require less host CPU power. What do you think about all this? What are the possibilities? Who is competent enough to make firmware, drivers? I am programming LinuxCNC components by myself, but never touched FPGA or similar programming. Marius ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ Emc-users mailing list Emc-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/emc-users