PWM de tira de LED funciona con Raspberry Pi, no funciona con Attiny45

Estoy tratando de controlar una tira de LED analógica RGBW mediante modulación PWM.

Cuando se utiliza un Attiny45, la tira de LED parpadea a baja frecuencia (aprox. 2-3 hz). Sin embargo, usar una Raspberry Pi 3 para controlar PWM funciona sin problemas, y en cualquier frecuencia de PWM lo intento.

¿Alguna idea de por qué podría ser?

Información adicional

En mi configuración de prueba, enciendo el Attiny45 conectándolo al pin de 3.3V en el Pi (por ahora, cambiará más adelante).

He programado el Attiny45 a través de SPI en el Pi usando el módulo Avrdude linuxspi, siguiendo este instructivo.

La configuración es la misma para ambos controladores probados:

El pin de control con salida PWM impulsa un MOSFET (IRLZ34NPBF), que conecta uno de los cables de color de la tira a tierra (que está conectado a la tierra de la RasPi).

Una fuente de alimentación externa, clasificada para usar con mi tira de LED, alimenta la tira, con la tierra conectada a la tierra de la RasPi.

Probé todas las frecuencias PWM diferentes en el Attiny45 (con un reloj predeterminado de 8MHz, por lo que ni siquiera debería ver un parpadeo en la frecuencia PWM más baja, que es 8MHz/(256*1024)=~30.5Hz (según el oficial Hoja de datos , página 74)) y la misma frecuencia en el Pi, que funciona sin parpadeo.

El Attiny45 puede controlar un solo LED usando la misma configuración MOSFET sin parpadear.

Esquemático:

esquemático

simular este circuito : esquema creado con CircuitLab

Intenté agregar una resistencia de valor pequeño (R1, 620 ohmios) entre la puerta y la fuente del MOSFET para contrarrestar un estado flotante cuando el PWM está apagado, pero no hace la diferencia.

¡Espero tu entrada!

¿Está seguro de que las frecuencias de reloj están programadas de la misma manera?
¿Hay alguna diferencia en Vgs? >=4V es preferible a 3.3V
"He probado todas las diferentes frecuencias PWM en el Attiny45", ¿exactamente cómo hiciste esto?
@SunnyskyguyEE75 El Attiny45 tiene sus fusibles configurados para usar el oscilador interno a 8 mhz, usando la fórmula dada en la hoja de datos calculé la frecuencia pwm. En Raspberry Pi, la frecuencia PWM se puede configurar mediante la función de configuración GPIO.PWM(). Lamentablemente, no puedo medir la salida real porque no tengo un osciloscopio...
También @SunnyskyguyEE75, la Raspberry Pi usa 3.3V en sus pines GPIO, y dado que apago el Attiny45 del pin de 3.3V del Pi, también usa 3.3V. Traté de apagarlo con el pin de 5V del Pi, pero eso no hace la diferencia.
@BruceAbbott usando un programa simple que solo activa PWM en el Attiny45 y reprogramando y probando el Attiny mientras revisa todas las diferentes configuraciones del reloj.
Puede medir f con un CD4060 o un contador de ondulación similar, dividir por 1e12+ o aproximadamente 4 millones y usar un LED para contar la tasa de f baja alrededor de 1 Hz

Respuestas (1)

Bueno, después de algunos retoques aleatorios, descubrí que cuando conecté a tierra el attiny45 en un lugar específico en la configuración de mi tablero, funciona sin problemas. Por lo tanto, creo que los problemas que tuve no tenían nada que ver con el chip en sí, solo un problema extraño con mi placa de pruebas/cables puente/etc.

¡Perdón por no intentarlo antes y gracias a todos por su ayuda!