Go Down

Topic: Gestion cycle d'un airsoft gun + projet chrony (Read 3 times) previous topic - next topic

Ju-de-tomate

Bonjour,

J'ai découvert le monde fabuleux d'Arduino il y a quelques jours. J'ai déjà fait du c++ en école d'ingénieur et j'avais regardé pour programmer des PIC.

Premier projet :

Je fais de l'airsoft (jeu de tire de bille de plastique inoffensive si on porte des lunettes homologuées) et je voudrais réaliser une commande de réplique avec un Arduino.
Sur les répliques d'airsoft dite AEG (Automatic Electric Gun), la commande est réalisé mécaniquement : la gâchette fait le contact qui alimente la réplique, et c'est mécaniquement que la sécurité empêche ce contact ou que le contact est rompu en fin de cycle quand on tire en semi.
Les répliques d'airsoft AEG consomment pas mal de courant. Elles sont souvent alimentées par des batteries de 9V en Nimh, LIPO, LIFE et sont souvent muni de fusible de 15-20-25 ampère.
La consommation d'un tel courant et surtout nécessaire quand il faut relancer le cycle alors que le ressort est presque en arrière. Ce shéma peut vous aider à comprendre.

Je voudrai réaliser une commande d'AEG a partir d'un circuit Arduino car cela me permettrait de :
- compter le nombre de bille tiré et donc le nombre de bille restante
- effectuer des tires en mod BURST par exemple : 3 tires consécutifs commandé par 1 seul pression sur la gâchette.
- déporter la gâchette.
...etc

Je compte réaliser une réplique complétement c'est a dire que j'ai un peu de place pour loger le circuit de l'Arduino.

Ma question est la suivante : que dois-je utiliser pour le commande de mon moteur ?
- un relais : One Channel 5V Relay Module : http://www.ebay.com/itm/One-Channel-5V-Relay-Module-Arduino-PIC-ARM-DSP-AVR-/120771738406?pt=LH_DefaultDomain_0&hash=item1c1e8e7b26
- un transistor : par exemple  TIP35C  : http://www.ebay.com/itm/2-x-TIP35C-TIP35-SILICON-HIGH-POWER-NPN-TRANSISTOR-/260820154930?pt=LH_DefaultDomain_0&hash=item3cba17ba32

2ième projet :

Pour réaliser un "chrony" : appareil mesurant la vitesse d'une bille.
La partie hard serait réaliser de la sorte : http://france-airsoft.fr/forum/lofiversion/index.php/t111787.html

Ma question : pour la partie soft, est-ce qu'un Arduino peut mesurer la vitesse d'une bille avec une précision de quelques pour cent ?
La temps de parcours serait de l'ordre 1/1000 de secondes (vitesse de 100m/s sur une distance de 0.1m).

J'ai cherché des infos sur ce forum en tapant des mots clés comme "airsoft", "chrony", "chronomètre" mais je n'ai rien trouvé.
Merci d'avance pour vos réponses.

Artouste



Premier projet :
...
La consommation d'un tel courant et surtout nécessaire quand il faut relancer le cycle alors que le ressort est presque en arrière. Ce shéma peut vous aider à comprendre.

Ma question est la suivante : que dois-je utiliser pour le commande de mon moteur ?

pas vu ton schema  :smiley-mr-green:  , mais trouvé celui là sur wikipedia

le moteur ne tourne donc que dans un seul sens, à chaud je mettrais un mosfet N  un peu costaud commandé directement par une sortie de l'arduino.



2ième projet :

Pour réaliser un "chrony" : appareil mesurant la vitesse d'une bille.
La partie hard serait réaliser de la sorte : http://france-airsoft.fr/forum/lofiversion/index.php/t111787.html

Ma question : pour la partie soft, est-ce qu'un Arduino peut mesurer la vitesse d'une bille avec une précision de quelques pour cent ?
La temps de parcours serait de l'ordre 1/1000 de secondes (vitesse de 100m/s sur une distance de 0.1m).

en utilisant les ressources d'interruption et/ou de timer de l'arduino c'est faisable, après il faut voir la restitution des infos.

Ju-de-tomate

Oui oui pour le schéma c'est de celui la que je parlais.

Pour le N mosfet, c'est quelque chose comme ca : 1 pc IRF540N IRF540 "IR" MOSFET N-Channel 33A 100V ?

Qu'est ce que tu appels la restitution des infos ?


Artouste


J'ai trouvé un topic il semblerait que j'ai une partie de mes réponses : http://forums.airsoftmechanics.com/index.php?PHPSESSID=ce365d95f6e0534e08f9c9d66d927590&topic=4007.msg38737#msg38737

bonjour
Je n'ai pas trouvé le PDE
commande moteur par Mosfet N , c'est ce qu'il y a de plus simple/souple
rapidement
je ne trouve pas la partie alim de l'arduino très secure, perso je mettrais un regulateur low-drop et une bonne capa en sortie .

Quote
Qu'est ce que tu appels la restitution des infos ?

acquerir une info (ici la velocité) c'est bien, mais il faut restituer cette info pour l'utiliser.
Tu veux lire l'info dans quelles circonstances ? en utilisation permanente ou juste dans des conditions de test/évolution en  labo ?

Ju-de-tomate

PDE = ? désolé je suis un newbie en Arduino et en électronique (juste quelques cours d'éec en école d'ing).

Pour l'alim de l'arduino je pensais mettre une autre batterie mais si je peux utiliser un régulateur low drop comme tu le dis, ce serai encore mieux. Par contre pour choisir le modèle c'est autre chose...

Artouste


PDE = ? désolé je suis un newbie en Arduino et en électronique (juste quelques cours d'éec en école d'ing).

Pour l'alim de l'arduino je pensais mettre une autre batterie mais si je peux utiliser un régulateur low drop comme tu le dis, ce serai encore mieux. Par contre pour choisir le modèle c'est autre chose...

PDE = le code source de l'arduino, lisible et "modifiable"
pour le reste ...
si tu a une formation d'ingé
alors privilégier l'approche du domaine,  step by step

ou version
one step beyond (j'étais lors de la sortie un jeune ingé frais démoulé  8)
http://www.youtube.com/watch?v=N-uyWAe0NhQ

Ju-de-tomate

Le code source je pense que je devrais arriver à le réaliser. J'ai plus de mal avec la partie hard. C'est ce qu'il me manque pour avancer dans le projet n°1. Sur le topic que j'ai évoqué précédement, il propose un schéma mais je ne sais pas s'il est correcte.

Pour le projet n°2, je veux afficher les infos sur un LCD à chaque fois qu'un mesure est faite (obturation devant le capteur 1 puis devant le 2).
Pour ce qui est des interruptions je n'en ai encore jamais utiliser, faut que je me documente.

B@tto

Faisant de l'airsoft je connait la problématique ^^

Projet 1 : pour le comptage tu vas galerer ... c'est pas pour rien que le burst est apparu il y a seulement quelques mois (et n'a eu aucun succès ...). Ces sytèmes utilisent une roue codeuse IR. Sinon les MOSFET airsoft existent, regarde sur france airsoft il y a de schéma qui trainent.

Projet 2 : la vitesse d'échantillonnage à pleine résolution est de 7 khz, soit une période 140 µs. Mais en abaissant la resolution (10 bits completement inutile ici !) on peut bien accelerer les choses. Avec une bascule aussi tu pourrait mesurer la période intermédiaire et donc réduire l'erreur.

Ju-de-tomate

#9
Sep 15, 2011, 01:16 pm Last Edit: Sep 15, 2011, 01:50 pm by Ju-de-tomate Reason: 1
Oh, un autre airosfteur !

Projet 1 : je pensais utiliser une entrée analogique de l'arduino pour avoir une image de l'intensité consommé par le moteur et donc en déduire le nombre de cycle. Sinon prendre de l'information de fin de cycle par un switch dans la gearbox sur le cutoff lever.


Projet 2 : la vitesse d'échantillonnage à pleine résolution est de 7 khz, soit une période 140 µs. Mais en abaissant la resolution (10 bits completement inutile ici !) on peut bien accelerer les choses. Avec une bascule aussi tu pourrait mesurer la période intermédiaire et donc réduire l'erreur.

Je n'ai aucune idée de comment faire ca !

Ju-de-tomate

Pour utiliser les interruptions, je dois utiliser une entrée analogique avec un code de ce style :
void setup() {
  attachInterrupt(0, detect, CHANGE);
}

void detect() {
  return analogRead(pin) < seuil_detection
}

Ou alors faire en sorte qu'électroniquement une entrée digitale soit mise à 5V quand ma tension est inférieure à mon seuil de détection ?

J'imagine que la 2ième solution est plus rapide que la première !?

korneo

Salut amis airsofteurs,
sinon pour ton projet 1, tu peut acheter un mosfet spéciale AEG:
j'ai ça sur un de mes joujous et ça marche nickel.
En plus ça protège ton moteur ainsi que la mécanique. Grâce à ça, l'intensité qui passe par le contact de la gachette est très faible, et tu pourrait relier la gachette à l'arduino.
Et pour effectuer un tir, laisse passer le courant pendant un temps donner.

ps: en plus avec certains de ces mosfets, tu peut tirer en burst ;)

Ju-de-tomate

Oui oui je connais bien les mosfet Airsoft d'ailleurs je suis en discussion avec Terry de extreme-fire qui les conçoit.

Personne a un avis pour mon histoire d'interruption ? c'est pas clair ?

B@tto

Avec les interruptions ça ne devrait pas poser de problème, sauf si le signal n'est pas assez fort, à ce moment la il faudra l'amplifier.

Ju-de-tomate

Pas de souci pour le faire comme ca alors ?
void setup() {
  attachInterrupt(0, detect, CHANGE);
}

void detect() {
  return analogRead(pin) < seuil_detection
}

Go Up