Aller au contenu

Messages recommandés

Posté(e)
il y a 44 minutes, Oniric a dit :

bon j'ai épluché un peu le datasheet avec ma faible comprehension, avec tes indications j'ai plus ou moins compris que les pin PWM compatible sont celle ou il faut un "remap" avec un channel et un timer. mais je n'ai pas le mapping sur la CM ensuite et aucune n'est existante dans le fichier pin alfawise dans marlin que vous avez fait 😞
il faudrait le mapping entre la CM et le processeur pour esperer pouvoir faire des essais, mais la, sans ça je ne vois meme pas comment avancer 😞

Bon mes petits lapins on est en train de régler le problème des timers et des pins . Ça arrive....

Posté(e)
il y a 17 minutes, Mistigris18 a dit :

ok mais avant la commande M503 marchait et plus maintenant 

comment faire ?? 

c'est pourtant pas désactivé dans marlin

Bizarre, moi elle marche, j'ai une config par defaut du repo que je viens de reflash à l'instant (terminal octoprint):

Send: M503

Recv:   G21    ; Units in mm (mm)
Recv:   M149 C ; Units in Celsius
Recv: 
Recv:   M200 D1.75
Recv:   M200 D0
Recv:   M92 X80.00 Y80.00 Z400.00 E98.00
Recv:   M203 X200.00 Y200.00 Z100.00 E25.00
Recv:   M201 X200.00 Y200.00 Z100.00 E3000.00
Recv:   M204 P200.00 R500.00 T200.00
Recv:   M205 B20000.00 S0.00 T0.00 X10.00 Y10.00 Z0.40 E5.00
Recv:   M206 X0.00 Y0.00 Z0.00
Recv:   M412 S1
Recv:   M420 S0 Z0.00
Recv:   M145 S0 H200 B60 F0
Recv:   M145 S1 H250 B100 F0
Recv:   M301 P17.22 I1.00 D74.22
Recv:   M304 P841.68 I152.12 D1164.25
Recv:   M413 S1
Recv:   M603 L0.00 U100.00
Recv:   M412 S1
Recv: ok
Posté(e) (modifié)

Bonjour,

Sujet à cheval DEV / config. Comment faire pour connecter un BL Touch sur V08, et trouver une pin compatible PWM.

Je replace ici les schémas des cartes V0G. La grosse différence, c'est la pin pour le servo en effet. Longer3d mainboard_SCH new.pdf

Toutes les pins des limites definies, avec un petit connecteur sont sur GPIOC, sauf XMin et XMax ont sur GPIOE. Ca vaudrait le coup de deplacer le filament sensor de X Max vers ZMax, et essayer de voir si XMax est compatible PWM, sur le port E. Ceci dit, j'aime pas trop avoir une capacité anti rebond pour piloter la PWM du BL touch... 

On peut voir qu'a part X,Y, et Z ( capacités pour supprimer les rebonds des interrupteurs, donc en sortie, c'est super lent) les pins utilisables en sortie sont

sur le STlink :

PA13 et PA14 > A partir du moment ou le bootloader est installe, vous n'avez pas besoin du STLINK. Pins faciles a utiliser! 

Sur le petit connecteur 4 broches non soude. ( la pin 1 est carrée ) :

SPI_CS1/PA4

UART2 RX2/TX2 PA2 / PA3 

Bref, toutes les pins disponibles soudées sur le boitier sont sur le GPIOA. Les pins de commande du bed et de la température de la tète sont aussi sur GPIOA. 

ET bien entendu, PD13 n'est pas connecte sur une V08. 

> Il faut verifier si les pins du port A ou E sont dispo pour les PWM du BL touch... 

Apres on regarde avec @Epsylon3 si les timers choisis sont compatibles avec tout ca... 

 

EDIT

Dans .platformio/packages/framework_ardui_maple/ stm32F1/variants/STM32 V / boards.cpp :

Et la ou je deviens perplexe :

 

    {&gpiod, NULL, NULL, 13, 0, ADCx} , /* PD13 FSMC_A18 */ 

La je deviens confus... La pin servo PD13 n'est pas PWM compatible... Est-ce fait en soft? 

 

/* Basically everything that is defined as having a timer us PWM */
extern const uint8 boardPWMPins[BOARD_NR_PWM_PINS] __FLASH__ = {
PA0,PA1,PA2,PA3,PA6,PA7,PA8,PA9,PA10,PB0,PB1,PB6,PB7,PB8,PB9,PC6,PC7,PC8,PC9
};
 
Modifié (le) par Hobi
Posté(e) (modifié)
il y a une heure, Hobi a dit :

> Il faut verifier si les pins du port A ou E sont dispo pour les PWM du BL touch... 

c'est à dire vérifier ? 

super en tout cas ! merci pour la recherche ! 🙂

 

EDIT: 

il y a une heure, Hobi a dit :

La je deviens confus... La pin servo PD13 n'est pas PWM compatible... Est-ce fait en soft? 

euuuh ? j'avoue ne pas comprendre non plus là lol. à ma connaissance non, cf tuto de @CacaoTor en page 1, il n'y a pas de de modification particulière pour l'utilisation de PD13 pour l'utiliser sur la V0G ... du moins pas à ma connaissance

 

EDIT2: sur le schema (photo) de @CacaoTor il est marqué "software PWM" sur le PD13 mais ou est ce géré ? aucune idée, il n'y a pas de modification particuliere

Modifié (le) par Oniric
Posté(e)

Petit rajout concernant l'utilisation d'une des pins du STLINK

 

Ne pas oublier de de-commenter dans alfawise_ux0_pins.h

// #define DISABLE_DEBUG

Il faut disabler completement le debug pour utiliser les pins. Consequence, l'update soft est faisable uniquement par SD card. 

Si jamais gros crash, et ecrasement du bootloader qui charge par SDcard, il faut souder un petit fil sur boot0, et mettre le fil a 3.3v pour reutiliser le STlink. 

Posté(e) (modifié)
il y a une heure, Hobi a dit :

Si jamais gros crash, et ecrasement du bootloader qui charge par SDcard, il faut souder un petit fil sur boot0, et mettre le fil a 3.3v pour reutiliser le STlink. 

le boot0 c'est le J13 sur la carte ? il faut mettre 3.3v d'un coté et GND de l'autre je suppose ? il faut mettre le 3.3 sur le connecteur carré ? (je pose surement des questions betes mais je prefere être sure ! 😉 )

si c'est un PWM software ça veut dire quoi concrètement ? comment cela marche sur le PD13, il y a quelques choses de particulier de fait quelques parts ? c'est la modification de @Epsylon3 justement ? (https://github.com/tpruvot/Marlin/commit/885a6392a1731429f9bafca880e50cd00ab90e56)

je peux m'inspirer du code de @Epsylon3 et récupérer les timer et channel via le datasheet mais quand je regarde le datasheet pour PA13,PA14 ou PA3 et PA4 je ne vois aucun timer/channel 😞

Encore une fois merci de votre aide à tout les 2 🙂

Modifié (le) par Oniric
Posté(e)

Bricole pas les timers, c'est vraiment complique. tres complique, et c'est la dedans qu'il reste un petit bug. 

Pour Boot 0, au PIRE, mais c'est vraiment en cas desepere, il faut souder un petit fil sur R11, du bon cote. C'est pas sur un connecteur! et ensuite, au moment d'utiliser le stlink, mettre l'autre bout du fil sur J1 pin 1. 

J13 n'a rien a voir la dedans! C'est pour faire un reset du chip. Tu peux connecter temporairement J13 juste pour cela, mais ensuite il faut enlever la connexion. 

PWM software, la pin de sortie est un GPIO normale, et c'est le soft qui fait bouger la pin. En PWM hardware, c'est un timer qui fait bouger la pin, et c'est pour cela qu'il faut connecter la pin avec un timer. 

Posté(e)
il y a 8 minutes, Hobi a dit :

Bricole pas les timers, c'est vraiment complique. tres complique, et c'est la dedans qu'il reste un petit bug. 

Pour Boot 0, au PIRE, mais c'est vraiment en cas desepere, il faut souder un petit fil sur R11, du bon cote. C'est pas sur un connecteur! et ensuite, au moment d'utiliser le stlink, mettre l'autre bout du fil sur J1 pin 1. 

J13 n'a rien a voir la dedans! C'est pour faire un reset du chip. Tu peux connecter temporairement J13 juste pour cela, mais ensuite il faut enlever la connexion. 

PWM software, la pin de sortie est un GPIO normale, et c'est le soft qui fait bouger la pin. En PWM hardware, c'est un timer qui fait bouger la pin, et c'est pour cela qu'il faut connecter la pin avec un timer.  

ok, je touche à rien alors en attendant votre retour, je pensais que tu voulais que j'essaye ce que tu décrivais 🙂

Posté(e)

bon j'ai pu finalement tester mon commit... (en activant le servo) mais pas tres concluant.. ca ne plante plus mais ca bloque le flash par stlink des le démarrage, pour l'instant...

bon exemple typique du besoin de souder le boot 0 pour revenir en arriere... enfin en flashant uniquement par sd ca devrait marcher aussi, plus simplement sans ce boot0

Posté(e)

Et si on assigne la pin sur pa2 ou pa3? Ça plante? 

Je comprends pas. Si c est en soft pwm ça devrait pas planter...

Posté(e) (modifié)

je viens de dire que ca plantait pas, et ya pas de soft pwm sur le servo (du moins pour l'instant 😉

edit: je peux meme dire que ca fonctionne, si on ignore le probleme du stlink... testé avec M280 P0 S[0-180] (SERVO_DEFAULT_MAX_ANGLE)

Modifié (le) par Epsylon3
Posté(e) (modifié)

Hello qui, à part @oudini (je sais qu'il va dire oui), peut tester mon intégration de la sonde TOUCHMI avant que je soumette à la team Marlin, j'ai fais cela très proprement pour pas qu'ils refusent:

  • configuration de la sonde dans configuration.h
  • declaration de la sonde dans probe.cpp
  • ajout des vérifications dans SanityCheck.h

Le comportement:

  • G28 --> Probe X et Y,  après va activer le Touch-Mi, puis rétracte le pin
  • G29--> Active le touchmi, probe le bed, puis rétracte le pin

Je pense que cela doit palier à tous les cas de figure et c'est safe.

Je peux pas faire mieux, je ne suis pas un codeur, mais là, c'est hyper propre, je me lui largement inspirer de ce qu'ils ont écrit pour les autres sondes!

Modifié (le) par sensei73
  • Merci ! 1
Posté(e) (modifié)
il y a 3 minutes, sensei73 a dit :

à part @oudini

 

 (je sais qu'il va dire oui)

 

Mince, pas de chance, je monte une nouvelle tête, tout est en vrac... Imprimante pas opérationnelle, désolé.

Il est où ton code ?

Modifié (le) par oudini
Posté(e) (modifié)

@sensei73  moi j'ai tout le matos mais pas de quoi visser les éléments !!!! Je surveille le facteur !!!

Modifié (le) par boleofr
Posté(e)
il y a 2 minutes, boleofr a dit :

Je surveille le facteur !!!

Grrrr!!

Posté(e)
il y a 59 minutes, sensei73 a dit :

Ma nouvelle config est pour TOUS les TouchMi, à Gauche comme à Droite, pas de discrimination! lol

je peux te tester ça si tu veux 😉 j'avais fait une implémentation perso du touchMi mais je pense que la tienne est plus propre 😉  tu as déposé ça ou?

Posté(e) (modifié)

ATTENTION Pour utilisateurs avertis!!!

1) Dans configuration.h:

après :

// A probe deployed by moving the x-axis, such as the Wilson II's rack-and-pinion probe designed by Marty Rice.
//#define RACK_AND_PINION_PROBE
#if ENABLED(RACK_AND_PINION_PROBE)
  #define Z_PROBE_DEPLOY_X  X_MIN_POS
  #define Z_PROBE_RETRACT_X X_MAX_POS
#endif

Rajouter et configurer:

/**
 *   Touch-MI
 *   A probe deployed by moving the x-axis and activated with a magnet placed on the right or left.
 *  
 *   If magnet is on the RIGHT define magnet position with:
 *    #define Z_PROBE_POSITION_RIGHT
 *    #define Z_PROBE_DEPLOY_X X_MAX_BED
 * 
 *    Z_AFTER_PROBING must be defined to deactivate the probe.
 */
 
#define TOUCHMI_PROBE
  #define Z_PROBE_POSITION_RIGHT
  #define Z_PROBE_DEPLOY_X  X_MAX_BED // X_MAX_BED or Any Value desired to activate the Touch-MI

 

2) dans ⁨SanityCheck.h: chemin (Marlin⁩ ▸ ⁨src⁩ ▸ ⁨inc⁩)

après:

  #if ENABLED(RACK_AND_PINION_PROBE) && !(defined(Z_PROBE_DEPLOY_X) && defined(Z_PROBE_RETRACT_X))
    #error "RACK_AND_PINION_PROBE requires Z_PROBE_DEPLOY_X and Z_PROBE_RETRACT_X."
  #endif

Rajouter:

  #if ENABLED(TOUCHMI_PROBE)
    #if !defined(Z_AFTER_PROBING) 
      #error "Touch-MI requires Z_AFTER_PROBING to be defined."
    #elif ENABLED(Z_PROBE_POSITION_RIGHT) && !(defined(Z_PROBE_DEPLOY_X))
      #error "Need to define Z_PROBE_DEPLOY_X for Touch-MI on right position."
    #endif
  #endif

 

Dans probe.cpp: chemin ( Marlin⁩ ▸ ⁨src⁩ ▸ ⁨module⁩)

après

#elif ENABLED(RACK_AND_PINION_PROBE)

    do_blocking_move_to_x(deploy ? Z_PROBE_DEPLOY_X : Z_PROBE_RETRACT_X);

Rajouter:

  #elif ENABLED(TOUCHMI_PROBE)
    
    #if ENABLED(Z_PROBE_POSITION_RIGHT)
      deploy ? do_blocking_move_to_x(Z_PROBE_DEPLOY_X) : UNUSED(deploy);
    #else
      UNUSED(deploy);
    #endif

 

Dans configuration.h, ne pas oublier de définir Z_AFTER_PROBING à 1 mm pour désactiver le Touch_MI

Merci de me faire un retour,  et de me dire si c'est assez propre pour proposer au dev Marlin.

Modifié (le) par sensei73
  • Merci ! 1
Posté(e)
il y a une heure, sensei73 a dit :

Ma nouvelle config est pour TOUS les TouchMi, à Gauche comme à Droite, pas de discrimination! lol

Hello @sensei73,

Moi aussi, je suis chaud bouillant pour essayer et enfin utiliser mon Touch MI qui trône fièrement sur mon bureau. 😉

Posté(e)
il y a 3 minutes, Tomsti a dit :

Hello @sensei73,

Moi aussi, je suis chaud bouillant pour essayer et enfin utiliser mon Touch MI qui trône fièrement sur mon bureau. 😉

@Tomsti ATTENTION, pour utilisateurs avertis!!! Sinon attend mon TUTO (Il arrive lol) dès que j'aurais les retours nécessaires. J'ai bousillé mon Bed avec mes tests...

Posté(e)

De mon cote, apres 36h d'impression virtuelle et de log serie, pas d'erreur ni d'infos dans le log pour la "tete baladeuse"... Et je crois que pour le Touch mi, ca peut gener, exact?

Posté(e)
à l’instant, Hobi a dit :

De mon cote, apres 36h d'impression virtuelle et de log serie, pas d'erreur ni d'infos dans le log pour la "tete baladeuse"... Et je crois que pour le Touch mi, ca peut gener, exact?

Moi après 2x7H et 1X17 d'impression, aucune tête baladeuse!!!

Posté(e)

bon, bhein il va pas etre facile a touver... a moins que les nouveau updates du code aient supprimes le bug...

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
  • Sur cette page :   0 membre est en ligne

    • Aucun utilisateur enregistré regarde cette page.
  • YouTube / Les Imprimantes 3D .fr

×
×
  • Créer...