Home Forum MICROCONTROLLORI Protocolli di trasmissione

Questo argomento contiene 7 risposte, ha 4 partecipanti, ed è stato aggiornato da  l.andry88 1 anno, 12 mesi fa.

Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)
  • Autore
    Articoli
  • #59220

    l.andry88
    Membro

    Ciao mi chiamo Andrea e sono un appassionato di tecnologia.

    Vorrei reperire delle informazioni circa comnicazioni tra vari mcu.
    Pensavo a Arduino ma non disdegnerei anche i pic come slave Mentre vorrei usare come master un pc minimale Linux ad esempio Raspberry pi.
    Come protocollo fisico candiderei il buon rs485 quindi escluderei il canbus per il momento.

    Ad esempio
    Esistono varie librerie python modbus per il alto server ma mi chiedevo se queste fossero compatibili, de facto uno standard, con le librerie disponibili per Arduino
    vedi ModbusSlave.h oppure SimpleModbusSlave

    Grazie a quanti mi daranno una mano

    Andrea

    #72029

    aloisius
    Membro

    Se posso dire la mia…

    PIC (o altro microcontrollore) -> RS232 -> MAX232 -> PC
    ormai praticamente tutti i microcontrollori montano a bordo un modulo RS232 in logica TTL (0 – 5V) , mentre i PC (retaggi storici) il vecchio RS232 (-12V +12V ) , per risolvere il problema puoi usare il famosissimo integrato MAX232 , che appunto non è altro che un convertitore di logica,
    non necessita di alimentazione esterna a +-12 , ma sempre 5V.
    I PC ‘nuovi’ solitamente non hanno questa porta , essendo di fatto superata da piu’ moderni standard seriali (vedi USB) , puoi risolvere il problema con un convertitore USB-RS232 , o eventualmente (per computer desktop) una scheda PCI con questa porta , e con la scusa ti fai anche la PPT (parallela).

    per quanto riguarda RS485(uno standard pensato per uso industriale) differisce dal 232 per le tensioni -7V +12V , le velocita’ in termini di BoudRate e sopratutto per le distanze (35 Mbit/s fino a 10 m e 100 kbit/s a 1.200 m).
    Anche per questo standard esiste il suo convertitore RS485-TTL , appunto il max485.

    in generale non si parla di master/slave in quanto la comunicazione è implementabile in modalita’ FULL-DUPLEX.

    prima di pensare ad una qualsiasi forma di comunicazione bisognerebbe valutare dunque , velocita’ richieste da progetto , tipo di comunicazione (seriale/parallelo ,duplex half/full , sincrona/asincrona etc.) e distanza tra apparati in comunicazione, a quel punto si puo’ cominciare a fare una cernita su i vari standard che si potrebbero usare.

    #72032

    Emanuele
    Keymaster

    Ci sono varie soluzioni per far comunicare 2 mcu. Dipende dalle specifiche di progetto…. insomma perche devono comunicare e… cosa si devono dire? :)

    #72047

    l.andry88
    Membro

    Grazie per le risposte!

    Il mio progetto prevederebbe il controllo di parametri come: temperatura, umidità e quantità di luce in varie stanze diciamo 3/4, questi dati dovrebbero essere visualizzati da almeno due display lcd in tempo reale.
    Gli stessi dati dovrebbero anche essere memorizzati in un database.
    Per questo pensavo ad un protocollo già fatto, che mettesse in comunicazione sia Arduino (rilevazione dati e lcd) che Python (per caricare i dati su mysql).
    La mia domanda era: quale protocollo è per certo uno standard?
    e/o dove reperire le giuste librerie compatibili visto i diversi dispositivi impiegati?

    Grazie

    Andrea

    #72052

    aloisius_1
    Membro

    ..Bhe

    MCU->lcd = dipende dall’lcd
    MCU->sensori = dipende dai sensori
    MCU->pc = forse potresti pensare ad un collegamento ethernet

    #72057

    l.andry88
    Membro

    Ciao,

    nel caso di Arduino
    Lcd => #include

    sensori => #include oppure analogRead(Pinx)

    ethernet => forse troppo dispendioso in termini di risorse e denaro (ma da tenere in seria considerazione)

    Grazie

    #72059

    l.andry88
    Membro

    ciao,

    Lcd => #include LiquidCrystal.h

    sensori => #include OneWire.h oppure analogRead(Pinx)

    ethernet => forse troppo dispendioso in termini di risorse e denaro (ma da tenere in seria considerazione)
    Grazie

    #72081

    l.andry88
    Membro

    Ciao

    Per ora ho trovato queste librerie che potrebbero essere interessanti come Master

    Java:

    – Jamod

    – Modbus4J ( Mango )

    Python:

    – Pymodbus

    – MinimalModbus

    Ma la compatibilità con slave su MCU è da verificare

    p.s.
    Cortesemente cancellate il mio post #5 io non riesco

Stai vedendo 8 articoli - dal 1 a 8 (di 8 totali)

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