Oze Posté(e) Avril 26, 2020 Posté(e) Avril 26, 2020 Bonjour bonjour ! Une question me trotte depuis plusieurs jours suite à la re-lecture d'un poste sur le blog de prusa dans lequel il explique activé un appareil photo directement via sa carte mère à l'aide d'une broche de celle-ci https://blog.prusaprinters.org/fr/how-to-create-beautiful-3d-print-timelapse-videos/ Citation M42 S255 P73 - Le code G M42 active la broche 73 (P73) avec 5V. S0 = 0V, S255 = 5V. Puisque nous utilisons une mise au point fixe (manuelle), nous n'avons pas à nous soucier de la mise au point de la caméra en premier Dérouler Voici une partie traduite du blog dans lequel il dit qu'une fois le tout connecté, il appel un M42 puis le N° d'une broche de la carte mère, ici la P73, pour faire déclencheur Même chose un peu plus bas dans son article mais pour la Mk2 qui ne possède pas la même carte mère il explique simplement changer le nom de la broche qui n'est plus P73 mais P20 J'en déduis donc que chaque connectique d'une carte mère à son numéro et je pense qu'il est possible d'exploité cette idée sur n'importe quel carte mère Alors j'ai commencé à regarder un peu plus en détail ma carte mère actuel, une Skr mini e3 Par exemple nous avons le E0-STOP en bas droite de la CM qui pourrait correspondre la PC15 étant un +5V et le GND à côté Mais il y a bon nombre d'autres broches inutilisé qui pourraient faire l'affaire ! Pensez vous que c'est faisable, est-ce qu'il y a un danger en particulier ? Bonne journée !
fran6p Posté(e) Avril 26, 2020 Posté(e) Avril 26, 2020 Le 26/04/2020 at 05:59, Oze a dit : Pensez vous que c'est faisable Dérouler Oui Le 26/04/2020 at 05:59, Oze a dit : est-ce qu'il y a un danger en particulier ? Dérouler Ça dépend de ce que tu entends par danger donc oui. Il vaut mieux savoir ce que l'on fait (qui le fait, pourquoi on le fait, où on le fait et probablement aussi quand on le fait)
Oze Posté(e) Avril 26, 2020 Auteur Posté(e) Avril 26, 2020 Ce que j'entend pas danger c'est clairement flinguer la carte mère voir pire flinguer l'élément rapporté et connecté a la CM via ces broches ... Que se soit un téléphone, un capteur ou autre appareil La question que je me pose est la suivante : comment connaître le Nom ou Numéro d'une broche ? Est ce via le plan que j'ai mis ci-dessus ? Si c'est le cas la PC15 s'appel tout simplement PC15 ? Ou bien est-ce plus complexe que ça ? Ensuite Prusa explique avoir mis à jour le firmware afin d'utiliser le M42, ce qui signifie qu'à un endroit dans le firmware il a rajouter cette information mais où ?.. Est ce le genre de code comme les M600 et autres ?
fran6p Posté(e) Avril 26, 2020 Posté(e) Avril 26, 2020 Le 26/04/2020 at 15:35, Oze a dit : Si c'est le cas la PC15 s'appel tout simplement PC15 ? Ou bien est-ce plus complexe que ça ? Dérouler Sur les cartes de Bigtreetech (SKR), c'est ainsi qu'il faut faire (les broches se trouvent dans le fichier pin_nomdelacarte.h dans le dossier Marlin/src/pins/«processeur» (pour un Marlin2). Exemple pour une carte SKR E3-mini : Citation // // Limit Switches // #define X_STOP_PIN PC0 #define Y_STOP_PIN PC1 #define Z_STOP_PIN PC2 // // Z Probe must be this pins // #define Z_MIN_PROBE_PIN PC14 // // Filament Runout Sensor // #ifndef FIL_RUNOUT_PIN #define FIL_RUNOUT_PIN PC15 // "E0-STOP" #endif // // Steppers Dérouler Le 26/04/2020 at 15:35, Oze a dit : flinguer la carte mère voir pire flinguer l'élément rapporté et connecté a la CM via ces broches Dérouler Oui, il y a toujours le risque: mauvaise tension envoyée (balancer du 5V sur une broche n'acceptant que du 3.3V par exemple) et d'autres encore… C'est bien pour ça que je disais «savoir pourquoi / comment / … on le fait». Un gcode reste un gcode, le M42 est référencé mais n'ayant pas de Prusa je ne peux te répondre quant au firmware ( @Kachidoki qui en possède quelques unes pourrait éventuellement répondre s'il n'est pas trop occupé à imprimer des visières). L'activation de prises de photos s'active dans le configuration_adv.h (n'en ayant pas l'utilité, je ne l'ai jamais testé, mon Octoprint étant capable de le faire si besoin) : Citation /** * Photo G-code * Add the M240 G-code to take a photo. * The photo can be triggered by a digital pin or a physical movement. */ //#define PHOTO_GCODE #if ENABLED(PHOTO_GCODE) // A position to move to (and raise Z) before taking the photo //#define PHOTO_POSITION { X_MAX_POS - 5, Y_MAX_POS, 0 } // { xpos, ypos, zraise } (M240 X Y Z) //#define PHOTO_DELAY_MS 100 // (ms) Duration to pause before moving back (M240 P) //#define PHOTO_RETRACT_MM 6.5 // (mm) E retract/recover for the photo move (M240 R S) Dérouler
Kachidoki Posté(e) Avril 26, 2020 Posté(e) Avril 26, 2020 Le 26/04/2020 at 16:16, fran6p a dit : ( @Kachidoki qui en possède quelques unes pourrait éventuellement répondre s'il n'est pas trop occupé à imprimer des visières) Dérouler Je suis assez tranquille, ce sont les machines qui bossent. Justement je suis en train de me battre pour faire tourner Marlin 2.0 avec une vieille MKS Sbase, je vais peut-être finir par ouvrir un sujet. Pour le M42 sur une MK3, rien de tel que de lire le code : /*! ### M42 - Set pin state <a href="https://reprap.org/wiki/G-code#M42:_Switch_I.2FO_pin">M42: Switch I/O pin</a> #### Usage M42 [ P | S ] #### Parameters - `P` - Pin number. - `S` - Pin value. If the pin is analog, values are from 0 to 255. If the pin is digital, values are from 0 to 1. */ case 42: if (code_seen('S')) { int pin_status = code_value(); int pin_number = LED_PIN; if (code_seen('P') && pin_status >= 0 && pin_status <= 255) pin_number = code_value(); for(int8_t i = 0; i < (int8_t)(sizeof(sensitive_pins)/sizeof(int)); i++) { if (sensitive_pins[i] == pin_number) { pin_number = -1; break; } } #if defined(FAN_PIN) && FAN_PIN > -1 if (pin_number == FAN_PIN) fanSpeed = pin_status; #endif if (pin_number > -1) { pinMode(pin_number, OUTPUT); digitalWrite(pin_number, pin_status); analogWrite(pin_number, pin_status); } } break; En fait c'est paramétrable directement via le G-Code, ce n'est pas propre à déclencher un APN, mais bien pour piloter une IO quelconque. Mais sur une SKR E3 mini je peux pas trop aider. Il faut aller voir l'implémentation dans le code utilisé pour savoir si M42 est implémenté et lever tous les doutes. 1
Oze Posté(e) Avril 26, 2020 Auteur Posté(e) Avril 26, 2020 Merci pour vos retours ! Suite à vos réponses j'ai fais une petite recherche, déjà @fran6p dans le Config_adv.h j'ai trouvé la partie photo et dans celle ci nous avons plusieurs liens don un qui amène à l'article suivant : https://captain-slow.dk/2014/03/09/3d-printing-timelapses/ Visiblement le M240 dans l 'onglet Config_adv remplace le M42, si j'ai bien pigé ils ont tous deux la même utilité. Dans tous les cas connecté son appareil photo par exemple directement à la CM est donc bien possible et visiblement d'après l'article ci-dessus il mentionne un logiciel du nom de "chdk" mais je n'ai pas encore regarder en détail késako... Après j'ai cherché à ouvrir le pin.h de la Skr_mini_e3_v1_2 en suivant ( du moins je crois ) le chemin que tu m'a donné fran6p et je tombe sur ça : #pragma once #include "pins_BTT_SKR_MINI_E3.h" #define BOARD_INFO_NAME "BIGTREE SKR Mini E3 V1.2" #define NEOPIXEL_PIN PC7 // LED driving pin /** * TMC2208/TMC2209 stepper drivers */ #if HAS_TMC220x // // Software serial // #define X_SERIAL_TX_PIN PB15 #define X_SERIAL_RX_PIN PB15 #define Y_SERIAL_TX_PIN PC6 #define Y_SERIAL_RX_PIN PC6 #define Z_SERIAL_TX_PIN PC10 #define Z_SERIAL_RX_PIN PC10 #define E0_SERIAL_TX_PIN PC11 #define E0_SERIAL_RX_PIN PC11 // Reduce baud rate to improve software serial reliability #define TMC_BAUD_RATE 19200 #endif Ducoup il faudrait que je rajoute ici le PC15 //E0-STOP en "define" ? Mais dans se cas pourquoi les autres PIN pour le X, Y et Z ne sont pas décoché du #define ? Puisqu'ils sont bien utilisé ... J'ai l'impression de me planter là Je vais re-regarder tout ça demain matin quand j'aurais les idées un peu plus clair
fran6p Posté(e) Avril 27, 2020 Posté(e) Avril 27, 2020 Le 26/04/2020 at 20:33, Oze a dit : en suivant ( du moins je crois ) le chemin que tu m'a donné fran6p et je tombe sur ça : Dérouler Tu as bien trouvé le fichier des «pattes» MAIS as-tu vu ça ? Citation #include "pins_BTT_SKR_MINI_E3.h" Dérouler La suite des attributions des pins se trouve complétée par le fichier (inclus lors de la compilation ) ci-dessus d'où est extrait mon post précédent 1
Oze Posté(e) Avril 27, 2020 Auteur Posté(e) Avril 27, 2020 (modifié) En effet Fran6p je n'avais pas vue que le 1er fichier en appelait un autre ! bon est bien je vais pouvoir avancer merci à toi ! Bon j'ai donc à la maison un Adafruit Feather 32u4 BlueFruit LE il s'agit d'une carte avec un module bluetooth utilisé par prusa lors de l'un de ses tutos afin de présenter la possibilité de faire du timelapse à l'aide d'un téléphone via bluetooth Le but de la carte BlueFruit étant d'émuler un clavier bluetooth afin de déclencher à distance le téléphone pour la prise photo Ce que je ne comprend pas bien dans cette version c'est le fil bleu nommé TRIG. En effet dans le cas ou je branche une caméra via connectique je n'ai besoin que de deux files, là il y en a un troisième Je me demande si je ne pourrais pas exploité la partie NEOPIXEL de ma carte et le cablé de la façon suivante : La carte Bluetooth Adafruit : Carte mère SKR MINI E3 V1.2 +5 V --------------------------------------------------------------------------------------------> +5V NEOPIXEL GND ---------------------------------------------------------------------------------------------> GND NEOPIXEL TRIG ---------------------------------------------------------------------------------------------> PC7 Je dis surement une monstrueuse absurdité mais j'ai l'impression que dans cette version là c'est le câble Trig qui simule une action sur la touche du clavier émuler par le Adafruit. Alors que sur un branchement standard sur une caméra c'est l'activation de la prise +5v qui à pour effet de déclencheur Du-coup si dans mon Gcode je fais appel au PIN7 avec le câblage si dessus je devrais réussir à faire un déclenchement photo Qu'en pensez vous ? Modifié (le) Avril 27, 2020 par Oze
Oze Posté(e) Avril 28, 2020 Auteur Posté(e) Avril 28, 2020 Bon j'apporte des new's ! Alors j'ai essayé la connexion de l'Adafruit à la carte mère Au début je me suis servis comme convenu des pins du NEOPIXEL mais l'Adafruit n'a pas démarré alors j'ai de nouveau regarder le plan de la CM puis je suis aller me brancher sur PT-DET en suivant le branchement standard cette fois ci le système bluetooth à démarré ! J'ai également pu connecté un téléphone sans soucis Afin d'être sur qu'il fonctionnait bien je suis donc aller sur mon octoprint, j'ai demandé un M42 S255 P12 puis un M42 S0 P12, l'information part bien mais rien ne se passe J'ai donc essayé "PC12" mais rien non plus... J'ai essayé avec un autre pin comme le PC15 du E0-STOP même chose rien ne déclenche Je ne comprend pas si se système fonctionnait sous la PRUSA pourquoi ne pas marcher sous la CM de la ender ? Faudrait il que dans le Firmware de la machine je définisse un PIN ? // // Filament Runout Sensor // #ifndef FIL_RUNOUT_PIN #define FIL_RUNOUT_PIN PC15 // "E0-STOP" #endif Pourtant le PC15 devrait être actif...
Oze Posté(e) Mai 1, 2020 Auteur Posté(e) Mai 1, 2020 (modifié) Bon est bien j'ai réussi à avancer sur le projet ! N'arrivant pas à comprendre j'ai reformater l'adafruit puis j'ai re-téléverser le programme du blogueur de prusa sur la carte ( Au passage j'ai changer le PIN "déclencheur" qui était le 5 dans le tuto prusa j'ai choisi le 10, au cas où le 5 pour je ne sais qu'elle raison ne fonctionnerait plus ). Ensuite j'ai connecté mon Adafruit en 5v à mon ordinateur ( supprimant ainsi du câblage le fil GND et le fil +5V et j'ai connecté en bluetooth un téléphone Jusque là pas de problème le tel est connecté tout baigne Pour finir j'ai pris un câble, j'allais le connecter à une source 5v puis le connecter à mon adafruit, afin de faire le déclencheur en manuel Je débranche donc tout, je connecte un un câble PIN10 puis redémarre l'adafruit en le reconnectant à mon ordinateur ( donc en l'alimentant de nouveau avec le 5v. ) le téléphone se reconnecte en bluetooth immédiatement et là sur le volume monte et en même temps une led fait un petit clignotement sur l'adafruit... J'attends un peu ça recommence, j'ouvre donc l'apli téléphone et il prend une photo ?! C'est super le système marche donc très bien mais bon dieu pourquoi fait il déclencheur alors que mon PIN 10 n'est pas connecté à quoique ce soit !??? Il y a juste un câble sur le PIN10 mais rien relié à celui ci Je touche au but si quelqu'un peu me donner une info, une route, un chemin ou autre ... Voici le code dans l'adafruit * General configuration --------------------- INITIAL_DELAY = delay after reset to initialize serial port in ms PERFORM_FACTORY_RESET = define to perform BT module factory reset on restart SHUTTER_MIN_INTERVAL = minimum interval between shutter presses */ #define INITIAL_DELAY 1000 // ms //#define PERFORM_FACTORY_RESET #define SHUTTER_MIN_INTERVAL 10000 // ms /* Interval shooting feature configuration --------------------------------------- USE_INTERVAL = define to enable interval shooting INTERVAL_DOT = show "." on serial every X ms INTERVAL_SHUTTER = press shutter every X ms */ //#define USE_INTERVAL #define INTERVAL_SHUTTER 30000 // ms /* Trigger pin feature configuration --------------------------------- USE_TRIGGER = define to enable triggered shooting TRIGGER_ON_LH = true to trigger on switching from low to high TRIGGER_ON_HL = true to trigger on switching from high to low TRIGGER_PIN = GPIO pin used for trigger */ #define USE_TRIGGER #define TRIGGER_PIN 10 #define TRIGGER_ON_LH true #define TRIGGER_ON_HL false /* Bluefruit BLE module configuration ---------------------------------- If you use the recommended board Adafruit Feather 32u4 Bluefruit LE, (product #2829), then do not modify anything below -- these settings are required for this board. */ #define BLUEFRUIT_MINIMUM_FIRMWARE_VERSION "0.6.6" #define BLUEFRUIT_SPI_CS 8 #define BLUEFRUIT_SPI_IRQ 7 #define BLUEFRUIT_SPI_RST 4 #define BLUEFRUIT_VERBOSE_MODE false Modifié (le) Mai 1, 2020 par Oze
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant