Originally Posted by andy55 this would be the most interesting option I think.
There's an FPGA card sold by mesa electronics (www.mesanet.com) called "5I20 FPGA based PCI Anything I/O card " which sells for $199.
It has a 200kgate FPGA and 72 general purpose I/O pins
It will probably be hard to come to this price range for a DIY design - or it would require production of 100s of boards. |
Producing comercial assembled, tested ready boards are expensive.
For just hobby you can order 2-layer 100x160 board based on Eagle CAD
files from
www.olimex.com in single quantities $33
Of cource in hobby you don't count price for assembling and design.
One thing that i don't like in Mesa board is that it uses Paralax PLX9030
for PCI and i prefer using open cores PCI implementation directly
for PCI. I have used the opencores PCI with Xilinx Spartan 2 PCI
evaluation board andit is good and versatile block.
For hobby board the 208 Pin QFP Spartan-IIE XC2S200E in dual layes
board will be good choice.
There's an FPGA configuration for the 5i20 that has an EMC2 driver. it's called HOSTMOT-4. It provides 4 "analog" outputs and up to 8 encoder counters + about 24+16 bit general purpose I/O.
the "analog" output for controlling a motor consists of a direction pin and a PWM output pin.
The FPGA code in VHDL format is opensource and can be found in the EMC2 CVS. |
This FPGA VHDL code can beused for BLDC also just sending command out
with SPI to microcontroller instead of doing PWM.
I emailed the guy who works at Mesa electronics who wrote the fpga configuration and he confirmed that they had also tried direct control of BLDC or 3-phase AC motors with the FPGA.
One problem is that direct control requires lots and lots of pins. For 3-phase H-bridge driver you need 6 outputs. Then something for detecting the phase currents etc.
|
I have had same thing in my mind. As addition of pins, it needs a lot of
macrosels if you try to make it switching phases using encoder or back-ENF
sensing ( sensorles). The HAL sensor based can be done much easier.
Still, I think it would be a nice way to do motor control. Have all the "smart" bits of the control in FPGA/VHDL meaning they can be reconfigured anytime someone finds a way to improve the code.
The power electronics would be "dumb" powerstages + current sensing amplifiers (IR2175 provides current sensing with PWM output, suitable for a digital-input-only solution).
If I would be competent in VHDL I would probably pursue this option further right away but unfortunately I think I don't have time to learn VHDL right now...
I understand the Xilinx compiler needed to compile the VHDL for the FPGA is available freely from Xilinx.
AW |
Replasing microcontoller with FPGA in sensorless BLDC controll will need
alotofmacrocells or then using expensive FPGA that has internal CPU core
like some Xiling ones has PPC core. These high end FPGA's are also
PGA that requires expensive multilayer board and special assembly
equipments.
So,at the moment i think that cheaper FPGA in QFP and chep microcontroller
is cost optimumin hobby quantities.
The xilinx low end tools are freely downloadable. I have used them directly
compile Opencores PCI.
Katti