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/20 16:07] – [Wiring] Traumflugconnect_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 25: Line 24:
  
   * Thin lines are signal wires which draw negligible current, so one can use thin wires. Typically used wire is 0.14\_mm² or AWG\_35.   * Thin lines are signal wires which draw negligible current, so one can use thin wires. Typically used wire is 0.14\_mm² or AWG\_35.
 +  * The green line is the signal wire. Voltage on this one turns the switch on and off.
   * 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.
-  * The green line is the signal wire. This one turns the switch on and off.+  * 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.
   * Do not connect the heated bed, yet. Without the bed connected there are no currents flowing, so nothing can overheat. The green LED will show wether the switch is working.   * Do not connect the heated bed, yet. Without the bed connected there are no currents flowing, so nothing can overheat. The green LED will show wether the switch is working.
 +
 +===== Firmware Modification =====
 +
 +One obvious task left is to tell the firmware which pin to use to switch the heated bed. How to do this depends a bit on the used firmware.
 +
 +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 ^ 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|  OC0B|   DIO4\_or\_PG5|   4| |
 +^    D5|   D5|  PE3|  OC3A|   DIO5\_or\_PE3|   5| |
 +^    D6|   D6|  PH3|  OC4A|   DIO6\_or\_PH3|   6| |
 +^   D11|  D11|  PB5|  OC1A|  DIO11\_or\_PB5|  11|PWM unavailable when using Teacup or Marlin firmware((These firmwares use OC1A as stepper timer.)) |
 +
 +==== 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
 +We will use pin D4 for the new SevenSwitch. This will need to be changed to:
 +  #define HEATER_BED_PIN        // BED
 +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.1463753221.txt.gz · Last modified: 2018/05/27 16:10 (external edit)