Parece que tiene su ULN2803 cableado incorrectamente.
Aquí está el pinout de la hoja de datos:
YaquíhayundarlingtonindividualdelIC:
Puede ver que no hay un pin Vcc, porque las salidas son colector abierto . Esto significa que usted conecta su carga (bobina de relé) entre la salida y Vcc. Esto es lo mismo que habrías hecho con tu configuración de BJT.
Puede usar un diodo para protegerse contra el retroceso inductivo como con el transistor único, pero el ULN2803 tiene diodos integrados para este propósito que puede usar en su lugar. Los diodos están conectados a cada salida, y el pin COM es la conexión de cátodo común para estos diodos (de modo que puede conectar esto al Vcc para colocar el diodo a través de la bobina del relé)
Efectivamente, cada salida debería tener un aspecto similar a esto cuando se configura correctamente:
La entrada puede ser activada directamente desde la micro salida (la micro estaría donde el DS89C4x0 está en el diagrama) o usar un drenaje abierto con resistencia pullup como en el circuito de arriba. Observe cómo el pin COM está conectado a + 5V para colocar el diodo interno a través de la bobina del relé.
EDITAR - Observo que ha editado su pregunta para cambiar el + 5V del pin 18 al pin 10 - Supongo que este fue un error tipográfico y fue así para comenzar.
En este caso, y a juzgar por la imagen, aparece que las cosas están conectadas correctamente como lo menciona Russell.
Es difícil saber qué podría estar causando su problema sin más datos. ¿Qué quiere decir cuando dice que se ejecuta durante 5 segundos? ¿Qué está haciendo durante este tiempo? ¿Con qué frecuencia cambian los relés? ¿Qué están cambiando? ¿Lo que se está cambiando comparte líneas eléctricas con el micro?
Si tiene un alcance, entonces publicar una captura de los resultados del ULN2803 y la línea de + 5V probablemente ayudaría.