Gen7 Board 1.3.1/fr

From RepRap
Jump to: navigation, search



Crystal Clear action run.png
Generation 7 Electronics Board

Release status: working

Gen7 Board 1.3 Assembled.jpeg
Description Generation 7 Electronics
License Creative Commons BY-NC-SA 3.0
Author Traumflug
Contributors
Based-on Delta
Categories Electronics, Mendel Development
CAD Models GitHub
External Link (none)


Acheter les circuits et composants

Circuits imprimés

Vous pouvez acheter les circuits imprimés directement auprès de Traumflug ou chez Paoparts.

Gen7 est conçu pour être fabriqué sur une RepRap, vous pouvez faire vous-même le circuit imprimé. La fabrication sur une RepRap ou une fraiseuse à commande numérique est décrite sur la page principale Gen7. Vous devez construire un circuit "Gen7Board" et jusqu’à 6 circuits "Endstop"

Une autre façon est d'acheter les circuits dans de nombreuses maisons spécialisées dans la fabrication des circuits imprimés. Gen7 est simple face, et donc cela ne coûtera pas une fortune. Si vous voulez vendre des copies, demandez une licence commerciale à Traumflug.

Composants

Vous pouvez obtenir un kit de composants Gen7 et un kit de connecteurs Gen7 auprès de Traumflug ou chez Paoparts.

Si vous souhaitez acheter vous même les composants et connecteurs, consultez la section Listes des pièces #Liste des pièces.

Liste des pièces

Pour assembler ou vérifier ces listes, ouvrez la mise en page avec gEDA / PCB et de l'exportation une «nomenclature». Cela vous donnera une liste de tous les composants nécessaires.

Considérations particulières:

  • Chaque carte Pololu de contrôle de moteur s'insère sur 2 rangées de 8 connecteurs femelles soudées sur la carte, aussi prenez des cartes de contrôle de moteur de ce format.
  • Les drivers de moteur pas à pas de marque Pololu sont vendus avec les connecteurs males, il n'y a donc pas besoin de les acheter séparément.
  • N'oubliez pas les 8 à 9 jumpers.
  • Les résistances ont toutes une puissance de 0,25 W , même si le nom sur le circuit précise «0,125».
  • Les cartes Pololu peuvent délivrer jusqu'à 35 V, donc vous you "may want like-rated" condensateurs electrolytiques.
  • Vous pouvez ajouter dans la liste quelques câble pour les connecteurs, des broches supplémentaires à sertir et quelques fils.

Composants électroniques

La liste est donnée en suivant l'ordre des étapes d'assemblage.

Nom Quantité Désignations Vendors Remarques
Fil de 0.6 mm 50 cm Völkner Digi-Key Mouser pour faire les ponts sur la carte PCB simple face
Résistance 560 Ohms 2 R14, R22 Reichelt Völkner Farnell RS Digi-Key Mouser
Résistance 1 kOhms 6 R2, R6, R8, R10, R16, R18 Reichelt Völkner Farnell RS Digi-Key Mouser
Résistance 10 Ohms 2 R11, R12 RS
Résistance 4.7 kOhms 2 RT1, RT2 Reichelt Völkner Farnell RS Digi-Key Mouser
Résistance 10 kOhms 1 R30 Reichelt Völkner Farnell RS Digi-Key Mouser
Diode 1N4004 2 D1, D2 Reichelt Völkner Farnell Digi-Key Mouser
Inductance 100 uH 1 L1 Reichelt Völkner Farnell Digi-Key Mouser
Crystal 16 MHz or 20 MHz 1 U6 Reichelt Völkner Farnell Digi-Key Mouser
Bouton Reset 1 RESET Reichelt Völkner Farnell Digi-Key Mouser
Condensateur Céramique 0.1 uF 12 C5, C8, C9, C10, C11, C12, C13, C14, C16, C17, C18, C19 Reichelt Völkner Farnell RS Digi-Key Mouser
LED 3 mm Verte 3 LED2, LED5, +5V Reichelt Völkner Farnell Digi-Key Mouser
LED 3 mm Jaune 1 Standby Reichelt Völkner Farnell Digi-key Mouser
Condensateur Céramique 22 pF 2 C3, C4 Reichelt Völkner Farnell RS Digi-Key Mouser
Condensateur Electrochimique 10 uF 2 CT1, CT2 Reichelt Völkner Farnell Digi-key Mouser
Condensateur Electrochimique 100 uF 4 C1, C2, C6, C7 Reichelt Völkner Farnell Digi-Key Mouser
Jumper Header 2 Pin Pairs 4 pair J2/J3, J5/J6, J8/J9, J11/J12 Reichelt RS Digi-Key Mouser cut them into appropriate pieces
Jumper Embase 2 Pin 3 J13, J14, J15 Reichelt Völkner RS Digi-Key Mouser les découper au bon format
Jumper for the two above 9 Reichelt RS Digi-Key Mouser
ICSP Header 1 CONN6 Reichelt RS Digi-Key Mouser alternatively, assemble this out of the remainings of the Jumper 2 Pin Headers
Embase Pololu 8 or 4 U2, U3, U4, U5 Reichelt Völkner Digi-Key Mouser Les découper à la longueur voulue pour obtenir 8 barres de 8 pins
Misc Header 1 MISC Reichelt Völkner Digi-Key Mouser Couper à la longueur voulue
Socket pour la ATmega 1 U1 Reichelt Völkner Farnell Digi-Key Mouser
ATmega 644 (or 644P) 1 Reichelt Farnell Digi-Key Mouser
MOSFET IRFZ 44N 2 Q1, Q2 Reichelt Völkner Farnell RS Digi-Key Mouser

Connecteurs

Nom Quantité Désignations Vendeurs Remarques
Motor Header Molex 26-48-1045 (4 Pin) 4 X_MOT_0.156, Y_MOT_0.156, Z_MOT_0.156, E_MOT_0.156 RS Digi-Key Mouser Aussi utilisés dans l'électronique des cartes Gen2 et Gen3;
Cable Connector for the above 4 RS DigiKey Mouser
Crimp Contact for the above 16 RS DigiKey Mouser
Alternative to Motor Header: 4 Pin Screw Terminal 4 X_MOT_0.156, Y_MOT_0.156, Z_MOT_0.156, E_MOT_0.156 Reichelt DigiKey Mouser
Heater Header Molex 26-48-1045 (2 Pin) 2 HEATER1, HEATER2 RS DigiKey Mouser
Cable Connector for the above 2 RS DigiKey Mouser
Crimp Contact for the above 4 RS DigiKey Mouser same as the one for the motor headers
Alternative to Heater Header: 2 Pin Screw Terminal 2 HEATER_1, HEATER2 Reichelt DigiKey Mouser
Disk Power Header 2 CONN2, CONN3 Reichelt RS DigiKey Mouser also see DIY 4 pin molex connector
ATX24 Power Connector 1 CONN1 RS DigiKey Mouser Molex Mini-Fit 44206-0007
Molex KK100 2 Pin Header 2 TEMP1, TEMP2 Reichelt RS DigiKey Mouser
Cable Connector for the above 2 Reichelt RS DigiKey Mouser
Crimp Contact for the above 4 Reichelt RS DigiKey Mouser
Molex KK100 3 Pin Header 6 X_MIN, X_MAX, Y_MIN, Y_MAX, Z_MIN, Z_MAX Reichelt RS DigiKey Mouser Reichelt are tested to be fully compatible with Molex
Cable Connector for the above 6 Reichelt RS DigiKey Mouser
Crimp Contact for the above 18 Reichelt RS DigiKey Mouser same as for TEMP1, TEMP2 above
Molex KK100 6 Pin Header 1 SERIAL RS DigiKey Mouser alternatively, use the same as for Jumper 2 Pin
Optional: Cable Header for the above 1 RS DigiKey Mouser only needed if you intend to solder your own USB-to-TTL cable
Option: Crimp Contact for the above 6 RS DigiKey Mouser only needed if you intend to solder your own USB-to-TTL cable
Radiateurs pour les MOSFETs 1 ou 2 Reichelt RS DigiKey Mouser Please note that Reichelt ones are quite wide (26mm). Two of them won't fit on 1.3
Vis Chc M3 x 8 mm pour le montage des radiateurs sur les MOSFET 1 ou 2
Rondelle M3 pour le montage des radiateurs sur les MOSFET 1 ou 2
Ecrous M3 pour le montage des radiateurs sur les MOSFET 1 ou 2
Radiateur pour les polulus 4 Völkner RS
Ruban double face conducteur de la chaleur 1 Völkner couper à la bonne dimension le double face qui permet de coller les radiateurs sur les polulu. Vous pouvez aussi coller le radiateur sur le polulu avec de la cyano ou du ciment colle haute température

Divers

L'électronique de la Génération 7 utilise un port série pour les communications avec le PC. Les PC modernes n'ont plus cette connexion, il faudra utiliser un adaptateur USB / TTL. Vous pouvez trouver ce composant ici:

USB to TTL Cable DigiKey Mouser Adafruit Industries MAKE Store MakerBot Industries Watterott

Une alternative au cable l'USB/TTL câble est une petite carte électronique:

USB to TTL Breakout Board Watterott Sparkfun Paoparts
Cable for the above Watterott

Une autre alternative E'go USB-TTL adapter, voir instructions et limitations.


Enfin et surtout, vous aurez besoin de quatre drivers de moteurs pas à pas :

Pololu stepper driver boards Pololu stepper driver boards
Open Source Alternative StepStick

Instructions pour le montage

  • Pour savoir quand et où mettre les composants, vous pouvez afficher sur votre PC les photos ci-dessous qui illustrent au fur et à mesure toutes les étapes du montage.
  • Les circuits imprimés fabriqués selon les diagrammes de Voronoi (comme celui des photos ci-dessous) ont besoin de plus de chaleur, augmenter la température de votre fer à souder d'environ 20 degrés Celsius.
  • Commencez par les composants les plus plats, généralement les ponts de fil et les résistances. De cette manière, les composants ne tombent pas quand vous retournez le circuit imprimé face soudure vers vous pour la soudure. Ensuite, continuer avec des pièces de plus en plus haute, vous finirez par les connecteurs.
  • La liste des pièces est triée dans cet esprit, il suffit de commencer par les composants du haut et de suivre vers le bas.
  • Pour faciliter le maintien des cavaliers et des composants similaires, mettre une petite goutte de colle cyanolite sur le côté composant avant de les insérer. Comme la carte est recto seul, cela ne nuira pas au fonctionnement.
  • La bobine 100 uH ressemble à une résistance. Elle est un peu plus épaisse et contient des anneaux brun-noir-brun.
  • Comme les supports à huit pins pour le Pololus sont chers, les kits sont livrés avec des supports à moindre coût ayant 10 broches. Couper les 2 broches en trop sur chacun.
  • Pour bien souder une paire de ces supports, insérer une carte Pololu pour vérifier le bon alignement.

Attention : Ne pas souder les MOSFETs et n’insérez pas encore le ATmega avant de faire les vérifications d'alimentations.

Assemblage en photos

Cliquez sur les photos pour voir en plus grand.

Comme vous pouvez le voir, ni les MOSFET, ni l'ATmega ne sont encore insérés. Nous y reviendrons plus tard.


Mise en route

Ces étapes montrent comment passer d'une carte mère soudée à un statut opérationnel.

Alimentation possible

Vous pouvez alimenter la carte de plusieurs manières.

Gen7 v1.3 Power Options.jpeg

Option 1

C'est celle qui est recommandée. Prenez une alimentation de PC et branchez le connecteur ATX24, ainsi que les deux connecteurs d'alimentation MOLEX pour les disques internes.

Les alimentations de PC ont deux câbles avec plusieurs connecteurs d'alimentation. Chacun de ces câbles peut fournir environ 10 ampères, assurez-vous de brancher un seul connecteur de chaque câble sur la Gen7.

Dans cette configuration, l'ATmega peut fonctionner et communiquer avec le PC en mode "off" (en mode veille). Donc, ne soyez pas surpris si vous commencez à travailler avec votre Mendel et que l'alimentation est encore éteinte. Chaque commande G-code nécessitant plus de courant enclenchera immédiatement l’alimentation.

Note: le connecteur ATX24 est rétrocompatible avec les anciens connecteurs ATX20, donc si vous avez un bloc d'alimentation avec un ancien connecteur ATX20, vous pouvez l'utiliser. Il n'y a qu'une seule position d'insertion, et donc il n'y a pas d'inconvénient à utiliser une alimentation plus ancienne.

Gen7 ATX20 in ATX24.jpeg

Option 2

C'est pour les utilisateurs qui utilisent une alimentation non-PC. Vous utiliserez uniquement les 2 connecteurs MOLEX qui fournissent du 5V et du 12V. Le connecteur ATX24 est laissé vide.

Aucune fonction de veille ici. l'ATmega, les Pololus, les moteurs et les chauffages sont alimentés tout le temps.

Option 3

Cela permet de faire fonctionner l'ATmega uniquement. Cela peut être utile pour la programmation du firmware. Laissez le ATX24 ainsi que les deux têtes d'alimentation du disque vides. L'ATmega sera alimenté par le connecteur de la liaison série. Cela suppose que votre connecteur série puisse fournir 5V, sur certains convertisseurs USB-TTL il est nécessaire de souder une broche pour activer cette fonction.

Cette option ne permet pas de déplacer les moteurs ou de chauffer l'extrudeuse.

Sélection de la source d'alimentation

Après avoir choisi une option pour l'alimentation, vous devez spécifier au système où il peut obtenir le 5 V.

Gen7 v1.3 Power Selection.jpeg

Dans le coin inférieur droit de la carte, vous verrez trois cavaliers.

  • ATX24: pour l'option 1.
  • Disk Power: pour l'option 2.
  • Serial: pour l'option 3.

Vous devez installer un cavalier, et un seul !!!

Contrôle d'alimentation

Utiliser le cavalier correspondant au choix d'alimentation. Vous devez prendre quelques mesures pour vous assurer que votre nouveau ATmega ne va pas griller lors de son insertion.


Gen7 v1.3 Power Checks.jpeg
  • Rouge: alimentation insérés en fonction de n'importe quelle option. En cas d'option 1, l’alimentation n'est pas encore activé.
  • Bleu: comme ci-dessus, avec alimentation activée ou alimentation en fonction de l'option 2. Non applicable à l'option 3.

Remarque: dans l'image ci dessus, il n'y a pas de cavalier 5 V, mais vous devez avoir mis un cavalier qui précise l'option que vous désirez utiliser.

Vérifications :

  1. Pas de fumée ? Super.
  2. Le voyant jaune dans le coin inférieur droit est allumé ? Encore Super.
  3. Si vous avez choisi l'option 1, court-circuitez les deux ponts de fil, comme sur la ligne en pointillés verts dans l'image. Ceci devrait activer l'alimentation.
  4. Dans le même temps, la LED verte dans le coin inférieur droit devrait être allumée.
  5. Si vous avez un voltmètre, mesurez les tensions aux endroits montrées sur la photo.
  6. Vérifiez chacune des broches de la prise ATmega, aucune d'entre elles ne devrait avoir plus de 5,5 volts.
  7. Pour plus de sécurité, vérifiez les broches de la rangée inférieure des connecteurs pour les Pololus. Aucun d'entre-eux ne devrait dépasser 5,5 volts aussi.

Si vous avez respecté toutes ces recommandations, vous pouvez sans risque passer à la suite.

Insertion des Semiconducteurs

Maintenant c'est le bon moment pour insérer les semi-conducteurs, si toutes les étapes précédentes ont bien été respectées.

Gen7 v1.3 Semiconductors.jpeg
  • Débranchez l'alimentation électrique entièrement.
  • Soudez les MOSFET à leur place avec le côté plat vers le centre du circuit. Utilisez suffisamment de soudure car ici les courants sont élevés.
  • Montez les radiateurs. La photo montre le placement recommandé.
  • Insérez le ATmega dans son socket. Il y a une encoche sur l'une des extrémités du boitier noir du processeur (groove). Cette rainure doit être du côté des transistors MOSFET, l'autre partie sans l'encoche est proche du connecteur ATX24.

Si vous voulez économiser un peu vous pouvez ne mettre qu'un radiateur sur le MOSFET du plan de travail chauffé:

Gen7 v1.3 Single Heatsink.jpeg

Préparation de l'IDE Arduino

Note:: Je vous conseille d'utiliser l'IDE Arduino 0018 ... 0023 . La récente version de l'IDE Arduino 1.0 a changer quelques règles, et peut conduire à un problème "out of the box". une solution est disponible sur ces fils de forum: [1] et [2] Si vous utilisez un ATmega 1284P, vous pouvez utiliser l'IDE Arduino 1.0.

  • Téléchargez, décompressez et installez Arduino IDE.
  • Téléchargez et décompressez for Arduino 0023 and earlier or v2.0 for Arduino 1.0 and later.
  • Trouvez les dossiers Gen7 dans ce paquet et les déplacer dans le dossier hardware situé à l’intérieur du dossier Arduino. Il ya aussi des instructions d'installation à l'intérieur du package Gen7 Arduino support IDE.
  • Lancez votre Arduino IDE.
  • Sous Menu -> Tools -> board , sélectionnez votre variante de carte Gen7 (il devrait y avoir quatre nouvelles entrées). Ils diffèrent selon le type de processeur et la vitesse d'horloge.
  • Sous Menu -> Tools -> Port série, sélectionnez le bon serial / port COM.

Note 1: pour les utilisateurs Linux / Unix, si vous installez à l'aide de votre gestionnaire de paquet, il peut être difficile de trouver votre dossier Arduino/hardware, et même après, si vous le trouvez vous pourriez ne pas être capable de copier dans ce répertoire pour des raisons de droits d'accès. Il vous suffit de créer un dossier "hardware" dans le dossier "sketch" de votre répertoire /home et d'y mettre le dossier Gen7 dedans. Le dossier "sketch" est créé lorsque vous exécutez l'IDE Arduino pour la première fois.

Note 2: Les distributions récentes comme Ubuntu 11.10, utilise la version 4.5.3 de avr-gcc, celle-ci rentre en conflit avec les librairies arduino qui sont fournies avec le package GEN7 avant v2.0. Pour résoudre ce problème, ouvrez le fichier <package installation directory>/Gen7/cores/arduino/wiring.h avec un éditeur de texte et remplacez la ligne suivante :

#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))
par
//#define round(x)     ((x)>=0?(long)((x)+0.5):(long)((x)-0.5))

Bootloader

Si vous avez acheté votre ATmega avec l'un des kits Gen7, le bootloader doit avoir déjà été installé. Tout autre bootloader, comme ceux que l'on trouve pour Sanguino, RAMPS, Sanguinololu sont aussi une bonne solution.

Si vous avez acheté un ATmega, auprès d'un fournisseur d'électronique générale voir la section bootloader suivante.

Si vous avez un doute, continuez votre installation. Une absence de bootloader se traduira par une erreur de timeout lorsque l'on tentera de télécharger un firmware.

Connection Série

Il est recommandé d'utiliser soit un câble USB à TTL ou une carte USB vers TTL. Des solutions personnalisées sont possibles, voir personnalisations.

Voici comment vous devez les connecter, la Masse est toujours à gauche :

Gen7 Serial Connection With USB2TTL Breakout Board.jpeg Gen7 Serial Connection With USB2TTL Cable.jpeg

Il suffit de brancher le cable USB au PC et un nouveau port série devrait apparaître dans le système d'exploitation de votre PC ( COM1, ou COM2, ... ).

Premier chargement de firmware

Vous pouvez télécharger un firmware de test pour tester votre carte.

Vous pouvez trouver un firmware de test dans sur les pages Gen7 Github.

  1. Télécharger ce fichier SetupTest.ino. Si ce fichier s'ouvre dans la fenêtre du navigateur, faites un "Enregistrer sous ...".
  2. Préparez votre Gen7 en branchant les fiches d'alimentation, le convertisseur série, la prise USB et ainsi de suite.
  3. Démarrez l'environnement de développement (IDE) Arduino.
  4. Avec l'IDE arduino , ouvrir SetupTest.ino. Il vous sera demandé si vous voulez créer un dossier du même nom, cliquez sur "Oui".
  5. Assurez-vous que le bon port série et le bon type de conseil est toujours sélectionné dans le menu Test.
  6. cliquez sur le bouton "Upload" (le deuxième depuis la droite).

Après une seconde ou deux, vous devriez voir quelque chose comme

Binary sketch size: 2142 bytes (of a 63488 byte maximum)

dans le champ de texte en noir, et après une seconde de clignotement sur le connecteur série, il doit répondre "Le téléchargement est terminé." juste au-dessus de ce champ de texte.

Gen7 v1.3 SetupTest.png

Maintenant, vous pouvez supposer que le téléchargement d'un firmware fonctionne. Vous pouvez aller plus loin en analysant les fonctionnalités du firmware de test :

  1. Si vous ouvrez le port série du moniteur de l'EDI et écoutez à 9600 bauds, vous pouvez lire ce que l'ATmega fait. Si vous pouvez lire le texte en clair, la ligne série fonctionne.
  2. Trois ou quatre secondes après le téléchargement, l'alimentation doit se remettre en fonctionnement, elle fait clignoter les LED de HEATER1 plusieurs fois et rééteint l'alimentation.
  3. La même chose se passe après chaque appui sur le bouton Reset de la carte, indépendamment de l'IDE ou de la connexion série.

Micropas

Vous voudrez probablement modifier la valeur des micropas pour la commande des moteurs pas à pas. La valeur par défaut est demi-pas (halfstepping). Diminuer la valeur des pas pour les moteurs permet d'avoir un fonctionnement plus lissé, mais augmente également la charge de calcul pour l'ATmega. La plus petite des commandes possibles est de 1 / 16 de micropas.

Vous êtes libre de choisir des paramètres différents pour chacun des moteurs, par exemple, 1 / 8 micropas pour les tiges filetées de l'axe (Z) et 1 / 16 micropas pour les axes à courroie (X, Y).

La sélection des micropas est faite avec les cavaliers en face de chacun des Pololus, ils se réfèrent à MS2 et MS3. Voici une photo de détail d'un Gen7, avec MS2 connecté, MS3 libre:

Gen7 Microstepping Jumpers.jpeg

Le tableau suivant montre ce que vous obtenez avec chaque combinaison: MS2 MS3

MS2 MS3 Résolution en micropas
Libre Libre demi pas
Libre connecté non disponible!
connecté Libre 1/8 pas
connecté connecté 1/16 de pas

Firmware

En principe, vous pouvez exécuter tous les Firmwares RepRap sur ce forum. Ajustez les positions des broches E / S, réglez les options de compilation de temps pour board/non RS485 et continuez. Tout comme Gen2, RAMPS ou des appareils électroniques similaires.


Teacup Firmware

Les instructions simples d' installation de Teacup montrent comment le faire. Certains réglages sont nécessaires pour Gen7:

  • Avez-vous préparé pour Arduino IDE Gen7 comme expliqué ci-dessus.
  • Télécharger Gen7 branch
  • Utilisez le config.gen7.h et ThermistorTable.gen7.h présent dans le répertoire. vous devez les renommer en config.h et ThermistorTable.h

Par la suite, même si vous ne touchez pas au config.h , vous pourrez faire bouger les axes. C'est parfait pour les premiers essais, mais cela ne suffit pas pour régler votre machine.

Vous devrez modifier par la suite votre fichier config.h (et peut etre ThermistorTable.h) pour qu'ils correspondent à votre machine et à votre configuration. Ce fichier Config.h comprend beaucoup de commentaires pour vous aider. Par exemple, STEPS_PER_M_X doit être fixé en fonction du choix de réglage des micropas, mais aussi de votre mécanique.

pour faire court: STEP_PER_M_X correspond au nombre de pas que doit faire le moteur X pour déplacer l'axe X de 1m. ( vous pouvez utiliser cette page pour calculer ces valeurs).

Attention dans les dernières versions la variable s'appelle STEPS_PER_M_X il faut donc préciser le nombre de pas pour faire un mètre ( les anciennes versions étaient en mm, il fallait donc multiplier les anciennes valeurs par 1000

Notez que pour tester le capteur de température de l'extrudeur, le chauffage du nez de l'extrudeur doit être activé!

Les logiciels RepRap sont en constante évolution, essayez toujours d'utiliser un logiciel récent, tant pour le logiciel hôte que celui de la génération des gcodes. Si vous ne le faites pas, vous pouvez rencontrer des problèmes de compatibilité. Par exemple, le logiciel RepRap Host originale n'affiche pas la température correctement (voire pas du tout). L'utilisation de Pronterface pour le logiciel hôte résoud ce problème. L'utilisation de Slic3r plutôt que Skeinforge résoud un autre problème où le firmware TeamCup reste bloqué sur l'attente de la témpérature visée ».

Repetier Firmware

Testé sur 644 @ 20Mhz. Voir ce fil pour des fichiers de configuration et de branchements (pins.h). Devrait bientôt être intégré dans le firmware par défaut.

Page de téléchargement sur Github, et documentation sur le wiki sur Github

FiveD Firmware

FiveD a été exécuté avec succès sur la Gen7. Comme la disposition des broches du ATmega v1.3 correspond à peu près à celle de la version v1.2, Snuggles a aimablement contribué a ces sources:

File:FiveD 20100610 for Gen7 v1.2.zip

Pour télécharger le firmware effectuer les opérations suivantes:

  • Avez-vous préparé pour Arduino IDE Gen7, comme expliqué ci-dessus.
  • Ouvrez le fichier FiveD_GCode_Interpreter.pde situé à l’intérieur du répertoire FiveD_GCode_Interpreter de l'IDE.
  • Appuyez sur le bouton Charger dans la barre d'outils de l'EDI.
  • S'il n'ya pas d'erreurs, vous avez terminé.

Cela devrait vous aider à démarrer, mais n'oubliez pas d'ajuster STEPS_PER_MM dans configuration.h pour l'adapter à votre mécanique.

Autres configurations

Les éléments suivants devraient vous aider à configurer d'autres firmwares.

broches du processeur

Sanguino pin bindings
Function ATMega Name Teacup Original firmware Direction in firmware
X Step PC3 DIO19 19 Digital Output
X Direction PC2 DIO18 18 Digital Output
X Min PB7 DIO7 7 Digital Output
X Max PB6 DIO6 6 Digital Output
Y Step PC7 DIO23 23 Digital Output
Y Direction PC6 DIO22 22 Digital Output
Y Min PB5 DIO5 5 Digital Output
Y Max PB2 DIO2 2 Digital Output
Z Step PA5 DIO26 26 Digital Output
Z Direction PA6 DIO25 25 Digital Output
Z Min PB1 DIO1 1 Digital Output
Z Max PB0 DIO0 0 Digital Output
Extruder Step PA3 DIO28 28 Digital Output
Extruder Direction PA4 DIO27 27 Digital Output
Power Enable PD7 DIO15 15 Open Drain Output, active low
Motors Enable PA7 DIO24 24 Digital Output
Heater 1 PB4 DIO4 4 Digital Output
Heater 2 PB3 DIO3 3 Digital Output
Temp 1 PA1 AIO1 1 Analog Input
Temp 2 PA2 AIO2 2 Analog Input

Changes from v1.2:

  • Fan 1 (PA0 / DIO31 / 31) n'existe plus sur cette version.

Modifications & Autres

Cette partie décrit les modifications possible pour les utilisateurs avancés seulement.

Non-12-V-Voltages

Bien qu'il soit très pratique d'utiliser le 12 volts que fourni l'alimentation, Gen7 est prévu pour d'autres tensions. Encore mieux, vous pouvez fournir des tensions différentes pour les moteurs et les système de chauffage.

Usages possible:

  • 12 V pour les appareils de chauffage, 24 pour les moteurs. Cela permet d'utiliser la tension normalisé pour les éléments chauffants de l'extrudeuse et du plan de travail chauffé. Les moteurs peuvent désormais aller plus vite. La tension d'alimentation du moteur est uniquement limité par le driver Pololus et peut aller jusqu'à 35 volts.
  • 12 V pour les moteurs, 5 V pour les appareils de chauffage.
  • 12 V pour les moteurs, 3,3 V pour buse inductive par exemple.
  • ...

Sur ce, où à fournir, voir la photo ci dessus. Il suffit de recâbler les connecteurs d'alimentation à vos besoins et vous assurer que toutes les sources d'alimentation de contact ont au moins une broche GND en commun.

Le 5 volts sur le connecteur d'alimentation n'est pas nécessaire si vous utilisez le connecteur ATX20/24.

Connection Liaison Série

Si vous souhaitez une solution personnalisée, vous pouvez en créer une, bien sûr. Si vous reliez le port RS-232 au connecteur série cela ne fonctionne pas, même si vous avez ignoré les niveaux de tension. Le signal série de l'ATmega est inversé (logique 0 = 5V, 1 logique = 0V). Voici le brochage du connecteur série :

Gen7 Serial Pinout.png

 

1 2 3 4 5 6
GND CTS (set to GND) +5 Volts RxD TxD Reset

RxD est la broche 14 de ATmega, TxD est la broche de 15 de l'ATmega.

Avec la broche 3, vous pouvez alimenter l'ATmega, si vous n'avez aucune autre source actuelle. Si vous avez une autre source de courant, par exemple votre alimentation, vous pourriez avoir des potentiels légèrement différente de 5V, donc il est préférable de garder cette broche non connectée.

La broche 6 est reliée à la ligne série RTS'S. Cela déclenche un reset à chaque fois que vous démarrez une connexion à l'ATmega et est très pratique lors du téléchargement du firmware - Il n'est pas nécessaire d'appuyer sur le bouton Reset de la carte si cette broche est cablée. Si vous gardez la broche 6 libre, appuyez sur le bouton reset à chaque fois que votre IDE (arduino) tente un téléchargement.

Utilisation d'un adaptateur E'go USB-TTL

Ce convertisseur est bon marché, utilise la puce Silicon Labs CP2102 .

E'go USB-TTL Converter on Gen7.jpeg

 

Gen7 GND (Pin 1) +5 Volts (Pin 3) RxD (Pin 4) TxD (Pin 5)
USB-TTL adapter GND (Pin 5) +5 Volts (Pin 6) TxD (Pin 3) RxD (Pin 4)

Il est important ici est de ne pas relier les broches "Réinitialiser". Vous ne pouvez pas obtenir un auto-reset. Donc, vous devrez appuyer sur le bouton de réinitialisation lors du téléchargement d'un firmware.

Telechargement du Boatloader

Note: cette section ne s'applique uniquement que si vous avez un ATmega d'usine et vierge. Les vendeurs de Gen7 feront ces étapes pour vous avant l'expédition, vous n'aurez donc pas besoin d'un programmeur.

Cette section décrit comment programmer le bootloader en utilisant un programmateur. Ces programmeurs coûtent généralement quelques $ 20 à $ 30. Une solution encore moins cher est de construire un petit adaptateur de port parallèle . Une autre alternative est d'utiliser un deuxieme Arduino en tant que programmeur.


Comment s'y prendre:

  • Débranchez tous les connecteurs, y compris l'alimentation.
  • Insérez le ATmega644 dans son socket. Assurez-vous que vous l'inserez du bon coté, l'encoche sur le boîtier est dirigé vers les connecteurs de chauffage, les chiffres sur le boitier peuvent être lu du côté du connecteur ATX20.
  • Rebranchez l'alimentation électrique.

Remarque: Les broches utilisées pour le programmeur sont en conflits avec les broches utilisées pour les fins de course X_MAX, X_MIN et Y_MIN. Ce n'est pas un problème dans le fonctionnement normal, mais assurez-vous que vous avez les fins de course débranché avant de brancher le programmeur.

  • Connectez votre programmeur. Encore une fois, attention à l'insertion de la fiche dans le bon sens.

Maintenant vous devriez voir quelque chose comme cela - la LED rouge indique que l'alimentation est toujours en veille:

Gen7 Programmer Setup.jpeg

Programmation du bootloader en utilisant la ligne de commande

  • Avez-vous préparé l'IDE pour le Gen7, sinon regardez plus haut comme faire.
  • Connectez votre alimentation, au moins avec l'un des connecteurs d'alimentation.
  • Ouvrez une fenêtre terminal puis aller dans répertoire Arduino IDE. Tous les outils nécessaires sont là.
Linux

La séquence suivante a été faite sur Linux et devraient s'appliquer également à d'autres systèmes d'exploitation.

cd hardware/tools
./avrdude -C ./avrdude.conf -c ?  # find your programmer, e.g. "avrispv2"

### For the ATmega644:
# write fuses
./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644 -P /dev/ttyACM0 \
    -B 5 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse:w:0xFC:m
# upload bootloader
./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644 -P /dev/ttyACM0 \
    -B 1 -U flash:w:../Gen7/bootloaders/Gen7/bootloader-<your variant>.hex
# lock the bootloader
# this gives an expected "verification error 0xcf != 0x0f"
./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644 -P /dev/ttyACM0 \
    -B 1 -U lock:w:0xCF:m

### For the ATmega644P:
# like above, but swap "-p atmega644" with "-p atmega644p"

### For the ATmega1284P:
# like above, but swap "-p atmega644" with "-p atmega1284p"

### For an USB programmer:
# like above, but swap "-P /dev/ttyACM0" with "-P usb"

Regardez votre programmeur clignoter quelques secondes et vous avez terminé. Notez que si vous utilisez l'Arduino en tant que programmeur, vous pouvez avoir besoin d'ajouter le drapeau «-b 19200" pour qu'il fonctionne correctement.

Windows

Sur Windows, vous avez besoin de savoir à quel port COM votre carte est connecté. Essayer COM1 ... COM8 jusqu'à ce que cela fonctionne. De même à ce qui précède, les commandes sous Windows sont les suivants:

cd hardware\tools\avr\bin
avrdude -C ..\..\etc\avrdude.conf -c ?  # find your programmer, e.g. "avrispv2"

### For the ATmega644:
# write fuses
avrdude -C ..\..\etc\avrdude.conf -c <your programmer> -p atmega644 -P COM1 \
   -B 5 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse:w:0xFC:m
# upload bootloader
avrdude -C ..\..\etc\avrdude.conf -c <your programmer> -p atmega644 -P COM1 \
    -B 1 -U flash:w:..\..\..\Gen7\bootloaders\Gen7\bootloader-<your variant>.hex
# lock the bootloader
# this gives an expected "verification error 0xcf != 0x0f"
avrdude -C ..\..\etc\avrdude.conf -c <your programmer> -p atmega644 -P COM1 \
    -B 1 -U lock:w:0xCF:m 

### For the ATmega644P:
# like above, but swap "-p atmega644" with "-p atmega644p"

### For the ATmega1284P:
# like above, but swap "-p atmega644" with "-p atmega1284p"

Regardez votre programmeur clignoter quelques secondes et vous avez terminé.

Programmation du bootloader en utilisant Arduino IDE

  • Déconnecter tous les connecteurs sur la carte, asini que le connecteur d'alimentation.
  • Enlever le cavalier N°3 du programmeur USBtinyISP.
  • Brancher le cable USB vers le USBtinyISP.
  • Brancher le cable 6 broches du programmeur USBtinyISP vers la carte Gen 7 Electronics. Faites attention au sens d'orientation du conencteur
  • Reconnecter l'alimentation de la carte et mettez la en route.
  • démarrez l'IDE Arduino.
  • Selectionnez le processeur ATmega que vous utilisez dans Tools->Board menu.
  • Ne pas selectionnez COM/Serial port.
  • Selectionnez Tools->Burn Bootloader->w/USBtinyISP

La LED rouge de l'USBtinyISP doit s'allumer. Il faut une minute ou deux pour programmer la puce. Lorsque c'est fini, l'IDE vous dit qu'il a terminé et la LED rouge s'éteint.

Debugging hint: Arduino obviously doesn't attempt to use the "-B 5" flag when writing fuses onto a factory fresh chip. This is needed if the programmer was set to a higher speed earlier, as an ATmega running at 1 MHz (factory default) can't keep up with 115200 baud.

Specials

Un utilisateur a eu un alimentation délivrant seulement 4,5 volts en mode veille. C'est serré, car à 4,3 V, le détecteur détecte un saut et réinitialise.

To deal with this, you can change the extended fuse from 0xFC to 0xFD. This sets the brown-out detector's trigger level lower, to 2.7 V. While the ATmega will run out of specification for short periods of time, then, this is obviously better than no brown-out detector at all.

References

./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644p -P /dev/ttyACM0 -n -v