PLC CONTROLLINO compatível com Arduino, parte 1

Pela primeira vez sobre um controlador lógico programável chamado CONTROLLINO, aprendi o ano em 2014 em uma correspondência aleatória com uma pessoa que pegou um PLC para automação residencial. Eu recomendei alguns modelos clássicos para ele e, em resposta, ele disse que eles viram no kickstarter algum projeto interessante chamado CONTROLLINIO. Este é um CLP industrial programado da mesma maneira que o Arduino em seu IDE nativo.

Esse cara trabalhava como programador php e C ++ não era um problema para ele. Ele tinha dinheiro e idéias, mas não havia desejo de estudar LAD ou Codesys. Como resultado, ele cancelou a inscrição de que encomendara o CONTROLLINO e não o contatou mais.

Não sei o que aconteceu e como acabou no final, mas depois de três anos tive que trabalhar com este dispositivo.



Enquanto rangia com uma caneta, percebi que haveria muito material. Portanto, vou dividir a história do CONTROLLINO em duas partes: a primeira será sobre ferro, a segunda sobre programação.

Atualmente, são produzidos 4 modelos CONTROLLINO: MINI, MAXI, MAXI-AUTOMATION e MEGA. Eu trabalhei com MAXI.


Breves características do CONTROLLINO MAXI:

  • Microprocessador ATmega2560
  • 12 entradas digitais / analógicas universais
  • 12 saídas de transistor, podem funcionar no modo PWM
  • 10 saídas de relé, ~ 250V / 6A
  • RTC não volátil
  • Ethernet
  • RS-485
  • SPI, I2C, 2xRS-232 TTL
  • Fonte de alimentação 12 ou 24V DC
  • Dimensões 72x90x62mm
  • Gabinete de trilho de fixação
  • Software compatível com Arduino MEGA 2560

CONTROLLINO e ARDUINO


Antes de tudo, deve-se dizer que o CONTROLLINO não é um Arduino em um caso com terminais em vez de pinos, como alguns podem pensar.

CONTROLLINO é um controlador lógico programável, PLC. Ou seja, um produto acabado usado em automação, com proteção adequada de entradas e saídas. O design do CONTROLLINO com o Arduino como tal (ou seja, com uma placa de depuração baseada no chip atmega) é relacionado apenas pelo microprocessador usado.

Se desmontarmos o CONTROLLINO (e vamos analisá-lo), então não encontraremos o arduino soldado aos escudos chineses, ou, pior ainda, apenas o arduino com fios torcidos nos terminais.
A compatibilidade é fornecida no nível do software.O CONTROLLINO MAXI pode ser programado a partir do Arduino IDE como uma placa Arduino MEGA 2560. E o mesmo processador, o ATmega2560, está lá e ali.

Muitos aqui objetam com razão que os padrões de CLP certamente são bons, mas esse CLP é como um CLP e, a partir de arduinos e escudos, você pode montar um sistema para suas necessidades muito mais barato. Não vou discutir, eu mesmo fiz e tudo funcionou. Parecia algo como a foto protótipo do herói do artigo na página do kickstarter.



Por outro lado, conheço muitos daqueles que iluminaram os recursos da plataforma Arduino, os compraram, piscaram os LEDs e ... lançaram nele. Tendo dominado o básico da programação, eles subitamente perceberam que precisavam de uma ordem de magnitude mais tempo para lidar com a eletrônica, lembrar tudo e montar o produto final. De repente, verifica-se que seu tempo realmente vale o dinheiro e você não deseja gastá-lo sem perspectivas visíveis.

Dima, oi!
Um colega que vive em outra região abriu uma startup maravilhosa. Armado com desenvolvimentos de ponta da Internet, ele se mudou da cidade e construiu um luar com alta produtividade. E está tudo bem, o produto acabou sendo excelente (pelas palavras dele, eu entendo pouco sobre isso). Mas o processo tecnológico durou 48 horas, durante as quais algo precisa ser ativado, algo desativado, desaparafusado, torcido etc. Dormir em trancos e barrancos por duas a três horas.

Naturalmente, surgiu a idéia de automatizar a produção. Ele se virou para mim em busca de conselhos, contei a ele sobre o PLC e tudo isso. E depois de um tempo ele me pega e diz que comprou uma coisa maravilhosa, o Arduino é chamado. Já piscava LEDs, no Arduino, na linguagem C, e ele não a esqueceu desde que estudamos ciência da computação. A única coisa que resta é comprar escudos, soldar algo você mesmo e elevar a produção a um novo nível.

Mas um ano se passou, mais dois, e os LEDs não foram mais longe. Embora um novo hobby, a apicultura, possa interferir.

Na minha opinião, o CONTROLLINO será de interesse para os trabalhadores do arduino que não podem ou não desejam criar PLCs para automação doméstica por conta própria e, em vez disso, estão prontos para comprar um produto acabado. Além disso, o CONTROLLINO tem tudo para ser usado em uma 'casa inteligente': 34 pontos de E / S, várias interfaces de comunicação e a capacidade de gerenciar tudo isso a partir da Internet.

No final, CONTROLLINO é simplesmente lindo.

Construção civil






Retire a tampa.



Dentro do gabinete existem 3 placas. Nós tiramos o topo.



Vemos o bom e velho chip W5100, que fornece Ethernet.

Há também um microprocessador atmega16. Não que eu ficaria surpreso. CLP com vários microprocessadores já observei, por exemplo, nos modelos da empresa Aries. Mas o que esse processador faz aqui? Tudo acabou sendo simples - ele é responsável pelo download via USB. Assim como no quadro italiano original Arduino MEGA 2560.



Você, como eu, provavelmente possui um clone chinês e, nele, o habitual conversor usb / rs232 está na inicialização.

As placas intermediárias e inferiores do CONTROLLINO MAXI são soldadas juntas, infelizmente.



Os relés HF41F em ~ 250V / 6A são visíveis na placa inferior do 'relé'. Podemos ver o quadro médio apenas de um lado.



Vemos o microprocessador ATmega2560 e a ligação de entradas e saídas.

Para encontrar a correspondência das entradas e saídas do CONTROLLINO nos pinos da placa Arduino MEGA 2560, o desenvolvedor desenhou um diagrama grande.



Os nomes dos terminais do PLC são amarelos e os nomes dos pinos do Arduino Mega 2560 são azuis.Por exemplo, o relé R0 no PLC corresponde ao pino 22 do Arduino Mega 2560.



Para fechar o relé R0, no esboço, você precisa escrever as seguintes instruções:

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

Mas este é o tópico do próximo artigo.

Entradas universais



12 entradas, cada uma no programa pode ser considerada como analógica ou discreta. Dois deles, IN0 e IN1, podem ser usados ​​como entradas de interrupção.



As entradas analógicas são volt, sua faixa depende da tensão de alimentação do PLC. Se o PLC for alimentado por 12V, os sinais analógicos terão uma faixa de 0 a 13,2V. Se o PLC for alimentado por 24V, a faixa de sinais analógicos será de 0 a 26,4V. ADC 10 bits.

Saídas de transistor



12 saídas de transistor discretas, cada uma pode ser usada como PWM.



Saídas de relé



Relé HF41F a ~ 250V / 6A. 6 Amp de alguma forma não é suficiente. Eu assumirei que tais relés são selecionados porque são estreitos e podem ser colocados mais em uma área pequena.



Relógio em tempo real não volátil

Como um relógio em tempo real (RTC), o chip DS1307, que funciona no barramento I2C, não é usado aqui. Aqui, o chip RV-2123-C2-TA-QC-020 com a interface SPI funciona por horas.

Em geral, dos três circuitos 'adicionais' (Ethernet, RS-485 e RTC) no CONTROLLINO, dois operam no barramento SPI e nenhum no I2C. Este conveniente barramento "quadrado" é totalmente gratuito para conectar dispositivos do usuário, como meu painel de operação caseiro com um barramento I2C .

Observe o diagrama de fiação do RTC e preste atenção aos traços nos campos azuis.

Os traços significam que as pernas do microprocessador ATmega2560 que não são enviadas para os pinos do Arduino MEGA 2560 estão conectadas aos contatos correspondentes deste e de outros microcircuitos 'adicionais'. Você não pode controlar essas pernas no IDE do Arduino usando o comando digitalWrite () padrão, mas apenas com acesso direto às portas . Essa solução esquemática tem suas próprias vantagens e desvantagens durante a programação (que é mais a questão), sobre a qual vou escrever na próxima parte.

RS-485

Nenhum CLP moderno pode passar sem uma porta RS-485 e o CONTROLLINO não é exceção. Para isso, o chip SN65HVD08 está instalado nele.



O RS-485 pode funcionar nos modos mestre e escravo.

Ethernet

Finalmente um chip familiar! O chip W5100 já se tornou sinônimo do conceito de 'conectar um arduino à Internet'. É o W5100 que fornece a interface Ethernet no CONTROLLINO.



O fato de não quatro pernas do Arduino serem conectadas ao contato SCS, como é habitual nos diagramas de fiação padrão, mas outro 'traço', não complica a programação - todos os exemplos funcionam sem problemas.

Ao experimentar a Ethernet, implantei um servidor web no CONTROLLINO e gerenciei esse CLP por meio de um smartphone usando o aplicativo Android Blynk.

Conectores X1 e X2

Alguns sinais do microcontrolador são emitidos não apenas para os terminais na forma de entradas e saídas com a fita correspondente, mas também diretamente para dois conectores de 26 pinos X1 e X2 através de resistores de proteção.




Alguns sinais do microprocessador são emitidos para os terminais e conectores, alguns estão disponíveis apenas nos terminais e outros apenas nos conectores. Por exemplo, as interfaces SPI e I2C são enviadas apenas para o conector, os sinais de saída de relé R0 ... R9 estão disponíveis apenas nos terminais e as entradas analógicas A0 ... IN1 estão disponíveis nos conectores e nos terminais.

Obviamente, o mesmo sinal no terminal e no conector é conectado e usado de maneiras diferentes. Por exemplo, as entradas universais A0 ... IN1 podem ser programadas como saídas no programa e usadas como tais através do conector, mas elas não poderão trabalhar com as saídas através do terminal - a ligação interferirá.

Os conectores X1 e X2 tornam o uso de PLCs mais flexíveis, permitindo conectar os módulos que são usados ​​para usar o arduino em seus ofícios. Digamos, sensores DTH22 ou chips de barramento quadrado.

Então , criei um painel do operador que funciona em I2C e se conecta ao CONTROLLINO através do conector X1.



Isso é tudo sobre ferro. Na próxima parte, falarei sobre os recursos de programação do CONTROLLINO PLC, como controlá-lo via Internet a partir de um smartphone de qualquer lugar do mundo, como o CONTROLLINO funciona no ModbusRTU e muito mais.

Referências

Site oficial CONTROLLINO
Página no kickstarter
→ Projeto no Facebook
RV-2123 SPI RTC
SN65HVD08 RS-485
→ Relé HF41F

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


All Articles