El controlador de Ethernet ENC28J60 no funciona con Arduino Nano ni Mega

1

Tengo un problema con la ejecución de ENC28J60 con Arduino con EtherCard.h. Este es el dispositivo que uso: enlace Esta es la biblioteca y ejemplos: enlace Yo uso Arduino IDE 1.5.4 en Windows. La biblioteca y skeches compilados sin ningún error. Intenté conectar ENC28J60 a Arduino MEGA 2560 de esta manera: GND GND VCC 3.3V SO Pin50 SI Pin51 SCK Pin52 CS Pin53

Los LED en el RJ45 estaban activos (verde encendido, amarillo parpadeando), pero el DHCP o la IP estática del ejemplo fallaron o mostraron una IP 0.0.0.0. El enrutador detectó el nuevo dispositivo pero el dispositivo no respondió a los pings. Probé el ejemplo modificado con la línea modificada:

if (ether.begin (sizeof Ethernet :: buffer, mymac, 53) == 0)     Serial.println ("Error al acceder al controlador de Ethernet");

Donde el pin 53 se especifica en la función ether.begin (), con el mismo resultado. Entonces intenté conectar ENC28J60 a Arduino Nano de esta manera:

VCC 3.3v GND GND SCK Pin 13 SO Pin 12 SI Pin 11 CS Pin 8

Pero luego, los LED en el RJ45 parpadearon durante la conexión del cable Ethernet y se apagaron. El LED rojo en ENC28J60 estaba encendido durante los experimentos anteriores.

Apreciaría cualquier ayuda. Encontré muchos proyectos con google donde la gente usa ENC28J60 + Arduino Mega / Nano sin ningún problema. Creo que la versión de la biblioteca EtherCard puede no funcionar con el último IDE de Arduino que tengo, pero no sé qué versión debería usar, o tal vez debería usar otra biblioteca.

Necesito el controlador Ethernet para servir una página web simple que permita cambiar el estado de relé ON / OFF.

Algunas actualizaciones:

Después de un poco de depuración puedo ver que el código se cuelga en esta línea:

while (!readOp(ENC28J60_READ_CTRL_REG, ESTAT) & ESTAT_CLKRDY)
    ;

en el archivo enc28j60.cpp. Sospecho que tengo el módulo enc28j60 defectuoso.

    
pregunta PanJanek

1 respuesta

1

Resultó que el módulo del módulo Ethernet estaba defectuoso: el chip smd enc28j60 no estaba debidamente soldado a la placa. Después de presionar la placa con mucha fuerza, todo comenzó a funcionar correctamente, pero la calidad del módulo anterior es realmente mala si no se detectaron tales fallas durante la producción.

    
respondido por el PanJanek

Lea otras preguntas en las etiquetas