Vai al contenuto
PLC Forum


Regalo di Natale inaspettato


dott.cicala

Messaggi consigliati

Usare gli interrupts ha la contro indicazione che si contano anche tutti gli eventuali disturbi e rimbalzi.

Se la frequenza degli impulsi è bassa, < 500Hz ad esempio, io uso campionare gli ingressi encoders con un clock fisso, in genere uso T1 settato per avere un interrupts ogni 1ms.

 

Altrimenti uso un circuito esterno fatto con 2 Dff (tipo 4013) per discriminare senso e pulire i disturbi eventuali.

Link al commento
Condividi su altri siti


Funziona eccome!

Non usa interrupts o timers, semplicemente il polling dei due ingressi, è la classica soluzione "plc S5"

/*
 Conteggio Up/Down 1024 steps con Encoder incrementale
 */
//********************************************************************************
  #include <LiquidCrystal.h>
  LiquidCrystal lcd(7, 8, 9, 10, 11, 12);

  int trA =2;  //Traccia A
  int trB =3;  //Traccia B
  int Rst =4;  //Reset conteggio
  int Impulsi =0;
  bool app1 = LOW;
  bool app2 = LOW;
  bool app3 = LOW;
  bool app4 = LOW;
  bool tA = LOW;
  bool tB = LOW;
  bool rA = LOW;
  bool fA = LOW;
  bool rB = LOW;
  bool fB = LOW; 
//********************************************************************************
void setup() {
  pinMode(trA, INPUT);
  pinMode(trB, INPUT);
  pinMode(Rst, INPUT_PULLUP);
  lcd.begin(16, 2);
  lcd.print("Test Encoder");
  lcd.setCursor(0,1); 
}
//********************************************************************************
void loop()
  {
    //*** Lettura Tracce *******************************************************
      tA=(digitalRead(trA)==HIGH);
      tB=(digitalRead(trB)==HIGH);   
    //*** Fronte Salita Traccia A **********************************************
      rA= tA &! app1;
      app1=tA;
    //*** Fronte Discesa Traccia A ********************************************* 
      fA= !tA && app2;
      app2 =tA; 
    //*** Fronte Salita Traccia B **********************************************
      rB= tB &! app3;
      app3=tB;
    //*** Fronte Discesa Traccia B *********************************************
      fB= !tB && app4;
      app4 =tB;      
    //*** Incremento ***********************************************************
      if((rA &! tA)||(rB && tA)||(fA && tB)||(fB &! tB)){Impulsi++;}
    //*** Decremento ***********************************************************
      if((rB &! tA)||(rA && tB)||(fB && tA)||(fA &! tB)){Impulsi--;}
    //*** Azzeramento **********************************************************
      if(digitalRead(Rst)==LOW){Impulsi=0;} 
    //*** Limiti ***************************************************************
      if(Impulsi>1023){Impulsi=0;}
      if(Impulsi<0){Impulsi=1023;}      
    //*** Visualizza ***********************************************************      
      lcd.setCursor(0,1);
      lcd.print("Conteggio:  ");
      lcd.print(Impulsi);
      lcd.print("      ");
  }

 

Link al commento
Condividi su altri siti

2 ore fa, dott.cicala scrisse:

è la classica soluzione "plc S5"

 

Sicuramente più veloce che con S5.:smile:

Io faccio qualche cosa di simile, solo che campiono ad nintervalli fissi in mnodo da poter fare anche qualche altro lavoro.

 

 

Link al commento
Condividi su altri siti

14 minuti fa, dott.cicala scrisse:
1 ora fa, Livio Orsini scrisse:

Sicuramente più veloce che con S5.:smile:

Non ci giurerei :lol:

Funziona ?   ORO !

Poi la velocità la calcolate con calma .:P

Dai dott' , è la fine del anno ed oltre la chiusura del pollaio non hai combinato altro !(sul forum:P ) 

 

:thumb_yello:

 

 

P.S. Credo di aver visto il tuo regalo in rete , qualcuno avrà sponsorizzato i piccini ....non sono proprio spiccioli in gioco  . (ti vogliono bene , con i tuoi ''difettucci '' ) L'amore non ha limiti......

Modificato: da gabri-z
Link al commento
Condividi su altri siti

40 minuti fa, gabri-z scrisse:

Dai dott' , è la fine del anno ed oltre la chiusura del pollaio non hai combinato altro !(sul forum:P ) 

Che ci vuoi fare, invecchiando sto diventando egoista :whistling:

Link al commento
Condividi su altri siti

1 ora fa, dott.cicala scrisse:

Che ci vuoi fare, invecchiando sto diventando egoista

 

E la senilità incipiente.:(

S'incomincia ad avere meno voglia; anche se ancora non lo si capisce s'impiega sempre più tempo per fare cose nuove (ma anche le vecchie). Il guaio è che l'accelarazione è piccola, ma costante. E come un carro posteggiato senza freni su di un falso piano: quando ti rendi conto che si sta muovendo è troppo tardi per frenarlo.

Inoltre in questo caso, anche se te ne rendi conto non puoi fare alcunchè per impedire il declino.:wallbash:

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

Miiii!!!! Ricevo mazzate anche all'ultimo dell'anno :blink:

 

....ho ancora 20 anni di lavoro davanti....se non ci penso, mi sento ancora giovane e con tanta energia, se invece ci penso....mi vien voglia di scegliere un ponte bello alto da cui saltare a testa in giù :blink:...ma il problema come al solito non è il lavoro, ma i rapporti umani in una società ormai barbara e popolata in prevalenza da rozzi ...

 

Oddio oddio! Non sono io a parlare, è stato il chip sottopelle, la scia chimica, il cerchio nel grano o il cinese che mi spia dal wcnet :superlol:

 

Buon Anno!

Link al commento
Condividi su altri siti

28 minuti fa, Livio Orsini scrisse:

Inoltre in questo caso, anche se te ne rendi conto non puoi fare alcunchè per impedire il declino.:wallbash:

 

31 minuti fa, Livio Orsini scrisse:

su di un falso piano:

...cambiamo l'angolo del falso piano ..... oppure quello del punto di vista...

Link al commento
Condividi su altri siti

6 minuti fa, dott.cicala scrisse:

mi vien voglia di scegliere un ponte bello alto da cui saltare a testa in giù :blink:.

 Dai , hai superato la fase in cui proprio su questo forum si parlava ( c'era pure la foto ) di quel bel ponte e crolli proprio adesso ?:roflmao: 

 

12 minuti fa, dott.cicala scrisse:

ma i rapporti umani in una società ormai barbara e popolata in prevalenza da rozzi

Sono sempre stati , ma meno conosciuti , per la mancanza dei mezzi di comunicazione :roflmao: ,

ma noi non ci facciamo intimidire , ne ci facciamo da parte : RESTIAMO QUA !

 

BUON ANNO A TUTTI !!!

 

Link al commento
Condividi su altri siti

11 minuti fa, dott.cicala scrisse:

iiii!!!! Ricevo mazzate anche all'ultimo dell'anno

 

Ma no, non sono mazzate è solo la realtà della condizione umana.

 

Ricordo quando mio padre mi diceva: "son diventato lento e certi lavori non riesco a farli più bene come prima", io pensavo che fosse un tentativo di captatis pietas; poi, una volta che anch'io ho raggiunto quell'età, ho compreso che, purtroppo, è la normalità.

A 18 anni correvo i 100m in meno di 11", oggi anche se la testa a volte pensa di avere ancora 18 anni, se provo a correre 100m va bene se ci riesco in meno di ... 111".:smile:

 

18 minuti fa, dott.cicala scrisse:

.ma il problema come al solito non è il lavoro, ma i rapporti umani in una società ormai barbara e popolata in prevalenza da rozzi ...

 

Come darti torto! Purtroppo è la triste realtà.

A volte mi viene da pensare che tutto questo è colpa .... della pace.

Nella prima metà del secolo scorso in Europa ci sono state 2 guerre disastrose generalizzate ed una locale, ma egualmente disastrosa.

Le generazioni coinvolte avevano sfogato tutta l'aggrssività in queste guerre.

Inoltre lo stato disastroso in cui versavano vincitori e vinti portava la gente ed una maggior tolleranza reciproca, ad una maggior solidarietà, a condividere quel poche che c'era.

Inoltre la mancanza di mezzi di intrattenimento come la televisione o dei così detti "social" portava la gente a socializzare veramente, c'erano rapporti continui nei cortili e nelle piazze. Oggi non ci son più cortili e le piazze son solo parcheggi per autoveicoli.

I giovani si riuniscono in locali dove ognuno è solo in mezzo agli altri stordito dalla "musica", dall'alcol e da prodotti chimici.

 

Da quello che sento son felice di essere in pensione. Oltre al fatto che l'elettronica è tornata ad essere solo passione, quello che non mi piace sono i rapporti interpersonali che si usano oggi.

 

 

Comunque non deprimmiamici, la speranza che il domani sia migliore c'è sempre.

 

Felice 2019 per tutti!

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...