¿Se puede programar una Raspberry Pi o similar para que actúe como una ECU para un automóvil?

Sí, pero el Pi mismo necesitaría una gran cantidad de otro hardware para leer sensores y accionar los inyectores, solenoides, relés y las bobinas de encendido.

El principal problema que veo con el uso de una Pi como una ECU es el tiempo de arranque. Un microcontrolador sin interfaz de usuario puede encenderse y estar listo para funcionar en unos pocos milisegundos. Se han realizado algunas optimizaciones de arranque de Pi muy rápidas, un par de segundos que he visto. Eso podría estar bien.

Sería genial poder escribir el programa de control de la ECU en un lenguaje de alto nivel como Python.

Para darle una idea de cuánto más necesita para obtener una Pi o una computadora de placa única similar para realizar tareas industriales, aquí hay una imagen de un BeagleBone conectado a una PCB que le permite controlar un molino CNC de 4 ejes. Esto no tiene controladores de potencia que necesitaría una ECU, solo acondicionamiento de señal y protección de E / S.

Teóricamente, podrías escribir un programa así. Pero en la vida real, no funcionaría muy bien. Primer problema: el R-Pi es demasiado lento: necesita un procesador independiente en tiempo real miles de veces más rápido, porque está recopilando y procesando miles de mediciones de sensores por segundo. Problema dos: no sabe nada acerca de los sensores, de lo que significan sus lecturas y de lo que “debería ser” el estado del motor, para cualquiera de las docenas de regímenes por los que pasa el motor (tickover, aceleración ligera, aceleración pesada, turbo encendido) o apagado, por inercia a la velocidad). Problema tres: no sabe nada acerca de los actuadores para el suministro de combustible, la sincronización de la chispa, etc., y nuevamente no sabe cuáles deberían ser las configuraciones.

Sin acceso a toda esa información y la asistencia de ingenieros expertos y calificados, dudo que sea posible incluso escribir un modo de control de “llevarlo a casa” con muerte cerebral, y absolutamente imposible escribir un programa de ECU que entregue un combustible y motor de seguridad eficiente.