[FIRMWARE 1.4] Prise en charge de servos

Projets techniques autour de l'impression 3D
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Bonjour,

je voudrais pouvoir piloter des servos (servomoteurs de modélisme) qui seraient branchés sur la carte Ramps.
Cela est possible car on peut brancher 4 servos sur cette carte.
Les prises sont sur le côté, tout à côté du bouton reset.

Dans le Firmware, j'ai bien décommenté la ligne
#define NUM_SERVOS 3

Pour autant, je n'arrive à rien.
En utilisant la commande M280, je devrais pouvoir piloter chaque servo.
Syntaxe : M280 P[numero du servo] S[position]

Exemple :
M280 P0 S0 devrait mettre le servo 0 (zéro) en position minimum (zéro)
M280 P0 S255 devrait mettre le servo zéro en position maximum



Quelqu'un a t'il déjà réalisé ce genre de modification avec succès ?
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Num_servo 3 = M280 P2 Sxxx
La commande du servo part de 0 pour le servo 1
Ensuite suivant la Ramps il faut mettre un cavalier pour faire passer le 5V sur le servo
Dernièrement le servo doit être compatible avec Arduino/Marlin au niveau du dialogue (impulsions positives ou négatives :letmethink: )
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Merci Jacques.
Je n'étais pas au courant (~ humour ~) pour le cavalier.
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Point de cavalier.
J'ai "juste" modifié le fichier "pins.h"
Et du coup, j'ai bien une réaction possible du servo.
Toutefois, cela n'est toujours pas exploitable puisque je n'arrive qu'à faire bouger le servo que dans un sens, et sans aucune précision.

Du coup,j'ai regardé du côté du dernier firmwar 2.4.0 et j'ai vu qu'il y avait un fichier de configuration "servo.h", et que le "configuration.h" intègre une section précisément nommée "R/C SERVO support".
Tout ceci est bien beau, mais je n'arrive pas à compiler et télécharger ce firmware.

En effet il y a de très nombreuses erreurs de variables, et le script de compilation s'arrête.

Tout cela est bien ennuyeux.

Je précise que j'ai bien installé les programmes recommandés dans la documentation "Windows_Compilation.md"
Quelqu'un a t'il réussit à complier le 2.4.0 avec succès ?

Lien de téléchargement du firmware :
https://github.com/bq/Marlin/releases/



Une suggestion pour le forum :
Une section "firmwares" où l'on pourrait facilement trouver les différents firmwares avec leurs sources et les programmes nécessaires (make et arduino)
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Je complète cette demande avec celle-ci (je sais, je suis énervant :whistle: )
Est-il possible d'avoir un tutoriel exhaustif de la compilation d'un firmware BQ ?

Le "problème", c'est que BQ fournit un firmware déjà compilé, au format ".hex", donc non modifiable.
La philosophie des imprimantes de type Hephestos est qu'elles sont modifiables, upgradables, évolutives.
Encore faut-il que l'on puisse adapter le firmware en conséquence.

- J'ai monté des tiges filetées trapézoïdales et j'ai donc des paramètres différents de ceux d'origine.
- Aujourd'hui je voudrais pouvoir piloter des servos.
- Demain, je voudrais peut être tester l'autolevel et peut être monter un plateau plus grand.

Bref, mettre les mains dans le cambouis ne me dérange pas, au contraire, cela permet de mieux connaître ma machine. Je ne pense pas être le seul dans ce cas.

Mais il me manque quelques clés.
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Sans entrer dans les détails la version 2 de Marlin utilise la dernière version d'IDE pour la compilation. Ces erreurs sont donc probablement liés au compilateur utilisé
Il faut bien entendu avant de compiler mettre la bonne configuration des fichiers qui se trouvent dans le répertoire config à la racine de Marlin.
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
paraglandeur
Vénérable membre
Messages : 328
Inscription : mer. févr. 03, 2016 1:01 pm
Imprimante 3D : Hephestos

Je ne pense pas, car il y a un script fourni qui se charge de cela.
Ce script demande le type de machine (la liste est fournie)
Puis il demande la langue utilisée (choix dans une liste également)
Enfin il faut lui fournir le numéro du port com sur lequel est connecté la carte RAMPS

A partir de là, le script sait où aller chercher les bons fichiers "configuration.h" et "configuration_adv.h"

Dans le dossier "Documentation" il y a un fichier qui indique les programmes nécessaires (avec la version à utiliser), ainsi que l'endroit où il faut les installer.

J'ai respecté tout cela, et malgré tout, j'ai des erreurs, et la compilation ne passe pas.

Je vais tenter autre chose :
Mes essais on été effectués sur un petit portable sous Win XP
Je vais refaire des essais à partir de mon PC de bureau sous Windows 7

Je vous tiendrais au courant des résultats.
Avatar de l’utilisateur
Jacques
Site Admin
Messages : 5616
Inscription : jeu. oct. 23, 2014 3:02 pm
Imprimante 3D : Witbox, Witbox 2 et Hephestos
Localisation : Aix en Provence
Contact :

Je ne travaille pas de cette manière mais plus à l'ancienne.
Je prends le répertoire racine + les fichiers config et j'ouvre l'ensemble dans Arduino IDE
C'est donc de cette manière que j'ai remarqué que le firmware 1.4 ne passe qu'avec l'ancienne version IDE
Pour le 2.0 il faut la nouvelle version IDE
Des idées d'améliorations https://www.thingiverse.com/Premium/designs
Une question, une précision, un manque de pièces détachées, posez vos questions ici même.
Répondre