Servo serial port lost

Hello,
I make my first project whith an Arduino uno and Arduino motor shield,my pc windows 7 professionnal 64 bits.
I connectd 2 c.c. motors to motor shield, coming from an old ink-jet printer.
I cut the "VIN connect" on the back side of the shied, in order tu use an external power supply, 12V.
Until now everything works fine. I also use maxuino to control the 2 C.C. motors with Xbox controller for Pc , It is perfect.
The troubles starts when I tried to use a third motor witch is a Servo, connected on pins 5 or 6. The servo turn a little bit and then everything disconnect, the serial port is lost(com4).
I have to reconnect Arduino but the problem happen again.
Now when I come back to the arduino sorftware and use "exemples_servo_sweep", the servo works fine...
I thought the problem was firmata, when I send standard firmata to arduino , use the progam "firmata_test", The same problem happen, It works for the 2 C.C. motors but the serial port is lost afert a small servo rotation.
I also tried to use older vesions of firmata and an other external power supply (from a laptop 19.5V,4.7 A) whith no succes.
Can someone help me? Thank you

Etiennej1:
The troubles starts when I tried to use a third motor witch is a Servo, connected on pins 5 or 6. The servo turn a little bit and then everything disconnect, the serial port is lost(com4).

The servo needs more power than the Arduino 5V pin can provide. If you tried to power it from the 5V pin it would cause a reset.

Thanks john,
Do you know why the servo is working with the program “servo sweep” but not hand-controlled with “firmata test” or maxuino ?
and do you know where I have to connect the servo on Arduino motorshield to make it work ? My external power supply is 12v, the 2 C.C motors needs at least 12v and the servo need 6V. is there no solution?

Etiennej1:
Do you know why the servo is working with the program "servo sweep" but not hand-controlled with "firmata test" or maxuino ?

I confess that I do not know why that happens. Perhaps it is only a problem when the servo is asked to move a significant distance in one jump. Sweep uses 1-degree jumps and the Servo may never draw full power.

Etiennej1:
and do you know where I have to connect the servo on Arduino motorshield to make it work ? My external power supply is 12v, the 2 C.C motors needs at least 12v and the servo need 6V. is there no solution?

You can connect a servo to any pin. The motor shield uses 3, 8, 9, 11, 12, 13, A0, A1 so any other pin should work. The board has little three-pin connectors for Pins 5, 6, A2, and A3. Unfortunately the '5V' on those three-pin connectors comes from the Arduino. You can try using a 5V or 6V linear voltage regulator on the 12V supply to get power for the servo.

Thank you very much John, now it works!