Buenas días a todos.
Tengo un problema con el protocolo I2C.
Estoy desarrollando una placa para poder usar el micro en "standalone" donde solo está el regulador, un 7805 de toda la vida, un OpAmp, que hace de comparador de una señal de un termometro, un encoder, que cambia el valor de salida de una pwm Y mi gran problema una pantalla de 204 o 162; las dos me dan problemas.
El caso es que todo funciona a la perfección y a la velocidad deseada (uso un cristal de 16MHz): si giro el encoder lo más rápido humanamente posible, el micro detecta la acción, pero sólo me imprime el valor final en la pantalla y no veo el recorrido, con el termometro pasa igual, y la salida PWM la verdad que no la he probado aún porque me he quedado atascado en la pantalla.
No es la primera placa que desarrollo, así que dí por supuesto que tenía algún problema de diseño, pero no, todo está correcto.
Siguiente paso, probar el sketch en otros arduinos: MEGA-bien ; UNO-bien; PRO MINI-bien; NANO-bien,.....me pregunté entonces "¿será algo que tienen las placas y que nunca me dí cuenta al diseñar?" Pues la respuesta siento decir que es NO. Cargue un programa en uno DIP28 lo plante en la protoboard reduciendo el circuito al máximo y funcionaba perfectamente, le empece a añadir el encoder el opamp y seguía funcionando perfectamente, con resistencias PULL-UP mas grandes, más pequeñas (incluso sin ellas :o ahi pa romper todo el transistor
)
Solo y exclusivamente el problema existe al cargar el software en un atmega328p SMD, y no lo etiendo, actualice la "signature" y todo del avrdude como explican en el datasheet los señores de Microchip/Atmel.
Hay algo físico que nada tiene que ver con el sketch que se me esta escapando.....
¿Le ha pasado esto ya a alguien? ¿se os ocurre alguna solución?
Muchas gracias por vuestro tiempo (contesteis o no)
No es la primera placa que desarrollo, así que dí por supuesto que tenía algún problema de diseño, pero no, todo está correcto.
Que resistencias Pull-Up le has puesto al bus I2C.
Sin el código o diagrama de conexionado, es imposible ayudarte, pero tus síntomas ( vamos a adivinar ) es la típica unión de codigos con delay u otras estructuras bloqueantes.
Saludos
#Sereno, he usado de 0(sin pull-up) a 12k y en todos los casos funciona menos en mi placa con el SMD.
#Peterkant no uso delays porque no le cargo el bootloader en mi placa, si fuese problema de software le pasaría en todos los de la familia, UNO,NANO,PROMINI,... pero no es así, en todas las placas arduino funciona perfectamente (que llevan el mismo micro que el que estoy usando) incluso en un mega328 THT que pinche en la protoboard. Tengo que sacar el esquema para colgarlo aqui, pero es que es tan simple que lo he diseñado directamente en PCB, lo cuelgo esta tarde, a ver si tu ves algo que no veo.
Muchas gracias a los dos habeis sido muy rapidos 
Hi,
Si yo lo entiedo correcto el problema es cuando tratas de bajar el programa a la tarjeta que tu disenaste. Cuando bajas el programa tienes errores ? Que clase de tarjeta seleciona cuando tratas de bajar el programa. Trata de selecionar una tarjeta que usa el atmega328p SMD y tarta de bajar el programa.
#tauro0221 Al principio me lanzo el error de la "signature" porque el IDE (y algunas de las placas viejas que uso) tienen la antigua (0x1e 0x95 0x0F), pero eso se lo cambie y no volvio a darme problemas.
He seleccionado todo lo que conozco de la lista que lleven el SMD: nano, mini, pro mini, uno, ... y creo que ya esta ... si que intente con otras así en plan burro a ver que sucedia pero me decia que no claro, que era el micro incorrecto.
Tiene que ser algo obvio de este estilo que no consigo ver por obcecado, como cuando le pides a alguien que lea lo que has redactado porque ni un "ubiera" o "habrir" has visto de tanto que has repasado el texto.
Muchas gracias Tauro (sobre todo porque veo que has hecho el esfuerzo en otro idioma que no es el tuyo), #Peterkant me hizo revisar el soft entero otra vez por las dudas y por ti revisare el proceso por si acaso....en cuanto pille al p... BUG lo voy a fumigar, pisar y le voy a echar los restos a una teleraña el mu ......
un saludo.
Hi,
Yo diseno mis tarjetas y las mando hacer pero yo uso el 328P DIP pues para mi es mas robusto. Ahora la pregunta es si el atmega328p SMD viene ya con el "boot loader" ya instalado.Tienes que tener cuidado pues algunos vienen sin el "boot loader" instalado. Tienes que manualmente instalarselo.
Te repito, sin esquemas ni Skech, solo podemos adivinar.
No es mala onda, pero de este lado es cansador adivinar.
Saludos.