Arduino Mode Semi Avec Cutoff, Alimenté Par Powerbank? |
Bienvenue invité ( Connexion | Inscription )
Arduino Mode Semi Avec Cutoff, Alimenté Par Powerbank? |
08/03/2019, 20:36
Message
#1
|
|
Membre Groupe : Membres Messages : 5 Inscrit : 05/09/2017 Membre n° 120,644 |
Bonjour à tous et à toutes
Je suis l'heureux propriétaire d'un F2000 G&G, j'adore le bullpup, mais j'ai été pas mal déçu par la tringlerie et le chariot. Évidemment j'aurais pu acheter une carte JeffTron ou ASCU et fin de la question... Mais bon... Je sais bien que la solution la plus simple est souvent la meilleure, mais c'est pas la plus marrante ^^. Du coup, j'ai cherché sur internet un montage Arduino Semi avec l'utilisation du Cut Off pour un cycle complet. (J'ai vu beaucoup de montage basé sur des Timer mais perso je trouve ça un peu hasardeux) Le site qui se rapprochait le plus de ma recherche et le plus complet était airsofttech.dk, d'ailleurs je dis un gros bravo au créateur du tuto j'ai appris pas mal de choses ^^. En particulier sur cette page: http://airsofttech.dk/Guides.cshtml?Page=B...fet_Improvement Ça ne correspondait pas exactement à se que je recherchais, mais en bidouillant le code j'ai converti le sélecteur de tir en CutOff, après j'y connais pas grand chose en programmation j'ai bricolé le code avec se qui trainait sur internet^^. (Je mettrai le code modifier pour ce que ça intéresse) Ça marche nickel pendant 10minutes et après plus rien. Alors j'ai rechargé le programme dans le Arduino parse que je voyais pas quoi faire d'autre et là c'est reparti pour 10minutes puis plus rien. Ça sentais un peu le chaud, alors je vérifie les tentions et là je me rends compte que le +5v de Arduino me sortait du 8v-9v. Du coup je me demandais, si je pouvais pas alimenté mon nouveau Arduino avec un petit Powerbank se qui m'évitera les pique de tension et augmentera légèrement l'autonomie de ma batterie principal. À la base j'utilisais ce schéma: Et je voudrais le modifier comme ça: J'ai mis une masse commune entre le powerbank et la batterie Life 9,9v en passant par le Gnd de l'arduino , mais je suis pas sur de moi j'y connais pas grand chose en électronique et j'aimerais pas que ça me pète à la gueule ^^. Si vous avez un avis ça m'intéresse, merci d'avance Ce message a été modifié par Tony31000 - 09/03/2019, 00:09. |
|
|
08/03/2019, 21:07
Message
#2
|
|
Membre actif Groupe : Membres Messages : 391 Inscrit : 24/07/2017 Membre n° 119,757 |
Je ne suis pas expert, mais à mon avis il Ne faut pas mélanger les masse, tu as 2 tensions différentes
Ca risque de ne pas faire bon ménage Max Ce message a été modifié par Maxence4845 - 08/03/2019, 21:08. |
|
|
08/03/2019, 23:56
Message
#3
|
|
Membre Groupe : Membres Messages : 5 Inscrit : 05/09/2017 Membre n° 120,644 |
Salut Max, je suis arrivé à cette conclusion en regardant ce forum:
https://openclassrooms.com/forum/sujet/mass...-arduino-moteur Il avait l'air de savoir de quoi il parle, mais je suis pas sur que je puisse faire ça avec une batterie Life. Ce message a été modifié par Tony31000 - 09/03/2019, 00:14. |
|
|
21/03/2019, 23:21
Message
#4
|
|
Membre Groupe : Membres Messages : 5 Inscrit : 05/09/2017 Membre n° 120,644 |
Appartement ça n'a pas intéressé grand monde , je laisse quand-même le code modifier peut-être que ça aidera quelqu'un, A+
CODE // AirsoftTech.dk
//////// WIRE PIN AN COMPONENT LAYOUT ///////// int MOSFET_PIN = 5; // The Digital pin that attaches to the MOSFET gate, to turn it on and off. int TRIGGER_PIN = A0; // The analog pin that attaches to the trigger pin int SWITCH_PIN = 4; // The Digital pin that attaches to the SWITCH, to switch between Full auto and burst mode. float R1 = 100; // 100Kohm // The Voltage devider resistor R1 float R2 = 10; // 100Kohm // The Voltage devider resistor R2 //////// CONFIG VALUES ///////// int Max_ON_Time = 200; // The time in MS for a full burst cycle... //////// INTERNAL VALUES ///////// int TrigerStatus = LOW; // The state of the trigger LOW => Not pressed, HIGH => Pressed int TriggerReadValue = 0; // The value read from the analog trigger pin. => 0-1024 int CurrentSleepTime = 0; // The ammount of time the mosfet has been on. // The setup routine runs once when you press reset. void setup() { // Initialize the digital pin as an output. pinMode(13, OUTPUT); // LED pin pinMode(MOSFET_PIN, OUTPUT); // Set the Mosfet pin as an output so that we can send power to the mosfet. pinMode(SWITCH_PIN, INPUT); // The pin with the full auto switch is a digital read switch digitalWrite(MOSFET_PIN, LOW); // Make sure we start with power OFF! digitalWrite(13, LOW); // Make sure we start with power OFF! } // The loop routine runs over and over again forever. void loop() { ReadTrigger(); // Update the trigger state if (TrigerStatus == HIGH) // If the trigger is pushed. { SetMosfet(HIGH); // First turn the Mosfet On while (TrigerStatus == HIGH) { int isBurstMode = digitalRead(SWITCH_PIN); if (isBurstMode == HIGH) // If the switch has power on it it's in burst mode. { SetMosfet(HIGH); // If a full cycle has gone, turn the Monfet On. delay(20); // Sleep for 20 milisecond SetMosfet(LOW); // If a full cycle has gone, turn the Monfet Off. delay(1); // Sleep for one milisecond } ReadTrigger(); // Update the trigger status (We stay in the loop untill the trigger is released) } SetMosfet(LOW); // Make sure the Mosfet is off when the trigger is released CurrentSleepTime = 0; // Reset time counter when the trigger is released. } } // This function updates the trigger status when it's called. void ReadTrigger() { int TriggerReadValue = analogRead(TRIGGER_PIN); TrigerStatus = LOW; if (TriggerReadValue > 20) { TrigerStatus = HIGH; } } // This function set the Mosfet state void SetMosfet(int val) { digitalWrite(13, val); // turn the LED on / off to indicate what the mosfet should be dooing digitalWrite(MOSFET_PIN, val); // turn the Monfet on / off } |
|
|
25/03/2019, 11:43
Message
#5
|
|
Membre actif Groupe : Membres Messages : 1,432 Inscrit : 20/03/2010 Lieu : PARIS Membre n° 48,165 |
Je pense surtout que c'est assez complexe, (pour ma part en tous cas). Sinon GG pour la modif, je suis toujours admiratif de ce genre de solution
|
|
|
25/03/2019, 21:54
Message
#6
|
|
Membre Groupe : Membres Messages : 5 Inscrit : 05/09/2017 Membre n° 120,644 |
C'est gentil Bulleto, mais je suis allé voir les grands Sages d'Openclassrooms et la vérité m'a été révélée^^ et c'est pas glorieux^^...
Alex m'a expliqué de manière très instructive, comment je m'étais lamentablement planté en inversant les 2 résistance du pont diviseur de tension (10k,100k) se qui a sûrement causer la défaillance du montage d'airsoftech (qui était plutôt bon finalement^^). Mais au-delà ça, il m'a aussi expliqué pourquoi les mosfet AB maison étaient une vaste fumisterie^^, que ce soit dans mon cas (avec des composants en plus pour contrôler le mosfet AB en 5v) ou même pour une utilisation plus classique, une simple diode de Schottky sur le moteur permet de virer la moitié des composants. D'un point de vu électroniques l'irf4905 n'a rien à foutre là^^, que tout se qui se disait sur l'inversion de la polarité c'était de la branlette qui rendait le montage peu faible et consommateur d'énergie. (Bon bien sûr c'est mon interprétation^^ il était beaucoup plus technique) Du coup j'ai recyclé l'irl1404, plus la diode de Schottky: Ce message a été modifié par Tony31000 - 26/03/2019, 12:52. |
|
|
15/12/2023, 17:50
Message
#7
|
|
Membre actif Groupe : Membres Messages : 1,035 Inscrit : 19/05/2008 Membre n° 26,061 |
SAlut
un petit déterrage car je travaille sur un projet de déclenchement d'une réplique via un arduino. J'étais également tombé sur le montage airsoftech mais ce n'est pas ce que je veux faire. Je souhaite simplement remplacer la détente mécanique par un pulse électronique. Est ce que ton montage pourrait fonctionner a pour moi ? il n'y a pas la dernière image. |
|
|
Version bas débit | Nous sommes le : 19/04/2024 - 20:51 |
Ce portail vous permet d'apporter votre contribution aux thèmes de discussion liés à l'airsoft. Les données qui y figurent ne peuvent être collectées ou utilisées à d'autres fins. Vous disposez d'un droit d'accès, de modification, de rectification et de suppression des données qui vous concernent (art. 34 de la loi 'Informatique et Libertés' du 6 janvier 1978). Vous pouvez, à tout moment , demander que vos contributions à cet espace de discussion soient supprimées en prenant contact avec un des responsables du forum