Main Page
From ECCWiki
Welcome to the ECC Documentation Wiki
The ECC Wiki is the technical documentation of the BCS-460 Temperature Controller. This wiki is community based, BCS-460 owners are encouraged to contribute where they see the documentation is lacking.
Please read the Disclaimer before getting started.
Contents |
Where to Start
To interface with the BCS-460, users simply connect an Ethernet cable into the Ethernet port of the BCS-460, and also into your network router or directly to your computer. Connect the power adapter and the BCS-460 will boot up.
Connect to the unit by opening a web browser window and entering in the target IP address of the controller. Currently Firefox, Safari, and Chrome browsers are supported. Internet Explorer is currently not supported. Firefox is recommended.
Technical Specifications
Technical Specifications - Power requirements, etc.
Wiring the I/O
The BCS-460 has the following Inputs and Outputs available:
- 6 Discrete Outputs (Outs)
- 4 Discrete Inputs (Dins)
- 4 Analog Temperature Probe Inputs (Temps)
- Expansion Port for Future Upgrades
Discrete Outputs (Outs) are rated at 5VDC up to 20mA each. The BCS-460 is designed to control relays, and not to drive high current loads. A typical application is to use Solid State Relays (SSR) for this purpose. To control SSRs, wire the SSR Input positive (+) terminal to Out0 (or other Out) located in connector P0, and the SSR Input negative (-) terminal to GND, respectively. There are three identical GND terminals available, use the one that is most convenient.
| Tip: Solid State Relays (SSRs) do require heat sinks of some sort when controlling high energy, i.e., they must be fastened to a larger metal item than themselves. Use a heat sink paste between the SSR and the metal to help the heat dissipate. |
Discrete Inputs (Dins) are available for switches, push buttons, etc. They are also rated at +5VDC. To assert a Din, connect the Din terminal to the +5VDC terminal (presumably through a switch). To deassert the Din, simply disconnect the Din terminal, as there is a weak pulldown resistor that will pull the Din to ground.
Analog Temperature sensor inputs support thermistor based temperature probes. Probes must be NTC (Negative Temperature Coefficient) thermistors with a 10Kohm ambient reading. Users can connect any thermistor based sensor within these specs, by simply programming the temperature coefficients into the BCS-460 that are provided by the sensor manufacturer. See Calibrate Temperature Probes
When wiring the temperature probes the polarity of the sensor wires is not relevant, the thermistors work equally well in either orientation. Connect one wire to the TEMP terminal, and the other to GND. Additionally extending the length of the temperature probes can easily be done due to the minimal resistance the extra wire adds to the circuit, so extending a probe to have a 20 foot (or more) lead can be done without impacting the accuracy of the thermometer.
The +5VDC pin is provided mainly for low current Din connections. However it can also be used to power external components, such as expansion cards or sensors, as long as they don't exceed the maximum current. The maximum current sourced from the +5VDC pin is 300mA.
In addition to the physical I/O, there are also 4 web button inputs that can be programmed and used in control algorithms.
Network Connectivity
The BCS-460 can be networked via LAN, or directly connected to a PC without a network. By default, the controller attempts to obtain an IP address from a DHCP server. After about 20sec, if no DHCP server is found, the board defaults to an IP address of 169.254.0.63.
The BCS-460 has an Auto-MDX feature, so it does not matter which type of Ethernet cable is used. For both Networked and Direct Connect options this allows you to use either a straight-though or cross-over Ethernet cable, as the system adjusts automatically.
If Directly Connected attach the Ethernet cable directly from the controller to your PC. Type: http://169.254.0.63 into your host's web browser URL line, and you will connect to the unit. Some users may require additional setup if connecting directly, see Additional Network Setup.
If Networked through your router you will have to locate the IP address assigned to the controller. The easiest way to accomplish this is to login to the router, most have a default IP of 192.168.0.1 and will require a user and password (default user is usually admin), and once looking in the router you will see a setup page for Network Settings and a list called -Dynamic DHCP Client List. This will allow you to see all of the attached devices and associated IP addresses on your network. The connected BCS will be listed in this table, identified by its MAC address which is printed uniquely onto each BCS label. Once you locate the BCS-460's IP address, type it into the URL field on the browser.
| Tip: Another method to find the IP address of the controller is to type in sequential numbers until you find it, 192.168.0.x -- Most home networks only have a limited number of attached devices, so this is typically a fast process. |
| Tip: Routers may change the IP address that they assign to the controller via DHCP over time. This can make it difficult to setup bookmarks. Most routers have a feature that allows them to always assign the the same IP address to a selected device. There is also the option to program the BCS to use a static address. |
For instructions on accessing the BCS-460 remotely via the web, see Accessing Remotely.
Programming Fundamentals
The controller utilizes the concept of State Machines to program control rules and sequences. For more information, see:
There are two modes of operation to control the BCS-460: Manual Mode, and via Processes.
Each State (and Manual Mode) can control an output with a unique set of parameters. There are four different ways that the BCS-460 can control an output in a state.
- Direct - Directly force and output ON or OFF.
- Duty Cycle - Set the duty cycle percent ON over a programmable period. See Output PWM Control
- Differential - Control the output by associating it with a temperature input and hold the temperature within a defined temperature window (swing).
- PID - Proportional Integral Derivative controller, also associated with a temperature input. See PID Implementation
Manual Mode is useful for initial setup, and simple control. When using Manual Mode, no previous understanding of State Machines or Processes is required. Outputs and temperature setpoints are programmed directly. Manual Mode can be thought of as just a single state process. For more information see Manual Mode.
Processes are used for more advanced control, and make automation possible. There are four available processes, and each process contains eight states. This is the recommended mode of operation for the controller. Each state can be thought of as a unique Manual Mode, but with programmable exit conditions. Processes are a group of eight states, and allow the user to transition though the states via the exit conditions (i.e., a State Machine). Each of the four processes can be running independent State Machines.
BCS-460 User Interface, Page by Page
The main documentation of the BCS-460 is organized by each control page. Settings and parameters are described in detail.
- Main Control - The Main Control page is the place to go for system monitoring and control.
- Data Log - Interactive charts, and data logging.
- Add/Edit State Machines - Program the controller.
- Temp Setpoint Adjust - Fine tune the temperature setpoint of running Processes.
- Thermo Test - Read the Temperature Probe measurements for probe calibration.
- Ethernet Settings - Network settings and statistics.
- System Settings - Setup and Initialization of the controller. Enable I/O, set PID and probe parameters.
Expansion Cards
- Digi16 - Adds 12 outputs and 4 dins. Up to (4) Digi16 cards supported per BCS.
System Examples
Open Interface API
Control systems from ECC utilize a simple HTTP GET/POST mechanism to control and monitor the unit. The protocol is completely open and documented here, allowing adventurous users the ability to develop custom GUIs and third-party interfaces.
Administrative
Updating Firmware - ( Firmware Images and Errata )

