Télécommande voiture RC + caméra

dje8269

Senior Member
@Georges :

Tu as raison : en Tor ca fonctionne parfaitement . je m'explique .
Ma Led clignote rapidement sans aucun temps mort . la perfection quoi !!!!!!
Quoi que je fasse ca fonctionne impec , que je touche l'antenne avec les doigts, que je bouge la télécommande dans tous les sens , et a à tous les coups ; PARFAIT
Avec ce programme :

Code:
'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do


if B_Inter = 1 then

		high B_EN
		
	else
		Low B_EN
	
end if


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
Je rajoute un mouvement de variable , j'incrémente seulement b0 .
Code:
'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do

inc b0

if B_Inter = 1 then

		high B_EN
		
	else
		Low B_EN
	
end if


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
Et ben je remarque une tout petite pause de temps en temps .

que je mets .
Code:
random w0
random w1
random w2
ca fonctionne a peu pres bien , quelques toutes petites pauses , un poil plus visibles qu'avec l'incrementation du dessus

Par contre quand je rajoute
Code:
random w0
random w1
random w2
[COLOR="#FF0000"]random w3[/COLOR]
La y'as des enormes pauses . c'est quand même bizarre ce truc
 

dje8269

Senior Member
Perso quand je lis que "l'émetteur est au tas", je n'ai pas trop envie d'aller plus loin.
Autant pour moi , mais il est vrai que c'est dur à expliquer , i lfaut me comprendre aussi je galére depuis longtemps la dessus , sans parvenir au moindre progrés malgrés mes nombreux typons et effort dans tous les domaines . ca frustre.

Donc en clair, dans ce que tu viens d'observer, il y a des pauses à la réception ?
Oui le Rfin est bloqué a la reception ( la led reste allumée fixe)

Voici le programme de reception si ca peut vous aider :

Code:
#PICAXE 14M2

'#################################################################################
'##########################    Programme Recepteur    ############################	
'#################################################################################

'########################  Configuration  ########################

dirC.0=0				'declare C.0 en entrée DATA

inputtype %0000000100000000 	'met la broche C.0 en  mode TDS


'########################  Initialisation  ########################

setfreq m4

hi2csetup i2cmaster, %10100000, i2cfast_4, i2cbyte 	' met le 14M2 en mode maitre


'####################################################################################################
'					Programme Principal
'####################################################################################################
do

high B.1		'allume la led

RFin C.0,b0,b1,b2,b3,b4,b5,b6,b7		' Enregistre les données du RX

low B.1		'eteins la led
pause 100

loop
que se passe t-il pendant ces pauses ?
A la reception le Rfin est bloqué je sais pas trop quoi te dire d'autre . j'ai fais au plus simple , je ne peux observer que cela .

les datas continuent à être envoyées au TX par le picaxe ?
Oui normalement , car la communication reviens , c'est donc qu'il y as des envois ;

Où est placé ton récepteur ? à quelle distance du TX ?
Pour les petits test je suis proche , je l'avoue mais aprés je m'éloigne pour mieux tester genre deux ou trois metres .

readadc n'y est pour rien. Je persiste à penser que c'est le fait d'envoyer autre chose que des 0 au mauvais moment, c'est à dire quand le récepteur se règle sur la source
Oui je penche de plus en plus sur quelques chose comme ca .

Dans ce cas tu n'envoie que des 0
Ok j'essaie ca
 

dje8269

Senior Member
Dans ce cas tu n'envoie que des 0
test fait , ca fonctionne parfaitement , aucune pause . c'est parfait !

Code:
'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################
b0 =0
b1 = 0
b2 =0
b3 = 0
b4 =0
b5 = 0
b6 =0
b7 = 0
do



if B_Inter = 1 then

		high B_EN
		
	else
		Low B_EN
	
end if


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
Il y as quelques chose qui m'échappe . qu'on n'envoie que des 0 ou des 255 ou des 65 bref , pourquoi ça ne fonctionne pas pareil . Si j'envoie que des 0 , il n'y as aucun bug , c'est bien que la transmission se passe correctement , donc pas de parasites non ? et quand j'envoie des variables aléatoirement ca bug !
 

GM39

Senior Member
Oui mais ce n'est pas ce que je te disais. En TOR il n'y a que des 0 qui sont envoyés donc ça marche.

Je reviens sur la solution avec le temps de latence. Tu avais bien corrigé le programme comme je t'avais dis en #892 ? c'est à dire la remise à 0 de b8 qui manquait car dans ce cas le temps de latence n'était respecté qu'une seule fois au début.
 

dje8269

Senior Member
Tu avais bien corrigé le programme comme je t'avais dis en #892 ?
Normalement Oui ! , mais laisse moi trois minutes je fais le test . pour etre certains, je vous mets le programme aussi , pour vérification .
 

dje8269

Senior Member
Voila test effectué , afin de ne pas être embêter avec ces readadc , et pour les laisser débranchés, j'ai utilisé la fonction random . qui m'affecte mes variables, comme le ferais un readadc .

Résultats non concluant même avec la pause de respectée . les symptômes sont les mêmes , ils se produits des pauses ( dans le clignotement de la led) de plus ou moins longues periodes, et aléatoirement .

Code:
#PICAXE 20M2

'#################################################################################
'########################    Programme Emetteur V4.0   ###########################	
'#################################################################################

'##########################    configuration    ################################	
' B_ pour Broche, c'est le nom ou est branché le composant
' E_ pour Etat, c'est la valeur de la broche
' V_ pour variable, ou est enregistrée l'Etat de la broche

'b0 à b7 pour les infos envoyés



symbol B_BP		= PinB.5
symbol B_EN 	= B.6
symbol B_DONNEE 	= B.7
symbol B_Inter	= PinC.1

dirsB = %11000000	'declare B.7 et B.6 en sortie


'##########################    Initialisation    ################################	

setfreq m32

Low B_EN

'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do
random w0
random w1
random w2
random w3

 
if B_Inter = 1 then
	if b8 = 0 then 	' si c'est la premiere que la B_est activé on marque une pause de 80ms apres l'avoir allumé
		high B_EN
		pause 640	' pause de 80ms donc 640 à 32Mhz
		b8=1
	else 
	
	High B_EN		' Si il etati deja allumé on marque pas de pause
	
	end if
else
	Low B_EN
	b8 = 0
end if

'#####  Test Emission  #####


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
 

GM39

Senior Member
En majorant un peu la pose ça change quelque chose (d'après la doc c'est 85ms) ?

Les pauses apparaissent quand tu maintien appuyé ou quand tu appuies de nouveau ?
 

dje8269

Senior Member
En majorant un peu la pose ça change quelque chose (d'après la doc c'est 85ms) ?
Je test ca tout de suite , je mets 100ms pour etre tranquille .

Les pauses apparaissent quand tu maintien appuyé ou quand tu appuies de nouveau ?
J'active le TX avec un inter a levier, il reste donc en émission( j'en avais un peu marre de laisser mon doigt appuyé lol) . les pauses apparaissent tout le temps de l'émission . et a chaque activation du Tx.

S'il re-faut une vidéo ne pas hésitez , je suis prêt a tout pour de l'aide !!!
 

PieM

Senior Member
les datas continuent à être envoyées au TX par le picaxe ?
Oui normalement , car la communication reviens , c'est donc qu'il y as des envois ;
"oui normalement" n'est pas une réponse. si je demande ça c'est qu'il faut s'en assurer. l'idéal étant d'avoir un chronogramme de se qui se passe sur la ligne data.
si ton picaxe fait un reset, tu ne vois rien du tout.

Merci de faire un programme TX en laissant en permanence le TX sous tension. Eliminer tout ce qui n'est pas la transmission.
laisse ton picaxe à 4MHz
et mets une pause de 200 ms entre chaque envoi.
essaie avec tes random.

@GM39 le rfout/rfin du picaxe émule le NKM2401. Donc la transmission se fait avec un caractère de préambule, un caractère de synchro, les 8 bytes, et le CRC, le tout codé Manchester.
pour moi, il n'y a aucune raison que des 0 passent mieux qu'autre chose... (je dirais presque même le contraire; )
 

GM39

Senior Member
@GM39 le rfout/rfin du picaxe émule le NKM2401. Donc la transmission se fait avec un caractère de préambule, un caractère de synchro, les 8 bytes, et le CRC, le tout codé Manchester.
pour moi, il n'y a aucune raison que des 0 passent mieux qu'autre chose... (je dirais presque même le contraire; )
C'était juste un constat, puisque le test en TOR fonctionne et correspond à l'envoi de 0.
 

dje8269

Senior Member
Un dernier essai avec que des 1, c'est à dire b0 à b7 à 255 ?
Test effectué:
J'ai mis toutes les variables à 255 , et ça fonctionne parfaitement . aucune pause !

"oui normalement" n'est pas une réponse
Je l'as sentais venir celle-ci .

l'idéal étant d'avoir un chronogramme de se qui se passe sur la ligne data.
Oui mais il me faudrait un analyseur logique , que je n'ai toujours pas acheté ! . Je suis preneur pour une autre solution ? si autre solution il y as !

si ton picaxe fait un reset, tu ne vois rien du tout.
Il y as peu j'avais fais un test , je peux encore le refaire si tu veux ; a l'initialisation du µC , avant le programme principale je fais allumé une led pendant une seconde . Je n'avais eu aucun reset . Je vais refaire le test !

Merci de faire un programme TX en laissant en permanence le TX sous tension. Eliminer tout ce qui n'est pas la transmission.
laisse ton picaxe à 4MHz
et mets une pause de 200 ms entre chaque envoi.
essaie avec tes random.
C'est parti , j'en profite pour faire une ligne pour voir si le µC reset .
 

dje8269

Senior Member
Et voila !

Les resultats sont pas bon du tout . le clignotement devrais etre moins rapide avec 200ms de pause a chaque envoi mais la , c'est la cata , elle clignote tres lentement genre toutes les deux secondes , un petit clignotement .

voici le programme j'utilise la broche EN pourfaireclignoter la led au demarrage , afin de voir si le µC Reset . aucun Reset
j'ai mis la freq a 4Mhz
J'ai fais des randoms
pause de 200ms
Et envoie par RF .

Voici le programme

Code:
#PICAXE 20M2

'#################################################################################
'########################    Programme Emetteur V4.0   ###########################	
'#################################################################################

'##########################    configuration    ################################	
' B_ pour Broche, c'est le nom ou est branché le composant
' E_ pour Etat, c'est la valeur de la broche
' V_ pour variable, ou est enregistrée l'Etat de la broche

'b0 à b7 pour les infos envoyés



symbol B_BP		= PinB.5
symbol B_EN 	= B.6
symbol B_DONNEE 	= B.7
symbol B_Inter	= PinC.1

dirsB = %11000000	'declare B.7 et B.6 en sortie


'##########################    Initialisation    ################################	

setfreq m4

for b8 = 0 to 2		'clignotement trois fois de la led ENable
high B_EN
pause 100
low B_En
pause 100
next

'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

high B_En	' Activation du TX en permanence

do
 
random W0
random W1
random W2
random W3

pause 200

rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
 

jojojo

Senior Member
Bon.

J'ai un peu la flemme de relire le DS du Radiometrix. Mais, regarde donc un peu, si il n'est pas protégé (SWR trop grand, ou assimilé...).
Tes "pauses" sont peut-être le résultat d'un passage en sécu du TX. Ca expliquerait tout.
Suis pas sûr du tout, non plus, qu'il soit fait pour des durées d'émission "permanentes"...
 

dje8269

Senior Member
C'est le récepteur qui n'aime pas la mixité
Qu'entends tu par mixité ?

Même sans les randoms la réception est mauvaise , et le comportement aléatoire .

avec les variables "forcées" à 0 aussi . ca fonctionne mal .
 

dje8269

Senior Member
Mais, regarde donc un peu, si il n'est pas protégé (SWR trop grand, ou assimilé...).
Je vais la relire . Mais bon comme c'est en anglais , chaud les marrons . je devrais comprendre s'il parle de pause ou de sécurité . Mais je l'ai lus une paire de fois , ca ne me dis rien .

Suis pas sûr du tout, non plus, qu'il soit fait pour des durées d'émission "permanentes"...
En même temps pour le moment je n'excède pas une minute lol . Sur l'autre télécommande je n'avais pas eu ce genre de soucis .

y'aurait pas un truc lié a la vitesse avec les bauds u ntruc du genre , trop d'info tue l'info ;

Il parle de :
Data bit rate: 16kbps max.
Je ne sais pas trop a quoi ca coresspond ? peut etre que je suis au dessus et que ca le fais planter ou je sais pas quoi !
 

jojojo

Senior Member
si ton picaxe fait un reset, tu ne vois rien du tout.
Oui, Piem, ça, c'est une piste interressante.

Un chti bout de code, en amont du DO, avec un truc avertisseur, genre led, pourrait lever le doute ...
Edit: Oups, avais pas vu que ça avait été fait.
 

dje8269

Senior Member
Fais le même test sans TX/RX, avec une liaison filaire entre rfout et rfin.
???? C'est à dire ? une liaison filaire ? comment réalisé cette liaison ? comme le i2C ?
Un chti bout de code, en amont du DO, avec un truc avertisseur, genre led, pourrait lever le doute ...
C'est fait ! Pas de reset a l'horizon

Et, si ça merdouille plus, là, grave ... Le TX.
J'ai déjà changé le TX , je serais extrêmement content si ce n'était "que" ca !
 

jojojo

Senior Member
Ben, simple, tu oublies RX etTX, tu remplaces par un bout de fil, et tu n'oublies pas de connecter les masses.
 

dje8269

Senior Member
Ben, simple, tu oublies RX etTX, tu remplaces par un bout de fil, et tu n'oublies pas de connecter les masses.
Lol pas simple pour moi .

Je branche un fil entre la broche de mon Picaxe RFout et la broche de mon picaxe RFin . donc entre C.7 cote Tx et C.0 cote RX , en mettant les masses en commun ; je fais ca ! je peux laissé branché les TX/RX pendant cette manouevre ?
 

dje8269

Senior Member
Bon voila test effectué, même si il n'est pas concluant, il oriente vachement je pense ; Car même en filaire ca déconne, si ça se trouve ce n'est donc pas la liaison RF . mais qu'est ce que c'est !!!

J' ai donc rélié simplement les broches des PICAXE rfin et RFout entre elles et j'ai mis la masse en commun . pas de résistance de pull down ou autre , juste deux fils .J'ai débranché l'alimentation de l'émetteur quand même ; mais pas celle du récepteur ( plus compliqué) mais si il faut je le fais . mais je pense pas que ca gene .

voir la photo :

P1020982.JPG

le programme :

Code:
#PICAXE 20M2

'#################################################################################
'########################    Programme Emetteur V4.0   ###########################	
'#################################################################################

'##########################    configuration    ################################	
' B_ pour Broche, c'est le nom ou est branché le composant
' E_ pour Etat, c'est la valeur de la broche
' V_ pour variable, ou est enregistrée l'Etat de la broche

'b0 à b7 pour les infos envoyés



symbol B_BP		= PinB.5
symbol B_EN 	= B.6
symbol B_DONNEE 	= B.7
symbol B_Inter	= PinC.1

dirsB = %11000000	'declare B.7 et B.6 en sortie


'##########################    Initialisation    ################################	

setfreq m4

for b8 = 0 to 2		'test de reset
high B_EN
pause 100
low B_EN
pause 100
next

'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do

random w0
random w1
random w2
random w3

if B_Inter = 1 then

		high B_EN
		
	else
		Low B_EN
	
end if


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
 

dje8269

Senior Member
le mélange de 0 et de 1
Ok , mais ils sont fait pour ça normalement non ?

j'ai donc relue attentivement la DS

Ici j' ai pas tout compris . Il parle d'un brouillage avec l'antenne .

Note: Where the specified antennas are mounted on the PCB and/or in close proximity to metalwork (module casing,
components, PCB tracking etc), the antenna radiation pattern may be seriously affected. Radiated power may be
significantly increased in some directions (sometimes by as much as 10dB) and correspondingly reduced in others. This
may adversely affect system performance where good all-round coverage is desired.
Care should also be taken to ensure that this effect does not increase the radiated power in any direction beyond that
allowed by type approval regulations. Where this occurs the antenna may need to be relocated. In extreme cases a
resistive attenuator of appropriate value may be required between the module and antenna.
Je n'ai rien trouvé concernant des limitations ou des sécurités sur l'émetteur .
 
Last edited:

dje8269

Senior Member
des idées de tests à effectuer en filaire pour vérifier la liaison ?

Je vais déjà mettre le 14M2 de réception sur plaque d'essai , afin de faire ne sorte qu'il ne soit plus en contact avec le récepteur . Ça me sera plus facile de le mettre sur plaque d'essai que de dessoudé le RX .
 

PieM

Senior Member
débranché l'alimentation de l'émetteur quand même ; mais pas celle du récepteur ( plus compliqué) mais si il faut je le fais . mais je pense pas que ca gene .
ben si ça gene! Si ton récepteur est actif, il reçoit des parasites!
tu coupes les pistes data sur l'emetteur et sur le recepteur.
tu relies rfout et rfin avec une résistance de 1k et un fil blindé lié aux masses.

Pourquoi avoir remis le prog avec if B_Inter = 1 then...

Merci de ne faire qu'une chose à la fois quand on fait des tests!!!

Je vais déjà mettre le 14M2 de réception sur plaque d'essai , afin de faire ne sorte qu'il ne soit plus en contact avec le récepteur
Exactement ce qu'il ne faut pas faire ! Il faut laisser les éléments dans leur situation d'origine.
 

dje8269

Senior Member
Bonjour PieM,

Alors je reprends tout . Et je fais tout comme tu as dis ;

sauf pour le fil blindé que je ne possède pas à la maison

Allez hop au boulot ! laisse moi une bonne dizaine de minutes .
 

dje8269

Senior Member
Voila c'est fait !

Donc pour etre precis . j'ai enlevé le µC je "tordu les pattes Rfin et RFout, pour ne pas qu'elle rentre dans le support CI et ainsi m'eviter de couper les pistes . Dessu j'ai directement soudé un fil entre elles .

J'ai mis une R de 1K sur la broche Rfout de l'emetteur d'un coté et à la masse de l'autre .

j'ai aussi tiré une masse commune entre les deux circuits ;
Tout est a sa place do'rigine ;

J'ai aussi changé le programme par celui ci ;

Code:
#PICAXE 20M2

'#################################################################################
'########################    Programme Emetteur V4.0   ###########################	
'#################################################################################

'##########################    configuration    ################################	
' B_ pour Broche, c'est le nom ou est branché le composant
' E_ pour Etat, c'est la valeur de la broche
' V_ pour variable, ou est enregistrée l'Etat de la broche

'b0 à b7 pour les infos envoyés



symbol B_BP		= PinB.5
symbol B_EN 	= B.6
symbol B_DONNEE 	= B.7
symbol B_Inter	= PinC.1

dirsB = %11000000	'declare B.7 et B.6 en sortie


'##########################    Initialisation    ################################	

setfreq m4

for b8 = 0 to 2		'test de reset
high B_EN
pause 100
low B_EN
pause 100
next

'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do

random w0
random w1
random w2
random w3


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

loop
Le resultat est le même . la led fais des petites pauses au lieu de clignoter au rythme de RFin c'est a dire tres rapidement ;
 
Last edited:

dje8269

Senior Member
Code:
'##########################    Initialisation    ################################	

setfreq m4

for b8 = 0 to 2		'test de reset
high B_EN
pause 100
low B_EN
pause 100
next

'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do

random w0
random w1
random w2
random w3


rfout B_DONNEE,(b0,b1,b2,b3,b4,b5,b6,b7) 	'envoi des données par RF

pause 1000

loop
J'aurais tendance à dire que le clignotement de la led est stable toutes les secondes environ . Mais difficile a dire car le clignotement est lent .
 

PieM

Senior Member
J'ai mis une R de 1K sur la broche Rfout de l'emetteur d'un coté et à la masse de l'autre .
:confused: à la masse de l'autre ?!!!
j'ai dit "tu relies rfout et rfin avec une résistance de 1k "
 

dje8269

Senior Member
Oups . la R c'est en serie ? entre les deux alors ? moi j'ai mis une pull down .

Je change ca tout de suite
 

dje8269

Senior Member
Voila c'est fait ; la liaison RFout et Rfin est faite avec une resistance de 1K en serie.

Le resultat est le même . un clignotement stable . toutes les secondes ( a vue d'oeil hein !)

Afin de me rendre mieux compte j'ai diminuer progressivement la duree de la pause . jusqu'a 100ms . le clignotement est parfait jusque la . Quand je supprime la pause, ca redeconne .

Je vais voir a partir de quelle pause ca redeconne en diminuant encore

Hum .... test tres concluant je pense ; en dessous de pause 5 ca fonctionne mal ; avec pause 5 ou plus ca fonctionne impecabble .

Dois hje en déduire qu'il faut une pause apres le Rfout ? Tout viendrais de la ?
 
Last edited:

PieM

Senior Member
pour essayer, remplace tes rfout/rfin par des serout serin (sans préambule) avec et sans PAUSE sur TX
 
Top