Go Down

Topic: Progetto ReleDuino (Aggiornamento files al 18.07.2013) (Read 23651 times) previous topic - next topic

Federico_Paiano


Purtroppo ho una versione di kicad più vecchia di quella che usi tu, e quando apro PCB mi avvisa che il file potrebbe essere intrpretato male ed infatti non si vede nulla.

Io ho la versione di kicad presente nel repo ufficiale di Fedora17, quindi sono costretto ad fare una build aggiornata manualmente
e al momento non me ne posso occupare, vedremo fine settimana cosa riesco a fare.

Comunque ho visto che anche se mi dice che le librerie non sono state trovate, queste ci sono e i componenti li mostra nello schematico.

Ciao.


Grazie di tutto. Se non ce la fai stai tranquillo, ci penso io.
Buona giornata.

Federico_Paiano

#76
May 20, 2013, 04:21 pm Last Edit: May 20, 2013, 04:32 pm by Federico_Paiano Reason: 1

bhe, come detto da altri il fatto che la tua i2c "esca" dal pcb è una forzatura non prevista dallo standard, figuriamoci il passaggio a livelli 12v..
però non conosco a fondo lo standard e "i conti" che ci stanno dietro per sapere se quel sistema è un accrocchio (ovvero: funziona ma non so come) o qualcosa di affidabile (ovvero: è matemmaticamente provato che funziona).


Scusa se faccio il pignolo, ma io non parlerei in termini di "uscire" o "entrare", perchè credo sia fuorviante: io parlerei in termini di capacità parassita del conduttore usato per trasmettere i segnali elettrici. i2c non sa se le comunicazioni avvengono fuori o dentro una pcb, ha solo dei limiti imposti dalla natura stessa dello standard su layer fisico, che si possono sempre aumentare (come ho fatto io con gli expanders ed i repeaters) o addirittura annullare con un generatore di corrente costante che elimina la graduale degradazione del cosìddetto tempo di salita; tale generatore, avendo una corrente indipendente dal livello di carica della capacità di linea, provvederà a far ottenere dei fronti di salita la cui pendenza rimane costante. In fase di progettazione però ho optato per la soluzione più semplice ed economica: le resistenze di pull-up. Visto in questi termini (non fuorvianti appunto), non è stata creata infatti nessuna forzatura allo standard, così come non è stato forzato lo standard usando livelli logici differenti rispetto a quelli che vengono usati di solito da Arduino. Anche su questo chiedo lumi ad Astrobeed, se ho detto delle castronerie.

Quote

La wire sicuramente non lo è, e non vedo come tu posssa "spegnere" l'i2c (salvo un ottima sincronizzazione dei nodi), al massimo puoi non trasmettere, ma la comunicazione i2c è ancora "viva" e quindi soggetta ad errori.


Anche qui non parlerei di "spegnere" e di "accendere". Quando i2c non è in fase di comunicazione, sia SDA che SCL sono poste a livello logico alto, il che, molto semplicemente, significa che sono ambedue "sotto tensione", senza che ci sia però passaggio di corrente e quindi consumo. Quando deve avvenire una comunicazione, l'hardware del microcontrollore (dev'essere per forza un master), dedicato alla gestione dell'interfaccia i2c, controlla le linee SDA e SCL per un tempo superiore al massimo periodo di trasmissione consentito dall'hardware; se il bus risulta libero, il master invia la sequenza di start, che consiste nel portare la linea SDA a livello basso quando SCL è a livello alto, e così iniziano le varie fasi della comunicazione (non sto qui a elencarle tutte). Francamente non credo che ci siano richieste di comunicazione, nè a livello software nè a livello hardware, quando non vi è uno specifico comando da parte del programma scritto nell'ide di arduino, che avviene, per quanto riguarda gli input, se vi è un cambiamento di stato nell'integrato che li gestisce, che in altre parole significa che solo alla pressione (e rilascio) di un pulsante avviene la lettura degli input e quindi trasmissione di segnali i2c lungo il bus. Ovviamente la gestione degli output con relativo impegno del bus dipende dalla programmazione stessa del chip arduino.

Grazie dell'attenzione, Federico.



lesto

sulla questione della i2c credo tu abbia ragione (la storia del generatore di corrente costante non la conosco ma mi fido, anceh se vedo moolto complesso un sistema del genere, che, nella mia ignoranza, credo debba avere un sistema mica da ridere di retroazione), il punto è che con expander e repeater stai introducendo complessità, e spingendo lo standard al limite.

Quote
Quando i2c non è in fase di comunicazione, sia SDA che SCL sono poste a livello logico alto

siamo daccordo, ma nulla vieta di leggere un erroneo comando di start. E voilà il tuo arduino è impallato. Non conosco la PROBABILITA che ciò avvenga, ma a naso visto che si tratta semplicemente di tenere SDA a < 3v per un paio di clock (che lo usi a 100kHz immagino), non mi sembra tanto bassa.

Quote
Grazie di tutto. Se non ce la fai stai tranquillo, ci penso io.

non riesci a salvare lo schema con una versione inferiore? mi pare che puoi sceglierlo nel menuù a tendina
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

Federico_Paiano

#78
May 20, 2013, 08:42 pm Last Edit: May 20, 2013, 09:03 pm by Federico_Paiano Reason: 1

sulla questione della i2c credo tu abbia ragione (la storia del generatore di corrente costante non la conosco ma mi fido, anche se vedo moolto complesso un sistema del genere, che, nella mia ignoranza, credo debba avere un sistema mica da ridere di retroazione) ...


Guarda questo:
http://elettroportale.altervista.org/Correntecost317.html
La storia del generatore di corrente costante si può fare ma non ho mai progettato nulla del genere perchè non ne ho mai avuto bisogno.

Leggiti questo testo, dal quale ho tratto la mia spiegazione:
"Il protocollo i2c": http://www.laurtec.it/italiano/tutorial/il_protocollo_i2c/AN4005-IT_il_protocollo_i2c.pdf
Poi se vuoi ti do altri riferimenti bibliografici.

Tra i due, probabilmente il più ignorante sono io.

Quote

... il punto è che con expander e repeater stai introducendo complessità, e spingendo lo standard al limite.


Fidati .... non è al limite.
AN460: "Using the P82B96 for bus interface";
AN255-02: "I2C / SMBus REPEATERS, HUBS AND EXPANDERS";
AN10364: "Opto-electrical isolation of the I2C-bus (operating the bus between points with different local ground potential)";
AN10658: "Sending I2C-bus signals via long communications cables"

pablos

Non hai risposto al reply 66

Comunque bella moto la tua ninja  :D :D

ciao
no comment

Federico_Paiano

#80
May 20, 2013, 09:33 pm Last Edit: May 20, 2013, 09:39 pm by Federico_Paiano Reason: 1

Non hai risposto al reply 66

Comunque bella moto la tua ninja  :D :D

ciao


Scusa ... è molto difficile rispondere a tutto ... mo lo guardo il reply 66
Avrei preferito che dicessi: molto bella la tua ReleDuino, piuttosto che la ninja; quella mi è costata 7.000 euro solo di "upgrade".
Devo ancora preparare tutte le risposte ad astrobeed, il che mi sta portando via un pò di tempo.

pablos

#81
May 20, 2013, 10:02 pm Last Edit: May 20, 2013, 10:06 pm by pablos Reason: 1
Quote
Avrei preferito che dicessi: Molto bella la tua ReleDuino


Non mi è chiara una cosa, ma tu cerchi approvazioni o suggerimenti?
Guarda la scheda principalmente deve piacere a te e sei tu quello che deve crederci indifferentemente da quello che ti dicono!!! Se riteni che sia un progetto valido e che sfonda il mercato solo tu puoi saperlo, troverai 10-20-100 persone che smonteranno le tue idee, sta a te credere in quello che fai, però una c'è una condizione..... "il tutto deve funzionare ed essere utile".
Fino ad ora non ho letto

- Si forse avete ragione
- Proverò a cambiare metodo
- Quale circuito potete suggerirmi

ma ti gongoli solo nel vedere tanti post, ti vengono le lacrime agli occhi, ma sono cose ancora lontane dall'essere realizzate, stai qui a leggere e scrivere, apri 100 volte al giorno arduino forum per vedere se c'è qualche nuova risposta e i circuiti sono ancora quelli, nel tuoi IO accetti con difficoltà contestazioni.....................non vado oltre, ma se non ti dai una mossa nella tua nuova casa non ci installi nulla nemmeno tra 10 anni :)

ciao
no comment

pighixxx


Federico_Paiano

#83
May 21, 2013, 12:56 am Last Edit: May 21, 2013, 01:05 am by Federico_Paiano Reason: 1

Avrei preferito che dicessi: Molto bella la tua ReleDuino


Ti ho detto che avrei preferito che mi dicessi che ti piace la ReleDuino piuttosto che la ninja, non perchè voglio che tu mi dica che ti piace la mia scheda, ma perchè non è qui che si deve parlare di moto, pur avendoti risposto.

Quote

Non mi è chiara una cosa, ma tu cerchi approvazioni o suggerimenti?


Probabilmente non sono stato chiaro negli obiettivi che mi ero prefisso aprendo questo topic, ma li ho spiegati già nella prima pagina: io ho creato la prima scheda (non è l'unica che ho in mente) che è il punto di partenza per la creazione di un sistema domotico in stile OpenDomotica (ho già fornito il link di questo progetto). Se avessi accettato completamente quel sistema non nè avrei creato uno mio. Nel forum cerco opinioni, che possono essere favorevoli o contrari (poco importa) e suggerimenti. I suggerimenti, per come li vedo io, vanno fatti in un certo modo: dire che la scheda non và (che è diverso che dire che la scheda non piace) è come non dire nulla per quanto mi riguarda; se il sistema elettronico creato non è efficiente bisogna dire il perchè non lo è, senza sparare giudizi che non sono funzionali ai fini dell'evoluzione di un progetto. Dire, ad esempio, che l'adozione di un tipo particolare di relè non va bene per un motivo X, è un tipo di critica che io apprezzo proprio perchè si spiega il motivo di una particolare critica. Fin'ora però ho risposto a tutti i dubbi e critiche poste dalla community, a mio avviso dimostrando che le soluzioni già adottate sono le migliori tra quelle proposte, altrimenti sarei stato il primo a fare delle modifiche, e quindi il progetto non necessita di ulteriori accorgimenti poichè è già funzionante al meglio; come già accennato devo ancora effettuare dei test su alcuni tipi di comunicazione tra schede ed avere conferme sulla stabilità del sistema che arriveranno, positive o negative (per ora mi trovo fuori regione per lavoro e non posso procedere con i test). Diciamo che le critiche più serie mi sono state date da astrobeed, per le quali sto predisponendo le opportune risposte e sul quale si potrà trarne nuovo spunto per capire se il sistema dev'essere cestinato o può essere migliorato o è già attualmente il miglior sistema disponibile così com'è.

Quote
Guarda la scheda principalmente deve piacere a te e sei tu quello che deve crederci indifferentemente da quello che ti dicono!!!


Più che la scheda, è il particolare tipo di soluzione che spero che piaccia. La scheda dev'essere quanto più efficiente possibile per attuare al meglio la soluzione progettata, ed è sulla sua efficienza che chiedo consigli e pareri ... chiaramente per darli si deve almeno perdere un pò di tempo nello studio dello schema elettrico, altrimenti è come dare il giudizio su un libro sul quale non si è neanche aperto l'indice.

Quote
Se riteni che sia un progetto valido e che sfonda il mercato solo tu puoi saperlo, troverai 10-20-100 persone che smonteranno le tue idee, sta a te credere in quello che fai ...


Se avessi voluto guadagnarci non avrei usato le creative commons così come sono, ma avrei programmato il chip usando il software di sviluppo della stessa atmel. Nella mia idea ho solo voluto ricalcare (senza avere la presunzione di giungere agli stessi livelli) la filosofia che è stata alla base del successo delle schede Arduino, prima di tutto perchè credo in questa filosofia; poi posso pure non guadagnarci un euro, non è certo questo lo scopo principale per il quale spendo il mio tempo.

Quote
... però una c'è una condizione..... "il tutto deve funzionare ed essere utile".


I primi propotipi delle schede sono state già realizzate e funzionanti.

Quote
Fino ad ora non ho letto

- Si forse avete ragione
- Proverò a cambiare metodo
- Quale circuito potete suggerirmi


I circuiti sono ancora quelli perchè sono funzionanti e non sono state avanzate alternative ritenute migliori (chiedo di essere smentito a riguardo), senza considerare il fatto che tutti possono modificare la scheda a proprio piacimento senza chiedere il permesso al sottoscritto, così come da licenza pubblicata. Il progetto può essere anche stravolto, si può cambiare metodo, potete suggerirmi qualsiasi circuito alternativo, ma da dove partiamo? Quali metodi, proposte, suggerimenti migliori sono stati avanzati? Sarò il primo a ridisegnare lo schema elettrico tutto da capo se viene stabilito un punto di partenza comune.

Quote
... ma ti gongoli solo nel vedere tanti post, ti vengono le lacrime agli occhi ...


Mi gongolo? Mi vengono le lacrime agli occhi? ......... ma che ti fumi? La cicoria?

Quote
...ma sono cose ancora lontane dall'essere realizzate...


Cosa è lontano dall'essere realizzato?

Quote
... stai qui a leggere e scrivere, apri 100 volte al giorno arduino forum per vedere se c'è qualche nuova risposta ...


??? apro cento volte al giorno il forum ???

Quote
... e i circuiti sono ancora quelli ...


Mi dici come devono essere cambiati?

Quote
... nel tuoi IO accetti con difficoltà contestazioni ...


Non credo sia una visione corretta della realtà ........ potresti fornirmi un passaggio dei miei scritti nel quale si evince che non accetto contestazioni? Onestamente credo nell'esatto contrario.

Quote
.....................non vado oltre, ma se non ti dai una mossa nella tua nuova casa non ci installi nulla nemmeno tra 10 anni :)


In cosa dovrei darmi una mossa???

Quote
ciao


ciao


Michele Menniti



+1


???

significa che è d'accordo con quanto scritto nel post precedente al suo. Il mio parere spassionato è che in questo Topic stia regnando la logorrea, a svantaggio del contenuto tecnico, non è possibile che ad ogni qualsiasi riga di affermazione (azione) debbano corrispondere minimo tre righe di risposta (reazione contraria ma non uguale), chiarisco che i soggetti sono interscambiabili, quindi è proprio il Topic che è diventato, suo malgrado, logorroico, non un singolo utente. Se posso dare un consiglio restate nel tecnico e ignorate tutto il resto, anche questo è un modo per mantenere il Topic pulito.... Buon proseguimento.
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

Federico_Paiano




+1


???

significa che è d'accordo con quanto scritto nel post precedente al suo. Il mio parere spassionato è che in questo Topic stia regnando la logorrea, a svantaggio del contenuto tecnico, non è possibile che ad ogni qualsiasi riga di affermazione (azione) debbano corrispondere minimo tre righe di risposta (reazione contraria ma non uguale), chiarisco che i soggetti sono interscambiabili, quindi è proprio il Topic che è diventato, suo malgrado, logorroico, non un singolo utente. Se posso dare un consiglio restate nel tecnico e ignorate tutto il resto, anche questo è un modo per mantenere il Topic pulito.... Buon proseguimento.


Concordo

MauroTec

Quindi esiste gia una scheda o più?
Se si puoi procedere a fare dei test.

Il test si fà ponendo la scheda nelle condizioni di uso più prossimo a quello che è l'installazione finale.

Cioè per condurre dei test significativi dovresti avere almeno 2 schede, visto che possono commutare ognuna 8 o 7 ciascuna.

Realizzare una connessione volante molto simile ad un impianto elettrico di un appartamento, cioè una linea principale da cui derivare i punti, oppure la più dispendiosa sorgente -> stanza, che non so come si chiama, ma prevede che ogni stanza ha una linea connessa all'interruttore principale, per cui 5 stanze 5 line connesse alla barra di derivazione, ovviamente sia per neutro che per fase.

Usare carichi più possibile simili a quelli reali, io ad esempio uno o più motori li prevederei, perchè io abito in una villetta due piani con un motore pompa autoadescante che uso per riempire dei recipienti da 10000 litri, poi ho anche quello che viene chiamato polmone, composto da un motore pompa più palla a membrana, che serve per avere una pressione al rubinetto quasi costante.
Poi scaldabagno ecc.

Verificare che l'alimentatore usato nella scheda non porti disturbi, pricipalmente perchè mi risulta non essere dei migliori, e possono sorgere problemi ma dipende anche dal layout del PCB. Verificare cosa accade se la connessione si interrompe ma l'alimentazione è presente; cosa accade quando la connessione si ristabilisce.

Eventuali problemi che dovessero sorgere non invalidano tutto il progetto, ma rallentano lo sviluppo, ma non c'è alternativa.
Come ti hanno detto la i2c del core arduino non è sicura cioè e stato costatato che è fallibile e lesto a provato a trovare una soluzione mi pare.
Comunque in genere si tratta di prevedere una routine di errore, dove ricorrere quando per caso un while (cond) non esce, modificandolo in modo che il test possa uscire dopo x tempo e nel caso una routine che ritenta sarai più fortunato, più una buffer interno alla routine di errore che salva tutti gli errori o warning o anomalie che a secondo del tipo blocca il funzionamento della scheda in condizioni di sicurezza.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Federico_Paiano


Potresti dire quegli input (ipoteticamente parlando) se dovessi installarla in casa tua come li useresti? per accendere le luci?


Rispondo al repy 66 di pablos, come da lui richiesto:

Il chip che gestisce gli input è l'integrato PCF8574 (o il suo "upgrade" PCA8574). E' stato inserito nel circuito stampato per gestire i comandi derivanti dalla pressione dei vari pulsanti posti nelle abitazioni dove la scheda viene installata. Viste le sue caratteristiche, potrebbe gestire eventualmente anche dei led di stato che potrebbero dare delle indicazioni circa, appunto, lo stato di un pulsante (ad esempio, il led acceso potrebbe indicare che quel pusante è stato premuto, il led lampeggiante potrebbe indicare che una particolare luce temporizzata accesa sta per spegnersi, e così via). Nella configurazione senza led di stato, il chip può gestire 8 pulsanti, nella configurazione con i led di stato può gestire 4 pulsanti e 4 led. La scheda integra già un connettore per dare al led l'appropriato voltaggio e per la connessione a massa; ho anche inserito due resistenze da 470 ohm in parallelo da 1/4 watt in modo da avere come risultante una resistenza da 235 ohm da 1/2 watt, che credo sia sufficiente a gestire il carico dei 4 led di stato che potrebbero essere inseriti. Il chip è compatibile con le classiche pulsantiere in uso negli impianti elettrici classici delle abitazioni (non domotici) in modo da non gravare sull'economia dello stesso impianto. Sarebbero gradite indicazioni a riguardo, se il chip e/o le resistenze adottate non fossero eventualmente appropriate.

Le schede sono state progettate sia per accendere luci ed aziozare resistori vari che per comandare motori di tapparelle, ventilatori, e quan'altro (sia carichi resistivi che induttivi).
Colgo l'occasione per richiamare il punto 7 di astrobeed nel reply 49, circa la possibilità di autoreset o impallaggio del chip montato sulla scheda; purtroppo astrobeed è stato molto vago, identificando un possibile problema senza citarne le cause potenziali.
Presumo che il reset o crash del chip possa essere causato dai carichi induttivi dovuti all'apertura/chiusura del circuito nelle bobine dei relè, oppure (ma non sono ferrato in materia) dal trasformatore di alimentazione (che però non è switching). In quest'ambito ho un grado d'ignoranza tendente al più infinito e chiedo lumi a chi mi potrà aiutare.

MauroTec

Il problema è che astrobeed per essere chiaro dovrebbe scrivere un trattato di 200 pagine, non molto digeribile anche per chi ha competenze in materia di elettrotecnica, per cui se noti problemi di autoreset dillo che si trova il modo di risolvere, se invece non li hai, vuol dire che non li avrai mai, ma questo puoi dirlo solo dopo che hai messo le schede a lavorare nelle condizioni finali di esercizio.

Tutto puoi influire, il layout del PCB è una rogna e alle volte un layout particolarmente curato di permette di usare un alimentatore giudicabile poco adatto.

Proprio per questo ti suggerivo di fare i test e se hai problemi poi si trova in qualche modo la soluzione.

Ciao.
AvrDudeQui front end per avrdude https://gitorious.org/avrdudequi/pages/Home

Go Up