TX dati + Alimentazione su unico filo

(PID) Power Into Data

L’idea è nata quando ho iniziato a pensare ad un sistema per remotizzare una scheda di input/output per una mia centralina antiintrusione ancora in stato embrionale. Non ho pretese di presentare un qualcosa di rivoluzionario o con prestazioni al top né tantomeno perfetto. Ho cercato solamente di ottimizzare il rapporto prezzo/prestazioni e di inserire nell’unico filo ( oltre alla massa ) per la trasmissione dei dati anche l’alimentazione. Modulare una portante da iniettare nell’alimentazione andava oltre alle mie poche conoscenze ed ho quindi cercato un sistema alternativo. Sicuramente un simile “aggeggio” non servirà a chi ama il Wireless e/o ha canaline da 25mm con “N” cavi multifilari liberi ma potrebbe essere utile a quei pochi ( fortunatamente ) che si trovano a dover collegare una zona alla centrale ed hanno disponibile un unico cavetto sottotraccia cementato e privo di canalina. Potrebbe servire poi a quanti, come me pigri, avendo già una coppia di conduttori disponibili non hanno voglia di passare ulteriori cavi con le difficoltà che questo lavoro molto spesso comporta.
Il sistema risulta essere del tipo master - multi slave ( max teorico 63 slave ) e l’alimentazione viene fornita “annegata” nella trama dei dati tramite impulsi di durata prefissata ed utilizzata come sincronismo. Il master è basato su Arduino Nano e oltre a colloquiare con gli slave potrà gestire anche dei suoi input/output. Ogni slave, basato sempre su Arduino nano, avrà 8 ingressi analogici capaci di leggere lo stato di altrettanti sensori collegati in doppio bilanciamento e 8 uscite digitali. Ogni Slave estrarrà dalla trama l’alimentazione che provvederà a stabilizzare e a renderla disponibile per l’alimentazione dei sensori e di eventuali relè. Ho effettuato alcuni test connettendo Master e Slave con una matassa di cavo di circa 80 m e di sezione 0,5 mm2 e non ho riscontrato errori di trasmissione. Logicamente quanto pensato per l’antiintrusione può essere adattato anche per altri utilizzi.

Questa, a grandi linee, è una parte di un’idea di un progetto più ampio che da tempo sto maturando. Questo progetto lungi dall’essere terminato. Vari sono i dubbi e le difficoltà che incontra chi non è del “mestiere”. Ora però, per questo particolare blocco del mio progetto, prima di perdere ulteriore tempo e prima di sentirmi dire che ho fatto tanto lavoro per nulla perché esiste già o peggio che non si deve fare per X ed Y motivi vi chiedo, se possibile, di darmi delle indicazioni sul dove trovare qualcosa di già bello che fatto a prezzi ragionevoli. (nel mio progetto sia per il master che ancor meglio per lo slave siamo nell’ordine di una decina di Euro ).
Ho fatto svariate ricerche su Google con i nomi più disparati ma io non ho trovato quanto cercato.

Ringrazio anticipatamente quanti vorranno rispondermi.

Non ho capito bene:
Quel o che descrivi lo hai fatto o lo cerchi?

La difficoltà maggiore che vedo in questo progetto è l'elevata potenza che può essere richiesta, circa 8W solo per le 64 logiche, a cui va aggiunta quella necessaria ai sensori o ancora peggio a dei relé (0.2..0.5W ciascuno).

Non si può applicare una normale alimentazione parassita che andrebbe bene per poche decine di mA, e probabilmente per tenere bassa la corrente occorre anche usare una tensione elevata (24V o più).

Un'alternativa potrebbe essere la corrente alternata, ad esempio a 12V, usando una polarità per portare l'energia, e l'altra per i dati.

In tutti i casi c'è da mettere assieme un po' di hardware aggiuntivo per ogni unità.

Un po' di dati di partenza utili sarebbero appunto la potenza che si intende gestire e la velocità dei dati.

Standardoil:
Non ho capito bene:
Quel o che descrivi lo hai fatto o lo cerchi?

Ciao Standardoil. Quello che ho descritto è ciò che ho già fatto. Il problema è che l’ho testato su breadboard. Se trovassi qualcosa di simile già fatto e testato mi risparmierei un bel po’ di tempo per il passaggio da breadbord a circuito definitivo.

Claudio_FF:
La difficoltà maggiore che vedo in questo progetto è l'elevata potenza che può essere richiesta

Ciao Claudio_FF, nel circuito da me progettato non uso alimentazioni parassite tipo 1 Wire. Ad intervalli regolari collego la linea al +Vcc che, nel caso di grosse potenze richieste, può essere anche di 24v o più. Tra 2 impulsi di alimentazione invio e/o ricevo i dati. Lato slave la tensione impulsiva viene livellata da un elettrolitico e tramite modulini switching ( cinesi da meno di 1 euro) viene abbassata ai livelli richiesti.
Con le temporizzazioni da me applicate la velocità netta raggiunta risulta molto bassa e di circa 4800 bit/s.

A me sembra una buona cosa
E 4800 bps Non sono per nulla da buttare via
Come Fai a sincronizzare tra loro le varie macchine?

Standardoil:
Come Fai a sincronizzare tra loro le varie macchine?

Ciao Standardoil, per la sincronizzazione utilizzo l'impulso di alimentazione che ha una durata tale da non poter essere confuso con altri simboli presenti.

Nel dubbio di non aver spiegato chiaramente cosa mi prefiggevo di ottenere cerco di spiegare meglio quanto fino ad ora ho fatto, riportando in allegato una struttura tipo di una trama PID simile a quanto visibile sull’oscilloscopio con un puntale sulla linea di collegamento master-slave. Riporto anche lo schema elettrico del circuito che ho progettato e che permette questo tipo trasmissione dati+alimentazione.

Nello schema elettrico, dove presente la scritta PowerSwitch, possono essere inserite almeno 3 diverse tipologie di componenti da me testate e utilizzabili alternativamente a seconda delle esigenze. ( Vedi allegati Power Switch Tipo 1,2,3 )
La più compatta ed economica risulta la versione 2 che però non risulta in grado di pilotare correnti elevate e non presenta protezioni integrate.
Prezzo simile ma più versatile come correnti gestite risulta la versione 1. Anche in questo caso non sono presenti protezioni integrate ed occupa più spazio sullo stampato.
La versione 3, da me preferita, risulta compatta come la versione 2, in grado di pilotare correnti notevoli e protetta sia sia in temperature che corrente ma si trova in vendita a prezzi doppi rispetto alle altre 2 versioni oltre che trovarsi solo in formato smd.

PS Nei file 2 e 3 ci sono delle specifiche di prodotto con il nome del costruttore. Avrei messo una descrizione generica ma solo quelli riportati hanno le caratteristiche da me cercate come tempi di commutazione e correnti supportate. Se andasse contro qualche regolamento del forum fatemelo sapere che li tolgo.

interessante, bel lavoro
raggiungi i 4800 bps netti, intendo di traferiemto dati, già tolti i tempi di Power Send e l'indirizzamento?

x iscrizione

Dico una sciocchezza... sarebbe possibile mantenere sempre l'alimentazione +12V e traslare i dati da +24V (o altro) a +12V usando +12V come se fosse un riferimento a massa per avere lo 0 logico? Mi viene in mente utilizzare un fotoaccoppiatore

Standardoil:
interessante, bel lavoro
raggiungi i 4800 bps netti, intendo di traferiemto dati, già tolti i tempi di Power Send e l’indirizzamento?

Ciao Standardoil, nel calcolo ho tolto il Power send ma lasciato l’indirizzamento. Prendili un po’ con le pinze. Quando scrivo un dato sullo slave invio sia il byte contenente l’indirizzo che il dato 2 volte in modo che lo slave possa verificare la correttezza di quanto ricevuto. Quando invece leggo lo stato delle uscite analogiche ( in logica doppio bilanciamento ) invio il solito indirizzamento duplicato ma ottengo dallo slave lo stato degli 8 ingressi in un’unica parola di 16 bit - 2 bit per ingresso (senza duplicazione). Questa seconda attività, nel caso di utilizzo per una centrale antiintrusione, è quella che viene eseguita in modo quasi esclusivo. Se ti può essere di aiuto per un calcolo più preciso attualmente la distanza tra 2 Power send è di circa 5ms.

doppiozero:
x iscrizione

Dico una sciocchezza... sarebbe possibile mantenere sempre l'alimentazione +12V e traslare i dati da +24V (o altro) a +12V usando +12V come se fosse un riferimento a massa per avere lo 0 logico? Mi viene in mente utilizzare un fotoaccoppiatore

Ciao doppiozero, sinceramente la tua domanda non mi è chiara. L'alimentazione viene messa in linea a +24v mentre i dati viaggiano a +12V. Le tensioni possono essere modificate ma quella di alimentazione deve sempre essere superiore a quella dei dati in modo che un impulso dei dati non venga a caricare il condensatore elettrolitico sullo slave. In questo caso infatti la corrente che circolerebbe sul componente dedicato alla trasmissione dei dati porterebbe ad un aumento del tempo di spegnimento dello stesso con probabili errori di lettura da parte dello slave.
Se la tua domanda intendeva invece se era possibile traslare le tensioni in modo da non avere una componente continua in linea la mia risposta è che ci ho pensato ma non ho trovato una soluzione semplice. Se qualcuna la trovasse sarei lieto di conoscerla.

Era una domanda/considerazione in generale, non riferita direttamente al tuo schema.

Provo a riformulare:

Slave sempre alimentati a +12V (niente impulsi). I dati invece viaggiano da +24V (1 logico) a +12V (0 logico) iniettando impulsi +24V sulla linea a +12V. Quindi +12V per i dati sono una sorta di GND

Non credo andrebbe, causa corrente di carica dei condensatori di alimentazione
semmai si potrebbe, riducendo il numero dei Pswitch, mettere +24Volt per energia e 12V in Pull-Up in logica negata per i dati
si metterebbe un solo Pswitch allo alimentatore, e nessuno ai vari slave

Standardoil:
semmai si potrebbe, riducendo il numero dei Pswitch, mettere +24Volt per energia e 12V in Pull-Up in logica negata per i dati
si metterebbe un solo Pswitch allo alimentatore, e nessuno ai vari slave

Penso che , se l'obiettivo fosse la riduzione dei costi, si potrebbe anche optare per una soluzione mista: BTF500601 solo per l'alimentazione e FOD3182 al posto degli altri Power Switch. ( costo FOD3182 circa 1,5€ )

Una vecchia discussione in proposito
http://forum.arduino.cc/index.php?topic=181337.0
A quanto pare c'è qualcosa di già pronto per i Picaxe
http://www.kranenborg.org/ee/picaxe/twowirenetwork.htm
E qui qualcuno ha avuto la mia stessa idea, usare modem per powerline

zoomx:
Una vecchia discussione in proposito
http://forum.arduino.cc/index.php?topic=181337.0
A quanto pare c'è qualcosa di già pronto per i Picaxe
http://www.kranenborg.org/ee/picaxe/twowirenetwork.htm
E qui qualcuno ha avuto la mia stessa idea, usare modem per powerline
Home Automation - Via Powerline Modem TDA5051 - I2C - Home Automation and Networked Objects - Arduino Forum

Ciao zoomx , ti ringrazio per aver fornito alcune informazioni richieste nel mio primo intervento.

Riguardo al primo link sinceramente non l'ho letto tutto ma ad un certo punto ho visto che si fa riferimento a quanto riportato sul secondo link.

Riguardo al secondo link, sarebbe bello capire se esistono già in commercio delle schede funzionanti ed eventualmente le loro caratteristiche circa la velocità di trasmissione dati . Ho guardato sul pdf presente sul sito ed ho trovato le seguenti frasi che mi sembrano, per quel che ci capisco, tra loro contrastanti.

Execution of time-consuming instructions: The PICAXE has a code interpreter, which implies that code instruction speed is relatively low (order of a millisecond for the PICAXES at moderate clock speed).

The network can be built according to any topology, as the network impedance (through Rpullup) is quite low and the communication speeds are low as well (2400 - 32600 baud).

Sarebbe interessante poi capire quali sono le capacità di pilotaggio in corrente. Da quanto ho potuto vedere nello schema elettrico la presenza sul master tra source e i +5v della resistenza R4 da 10 Ohm limiterebbe la corrente massima teorica a 500 mA ipotizzando una resistenza nulla della rete e una tensione di saturazione tra drain e source di 0 volt.

Per quanto riguarda il terzo link è una delle soluzioni note ma da me esclusa in partenza per l'elevato costo e la complessità.

Il Picaxe è più vecchio di Arduino (risale al 1999) ed è basato su PIC. Usa un interprete Basic da cui la lentezza di cui parla nella prima frase.
La seconda parla invece proprio della velocità di comunicazione della loro soluzione che va dai 2400 ai 32600 baud.

Hai visto il PDF?
http://www.kranenborg.org/ee/picaxe/SerialPower/V4.0/PicaxeSerialPowerNetwork_I_V4.0.pdf

L'ultima soluzione non mi è sembrata costosa, 5 chip su Aliexpress sono a 22 euro, dipende certo dal costo totale del nodo.

Penso che ci sarà qualcosa per l'IoT.

zoomx:
Hai visto il PDF?
http://www.kranenborg.org/ee/picaxe/SerialPower/V4.0/PicaxeSerialPowerNetwork_I_V4.0.pdf

Si ho guardato quel file. le frasi riportate le ho estratte da li.

Per quanto riguarda la velocità spiegami una cosa perché sono duro di comprendonio e/o non mi è chiaro il significato di istruzione.
Se la loro soluzione è basata su PICAxe e questo esegue un'istruzione ogni millisecondo come fa a far commutare lo stato della linea almeno 2400 volte ogni secondo? Forse intendono la velocità da un PC a PICAxe che bufferizza e poi invia a velocità decisamente più basse? ( se fosse questa la spegazioni negli schemi non ho mai visto citate né interfacce seriali né PC )

Senza nulla togliere all'ultima soluzione, nel mio progetto, acquistando da Aliexpress l'Arduino e da altri siti il resto dei componenti ( da Ali non si trovavo tutti ) si spendono meno di 10€ per il master e ancor meno per gli slave avendo un Power Swich di meno. ( un BTF500601 incide da solo per 3,5€ )

Come scrivevo prima, il Picaxe usa un basic interpretato, la lentezza riguarda l'esecuzione delle istruzioni in Basic. Leggere e scrivere dalla seriale però non viene eseguito in basic ma in istruzioni native del PIC. Significa (credo, non conosco il Picaxe ma immagino che faccia così) che mentre viene interpretato il tuo comando gira anche un altro pezzo di programma che prende i caratteri che arrivano dalla seriale e li mette in un buffer, esattamente come fa l'Arduino.
Quando in Arduino leggi dalla Seriale in realtà leggi dal buffer dovo vengono messi i caratteri ricevuti e decodificati.
Significa anche che se arrivano più caratteri di quanti ne possa contenere il buffer, questi vanno persi.
Sul Picaxe avverrà lo stesso leggerai, lentamente, dal buffer.

In breve, non preoccuparti della lentezza del Picaxe ma trai ispirazione dagli schemi elettrici

In quel PDF quindi è interessante l'hardware, ho visto che presenta una soluzione a tre linee mentre quella a due non mi è sembrata molto chiara. Però non l'ho guardato con attenzione.