Paperduino_232[SOLUCIONADO]

UPDATE:30/05/2011
----------------------------------------------------------------------------------------------------
Para los que esten intersados en añadir conexion RS232 a cualquier Paperduino.
He documentado el proceso de creación del shield en una stripboard en el siguiente link:
Yopero-Tech: Arduino RS232 Shield
100% compatible y funcional con Paperduino.
Saludos,
----------------------------------------------------------------------------------------------------
Estoy intentando añadir Rs232 a un paperduino(Atmega328).
He usado una shield RS232 usada en Cutedigi.comhttp://www.cutedigi.com/pub/Arduino/arduino_RS232.pdf

Mi problema es que no puedo cargar sketches ya que recibo este error:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

El 328 funciona perfectamente en una placa Arduino Uno con USB, es mas he probado con 3 diferentes y puedo cargar sketches sin problemas, pero cuando utilizo el paperduino + RS232 o Uno +RS232 obtengo este error.

Tengo un PC con Windows 7 en el Com10 y la conexión con el puerto de serie es la estándar B=9600 P=n DB=8
He cargado el Atmega con un sketch que envía y recibe datos por el serial port, el caso es que si recibe y envía(probado con el ide de Arduino y realterm), pero a la hora de cargar sketches falla.

También he intentado el truco de darle al reset antes de cargar el sketch y el resultado el mismo.

Gracias por vuestra ayuda.

PD: Acabo de probar en un ordenador con Win Xp y obtengo el mismo error.

Hola yOPERO

¿Cuando lo intentas programar a través del MAX232 tienes algún perférico conectado a TX y RX (además del MAX232 ?
¿Tienes alimentado al Paperduino mientras lo programas?

(Ya sé que son preguntas tontas pero... :cold_sweat: )

Si quieres programarlo a través del puerto serie, OBLIGATORIAMENTE tienes que activar el RESET manualmente.
Un truco es mantener pulsado el botón de RESET al apretar el botón de "Upload" hasta que el IDE de Arduino te indique "Binary Sketch Size:...", entonces lo sueltas.

(lo siento, no se me ocurre nada más. A no ser que haya algún fallo en la realización de la placa! :fearful:)

¿Cuando lo intentas programar a través del MAX232 tienes algún perférico conectado a TX y RX (además del MAX232 ?

Nop, nada conectado
¿Tienes alimentado al Paperduino mientras lo programas?
sip, Alimentado

Ya he probado el truco del reset tambien.

La verdad es que es muy raro. Como dije antes sí se comunica usando el ide de Arduino o el Realterm con un sketch que envia "hello World" cada 1000 y pone el pin 13 High si envio 1 y si envio 0 lo pne Low. Todo perfecto.

Pero no hay manera de cargar sketchs.

Incluso he probado otra configuracion para el Max232 Arduino Breadboard Tutorial -Arduino Workshop Project Video #1 - YouTube.

La gente de Easyduino tiene otro shield RS232 que tambien he probado y tengo el mismo error (Esquematicamente es copicut del paperduino):

La verdad es que me mosquea un poco. Seran los Max232n que tengo?

Teoricamente estos shields tambien funcionan con Arduino Uno pero he probado y mas de lo mismo.

Lo unico que queda descartar es el Arduino 0022.

Hola de nuevo yOPERO.
¿El ATMEGA (con el Sketch grabado) envía y recibe desde el paperduino?, Es decir, ¿el MAX232 funciona correctamente?
Es que he visto que en el video utilizan condensadores de película en vez de electrolíticos, tal y como aconsejan en el datasheet del MAX232, no se si afectará.

Puedes probar el Max232:
¿Si le metes una señal de +12v /-12v en la entrada InRx te da 5/0 en la salida OutRx? y ¿si le metes 0/5v en OutTx te da 7v/-7v en InTx?

NOTA:
*Para programar el chip sólo influyen las patillas TX, RX y RESET, yo me concentraría en comprobar estas patillas *

Como bien dice Inizul solo son necesarios los pines TX - Rx y RESET.

Revisa que no tienes invertidos los pines TX - RX.
Para que te funcione tienes que cablear el pin DTR del puerto serie al reset del arduino, pasandolo por un condensador de 100nf. Si lo has probado revisa la configuración del puerto serie no sea que este cambiado algun valor sobre el envio.
Lo que no me explico es como no te funciona si pulsas manualmente el reset.

Salu2

UPDATE:

Va mejorando el projecto, como dice Iñizul quizas sea aconsejable usar caps polarizados yo por el momento solo tengo de caps de película.

Le cambie los capacitores por unos de otro valor para ver si el error era el mismo, resulto ser que no el error cambiaba a :

avrdude: stk500_getsync(): not in sync: resp=0x80

o

avrdude: stk500_getsync(): not in sync: resp=0x30

Como los caps que tengo son unos como estos:

Decidi ponerlos todos en el mismo sentido es decir que los valores se vean solo desde uno de los frentes pues bien resulta que ahora si que puedo cargar sketches pero Paperduino se queda frito hasta que quito el cable del reset del Atmega.

Por el momento me imagino para solucionarlo puedo poner un jumper en la pcb pero seguro hay soluciones mas elegantes, vere que hago y si teneis alguna sugerencia sera mas que bienvenida.

hola
yo me monte un arduino con un max 232 y me salia ese error
hasta que le puse el pin 2 de rs232 a la patilla 7 del max ,la patilla 4 del rs232 al 8 del max y la patilla 4 del rs232 al 12 del max
las salidas del max, la 9 a el 2 , la 10 al 3 y la 13 al reset
los condensadores son los mismos que los tuyos
y mira la masa del res232 (patilla5) que este haciendo masa tambien es importante

un saludo

@pulgares

Gracias por la respuesta, intentare usar tu configuración y respondere con los resultados.

S2

Para los que esten intersados en añadir conexion RS232 a cualquier Paperduino.

He documentado el proceso de creación del shield en una stripboard en el siguiente link:

100% compatible y funcional con Paperduino.

Saludos,

has probado a meterle el bootloader en una placa paperduino? esque yo hice 2 y no fui capaz de meterle el bootloader nunca ni sikiera con la ayuda del arduino original el chip funciona perfectamente pero de programar el bootloader nanay de la china...(no es una ayuda solo un pregunta, ya se que no tiene nada que ver con tu pregunta)

Yo lo hago usando mi arduino , le cargo el bootloader usando este cable:

una vez cargado el bootloader lo quito del UNO y lo meto en el Paperduino.

ok ok . esq en teoria con el paper duino tb se puede peor yo nunca lo consegui y desisti me lleve muy mala experiencia con comprar atmegas sin bootloader...

Yo el bootloader todavía no lo he intentado meter, por que no he conseguido ninguno virgen.
El paperduino me funciona bien. Ahora lo tengo como lampara de ambiente.

Alex

Lo que yo he entendido del blog the txapuzas es que no se puede cargar el bootloader solo usando un paperduino, puedes hacerlo connectando el atmega a un Arduino o caso contrario cargando el bootloader usando un Arduino.

Ahora viene la pescadilla que se muerde la cola, ¿cómo podemos grabar el bootloader en el micro, si se necesita el bootloader para grabar programas en él?. Tenemos varias soluciones:
Comprar el chip con el bootloader pregrabado
En internet puedes encontrar micros ya preparados (con bootloader), que puedes utilizar directamente (yo he comprado 2 ATMEGA328P en Ebay por 11€ los dos y portes incluidos!).
Comprar el chip virgen y grabar el bootloader con otro arduino
Mira este enlace: Arduino Playground - AvrdudeFTDIBitbang
Comprar el chip virgen y grabar el bootloader con un grabador

Mira este enlace: http://www.arduino.cc/en/Hacking/Bootloader
Comprar el chip virgen y grabar el bootloader con un cable paralelo modificado
Mira este enlace: http://arduino.cc/es/Hacking/ParallelProgrammer
o aquí: http://www.xbot.es/blog/?p=262

yo lo intente de las 3 maneras hasta construii el cable paralelo y anda... por eso deje ese chip por imposible y ahora ya me da miedo comprar chip virgenes xq tengo miedo titrar el dinero otra vez...