Vai al contenuto
PLC Forum


Controllare BLDC motor con PLC SR3B261BD


Lorenzo R

Messaggi consigliati

Salve a tutti, 

vi ringrazio per avermi accettato nel vostro forum e per gli eventuali consigli che riceverò. 

Vi espongo il problema:

 

Ho necessità di controllare un motore brushless (https://www.amazon.it/Propulsore-bidirezionale-completamente-impermeabile-immersioni/dp/B0B2592FG3/ref=sr_1_21?keywords=propulsore&qid=1666000794&qu=eyJxc2MiOiIzLjIwIiwicXNhIjoiMS4yNSIsInFzcCI6IjEuMzcifQ%3D%3D&sr=8-21&th=1) che possiede le seguenti caratteristiche del segnale di controllo PWM:

 

PWM frequency: 48 Hz (20 ms) (ho chiesto al venditore che effettivamente siano 48 Hz e me lo ha confermato, perchè nell'immagine su amazon c'è scritto 48 KHz)

Duty-cycle:

- da 1 a 1.5 ms, rotazione nominale

- 1.5 ms, stop

- da 1.5 a 2 ms, rotazione opposta

 

Quindi in pratica, ad esempio per muovere il motore nel senso di rotazione nominale, devo mandare un segnale ogni 20 ms (periodo) con un fronte di salita di 1 ms. Inserisco una foto come esempio:

image.thumb.png.c7501f1f5c7cf847cdf741da64ba9b5b.png

 

Confermate?

 

Nel datasheet (pagina 2) del PLC SR3B261BD sono indicati i seguenti valori di "response time":

image.thumb.png.e8d18346bd9836cc16246352e35997c9.png

 

Inoltre, nel software ZelioSoft 2, sia la funzione PWM (presente all'interno del blocco PID), sia i blocchi TIMER (come il TIMER Li), presentano un tempo impostabile minimo di 0.1 s (troppo lento rispetto ai valori di cui necessito).

 

Deduco dunque che con tale modello di PLC sia impossibile controllare questo tipo di motore con queste caratteristiche.

Esiste un modo di aggirare tale problematica utilizzando lo stesso modello PLC?

Ho visto che esistono dei convertitori da 0-10 Volt a PWM, che magari potrei collegare all'uscita analogica del PLC. Ma non ho ben chiaro di come si potrebbe implementare il tutto.

 

Inoltre aggiungo che avrei necessità di controllare 4 motori di questo tipo e sarei interessato solamente ai 3 stati del motore (avanti, stop, indietro), il controllo della velocità non mi interessa particolarmente. La soluzione più semplice sarebbe quella di utilizzare dei semplici DC motors (brushed) ma non riesco a trovare dei motori che siano impermeabili fino ad almeno 100 metri.

 

Il tutto sarebbe poi controllato tramite comandi su interfaccia SCADA, progettata con Vijeo Citect. Per questo motivo preferirei utilizzare un PLC compatibile con tale interfaccia.

 

Spero di essere stato abbastanza chiaro e che qualcuno possa darmi consigli e indicazioni.

 

Grazie

 

Link al commento
Condividi su altri siti


Per conto mio ti risparmeieresti un sacco di problemi usando la sua centralina provvista anche di radiocomando.

Link al commento
Condividi su altri siti

Grazie per la risposta Livio.

So bene che potrei usare centraline o microcontrollori che renderebbero il tutto più "semplice" ed efficace, ma purtroppo ho necessità di utilizzare un PLC, che sia anche compatibile con l'interfaccia SCADA progettata con Vijeo Citect. 

 

Secondo te, utilizzando questo PLC, sarebbe proprio impossibile implementare il tutto?

 

Ho dimenticato di specificare anche che il PLC in questione possiede il modulo di espansione ethernet (SR3NET01) e il modulo di espansione di I/O analogico (SR3XT43BD).

Link al commento
Condividi su altri siti

Voglio anche specificare che l'ESC presente nel motore lo manterrei così per com'è. Il segnale PWM che devo generare mi serve proprio da ingresso "signal" per l'ESC.

 

Link al commento
Condividi su altri siti

Non credo che sia possibile utilizzare lo zelio, almeno non con uscite a relè.

Forse, se esiste la versione con uscite a transistor, allora , forse puoi usarlo.

Il PLC che sicuramente va bene è l'M221 con uscite a transistor con 4 uscite veloci NPN (TM221CE40U /Tr Out Sink),

purtroppo non credo che riuscirai a trovarlo facilmente in questo periodo.

Trattandosi di prodotto Schneider non hai problemi a dialogare con Citect tramite OFS

 

Visto che parli di Citect sono curioso :

- che applicazione è?

- realmente devi usare il PLC sott'acqua? e fino a che profondità ?

- come colleghi il PLC e Citect? Presumo tramite Ethernet ... ma anche radio?

Ovviamente se non vuoi/puoi condividere la tua applicazione, pazienza.

 

 

Link al commento
Condividi su altri siti

Grazie per la risposta Max.

 

È un interfaccia cockpit SCADA per comandare un veicolo ROV subacqueo, che arriverà ad una profondità di circa 50 metri.

Il PLC (e tutte le altre componenti elettroniche) saranno dentro una capsula completamente stagna da cui, a progetto ultimato, uscirà soltanto un cordone ombelicale costituito da cavo Ethernet.

 

Comunque, oltre a questo PLC che mi hai consigliato, pensi si possa optare anche per altri modelli? 
Con lo zelio non c'è proprio modo di aggirare il problema vero? Nemmeno utilizzando dei convertitori esterni da 0-10 volt a PWM?

Link al commento
Condividi su altri siti

11 ore fa, Lorenzo R ha scritto:

È un interfaccia cockpit SCADA per comandare un veicolo ROV subacqueo, che arriverà ad una profondità di circa 50 metri.

Il PLC (e tutte le altre componenti elettroniche) saranno dentro una capsula completamente stagna da cui, a progetto ultimato, uscirà soltanto un cordone ombelicale costituito da cavo Ethernet.

Grazie per il chiarimento.

 

11 ore fa, Lorenzo R ha scritto:

Comunque, oltre a questo PLC che mi hai consigliato, pensi si possa optare anche per altri modelli?

Quello che ti ho indicato credo sia il più economico della gamma SCH. Considera anche che l'ambiente di sviluppo è gratuito.

 

11 ore fa, Lorenzo R ha scritto:

Con lo zelio non c'è proprio modo di aggirare il problema vero? Nemmeno utilizzando dei convertitori esterni da 0-10 volt a PWM?

Zelio usato pochissimo : penso proprio di no comunque.

Tu hai bisogno di 4 uscite veloci che necessariamente devono essere a transistor (quindi no relè). Se lo zelio ha le uscite a transistor allora, forse puoi usarlo ... verifica sul sito SCH se esiste un qualche modello di zelio con uscite a transistor.

Altre considerazioni sullo zelio (per quel poco che l'ho usato) :

- per programmarlo in maniera agevole ti serve un sw (probabilmente gratuito) e un convertitore USB (non gratuito). Dubito che sia possibile programmarlo tramite porta ETH

- se pensi di programmarlo utilizzando il suo display e i 4/5 tasti frontali (credo che sia fattibile) ... auguri

- la porta ETH dello zelio è un modulo accessorio. Il protocollo supportato è il Modbus TCP/IP ma attenzione, se non sono cambiate le cose, le variabili in scambio (words) sono SOLO 4

 

Comprendo che il PLC che ti ho indicato abbia un costo di listino di oltre 3 volte lo zelio (a cui peraltro devi aggiungere il costo del modulo ethernet) ma se non vuoi fare un buco nell'acqua (visto anche la tua applicazione 😀 ) abbandona l'idea di usarlo.

 

Guardando le specifiche del motore ti confesso che non ho ben compreso come possa essere comandato e forse dovresti prima chiarirlo con il fornitore.

Sembra che utilizzando una base tempi di 20 ms (quindi 50 Hz) il motore venga comandato con :

- impulso della durata compresa tra 1.0 ma inferiore a 1.5 ms -> forward (quindi per semplicità un impulso della durata di 1 ms)

- impulso della durata di 1.5 ms -> stop

- impulso della durata maggiore di 1.5 ms e 2.0 ms -> reverse (quindi per semplicità un impulso della durata di 2 ms)

- il passaggio da forward a reverse necessità dello stop ?

- il comando di forward / reverse va mantenuto in continuo (e quindi rimuovendo il comando il motore si ferma) oppure una volta avviato, per fermarlo occorre inviare un comandi di stop ?

 

Chiarisci prima questi aspetti e poi concentrati sul PLC che può fare al caso tuo.

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...