Arduino-kompatible SPS CONTROLLINO, Teil 1

Zum ersten Mal über eine speicherprogrammierbare Steuerung mit dem Namen CONTROLLINO erfuhr ich 2014 zufällig in einer zufälligen Korrespondenz mit einer Person, die eine SPS für die Heimautomation ausgewählt hatte. Ich empfahl ihm einige klassische Modelle und als Antwort sagte er, dass sie auf Kickstarter ein interessantes Projekt namens CONTROLLINIO gesehen hätten. Dies ist eine industrielle SPS, die auf die gleiche Weise wie der Arduino in seiner nativen IDE programmiert ist.

Dieser Typ arbeitete als PHP-Programmierer und C ++ war für ihn kein Problem. Er hatte Geld und Ideen, aber es gab keine Lust, LAD oder Codesys zu studieren. Infolgedessen meldete er sich ab, dass er CONTROLLINO vorbestellt hatte und ihn nicht mehr kontaktierte.

Ich weiß nicht, was und wie es am Ende ausgegangen ist, aber nach 3 Jahren musste ich mit diesem Gerät arbeiten.



Während ich mit einem Stift knarrte, wurde mir klar, dass es viel Material geben würde. Deshalb werde ich die Geschichte über CONTROLLINO in zwei Teile teilen: Der erste wird sich mit Eisen befassen, der zweite mit Programmieren.

Derzeit werden 4 CONTROLLINO-Modelle produziert: MINI, MAXI, MAXI-AUTOMATION und MEGA. Ich habe mit MAXI gearbeitet.


Kurze Eigenschaften von CONTROLLINO MAXI:

  • Mikroprozessor ATmega2560
  • 12 universelle digitale / analoge Eingänge
  • 12 Transistorausgänge können im PWM-Modus arbeiten
  • 10 Relaisausgänge, ~ 250V / 6A
  • Nichtflüchtige RTC
  • Ethernet
  • RS-485
  • SPI, I2C, 2xRS-232 TTL
  • Spannungsversorgung 12 oder 24V DC
  • Abmessungen 72x90x62mm
  • DIN-Schienengehäuse
  • Mit Arduino MEGA 2560 kompatible Software

CONTROLLINO und ARDUINO


Zunächst sollte gesagt werden, dass CONTROLLINO in einem Fall mit Terminals anstelle von Pins kein Arduino ist, wie manche vielleicht denken.

CONTROLLINO ist eine speicherprogrammierbare Steuerung, SPS. Das heißt, ein in der Automatisierung verwendetes Endprodukt mit angemessenem Schutz der Ein- und Ausgänge. Das CONTROLLINO-Design mit Arduino als solchem ​​(dh mit einer auf dem Atmega-Chip basierenden Debug-Karte) hängt nur mit dem verwendeten Mikroprozessor zusammen.

Wenn wir CONTROLLINO zerlegen (und wir werden es analysieren), werden wir im Inneren nicht das Arduino finden, das an die chinesischen Schilde gelötet ist, oder, noch schlimmer, nur das Arduino mit Drähten, die an den Anschlüssen verdrillt sind.
Die Kompatibilität wird auf Softwareebene bereitgestellt. CONTROLLINO MAXI kann über die Arduino IDE als Arduino MEGA 2560-Karte programmiert werden. Und hier und da ist der gleiche Prozessor der ATmega2560.

Viele hier wenden sich zu Recht dagegen, dass SPS-Standards sicherlich gut sind, aber diese SPS ist wie eine SPS, und aus Arduinen und Abschirmungen können Sie ein System für Ihre Anforderungen viel billiger zusammenstellen. Ich werde nicht streiten, ich habe es selbst gemacht und alles hat funktioniert. Es sah ungefähr so ​​aus wie das Prototypfoto des Helden des Artikels auf der Kickstarter- Seite .



Andererseits kenne ich viele von denen, die die Fähigkeiten der Arduino-Plattform beleuchtet, sie gekauft, LEDs geblinkt und ... darauf geworfen haben. Nachdem sie die Grundlagen der Programmierung beherrscht hatten, stellten sie plötzlich fest, dass sie eine Größenordnung mehr Zeit brauchten, um sich mit Elektronik zu befassen, sich an alles zu erinnern und das fertige Produkt zusammenzubauen. Plötzlich stellt sich heraus, dass Ihre Zeit das Geld wirklich wert ist und Sie sie nicht ohne sichtbare Aussichten ausgeben möchten.

Dima, hi!
Ein in einer anderen Region lebender Klassenkamerad hat ein wunderbares Startup eröffnet. Ausgerüstet mit den neuesten Entwicklungen aus dem Internet zog er aus der Stadt und baute einen Mondschein mit hoher Produktivität. Und alles ist gut, das Produkt erwies sich als ausgezeichnet (nach seinen Worten verstehe ich wenig darüber). Der technologische Prozess dauerte jedoch 48 Stunden. Während dieser Zeit muss etwas eingeschaltet, etwas ausgeschaltet, abgeschraubt, verdreht usw. werden. Das Schlafen in Anfällen beginnt zwei bis drei Stunden.

Natürlich entstand die Idee, die Produktion zu automatisieren. Er wandte sich an mich um Rat, ich erzählte ihm von der SPS und all dem. Und nach einer Weile holt er mich ab und sagt, dass er eine wundervolle Sache gekauft hat, Arduino heißt. Bereits blinkende LEDs in Arduino, der C-Sprache, und er hat sie seit unserem Informatikstudium nicht vergessen. Sie müssen nur noch Schilde kaufen, selbst etwas löten und dann die Produktion auf ein neues Niveau bringen.

Aber ein Jahr verging, zwei, noch einige, und dann gingen die LEDs nicht weiter. Ein neues Hobby, die Bienenzucht, kann jedoch stören.

Meiner Meinung nach wird CONTROLLINO für diejenigen Arduino-Mitarbeiter von Interesse sein, die keine SPS für die Heimautomation selbst herstellen können oder wollen und stattdessen bereit sind, ein fertiges Produkt zu kaufen. Darüber hinaus bietet CONTROLLINO alles für den Einsatz in einem „Smart Home“: 34 E / A-Punkte, mehrere Kommunikationsschnittstellen und die Möglichkeit, all dies über das Internet zu verwalten.

Am Ende ist CONTROLLINO einfach wunderschön.

Bau






Entfernen Sie die Abdeckung.



Im Inneren des Gehäuses befinden sich 3 Bretter. Wir nehmen die Spitze heraus.



Wir sehen den guten alten W5100-Chip, der Ethernet bietet.

Es gibt auch einen atmega16-Mikroprozessor. Nicht dass ich überrascht wäre. SPS mit mehreren Mikroprozessoren habe ich zum Beispiel bereits in den Modellen der Firma Aries beobachtet. Aber was macht dieser Prozessor hier? Alles stellte sich als einfach heraus - er ist für das Herunterladen über USB verantwortlich. Genau wie im originalen italienischen Board Arduino MEGA 2560.



Sie haben, wie ich, höchstwahrscheinlich einen chinesischen Klon, und darin befindet sich der übliche USB / RS232-Konverter im Boot.

Die mittlere und untere Platine des CONTROLLINO MAXI sind leider miteinander verlötet.



HF41F-Relais an ~ 250V / 6A sind auf der unteren Relaisplatine sichtbar. Wir können das durchschnittliche Board nur auf einer Seite sehen.



Wir sehen den Mikroprozessor ATmega2560 und die Bindung von Ein- und Ausgängen.

Um die Übereinstimmung der CONTROLLINO-Ein- und Ausgänge mit den Pins der Arduino MEGA 2560-Karte zu ermitteln, zeichnete der Entwickler ein großes Diagramm.



Die Namen der SPS-Anschlüsse sind gelb und die Pin-Namen des Arduino Mega 2560 sind blau. Beispielsweise entspricht das R0-Relais in der SPS dem Arduino Mega 2560-Pin 22.



Um das Relais R0 zu schließen, müssen Sie in der Skizze die folgenden Anweisungen schreiben:

void setup() { pinMode(22, OUTPUT); } void loop() { digitalWrite(22, HIGH); } 

Dies ist jedoch das Thema des nächsten Artikels.

Universaleingänge



12 Eingänge, jeder im Programm, können als analog oder diskret betrachtet werden. Zwei davon, IN0 und IN1, können als Interrupt-Eingänge verwendet werden.



Die Analogeingänge sind Volt, ihr Bereich hängt von der Versorgungsspannung der SPS ab. Wenn die SPS mit 12 V versorgt wird, haben die analogen Signale einen Bereich von 0 ... 13,2 V. Wenn die SPS mit 24 V versorgt wird, beträgt der Bereich der analogen Signale 0 ... 26,4 V. ADC 10 Bit.

Transistorausgänge



12 diskrete Transistorausgänge, jeder kann als PWM verwendet werden.



Relaisausgänge



HF41F Relais bei ~ 250V / 6A. 6 Amp ist irgendwie nicht genug. Ich gehe davon aus, dass solche Relais ausgewählt werden, weil sie schmal sind und mehr auf einer kleinen Fläche platziert werden können.



Nichtflüchtige Echtzeituhr

Als Echtzeituhr (RTC) wird der DS1307-Chip, der auf dem I2C-Bus arbeitet, hier nicht verwendet. Hier arbeitet der RV-2123-C2-TA-QC-020-Chip mit der SPI-Schnittstelle stundenlang.

Im Allgemeinen arbeiten von den drei zusätzlichen Schaltkreisen (Ethernet, RS-485 und RTC) in CONTROLLINO zwei auf dem SPI-Bus und keiner auf I2C. Mit diesem praktischen „quadratischen“ Bus können Benutzergeräte wie mein selbstgemachtes Bedienfeld kostenlos mit einem I2C-Bus verbunden werden .

Sehen Sie sich den RTC-Schaltplan an und achten Sie auf die Striche in den blauen Feldern.

Striche bedeuten, dass die ATmega2560-Mikroprozessorzweige, die nicht an die Arduino MEGA 2560-Pins ausgegeben werden, mit den entsprechenden Kontakten dieses und anderer zusätzlicher Mikroschaltungen verbunden sind. Sie können diese Beine nicht über die Arduino IDE mit dem Standardbefehl digitalWrite () steuern, sondern nur mit direktem Zugriff auf die Ports . Eine solche schematische Lösung hat ihre eigenen Vor- und Nachteile beim Programmieren (was eher die Frage ist), über die ich im nächsten Teil schreiben werde.

RS-485

Keine moderne SPS kann auf einen RS-485-Anschluss verzichten, und CONTROLLINO ist keine Ausnahme. Dazu ist der SN65HVD08-Chip eingebaut.



RS-485 kann sowohl im Master- als auch im Slave-Modus arbeiten.

Ethernet

Endlich ein vertrauter Chip! Der W5100-Chip ist bereits zum Synonym für das Konzept geworden, ein Arduino mit dem Internet zu verbinden. Es ist der W5100, der die Ethernet-Schnittstelle in CONTROLLINO bereitstellt.



Die Tatsache, dass nicht 4 Arduino-Beine an den SCS-Kontakt angeschlossen sind, wie es in Standardschaltplänen üblich ist, sondern ein weiterer „Strich“, erschwert die Programmierung nicht - alle Beispiele funktionieren ohne Probleme.

Während ich mit Ethernet experimentierte, stellte ich einen Webserver für CONTROLLINO bereit und verwaltete diese SPS über ein Smartphone mit der Blynk-Android-Anwendung.

Anschlüsse X1 und X2

Einige Mikrocontrollersignale werden nicht nur in Form von Ein- und Ausgängen mit der entsprechenden Umreifung an die Klemmen ausgegeben, sondern auch direkt über Schutzwiderstände an zwei 26-polige Anschlüsse X1 und X2.




Einige Mikroprozessorsignale werden an die Klemmen und Anschlüsse ausgegeben, einige sind nur an den Anschlüssen verfügbar, andere nur an den Anschlüssen. Beispielsweise werden die SPI- und I2C-Schnittstellen nur an den Stecker ausgegeben, die Relaisausgangssignale R0 ... R9 sind nur an den Klemmen verfügbar und die Analogeingänge A0 ... IN1 sind sowohl an den Steckern als auch an den Klemmen verfügbar.

Natürlich wird das gleiche Signal an Klemme und Stecker angeschlossen und auf unterschiedliche Weise verwendet. Beispielsweise können die Universaleingänge A0 ... IN1 als Ausgänge im Programm programmiert und als solche über den Anschluss verwendet werden, sie können jedoch nicht mit den Ausgängen über die Klemme arbeiten.

Die Anschlüsse X1 und X2 machen die Verwendung von SPS flexibler, sodass Sie die Module anschließen können, mit denen Arduino in ihrem Handwerk verwendet wird. Sagen wir, DTH22-Sensoren oder quadratische Buschips.

Also habe ich ein Bedienfeld erstellt, das auf I2C funktioniert und über Anschluss X1 eine Verbindung zu CONTROLLINO herstellt.



Das ist alles über Eisen. Im nächsten Teil werde ich über die Programmierfunktionen der CONTROLLINO-SPS sprechen, wie man sie über das Internet von einem Smartphone aus von überall auf der Welt aus steuert, wie CONTROLLINO auf ModbusRTU funktioniert und vieles mehr.

Referenzen

Offizielle Seite CONTROLLINO
Seite auf Kickstarter
Facebook- Projekt
RV-2123 SPI RTC
SN65HVD08 RS-485
HF41F Relais

Source: https://habr.com/ru/post/de402241/


All Articles