| oscar1394
| Inviato il: 12/03/2015 19:06:42
|
Oggi ho assemblato il ricevitore.
Ho aggiunto all'uscita di Arduino, un pulsante collegato ad un led per il test.
Poi ho aggiunto 2 optoisolatori (sempre collegati al pin 13), uno è collegato alla morsettiera, l'altro l'ho collegato in serie ad un micro relé da 5v, che andrà ad abilitare il cicalone, che ho recuperato nel bordello. Penso di aver rimediato in questo modo il problema del disturbo che poteva causare il relé all'optoisolatore per la cnc.
Gli optoisolatori che ho utilizzato sono degli EL817 collegati con 2 resistenze da 1k ognuno, mentre il relay è un SIP-1A05.
Cosa ne dici ELETTRO?
Ho fatto tutto bene?
Non capisco però perché inizialmente avevo collegato il cicalino al secondo opto, ma non funzionava, o meglio funzionava, ma con volume molto più basso.
Immagine Allegata: 20150312_181749.jpg | | | | oscar1394
| Inviato il: 22/03/2015 10:07:06
|
Forse è meglio se ti disegno uno schema, vero?
Poi ho fatto i primi test con oscilloscopio funzionante.
Per ora, con trasmissione continua, il ritardo tra trasmissione e ricezione, è intorno ai 25ms, mentre la differenza tra le varie ricezioni rimane intorno ai 10ms, con alcune ricezioni ( circa 1 su 10 ) la differenza massima arriva anche a 25ms.
Nel pomeriggio se riesco, effettuero i test per benino.
Ti aggiornerò in serata. | | | | ElettroshockNow
| Inviato il: 22/03/2015 12:10:48
|
CITAZIONE (oscar1394, 22/03/2015 10:07:06 )
Forse è meglio se ti disegno uno schema, vero?
Protrebbe sicuramente essere utile a chi seguirà il tuo progetto.
Ma i 25mS sono un buon risultato o cerchiamo di migliorarlo ? | | | | oscar1394
| Inviato il: 22/03/2015 23:40:53
|
Testata la differenza dei ritardi tra trasmissione singola e continua.
Risultato:
Il ritardo è di circa 25ms, in entrambe i casi.
Vince la trasmissione continua, con una differenza minore dei ritardi tra le varie trasmissioni.
Test dei ritardi su 10 cicli di tastatura:
Singola;
25ms,30ms,25ms,25ms,35ms,25ms,45ms,10ms,30ms,25ms.
Continua;
30ms,28ms,25ms,20ms,25ms,24ms,25ms,40ms,28ms,25ms.
Differenze tra i ritardi:
Singola, 35ms
Continua, 20ms.
Conclusioni considerando i 20ms di scarto della trasmissione in continua:
mm/min. - mm/sec. - Precisione
500. - 8.33. - 0.1666mm.
250. - 4.16. - 0.0833mm.
200. - 3.33. - 0.0666mm.
150. - 2.5. - 0.05mm.
Per una precisione accettabile dovremo stare intorno ai 0.05mm, ma la velocità 2.5mm sec. é un po' bassa, implica un tempo abbastanza alto per andare a tastare il pezzo.
Il risultato comunque non è male.
Se riusciamo a ridurre la differenza dei ritardi a 10ms massimi, sarebbe ancora meglio. Anzi sarebbe un progetto professionale.
Intanto complimenti OTTIMO LAVORO. | | | | ElettroshockNow
| Inviato il: 23/03/2015 00:04:38
|
...
A questo punto possiamo dimezzare i tempi usando uart a 115200
Quindi si devono riprogrammare i BT a 115200 ed idem i due moduli Arduino (Serial.begin(115200)) .
Poi abbiamo un'altra strada per ridurlo ulteriormente. | | | | oscar1394
| Inviato il: 23/03/2015 21:57:14
|
Stò ri programmando tutti i moduli Arduino e BT.
Domanda, veloce veloce...
i moduli BT, posso invertirli?
Cioe, programmare il modulo del ricevitore come SLAVE e del trasmettitore come MASTER.
Penso che sia meglio invertirli, così, in caso dovesse rompersi il trasmettitore, non servirà ri programmare il BT di tutti e due i moduli, ma solo quello del ricevitore nuovo.
Ovviamente, salvando l'indirizzo dello slave, "non servirà ri interrogarlo" per programmare un nuovo Master.
Il consumo del BT Master sarà maggiore? | | | | ElettroshockNow
| Inviato il: 23/03/2015 22:32:34
|
Sisi puoi tranquillamente invertirli ...
Per il consumo credo che non cambi nulla . | | | | oscar1394
| Inviato il: 24/03/2015 00:46:45
|
Ho provato a programmare i moduli, senza dissaldarli dal circuito.
Per i moduli arduino sembra che non ci siano stati problemi, mentre per i moduli BT, il terminal risponde bene ad ogni parametro di programmazione, ma poi,i moduli non linkano.
Quindi presumo che devo dissaldarli!
Magari le resistenze danno problemi?
Modificato da oscar1394 - 24/03/2015, 16:33:19
| | | | oscar1394
| Inviato il: 26/03/2015 08:07:16
|
Nel programmare i moduli BT, devo ri eseguire la programmazione completa, dal comando AT?
Poi sostituire questo comando
"AT+UART=57600,0,0"?
Con questo "AT+UART=115200,0,0"?
Non mi sembra di aver sbagliato, ma per ora non mi funziona.
O meglio, il terminal mi risponde correttamente, ma poi i moduli non si connettono.
Mi confermi il procedimento che sto eseguendo? Cosi eventualmente cerco l'errore altrove. | | | | ElettroshockNow
| Inviato il: 26/03/2015 08:09:19
|
Si perfetto, ma devi modificare anche il setting su Arduino. | | | | ElettroshockNow
| Inviato il: 26/03/2015 08:17:57
|
Ti consiglio di ricaricare i valori default con il comando : AT+ORGL
poi riesegui la procedure descritta di seguito sostituendo il baud a 115200
LINK | | | | oscar1394
| Inviato il: 26/03/2015 10:42:30
|
Ok,
Una volta caricato i valori di default, si connettono nuovamente
I moduli Arduino gli ho riprogrammati.
Ho già fatto i test con oscilloscopio, ma i ritardi sono pressoché uguali a prima.
Potrebbe essere l'Aurduino? | | | | ElettroshockNow
| Inviato il: 26/03/2015 10:50:17
|
Forse siamo arrivati al limite del processore.
Nessuno ci vieta di trasmette meno byte .....,sicuramente recuperiamo qualche milliS ..
Come posso ritocco i codici .. oppure fallo tu
Invece di trasmettere "of" e "on" ,puoi trasmettere "f" e "n"
Ciao
Elettro | | | | oscar1394
| Inviato il: 26/03/2015 11:13:07
|
Ok.
Appena posso provo | | | | oscar1394
| Inviato il: 26/03/2015 11:27:33
|
Effettivamente però, è strano che siamo arrivati al limite del processore.
Con 16Mhz, sono ben 16000000 di calcoli al secondo.
Correggimi se sbaglio... | |
| | |
|
Versione Mobile!
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|