Télécommande voiture RC + caméra

dje8269

Senior Member
bonsoir à tous ,

Voiture d'Alexis presque finis ; Il me reste quelques bricole : notamment la siréne que fonctionne pas comme je voudrais . niveau soft c'est tout . Niveau hard je dois "creer" une barriére pour la direction, car elle ne fait que sortir de sa course si on tape surquelques choses ; Je dois aussi augmenter le couple de la voiture car j'ai beaucoup reduis la vitesse ;

photo et vidéo trés prochainement !!

La NG (nouvelle génération avance aussi un peu)
 

dje8269

Senior Member
Après plusieurs recherche je n'arrive pas trouver de solutions .

Cette ligne ne fonctionne pas :

Code:
if V_ordre <> b3+128 then
j'ai essayé les parenthèses . Suis-je obligé de stocker le résultat de b3+128 dans une autre variable ?
 

PieM

Senior Member
Après plusieurs recherche je n'arrive pas trouver de solutions .

Cette ligne ne fonctionne pas :

Code:
if V_ordre <> b3+128 then
j'ai essayé les parenthèses . Suis-je obligé de stocker le résultat de b3+128 dans une autre variable ?
Oui bien sûr ...
 

dje8269

Senior Member
Bonjour ,

Euhhh , je voulais dire dans le sens de la comparaison en fait hein !! .

Je comprends que cette ligne prise comme ca sans le contexte , ne vous dis rien !

Je voudrais en faite faire une comparaison, sur le résultat d'un calcul . suis-je obligé de stocker d'abord le résultat du calcul avant de pouvoir le comparer ?

Je vais testé mon programme biscornu ! si je te le montre tu va hurlé lol
 

dje8269

Senior Member
Voila ca fonctionne bien !!! . certes ce n'est vraiment pas académique, mais assez fonctionnel ; Car , il faut toujours voir a l'usage , a savoir quand on tourne le potar cela doit changer la sonnerie instantanément , sinon le petit se perd les pédales ;
J'avais fais un premier programme qui me sortais des boucles de music ( do loop while) mais seulement a la fin du sonnerie au moment du loop et la sonnerie des pompiers US est longue . et donc ce n'était vraiment pas réactif .

J'ai donc utilisé la méthode du restart pour sortir de la boucle d'une sonnerie , car je ne vois que ça .

PS : il faut multiplié par 8 le code ADCLEVEL envoyé ( lu par le readadc) pour retrouvé l'ensemble du codage .

Code:
#PICAXE 08M2

'#################################################################################
'##########################    Programme Musique    #############################	
'#################################################################################

'########################  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, c'est l'endroit ou est enregistrer la valeur de la broche


 

Symbol B_ordre = C.4
symbol V_ordre = b1

'variable pour la sirene pompierUS b2,b4,b5,b20,b21, w9 ,w10

dirsC = %00011010 'declare les broches C.1, C.3 et C.4 en sortie

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

 pwmout 2,off		'On eteint le son
 
  
'#################################################################################
'##########################    Programme Principal    ############################	
'#################################################################################

do
 
readadc B_ordre,V_ordre		' Lecture de l'action à realiser

if V_ordre <> b3  then		' Verifie si y'as un changement
	b3 = b3+128			' rajoute la valeur du gyro pour l'enlever de la verification si on allume le gyro
	if V_ordre <> b3 then
		b3 = b3 - 256	' Soustrait la valuer du gyor ( 2x128 ) pour verifier si l'on a eteint le gyro
		if V_ordre <> b3 then
			restart 1	' Si y'as eu un changement sans prendre en compte le gyro alors on redemarre la tcahe son
		end if
	end if
end if

b3 = V_ordre

loop

'############################
' les SONs
Start1:

pwmout 2,off				' On eteint le son

do

'##### KLAXON #####
if V_ordre=64 or V_ordre=192 then		' Si appui sur klaxon
						
	do
		pwmout pwmdiv16, 2, 143, 460 	' Le klaxon doit durer tant que la valeur est recu
	loop 						' on boucle tant que le bouton est appuyé
 	
end if	
		 	
'##### Sirene 1 : pompierUS #####

if V_ordre=8 or V_ordre=136 then		' Si la sirene seule(1) ou avec gyro(17) est selectionée
 								
 	b2=205
 	w9=b2*2
 	b4=65
 	
	Do
 	random w10 'w10=(b21,b20)
 	w10=5*b20 +400 'w10 aléatoire de 400 à 1675 mS
 
	do 
	dec b2 'glissement fréquence montée 
	w9=b2*2 'rapp cyclique 50%
	 pwmout pwmdiv16, 2, b2, w9
	 pause 30
	 loop while b2>b4 'b4=65 -->940 Hz
	 
	pause w10
	 
	random w10 'w10=(b21,b20)
	 w10=4*b20 'b20 = 0 à 255 --> w10= 0 à 765
	 b21=b21//4 'b21=0,1,2,3
	 b5=51*b21+100 'b5 aléatoire: 100(620Hz) , 151(410Hz), 202(308Hz), 253(246Hz)
	 
	do
	 inc b2 'glissement fréquence descente
	 w9=b2*2
	 pwmout pwmdiv16, 2, b2, w9
	 pause 50
	 loop while b2<b5 'relance sirène suivant fréquences
	 
	pause w10
	 
	Loop

end if

'#####  Sirene 2 : ambulance   #####

if V_ordre=16 or V_ordre=144 then

	do
		pwmout pwmdiv16, 2, 148, 298		'fréq = 420Hz
		pause 166
		pwmout pwmdiv16, 2, 120, 242		'fréq = 516Hz
		pause 166
		pwmout pwmdiv16, 2, 148, 298		'fréq = 420Hz
		pause 166
		pwmout 2, off
		pause 1500 
		
	loop
	
end if

'#####  Sirene 3 : gendarme   #####

if V_ordre=24 or V_ordre=152 then
 
	do
		pwmout pwmdiv16, 2, 143, 287		'fréq = 435 Hz
		pause 545
		pwmout pwmdiv16, 2, 84, 171		'fréq = 732 Hz
		pause 545
	loop

end if

'#####  Sirene 4 : pompier   #####

if V_ordre=32 or V_ordre=160 then
  
	do
		pwmout pwmdiv16, 2, 143, 287		'fréq = 435 Hz
		pause 1070
		pwmout pwmdiv16, 2, 127, 256		'fréq = 488 Hz
		pause 1070
	loop
	
end if
 
loop

'############################
'Gyrophare
start2:	

do
	
if V_ordre > 127 then	' On allume le gyro quand valeur de l'ordre est supreieur a 15
	inc bit0
	pinB.0 = bit0
	pinb.1 = bit0 - 1
	pause 300
else
	
	low B.0				
	low B.1		
	b0=0
	
end if

loop
 

dje8269

Senior Member
je me perds les pédales dans le reglage moteur !!!! ce PWM c'est comme les mises à l'echelle , je crois y arrivé puis pouf!!! je me perds .

Je desirerais que la voiture est un maximum de couple , sans allez vite , croyez vous que c'est possible ; en gros quelle grimpe partout mais tout doucement ! Si oui qu'elle serais le bon reglages approximatif
 

jojojo

Senior Member
Un max de couple à basse vitesse est assez difficile a obtenir.
C'est toujours un compromis, entre la freq PWM et le moteur qui "le fait le mieux".

Comme tu ne peux pas changer le moteur, ni la transmission (démulti), il va falloir trouver la meilleure fréquence possible, pour le PWM. => De nombreux essais !

Une astuce : Le feed-back. Mais, il te faut un capteur de rotation.
Là, c'est possible. En gros, tu fixes une vitesse choisie, et tu "duty" ton PWM en fonction.
Attention ! Pour que ça fonctionne bien, il te faut un peu de code PID. Il y a beaucoup d'exemples, sur le net.
 

dje8269

Senior Member
hello Georges , merci bien pour ces indications ;

Apres de nombreux test j'ai trouvé un compromis pas trop mal .

Voici une vidéo de la voiture finis !!!

l'autre avance bien !!

[video=dailymotion;x1zg55l]http://www.dailymotion.com/video/x1zg55l_voiture-rc-avec-picaxe-9_tech[/video]

Plein écran
 

dje8269

Senior Member
Bonjour à tous,


AU SECOURS !!!!

Je me tourne vers vous, pour un problème incompréhensible pour moi .

Sur la voiture NG ( nouvelle génération) . je rencontre un problème soudainement !

En effet aucun servo ne répond, sauf la commande du moteur (qui se pilote par une commande servo) .

Je regarde les alimentations de mes servos c'est OK !
Je regarde a l'oscilloscope mes infos servo , c'est Ok toutes les 20ms.

je regarde par un sertxd si mes infos sont les bonnes , elles sont impeccables .

Bref tous les voyants sont au vert ,mais aucun servo ne bouge , je précise qu'ils bougeaient y'a 2 heures, j'ai même fais roulé la voiture ( qui par ailleurs déchire, rien a voir avec le gadget de l'autre , bref).

Je me dis si la commande servo du moteur fonctionne avec le moteur , je vais débrancher la prise du moteur et mettre un servo à la place . Rien ne bouge ??!!???

Bon je me dis que les servos direction pan et tilt , sont morts ( impossible les trois ensemble quand même) . Je les test sur plaque d'essai: ils sont bons !!!

Je sais plus quoi faire .

Je me dis peut être le picaxe . mais pkoi le moteur fonctionne et pas le servo ?!!!!! .

La vraiment ça me dépasse ; Surtout que ca marchais super juste avant , j'ai pas fais de court-circuit ni rien !! je sais pas !!!


Autre précision pendant les test , la formule moteur et servo sont exactement les mêmes . les valeurs varient de 120 à 180 .

Si vous avez une idée je suis preneur .
 

dje8269

Senior Member
Merci Georges tu m'as mis sur la voie . Le dernier composant qu'il me restait a tester c'est la diode ( en serie sur le plus pour diminuer la tension sur les servos quand la batterie est a pleine charge ( 8.2V)) .

Elle est bonne . Mais dans le doute je l'ai changer par une plus "grosse" ( remplacement d'une 1N4148 par une 1N4001) . Et hop ca refonctionne!!! est il possible que la diode me laisse passé de la tension (j'avais mes 7.2V) mais pas de courant ?
 

MGU

Senior Member
Merci Georges tu m'as mis sur la voie . Le dernier composant qu'il me restait a tester c'est la diode ( en serie sur le plus pour diminuer la tension sur les servos quand la batterie est a pleine charge ( 8.2V)) .

Elle est bonne . Mais dans le doute je l'ai changer par une plus "grosse" ( remplacement d'une 1N4148 par une 1N4001) . Et hop ca refonctionne!!! est il possible que la diode me laisse passé de la tension (j'avais mes 7.2V) mais pas de courant ?
Bonjour,
Une 1N4148 est à réserver pour les courants faibles (le max est de 100mA, à vérifier), en aucun cas pour des circuits de puissance, alim etc la 1n4148 esr probablement morte.
On peut très bien avoir 7,2 V à vide (sans courant) et 0 V en charge , tout dépend de la résistance interne des composants traversés par le courant

MM
 

dje8269

Senior Member
Merci Michel pour ces précisisons . Je viens de verifier la DS de la 1N4148 ; courant typical 200mA peak a 450mA . Avec trois servo moteur autant dire que je les dépassait largement les 200mA. La 1N4001 monte jusqu'à 1A . j'espère qu'elle tiendras le choc celle ci . Sinon je reverrai encore a la hausse . car j'ai peur " d'abimer " mes servos avec 8.2V ! . Je me suis fais eu car j'avais mes 7.5V! mais pas de courant . et le moteur lui est alimenter par le régulateur contrairement au servo . Après coup la déduction était évidente .
 

dje8269

Senior Member
Bonsoir à tous ,

Quelques nouvelles de la NG .

Plusieurs changements à prévoir . le plus important coté programmation seras l'activation du mouvement de la caméra par appui sur un bouton ; En effet la voiture va tellement vite qu'il est impossible de bouger la camera pendant qu'on roule ( gare au crash) . De plus le pilotage av/ar et dr/ga avec le même champignon est très ardu . je vais donc consacrer les deux champignos , celui de gauche pour la vitesse ( av/ar) et celui de droite pour la direction . pour bouger la camera il faudra pressé un BP et la bouger avec le champignon de droite .

Il reste quelques petites vibration dans les servos de la camera quand j'allume le VTX . je vais essayé de faire des test en alimentant la camera sur une alim separé du VTX . Même avec les condos de découplage ;

J'ai encore des doutes sur le typon ; je vous les montrerais , si vous pouviez y jeter un &#339;il, afin que je les améliorent ! .

J'ai trouvé une astuce sans faire exprès pour la mise a l'échelle . en fait quand on passe on négatif , le signe moins disparait ( normal il existe pas sur picaxe). Mais avec 250 de delta pour les potar , cela fais 125 de chaque cote du zéro, et cela simplifie grandement la mise a l'échelle .

Voila pour les news du soir .
 

dje8269

Senior Member
J'avais une petite question hard vite fait ! .

Est ce que la résistance de limitation de courant de la led sert aussi de pull down ? Je voudrais mettre simultanément la broche a l'état haut , et allumer une led pour voir l'état de la broche !

Sans titre.jpg
 

PieM

Senior Member
J'avais une petite question hard vite fait ! .

Est ce que la résistance de limitation de courant de la led sert aussi de pull down ? Je voudrais mettre simultanément la broche a l'état haut , et allumer une led pour voir l'état de la broche !

View attachment 16787
1/ quelle est la tension délivrée par la batterie ?
2/ Il faudrait peut être une masse commune !!

sous réserve de 1/ mettre la led puis la R en série reliée à 0V . et relier l'entrée picaxe à la connexion led-R
 

dje8269

Senior Member
bonsoir PieM,

Bon comme d'habitude je n'ai pas donné assez d'info , car je pensais pas que c'était nécessaire. Je suis un peu fouillon des fois . autant pour moi

Voila le schéma au complet , je me demandais si c'était bon ou pas ( dans les règles de l'art disons) de remplacer la R de 10K de pull down par un ensemble led verte , résistance . comme sur le schéma pour les commandes avec inter à glissière ( débutant et allumage vidéo).

Sans titre.jpg
 

PieM

Senior Member
mettre la led puis la R en série reliée à 0V . et relier l'entrée picaxe à la connexion led-R
 

dje8269

Senior Member
Si j'ai bien compris comme ceci ? . y'a t il une raison pour le mettre dans ce sens ? une cht'ite explication pour ma culture personnelle . ca ne gene pas que la R de pulldown soit seulement de 390 ohms ?

En tout cas merci , comme ca quand j'allumerais un inter j'aurais un visu beaucoup plus net . surtout pour l'émetteur vidéo

Sans titre.jpg
 

PieM

Senior Member
y'a t il une raison pour le mettre dans ce sens ?
Ben oui. La led n'est pas un composant passif sur le plan electronique.
De toute façon quand c'est comme ça tu expérimentes, tu mets un voltmètre et tu regardes.
La R de pull down peut être = 0 si tu es certain de ne jamais être configuré en sortie !
 

dje8269

Senior Member
Bonjour à tous,

Je me posais une petite question : pensez vous qu'il serait préférable de passer par des pulsout, plutôt que des commandes servos ? J'ai cru comprendre que c'était moins "bugger", même si j'ai pas comprios pourquoi ?

Bonne journée
 

dje8269

Senior Member
Petit Up à la question du post précedent sur le pulsout et la commande servo ?

Une autre avec le schéma en #781 , est ce normal que quand je passe en émission ( EN actif) ma tension en sortie du régulateur s'écroule à 3.5V ?

DS du régulateur
 
Last edited:

PieM

Senior Member
Pulsout est plus difficile à gérer en raison du timing qui n'est plus en tâche de fond. Va à l'encontre de la réactivité de ton programme.

ma tension en sortie du régulateur s'écroule à 3.5V ?
Ta tension de batterie est insuffisante (déchargée?). Quelle est sa capacité et combien consomme ton TX ?

Si tu veux une sortie à 5V avec un LM7805, il faut que ta batterie fasse au moins 5V + 2V de dropout + 0.6V (diode) soit 7.6V
 

dje8269

Senior Member
Pulsout est plus difficile à gérer en raison du timing qui n'est plus en tâche de fond. Va à l'encontre de la réactivité de ton programme.
Ok , je me posais la questions car comme tout à bien evolué depuis le commencement , le programme du 28X2 ne fais plus grand chose en faite .

La batterie est composée de 2 piles de 2600mAh .

elle ne sont pas déchargée , j'ai environ 7.3V aux bornes . Mais après la diode je perds deja 0.6 V j'attaque l'entrée de mon regulateur avec 6.8V . Apparemment ce n'est pas suffisant ! je me renseigne sur la signification de drop out , car je connais pas ce terme .
Il faudrait que j'adjoigne une troisième pile alors .

Sur la DS du TX , il marque 310ma de conso a 5V . j'avais utilisé un régulateur pour etre précis dans les 5V , car toujours d'après la DS il faut etre plutôt précis 4.9V à 5.1v ( j'ai l'impression en tout cas) si y'as d'autre possibilité , je m'en fierais a vos conseils !!

Je vais essayer de trouver un systeme avec des diodes pour abaisser la tension et une zener de 5V pour eliminer les pics eventuels . qu'en pensez vous ?
 
Last edited:

PieM

Senior Member
j'ai environ 7.3V aux bornes
Tx allumé ?

Le drop out c'est la chute de tension interne au 7805 pour lui permettre d'assurer la régulation.
La diode sert à quoi ?

Je vais essayer de trouver un systeme avec des diodes pour abaisser la tension et une zener de 5V pour eliminer les pics eventuels . qu'en pensez vous ?
Très mauvaise idée !!

Vire ta diode et monte un régulateur low drop: LM2940T-5.0
 
Last edited:

dje8269

Senior Member
j'ai environ 7.3V aux bornes
Tx allumé ?
Non Tx , j'ai seulement pris la tension en sortie du régulateur quand le Tx était allumé ! le 7.3V c'était pour vérifier la tension de mes piles justement

A éviter les inversion de polarité . je me tâte a la viré du coup !

Très mauvaise idée !!
Ah ok ! je cherche pas alors , je pensais mettre 4 diodes en serie par exemple ce qui abaisserais la tension de 2.4V environ soit 7.3 - 2.4 = 4.9V avec une diode zener en // pour eviter les pics de surtensions ; bon ben tant pis !

Je n'ai pas trop de solution d'apres toi ?
 

dje8269

Senior Member
Bonjour,

J'ai effectué quelques tests ce matin, avant de commander un régulateur lowdrop .
J'ai commencé par viré la diode .
je ne comprends pas ; Avec une alim stabilisé réglée sur 7.0V ça fonctionne impeccable ( conso : 0.3A à l'afficheur) . J'ai pris des piles neuves tensions à vide ( 3.65 x2 = 7.3V) . Sans appuyer sur leBP j'ai 7.2V quand j'appui sur le BP cela tombe a 5.8V en entrée du régulateur ..... donc forcement en sortie j'ai de la m....e . Pkoi ca fonctionne bien avec uen alim stab a 7V et pas avec des piles de 7.3V ?

Je vais commander des regulateur LDO mais ca me rallonge encore les delais ..... et j'aurais aimé comprendre .

PS : quabnd j'enleve le TX ca fonctionne bien .
 

PieM

Senior Member
Inutile de changer ton régulateur tout pendant que ton système de piles n'est pas capable de fournir 350 mA sans se mettre à plat !
En plus des piles lithium à plus de 7&#8364; piece! t'as intérêt à jouer au loto ... Ces piles ne sont pas particulièrement conseillées pour des utilisations à fort courant.
 

dje8269

Senior Member
Je vais decidemment de déconvenue en déconvenue !

à fort courant.
350mA fort courant ??? tu y va fort la !! ;) . ces piles devraient comme etre capable de les fournir .

t'as intérêt à jouer au loto
Mais surtout à gagner .

je vais essayer avec 4 piles en // pour voir
 

jojojo

Senior Member
Mets un oscillo sur l'alim. Je soupçonne un pompage.
Si oui, tente un 4700µ en // sur le pack de piles.
 

dje8269

Senior Member
Bonjour Georges ,

Apres tests j'obtiens 6.1V en entrée du regulateur avec un condo de 4700µF branché au plus pres de l'alim ; il y as un leger mieux . Je commande mon regulateur LDO aujourd'ui
 

dje8269

Senior Member
Bonsoir,

D'après le tableau de PieM sur les vitesses ( très utile d'ailleurs), j'ai vu qu'une commande i2C prend environ 1500µs donc 1.5ms . le test est effectué avec 2 bytes si j'ai bien compris .

Je suppose donc que le temps de la commande est fonction de nombre de variable à écrire .
Je dis ca car je pense revoir mon schéma général avec la NG .

Il serait composé d'un 14M2 maitre pour recevoir le RFin et ecrire dans le scratchpad de deux esclaves .
Un 20X2 slave pour les commandes de la voiture(4 servos) en liaison i2c avec le 14M2 master .
Un 14M2 slave pour les commandes qui demande du temps aussi en liaison i2c.

Qu'en pensez vous ?
 
Last edited:

dje8269

Senior Member
Bon je pense que je vous ai lassé a force !

Sinon juste pour dire a PieM que tu avait encore raison ! je viens de trouvé enfin la DS de la pile en question . datasheet

Le courant maximum conseillé est seulement de 50mA , j'en reste bouche-bée . je n'ai pas encore essayé avec le régulateur low drop que tu m'as conseillé ( je les ai recu aujourd'hui) ni avec 4 piles ( 2 en serie et 2 en // ) juste pour voir .

je cherche une autre solution . certainement une batterie li-po . surtout que je me suis acheter une autre télécommande 5&#8364;, car l'autre était trés petite et de très mauvaise facture .

Question hors sujet mais vous allez me voir venir j'en suis sur :

Les capteur gyroscopique ou inertielle, peuvent ils detecter les mouvement de rotation a plat ?
 

PieM

Senior Member
Un 14M2 slave pour les commandes qui demande du temps aussi en liaison i2c.
Un 14M2 ne peut pas être esclave.

Les capteur gyroscopique ou inertielle, peuvent ils detecter les mouvement de rotation a plat ?
ben oui c'est leur boulot. un capteur gyroscopique donne une vitesse de rotation autour de ses axes.
Mais très difficile à utiliser avec un picaxe selon ce que tu veux faire.
 

dje8269

Senior Member
Un 14M2 ne peut pas être esclave.
Ben oui je suis bête seul les X2 le peuvent.bon je cherche alors une nouvelle solution . ou d'autres moyens de communications entre deux .

Mais très difficile à utiliser avec un picaxe selon ce que tu veux faire
Lol , je pensais que tu allait le deviner . Aujourd'hui j'ai conduis la voiture avec des lunettes de ce type : lunette
La personne pourra le re-preter sans soucis, car le prix reste exorbitant. Autant vous dire que la sensation est tout simplement incroyable et très déstabilisant au début .quand on fait tourner la voiture on a la reflex de tourner la tête en même temps .

Le but serait donc de fabriquer ce qu'on appelle un head tracker . Détecter les mouvement de la tête pour faire bouger ma camera !!!! les lunettes serait relié a la télécommande par un fil pour transmettre les infos . au lieu d'utiliser un joystick en appuyant sur un bouton , il suffirais de tourner la tête pour faire tourner la camera ! pense-tu que ce soit réalisable un jour? ( ceci n'est qu'une idée j'ai pas encore finis la voiture ).
 

PieM

Senior Member
Détecter les mouvement de la tête pour faire bouger ma camera
ça c'est facile. le problème est que quand tu tourneras la tête tu ne verras plus l'écran !
Il ne faut pas utiliser un gyroscope pour ça mais un magnétomètre compensé.
 
Top