Home Forum MICROCONTROLLORI Collegare PIC direttamente ad una ethernet

Questo argomento contiene 23 risposte, ha 4 partecipanti, ed è stato aggiornato da  Ardila_2 2 anni, 10 mesi fa.

Stai vedendo 15 articoli - dal 1 a 15 (di 24 totali)
  • Autore
    Articoli
  • #58399

    Ardila_2
    Membro

    Avrei un problemino, voglio realizzare un monitoraggio dei carichi degli elettrodomestici (frigorifero, lavapiatti, lavabiancheira ecc) e poi inviare sulla mia rete dati interna tali letture dei carichi. Cerco di spiegarmi meglio: il tutto per esigenze universitarie lo devo effettuare da un powerline ovvero ho un primo powerline che si interfaccia col router, il secondo powerline invece è attaccato in parallelo all’elettrodomestico ovvero è uno di quei powerline che ha a sua volta la presa per i 220V ed è anche collegato via ethernet all’elettrodomestico intelligente.
    A questo punto siccome l’hardware del powerline non riesce a fare tale misurazione ho bisogno di mettere un microcontrollore (penso un PIC) su un adeguato partirore resistivo per permettergli di fare la lettura della potenza assorbita dal carico attaccato al powerline. Successivamente tale lettura la devo buttare sulla porta ethernet del powerline. Per ora mi accontento di realizzare questo, poi successivamente avrò bisogno di far elaborare dal powerline tale dato sulla lettura in modo che lui poi lo butti sulla rete dati domestica per essere letto da un altro dispositivo master, ma questo èda realizzarli successivamente.

    #70301

    lucagiuliodori
    Partecipante

    Innanzitutto ho una domanda da farti: cosa intendi per “powerline”? Sono dei dispositivi che si attaccano in parallelo ad un dispositivo e eseguono una qualche operazione?! Oppure sono quei powerline che trasferiscono il segnale che viaggi sulla Ethernet sui cavi dell’alta tensione? Fammi capire meglio.

    Poi se la tua esigenza è quella di leggere l’assorbimento e di riversare tali valori su bus Ethernet (penso tramite TCP/IP o HTTP…), la parte più difficile riguarda l’hardware, infatti se usi un PIC hai a disposizione tutto lo stack TCP/IP e HTTP per poter inviare i dati su Ethernet. Per la lettura della potenza invece è sufficiente sottoporre due AD del microcontrollore, la corrente e la tensione opportunamente condizionate (in realtà se non è richiesta una misura precisa è sufficiente la corrente in quanto la tensione è approssimativamente costante).
    Per quanto riguarda l’hardware non ti bastano delle semplici resistenze per fare il partitore, io utilizzerei anche dei trasformatori di disaccoppiamento, per evitare che “correnti di fuga” danneggino il microcontrollore.

    #70314

    Ardila_2
    Membro

    Per powerline intendevo i secondi ovvero i dispositivi che trasferiscono il segnale sulla rete dei 220V e che hanno le prese ethernet.
    Come primo passo chiedevo lumi su quale PIC avrei potuto usare ce ne sono molti modelli e non so quale usare.
    I due AD del microcontrollore su cui dovrei fare la lettura della potenza sarebbero?
    Ok per il partitore ora cerco meglio qualcosa anche sui traformatori di disaccoppaimento.

    #70336

    lucagiuliodori
    Partecipante

    Per i PIC che gestiscono l’Ethernet ci sono i PIC32 e i PIC18. Per la tua applicazione è difficile da dire perchè non so la tipologia di dati che devi inviare sulla rete Ethernet, ma se vuoi stare “sicuro” io utilizzerei i PIC32: hanno più spazio per il codice e sono più veloci.
    Poi magari se devi produrne altri e vuoi spendere meno puoi pensare in un secondo momento di utilizzare i PIC18.

    Per gli AD intendevo i convertitori Analogico-Digitale che solitamente i microcontrollori hanno a bordo. Comunque come ti dicevo è sufficiente utilizzarne uno solo.

    Fammi sapere.

    #70337

    Emanuele
    Keymaster

    Hai valutato FTPmicro?

    http://it.emcelettronica.com/ftpmicro

    #70342

    Ardila_2
    Membro

    I dati che dovre inviare alla ethernet penso che siano abbastanza leggeri in quanto trattandosi di numeri al max a 3 cifre, però non so se poi il fatto di impacchettare il numero in un pacchetto tcp o udp provoca un traffico alto visto che magari la lettura viene fatta puntualmente (quasi ogni secondo) e quindi c’è parecchio traffico. Non so nemmeno se la scelta del PIC 18 o 32 sia in base alla mole di traffico che devo TX verso la ethernet, in ogni caso avrei bisogno da usare il PIC più lowpower che c’è. Poi per inserire il PIC mi basta solo l’integrato PIC o devo fare anche un circuito intorno con altri componenti? Nel senso i piedini del PIC li posso direttamente connettere ai piedini della ethernet da una parte e ai piedini del aprtitore resistivo dall’altra?

    #70344

    Ardila_2
    Membro

    Ciao Emanuele, la soluzione del FTPmicro l’ho vista interessante, l’unica cosa è sul consumo di questo dispositivo che suppongo sia maggiore dei un semplice PIC e per ora devo fare i conti anche sui consumi. Ti volevo chiedere per tale dispositivo se i piedini del microcontrollore li potevo collegare direttamente alla ethernet presente sul mio powerline oppure ho bisogno di tutta la scheda. Inoltre dove potrei trovare altra documentazione su tale dispositivo nel senso poi di come fare a visualizzare da un pc remoto e/o dal display i dati di meterring necessari. Poi ti volevo chiedere se il PIC integrato è un normale PIC oppure è stato customizzato per questa situazione.

    #70345

    Emanuele
    Keymaster

    Ciao Ardila_2

    il consumo di ftpmicro è quello di un normale pic, ma quando “accendi” il controller ethernet inizia a scaldare (siamo sui 200mA) ma questo come tutti i c ontroller ehternet del resto…. solo che nel pic scelto è incorporato.

    Ftpmicro ha già il connettore ethernet a bordo…. come fai senza scheda?
    O usi ftpmicro oppure il pic in questione lo monti su di un’altra scheda simile :)

    Il pic integrato è un normale PIC PIC18F67J60 e la doc la trovi in questo blog partendo dall’indirizzo che ti ho dato.

    #70347

    Ardila_2
    Membro

    Ok, grazie. Ti volevo chiedere se oltre ai 2 o 3 tutorial sul FTPmicro con la’bbonamento premium riuscirei ad avere tante tante cose in più ovvero tutorial più dettagliati. In parole povere ho scarsissima conoscenza dell’elettronica.
    Poi volevo chiederti se al posto del connettore ethernet che c’è già montato esso lo posso togliere e collegare il tutto al connettore del powerline.

    #70348

    Emanuele
    Keymaster

    Per utilizzare FTPmicro, dovresti avere delle basi di elettronica e programmazione c.
    Inoltre avrai bisogno di un debugger tipo icd2.

    Acquistando quindi FTPmicro nello store.emcelettronica.com avrai quindi tutta la documentazione per sviluppare.

    NOn ti consiglierei di togliere il connettore , pittosto collegarlo con un cavo al connettore powerline

    #70349

    Ardila_2
    Membro

    ok, ho appena guardato, 69 euro è un pochetto impegnativo per le finanze di uno studente, ma farò il possibile.
    E’ possibile acquistare solo la documentazione e i tutorial? Magari conuna cifra ridotta posso cavarmela.
    Per la presa ethernet quindi mi consiglieresti di lasciarla e però di fare dei giunti sugli 8 fili sull’ethernet del powerline?

    #70350

    lucagiuliodori
    Partecipante

    Rieccomi! Rispondo qua invece che sui vari post così faccio una risposta unica e non mi perdo nei vari post.

    Allora, la soluzione dell’FTPMicro che ti suggerisce Emanuele è sicuramente valida, soprattutto se non hai grandi conoscenze per quanto riguarda l’hardware e non hai grandi possibilità economiche da poterci investire.

    A mio parere non ti conviene togliere il connettore Ethernet ma piuttosto collegarlo ai tuoi dispositivi powerline: si, puoi collegare i pin del micro direttamente al connettore Ethernet utilizzando però appositi connettori e alcuni componenti utili a garantire l’adattamento della linea e la riduzione dei disturbi; tutto questo perchè alle velocità di trasmissione con cui lavora l’Ethernet i cavi diventano linee di trasmissione. Inoltre dovresti avere accortezza anche sul layout delle piste, infatti anche queste, se fatte senza utilizzare un criterio ben preciso, rischiano di compromettere la trasmissione.

    Per quanto riguarda il collegamento degli AD li puoi collegare direttamente al partitore ma devi fare molta attenzione agli isolamenti e agli adattamenti di tensione: la tensione sull’AD non deve mai superare quella di alimentazione del micro e inoltre deve essere isolata da quella di rete. Io ti consiglio di utilizzare circuiti già presenti in rete i quali sono stati già collaudati.

    Io ti consiglierei anche di valutare l’Ethernet Starter Kit della Microchip: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en545713 è più costoso dell’FTPMicro ma ha già a bordo una periferica di Debug via USB così puoi evitare di comprare un dispositivo che ti permette di eseguire il debug come per esempio l’ICD3 suggerito da Emanuele (anche se devo ammettere che alle volte la periferica di debug montata a bordo dell’Ethernet Starter Kit lascia un po’ a desiderare).

    Per quanto riguarda la scelta del micro non dipende dal traffico di dati ma da quanto software dovrai scrivere per implementare il tuo dispositivo. Comunque se scegli l’FTPMicro inevitabilmente fai la scelta di un PIC18, se scegli l’Ethernet Starter Kit fai la scelta di un PIC32 in quanto in queste due schede sono montati questi micro.

    Per la trasmissione dei dati devi comunque scegliere un tipo di codifica a livello applicativo o meglio non ti consiglio di inviare i dati ricavati dall’AD così come sono, ma di inglobarli in una stringa più articolata che ti permette di rendere più strutturata la comunicazione. Per esempio ti consiglio le stringhe jason http://json.org/json-it.html: sono stringhe facili da costruire ed è un tipo standardizzato per lo scambio di dati.

    Facci sapere.

    ps per Emanuele: scusa se gli ho consigliato l’Ethernet Starter Kit della Microchip contro il tuo “interesse” :) ma mi sembrava una soluzione che poteva andar bene

    #70351

    linus
    Membro

    l’approccio migliore è utilizzare l’Arduino, viste le scarse conoscenze di elettronica che potrebbe rispondere alle tue esigenze in modo più consono, sicuramente devi metterti a studiare. Le scelte che ti hanno proposto sono valide ed efficaci, ma vanno a cozzare sulle tue esigenze di costo e di mancanza di conoscenze specifiche.

    Fra l’altro ti consiglio di non fossilizzarti sull’uso dei PIC, anche perchè è meglio spaziare su più fronti e ti consiglio di leggere e riflettere su questo bell’articolo postato su questo stesso sito:

    http://it.emcelettronica.com/3domande-ad-antonio-cirella-titolare-inware-edizioni

    Il mio consiglio è partire da questo dispositivo che forse potrai trovare anche a prezzo minore visto i numerosi cloni:

    http://store.arduino.cc/eu/index.php?main_page=product_info&cPath=11_12&products_id=141&language=it

    #70352

    Ardila_2
    Membro

    Ok grazie Linus, provo a dare un’occhiata ad Arduino.
    Diciamo che la problematica maggiore è la scarsa conoscenza di nozioni di elettronica, per il prezzo alla fine le prime 2 soluzioni si aggirano entrambe sui 70 euro, se poi non ci fosse altra strada o se l’alternativa è spendere 50 euro con però soluzioni più complicate preferisco l’FTPmicro o il PIC32.
    Adesso guardo Arduino poi ti faccio sapere.

    #70353

    Ardila_2
    Membro

    MI hai dato delle ottime informazioni.
    1) Non dovrò trascurare il layout dello schematico, ho usato una volta solo ADS per simulare l’adattamento spero che vada bene anche pr questa volta.
    2) ok per gli AD poi cerco di trovare uno schema di un partitore così vi faccio sapere se può andare bene.
    3) Per la codifica dei dati parto praticamente da zero, ci dovrò lavorare parecchio grazie dell’esempio.

    Non facciamo disperare Emanuele x la vendita ma il problema è che per 70 euro mi viene più a costare l’FTPmicro che tutto il powerline, cmq se la cosa fosse semplice e funzionante sarei disposto a fare la spesa.

    ti faccio sapere

Stai vedendo 15 articoli - dal 1 a 15 (di 24 totali)

Devi aver eseguito l’accesso per poter rispondere a questa discussione.