User Tools

Site Tools

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
connect_sevenswitch_to_ramps [2016/05/25 16:33] – [Firmware Modification] fattminerconnect_sevenswitch_to_ramps [2023/10/30 23:53] (current) – external edit (unknown user)
Line 1: Line 1:
 ====== Connect a SevenSwitch to a RAMPS ====== ====== Connect a SevenSwitch to a RAMPS ======
  
-One of the oddities of the RepRap community is the heated bed connector on the very popular RAMPS controller. It's undersized for modern beds and this is known for years, but nobody fixes it (which would trivial).+One of the oddities of the RepRap community is the heated bed circuitry on the very popular RAMPS controller. It's undersized for modern beds and this is known for years. Even a [[http://reprap.org/wiki/RAMPS_1.4#RAMPS_1.4.2|claim of a fix]] exists, but such fixes aren't recognized by cheapo-china, where everybody buys, so the undersized variants are found about everywhere.
  
-Anyways. One of the solutions to work around this situation is to use a [[SevenSwitch]] to do the hard work. Here we show how to connect this switch to a RAMPS and how to tweak the popular firmwares to work with the new switch instead of the old one.+Anyways. One of the solutions to work around this situation is to use a [[http://www.reprap.org/wiki/SevenSwitch_1.2|SevenSwitch]] to do the hard work. Here we show how to connect this switch to a RAMPS and how to tweak the popular firmwares to work with the new switch instead of the old one.
  
 ===== Finding a Signal Pin ===== ===== Finding a Signal Pin =====
Line 13: Line 13:
 Some vendors solder in pins there already, others don't. If there are none, you have to do this yourself. Standard 0.1" spaced pins are fine. Another option is to solder the signal wire directly into the board. Some vendors solder in pins there already, others don't. If there are none, you have to do this yourself. Standard 0.1" spaced pins are fine. Another option is to solder the signal wire directly into the board.
  
-<html><div style="clear:both;"></div></html> 
 {{ :sevenswitch:ramps_1.4_servos_pinout.png?300|Pinout of the RAMPS Servos connector(s).}} {{ :sevenswitch:ramps_1.4_servos_pinout.png?300|Pinout of the RAMPS Servos connector(s).}}
  
Line 28: Line 27:
   * Thick lines mean wires carrying substantial current, so it needs thick wires. Required thickness depends on the current going to the heated bed; using a 1.5\_mm² (AWG\_15) wire is almost always sufficient. For a little extra bed power, many use 2.5\_mm (AWG\_11) size.   * Thick lines mean wires carrying substantial current, so it needs thick wires. Required thickness depends on the current going to the heated bed; using a 1.5\_mm² (AWG\_15) wire is almost always sufficient. For a little extra bed power, many use 2.5\_mm (AWG\_11) size.
   * Dismantling an old power cable meant to connect a 110/230\_volts device to mains power is a convenient way to harvest such thick wires. Works on 12\_volts just fine.   * Dismantling an old power cable meant to connect a 110/230\_volts device to mains power is a convenient way to harvest such thick wires. Works on 12\_volts just fine.
 +  * As well, chopping the cable from any old electrical device that connects to a wall outlet is a cheap way to obtain such wires.
   * Power supply doesn't have to be the same as the one supplying RAMPS and stepper motors. A separate one works entirely fine.   * Power supply doesn't have to be the same as the one supplying RAMPS and stepper motors. A separate one works entirely fine.
   * Polarisation of these two wires going to the heated bed doesn't matter.   * Polarisation of these two wires going to the heated bed doesn't matter.
Line 38: Line 38:
 There are several pin naming schemes in use. This table shows different names for the same pin. Teacup Firmware allows two names, each of them works equally well: There are several pin naming schemes in use. This table shows different names for the same pin. Teacup Firmware allows two names, each of them works equally well:
  
-^RAMPS ^ [[https://www.arduino.cc/en/Hacking/PinMapping2560|Arduino]] ^ ATmega ^ Teacup ^ Marlin ^ +^RAMPS ^ [[https://www.arduino.cc/en/Hacking/PinMapping2560|Arduino]] ^ ATmega ^ Timer((This is the internal name of the timer used to do PWM on this pin. Use this name when investigating wether a particular firmware uses this timer for other purposes, making PWM on this pin unavailable.)) ^ Teacup ^ Marlin ^ Remarks 
-^    D4|   D4|  PG5|   DIO4 or PG5|   4| +^    D4|   D4|  PG5|  OC0B|   DIO4\_or\_PG5|   4
-^    D5|   D5|  PE3|   DIO5 or PE3|   5| +^    D5|   D5|  PE3|  OC3A|   DIO5\_or\_PE3|   5
-^    D6|   D6|  PH3|   DIO6 or PH3|   6| +^    D6|   D6|  PH3|  OC4A|   DIO6\_or\_PH3|   6
-^   D11|  D11|  PB5|  DIO11 or PB5|  11|+^   D11|  D11|  PB5|  OC1A|  DIO11\_or\_PB5|  11|PWM unavailable when using Teacup or Marlin firmware((These firmwares use OC1A as stepper timer.)) |
  
-For the actual code, depending on which version of RAMPS you have there will be a pins.h, or pins_ramps_13.h if you have the makerfarm pegasus, file that has a few lines that will need to be changed. There should be between 1 and 2 lines that have a value that need to be changed. Typically the line will be:+==== Teacup ==== 
 + 
 +{{ :sevenswitch:teacup_bed_pin_change.png?300|Here a heater pin gets changed.}} 
 + 
 +Launch Configtool, go to the board panel, then to the heater panel, then mark the line for the bed and click on //Modify//. Select the new pin, click on //Save//, build and upload the firmware. 
 + 
 +==== Marlin ==== 
 + 
 +For the actual code, depending on which version of RAMPS you have there will be a ''pins.h'', or ''pins_ramps_13.h'' if you have the Makerfarm Pegasus, file that has a few lines that will need to be changed. There should be between 1 and 2 lines that have a value that need to be changed. Typically the line will be:
   #define HEATER_BED_PIN        // BED   #define HEATER_BED_PIN        // BED
-This will need to be changed to: +We will use pin D4 for the new SevenSwitch. This will need to be changed to: 
-  #define HEATER_BED_PIN     11    // BED +  #define HEATER_BED_PIN        // BED 
-Once this is done, from within the Arduino software, go to the corresponding pins file and confirm the changes. After that you can upload the firmware and proceed to testing.+Or whatever pin you decide to use. Once this is done, from within the Arduino software, go to the corresponding pins file and confirm the changes. After that you can upload the firmware and proceed to testing.
 ===== Why not ... ===== ===== Why not ... =====
  
connect_sevenswitch_to_ramps.1464186822.txt.gz · Last modified: 2018/05/27 16:10 (external edit)