Ydle v0

Demande et retour de test
Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Ydle v0

Messagepar Yaug » 03 Août 2013, 20:13

Yop,

comme promis, j'ai fait un test en utilisant ce qui fut la base de Ydle, dispo sur ce tuto

J'ai mis une antenne à l'arrache (un bout de fil compris entre 15 et 20 cm) sur l'émetteur comme sur le récepteur.
J'ai mis un compteur d'émission sur le node, avec une émission toute les secondes, et un compteur de réception sur le raspberry pi, qui s'incrémentait à chaque fois que les données étaient reçues.

Sur 500 émissions, j'ai un taux de réception de 85% (425 signaux reçus).
C'est pas si dégueux quand on considère qu'il n'y a aucune optimisation.

Ce test à été fait à 1m de distance, dans une même pièce.

Donc, on a un taux pas trop dégueux, sachant qu'on peut optimiser :
- le code
- les antennes

A noter que sans antenne sur l'émetteur, je ne captais quasiment rien.

Yargol
Messages : 162
Inscription : 23 Juillet 2013, 10:28

Re: Ydle v0

Messagepar Yargol » 04 Août 2013, 10:07

Bon, ce matin des envie de vidéo? Donc pour ma première, un test pour montrer les perturbation sur le 433mhz:

http://youtu.be/06o3qGeZ3I0
Ydle, c'est le projet domotique low cost, qui doit plaire à votre femme @Yaug

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Ydle v0

Messagepar Zescientist » 19 Août 2013, 23:40

Petit bilan d'une soirée à faire des tests et a essayé d'optimiser au mieux les positions d'antennes et des modules : c'est pas folichon.

Alors tout d'abord, contrairement à ce que je pensais, vivre à 100m de la première habitation ne veut pas forcément dire aucune réception parasite :
Image

Code : Tout sélectionner

Tronche du signal reçu continuellement, l'écran représente 1/4 de seconde


Tout de suite et à première vue, je comprends mieux pourquoi j'ai pas de bons résultats.

Tout ça est reçu avec une antenne 1/4 d'onde de 17,3cm soudé sur le module de réception, lui-même installé sur une breadboard et alimenté par l'aduino.
Je réalise mes tests à partir du code des nodes V0.1, installés sur 2 arduinos, les paramètres d'émetteur et de récepteurs fixés pour shunter la partie affectation des id. Les codes sont épurés, l'un en émission pure, avec ajout d'un écran LCD qui indique le nombre de trames envoyées et la valeur de température envoyée. L'autre est en réception pure et remonte l'information via le port série dans la console de l'IDE Arduino.


Premiers tests : environ 70% de réception à 1m
Essais d'optimisations :
- Dépose des modules Em et Rec câblés mais non utilisés. Pas de changements notables.
- Test de plusieurs modules en réception comme en émission. Rien de transcendant.
- Installation des modules utilisés sur des câbles à connecteurs mâles sur une extrémité (côté Arduino), et femelle de l'autre (module RF). Gain de 10% environ surement du à moins de résistivité sur le câble d'alim/signal.
- Mise en place des modules dans des mini coffrets de ce genre http://www.conrad.fr/ce/fr/product/522074/Botier-50X38X13-Strapubox-2044
- Installation d'aluminium autour du coffret contenant le module de réception (cage de faraday?!)

Au final, je suis monté à 99% de moyenne en réception.
Sur l’oscilloscope, je pouvais voir une nette amélioration en réception, toujours beaucoup de parasites, mais une réduction par 2 du temps des états hauts reçus.


Par contre, j'ai voulu pousser les tests en reculant le capteur d'émission, et là ça a été la cata, descendu à 25% de réception à environs 3m. Et en revenant à 1m, je n'ai pas réussi à obtenir de nouveau mes 99% de réussite, et me suis limité à 80%.

Enfin, j'ai modifié différents paramètres dans le code, comme les temps de verrous, l'inversion de niveaux d'états... Rien qui n'a amélioré la réception.
Demain je jouerai sur les temps de détection des pulsations comme l'avait conseillé Yaug et essayerai de travailler avec des alims externes. Je ne pense pas que le 5V de l'USB soit le mieux régulés, surtout sur un PC portable à 6% de batterie :mrgreen:
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Ydle v0

Messagepar Yaug » 20 Août 2013, 06:33

Merci pour ces tests !

Ce qu'il faudrait à la fin, c'est mettre en place une batterie de test qu'on puisse tous reproduire ou presque pour tester le résultat dans nos contextes respectifs.

Je suis aussi de plus en plus en train de me dire qu'un oscillo ne serait pas forcément un mauvais investissement...

Mais sinon, oui, jouer sur t permet d'affiner pas mal.
C'est assez flagrant, quand tu te contentes d'afficher "t", de voir qu'il manque à chaque fois une poignée de microsecondes pour capturer quasi 100% des signaux

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Ydle v0

Messagepar Zescientist » 30 Août 2013, 10:40

Bonjour à tous,

Ce matin, une petite série de test, avec modifications de quelques paramètres pour repérer les effets et déterminer la meilleure configuration.
Préambule :
Avec Yaug, on a redécouvert le principe de l'AGC (Auto Gain Control) dont sont équipés nos récepteurs. Celui-ci, ajuste automatiquement sa sensibilité en fonction de ce qu'il reçoit; Dans le cas où il reçoit beaucoup de signal (niveau haut), il baisse sa sensibilité pour ne pas saturer, et au contraire, dans le cas d'un niveau bas, il augmente sa sensibilité pensant "raté" des informations. C'est là qu'intervient le codage Manchester, le but étant d'assurer 50/50 en niveau bas et niveau haut, et de facto, disposer d'une tension moyenne à VMax/2. Ainsi la sensibilité sera réglé à ce niveau, ce qui est au dessus correspondant à un 1 logique, et ce qui est en dessous, correspondant à un 0 logique.
Dans notre cas, comme montré ici, nous avons 29% de niveau haut pour 71% de niveau bas. Soit une sensibilité trop élevé, et donc un risque de parasites (mon cas sur l'oscilloscope plus haut).

Une suite de 32 alternances de bits 1-0 de même période a donc été mise en place sur les dernières révisions du protocole V0.2, afin de préparer l'AGC avant chaque réception de trame.


Donc, pour en revenir aux tests de ce matin, vous trouverez ci-dessous la configuration, les résultats pour les paramètres modifiés, mes explications et une conclusion.
C'est parti !

Configuration :
- Un arduino (Node) en émission, une trame toutes les 500ms
- Un arduino (Master) en réception. Je triche un peu, mais cela permet des modifications rapides (pas de console ssh), de travailler dans les meilleures conditions (temps réel) et ainsi voir ce qui joue vraiment sur la qualité de réception
- Dans antennes 1/4 d'ondes de 17,3cm
- Une portée de 10m, avec 1 cloison (placo) à 5m, une autre(placo) à 6,5m, portes ouvertes, communication presque dans l'axe (décalé de 2m par rapport à l'axe)
- Dans la partie DATA, j'incrémente un compteur à chaque trame émise, pour connaitre le nombre de trames envoyées
- Mesure du nombre total de signaux reçus
- Affichage de DATA pour savoir combien de trames ont été envoyées
- Affichage du nombre de trames valides comparées au nombre de trames envoyées (DATA). Pour cela, à chaque réception, je vérifie que DATA est bien différent de DATA de la trame précédente (car s'il reçoit une mauvaise trame, le récepteur ne peut pas entrer de valeur dans DATA, et donc me renvoie la DATA de la trame précédente, je vérifie donc ce cas)
- A part visuellement, je ne vérifie pas si la valeur DATA est bonne (incrémentée de 1). Cependant, je n'ai vu passer que de bonnes valeurs
- Lors de l'activation des tests, ma proximité avec le matériel d'émission à souvent joué en produisant 1 ou 2 trames ratées, d'où la différence entre le % de réussites sur 100 trames et sur 300 trames

Tests :
Premier test : code non modifié, à 10m (2 cloisons, portes ouvertes)
Signal recu :
Nombre : 95
Envoyees (au moins) : 100
Recues et correctes : 93 / 100 soit (93% de réussite)

Signal recu :
Nombre : 296
Envoyees (au moins) : 300
Recues et correctes : 291 / 300 soit (97% de réussite)


Deuxième test : 1er latch supprimé, à 10m (2 cloisons, portes ouvertes)
Signal recu :
Nombre : 123
Envoyees (au moins) : 100
Recues et correctes : 95 / 100 soit (95% de réussite)

Signal recu :
Nombre : 390
Envoyees (au moins) : 300
Recues et correctes : 295 / 300 soit (98,3% de réussite)


Troisième test : 1er latch réactivé, t du niveau bas pour un 1 = 620microSec au lieu de 1340, à 10m (2 cloisons, portes ouvertes)

Signal recu :
Nombre : 98
Envoyees (au moins) : 100
Recues et correctes : 98 / 100 soit (98% de réussite)

Signal recu :
Nombre : 299
Envoyees (au moins) : 300
Recues et correctes : 297 / 300 soit (99% de réussite)


Quatrième test : 1er latch supprimé, t du niveau bas pour un 1 = 620microSec au lieu de 1340, à 10m (2 cloisons, portes ouvertes)
Signal recu :
Nombre : 117
Envoyees (au moins) : 100
Recues et correctes : 96 / 100 soit (96% de réussite)

Signal recu :
Nombre : 363
Envoyees (au moins) : 300
Recues et correctes : 294 / 300 soit (98% de réussite)


Explications :
- Lors de la suppression du latch1, du à sa spécificité, il y a beaucoup plus de trames reçues (parasites), mais à contrario, un meilleur taux de réussites (sauf dans le 4ème test). Cela est du au fait que les 9,9milliSec au temps bas du latch1 font monter la sensibilité du récepteur en flèche, et il chope donc plus de parasites.
- Comme expliqué dans le préambule, dans le protocole V0.2, la tension moyenne des trames en émission et réception et de 0,29Vmax. En réduisant, lors des 1 logiques, le temps de niveau bas à 620microSec au lieu de 1340, je monte cette tension moyenne à 0,4Vmax, soit un peu plus proche des 0,5Vmax recommandés.
- Je n'explique pas réellement les résultats du quatrième test. La seule chose que j'ai pu remarquer, c'est que le récepteur a raté deux fois 2 trames consécutives. Peut être que le récepteur était resté bloqué sur une trame parasite à ce moment là...


Conclusion :
- Il est important de se rapprocher au maximum d'un vrai code de Manchester, ici, je suis passé de 0,29Vmax à 0,4Vmax, l'objectif étant 0,5Vmax.
- J'ai pu réduire dans le dernier cas la taille d'une trame d'environ 31% par rapport au protocole original, tout en gagnant en taux de réussite (98% au lieu de 97%). On peut donc envisager d'augmenter la taille de la DATA d'un bon ratio (35bits utiles contre 14 actuels) pour la même taille de trame (le même temps d'émission et de réception pour être pointu)
- 99% de réussites à 10m (dans le 3ème cas) est un bon résultat pour un protocole en V0.2, avec plein d'optimisations envisageables au niveau du protocole, de l'alimentation, du blindage de l'électronique, du software, et de la qualité des récepteurs.

Je peux mettre mes sketch de test à disposition si d'autres veulent s'essayer (arduino + puce atmel programmée via l'arduino feront l'affaire)
Dernière édition par Zescientist le 30 Août 2013, 11:14, édité 1 fois.
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Ydle v0

Messagepar Yaug » 30 Août 2013, 10:46

Putain, tu déchires.

çà c'est une suite de test comme je les aime !

bon.. plutôt content du résultat du coup.

Et effectivement, on aura moyen d'optimiser encore avec :
- Des antennes
- Une alimentation externe

ça me plaît bien tout ça.
Tout ce qui reste au dessus de 90% me plaît.

encore merci.
ça nous permettra de tester la stabilité au fur et à mesure des évolutions

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Ydle v0

Messagepar Zescientist » 30 Août 2013, 11:18

Hep, j'ai mis à jour, car j'ai oublié de précisé que je disposais d'antenne 1/4 d'ondes de 17,3cm soudées à même les modules (du coup, j'en oublie que c'est un rajout :mrgreen: )

Il paraitrait qu'une antenne roulée en forme de ressort aurait encore une meilleure capacité de réception... à tester!

Bon, ben si ça te plait, je peux partir en vacances l'esprit tranquille alors :lol:
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Ydle v0

Messagepar Yaug » 30 Août 2013, 11:20

Zescientist a écrit :Il paraitrait qu'une antenne roulée en forme de ressort aurait encore une meilleure capacité de réception... à tester!


C'est le genre d'antenne que je possède.

Zescientist a écrit :Bon, ben si ça te plait, je peux partir en vacances l'esprit tranquille alors :lol:


Idem pour les miennes :D

Zescientist
Messages : 360
Inscription : 23 Juillet 2013, 16:38
Localisation : Arques

Re: Ydle v0

Messagepar Zescientist » 30 Août 2013, 12:10

Nouveaux tests, bien moins sérieux mais pour vérifier la portée :
1er latch supprimé, t du niveau bas pour un 1 = 620microSec au lieu de 1340, à 15m (3 cloisons, portes ouvertes)
Un peu plus de 80% de réussites (j'ai pas noté la valeur)

1er latch supprimé, t du niveau bas pour un 1 = 620microSec au lieu de 1340, à 10m (1 cloison, porte ouverte) + descente d'un étage (plafond placo et plancher en bois aggloméré)
78% de réussite
A savoir que ça représente un peu plus de la moitié de la maison, et donc la moitié de la distance max que je pourrais avoir. Un master placé à cet endroit, pourrait donc dans mon cas recevoir les infos de n'importe quelle node avec "au pire" 78% de taux de réussite avec cette simple variante du protocole actuel

1er latch supprimé, t du niveau bas pour un 1 = 620microSec au lieu de 1340, à 15m (1 cloison, porte ouverte) + descente d'un étage (plafond placo et plancher en bois aggloméré)
Petit problème sur ce test qui était bien parti (31 reçues et correctes pour 36 envoyées) mais qui s'est bloqué (pour finir à 32 reçues et correctes pour 118 envoyées).
Je n'ai pas investigué sur la raison.



Pour finaliser la réflexion, je ne commit pas ses modifications du protocole pour la V0.2. Si l'on intègre ces modifications, je pense qu'il serait plus sage de s'en servir comme base pour la V0.3.
En pièce jointe, les sketchs de test, brochage habituel : émetteur pin10, récepteur pin12. Pas besoin d'initialisation.
Pièces jointes
essais.zip
Sketch de test d'émission
(1.45 Kio) Téléchargé 201 fois
essais_rec.zip
Sketch de test de réception
(755 octets) Téléchargé 204 fois
El'Radioman

Avatar de l’utilisateur
Yaug
Administrateur
Messages : 1466
Inscription : 19 Juillet 2013, 17:09
Localisation : Moselle
Contact :

Re: Ydle v0

Messagepar Yaug » 30 Août 2013, 12:12

Yeap.

On va utiliser ça pour la v0.5 (vu l'avancement, on va sans doute sauter 2 versions :p)

ça me va bien.
ça te fera de quoi avancer pendant mes vacances.

Merci pour ces tests en tout cas.
Je ferais mes tests de la v0.5 pour donner aussi mes résultats, voir selon les milieux urbains (ou non) ce qu'on en sort.


Revenir vers « Tests »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron