Attiny85 se rompe al cargar el bootloader

Buenas a todos... Estoy haciendo un oscilador ajustable entre 1500 y 4500Hz con un Attiny85... Basicamente usando la función delayMicroseconds(); he programado el attiny usando el bootloader a 8Mhz interno, y no resulta muy fiable ... no es muy exacto y decidido colocar un cristal externo de 16Mhz con sus condensadores de 22pF... pero al cargar el bootloader para ese oscilador, el Attiny deja de funcionar y lo que es peor, ya no puedo reprogramarlo, me da error de conexiones... Para programarlo uso un Arduino UNO ... Basicamente quiero generar una señal cuadrada... He probado a hacerlo en una arduino UNO, MEGA y pro mini y funciona perfecto

cual puede ser la razón por la que se rompe el Attiny?? Gracias por vuestra ayuda...

el código es el siguiente...

define periodo 666.66 //1500Hz

int salida=1;

void setup() { pinMode(salida,OUTPUT); }

void loop() { digitalWrite (salida,HIGH); delayMicroseconds (periodo/2); digitalWrite (salida,LOW); delayMicroseconds (periodo/2); }

Estimado Lisergio:

Has vuelto al foro.

Respecto a lo que preguntas no puedo aportar nada.

Pero respecto al código el ("666.66/2);" es una operación pesada (división de decimales) y puede demorar varios microsegundos, convendría directamente

define periodo 333 // 333 para 1500 Hz, 111 para 4500 Hz

Mas aún haría (con un contador) 100000 o un millon de ciclos y mediría con micros() que tarda para calibrar esos números.

Saludos

usando el bootloader a 8Mhz interno,

El clock interno funciona en base a un RC, obviamente su estabilidad es mala y menos para hacer un oscilador como el que intentas.

Pero mira esto, un ATMEGA328 con RC (oscilador interno) vs Crystal a 16Mhz.

Porfin he sacado un rato para volver al foro y mis enredos.... Tienes razón, si tarda en hacer la operación los ciclos ya no coincidirán con la frecuencia...

Le voy a echar un ojo al enlace... Pero sigo teniendo el problema de que se me rompen los attiny85... No se que hacer con ello....

Como que se te rompen? Explicate

Sabes que muchos me critican porque a veces (o muchas veces soy muy malhumorado en algunos comentarios) pero resulta que se pierde tiempo sacando la información con saca corchos.

Se rompen, se mas técnico, describe el problema como corresponde. En que circunstancias, como es el circuito, donde esta montado. Puedo pensar que es electrico, mecánico, etc.

Perdón, específico mas,...

El problema es puesto en el programador

Avrdude: yikes! Invalid device signature. Double check connections and try again, or use -F to override this check.

Antes de cargar el bootloader de 16mhz (external crystal;4.3v BOD) cargaba sin problema los programas, después de cagarlo solo da ese error y no puedo hacer nada... Por eso digo que se ha "roto"

Gracias!

Hola,

Lisergio, ¿qué tarjeta o board le pones para esa carga?

buenas....

como he puesto arriba... Attiny85 16Mhz (external crystal..);

coloco captura de la placa y del error...