En cours numérisation d'avance pour tour ELS (Electronic Lead Screw)

  • Auteur de la discussion speedjf37
  • Date de début
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #1
Bonjour,

Pour mon projet:

J'ai l'intention de piloter cela avec un arduino.

Quelques exemples sur le net:


on en parle sur CNCzone

Peu de fichiers sources disponibles.

Les fichiers du développeur Russe sont dispo en ......Russe. (tout à fait lisible avec Chrome et sa traduction)



une version en .EN
https://github.com/jschoch/electonic_guitar

un autre fil :
https://groups.io/g/Lathe-List/topic/model_200_electronic_lead/19175030?p=,,,20,0,0,0::recentpostdate/sticky,,,20,2,0,19175030

Les montages présentés sont complexes avec des options de tournage automatique (filetage cônes sphères).

Je vais faire des essais avec une version simple pour commencer

1 seul moteur en X
 
Dernière édition:
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #2
réservé jf
 
fauxjetons
fauxjetons
Compagnon
25 Août 2011
2 042
33220 Aquitaine
salut
je viens de voir ton sujet
ce montage doit t intéresser #7
tu me doit quoi
a plus
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #4
Dernière édition:
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #5
Bonsoir,

Les version simples sont peu exploitables en l'état.

Après quelques essais la solution Russe de Oleg parait exploitable.

La traduction EN n'était pas complète (modifiée pour affichage OLED SPI) .
J'ai adapté et terminé la traduction de Digital_Feed_7e2.ino

Il n'y a pas d'affichage des positions XZ ( moteurs et butées).
Il faut une DRO pour être précis. (affichage ajouté en 3e et 4e ligne).

Cependant l'encodeur doit être à haute résolution 1800pt/tr .
Toutes les actions automatiques sont pilotées par les impulsions de l'encodeur.

Je n'ai pas la place pour poser un encodeur de cette résolution , je cherche donc une solution.

Une version de GRBL modifiée avec encodeur et synchronisation par encodeur 4 pt/tr pourrait fournir une solution logicielle à adapter.


JF
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #6
Bonjour,

L'atelier étant enfin utilisable , je vais me remettre sur le sujet.

@pailpoe ayant fait un super boulot pour son tour :

Cela ouvre des perspectives intéressantes .

Aucunes des solutions existantes ne me convient intégralement.
Je vais essayer de construire ma propre solution.

Solutions retenues dont les sources sont disponibles:

CreateurversionUCParamsAffentree brochesaisiemenuDROaxe
Z
axe
X
axe Ysite
Oleg ADigital_Feed
_7e2
MEGA
2560
Calculs
Code
LCD 1602encodeur HD
1800 p /tr mini
joystickchoix par
commutateur
NONstepperstepper
jschochtraduction
ELS
Russian
EN
MEGA
2560
Calculs
Code
LCD 1602
encodeur HD
joystickstepperstepper
jschochespELSESP32Calculs
Code
O
2.4"
SSD1306 128 x 64 I2C
LEd

encodeur HD
pailpoe1.0.0 dev STM32
F103CB
SIMU
EPROM
FLASH
OLEd
2.4"
SSD1306 128 x 64 I2C
encoder
LD
6 boutonsDéroulantsC
X
Y
encoder
règle
stepper
encoder
règle
 
Dernière édition:
pailpoe
pailpoe
Compagnon
29 Jan 2011
1 160
Haute-Saône
Je me place en spectateur :-D
Pour la version logiciel, tu peux mettre 1.0.0 dev , je suis pas loin de faire la release 1
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #8
Options Sélectionnées: (version du jour peut évoluer).

Concevoir un outil facile à gérer (Pas de Gcode , pas de PC) , sinon Linuxcnc.

Encodeur Axe C (broche) basse résolution (pas la place de monter un encodeur haute résolution)
La solution de pailpoe me séduit.
Pas de top de broche hard (top soft)

Affichage des axes C Z X (pour se passer de DRO).
Filetage impératif mm/Inch (axe Z X) pour automatiser.
Les options de Oleg cône et sphère me font réver (pour plus tard).

UC:
ESP32
+
Freq 80/240mhz
8 PCNT compteurs/encodeurs matériels
LIB counter jf OK
LIB encoder JF OK
2 x2 timers matériels
LIB neotimer

I2C SPI USB
Wifi Bluetooth
-
3.3V
E/S limitées 12
NO EEPROM emulation possible ou fichiers virtuel VS SPIFF

Affichage:
I2C LCD 1602 -> 2004

I2C Oled 2.4" SSD1306 128 x 64
LIB SSD1306Wire.h
GEM ?
U8G2 ?

7 Segments SPI Max7219 (testé avec 6 aff)
LIB Max7219 OK

Boutons:
A cause du nombre limité d E/S extension par bus (I2C ou SPI) hard ou soft
TM1638 V1 V2 V3
LIB TM1638lite OK
LIB TM1638plus OK

MCP23016/7
LIB Adafruit MCP23017

Moteurs:

Nema 23 driver externe
X stepper
Z stepper

Lib accelstepper ?

Encodeurs:
Axe C (broche) DIY 2 optos

Pas prévu de règles pour Z et Y

.....


JF
 
Dernière édition:
pailpoe
pailpoe
Compagnon
29 Jan 2011
1 160
Haute-Saône
Tu es sur de pas vouloir développer sur un stm32, je trouve ça dommage de faire une branche parallèle ! Surtout que tu as l’air de bien maîtriser ton truc.
je peux te fournir une carte si tu veux.
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #10
Tu es sur de pas vouloir développer sur un stm32, je trouve ça dommage de faire une branche parallèle ! Surtout que tu as l’air de bien maîtriser ton truc.
je peux te fournir une carte si tu veux.
Je te remercie pour cette très sympathique proposition mais je décline !
Pas du tout envie de me mettre à un nouvel environnement.

Ce ne sera pas une branche parallèle (désolé) , il y aura surement trop de différences matérielles .

J'ai déjà tout le matériel en ESP32.
Les ressources hard sont au moins aussi puissantes.

exemple: ESP32 12 entrées opto aff 6x max7219 spi boutons TM1638 V1
DRO pour 6 axes step/dir
+ tests TM1638 V2 et V3

ESP32_MAX7219_TM3816_r.png


Cordialement JF
 
Dernière édition:
pailpoe
pailpoe
Compagnon
29 Jan 2011
1 160
Haute-Saône
Je comprends, pas de soucis. J'ai pas de doute sur la puissance des esp32.
Je suis pas parti sur ce micro pour des raisons de doc, je trouve que le datasheet est comment dire "light" !
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #12
Bonsoir,

Adaptation du code Mini_thread de @pailpoe en STM32 vers ESP32 :

Mini_thread étape 1
Compiler et afficher sur l'écran

etape1_ecran.png


Bien galéré mais en même temps on plonge à fond dans le code !
Le code est très peu modifié.
Création d'un fichier hardware.h pour les adaptations au matériel (E/S)
une version de la lib ESP32encoder adaptée à la config de QuadDecoder (à tester et compléter plus tard).
Les fonctions du timer 4 control moteur Shuntées pour l'instant
le clavier dérouté vers un TM1638 (boutons à récupérer dans le code pour les rendre fonctionnels (étape 2)

Mini_thread étape 2
++ Contourner les divisions par 0 qui plantent l'UC (reboot) à cause de la config non traitée
Gérer les boutons afficher les menus OK
menu_ok.jpg


Mini_thread étape 3
Gestion EEPROM (émulation en Flash) pour sauvegarder/restaurer la config OK

Mini_thread étape 4
Tester et valider les encodeurs OK
1er test les 3 encodeurs fonctionnent.
Il faut maintenant vérifier si tous les paramètres sont pris en compte.

Adaptation douloureuse de ma LIB ESP32Encoder OK
reste le top 0 à récupérer.

Affichage axes X Y C OK

encoder_ok.png



Mini_thread étape 5
Implanter le Timer 4 control moteur /******ECHEC*/
A cause du FreeRTOS il est impossible d'avoir 1Timer à la µs

recherche solution adaptée ESP32
Une superbe LIB FastAccelStepper (compatible AVR et ESP32) à tester.

Validation de 2 moteurs dans le projet avec les 2 touches G et D en mode MANUAL OK
Il faut maintenant intégrer tout cela dans la gestion du projet.

Mini_thread étape 7
Tester et valider la commande moteur




cordialement JF
 
Dernière édition:
pailpoe
pailpoe
Compagnon
29 Jan 2011
1 160
Haute-Saône
Nickel, pour info, j’ai fait du ménage sur le fichier ino cet après midi. La branche main du depot est à jour.
c’était grave le bordel, il y en avait partout
 
pailpoe
pailpoe
Compagnon
29 Jan 2011
1 160
Haute-Saône
Avec l'écran qui s'allume, ça veut dire que u8g2 tourne donc le menu doit pas être loin de fonctionner
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #15
Bonjour,

L'adaptation du code de @pailpoe en STM32 vers ESP32 est en bonne voie.

Les avancées de la conversion ESP32 sont au #12

edit:

J'utilise un écran 1.3 Pouces OLED 12864 I2C (c'est pas gros).
Il n'y a pas de pin reset.


J'ai un décalage de l'écran sur la gauche avec une barre verticale à droite.
Quelqu'un connait se problème et sa solution ?


Cordialement JF
 
Dernière édition:
pailpoe
pailpoe
Compagnon
29 Jan 2011
1 160
Haute-Saône
Ah super, je vois un soucis sur la position de broche en degré, elle devrait être entre 0 et 360°. L''overflow du codeur C doit être mal géré.
Tu vas vite, c'est cool.
Je vois aussi un décalage de l'écran à gauche
 
S
speedjf37
Compagnon
15 Oct 2009
2 283
indre et loire
  • Auteur de la discussion
  • #17
J'ai trouvé la solution pour l'écran sur le net
Le controleur n'est pas un SSD1306 mais un SH1106

//U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, PIN_RES_SCR);

U8G2_SH1106_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, SCL, SDA, U8X8_PIN_NONE); // All Boards without Reset of the Display

JF
 
R
rotavap
Apprenti
2 Avr 2020
62
35
Salut,

Je viens de voir ton post, je compte moi aussi bientôt jouer avec le mini_thread de @pailpoe ! :-D Je vais donc suivre l'avancé de ton projet avec beaucoup d'intérêt :wink:
Bon courage pour la suite !
 
Haut