TenFifteen

De Wiki LOGre
Révision de 6 avril 2017 à 13:08 par Mbxddp (discuter | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
Langue : Français  • English

TenFifteen-Logo.png

Avertissement

ATTENTION ! C'est un travail en cours. Il n'a pas encore été fabriqué ni testé. Il est sujet à des modifications à venir. Utilisez à vos risques et périls !!!

Introduction

La carte TenFifteen est une carte de contrôle pour imprimante 3D (RepRap) conçue pour être robuste, fabricable à la maison et facile à réparer :

  • Circuit Imprimé 10x15cm simple face
  • Soudable à la main
  • Composants traversants, pour la plupart


La carte TenFifteen, équipée d'un micro-contrôleur Atmel Atmega1284P, est 25% plus rapide que les cartes basées sur l'Atmega2560 (RAMPS,RUMBA,AZTEEG, etc..) et a deux fois plus de RAM. Cette carte est inspirée de la réputée GEN7-AVR board, avec quelques améliorations.


Pourquoi fabriquer sa propre carte ?

  • Fabriquer sa carte permet une meilleure compréhension du matériel
  • Comme la plupart des composants sont traversants, quand un problème survient, il est plus facile à diagnostiquer

Fonctionalités

  • Prête à gérer 3 axes et 2 extrudeurs
  • Connecteurs lames FASTON fiables et bon marché pour les chauffages
  • Micro-pas jusqu'au 1/32
  • Lecteur de cartes Micro-SD 'Push-Push'
  • Beeper
  • Contrôle d'un ventilateur variable (5V/12V)
  • Contrôle d'un Servo
  • Connecteur I2C (Grove) pour un LCD et plus
  • Régulateur 5V 1.5A

Matériel

Aperçu

Aperçu de la carte TenFifteen. Cliquez pour agrandir

La carte TenFifteen a été développée avec KiCad, l'excellente suite logicielle libre et multi-plateformes pour la conception de schémas et de circuits imprimés

Schéma

Schéma de la carte TenFifteen. Cliquez pour agrandir

La carte TenFifteen utilise un micro-contrôleur Atmega1284P, un MCP2200 comme convertisseur USB -> série. Le MCP2200 a 6 GPIOs non-utilisées qui peuvent être manipulées sous Linux au moyen du périphérique /dev/hiddev approprié. Il y a un régulateur 5V/1.5A et un régulateur 3.3V pour la carte SD. Il y a 5 supports pour des modules drivers de moteurs (StepSticks) comme les A4988 ou les DRV8825. Un des connecteurs des moteurs a été doublé pour alimenter 2 moteurs (pour l'axe Z des imprimantes basées sur la Prusa i3 par exemple). Le ventilateur variable peut être alimenté en 5V régulé ou en 12V. Le choix se fait en déplaçant un cavalier.

Circuit Imprimé

Circuit Imprimé, Typon Cliquez pour agrandir
Circuit Imprimé, avant gravure. Cliquez pour agrandir
Circuit Imprimé, après gravure. Cliquez pour agrandir
Circuit Imprimé : Straps. Cliquez pour agrandir

Le circuit imprimé fait 10cm x15cm. Il pourra être fabriqué à partir d'une plaque pré-sensibilisée positive simple-face, ou à partir d'une plaque simple-face ordinaire et de film négatif. Je ne donne aucune indication sur la façon de graver le circuit, il y a plein de tutoriels sur l'Internet. Pensez seulement à utiliser le bon typon, négatif ou positif, et dans le bon sens, vous devez pouvoir lire le texte "TenFifteen" sur le côté cuivre. Sur le dessus du Circuit Imprimé, il faudra câbler 22 straps avec du fil rigide isolé, genre fil de ligne téléphonique. Le fil isolé est obligatoire, il en passe sous les résistances R2 à R5, et aussi à proximité de certains connecteurs.

Liste des Composants

Composants (dessus). Cliquez pour agrandir
Composants (dessous). Cliquez pour agrandir

La Liste des Composants a été grossièrement estimée avec les prix les plus bas constatés sur ebay, aliexpress, mouser, farnell, etc..

Components Description Qty €/$
IC1 ATMEGA1284P-PU 1 7.00
IC1' 40pins DIP IC socket 1 0.15
IC2 MCP2200-I/SO 1 2.50
U1 LD1117S33 1 0.60
U2 L7805CV 1 0.50
Q1,Q2,Q3,Q4 IRLB3034PbF 4 2.00
Q5 BC547C 1 0.05
D9 1N4007 ou 1N4007W 1 0.02
D4,D5,D6 1N4007W 3 0.06
D1,D2,D3,D7,D8,D10,D11 LED 3mm 7 1.00
Y1 20MHz HC-49S 1 0.15
Y2 12MHz HC-49S 1 0.15
R10,R12,R14,R16 10 ohms 4 0.08
R30,R31 470 ohms 2 0.04
R26,R27,R32 1k ohms 3 0.06
R7,R8,R9,R20,R22,R24 1k8 ohms 6 0.12
R21,R23,R25 3k3 ohms 3 0.06
R17,R18,R19 4k7 ohms 3 0.06
R6,R28,R29 10k ohms 3 0.06
R1,R2,R3,R4,R5,R11,R13,R15 100k ohms 8 0.16
C14,C15,C17,C18 22pF pitch 2.54mm 4 0.08
C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C16,C19,C22,C24,C25,C27,C28 0.1µF/50V pitch 2.54mm 17 0.17
C21 0.1µF/50V pitch 5.08mm 1 0.01
C11,C13,C12 10µF/35V 3 0.30
C20,C26 47µF/35V 2 0.30
C23,C29,C30,C31,C32,C33 100µF/35V 6 1.20
L1 10µH 1 0.10
M3,M4,M5,M1,M2 1x8 pin header female 10 0.90
P32,P33,P36,P37 1x2 pin header male 4 0.04
P10,JP16,JP17 1x3 pin header male 3 0.03
(JP1,JP2,JP3),(JP4,JP5,JP6),(JP7,JP8,JP9),(JP10,JP11,JP12),(JP13,JP14,JP15),J1 2x3 pin header male 6 1.00
P11,P12,P13,P14,P15,P16,P29,P30,P31,P41,P42,P43 62409-1 or 62650-1 FASTON 12 1.80
P17,P18,P19,P20,P47 Molex KK 2.54 2pins 5 1.00
P7,P8,P9 Molex KK 2.54 3pins 3 0.60
P1,P2,P3,P4,P5,P6 Molex KK 2.54 4pins 6 1.50
P21 USB Socket Type B 1 0.15
P28 I2C-GROVE (SeeedStudio) 1 0.15
SW1 Push button 6mm 1 0.02
J2 MICROSD Push Push Socket 1 0.20
F1 5mmx20mm Fuse holder 1 0.25
BUZ1 BIOS Beeper 1 0.60
TOTAL 25.22

Montage des Composants

Il faut commencer par monter les 22 straps en fil isolé. Ensuite, on monte en général les composants les plus bas, diodes, résistances, etc.. pour terminer par les composants les plus hauts, condensateurs chimiques, transistors de puissance, etc.. Il y a quelques composants à souder côté cuivre : IC2,U1,J2,D4,D5,D6 et D9, si vous décidez de la mettre aussi en version CMS.

Logiciel

Étapes de l'installation du logiciel :

  • Configuration du MCP2200
  • Installation d'un bootloader dans l'Atmega1284P
  • Compilation et installation du firmware interpréteur de G-code dans l'Atmega1284P

Configuration du MCP2200

Le MCP2200 se comportera comme un convertisseur USB-Série à 115200 bauds sans aucune configuration supplémentaire, mais si vous voulez activer les LEDs Rx/Tx ou si vous voulez changer les chaînes Product et Manufacturer, vous devrez bidouiller la configuration du MCP2200. Ceci peut être fait depuis Linux avec mcpconfig ou depuis Windows®™ avec l'outil du fabricant.

Linux

Installer mcpconfig
Clonez l'utilitaire de configuration de MCP2200 pour Linux :

git clone https://framagit.org/MarcusFecit/mcp2200

Puis rendez-vous dans le dossier mcp2200 et compilez le programme :

cd mcp2200
make

Copiez le binaire mcpconfig quelque part dans votre $PATH pour pouvoir l'exécuter, ou restez dans le dossier de compilation et utilisez ./mcpconfig

Détecter votre périphérique HID
Après avoir branché l'USB de votre MCP2200, tapez :

sudo mcpconfig --list|grep hiddev|cut -f2 -d' '

La ligne de commande précédente devrait retourner : /dev/usb/hiddev0 ou /dev/usb/hiddev1, etc..
Remplacez le fichier périphérique /dev/usb/hiddev... avec le numéro approprié dans les commandes qui suivent

Affichez la configuration

sudo mcpconfig -f /dev/usb/hiddev1 --dumpconfig

Sur un circuit neuf, ça devrait ressembler à ceci :

04 IO_Bmap             : 3F
05 Config_Alt_Pins     : 0C
        SSPND          : 0
        USBCFG         : 0
        RxLED          : 0
        TxLED          : 0
06 IO_Default_Val_bmap : FF
07 Config_Alt_Options  : 00
        RxTGL          : 0
        TxTGL          : 0
        LEDX           : 0
        INVERT         : 0
        HW_FLOW        : 0
08 Baud                : 0067
08 Baud                : 115384
0A IO_Port_Val_bmap    : C0

Comme vous pouvez le voir :

  • RxLED, TxLED sont à '0'. Nous devons changer ça pour utiliser nos LEDs..
  • HW_FLOW is set to '0'. C'est ce que nous voulons, pas de changement nécessaire.
  • Le Baud rate est '115384' au lieu de '115200'. Pas d'inquiétude, c'est normal.

Activer les LEDs

sudo mcpconfig -f /dev/usb/hiddev1 --txled 1 --rxled 1

Vérification du résultat

sudo mcpconfig -f /dev/usb/hiddev1 --dumpconfig

Le résultat devrait être maintenant :

04 IO_Bmap             : 3F
05 Config_Alt_Pins     : 0C
        SSPND          : 0
        USBCFG         : 0
        RxLED          : 1
        TxLED          : 1
06 IO_Default_Val_bmap : FF
07 Config_Alt_Options  : 00
        RxTGL          : 0
        TxTGL          : 0
        LEDX           : 0
        INVERT         : 0
        HW_FLOW        : 0
08 Baud                : 0067
08 Baud                : 115384
0A IO_Port_Val_bmap    : C0

Les valeurs importantes à vérifier sont HW_FLOW (doit être à 0) RxLED et TxLED (doivent être à 1) et le nombre de Baud (doit être à 115384).
Ceci fait, c'est suffisant pour que votre MCP2200 soit pleinement fonctionnel.




Si votre MCP2200 a déjà été bidouillé pour un autre usage, ou si vous voulez changer les chaînes Product et Manufacturer, utilisez les commandes suivantes :

Désactiver le contôle de flux matériel

sudo mcpconfig -f /dev/usb/hiddev1 --hwflow 0

Changer le nombre de bauds

sudo mcpconfig -f /dev/usb/hiddev1 --baud 115200

Modification des chaînes
Sur un MCP2200 neuf, les chaînes 'manufacturer' et 'product' sont:

  • Manufacturer: Microchip Technology Inc.
  • Product: MCP2200 USB Serial Port Emulator

Modification de la chaîne 'manufacturer' (64 caractères maximum)

sudo mcpconfig -f /dev/usb/hiddev1 --manuf "Me MYSELF"

Modification de la chaîne 'product' (64 caractères maximum)

sudo mcpconfig -f /dev/usb/hiddev1 --prod "TenFifteen 1.0"

Vérifier les chaînes

sudo mcpconfig --list

Le résultat :

Path: /dev/usb/hiddev1
Manufacturer: Marc BERLIOUX
Product: TenFifteen 1.0

Vous pouvez aussi voir ces chaînes apparaître dans les logs du kernel, quand vous branchez l'USB, par la commande  :

tail -f /var/log/kern.log

Tout ceci peut être fait avec une seule ligne de commande. Remplacez simplement la chaine manufacturer et la chaîne product par les vôtres :

sudo mcpconfig -f /dev/usb/hiddev1 --baud 115200 --hwflow 0 --txled 1 --rxled 1 --manuf "Moi et RIENQUEMOI" --prod "TenFifteen 1.0"

Windows®™

Utilisez l'utilitaire de configuration de MCP2200 fourni par Microchip et suivez ces instructions : http://reprap.org/wiki/Gen7_Board-AVR_1.5#Programming_the_MCP2200

Installation du Bootloader

Installation du Bootloader. Cliquez pour agrandir

Un Atmega1284P neuf, sorti d'usine, n'a pas de bootloader installé et par conséquent ne peut être programmé ou reprogrammé directement par son port série. Pour installer le bootloader à l'aide du connecteur ISP, il vous faudra un programmeur USB ISP aussi nommé "USBASP" disponible pour quelques piastres. Si votre programmeur n'a qu'un connecteur 10 pins, il vous faudra également un "adaptateur 10 pins vers 6 pins". Vous trouverez plein de ces programmeurs en recherchant simplement "usbasp 10pin 6pin" sur ebay ou aliexpress. Pour contrôler ce programmer, vous aurez aussi besoin du logiciel avrdude.

  • Décompressez l'archive TenFifteen_Arduino_Hardware.zip dans votre IDE Arduino, dossier sketchbook/hardware. Vous devriez avoir :
sketchbook/
├── hardware
│   └── TenFifteen
│       ├── bootloaders
│       │   └── TenFifteen
│       ├── cores
│       │   └── arduino
│       └── variants
│           └── TenFifteen
|...
  • Placez vous dans le dossier sketchbook/hardware/TenFifteen/bootloaders/TenFifteen
  • Enlevez la carte µSD et ne connectez rien d'autre à la TenFifteen.
  • Branchez votre programmer sur le connecteur ISP de la carte TenFifteen
  • Programmez les fusibles :
avrdude -c usbasp -p m1284p -B 5 -U lfuse:w:0xF7:m -U hfuse:w:0xDC:m -U efuse:w:0xFC:m
  • Programmez le bootloader:
avrdude -c usbasp -p m1284p -B 1 -U flash:w:bootloader-1284P-20MHz.hex
  • Verrouillez le bootloader:
avrdude -c usbasp -p m1284p -B 1 -U lock:w:0xCF:m