First, I'm sorry if I am posting this to the wrong place. I have very little experience with microcontrollers (aside from arduino) and I'm currently working on a project which is admittedly a bit over my head. The basic functions I want to perform are not terribly complicated, but require a level of precision and speed that I haven't had to deal with before. I would like to kindly ask to be pointed in the right direction for selecting a microcontroller.
Problem Summary: An optical or ultrasonic (Doppler) sensor will be used to detect an incoming object. This will trigger the activation of a
Moog D638 proportional servovalve according to some pre-programmed function (ramp, sine, etc.) , lasting approximately 0.1 seconds. During this time, data will be collected from both a hydraulic pressure transducer at the valve, and an accelerometer. This data must be stored for later analysis on a personal computer with MatLab. This is a scientific research application, so data quality is important. The PC may not be connected to the MCU during operation.
Inputs: 3 analog signals, 2 of which must be sampled simultaneously, recorded, and later transferred to a PC with associated time data. All must be sampled at 10 kHz minimum, preferably higher. High precision is also important. I would like 16-bit, but from what I can tell, multiple 16-bit ADCs are uncommon on MCUs.
Outputs: 1 signal to the servovalve. This may be analog (V or mA), CANopen, Profibus, or EtherCAT.
I originally started off by looking at Texas Instruments' C2000 MCU (for real-time functionality), before realizing that it had no analog output available, and that I would have to purchase a separate library in order to use CANopen. I'd like to keep this as simple a solution as possible, given my limited experience. I'm aware that filters can be used to create analog signals from PWM, but I'm unsure if there are significant issues with noise or phase lag, etc. that would affect valve operation. Likewise, I don't really know if ADC with a separate chip is a good idea here. Basically, I'm just too inexperienced to evaluate the relative trade-offs involved.
No closed-loop control is required, though my intention was to make selections in such a way that it could later be implemented (correcting valve performance with data from the sensors). For now this is a one-off prototype and can be as ugly as necessary, so I would prefer to use an evaluation board setup that I can easily program via USB.
Thanks for any help that can be given!