This sounds doable as long as there is space on the fpga for a lookup-table and you can get the commutation tuned correctly (I guess the tuning/alignment process is already required and works ok for the current bldc implementation).
Could you somehow verify that the non-optimal behavior or problems you are seeing actually are because of commutation? OR, would it be possible that simple PWM ("voltage"?) control with a PID-loop that gets feedback from the encoder is quite hard and doesn't work well at high RPM even with a 250us servo-thread? I once tried using current-sensing chips from IRF that produce PWM-output - this could be one option if you want to try a current-loop. Anders On Wed, Jul 10, 2013 at 12:05 PM, propcoder <marius.alks...@gmail.com>wrote: > 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 > ------------------------------------------------------------------------------ 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