¿Como algún tipo de protección para evitar que A0 se ase con 12V? Creo que podría ser el caso, pero no entiendo cómo funciona para evitarlo.
Esta es la respuesta. Así es como funciona:
Cuando A1 es alto, se suministran 12 V al pin de reinicio a través del optoacoplador. El pin de reinicio ahora está a + 12V, lo que presumiblemente dañaría todo lo que esté conectado a A0 sin algún tipo de protección.
El diodo está configurado de tal manera que conducirá cuando su ánodo (el pin conectado entre las dos resistencias) sea mayor que 5V. Entonces, cuando A1 es alto y el restablecimiento está a 12 V, ese diodo comenzará a conducir y sujeta la tensión en su ánodo a 5 V más la tensión directa del diodo; llámelo a 0,7 V, por lo que el ánodo está a 5,7 V. El R2 limita la cantidad de corriente que puede fluir a través del diodo, lo que evita la sobrecarga del suministro de 12 V y la explosión del diodo. ya que es 1k, y tendrá 12-5.7 = 6.3V a través de él, tendrá aproximadamente 6.3 mA fluyendo a través del diodo y la resistencia.
Desde el esquema en el proyecto github que vinculó, A0 está conectado a un arduino, y los microcontroladores, como la mayoría de los circuitos integrados, no están calificados para tener ninguno de sus IO a un voltaje más alto que el de su suministro. Por lo general, hay diodos desde cada pin a los rieles positivos y negativos integrados en el IC para la supresión de ESD. Si se coloca un pin IO por encima de la tensión de alimentación, estos diodos conducirán, y con suficiente corriente sostenida, el IC puede dañarse. Por eso es importante que el Arduino no esté expuesto directamente a los 12 V en el pin de reinicio. Dado que D1 se ajusta a algo así como 5.7V, esto podría ser suficiente para que un diodo ESD en el Arduino comience a conducir, por lo que R3 limita la cantidad de corriente que puede ser impulsada a través del diodo, y asegura que D1 realice toda la sujeción.