Aller au contenu

Messages recommandés

Posté(e)

Petite remarque la broche de signal d'un servo n'est pas une broche de puissance, la puissance est prise sur le 5V, un petit transistor suffit voir n'est pas obligatoirer à par ce probleme de 3.3v dur stm32

Posté(e)

Petit dossier préparé pour STM, avec une photo en gros plan de mon CPU. Je suis toujours à la recherche du bug, meme si le soft est pour l'instant patche, et vous permet d'imprimer correctement. 

J'ai mis quelques lcd_write data à la fin du code de l'ISR, afin de relire un paquet de registres du timer. Et entre une fin de tache d'IT reussie, qui donne une autre tache d'IT dans les temps, ou bien une fin d'IT qui donne la prochaine IT a 16.3 ms + ( valeur de compare )ms... y'a pas de difference. 

La seule solution restante est que au moment ou le compteur du stepper vaut la valeur du compare... le signal d'IT est masque par autre chose, et du coup le compteur continue de compter, jusqu'a faire un tour complet, et revenir faire un compare, qui declenche une IT. 

Voici mon code en fin de tache d'it du stepper

// Now 'next_isr_ticks' contains the period to the next Stepper ISR - And we are
// sure that the time has not arrived yet - Warrantied by the scheduler
 
// Set the next ISR to fire at the proper time
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CNT);
HAL_timer_set_compare(STEP_TIMER_NUM, hal_timer_t(next_isr_ticks));
//HAL_timer_set_reload(STEP_TIMER_NUM, hal_timer_t(next_isr_ticks));
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CR1);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CR2);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->SMCR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->DIER);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->SR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->EGR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCMR1);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCMR2);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCER);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CNT);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->ARR);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CCR1);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->DCR);
 
ENABLE_ISRS();
 
LCD_IO_WriteData(next_isr_ticks);
LCD_IO_WriteData((STEP_TIMER_DEV->regs).gen->CNT);
}

et en PJ, la capture a l'analyseur logique

la valeur des registres est sur WE front montant. 

Si vous voyez qqchose de faux, prevenez moi..... 

Taux d'erreur 1ppm. 

 

Waveform-3.pdf

Posté(e) (modifié)

@CacaoTor @Hobi @Epsylon3 @Fourmi

Hello j'ai fini l'implantation du Touch-MI dans Marlin en tant que vrai sonde, avec tous les checks possible pour éviter de bousiller le BED, cela fonctionne parfaitement. Mais (il en faut au moins un):

  • Hélas, je ne suis qu'un codeur du dimanche, j'aimerais que quelqu'un regarde si mon code est "propre"!
  • J'ai vu que sur GitHub, il y a une branche Touch-MI, cela serait pas mal d'y intégrer les modifications, pour ceux intéressé.
Modifié (le) par sensei73
  • +1 2
Posté(e)
il y a 6 minutes, Epsylon3 a dit :

git diff origin/master > touchmi.patch

ensuite tu glisses ce fichier texte ici...

okidoki je ferai cela ce soir, tout est imbriqué, j'ai modifié probe.cpp, Conditionals_LCD.h, utility.cpp, SanityCheck.h

Posté(e)

Super @sensei73

Je suis aussi un codeur du dimanche.... Et @Epsylon3 est un vrai pro.... 🙂 

Posté(e)

Question, on a toujours un souci avec la partie linear advance ?

Posté(e)
Il y a 1 heure, Epsylon3 a dit :

c'est dans le(s) git... merci

et j'ai fait une PR.. tant qu'a faire... https://github.com/MarlinFirmware/Marlin/pull/14101

Tu as bien fait! 

il y a 51 minutes, Fourmi a dit :

Merci @sensei73 & @Epsylon3 !
y aurait pas moyen que l'on puisse y remettre le menu sur le Marlin comme ce que j'avais fait ? ça évite d'aller taper du Gcode et pour les neophytes, c'est une épine de moins.

 

51248333_1980786298896429_2362196295851966464_n.jpg

Honnêtement, je ne sais pas, je jetterai un œil à l’occaz mais je ne promets rien!

Posté(e) (modifié)
il y a 28 minutes, boleofr a dit :

Question, on a toujours un souci avec la partie linear advance ?

C'est plus un bug marlin qu'un bug de portage, et en plus, on tombe exactement sur le meme soucis que sans Linear advance . probleme de compteur debile, ou d'IT fantome.

C'est pas corrige pour Linear advance. 

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

Mais... arrete de bloquer sur ce bug lol... c'est corrigé 😉 pour la tete baladeuse, c'est pt deja corrigé aussi ou finera bien par l'etre 😛

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

Non non, c'est pas corrige 🙂 J'suis breton.... J'vais trouver...;  Et ca a un impact, et va causer d'autres soucis sur linear advance.

Je fais ca en tache de fond. continuez à améliorer le touch mi et le BL touch de votre cote. 

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

Oh bhein déja qu'il a failli cramer le salon de @Crzay, et failli foutre le feu dans ma cuisine... Il est violent le marlin!!! 

Modifié (le) par Hobi
  • Haha 2
Posté(e)
Il y a 3 heures, Fourmi a dit :

Merci @sensei73 & @Epsylon3 !
y aurait pas moyen que l'on puisse y remettre le menu sur le Marlin comme ce que j'avais fait ? ça évite d'aller taper du Gcode et pour les neophytes, c'est une épine de moins.

 

51248333_1980786298896429_2362196295851966464_n.jpg

 

Ca , ce serait le paradis en fait ;-))

  • Merci ! 1
Posté(e) (modifié)

Patch final de la tache d'IT du stepper envoye dans le git. 

Tout est bien aligne, et ca fonctionne chez moi à l'analyseur logique, et sur le jeton de caddie Alfawise. Sans BL touch, je n'ai pas eu de tete baladeuse. 

Dites moi si tout est OK chez vous. Chez moi... oui! 

PS : la methode d'utilisation du timer est changee, et est plus simple, mais fait exactement ce que le code demande. 

Dans la méthode initiale de codage, qui utilise un canal de capture/compare, le probleme est bien visible, et STM essaye de reproduire le bug. A priori, en regardant une photo macro de mon chip, ils pensent que c'est un vrai, car les copies sont faites d'une maniere bien precise, avec un marquage fait d'une certaine maniere. 

Modifié (le) par Hobi
  • Merci ! 1
Posté(e) (modifié)

@CacaoTor

Bon, fix définitif pour les steppers en place, Touchmi intégré dans le repo, et test d'une version que l'on espère finale pour le BL touch avec possibilité de bouger la pin de servo pour V08 ce soir. 

Donc ça sent une release demain tout ça.... 

 

Questions :

1- Peux tu remettre a jour le codes precompiles sur la page de garde stp? 

2 - maintenant que ca commence a etre bien stable, peux tu demander a nos amis de Alfawise, qui ont a mon avis déjà bien regardé le git, si ils peuvent, à défaut de nous ouvrir les sources du GUI, nous fournir un librairie compilée de leur GUI, pour l’insérer dans notre Marlin??? 

 

PS : Le bug au fin fond du CPU se trouve entre le timer et le controleur NVIC, et nous avons contourné tout le problème en utilisant les timers de manière beaucoup plus simple. 100% de réussite, mais les problèmes de stabilité de Marlin 2 sur d'autres plateformes ARM peuvent venir de la... mais on s'en fiche... 

Modifié (le) par Hobi
  • J'aime 1
  • Merci ! 3
Posté(e)
Il y a 7 heures, lolvince a dit :

Super taff 😉
bon alors j'attend sagement une nouvelle version pour mon U20+ ^^

Tu peux déjà probablement compiler une version avec le profil de la U20. La taille du plateau est à editer si tu veux profiter de la surface, le reste ça doit pas beaucoup varier. 

Posté(e)

A part @CacaoTor qui a la tête à l envers nous avons tous des écrans v12.    Et la config du git par défaut est u30 ...

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...