Show Posts
Pages: [1] 2 3 ... 44
1  Using Arduino / Sensors / Re: Arduino and photoelectric sensor on: July 31, 2014, 06:12:23 am
hi
please, you can try this scheme
2  International / Hardware / Re: come posso migliorare lettura encoder on: July 17, 2014, 12:03:51 pm
ciao
ho risolto scrivendo la funzione sotto interrupt in questo modo:
Code:
void sensor_stop()
{
  if(digitalRead(sensor_stop_pin) == LOW)
  {
    k = 0;
  }
  else
  {
    k = 1;
  }
}

qualcuno mi può spiegare come mai con un segnale che va da LOW ad HIGH del sensore, talvolta l'interrupt richiama ancora la funzione associata, i segnali controllati con oscilloscopio sono puliti.
3  International / Hardware / Re: come posso migliorare lettura encoder on: July 17, 2014, 05:33:09 am
ciao
ho risolto in parte il problema del posizionamento dello stepper, eliminando l'encoder e contando i passi del motore, pero' adesso si presenta uno strano comportamento, che provo a descrivere:
quando il motore si arresta a grazie a un sensore collegato al pin 3 e monitorato dall'interrupt in modalità FALLING, talvolta succede che dopo l'arresto il motore trascorso l'intervallo stabilito ruoti di qualche passo per arrestarsi e riprendere a muoversi regolarmente dopo il medesimo tempo, in pratica succede questo
STOP-MOTO-STOP-MOTO fino al prossimo stop
mentre dovrebbe fare questo
STOP-MOTO fino al prossimo stop

Credo che il comportamento sia anche corretto, perchè dipende da dove l'interrupt riprende il programma, ho quindi provato a mettere un goto dentro l'interrupt per rimandare il programma all'inizio, ma il compilatore non lo accetta



lo sketch che uso:
Code:
/*
 by Nick Gammon per debounce
 */
const byte switchPin = 11;
byte oldSwitchState = HIGH;  // assume switch open because of pull-up resistor
const unsigned long debounceTime = 5;  // milliseconds
unsigned long switchPressTime;  // when the switch last changed state
byte switchState;

#define led_pin         13
#define sensor_stop_pin 3
#define motorPin        12// digital pin per il driver dello stepper


int ritardo, ritardo_1;
volatile byte k;
byte pin;

void setup()
{
  pinMode (led_pin, OUTPUT);

  pinMode (switchPin, INPUT_PULLUP);

  pinMode(sensor_stop_pin, INPUT_PULLUP);
  attachInterrupt(1, sensor_stop, FALLING); //sensore induttivo collegato al pin 2

  pinMode(motorPin,OUTPUT);// set the digital pin as output

  ritardo = 3500;// pauses for microseconds us
  ritardo_1 = 5000;// pauses for milliseconds ms
 
    Serial.begin(9600);
}

void loop()
{
  // see if switch is open or closed
  switchState = digitalRead (switchPin);

  // has it changed since last time?
  if (switchState != oldSwitchState)
  {
    // debounce
    if (millis () - switchPressTime >= debounceTime)
    {
      switchPressTime = millis ();  // when we closed the switch
      oldSwitchState =  switchState;  // remember for next time
      if (switchState == LOW)
      {
        Serial.println ("Switch closed.");
        digitalWrite(led_pin, HIGH);
      }  // end if switchState is LOW
      else
      {
        Serial.println ("Switch opened.");
        digitalWrite(led_pin, LOW);
      }  // end if switchState is HIGH
    }  // end if debounce time up
  }  // end of state change

  if(k == 0)
  {
    k = 1;
    delay(ritardo_1);
  }
/*
  //sezione motore 
   while(k == 1 && switchState == LOW)
   {
   digitalWrite(motorPin, LOW);   // sets the pin on
   delayMicroseconds(ritardo);// pauses for microseconds
   digitalWrite(motorPin, HIGH);    // sets the pin off
   delayMicroseconds(ritardo);// pauses for microseconds
   switchState = digitalRead(switchPin);
  // Serial.println('a');
   }
*/

  motore();
 
}//fine loop

void sensor_stop()
{
  k = 0;
}


void motore()
{
  if(k == 1 && switchState == LOW)
  {
    digitalWrite(motorPin, LOW);   // sets the pin on
    delayMicroseconds(ritardo);// pauses for microseconds
    digitalWrite(motorPin, HIGH);    // sets the pin off
    delayMicroseconds(ritardo);// pauses for microseconds
  }
}
4  International / Hardware / Re: Garanzia Arduino? on: July 14, 2014, 07:40:06 am
ciao
io sono in questa situazione:
-una scheda non viene riconosciuta dall'IDE, dopo averla staccata dall'applicazione, dove funzionava regolarmente, per il pc il dispositivo funziona
-la seconda presenta un atensione di +7v sul pin digitale dopo averlo mandato HIGH e talvolta non viene riconosciuta dall'IDE

Non sono nuovo, non credo di avere fatto errori di collegamento, ma nessuno è infallibile., però due su tre acquistate mi lascia perplesso.

Ho scritto allo shop ma non ho ancora una risposta

Stefano
5  International / Software / Re: problema con software per anemometro on: July 13, 2014, 07:23:06 am
ok grazie
mi mancavano i termini
6  International / Software / Re: problema con software per anemometro on: July 13, 2014, 06:14:31 am
ciao
@gpb01 mi interessa l'argomento ho un segnale di un encoder che vorrei pulire mi puoi suggerire qualcosa?

Stefano
7  International / Generale / Re: aiuto sketch, contare impulsi su un ingresso digitale on: July 13, 2014, 12:41:01 am
ciao
so che con l'utilizzo di un interrupt si ottengono risultati migliori

Stefano
8  International / Software / Re: problema con software per anemometro on: July 12, 2014, 01:39:25 pm
ciao
sposta la lettura del reed al pin 2 o 3 e usa l'interrupt è la soluzione migliore per non perdere impulsi

Stefano
9  International / Hardware / Re: Arduino non viene riconosciuto on: July 12, 2014, 01:48:51 am
ciao
@uwe no lavoro sempre su tavoli di legno con un rivestimento in plastica, possono essere state eventuali scariche elettrostatiche?
@menniti nella guida indicava la procedura per la versione 101 ci sono modifiche da fare per la 105

Stefano
10  International / Hardware / Re: Arduino non viene riconosciuto on: July 11, 2014, 11:57:55 pm
ciao
forse ho usato i termini sbagliati, provo a descrivere meglio: il gestione risorse del PC vede arduino come COM 8 e dice che "Il dispositivo funziona correttamente." ma quando apro l'IDE 1.0.5 r2 arduino alla voce seriale non visualizza niente. Ho letto la sua guida e ho capito che posso comunque caricare gli sketch, ci sono modifiche particolari da fare per questa versione dell'IDE?

Stefano

ps. aggiungo che questa scheda come altre le altre 2, sono state acquistate dallo store arduino, il mittente è l'Ungheria e ho la sensazione che possano essere difettose, in una seconda scheda, il regolatore ha iniziato a FUMARE, era collegato sia al jack a 12v, sia al cavo usb di programmazione, ma so che questo si può fare, c'è anche un post aperto di recente che conferma questo, da quel momento quando mando un pin HIGH misuro +7v.
11  International / Hardware / Arduino non viene riconosciuto on: July 11, 2014, 12:27:05 pm
Ciao
come da titolo arduino non viene più riconosciuto, dopo averlo staccato dalla applicazione dopo una sessione di programmazione, a tavolino l'ho ricollegato ma non viene rilevato, in gestione dispositivi mi dice che la periferica funziona, cosa può essere successo?

Stefano
12  International / Hardware / Re: Progettino stazione meteorologica GSM on: July 11, 2014, 12:05:14 pm
ciao
puoi valutare anche la possibilità di memorizzare in locale i dati e scaricarli solo una volta a giorno

Stefano
13  International / Hardware / Re: come posso migliorare lettura encoder on: July 11, 2014, 12:03:04 pm
ciao
dopo diverse prove e consigli, la situazione è migliorata, resta da risolvere il non trascurabile dettaglio dell'errato posizionamento, cerco di recuperare un opto più veloce come consigliato

Stefano
14  International / Hardware / Re: come posso migliorare lettura encoder on: July 11, 2014, 02:24:03 am
ciao
le prove continuano, ma senza risultato ho fatto una modifica allo sketch che legge l'encoder ma senza risultato, allora ho provato contando il numero di passi dello stepper ma il posizionamento non è regolare forse perde passi, ma ne la coppia resistente e la velocità di rotazione non sono elevate, 0.2 kg*cm e 1 giro/sec.
Capisco che arduino abbia dei limiti, ma l'applicazione non mi sembra esasperata, considerando il fatto che il conteggio degli impulsi dell'encoder a tavolino funziona bene. La presenza dello stepper nei paraggi crea problemi.

Stefano
15  International / Generale / Re: Togliere la corrente al raggiungimento del peso on: July 10, 2014, 01:36:55 pm
ciao
qui
http://forum.arduino.cc/index.php?topic=110686.0
si parla di celle di carico, puoi cominciare con questo

Stefano
Pages: [1] 2 3 ... 44