uh oh... I should warn you that you have stepped into the wonderful and wild world of motor control. Getting a motor with an "easy" load like a fan or pump to turn is not too difficult, but you need to be aware of a couple of things, and unfortunately what you find on the Internet glosses over some important subtleties.
In order to control a BLDC motor (which is better to call a PMSM = permanent-magnet synchronous motor), you need to manage these aspects:
power devices (the wikipedia page shows NPN transistors but nobody really uses those anymore, instead MOSFETs get used in sub-200V applications, IGBTs at higher voltages)
gate drives (interfacing signals from your controller to the power devices)
commutation (cycling current through different phases of the motor as it turns)
current control (making sure you allow safe levels of current through the motor and transistors)
motion control (making the motor turn at a desired speed or stay at a desired position)
I would highly recommend that you buy an integrated 3-phase bridge which takes in logic signals from a microcontroller, and turns on and off MOSFETs. ST is a decent manufacturer + has several of these, often including overcurrent protection. The L6234 is one that might suit your needs.
If you aren't going to use an integrated bridge, use MOSFETs but BE CAREFUL. The lower ones aren't too hard to control, but the upper ones can't be driven directly from a microcontroller output unless you use P-channel MOSFETs and the supply voltage is the same as the supply for the microcontroller. (In any case it's dangerous to drive directly from a micro; if you have a fault you can easily damage the microcontroller.)
(NPN transistors would be a real pain to drive; the lower ones may need more current than the micro can source, and the upper ones need some kind of circuitry to drive them correctly.)
The anti-parallel or "free-wheeling" diodes allow current to flow from the motor, which is an inductive load, to the power supply. If you don't have them and you turn off a transistor while current is flowing through the motor, you will probably damage the transistor due to the inductive voltage spike during turnoff.
Also you'll probably need to use PWM (pulse-width modulation) -- if you just use on/off control for each of the 6 transistor, you will probably get an overcurrent condition because you're putting the entire battery voltage across the motor, and when it's at a standstill, the back-emf is 0 so the current is only limited by the transistors and the motor's winding resistance.
Regarding commutation: if you don't have a position sensor on the motor, you will have to use a sensorless commutation technique, which can be interesting... the basic ones measure the motor terminal voltage and use that to measure the approximate back-emf. Nothing really works at zero speed; at low speed the algorithms are complicated, and at high speed it's not so bad. If your motor has an "easy" load (low load torque at low speeds, smoothly changing torque at higher speeds), then you can drive it open loop at low speeds like a stepper motor.
All this is just the tip of the iceberg for motor control.... fortunately you have a pretty small motor so it shouldn't be that difficult or dangerous to work with. Good luck!
edit: Allegro is another company that makes motor drive ICs.
I discovered what the problem was. I was making 2 mistakes. The first was, not using an appropriate power supply. One motor would work fine but as soon as the others kicked in, there just wasnt enough power. The second problem was I was using interrupts when I should have been taking advantage of the 4 PWM channels on my atmega128. Also I wasnt enabling ALL 4 OCR channels, I forgot to turn them all on.
So if you are having similar issues dont forget to use an appropriate voltage source and make sure you are setting up and using the PWM channels correctly.
Best Answer
(I really have no experience with this particular application, so this is a bit of a shot in the dark - hopefully it'll give you some ideas)
How thoroughly have you separated this from the rest of the drive circuitry? From the part where you say you disconnected the wires from the laser head, it sounds like it's still in the drive. If so, you're probably fighting against the automatic drive startup behaviour where it spins up and checks to see if there's a disk before shutting down.
At the very least, check to see if something is happening on pin 7 (BRAKE). It looks like that pin going high will brake the motor. You want it to be low the whole time. If you can see it transition low to high right when the motor stops, you've got your culprit :) If that doesn't seem to be it, try checking the other pins on the controller to see if one of them does it (they might have changed the pinout between chip versions).
As for how to get your 0 - 2V level, smoothing a PWM output is pretty tricky and the exact capacitance needed varies based on how much current is being drawn. If you don't need to vary the voltage, I'd do a voltage divider. If you do need to vary it, but can live with discrete steps I'd look at doing several voltage dividers, either on multiple pins of the Attiny, or attached to something like a ripple counter where you could select which output pin is ON and thus control which one of several resistors is used as the top half of the voltage divider.
Good luck on this project. Salvaging parts can be tricky. I've got immense respect for the folks who pull it off.