Show Posts
Pages: [1] 2 3 4
1  International / Software / Re: Problematiche lettura seriale arduino mega on: March 17, 2014, 11:53:36 am
Senza il delay i byte letti da seriale non sono corretti però ho rimediato utilizzando il delayMicroseconds, praticamente dalle prove fatte con 50 microsecondi il software funziona come con il delay di 1 millisecondo. con meno di 50 micro non funziona più!!
Quindi con questo accorgimento ho guadagnato ben 16 millisecondi.
2  International / Software / Re: Problematiche lettura seriale arduino mega on: March 17, 2014, 08:15:40 am
non funziona nulla senza quel <20, il while viene eseguito solo dopo una richiesta AT e appunto serve per far si che sia attesa la risposta, infatti finché non ricevo almeno 20 byte devo attendere, dopo di che vado a leggerli dalla seriale.
Il Problema sta nella lettura senza delay che avviene in modo errato e non capisco il motivo.
3  International / Software / Problematiche lettura seriale arduino mega on: March 17, 2014, 04:39:49 am
Ciao a tutti
Sto utilizzando un arduino mega connesso a un modulo xbee; posto che la baud rate dell'arduino è di 57600 e quella del modulo xbee è esattamente la stessa, non riesco a capire perchè debba servire un ritardo nella lettura della seriale, dato che il messaggio dovrebbe essere già stato bufferizzato dall'arduino.

Code:
while(Serial1.available()<20); //attesa  necessaria affinche il messaggio si bufferizzato
for (int i = 1; i<=Lenght; i++) {
    DiscardByte =  Serial1.read();
    CalcChecksum = CalcChecksum + DiscardByte;
    delay(1);            // ritardo necessario per non fare perdere il sincronismo alla lettura da seriale
  }

Il codice postato é solo per favi capire che senza il delay di 1 ms la lettura non viene effettuata bene.
Sapete spiegarmi il perchè, Grazie!!
4  International / Software / arduino xbee on: February 10, 2014, 08:30:37 am
Ciao a tutti

Sto utilizzando dei moduli xbee 802.15.4 per comunicare dei segnali di azionamento.
Da un lato ho arduino collegato al xbee programmato in modalità Api che mi invia i comandi ad un xbee remoto che deve semplicemente cambiare il valore di due suoi pin digitali.
E' implementata nella richiesta del comando la modalità di ritrasmissione dell'acknowledge, il problema è che a volte il comando fallisce e me ne accorgo perché non ricevo l'ack.
Volevo verificare dal lato xbee remoto se arriva il comando,ma se connetto l'xbee alla seriale di arduino non riesco a visualizzare nulla.Come posso fare?Devo riprogrammare il modulo remoto in modalità api?
5  International / Software / Ack Xbee on: December 12, 2013, 10:12:47 am
Ciao a tutti
 
Chiedo consiglio per risolvere la seguente problematica.

Praticamente utilizzo un xbee in modalità API a cui faccio comandare dei pin digitali tramite il seguente sketch
Quote
void setRemoteState(char value,boolean Up){
      long sum;
     
      Serial1.write(0x7E);        //start byte
      Serial1.write((byte)0X0);   //high part lenght
      Serial1.write(0X10);        //low part lenght
      Serial1.write(0X17);        //AT command request
      Serial1.write((byte)0X0);   //Frame ID Set to 00 no ack has been request
     
      Serial1.write((byte)0X0);    //64-bit Destination Address
      Serial1.write((byte)0X0);
      Serial1.write((byte)0X0);
      Serial1.write((byte)0X0);
      Serial1.write((byte)0X0);
      Serial1.write((byte)0X0);
      Serial1.write((byte)0X0);
      Serial1.write((byte)0X0);
     
      Serial1.write((byte)0X0);   //16-bit Destination Address     
      Serial1.write((byte)0X2);
     
      Serial1.write(0X02);    //apply the changes immediately
     
      //command name in ASCII characters
      if (Up){
              Serial1.write('D');    //verificare su che pin verrà montato il comando di apertura
              Serial1.write('2');
      } else {
              Serial1.write('D');    //verificar su che pin verrà montato il comando di chiusura
              Serial1.write('0');
      }
   
      //command data in as many bytes as needed
      Serial1.write(value);

      //checksum is a all bytes after lenght bytes
      if (Up){
              sum = 0x17 + 0x02 + 0x02 + 'D' + '2' + value;
      } else {
              sum = 0x17 + 0x02 + 0x02 + 'D' + '0' + value;
      }
      Serial1.write(0xFF - ( sum & 0xFF)); //calculate the proper checksum     
}
e fin qui nessun problema.
In contemporanea ho programmato l'xbee remoto per campionare un pin con una certa Sample Rate.
Poi i dati campionati li vado a leggere con l'xbee in modalità API mediante la lettura del frame.
Se però metto una sample rate alta sull'ADC (anche di 100ms) mi succede che la scrittura fatta con lo sketch precedente non sempre funziona.
Suppongo che il singolo messaggio non sia sufficiente e che si creino conflitti che non fanno arrivare in maniera corretta il comando all'xbee. come posso fare ad assicurarmi che l'xbee abbia ricevuto il messaggio in maniera giusta?
Immagino che sia necessario impostare la modalità con ack(MM MAC Mode) dal datasheet digi dell'xbee 802.15.4.
Se qualcuno ha già gestito questo problema sarei molto grato se sapesse darmi qualche dritta.



 
6  International / Software / Re: xbee serie 1 programmazione API on: November 19, 2013, 04:13:01 am
Non c'è nessuno che ha fatto una cosa simile e mi sappia dare qualche dritta, altrimenti se conoscete qualche alternativa.
Mi interessava programmare attraverso le api perché voglio avere la possibilità di sapere qual'è l'End Device che mi invia le informazioni.

Vi ringrazio per la pazienza smiley
7  International / Software / xbee serie 1 programmazione API on: November 18, 2013, 09:25:11 am
Ciao a tutti, torno a chiedervi aiuto per la programmazione dei moduli xbee, dato che non sono riuscito a fare ciò che volevo. Spiegherò tutti i passi fatti sia di programmazione che di collegamenti in modo da farvi capire se ho commesso errori.

I moduli xbee utilizzati sono gli xbee PRO 802.15.4 con la versione firmware 10EC

La struttura del sistema è quella di avere un modulo Coordinator connesso ad arduino con i rispettivi pin di DOUT e DIN, per la connessione ho utilizzato l'apposito adattatore con regolatore di tensione.
In trasmissione un modulo utilizzato come End Device su cui connetto un sensore di luminosità ad un pin ADC. L'End Device per le prove l'ho connesso al pc con l'apposita usb board.

Quote
DESCRIZIONE DEI PARAMETRI XCTU COORDINATOR
Channel (C)
Pan ID (3332)
DL (2)
MY (1)
CE (1) coordinator enable
AP (1) api enable

Quote
DESCRIZIONE DEI PARAMETRI XCTU END DEVICE
Channel (C)
Pan ID (3332)
DL (1)
MY (2)
CE (0) end device (default)
AP (0)
D7 (1) CTS flow controll (default)
D3 (2) ADC <--pin scelto per la lettura della fotoresistenza
D5 (1) Associeted indicator (default)
IT (1) sample before tx (default)
IR (3E8) sample rate

Una volta impostati i moduli carico sull'arduino mega il seguente sketch di codice
Quote
void setup() {
Serial.begin(9600); 
}

// the loop routine runs over and over again forever:
void loop() { 
  //Arduino Example: Read an analog value using API
  // Remote XBee: AT, Base XBee: API
  if (Serial.available() >= 21) { // Make sure the frame is all there
      if (Serial.read() == 0x7E) { // 7E is the start byte
          for (int i = 1; i<19; i++) { // Skip ahead to the analog data
              byte discardByte = Serial.read();
          }
          int analogMSB = Serial.read(); // Read the first analog byte data
          int analogLSB = Serial.read(); // Read the second byte
          int analogReading = analogLSB + (analogMSB * 256);
          Serial.print("Luminosita=");
          Serial.println(analogReading);
      }
  }
}
Anche se utilizzo solo due moduli ho programmato i moduli come un coordinator ed un end device perché la struttura finale che voglio realizzare è una rete a stella con più end device. 
Aprendo il monitor seriale di arduino ottengo dei valori ma che non sono significativi della lettura del sensore, ciò mi fa pensare che la comunicazione avviene ma c'è qualcosa che non funziona nella lettura del sensore.
Vi sarei molto grato se riusciste a darmi qualche indicazione per poter fare ulteriori modifiche e prove.
Grazie!!
8  International / Hardware / Re: Sensore di corrente per motore asincrono on: November 16, 2013, 05:31:34 am
Praticamente voglio costruire una sicurezza che in caso di inceppamento in avvolgimento mi permetta di disattivare in automatico il motore.
Il motore che monto non è un motore a rullo ma un motore a doppio albero, non so se le soluzioni da te proposte possano ancora andare bene.  cosa intendi per motore a forcella o a riflessione?
9  International / Hardware / Re: Sensore di corrente per motore asincrono on: November 14, 2013, 03:44:05 am
Capito, questo me lo immaginavo, dopotutto si dovrà capire quando il motore va sotto sforzo quanta corrente in più assorbe rispetto al funzionamento a regime.
Ma la schedina che ho proposto io
Quote
non può andare bene?
10  International / Hardware / Re: Sensore di corrente per motore asincrono on: November 13, 2013, 08:28:33 am
Cioè devo mettere un encoder sull'albero del motore?
Sicuro che con il sensore di corrente non riesco a rilevare lo spunto di corrente assorbita dal motore?
11  International / Hardware / Sensore di corrente per motore asincrono on: November 13, 2013, 04:48:39 am
Ciao  a tutti

Volevo porvi alcune domande per rendermi conto se sia possibile realizzare un sistema di protezione tramite sensore di corrente su di un motore asincrono.
Il motore in questione è quello che comanda una veneziana, per precisare il modello è questo Elero JA 06 Soft(6 Nm/115 W/0,5 A).
Dato che lo controllo in maniera automatica mi è capitato che per colpa di un inceppamento si è rotta la veneziana, e non vorrei ricapitasse di nuovo.

Da qui nasce l'idea di andare a proteggere il sistema attraverso un sensore di corrente che mi consente di interrompere il movimento se si crea un sovraccarico.

So che dovrò fare le prove con il motore e il sensore per poter verificare l'effettiva funzionalità, però se sapete già darmi qualche consiglio prima di acquistare il sensore lo accetto volentieri.

Ciao Grazie.
12  International / Software / Re: reset xbee on: November 13, 2013, 04:23:52 am
Sono riuscito a riprogrammare i moduli xbee alla versione 10EC che era caricata sui moduli serie 1 quando li ho acquistati, la procedura è quella del post precedente, non è necessario fare alcun reset.
Ora i moduli funzionano  perfettamente.
La stessa procedura fallisce se si va a effettuare il caricamento della versione successiva 10ED.

Ciao a tutti
13  International / Software / Re: reset xbee on: November 12, 2013, 06:29:41 am
Seguendo la seguente guida
Quote
riesco a fare l'aggiornamento ma il problema rimane perché non riesco a fare il punto 9 che mi dice di fare il reset.
14  International / Software / reset xbee on: November 12, 2013, 05:09:23 am
Ciao a tutti

Vi chiedo per risolvere la seguente problematica.
Utilizzo la seguente scheda per la programmazione degli xbee
Quote
Gli xbee che vado a programmare sono dei serie 1 PRO
Effettuando l'aggiornamento dalla versione 10EC alla 10ED  non è andato a buon fine,ed ora i moduli non rispondono più.
XCTU mi da l'errore di comunicazione col modem.

Penso sia necessario effettuare un reset dei moduli, non credo di averli rotti solamente andando a riscrivere la versione del firmware.
Il problema è che il programmatore non ha il pulsante di reset, come devo fare ad effettuarlo anche senza il pulsante?
Grazie
15  International / Software / comunicazione xbee serie 1 on: October 24, 2013, 04:57:18 am
Ciao a tutti

Sto iniziando a utilizzare dei moduli xbee serie1, per la programazione ho l'apposita scheda con software xctu.
Il test di comunicazione fra due moduli non va a buon fine.
Ho provato a modificare anche gli indirizzi DH e DL dei due moduli ma non è cambiato nulla.
La versione del firmware è la 10EC e la function set è impostata su xbeePro 802.15.4 e il modem XBP24.

Un modulo è montato sul programmatore XCTU mentre l'altro modulo è connesso con apposito adattatore ad un scheda arduino che fornisce solamente l'alimentazione.

Se ci sono altri parametri da impostare non so quali sono

Attendo notizie grazie
Pages: [1] 2 3 4