Gen7 Board 1.3.1/fr
Gen7 Board 1.2 | Gen7 Board 1.1 | Gen7 Board 1.0
This supersedes Gen7 Board 1.3.
Release status: working
Description | Generation 7 Electronics
|
License | |
Author | |
Contributors | |
Based-on | [[]]
|
Categories | |
CAD Models | |
External Link | (none)
|
Contents
Acheter les circuits et composants
Circuits imprimés
Vous pouvez acheter les circuits imprimés directement auprès de Traumflug.
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 a commande numérique est décrite sur la page principale Gen7. Vous devez constuire un circuit "Gen7Board" PCB 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 a Traumflug pour une licence commerciale.
Composants
Vous pouvez obtenir un kit de composants Gen7et un kit de conencteurs Gen7 auprès de Traumflug.
Si vous souhaitez acheter vous même les composants et connecteurs, consultez la section Listes de pièces #Parts Lists.
Liste des pièces
Pour assembler ou de 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:
- The Pololu Stepper Drivers want two single rows of 8 pin female connectors soldered into the board, so get these.
- 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».
- The Pololus can be operated with up to 35 V, so you may want like-rated electrolytic capacitors.
- Vous pouvez ajouter dans la liste quelques câble pour les connecteurs, des broches supplémentaire à sertir et quelques fils.
Composants électroniques
La liste est ordonné dans le même sens que l'assemblage.
Name | Count | Designations | Vendors | Remarks | |||||
---|---|---|---|---|---|---|---|---|---|
0.6 mm Wire | 50 cm | Völkner | Digi-Key | Mouser | for the wire bridges on single sided PCBs | ||||
Resistor 560 Ohms | 2 | R14, R22 | Reichelt | Völkner | Farnell | RS | Digi-Key | Mouser | |
Resistor 1 kOhms | 8 | R2, R6, R8, R10, R11, R12, R16, R18 | Reichelt | Völkner | Farnell | RS | Digi-Key | Mouser | |
Resistor 4.7 kOhms | 2 | RT1, RT2 | Reichelt | Völkner | Farnell | RS | Digi-Key | Mouser | |
Resistor 10 kOhms | 1 | R30 | Reichelt | Völkner | Farnell | RS | Digi-Key | Mouser | |
Diode 1N4004 | 2 | D1, D2 | Reichelt | Völkner | Farnell | Digi-Key | Mouser | ||
Coil 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 | ||
Reset Switch | 1 | RESET | Reichelt | Völkner | Farnell | Digi-Key | Mouser | ||
Ceramic Capacitor 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 Green | 3 | LED2, LED5, +5V | Reichelt | Völkner | Farnell | Digi-Key | Mouser | ||
LED 3 mm Yellow | 1 | Standby | Reichelt | Völkner | Farnell | Digi-key | Mouser | ||
Ceramic Capacitor 22 pF | 2 | C3, C4 | Reichelt | Völkner | Farnell | RS | Digi-Key | Mouser | |
Electrolytic Capacitor 10 uF | 2 | CT1, CT2 | Reichelt | Völkner | Farnell | Digi-key | Mouser | ||
Electrolytic Capacitor 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 Header 2 Pin | 3 | J13, J14, J15 | Reichelt | Völkner | RS | Digi-Key | Mouser | cut them into appropriate pieces | |
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 | ||
Pololu Header | 8 or 4 | U2, U3, U4, U5 | Reichelt | Völkner | Digi-Key | Mouser | cut them to appropriate length, you want 8x 8 pins | ||
Misc Header | 1 | MISC | Reichelt | Völkner | Digi-Key | Mouser | cut to appropriate length | ||
Socket for the 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
Name | Count | Designations | Vendors | Remarks | |||||
---|---|---|---|---|---|---|---|---|---|
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 | This is the one also used in Gen2 and Gen3 Electronics; | |||
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 | 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 | 2 | ||||||||
Rondelle M3 pour le montage des radiateurs sur les MOSFET | 2 | ||||||||
Ecrous M3 pour le montage des radiateurs sur les MOSFET | 2 | ||||||||
Radiateur pour les polulus | 4 | Völkner | RS | ||||||
Ruban double face conducteur de la chaleur | 1 | Völkner | pour le double face qui permet de coller els radiateurs sur les polulu, coupé le à la bonne dimension. |
Miscellaneous
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 composants 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 |
---|---|---|
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 A4983 Breakout Board | Pololu |
---|---|
Open Source Alternative | StepStick |
Instructions pour le montage
- Pour connaître les composants à mettre où, avoir la présentation sur votre écran de PC disponibles.
- Les circuits imprimées fabriquées avec des chemins de Voronoi 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 posez le circuit imprimé face soudure vers l'avant 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 huit têtes de broches pour le Pololus sont chers, les kits sont livrés avec têtes à moindre coût la broche 10. Couper 2 broches hors de chacun.
- Bien souder une paire de ces en-têtes, insérer un Pololu pour assurer un 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.
LED2, LED5 et le +5 V LED sont des LED vertes. Les LED sont des diodes, il faut donc bien les orienter. La plus grande des 2 pattes est associé au signe +, qui arrive d'aller dans le trou supérieur à chaque fois. Vous pouvez aussi comparer avec le signe + du schéma d'implantation.
C1, C2, C6 et C7 sont des condensateurs électrolytiques, la broche (-) va à l'extérieur ou vers le bas. Encore une fois, comparer avec du schéma d'implantation.
Changing the appearance of the board quite a bit, insérez les 8 connecteurs femelle pour les Pololus. Probablement que vous aurez besoin de les couper en longueur (utilisez une paire de ciseaux). C'est aussi une bonne idée d'insérer un driver Pololu avec ces 2 connecteur mâle pour assurer un parfait ajustement des connecteurs femelles.
Comme vous pouvez le voir, ni les MOSFETs, ni l'ATmega ne sont insérés encore. Nous y reviendrons plus tard.
Mise en route
Ces étapes montrent comment passer d'une carte mère soudé a un statut opérationnel.
Alimentation possible
Vous pouvez alimenter la carte de plusieurs manière.
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 du disque.
Les alimentation 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 ce scénario, 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 calme. Chaque commande G-code nécessitant plus de courant va faire tourner l’alimentation de suite.
Note: le connecteur ATX24 est rétrocompatible avec les anciens connecteurs ATX20, donc si vous avez un bloc d'alimentation avec un connecteur ATX20, vous pouvez l'utiliser. Il n'y a qu'une seule position d'insertion, et donc pas d'inconvénient à utiliser un vieux approvisionnement.
Option 2
C'est pour les utilisateurs qui utilise 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 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 vide. L'ATmega sera alimenté par le connecteur de la liaison série. Cela suppose que votre connecteur série puisse fournir 5V , certains convertisseurs USB-TTL necessite 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ù obtenir il peut obtenir le 5 V.
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 pouvez prendre quelques mesures pour s'assurer que votre nouveau ATmega sera ne va pas griller lors de l'insertion.
- 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é ou d'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.
Checks:
- Pas de fumée? Super.
- Le voyant jaune dans le coin inférieur droit est allumé? Encore Super.
- Si vous avez choisi l'option 1, cour-circuiter les deux ponts de fil, comme sur la ligne pointillée verte dans l'image. Ceci devrait activer l'alimentation.
- Dans le même temps, la LED verte dans le coin inférieur droit devrait être allumée
- Si vous avez un voltmètre, mesurer les tensions montrées sur la photo.
- Vérifiez chacune des broches de la prise ATmega, aucune d'entre elles ne devraient avoir plus de 5,5 volts.
- Pour plus de sécurité, vérifiez les broches de la rangée inférieure des connecteurs pour les Pololus. Aucun d'entre eux devrait dépasser 5,5 volts aussi.
Si vous avez respecter toutes ces recommandations, vous pouvez sans risque passer à la suite.
Insertion des Semiconducteurs
Maintenant c'est le bon moment pour inserer les semi conducteurs, si toutes les étapes précédentes ont bien été respecté
- 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 , les courants sont élevés ici.
- Montez les radiateurs. La photo montre le placement recommandée.
- Insérez le ATmega dans son socket. Il y a une encoche sur l'une des extrémités du boitier noire du processeur (groove) . Cette rainure doit être du coté des transistors MOSFET , l'autre partie sans l'encoche est proche du connecteur ATX24.
Preparation de l'IDE Arduino
- Téléchargez,décompressez et installer Arduino IDE.
- Téléchargez et décompressez Gen7 Arduino IDE Support package.
- Trouvez les dossiers
Gen7
dans ce paquet et de le déplacer dans le dossierhardware
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 dans le type de processeur et la vitesse d'horloge.
- Sous Menu -> Tools -> Port série, sélectionnez le bon serial / port COM.
Remarque: 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 trouverez 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 de mettre le dossier Gen7 là-dedans. Le dossier "sketch" est crée lorsque vous exécutez l'IDE Arduino pour la première fois.
Bootloader
Si vous avez acheté votre ATmega avec l'un des kits Gen7, le bootloader doit avoir déjà été téléchargées. Toute autre bootloader, comme ceux que l'on trouve pour Sanguino, RAMPS, Sanguinololu or sont aussi une bonne solution.
Si vous avez acheté un ATmega, auprès d'un fournisseur d'électronique générale voir la section boatloader suivante suivante.
Si vous êtes dans le doute, continuer avec votre installation. Un manquement de bootloader se traduira par une erreur de timeout lorsque l'on tente 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 les connectez, la Masse est toujours à gauche:
Il suffit de brancher le connecteur de connecter 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
C'est une bonne idée de télécharger un firmware de test pour tester votre travail.
Vous pouvez trouver un firmware de test dans sur les pages Gen7 Github.
- Télécharger ce fichier SetupText.pde. Si ce fichier s'ouvre dans la fenêtre du navigateur, faites un "Enregistrer sous ...".
- Préparez votre Gen7 par l'insertin des fiches d'alimentation, le convertisseur série, la prise USB et ainsi de suite.
- Démarrez l'environnement de développement (IDE) Arduino .
- Avec l'IDE arduino , ouvrir SetupTest.pde. l vous sera demandé si vous voulez créer un dossier du même nom, cliquez sur "Oui".
- Assurez-vous que le bon port série et le bon type de conseil est toujours sélectionné dans le menu Test.
- 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 terminé." juste au-dessus de ce champ de texte.
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 :
- Si vous ouvrez le port série du moniteur de l'EDI et vous écouter à 9600 bauds, vous pouvez lire ce que l'ATmega fait. Si vous pouvez lire le texte en clair, la ligne série fonctionne.
- Trois ou quatre secondes après le téléchargement, l'alimentation doit revenir en fonctionnement, elle fait clignoter les LED de HEATER1 quelques fois et reteint l'alimentation.
- 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 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 etes libre de choisir des paramètres différents pour chacun des moteurs, par exemple, 1 / 8 micropas pour les axes tige filetée (Z) et 1 / 16 micropas pour les axes à courroie (X, Y).
La sélection des micropas est fait 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:
Le tableau suivant montre ce que vous obtenez avec chaque combinaison: MS2 MS3
MS2 | MS3 | Resolution en micropas |
---|---|---|
Libre | Libre | demi pas |
Libre | connecté | non disponible! |
connecté | Libre | 1/8 pass |
connecté | connecté | 1/16 de pas |
Firmware
In principle, you can run any of the RepRap Firmwares on this board. Adjust the I/O pin layout, adjust compile time options for no secondary board/no RS485 and proceed. Just like Gen2, RAMPS or similar electronics.
Teacup Firmware
Teacup's Simple Installation instructions show nicely how to do this. Some tweaks are required for Gen7:
- Have your Arduino IDE prepared for Gen7, as explained above.
- Download the Gen7 branch instead of the standard download.
- Use the config.gen7.h and ThermistorTable.gen7.h you find there.
With config.h left untouched, at least something should move. This is fine for first tests, but not sufficient to have everything right for your machine. Edit your config.h further to match your machine and your setup. Config.h has a lot of comments inside the file, helping on the details. For example, STEPS_PER_MM_X should be set according to your choice of microstepping.
FiveD Firmware
FiveD has been run succssfully on Gen7. As the ATmega pin layout of v1.3 almost matches that of v1.2, firmwares running on v1.2 continue to work on v1.3. Snuggles has kindly contributed his sources:
File:FiveD 20100610 for Gen7 v1.2.zip
To upload the Firmware do the following:
- Have your Arduino IDE prepared for Gen7, as explained above.
- Open the FiveD_GCode_Interpreter.pde file inside the FiveD_GCode_Interpreter folder with the IDE.
- Press the upload button in the IDE's toolbar.
- If there are no errors, you're done.
This should get you started, but don't forget to adjust STEPS_PER_MM in configuration.h to match your mechanics.
Other Configurations
The following should help to configure other firmwares.
Pinout
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) is gone.
Customisations & Others
This part describes possible modifcations for advanced users only.
Non-12-V-Voltages
While it's very practical to use 12 volts as they come out of the power supply, Gen7 is prepared for other voltages, too. Even better, you can supply different voltages for motors and heaters.
Possible usages:
- 12 V for the heaters, 24 for the motors. This will still allow to use standard Reprap heating elements for the extruder and heated bed, while the motors can now run faster. Motor supply voltage is only limited by the Pololus and can go up to 35 volts.
- 12 V for the motors, 5 V for the heaters. This whould wear your power supply more evenly.
- 12 V for the motors, 3.3 V for something like EDM or inductive heated nozzles. Remember, the IRFZ44N can switch pretty fast, and the ATmega has frequency/PWM generators on board.
- ...
On where to supply what, see the picture above. Simply rewire the disk power connectors to your needs and make sure all power sources contact at least one GND pin, to give them a common ground.
The 5 volts on the upper disk power connector is not needed if you use the ATX20/24 connector, but don't supply there a different voltage, or a voltage from a different power supply, either.
Serial Connection
If you want a custom solution, you can create one, of course. Just connecting an RS-232 port to the serial connector won't work, however, even if you ignored the different voltage levels. ATmega's serial signal is inverted (Logical 0 = 5V, Logical 1 = 0V). Here's the serial connector's pinout:
1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|
GND | CTS (set to GND) | +5 Volts | RxD | TxD | Reset |
RxD is ATmega's pin 14 (data to the chip); TxD is ATmega's pin 15 (data from the chip).
With pin 3 you can feed the ATmega, if you have no other current source. If you have another current source, e.g. your power supply, you might have slightly different potentials of 5V though, so you better keep this pin unconnected.
Pin 6 is usually connected to the serial line's RTS. This triggers a reset each time you start a connection to the ATmega and is very convenient when uploading firmware - no pressing of the reset button needed, then. Arduinos have this hardwired. If you keep pin 6 free, press the reset button each time your IDE (avrdude) attempts an upload.
Using an E'go USB-TTL adapter
This converter is cheap, uses the Silicon Labs CP2102 chip and basically works:
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) |
Important here is to not connect both Reset pins.
What you can't get is auto-reset. So you have to press the reset button when uploading a firmware.
Bootloader Upload
Note: this section only applies if you have a blank, factory fresh ATmega on your board. Friendly Gen7 vendors will do these steps for you before shipping, so you don't need a programmer.
This section describes how to program the bootloader using a programmer. These programmers usually cost some $20 to $30. Even cheaper is to build a bit banging parallel port adapter. Another alternative is to use an Arduino or second electronics as a programmer.
How to go:
- Disconnect all connectors, including the power supply.
- Insert the ATmega644 into it's socket. Make sure you do it the right way, the small nut on the housing goes towards the heater connectors, the numbers on the housing can be read looking from the ATX20 connector side.
- Re-connect the power supply.
Note: The pins used for the programmer conflict with the pins used for the X_MAX, X_MIN and Y_MIN endstops. This isn't an issue in normal operation, but make really sure you have these endstops disconnected before hooking up the programmer.
- Connect your programmer. Again, watch out for insertion of the plug the right way.
Now you should see something like this - the red LED indicates the PSU is still without juice:
Programming the bootloader using the command line
- Have your Arduino IDE prepared for Gen7, as explained above.
- Connect your power supply, at least one of the power connector indicators should be lighted.
- Open a terminal and change directory into Arduino IDE's folder. All required tools are there, even if you haven't installed them system-wide.
Linux
The following sequence was done on Linux and should apply similarly on other OSs.
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"
Watch your programmer a few seconds blinking and you're done. Note that if you're using the Arduino as programmer, you may need to add the flag "-b 19200" for it to work correctly.
Windows
On Windows, you'll have to find out which COM port your board is connected to. Or simply try COM1 ... COM8 until it works. Similarly to the above, the commands on Windows are:
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"
Watch your programmer a few seconds blinking and you're done.
Programming the bootloader using Arduino IDE
-- Yet to be found out --
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
One user had a power supply delivering just 4.5 volts in standby. That's tight, because at 4.3 V the brown-out detector jumps in and resets the board.
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
- AVR Fuse Calculator
- Check fuses and other ATmega properties with:
./avrdude -C ./avrdude.conf -c <your programmer> -p atmega644p -P /dev/ttyACM0 -n -v
- How to write the bootloader onto Arduinos
- Bootloader half the size of Arduino's/Sanguino's
- About programming with direct USB programmers like the USBTinyISP. Hint: you need to use "sudo" or write a rule in /etc/rules.d.