- Messaggi: 144
- Ringraziamenti ricevuti 3
Colpitts che non oscilla
10 Anni 1 Mese fa - 10 Anni 1 Mese fa #16
da Chuck_Norris
Risposta da Chuck_Norris al topic Colpitts che non oscilla
si il progetto è stato studiato già tutto a grandi linee ma devo procedere per gradi perchè molte cose per me sono ancora inesplorate. Se non so come si costruisce un razzo non posso pensare di arrivare sulla luna al primo lancio, no?
La mia idea è di dividere il progetto in sezioni gestite da una centralina "master" con diverse altre centraline "slave" più attuatori a livello ancora più basso (come se fosse una scala gerarchica). Esempio, abito in una casa di campagna con un camino termico e l'orto fuori, potrebbe esserci una centralina madre attaccata al pc che monitora più o meno tutto e 2 centraline "slave", una che gestisce solo il camino e un'altra che gestisce l'orto ma entrambi che mandano a intervalli regolari informazioni alla master, per esempio temperatura interna/esterna, se fuori piove, modalità di accensione dell'irrigazione (per poi poterle cambiare da pc) e cose simili, mentre l'attuatore di bassissimo livello potrebbe essere semplicemente una scheda con alimentazione, attuatore e Microcontrollore per gestire solo accensione e spegnimento di luci o disattivazione della presa della corrente per diminuire anche l'assorbimento degli apparecchi in stand-by (e questo per ora sembra la scheda con più vincoli perchè è quella che dovrebbe entrare in un solo slot nelle scatole della bticino).
Per gestire la comunicazione pensavo di prendere spunto qui e li, non ho ancora stabilito molto perchè al momento ha priorità molto bassa, però il protocollo usato dai televisori che voglio implementare io ha un bit di start particolare e una sequenza da 12 bit, di cui 5 destinati all'indirizzo e 7 al dato. Utilizzando i bit di indirizzo per "chiamare" solo la centralina che voglio e poi mandando i dati, dovrei risolvere uno dei problemi (ossia lo scambio dei dati solo con 2 schede anche se nel sistema ce ne dovessero essere cento), poi avevo pensato di mettere un bit di parità o qualcosa per verificare che il dato sia esatto e usare una funzione random per la trasmissione. Ossia, supponiamo che 2 centraline devono comunicare qualcosa alla master, prima "ascoltano" e vedono se c'è già una comunicazione in atto, poi supponiamo che inizino a "parlare" nello stesso istante e la linea si incasina, il bit di parità rileva il problema ed entrambi si fermano. Ora, sapendo che un treno di dati è lungo mediamente N, se 2 centraline riprovano dopo un tempo N + X, dove X è random, si sa matematicamente che non possono di nuovo riparlarsi sopra contemporaneamente un pò come succede anche nella trasmissione dei dati in internet.
Questo è più o meno quello che ho abbozzato, il resto verrà definito quando riuscirò ad avere una comunicazione stabile tra una centralina e un attuatuatore con una lampadina in un altra stanza della casa, perchè solo a quel punto posso cominciare a pensare che sia davvero fattibile
La mia idea è di dividere il progetto in sezioni gestite da una centralina "master" con diverse altre centraline "slave" più attuatori a livello ancora più basso (come se fosse una scala gerarchica). Esempio, abito in una casa di campagna con un camino termico e l'orto fuori, potrebbe esserci una centralina madre attaccata al pc che monitora più o meno tutto e 2 centraline "slave", una che gestisce solo il camino e un'altra che gestisce l'orto ma entrambi che mandano a intervalli regolari informazioni alla master, per esempio temperatura interna/esterna, se fuori piove, modalità di accensione dell'irrigazione (per poi poterle cambiare da pc) e cose simili, mentre l'attuatore di bassissimo livello potrebbe essere semplicemente una scheda con alimentazione, attuatore e Microcontrollore per gestire solo accensione e spegnimento di luci o disattivazione della presa della corrente per diminuire anche l'assorbimento degli apparecchi in stand-by (e questo per ora sembra la scheda con più vincoli perchè è quella che dovrebbe entrare in un solo slot nelle scatole della bticino).
Per gestire la comunicazione pensavo di prendere spunto qui e li, non ho ancora stabilito molto perchè al momento ha priorità molto bassa, però il protocollo usato dai televisori che voglio implementare io ha un bit di start particolare e una sequenza da 12 bit, di cui 5 destinati all'indirizzo e 7 al dato. Utilizzando i bit di indirizzo per "chiamare" solo la centralina che voglio e poi mandando i dati, dovrei risolvere uno dei problemi (ossia lo scambio dei dati solo con 2 schede anche se nel sistema ce ne dovessero essere cento), poi avevo pensato di mettere un bit di parità o qualcosa per verificare che il dato sia esatto e usare una funzione random per la trasmissione. Ossia, supponiamo che 2 centraline devono comunicare qualcosa alla master, prima "ascoltano" e vedono se c'è già una comunicazione in atto, poi supponiamo che inizino a "parlare" nello stesso istante e la linea si incasina, il bit di parità rileva il problema ed entrambi si fermano. Ora, sapendo che un treno di dati è lungo mediamente N, se 2 centraline riprovano dopo un tempo N + X, dove X è random, si sa matematicamente che non possono di nuovo riparlarsi sopra contemporaneamente un pò come succede anche nella trasmissione dei dati in internet.
Questo è più o meno quello che ho abbozzato, il resto verrà definito quando riuscirò ad avere una comunicazione stabile tra una centralina e un attuatuatore con una lampadina in un altra stanza della casa, perchè solo a quel punto posso cominciare a pensare che sia davvero fattibile
Ultima Modifica 10 Anni 1 Mese fa da Chuck_Norris.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
Riduci
Di più
10 Anni 1 Mese fa #17
da Skyrunner65
Risposta da Skyrunner65 al topic Colpitts che non oscilla
In pratica, con questo protocollo potresti indirizzare 32 centraline che a loro volta controllano altri 32 dispositivi dell'impianto. Penso sia realizzabile, anche se in domotica si preferisce l'implementazione di "intelligenza distribuita", tutti dispositivi con microcontrollore a bordo, sia sensori o comandi che attuatori, tutti collegati a BUS con una trama di comando molto complessa. Esempio, il protocollo standard KNX Konnex, prevede una lunghezza massima di 23byte del "telegramma" inviato sul BUS da ogni dispositivo:
8 bit di controllo + 16 bit indirizzo di partenza + 17 bit indirizzo di destinazione + 7 bit lunghezza del campo dati + max 16 per 8 bit dati + 8 bit di controllo. In caso di errore è prevista la ritrasmissione del telegramma. I telegrammi vengono modulati su tensione continua; uno zero logico viene trasmesso come impulso, mentre l’assenza di impulsi viene interpretata come un uno logico. Ogni dispositivo contenuto nella scatola dell'impiando elettrico contiene una piccola scheda a microcontrollore ed un trasformatore per la trasmissione bilanciata e per il disaccoppiamento
dei segnali dall’alimentazione del bus, in quanto i due fili del bus servono sia per i dati che per l'alimentazione dei dispositivi.
8 bit di controllo + 16 bit indirizzo di partenza + 17 bit indirizzo di destinazione + 7 bit lunghezza del campo dati + max 16 per 8 bit dati + 8 bit di controllo. In caso di errore è prevista la ritrasmissione del telegramma. I telegrammi vengono modulati su tensione continua; uno zero logico viene trasmesso come impulso, mentre l’assenza di impulsi viene interpretata come un uno logico. Ogni dispositivo contenuto nella scatola dell'impiando elettrico contiene una piccola scheda a microcontrollore ed un trasformatore per la trasmissione bilanciata e per il disaccoppiamento
dei segnali dall’alimentazione del bus, in quanto i due fili del bus servono sia per i dati che per l'alimentazione dei dispositivi.
Si prega Accedi o Crea un account a partecipare alla conversazione.
10 Anni 1 Mese fa #18
da Chuck_Norris
Risposta da Chuck_Norris al topic Colpitts che non oscilla
anche il mio sistema ha sempre un microcontrollore su ogni scheda, solo che quelle che devono solo accendere/spegnere le luci o le prese non devono fare molto, quindi pensavo di dargli "meno importanza" a livello di sistema. Leggevo anche che questo tipo di protocollo all'occorrenza può essere più lungo di 12 bit ed è per questo che forse lo riadattero alle mie esigenze. Perchè supponiamo di dover riprogrammare l'irrigazione da pc, è impensabile di farlo solo con 7 bit! O mando più di un comando per volta o allungo la stringa. E pensavo di mettetere il bit di parità o qualche altro piccolo trucchetto proprio per sapere se bisogna ritrasmettere il dato o no.
Poi si vedrà perchè come ti dicevo, il prossimo passo è realizzare una comunicazione stabile solo tra 2 schede e perfezionare il tutto. il resto viene dopo! Probabilmente questo progettino mi impegnerà per molto, molto tempo
Poi si vedrà perchè come ti dicevo, il prossimo passo è realizzare una comunicazione stabile solo tra 2 schede e perfezionare il tutto. il resto viene dopo! Probabilmente questo progettino mi impegnerà per molto, molto tempo
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 144
- Ringraziamenti ricevuti 3
10 Anni 1 Mese fa #19
da Mauro Laurenti
Risposta da Mauro Laurenti al topic Colpitts che non oscilla
Avrai esperienze da fare.
...magari puoi anche pensare di usare il modulo PWM per generare i tuoi toni.
...visto che hai gia' un micro potresti prenderlo in considerazione.
Ma con il modulo PWM interno ai PIC18/PIC16, i toni che riesci a generare sono a frequenze piuttosto basse (di pochi KHz).
Saluti,
Mauro
...magari puoi anche pensare di usare il modulo PWM per generare i tuoi toni.
...visto che hai gia' un micro potresti prenderlo in considerazione.
Ma con il modulo PWM interno ai PIC18/PIC16, i toni che riesci a generare sono a frequenze piuttosto basse (di pochi KHz).
Saluti,
Mauro
Si prega Accedi o Crea un account a partecipare alla conversazione.
10 Anni 1 Mese fa - 10 Anni 1 Mese fa #20
da Chuck_Norris
Risposta da Chuck_Norris al topic Colpitts che non oscilla
infatti lo scopo di questo mega progetto non è il progetto in sè, mi serve più a scopo didattico che altro. Per esempio non ho mai collegato un micro ad un pc, quindi anche quella sarà un altra sfida (partendo sempre per gradi stabilendo una connessione rudimentale per poi arrivare dove voglio) e se poi tutto dovesse naufragare non importa, avrò imparato sicuramente qualcosa e avrò più esperienza per i progetti futuri.
Per il discorso di generare il tono con l'MCU è stata presa in considerazione così come quella di usare un MCU con un DAC (per farlo funzionare come un DDS) però è stata scartata per un motivo banale. Vorrei stare più di qualche decade lontano dai 50Hz per avere dei filtri più efficaci con meno componenti possibili, per esempio con un filtro di primo ordine passivo tra 50Hz e 5kHz avrei "solo" un attenuazione di 40db (sono 2 decadi), mentre tra 50Hz e 500kHz avrei 80db di attenuazione che sono più che sufficienti (almeno nella mia testa, devo ancora fare delle prove fatte bene).
In questo progetto sto cercando di avere un approccio il più ingegneristico possibile e cercando di considerare tutte le possibili opzioni scegliendone una con criterio, anche perchè sono vicinissimo alla laurea e tra un pò questo potrebbe essere il mio lavoro.
Spero di essere stato chiaro e di aver spiegato le mie esigenze, poi se sbaglio qualcosa sono apertissimo ai consigli o alle critiche.
PS: non sono un novello dell'elettronica, cioè questo è il mio primo progetto complesso ma non è il primo in assoluto. Per questo ho deciso di buttarmi anche se certi aspetti per me sono ancora ignoti
Per il discorso di generare il tono con l'MCU è stata presa in considerazione così come quella di usare un MCU con un DAC (per farlo funzionare come un DDS) però è stata scartata per un motivo banale. Vorrei stare più di qualche decade lontano dai 50Hz per avere dei filtri più efficaci con meno componenti possibili, per esempio con un filtro di primo ordine passivo tra 50Hz e 5kHz avrei "solo" un attenuazione di 40db (sono 2 decadi), mentre tra 50Hz e 500kHz avrei 80db di attenuazione che sono più che sufficienti (almeno nella mia testa, devo ancora fare delle prove fatte bene).
In questo progetto sto cercando di avere un approccio il più ingegneristico possibile e cercando di considerare tutte le possibili opzioni scegliendone una con criterio, anche perchè sono vicinissimo alla laurea e tra un pò questo potrebbe essere il mio lavoro.
Spero di essere stato chiaro e di aver spiegato le mie esigenze, poi se sbaglio qualcosa sono apertissimo ai consigli o alle critiche.
PS: non sono un novello dell'elettronica, cioè questo è il mio primo progetto complesso ma non è il primo in assoluto. Per questo ho deciso di buttarmi anche se certi aspetti per me sono ancora ignoti
Ultima Modifica 10 Anni 1 Mese fa da Chuck_Norris.
Si prega Accedi o Crea un account a partecipare alla conversazione.
- Chuck_Norris
- Autore della discussione
- Premium Member
Riduci
Di più
- Messaggi: 144
- Ringraziamenti ricevuti 3
Moderatori: Mauro Laurenti, StefA, Matteo Garia
Registrati al sito
Accedi a tutte le risorse e articoli non visibili pubblicamente, puoi registrarti con pochi passi.