Git Product home page Git Product logo

netplc's Introduction

Copyright (C) 2014 mirage335
See the end of the file for license conditions.
See license.txt for NetPLC license conditions.

Advanced multi-peripherial low-power Networked Programmable Logic Controller (NetPLC) core platform.

__Usage__
NetPLC is intended as a robust control system with networking support. Expected use cases include door locks, occupancy sensors, temperature sensors, efficiency smart meters, thermostats, wind farms, 3D printers, etc.

'General Purpose' and 'Precision Analog' RJ45 jacks may be used to attach attach additional microcontrollers, cameras, thermistors, pressure sensors, current/voltage transformers, power transistors, relays, etc.

In harsh environments (eg. mains voltage, flourescent lighting), surge suppression may be maximized by use of genuine S/FTP cable as well as maintaining AVR pins in output LOW state when possible. Watchdog is also recommended.

Ethernet jack is provided for full 10BaseT support. WiFi support is also provided via RN171 module. Headers are provided for preassembled pin-compatible Ethernet and WiFi peripherials.

For maximum network reliability, consider configuring both Ethernet and WiFi for automatic connection, as mutual fallbacks.

__Design__
Efforts have been made to provide surge suppression, especially for the RJ45 peripherials. However, sustained faults below the spark-gap voltage threshold and above the AVR protection diode current limits will cause damage. As noted above, extra precautions should be taken against such mid-level interference in harsh environments.

Layout is important. Digital circuits create a multitude of full-swing square waves at radio frequency. Stray coupling of these transients into analog circuits can introduce both low and high frequency noise through a variety of mechanisms.

USA companies provide all parts in these schematics.

__Extras__
Any isolated USB charger can be used as a power source. For example, consider http://www.amazon.com/Samsung-Power-Adapter-Detachable-Micro/dp/B0089VO7FQ/ref=sr_1_6?s=wireless&ie=UTF8&qid=1415386782&sr=1-6&keywords=usb+power .

Typical 1/16" PCBs will not be thick enough to ensure reliable USB port contact. Consider adding a few layers of electrical or duct tape to the back side.

__Safety__
Typical TCP/IP and wireless networks are vastly more complex, less reliable, more difficult to surge-protect, and less secure than the onboard MCU. Firmware should be written not to depend on network connectivity for control loops where reliability counts. Unrestricted public internet services (eg. HTTP) should be directed through a full server, supporting load and security requirements if possible.

While the MCU alone is unlikely to fail within decades, it should not be relied upon for safety-of-life control systems. Generally, a microcontroller is less dependable than redundant, specialized, discrete logic. Indirect use of NetPLC (eg. monitoring outcomes, contributing information, etc) in such systems must be carefully considered by a competent engineer.

_FutureWork_
*) SD Card slot should be added to enhance database and logging capacity.
*) RN171 should be moved to software serial port, completely freeing the hardware UART for external peripherials.
*) Modbus and DNP3 support have been suggested by George Walker. Related open-source libraries seem to already exist, and may be worth testing.

__Copyright__
This file is part of NetPLC.

NetPLC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

NetPLC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with NetPLC.  If not, see <http://www.gnu.org/licenses/>.

netplc's People

Contributors

mirage335 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.