-
Compteur de contenus
284 -
Inscrit(e) le
Récompenses de Foxies
Favoris
-
Compilation ANet origine
problème axe Z anet A8S'lut @gerard6767@orange.fr,
Il y a 2 heures, Maeke a dit :Alors il va falloir tout reprendre à zéro, en t'assurant de bien prendre les fichiers destinés à ton imprimante dans l'archive de Marlin.
Il a raison, j'ai l'impression que tu cours plusieurs lièvres à la fois.
Pour la compil, essayes de mettre ça en 1.1.9 d'aprés ce que j'ai compris. J'ai corrigé ton code posté plus haut avec les dernières valeurs de ton HOME + le MIN_PROBE_EDGE:
#define X_PROBE_OFFSET_FROM_EXTRUDER -39 // X offset: -left +right [of the nozzle] #define Y_PROBE_OFFSET_FROM_EXTRUDER 19 // Y offset: -front +behind [the nozzle] #define Z_PROBE_OFFSET_FROM_EXTRUDER 0 // Z offset: -below +above [the nozzle] // Certain types of probes need to stay away from edges #define MIN_PROBE_EDGE 39 // equivalent a l'OFFSET X du capteur //10 // For M851 give a range for adjusting the Z probe offset #define Z_PROBE_OFFSET_RANGE_MIN -20 #define Z_PROBE_OFFSET_RANGE_MAX 20 // Direction of endstops when homing; 1=MAX, -1=MIN // :[-1,1] #define X_HOME_DIR -1 #define Y_HOME_DIR -1 #define Z_HOME_DIR -1 // @section machine // The size of the print bed #define X_BED_SIZE 220 #define Y_BED_SIZE 220 // Travel limits (mm) after homing, corresponding to endstop positions. #define X_MIN_POS 14 #define Y_MIN_POS -14 #define Z_MIN_POS 0 #define X_MAX_POS X_BED_SIZE #define Y_MAX_POS Y_BED_SIZE #define Z_MAX_POS 240
-
Transfert binaire
Anet ne fonctionne plus après passage Marlin 1.1.9.1S'lut @Shitan,
J'ai vu que tu as essayé de compilé mon firmware sans succés par l'IDE arduino et pareil avec AVRDUDESS:
Essayes la même ligne avec en baud 115200:
ou avec AVRDUDE:
A toute..
-
Compilation Marlin 2.0.x sans Skynet
Anet ne fonctionne plus après passage Marlin 1.1.9.1Il y a 1 heure, sfritz a dit :Concernant l'AVR board, il faut bien prendre une ancienne version, j'avais le même souci lors de mon dernier téléversement de Marlin. Comme précisé, la version 1.6.23 fait l'affaire.
Bon, j'apporte de l'eau au moulin; J'espère que ça servira de base et qu'on laissera tomber ces foutus fichiers de Skynet :
-Utilisation du dernier Marlin 2.0.5, Arduino 1.8.12, Arduino AVR board 1.8.2 avec en librairies additionnelles (
ThermistorLibrary,U8glib, LiquidCrystal).Mettre à jour Java 8 Update 251 (j'avais plusieures erreurs de compilations avant la mise à jour)
Dans les prefs de l'IDE aduino rajouté la ligne sanguino comme stipulé le fichier "src/pins/sanguino/pins_ANET_10.h" (y'a d'autres infos intéressantes aussi!! ex: pour PlatformIO)
Une fois fait, installer la "board" sanguino en version 1.0.2 par les "tools" "board" gestion des cartes. Puis sélectionner dans tools la carte sanguino et choisir ATmega1284P(16Mhz)
Bien sur, vous avez mis/copier/écrasé les 3 fichiers qui se trouvent dans "config\examples\Anet\A8" "_Statusscreen.h" "Configuration.h" "Configuration_adv.h" dans le répertoire Marlin
Compilez, il devrait rester deux erreurs sur M115.h et temperature.h mais vous obtendriez un firmware de base propre en marlin 2.0.
Reste ensuite à modifier ou introduire au fur et à mesure vos amériolations dans la limite de votre mémoire de la carte.
Pour ma part, j'ai utilisé Notepad++ avec le module compare, afin de suivre les modifs des fichiers sources de Marlin.
Cela permet de rester jour des éventuels bugs ou des améliorations
.
Voilà, là je fatigué
et je vais me faire une série
............lol
@+
NB: Je ne compile plus sur l'IDE Arduino sauf pour de la domotique. Je suis passé depuis sur VBS plus simple pour certaines fonctionnalitées.
-
Options Marlin 2.0.x
marlin sur anet a2 plusIl y a 10 heures, Maeke a dit :foutaises, j'ai Marlin 1.1.9 + écran type A6 + bl-touch + e3d hemera sur ma carte Anet 1.5 (j'ai une 1.7 en attente), aucun problème pour compiler puis flasher.
+1
Il y a 9 heures, Djbilbao a dit :tu a le support de la sd? ça prends pas mal d'espace a ajouter dans marlin
Oui mais cela te permet de rajouté par mal d'options:
/** * Configuration.h * * Basic settings such as: * * //#define STRING_CONFIG_H_AUTHOR =>Optionnelle * #define CUSTOM_VERSION_FILE Version.h =>Optionnelle * - Type of electronics * - Type of temperature sensor * - Printer geometry * - Endstop configuration * #define BLTOUCH ou TOUCH_MI * #define Z_HOMING_HEIGHT 10 =>Avec Capteur niveau * #define Z_SAFE_HOMING =>Avec Capteur niveau * #define AUTO_BED_LEVELING_BILINEAR =>Avec Capteur niveau * #define NOZZLE_PARK_FEATURE =>Avec Capteur filament et Capteur niveau * * - LCD controller * #define ZONESTAR_LCD =>d'origine * #define LCD_LANGUAGE fr =>Optionnelle * #define SLIM_LCD_MENUS =>Optionnelle/Gain de mémoire * - Extra features * //#define SDSUPPORT => Gain de mémoire * #define FILAMENT_RUNOUT_SENSOR =>Avec Capteur filament (avec petite modif hardware) * #define S_CURVE_ACCELERATION =>Optionnelle * * Advanced settings can be found in Configuration_adv.h * #define ADVANCED_PAUSE_FEATURE =>Avec Capteur filament * #define BABYSTEPPING =>Avec Capteur niveau qui permet d'affiner sa 1ere couche à la volée. * #define BABYSTEP_ZPROBE_OFFSET =>Avec Capteur niveau * //#define FWRETRACT =>Optionnelle * #define STATUS_CHAMBER_ANIM => Gain de mémoire pour LCD Graphic * #define LIN_ADVANCE =>Optionnelle */ #define CONFIGURATION_H_VERSION 020005 Sketch uses 117948 bytes (90%) of program storage space. Maximum is 130048 bytes. Global variables use 3654 bytes (22%) of dynamic memory, leaving 12730 bytes for local variables. Maximum is 16384 bytes. Avec #define ANET_FULL_GRAPHICS_LCD => Ecran LCD Graphic Avec #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER =>Possible mais cablage spécifique. Sketch uses 124054 bytes (95%) of program storage space. Maximum is 130048 bytes. Global variables use 4028 bytes (24%) of dynamic memory, leaving 12356 bytes for local variables. Maximum is 16384 bytes.
Il reste encore de la place pour d'autres options
-
BootLoader Arduino ICSP
Flash d’un BootLoader sur un Arduino en se servant du port ICSP...Flash d’un BootLoader sur un Arduino en se servant du port ICSP et d’un autre Arduino transformé temporairement en interface de programmation.
J’ai reçu dernièrement une carte contrôleur de type Trigorilla (Anycubic) et impossible de la flasher, aussi bien avec un .hex qu’avec l’IDE Arduino et les sources de Marlin.
J’ai parlé de ce soucis dans la session Anycubic et @thsrp m’as posé la question de savoir pourquoi quand on demande à l’IDE Arduino d’exporter les binaires compilés, il générait deux fichiers .hex, un avec le BootLoader et un sans le BootLoader.
J’en profite donc pour vous expliquer ça et aussi pour détailler la procédure pour reflasher son BootLoader en utilisant le port ICSP présent sur nos cartes.
Ces deux fichiers sont donc destinés à flasher un Arduino sans avoir accès aux sources.
Il existe plusieurs solutions pour les utiliser :
- En USB (à travers une interface USB/RS232) via Cura, Repetier, …
- Via le port ICSP à 6 broches avec une interface spécifique.
- Et même en WIFI sur des microcontrôleurs équipés type ESP8266 ou ESP32.La solution de flasher en USB :
- soit directement depuis l’IDE Arduino quand on compile les sources (de Marlin par exemple),
- ou via Cura, Repetier (ou autres) quand on ne possède que le .hex,
nécessite que le BootLoader (BL) de la carte fonctionne correctement et communique avec l’hôte qui envoi les données que le BL écrit dans sa mémoire flash.Donc le cas classique : nous avons par exemple un ATmega2560, avec son BL, branché en USB :
Dans cette configuration, peu importe que le .hex ne contienne ou pas le BL, cela fonctionne dans les deux cas, car l’algorithme de transfert du BL ne prends que le programme dans le .hex et jamais le BL interne de l’ATmega ne sera effacé ou remplacé. Ce qui nous arrange bien en fait, pas besoin de se soucier d’avoir un .hex avec ou sans BL.
Alors pourquoi générer les deux ?
Il existe une autre façon de flasher un ATmega, c’est le fameux port ICSP à 6 broches !
Par exemple sur le composant ATmega neuf, en sortie de chaine de fabrication, il est complètement vide, pas de programme d’amorçage (BL).
Hors une carte Arduino par exemple, doit pouvoir être programmé en USB directement, donc on lui implante un BL via ce fameux port ICSP.Un autre exemple, une carte industriel sur laquelle on injecte son firmware via ICSP, si cette carte ne possède pas de port de programmation série, pas besoin de lui charger un BL, la maintenance se fera via ICSP si besoin.
Dans le cas où une carte est livrée avec un port de programmation (série ou USB) et en plus avec ses sources (une carte pour piloter une imprimante par hasard), dans ce cas son firmware devra comporter aussi son BL pour que les futurs flashs en USB puissent se faire.
En production, l’utilisation de l’ICSP est essentiel pour des raisons de vitesses, pas besoin de compiler à chaque fois la source pour l’implanter. Ce protocole est le SPI.
Sur nos cartes Arduino, il se présente sous la forme de 6 picots en 2x3 avec un repère en broche 1.
Broche 1 : MISO Broche 2 : VCC 5V (ou 3.3V en fonction des cartes)
Broche 3 : SCK (Clock) Broche 4 : MOSI
Broche 5 : RESET Broche 6 : GND (masse, 0V)L’utilisation que l’on peut en faire ici, c’est surtout de flasher un BootLoader.
Et ça peut être bien utile dans plusieurs cas :
Un ATmega vierge (sans BL donc), ou une mise à jour par exemple aux Nano du soleil levant qui sont livré avec le vieux BL, il est intéressant de le mettre à jours pour Optiboot 6.2 par exemple, surtout que c’est maintenant le BL officiel des UNO depuis quelques temps chez Arduino.
Mais il peut arriver aussi qu’un programme fasse planter tellement profondément le microcontrôleur que son BL ne puisse plus répondre aux commandes de flash et dans ce cas-là, impossible d’utiliser la connexion USB.La seule solution c’est d’utiliser le port ICSP et de graver sa séquence d’initialisation qui efface la mémoire du composant et lui réinjecte son BL.
Pour faire cette manipulation, il suffit d’avoir sous la main un autre Arduino, Uno, Nano, Mega peu importe si ils fonctionnent sous la même tension, ici 5V et avoir quelques fils Dupont pour brancher le tout.
Pour la partie software, tout est déjà présent dans l’IDE Arduino.Mise en œuvre :
Dans un premier temps, on va injecter un programme pour communiquer avec le port ICSP à l’Arduino qui va nous servir d’interface : ArduinoISP.
1) Dans l’IDE, on commence donc par connecter « l’Arduino Interface » et de choisir son modèle (ici un Uno pour l’exemple) et son port COM dans le menu Outils.
2) On ouvre Fichier, Exemples, ArduinoISP.3) On téléverse (beurk) (CTRL+U) ce fichier dans « l’Arduino Interface ».
Nous avons alors notre « Arduino Interface » programmé avec un émulateur de programmateur ICSP, qu’il faut maintenant relier à la carte cible sur laquelle nous voulons réécrire le BL.
Déjà on débranche l’USB, autant éviter les courts circuits. La carte cible n’est pas non plus alimentée !
On va relier les deux connecteurs ICSP de cette manière à l’aide de 5 câbles Dupont :
Rien de plus simple, VCC sur VCC, GND sur GND, MISO sur MISO, MOSI sur MOSI et SCK sur SCK.
Le 6eme câble est sur la broche RESET de la cible,
Et la broche RESET de la cible ne doit en aucun cas être reliée à la broche RESET de l’Arduino servant d’interface !!!
Cette broche sera reliée au connecteur D10 sur la Uno ou Nano (ou D53 si il s’agit d’un ATmega 2560 ou 1280).
A partir de ce câblage, en aucun cas l’Arduino cible ne devra être alimenté sur son port USB ou Jack d’alimentation ! C’est « l’Arduino Interface » qui alimente la cible !
Nous allons pouvoir « graver la séquence d’initialisation ».
Brancher l’USB de « l’Arduino Interface » sur l’ordinateur.
Dans l’IDE, choisir le modèle d’Arduino CIBLE (dans l’exemple ici un ATmega2560).
Choisir le port COM de « l’Arduino interface ». C’est lui qui est branché en USB sur l’ordinateur !
Et choisir dans Outils / Programmateur : Arduino as ISP
Il suffit ensuite de lancer « Graver la séquence d’initialisation »
Et en quelques secondes, la cible sera effacée et son BL flashé.
Il suffit maintenant de débrancher l’USB, les 6 câbles Dupont qui sont sur son port ICSP.
L’ATmega est maintenant vierge et possède son BL.
Il est maintenant flashable en USB par les moyens conventionnels.
Voilà !
Personnellement je me suis fait cette interface à partir d’un Nano, normalement il est enrobé de gaine thermo mais pour la photo je l’ai retirée.
Pour ceux qui se posent la question, la broche 1 est en bas à gauche sur ce nano.
J’ai retiré le contact 5 (RESET) dans le connecteur 6 points et laisser son câble plus long pour le connecter sur D10. (Car je le répète, les deux RESET ne doivent pas être reliés entre eux !).
Le même in situ pour flasher le BL d’une carte Trigorilla livré sans (merci soleil levant).
Le liseré rouge dans mon cas est coté broche 1 sur les connecteurs ICSP.
On peut aussi acheter sur eBay pour moins de 10 euros, un programmateur compatible de ce style, ce qui peux être pratique quand on a pas d’Arduino sous la main.
Il suffit de le déclarer non plus en « Arduino as ISP » mais en « USBasp », la procédure reste la même.
Stef_ladefense
-
DirectDrive
Direct Drive pour FLSUN Super Racer SR+1 pour le Directdrive sur SR sans fantomes
Test PLA du cube Voron en 30mn.4ème itération avec support cables.
Nouveau test de torture sympa (avec d'autres conduits d'air et un nouveau radiateur E3Dv6+ Brise chaleur bi-métal).
Bref, en cours de finalisation (supports cable/sonde, conduit ventillos, etc) car la partie extudeur fonctionne bien (voir mes dernieres impressions) mais je dois effectuer d'autres tests avec des 5015 modifiés.
Bonne semaine