Aller au contenu


Contenu de Newbies

Il y a 485 élément(s) pour Newbies (recherche limitée depuis 23-juin 13)



#69586 algo pour lidar 32 points de mesures

Posté par Newbies sur 01 mai 2016 - 12:05 dans Programmation

La communication se fais en texte via un socket en C. J'envois mes commandes sur la sortie standards (on bosse sur un environnement UNIX) et j'ai un retour en texte aussi sur l'entrée standards (que je dois parser pour récup les informations de contrôle).

 

De ce que je me rappelle de la logique floue c'est un système de prise de décision basés sur des probabilités. Ca donnerais un truc comme ca dans mon cas SI capteur_droit SUPERIEUR A capteur_gauche ET QUE capteur_avant INFERIEUR A un_seuil ALORS on se trouve surement dans un virage vers la droite. C'est ca ?

 

J'ai regardé aussi le réseau de neurone, ça à l'aire cool, mais de ce que j'ai compris, pour que ca marche, il faut naviguer plusieurs fois dans le circuit pour l'analyser et on aura le droit qu'à un essais le jour de la présentation (sur un circuit inconnu qui plus est) :/

 

Je ne passe pas par matlab, tout se fais via le socket :/

 

Je suis en première années à Epitech, et cette école est justement connu pour ne pas guider les étudiants pour les pousser à chercher par eux même ;)




#69594 algo pour lidar 32 points de mesures

Posté par Newbies sur 01 mai 2016 - 03:49 dans Programmation

Black Templar, j'ai lu tes articles sur le sujet et ça a effectivement l'aire de correspondre à ce dont j'ai besoin, je vais donc partir la dessus  ;)

 

Dans un premier temps, je vais essayer de centrer le robot sur la piste en utilisant la logique floue (je le faisais jusqu'à maintenant en utilisant une simple règle de proportionnalité).

 

Je vais donc utilisé les capteurs droite et gauche (comme dans l'exemple du robot de ton article) pour contrôler l'orientation des roues avant.

 

J'aurais donc pour chaque capteur deux variables linguistique distance_petite et distance_grande et pour l'orientation des roues une variables linguistique "orientation" (Cette valeur me donnera la valeur de l'orientation, il me suffira de déterminer si elle doit être positive ou négative en fonction du sens)

 

Les variables linguistiques aurait ces fonctions d'appartenance :

 

Présentation sans titre (3).png

 

Et les règles serait les suivantes:

 

SI distance_gauche = grande ET distance_droite = petite ALORS orientation = grande

SI distance_gauche = petite ET distance_droite = grande ALORS orientation = grande

SI distance_gauche = petite ET distance_droite = petite ALORS orientation = moyenne

 

Cela te semble correct ? Si non qu'est ce qui ne va pas ?

 

Autres questions: Quel est l’intérêt de mettre plus de variables linguistiques pour un problème sachant que le résultat sera toujours un pourcentage ? Comment est ce qu'on "code", les fonctions d'appartenance des variables linguistiques ?

 

Merci pour tout en tout cas les gars ;)

 




#69673 algo pour lidar 32 points de mesures

Posté par Newbies sur 03 mai 2016 - 01:51 dans Programmation

Non :)

Avec ça, tu te compliques la vie pour rien et en plus, tu auras une entrée diff qui n'est pas évident à interpréter... Que fais-tu si tu as des obstacles à gauche et à droite et devant ?

De plus ton indice sera le même si, imaginons, les obstacles à droite et à gauches sont respectivement à 1 et 2 cm de toi ou à 1 et 2 m !

 

A prioris, le cas de figure ou il y a des obstacles devant à droit et à gauche ne se produira pas dans le circuit donné (du moins je l'espère ahah)

Et oui, l'indice est le même pour des obstacle à différente distance, c'est justement l’intérêt. C'est justement pour résoudre le problème dont je parlais dans un post précédent : 

 

J'ai trouvé la source de mon problème majeur, en fait quand la voiture est dans un virage serré, l'avant de la voiture et parfois très proche du mur.

De ce fait, les mesures droite et gauche sont à ce moment la toute les deux très petite ce qui pose un problème.

 

En effet, la règle numéro deux dit que si une mesure est plus grande que l'autre, alors on tourne les roues dans le sens de la plus grande mesure, mais si les deux mesures sont (bien que différentes) petite, alors la règle numéro 3 qui dit que si les deux mesures sont petites alors on centre les roue est vraie aussi et il y a donc un conflit entre les deux règles.

Le résultat de ce conflit est une orientation des roues pas assez forte qui provoque la collision de la voiture.

 

Pour solutionner ce problème, je pense que je vais essayer en prenant en compte la différence entre les mesures droite et gauches plutôt que les mesures elles mêmes. De cette manière, j'évite le conflit de règles. 

 

Qu'en pensez vous ? ;)

 

Et pour que la voiture ne tourne pas pareil quand les obstacles sont respectivement à 1cm et 2cm et 1m et 2m, il suffit d'include la distance_avant dans la règle. Ainsi, si il détecte un indice -0.5 a 70cm d'un mur, le tournant sera moins sérré que si il détecte un même indice à 10cm du mur.

 

De plus, le fait d'utiliser juste un indice au lieu des deux distances va simplifier les règles non ?

 

 

 

Pour un indice de 0.3, tu as une appartenance à 15% petit, 50% grand et 50% moyen.

Pour tout x, essaye que la somme de tes trois variables linguistiques fasse 100% ;)

Tout à la fin de cet article, tu as un exemple de ce qu'il se passe lorsque la somme des fonctions n'est pas égale à 1.

 

Comment tu a calculer ca ? (parce que juste par lecture graphique, il n'y a que 0 qui peut avoir 50% moyen)

Aah, je croyais que ce n'étais pas obligatoire, c'est peut être ca qui fous le bordel alors ;)




#58396 Alimentation commune 12V 15A

Posté par Newbies sur 17 novembre 2013 - 10:55 dans Electronique

Okok donc seuls mes relais doivent pouvoirs supporter le courant ?



#58352 Alimentation commune 12V 15A

Posté par Newbies sur 15 novembre 2013 - 08:38 dans Electronique

12V



#58347 Alimentation commune 12V 15A

Posté par Newbies sur 14 novembre 2013 - 11:22 dans Electronique

Salut tout le monde, j'ai un petit problème.

J'ai fais un montage a base de relais contrôlé par un transistor ( TIP120 ) lui même contrôlé par un ATTiny84.

Voici le schema de mon montage : schema new.JPG

La question est : Sachant que j'ai une alimentation commune 12V pour tout le montage ( dont je convertit une partit en 5V pour l'µC ) et sachant que mon moteur consomme 15 A max, est ce qu'en mettant une alim 12V 15A, tout va cramé ( car transistor 5A max ) ou est ce que chaque composant va " tirer " sur l'alimentation le courant qu'il lui faut ?



#57903 Alimentation de mon moteur

Posté par Newbies sur 23 septembre 2013 - 05:58 dans Energie

Oui c'est ça, après tu peut même prendre moins ( D'amperes ) sur ton alim. Tout dépend de ce que tu va en faire. :)



#59395 Baisser le son de la télé lors des pubs...

Posté par Newbies sur 17 janvier 2014 - 06:22 dans Bric-à-brac

http://www.instructables.com/id/TV-Volume-Loudness-Guard-using-Arduino/

Aprés je suis pas sur de l'efficacité de ce système.



#53769 Bonjour

Posté par Newbies sur 27 février 2013 - 12:07 dans Et si vous vous présentiez?

Juste pour savoir, tes en region parisienne ? et si oui dans quel lycée ? Parce je cherche un lycée qui propose l'option S SI et je trouve pas X)



#40925 Bras asservis en position avec moteur à courant continu

Posté par Newbies sur 17 avril 2012 - 10:54 dans Bras robots, pinces, tourelles, et autres manipulateurs

Je suis comme toi je galere avec le numerique mais pour des robot autonome ta pas le choix. Sinon si tu veut juste le telecommander tu branche le recepteur de ta voiture RC aux deux moteurs de ton chassis et voila :) C'est comme sa que jai fais le mien



#79046 Capteur HC-SR04 et raspberry

Posté par Newbies sur 09 février 2017 - 11:21 dans Electronique

Salut les makers,

 

Je bosse encore sur mon projet de drone autonome et j'ai (encore) un problème. Cette fois ci c'est les capteurs. En effet, j'essai depuis hier de faire fonctionner des capteurs à ultrasons HC-SR04 avec ma raspberry mais pas moyen.

 

Ce qu'il se passe est assez étrange. Quand le capteur n'est pas branché à la raspberry, les GPIOs changent bien d'état quand le programme leur demande, mais quand le capteur est branché, les GPIOs restent à 1 et ne changent pas.

 

Autre chose bizzare (quoi que peut être normal), quand le capteur est alimenté en 5v, je mesure une tension de 5v continue sur les pins ECHO et TRIG (peut être lié au fait que je ne puisse pas changer l'état des pins quand il est branché à la raspi).

 

 

Le tuto préconisais d'utiliser un diviseur de tension pour protéger les GPIO de la raspi (5v -> 3.3v) avec une résistance de 1K et une de 2K. Je n'avais pas ces résistances sous la mains et ai donc du utiliser à la place une résistance de 22K et une de 44K, ça devrais fonctionner pareil non ?

 

Le code (python) utilisé pour mes tests: 

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)

TRIG = 23 
ECHO = 24

print "Distance Measurement In Progress"

GPIO.setup(TRIG,GPIO.OUT)
GPIO.setup(ECHO,GPIO.IN)

GPIO.output(TRIG, False)
print "Waiting For Sensor To Settle"
time.sleep(2)

GPIO.output(TRIG, True)
time.sleep(0.00001)
GPIO.output(TRIG, False)

while GPIO.input(ECHO)==0:
  pulse_start = time.time()

while GPIO.input(ECHO)==1:
  pulse_end = time.time()

pulse_duration = pulse_end - pulse_start

distance = pulse_duration * 17150

distance = round(distance, 2)

print "Distance:",distance,"cm"

GPIO.cleanup()

Des idées ?




#79692 Capteur HC-SR04 et raspberry

Posté par Newbies sur 27 février 2017 - 09:04 dans Electronique

Bon, j'ai essayé un autre capteur et j'ai refait le code en c++ par la même occasion et ca marche ! (le problème devais donc être hardware) ;)

 

Par contre j'ai remarqué que de temps en temps, le capteur sors une donnée totalement fausse ce qui peut être (très) gênant pour un drone qui repose sur ces données. Une idée d'algo pour lisser tout ca ? (pour l'instant f'ai fais le basique "prend 5 mesure, enlève le min et le max et fais la moyenne du reste" mais ca n'a pas l'air de suffire :/)




#79054 Capteur HC-SR04 et raspberry

Posté par Newbies sur 10 février 2017 - 11:25 dans Electronique

Oui, les pins de la raspberry sont les bons.

Je viens d'essayer avec un autre HC-SR04 ce matin, j'ai eu exactement le même comportement :/




#79068 Capteur HC-SR04 et raspberry

Posté par Newbies sur 10 février 2017 - 09:42 dans Electronique

Je viens de jeter un oeil au schéma du circuit du HC-SR04, les pins TRIG et ECHO sont effectivement connectées au VCC via une résistance. Les tensions que je mesurait sur ces pins semblent donc normale.

Sinon, je viens de refaire quelques tests et les GPIOS de ma raspberry fonctionnent parfaitement, je ne comprend vraiment pas ce qui merde :/

 

Le schéma en question :

https://www.google.f...T7s9APwqwUBO0M:




#79669 Capteur HC-SR04 et raspberry

Posté par Newbies sur 27 février 2017 - 03:17 dans Electronique

Salut Olivier17,

 

J'ai essayé avec le code que tu a posté, le resultat est le même, les valeurs sont aléatoires :/

Et oui le capteur est bien face à un mur rigide ;)




#79666 Capteur HC-SR04 et raspberry

Posté par Newbies sur 27 février 2017 - 02:01 dans Electronique

Salut les gars,

 

J'ai finalement décidé d'acheter des nouveaux capteurs pour voir si le problème venait pas de la et il y a effectivement eu du changement. En effet, j'ai branché un des nouveau capteurs avec la même configuration que l'ancien et cette fois des mesures arrivent à l'écran.

 

Le seul problème c'est que ces mesures n'ont aucun sens et apparaissent comme totalement aléatoire. J'ai donc regardé un peut plus en détail en affichant les variables dans le code et il semble que le problème viennent directement de la source, c'est à dire la durée de la pulsation qui est pas bonne, je ne comprend vraiment pas ce qu'il ce passe :/

 

Pourtant, encore une fois tout est bien branché et j'ai tout triple check :/

 

Des idées ?

 

mon code :

File Edit Options Buffers Tools Python Help                                              
import RPi.GPIO as GPIO                    #Import GPIO library                          
import time                                #Import time library                          
GPIO.setmode(GPIO.BCM)                     #Set GPIO pin numbering                       
                                                                                         
TRIG = 23                                  #Associate pin 23 to TRIG                     
ECHO = 24                                  #Associate pin 24 to ECHO                     
                                                                                         
print "Distance measurement in progress"                                                 
                                                                                         
GPIO.setup(TRIG,GPIO.OUT)                  #Set pin as GPIO out                          
GPIO.setup(ECHO,GPIO.IN)                   #Set pin as GPIO in                           
                                                                                         
while True:                                                                              
                                                                                         
    GPIO.output(TRIG, False)                 #Set TRIG as LOW                            
    print "Waitng For Sensor To Settle"                                                  
    time.sleep(2)                            #Delay of 2 seconds                         
                                                                                         
    GPIO.output(TRIG, True)                  #Set TRIG as HIGH                           
    time.sleep(0.00001)                      #Delay of 0.00001 seconds                   
    GPIO.output(TRIG, False)                 #Set TRIG as LOW                            
                                                                                         
    while GPIO.input(ECHO)==0:               #Check whether the ECHO is LOW              
        pulse_start = time.time()              #Saves the last known time of LOW pulse   
                                                                                         
    while GPIO.input(ECHO)==1:               #Check whether the ECHO is HIGH             
        pulse_end = time.time()                #Saves the last known time of HIGH pulse  
                                                                                         
    pulse_duration = pulse_end - pulse_start #Get pulse duration to a variable           
    print "pulse duration: ", pulse_duration                                             
                                                                                         
    distance = pulse_duration * 17150        #Multiply pulse duration by 17150 to get di\
stance                                                                                   
    distance = round(distance, 2)            #Round to two decimal points                
                                                                                         
    if distance > 2 and distance < 400:      #Check whether the distance is within range
        print "Distance:",distance - 0.5,"cm"  #Print distance with 0.5 cm calibration   
    else:                                                                                
        print "Out Of Range"                   #display out of range  

L'output de ce dernier avec le capteur immobile à 30 cm d'un mur:

pi@raspberrypi:~ $ python sensor.py 
Distance measurement in progress
Waitng For Sensor To Settle
pulse duration:  0.0130839347839
Distance: 223.89 cm
Waitng For Sensor To Settle
pulse duration:  0.0101339817047
Distance: 173.3 cm
Waitng For Sensor To Settle
pulse duration:  0.0245370864868
Out Of Range
Waitng For Sensor To Settle
pulse duration:  0.00531911849976
Distance: 90.72 cm
Waitng For Sensor To Settle
pulse duration:  0.0117380619049
Distance: 200.81 cm
Waitng For Sensor To Settle
pulse duration:  0.00693798065186
Distance: 118.49 cm
Waitng For Sensor To Settle
pulse duration:  0.0242590904236
Out Of Range
Waitng For Sensor To Settle
pulse duration:  0.0104739665985
Distance: 179.13 cm
Waitng For Sensor To Settle
pulse duration:  0.0102732181549
Distance: 175.69 cm




#57857 Carte de contrôle multitache

Posté par Newbies sur 19 septembre 2013 - 09:48 dans Electronique

Salut tout le monde,

J'ai un peut avanacé dans mon projet de poubelle compactrice et je doit donc m'ateler a la tache de la creation de la carte de controle.

La carte devra géré plusieurs points : le circuit de puissance du moteur, le circuit de commande du moteur et eventuellement une comande permettant a la porte de s'ouvrir automatiquement.

Pour le cicuit de puissance du moteur, le moteur sera un moteur de 24V a 90V et de environ 50W.

Pour le circuit de commande du moteur, un bouton ordonnera au verin de faire un cycle ( descend au maximum qu'il peut et remonte se ranger ). Il faudrat donc prevoir la un moyen de savoir quand le moteur ne peut plus tourner car plus assez de force et a ce moment la, le faire remontez.

Pour la commande de la porte, j'ai pensez a un capteur US et un petit moteur.

Le trucs c'est que j'aimerais éventuellement commercialiser cette poubelle. Je ne peut donc pas utiliser une arduino pour chacune ( trop cher ). Peut on utiliser utiliser des petites puces programable pas cher ou est t on obliger de tout faire en analogique ?

Sinon, pas de probleme de batterie car sur secteur et la carte ne doit depasser 24x9 cm et 15 cm de hauteur.

Merci d'avance ;)



#57866 Carte de contrôle multitache

Posté par Newbies sur 20 septembre 2013 - 01:08 dans Electronique

Et comptes-tu éventuellement rétribuer tout ceux qui t'on aidé sur ce projet au travers des divers fils que tu as lancé? Parce que si c'est le cas, je veux bien te faire les plans ;)/>


Je vais dejas commencer par essayer moi meme mais si je vois que c'est pas de mon niveaux alors pourquoi pas oui :D/> C'est plutot pour le systeme mecanique que je m'inquiete car mon piston " a ciseaux " n'est pas assez puissant.

Dans ton projet le plus cher n'est pas l'électronique mais la mécanique.


D'accord, pour la mecanique, il faut juste faire faire le systeme de piston et ensuite acheter le moteur ( 30 E ).

Si tu veux commercialiser le produit, il y a sans doute des normes de sécurité CE à prendre en compte dans le développement (risque d'écrasement des doigts avec un piston, etc ...)


Déjas commencer par ne permettre au piston de se mettre en marche que quand la porte est fermé. Et bien sur ne pas pouvoir ouvrir la porte quand il est en marche :D/> Aprés a moins que le gars rentre entièrement dans la poubelle, pas de risques pour ses petits doigt ;)/>

PS : Personne n'a repondu au sondage ?



#57999 Carte de contrôle multitache

Posté par Newbies sur 03 octobre 2013 - 09:39 dans Electronique

J'ai un peut avancer de mon coté et j'en suis arrivé a la conclusion qu'il fallait mieux utiliser des relais pour mon circuit. J'ai donc fais un shema avec des relais 24V http://www.songle.com/pdf/20085271539341001.pdf et des transistors pour les contrôlés ( Des TIP120 )

Voila le shema : SCAN0003.JPG



#57879 Carte de contrôle multitache

Posté par Newbies sur 22 septembre 2013 - 09:11 dans Electronique

J'ai commencé a concevoir ma carte mais un probleme se pose, meme un des plus gros pont en H ( L6203 ) ne peut fournir une puissance de sortit de 20W max or mon moteur sera de 40W a 60W voir même plus !

Sinon pour le microprocesseur, j'ai choisit d'utiliser un atmega 168 tout seul ( préalablement programmé ) comme ici http://www.instructables.com/id/GOduino-II-Arduino-L293D-Variable-Speed-Motor-/

Sinon, y'a t'il possibilité d'utiliser juste des relays pour contrôler le moteur en tout ou rien ?

Merci :)/>

PS: J'ai trouvé ca mais peut t on le controler avec une arduino ?



#58064 Carte de contrôle multitache

Posté par Newbies sur 09 octobre 2013 - 04:50 dans Electronique

Voila, j'ai fais le schema de ma carte sur EAGLE ( il ne contient pas l'ACS715 car je ne le trouve pas )

Le voici : Sema carte.png

Et j'ai aussi commencé la carte : Design carte.png

Le schema vous parait t il bon ?

Je vais essayer de faire le dernier composants pour finir le schema/carte.

Merci



#57871 Carte de contrôle multitache

Posté par Newbies sur 20 septembre 2013 - 05:30 dans Electronique

Ce n'ai pas un cric hydraulique mais un cric classique ( vis sans fin ) qui est juste entrainer par un moteur.

J'ai choisi une courroie pour la transmission.

Image(s) jointe(s)

  • DSC_0422.JPG
  • DSC_0425.JPG



#57873 Carte de contrôle multitache

Posté par Newbies sur 20 septembre 2013 - 09:13 dans Electronique

Je viens de commencer a la partit controle du moteur. Mais je n'ai aucune idée de la consomation de mon moteur ( 24V 40W ). J'ai donc utiliser une formule qui dit qu'avec 24V et 40W on obtient 1,6A ce qui me parait trés faible pour un moteur de la sorte. Une idée ?

Lien du moteur : http://leisonmotor.en.made-in-china.com/product/seymTqbdwKpN/China-40-Watt-Electric-DC-Motor-with-Gearbox-Z4D40-.html



#57868 Carte de contrôle multitache

Posté par Newbies sur 20 septembre 2013 - 02:48 dans Electronique

Tu dit que le systeme a ciseaux a un rapport de 1/1, cela veut dire qu'il n y a pas de reduction et que la force correspond exactement a la force du moteur ? parce que sinon le moteur auquel j'ai pensez ne suffira pas http://www.alibaba.com/product-gs/491637364/dc_gear_motor.html. Mais cela me semble bizzard car un cric eletrique de voiture avec un syteme a ciseaux a une force de 2T de poussé avec un relativement petit moteur/reducteur. http://french.alibaba.com/product-gs/electric-car-jack-auto-car-jack-remote-car-jack-360993759.html

Sinon pour la tranmition, j'ai pensé a une courroie.



Pour la trappe, ben ça dépend du poids de ta compacteuse.(je prévoie mini du 50kg pour l'instant)


Qu'entend tu par "la trappe" ?



#57885 Carte de contrôle multitache

Posté par Newbies sur 22 septembre 2013 - 04:50 dans Electronique

J'ai entendu parler des resistances de shunt qui me permettrais de savoir si mon moteur force trop et le faire revenir. Quelqu'un connait ces machins la ? Et comment les relier a mon microprocesseur ?

Sinon on ma dit que des simples L298N pouvait suffire car deux fois deux Amps = 4 amps ( apparement suffisant ). Du coup je pense utiliser ca en plus sa me permet de mieusx pouvoir controler le moteur ( pour d'eventuels upgrades )

On ma aussi dit que je pouvais utiliser un ATtiny85 ( moins chere ) mais je crains qu'il n'y ai pas assez de broches de sortit/entré pour tout.

Merci tout le monde :)