Is an arduino pro mini 3v3 enough to manage this system?

I've a robot.
The ATmega manage..

  • two servos. They are controlled using PID and an accelerometer as INPUT.
    Arduino generate a mean of 30 angle values every 30 ms and pass it to the PID.
    Each angle is calculated with arctan function over 2 axis.

-a light sensor wich generate a digital input. Updated every 50-100ms. Maybe it will be attached to an interrupt rather than using cycles and if conditions.

-an ir sensor, analog input. Updated every 50-10ms.Candidate to be used with an interrupt rather than use cycles and if conditions.

-a voltage sensor, analog input wich is processed to generate the tension. Updated rarely every 10.000ms

-a current sensor, analog input to process, uptated frequently 0-10ms.

The software would occupy around 40% of "RAM" and of "hard drive'.

Do you think 8mhz processor would be enough?
How one can recognize if a microcontroller have enough power to manage the system with the required reactivity?

atan() on an 8bit AVR takes about 2300 cycles. At 8MHz, that's less than 1ms, so it seems reasonable that doing a couple of atan() operations every 30ms shouldn't be too much of a stretch. Hopefully you've got a nice incremental averaging algorithm and aren't expecting to add all 30 numbers each time...

Your analog inputs may be obnoxious; converting them to an interrupt-based scheme might end up being pretty important.

How one can recognize if a microcontroller have enough power to manage the system with the required reactivity?

You get an estimate by finding the most time-critical and/or time-consuming piece and checking how much leeway it has. Then, assuming the answer wasn't "no way" you try it out and see for sure, using relatively portable and unoptimized code, If it works, you can get an idea how much free time it has, for feature creep and such. If it doesn't work, you're faced with a more difficult decision o whether to "try really hard" to make it work, or look for a more powerful chip.

Will the servos reliably work with 3.3V signals? - worth checking this.