Geez, it seems you still really haven't grasped the concept here.
The L298 doesn't contain any current controller so if you're going to use that you need some way to regulate the current to whatever level your PIC commands. Remember that when you're microstepping you're NOT just setting the coil current to 1.2A or whatever - the current reference for each coil is changing. The L298 is often combined with the L297 and IT has the current controller in it. Oscillator, flip flops, compartors, blanking time etc etc. But since the L297 also has the step indexer built into it it's "locked" to full and half step mode.
The L6207 i mentioned has the H-bridge (like in the L298) but also the current controller part of the L297 (well perhaps not the same circuit but the functionallity).
If you DON'T use a chip with built in current controller you're going to have to implement that part of the chips circuitry with other parts or in code - possible but not easy, certainly not in the code alone.
In the Microchip App note it looks like they are simply and "blindly" throwing PWM dutycycles from a SIN lookup table at the H-bridge without actually regulating or limiting the current. The two sense lines from the H-bridge IS connected to the ADC inputs but the only analog input read in the firmware is AN0 which is the speed reference - as far as I can see. It might work, sort of, but I think it's a very crude way and certainly one that will destroy the motor when the powersupply voltage is higher than the rated motor voltage (which, as you've found out, is needed to get any sort of speed out the motor). Either I'm missing something or that design is seriously flawed.
Then of course, Richard is right, it'll be much easier and cheaper to just buy something - but where's the fun in that right?
/Henrik.
Bookmarks