Añadir sensor ultrasónico

52 views
Skip to first unread message

Antonio Navarro

unread,
Mar 26, 2019, 8:05:49 PM3/26/19
to escornabot_users
Hola a todos,

Hace unos meses compré un kit del escornabot, con placa singularis v2.12. Lo soldé todo y lo monté sin problemas y con el fimware oficial funciona sin problemas. El caso es que de un kit de arduino tenía por ahí rodando un sensor de distancia (HC-SR04) y me dije, pues vamos a darle uso... Para no tener que soldar y además por no haber demasiado espacio para añadir más conectores, estuve viendo para usar el conector de expansión OLED/I2C (pines SDA/SCL/5v/Gnd). Por lo que he leído los pines SDA/SCL son los analógicos A4 y A5. El caso es que subí un ejemplo, al arduino nano y funcionaba perfectamente, así que me dije, vamos a modificar el firmware y añadirlo como opción. Después de pelearme con el código y des-oxidarme un poco del C, he logrado que funcione, pero solo cuando está conectado por USB, cuando lo desenchufo del USB no funciona, es como si al activar los motores se activase el 'echo' del sensor.

He probado a poner los pines de alimentación en el conector para el blutooth (que tiene también un pin de 5 y otro de gnd) pero el comportamiento es el mismo. Lo que me queda por probar es a no usar los pines SDA/SCL y usar otros, a ver si es ese el problema, pero me fastidia porque estos están muy a mano y, joder, con el USB conectado funciona!! :-D

Os pongo el repo donde estoy subiendo los cambios, por si podéis darle un vistazo a ver si hay algo chungo en las modificaciones:


En fin, seguiré mañana haciendo pruebas (que hoy ya no son horas...), si se os ocurre alguna cosa por probar, soy todo oídos....

Un saludo y gracias,

Antonio Navarro

unread,
Mar 27, 2019, 7:29:00 PM3/27/19
to escornabot_users
Buenas,

No he tenido mucho tiempo, pero he avanzado algo.

Creo que el problema del comportamiento anómalo al usar pilas es por una caída de tensión. Os resumo cómo tengo las conexiones entre el sensor HC-SR04 y la placa y las pruebas que he hecho:

placa  <----> HC-SR04

SDA (A4) <----> Echo
SCL (A5) <----> Trigger
5V            <----> Vcc
GND         <----> GND

He puesto en paralelo un polímetro conectado por un lado al pin A4 (Echo) y por otro a GND. Sin ningún obstáculo parece que Echo pone la señal a 'HIGH' y cuando detecta un objeto a 'LOW'. El problema es la tensión en 'HIGH' no es la misma con pilas que con el USB. Con el USB conectado, mantiene más de 3V, pero con las pilas, cae y creo que por eso está todo el rato como si tuviese un objeto delante.

He hecho las pruebas con 3 sensores HC-SR04, 2 de ellos se comportan igual, la caída de tensión es similar y queda muy baja, el otro parece que la tensión cae un poco menos (hasta 1.9V) y sí que funciona. Conectado por USB la caída no es tanta, se queda mínimo en 3V.

He hecho un vídeo con la prueba: https://youtu.be/slNrilwDqYM

El montaje es muy cutre, pero es que ni tengo conocimientos, ni más material :-D

No sé si realmente esa caída de tensión está bien medida (mi conocimiento de electrónica es muy justito), ni si el montaje en paralelo que he hecho es correcto. El polímetro tampoco es que sea de precisión además cambia de unidades de medida automáticamente (de V a mV...), pero bueno.

A ver si algún experto le cuadra lo que cuento. Me preocupa que de 3 sensores, 2 no me funcionen y sólo uno (encima el que parecía más cutre) sea el que le baja menos la tensión...

Por la pinta, no parece que sea de software, no? Yo que pensaba que sería ahí donde me daría guerra... :-D

Bueno, un saludo y voy a ver si duermo un rato

Un saludo y gracias,

--
Antonio Navarro

rfe...@xtec.cat

unread,
Mar 28, 2019, 7:02:17 AM3/28/19
to escornabot_users
Me resulta curioso este error. Parece claro que hay una caida de tensión excesiva y por eso la lógica no detecta correcamente HIGH o LOW (ya sabrás que hay un margen, o tierra de nadie, en el cual no se puede establecer claramente el 0 o el 1).

Lo primero que haría sería probar pilas nuevas y alcalinas. Lo siguiente que haría sería añadir una pila más, por que supongo que usas 4 AA de 1,5V. Conectar la entrada de corriente a Vin, por que el regulador del Nano y el diodo de protección contra corrientes inversas siempre se comerá algo más 1V. El USB proporciona 5V pero ya se salta el regulador, por que los 5V se suponen regulados (el diodo no se lo salta). Tambien probaría a poner dos LIPOs en serie, para llegar a 7,4 o 8v. Estas baterías consiguen dar un buen amperaje.... no se, prueba estas cosas para ver qué pasa exactamente con la alimentación.


El dimecres, 27 març de 2019 1:05:49 UTC+1, Antonio Navarro va escriure:

Antonio Navarro

unread,
Mar 30, 2019, 8:37:48 AM3/30/19
to escornabot_users
Hola,

Gracias por las sugerencias. Efectivamente uso 4 pilas AA de 1.5V. Las que tenía eran alcalinas y supuestamente nuevas, pero las cambié por otras por si acaso. Mejora algo, pero sigue habiendo una caída de potencia, creo que por estar muy justo de voltaje.

Lo de probar a ponerle otra pila más o otro tipo de baterías... La verdad, no sé si es tan sencillo... La placa que uso, la de XDeSIG-CPUv2.12 tiene los cables de las pilas a un conector marcado con +6V, pero no sé a dónde va y no sé si meterle por ahí más de 6V puede ser buena idea o no... Tengo un par de pilas recargables AA de 3,7V, quizá me la juegue y se las enchufe a ver qué pasa...

Mientras he estado repasando el software y creo ya es funcional. Básicamente ahora lo que hace es detectar cuándo hay un obstáculo y si está avanzando, finalizar el movimiento y pasar al siguiente. Esto permitiría definir un movimiento 'avanza todo lo que puedas' antes de pasar al siguiente movimiento.


Quiero ver si no es muy complicado meterle alguna lógica de resolución de laberintos automática o algo similar.

Si se os ocurre algo más para lo de las baterías, soy todo oídos. :-D

Un saludo,

Rafa Couto

unread,
Mar 30, 2019, 10:39:57 AM3/30/19
to escornabot_users


On Sat, Mar 30, 2019 at 1:37 PM Antonio Navarro <antonio.n...@gmail.com> wrote:
 
Lo de probar a ponerle otra pila más o otro tipo de baterías... La verdad, no sé si es tan sencillo... La placa que uso, la de XDeSIG-CPUv2.12 tiene los cables de las pilas a un conector marcado con +6V, pero no sé a dónde va y no sé si meterle por ahí más de 6V puede ser buena idea o no... Tengo un par de pilas recargables AA de 3,7V, quizá me la juegue y se las enchufe a ver qué pasa...

Ese voltaje irá al regulador de Arduino (sin problema, normalmente 5-15V) y a los motores (se podrán calentar un poquitín más, nada grave, lo digo en base a experiencia de tenerlos a 9V).


--
Rafa Couto
GPG key - http://bit.ly/GPG-D76ABDEC

Antonio Navarro

unread,
Mar 30, 2019, 2:18:19 PM3/30/19
to escornabot_users
Gracias Rafa,

En cuanto tenga un rato pruebo con las pilas de 3.7V a ver qué tal resultado dan. Voy a pasar un MR con los cambios en el firmware para añadir el sensor, a ver qué os parece.

Un saludo,

El sábado, 30 de marzo de 2019, 15:39:57 (UTC+1), Rafa Couto escribió:
Reply all
Reply to author
Forward
0 new messages