Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

debouncing con rc per pulsanti Arduino

Progetti, interfacciamento, discussioni varie su questa piattaforma.

Moderatori: Foto UtenteWALTERmwp, Foto Utentexyz

0
voti

[11] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto UtentePietroBaima » 6 ott 2021, 15:56

Volendo essere propositivo e non essere sempre pronto a lamentarmi, consiglio questa lettura, del grande Foto UtenteTardoFreak.

C’è un esempio di un modulo HAL e di uno scheduler semplicissimo, utilizzato per far lampeggiare un LED.
Inserisce un ritardo di 500ms fra un lampeggio e l’altro.

Modificare il codice per fare un antirimbalzo software è davvero questione di 1ns.

Ciao,
Pietro.
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[12] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto Utenteedgar » 6 ott 2021, 16:12

PietroBaima ha scritto:Volendo essere propositivo ...

Aggiungerei il caso particolare dell'encoder incrementale meccanico, dove il costruttore (Bourns) suggerisce un piccolo filtro HW.
Bourns.png
Bourns.png (20.49 KiB) Osservato 5850 volte
Avatar utente
Foto Utenteedgar
10,0k 4 5 8
Master
Master
 
Messaggi: 5229
Iscritto il: 15 set 2012, 22:59

0
voti

[13] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto UtentePietroBaima » 6 ott 2021, 17:01

Ho fatto debouncer software anche per encoder meccanici (anche se oggi si usano quasi esclusivamente quelli ottici).
Bisogna solo calibrare i tempi in maniera che il software non salti qualche impulso, non servono gruppi RC (non servono nemmeno i pull-up, oggi).
Generatore codice per articoli:
nomi
Sul forum:
[pigreco]=π
[ohm]=Ω
[quadrato]=²
[cubo]=³
Avatar utente
Foto UtentePietroBaima
90,7k 7 12 13
G.Master EY
G.Master EY
 
Messaggi: 12206
Iscritto il: 12 ago 2012, 1:20
Località: Londra

0
voti

[14] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto Utentelelerelele » 7 ott 2021, 9:14

PietroBaima ha scritto:Ho fatto debouncer software anche per encoder meccanici (anche se oggi si usano quasi esclusivamente quelli ottici).
Io ho avuto una marea di problemi proprio su questo encoder, (il progetto non era mio), con lo schema proposto si ottengono buone performance, sia in termini di velocità che di precisione.

Non metto in dubbio che si possa ottenere la stessa cosa controllando il software, anzi se avessi tempo la proverei per curiosità, (chissà che più avanti non lo trovi), dando i tempi di ritardo corretti alle letture credo sia fatta.


saluti. :ok:
Avatar utente
Foto Utentelelerelele
4.899 3 7 9
Master
Master
 
Messaggi: 5505
Iscritto il: 8 giu 2011, 8:57
Località: Reggio Emilia

0
voti

[15] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto UtenteEtemenanki » 7 ott 2021, 9:47

Mi domando quanto verrebbe semplice la gestione dei debounce software, se doveste gestire una ventina o piu di pulsanti (senza poterli collegare a matrice) o di finecorsa meccanici :mrgreen:

La gestione del debounce software sara' anche "semplice" (fino ad un certo punto), ma ci sara' pure un motivo per cui tutte le apparecchiature professionali / industriali la implementano hardware ;-)
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
9.507 3 6 10
Master
Master
 
Messaggi: 5938
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

1
voti

[16] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto UtentedrGremi » 7 ott 2021, 11:04

Una classe e passa la paura ;)
Avatar utente
Foto UtentedrGremi
2.294 3 5 9
Master EY
Master EY
 
Messaggi: 1455
Iscritto il: 20 nov 2019, 19:49

1
voti

[17] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto Utentenicsergio » 7 ott 2021, 11:22

Se uno non vuole nemmeno scriversela: https://www.arduino.cc/reference/en/libraries/bounce2/
Avatar utente
Foto Utentenicsergio
4.701 3 9 13
Master
Master
 
Messaggi: 938
Iscritto il: 1 gen 2020, 16:42

1
voti

[18] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto UtenteEtemenanki » 7 ott 2021, 11:42

drGremi ha scritto:Una classe e passa la paura ;)


Non e' tanto la paura (be', magari da parte mia un po si, dato che io sono piu un fabbro che un notaio * ), e' che mi sembra piu stabile e semplice avere qualche RC in piu (che difficilmente potranno dare problemi) che qualche decina di linee di codice in piu (che non sai mai se e/o quando interferiranno con il resto del programma), specie quando faccio roba con un sacco di pulsanti o di interruttori.

Poi forse e' anche un po questione di abitudine.

* battuta locale, fabbro = hardwarista, notaio = softwarista :mrgreen:
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
9.507 3 6 10
Master
Master
 
Messaggi: 5938
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

0
voti

[19] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto Utentealev » 7 ott 2021, 11:57

Etemenanki ha scritto:La gestione del debounce software sara' anche "semplice" (fino ad un certo punto), ma ci sara' pure un motivo per cui tutte le apparecchiature professionali / industriali la implementano hardware ;-)

Qualche esempio?
A me risulta il contrario
Avatar utente
Foto Utentealev
5.993 2 9 12
free expert
 
Messaggi: 6281
Iscritto il: 19 lug 2010, 14:38
Località: Altrove

0
voti

[20] Re: debouncing con rc per pulsanti Arduino

Messaggioda Foto UtenteEtemenanki » 7 ott 2021, 12:15

Nella maggior parte dei controller e dei PLC bordo macchina "industriali" che ho aperto per ripararli, erano sempre presenti reti RC su tutti gli ingressi e reti RC su tutti i pulsanti meccanici.

Uniche eccezioni, in alcuni prodotti piu moderni, ma in genere solo in quelli che usavano tastiere in silicone, quelle con i contatti fatti in gomma conduttiva, oppure tastiere a membrana con il loro chip di gestione, perche' avere rimbalzi con quelle e' quasi impossibile (ma sugli ingressi esterni per i micro c'erano comunque)

EDIT: dimenticavo, in quelle con i tasti collegati a matrice non c'erano, ma solo perche' in genere ci pensa il chip ad escluderli durante la scansione della matrice, forse tu intendi in quel senso ?

Ma ricordarmi marche e modelli di tutta la roba aperta negli ultimi 30 anni e' un po difficile.
"Sopravvivere" e' attualmente l'unico lusso che la maggior parte dei Cittadini italiani,
sia pure a costo di enormi sacrifici, riesce ancora a permettersi.
Avatar utente
Foto UtenteEtemenanki
9.507 3 6 10
Master
Master
 
Messaggi: 5938
Iscritto il: 2 apr 2021, 23:42
Località: Dalle parti di un grande lago ... :)

PrecedenteProssimo

Torna a Arduino

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite