Capteur à ultra-son SFR005 et suiveur de ligne.

paita

New Member
Bonjour à tous,

J'utilise un capteur à ultra-son SFR005 et un capteur suiveur de ligne commercialisé par A4. Le tout est branché sur une carte CHI0035 (High-Power 18). Cela équipe un châssis que mes élèves doivent modifier.

Quand les 2 capteurs sont utilisés en même temps, le véhicule a un comportement erratique.

Il y a-t-il une incompatibilité connue entre ces 3 éléments (les 2 capteurs et cette carte) ?

Merci.
 

jojojo

Senior Member
Quand les 2 capteurs sont utilisés en même temps, le véhicule a un comportement erratique.
A 99%, un problème d'alim.
Un (gros ?) électrochimique devrait arranger les choses... Sauf si c'est un problème de code. Comme on ne l'a pas ...
 

paita

New Member
Merci jojojo,

Voici le programme en Basic issue de Logicator :

Code:
let dirsB = %11111111


main:
		pause 3000	'Wait command
label_32:	pulsout C.7, 2	'Start of Ultra command.
		pulsin C.7, 1, w6
		pause 10
		w6 = w6 * 10 / 58
		let varA = b12
		if b13 = 0 then label_u32
		let varA = 255	'End of Ultra command.
label_u32:
		if varA > 8 then label_9	'Compare command
		low 4
		low 5
		low 6
		low 7
		goto label_32

label_9:
		low 4
		high 5
		low 6
		high 7
label_8:
		if pinC.1 = 0 then label_10	'Decision command
		low 4
		high 5
		low 6
		high 7
label_19:
		if pinC.0 = 0 then label_20	'Decision command
		goto label_32

label_20:
		low 4
		low 5
		low 6
		high 7
		goto label_19

label_10:
		low 4
		high 5
		low 6
		low 7
		goto label_8


#no_data	'reduce download time


[code]
 

paita

New Member
Et voici le diagramme réalisé sous Logicator


J'ai conscience que le véhicule ne peut pas détecter un obstacle quand il négocie un virage serré, mais j'ai voulu
simplifier le programme au maximum.

prog.jpg
 

paita

New Member
Et j'ai donc essayé de réaliser une filtration de mon alimentation. (Un bloc de 3 piles rechargeables AA, donc une tension d'environ 3,6 V).

Les essais :

Un condensateur 100 microFarad en parallèle : pas d'amélioration

Un condensateur 400 microFarad en parallèle : une amélioration sensible, mais ce n'est pas satisfaisant

Deux condensateurs 400 microFarad en parallèle : le résultat est moins bon

Je n'ai pas les connaissances pour faire un filtrage correct. Comment dois-je faire ?

Merci à tous.
 

jojojo

Senior Member
Quand les 2 capteurs sont utilisés en même temps, le véhicule a un comportement erratique.
On suppose que tu es sûr de ça ?

J'ai du mal a analyser le code.
Je trouve toujours que le mien est "à l'arrache", mais, franchement, celui issu Logicator est bien pire ...
Si l'on suppose qu'il est correct (?), on reste dans un problème de hard:
-Filtrage (déjà vérifié, semble-t-il).
-Connectique
-Vérification reset aléatoire du pic (ajouter une ligne de commande EN TÊTE de programme, pour commander une led (vérif ...)).
 

paita

New Member
Bonjour

Jojojo, j'ai l'impression que le système fonctionne mal avec les 2 capteurs car quand j'utilise le suiveur de ligne seul, le véhicule peut tourner des heures sur la maquette de centre-ville
sans jamais quitter son trajet ; fiable à 100%.

De même quand j'utilise le capteur US seul, avec un véhicule qui avance tout droit ; arrêt devant l'obstacle sans erreur.

La programmation par Logicator est dans un souci d'autonomie des élèves ; je suis conscient que ce n'est pas optimisé. On va probablement utiliser plus moderne cette année (Scratch)

Je vais mettre une diode de contrôle de reset en début de semaine.

Merci des conseils.
 

paita

New Member
Bonjour,

Voici le bilan de mes essais de la semaine :

Pour éliminer l'hypothèse d'un câblage défectueux, j'ai fabriqué 2 autres châssis identiques ; hélas même comportement avec des arrêts aléatoires.
Donc j'écarte l'idée d'un mauvais câblage.

Ensuite j'ai mis une diode rouge avec une commande en tête de programme. Une très bonne astuce. Mais je suis perplexe car alimenté avec 3 piles rechargeables
le picaxe ne reboote pas ; par contre avec 4 piles rechargeables (donc près de 5V), les arrêts aléatoires continuent mais le picaxe reboote...


J'ai essayé différents filtrages (100micro, 200 micro, 470 micro, 940micro,...) pas d'amélioration sensible.

Il reste à explorer une double alimentation pour éviter l'influence des moteurs sur les cartes électroniques ; je voulais éviter de le faire pour avoir un système le
plus simple et léger possible, mais tant pis.

Ensuite j’essaierai des moteurs moins gros ou de meilleur qualité.

A moins que je puisse améliorer le filtrage de l'ensemble, mais comment faire ?

Merci à tous.
 

jojojo

Senior Member
Bon, on sait donc qu'il reboote...

Je conseille:
-Un 4700µ sur l'alim
-deux VK200 en séries avec chaque borne alim moteurs, ET 4 capa's de 1µ à la masse (avant et après les VK). Tout ça câblé "au cul" des moteurs.
-une diode rapide en parallèle sur l'alim (dans le sens non conducteur bien-sûr, c'est pour éliminer les pics de tensions négatives, souvent générés par des moteur cc) .

Si ça continue malgré tout, il te faudra, soit prendre des moteurs de meilleure qualité, soit séparer les alim's.

Filtrage.jpg
 
Last edited:

Technoman

Senior Member
J'ai connu un problème semblable.

Du fait d'une alimentation commune moteur (commandé en PWM)/microcontroleur, des baisses de tension très courtes provoquaient le reset du microcontroleur (brownout reset).

La solution a été d'alimenter la partie microcontroleur en mettant une diode schottky (faible seuil) en série et un condensateur, à la manière d'un redressement mono alternance.
 

PieM

Senior Member
Bonsoir,
Merci d'envoyer une photo de votre câblage.

Avant toute chose, si vous n'avez qu'une alim sur la carte CHI35a, la première chose à ne pas faire est ce qui est indiqué sur la doc!
A partir du moment où le L293D commande des moteurs, il faut que son alimentation se fasse bien par PWR.
Mais ne pas alimenter le Picaxe par ces mêmes câbles! C'est à dire câbler les bornes PIC par une autre paire de câbles venant directement de l'accu et supprimer le strap comme si il y avait deux tensions d'alimentation.
La méthode indiquée sur la doc fait transiter toute l'intensité et les parasites liée aux actionneurs sur les pistes d'alim du picaxe.

Autre chose: si c'est bien un SRF05 et non un HY SRF05, il faut savoir qu'il est équipé d'un double AOP dont la tension mini de fonctionnement est de 4.75V.
Donc si ça fonctionne avec 3 accus de 1.2V ça tient de l’équilibrisme, et du miracle ...
 

paita

New Member
Bonjour

J'ai commencé une nouvelle série d'essai en commençant par le plus simple : j'ai câblé en parallèle à partir d'une seule alimentation les bornes PIC et PWR de la carte,
comme conseillé par PIEM.


J'ai testé avec 4 accu (4,8 V) et 3 accu (3,6 V) et miracle.... ca a l'air de fonctionner !

Il n'y a plus d'arrêts injustifiés.

Je vais faire la modif sur les 4 autres véhicules et tester longtemps pour confirmer.

Merci
 

paita

New Member
Bonjour, après avoir fabriqué un robot piloté par Arduino et équipé d'un capteur ultra-son à l'avant, je suis retombé sur le même comportement : des arrêt inopiné en pleine ligne droite, alors que bien évidemment, le robot ne doit s’arrêter que si il y a un obstacle.

Et j'ai enfin compris ce qui était peut-être une des explications au problème d'il y a 6 ans ! (lire ci-dessus)

Le capteur détecte en théorie un obstacle entre 0 et 400 cm et envoi l'information. Or j'ai remarqué que si il y a un vide très grand devant le capteur, il envoi parfois la valeur "0 cm" et ce de manière aléatoire. Evidemment, le robot croit que l'on touche un mur et s'arrête.

Une solution qui fonctionne est logicielle : on dit au robot " si il y a un obstacle entre 5 et 40 cm, on s'arrête" et dans ce cas fonctionnement est correct. Si on dit " si il y a un obstacle à moins de 40 cm, on s'arrête", le comportement est erratique.

Voila j'y ai passé des heures et n'ai jamais vu personne mentionner ce problème dans aucun forum.
 
Last edited:
Top