Arduino Libelium Hilo Shield Problemas

3

Tengo el Módulo Hilo ejecutando bien en modo independiente a través de XP terminal hiper. Puede enviar SMS y llamadas ok. La velocidad en baudios de hilo se establece en 9600.

Estaba leyendo en un foro que la biblioteca en serie del Arduino solo sirve para 9600 baudios. He bajado la tasa a esto, pero no hace ninguna diferencia. La serie del arduino se está ejecutando actualmente en 9600. No puedo hacer que el arduino descargue el código en el escudo libelium. El código se descargará con el escudo eliminado. Pero cuando conecto el escudo y presiono el botón de reinicio, no pasa nada con el módulo de hilo.

Tengo el led en el pin 13 como una señal visual de que el código se ejecuta correctamente y lo es. Al intentar descargar desde el Ardunio obtengo el error general desincronizado. Hay montones de ejemplos de este error en línea pero no hay solución.

Si elimino los enlaces USB Arduino en el escudo de Hilo, puedo hacer que la descarga funcione sin errores de sincronización, pero no se cargará en el Hilo, por supuesto. Puede haber un problema con estos enlaces, no estoy seguro.

Si alguien me puede dar un consejo, estaría muy agradecido. No tengo ningún problema actual de suministro de energía según las notas de libelium. He añadido el condensador y el suministro está bien. Ejecución de la versión 18 del IDE arduino. Usando Duemilanove con 328 chips.

Gracias, Greg

    
pregunta endolith

3 respuestas

1

En la documentación, parece que el escudo Hilo está actuando como un módem en serie. En lugar de "descargar código" en el escudo, deberías usar el Arduino para enviar comandos "AT" a él.

Hay un código de ejemplo aquí .

    
respondido por el Toby Jaffey
0

Tu comentario acerca de que Arduino solo es bueno para 9600 es interesante, y algo que no he escuchado antes. Resulta que para una comunicación UART confiable, necesita una precisión de tiempo de menos de +/- 2%. Si observa la hoja de datos de cualquier AVR con un UART de hardware, tienen tablas en la sección que detalla el Registro de velocidad en baudios de UART (UBBR). Estas tablas le indican, para las opciones de cristal específicas, cuáles son los errores de tiempo para las velocidades en baudios comunes. Es una buena idea elegir un punto de operación en estas tablas con un error de tiempo del 0% si es posible ...

Ahora que sé, el Arduino funciona a 16 MHz y se basa en el ATMEGA168 (manual aquí ). Puede ver que la velocidad del cristal de 16 MHz no es una velocidad "óptima" para la operación UART, y todas las velocidades en baudios "comunes" están dentro de la tolerancia, pero las velocidades del cristal "impar" como 3.6864MHz y 14.7456 son las mejores. Aquí hay un extracto del manual:

  

Hay dos fuentes posibles para el   Error en la velocidad de transmisión de los receptores. los   El reloj del sistema del receptor (XTAL)   Siempre tengo alguna inestabilidad menor.   sobre el rango de tensión de alimentación y la   rango de temperatura. Cuando se utiliza un   cristal para generar el reloj del sistema,   esto rara vez es un problema, pero para una   resonador el reloj del sistema puede diferir   más del 2% dependiendo de la   tolerancia de resonadores. El segundo   La fuente del error es más.   controlable. El generador de velocidad de transmisión.   No siempre se puede hacer una división exacta de   La frecuencia del sistema para obtener el baud   tasa deseada En este caso, una licencia   Valor que da un mínimo aceptable.   se puede usar el error si es posible.

No sé si este es el problema con el que te encuentras, pero es una posibilidad ...

    
respondido por el vicatcu
0

Está bien, tengo dos cosas que veo.

¿Tiene los puentes para elegir entre serie y USB configurados en serie cuando lo conecta al arduino? Configurar los puentes a USB evitará que el arduino pueda comunicarse con el escudo. Probablemente no sea esto, pero vale la pena preguntar.

Segundo, si está obteniendo errores de sincronización cuando intenta programar con el hilo conectado, ¿está intentando programar a través de la misma conexión UART que usará el hilo? No conozco bien el arduino, pero parece que lo es. El intercambio de conexiones no es un problema, a menos que el escudo de hilo se esté comunicando constantemente y corrompa sus datos de comunicación.

    
respondido por el Kortuk

Lea otras preguntas en las etiquetas