Estoy intentando obtener una comunicación simple entre dos placas que he diseñado con un microcontrolador ATmega328P y MCP2515 / MCP2551 .
El diseño es el siguiente:
Heterminadoambosextremosconlaresistenciade120Ωyelpuentesoldado.Mimultímetrolee60ΩentreCANHyCANLenamboslados.Ambasplacascompartenlamismafuentedealimentación(rielcomúnde5V,GNDcomún).
Ladodelsoftware,estoyusandoungestordearranqueOptibootyelentornoArduinoparaunprototipadomásrápido.(ConfigurémisdoscontroladoresenModoNormalconfiltrospredeterminadosa.k.aylosrecibotodosparaprobarlos).HeprobadomuchasbibliotecasparaelMCP2515,yelsoftwarenopareceserelproblema.
Dosdelasmejoresbibliotecasqueheencontrado:
enlace
Mi problema es que no puedo hacer que la comunicación funcione.
Los tableros no recibirán mensajes entre sí, mientras que pueden recibir mensajes de un tablero de terceros, pero aún no pueden enviarse a dicho tablero .
Como puede ver, tengo puntos de sondeo RX_CAN y TX_CAN entre el transceptor y el controlador. El alcance de TX_CAN en la placa transmisora y RX_CAN en la recepción Tengo este extraño comportamiento cuando amplío una única parte baja del mensaje (el amarillo es el RX_CAN).
Ya he intentado reemplazar el controlador y el chip del transceptor. ¿Podría ser este un mal condensador de desacoplamiento?
Actualizar:
DespuésdequitarlosLED,queeraelproblemadelruidoextraño,todavíanopuedoobtenerlaseñaldelladoreceptorparaseguirelresto,¿NodeberíanseropuestaslasseñalesCANH/CANL?
mcp2551pcblayout