Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Idei cale de actiune recuperare g...

Intoleranța lactoza- vegan v...

Cine canta? Fragment din melodie...

Tablou sigurante Dacia Sandero 2012
 Baby Reindeer - 2024

Hotii voteaza hoti?!

Camera video masina

Zilele emailului din gospodaria n...
 Best gaming laptop?

Humane (2024)

Recomandare casti 100-150 lei

Schimbare bec far VW Touran 1T3
 Plata impozit PF

Ce parere aveti de viteza/ modul ...

Love Lies Bleeding - 2024

Cum sterg mails din Promotions
 

Ajutor idee - arduino sau Esp8266

- - - - -
  • Please log in to reply
26 replies to this topic

#1
rodanny

rodanny

    Active Member

  • Grup: Members
  • Posts: 1,931
  • Înscris: 13.01.2004
Va salut,
Am urmatoarea problema.
Am un dispozitiv format dintr-un senzor optic si o roata cu mai multe "taieturi", caneluri .
Doresc sa stiu in momentul cand roata se invarte cand ajunge in pozitia 0.
Pozitia 0 e formata dintr-o fanta ingusta (asa cum sunt toate celelate) si una mai groasa cam de 2 ori poate chair de 3 ori mai mare.

Roata este angrenata de un motoras alimentat printr-un releu, si vreau sa o aduc in pozitia "0", iar de acolo la intervale regulate sa porneasca motorasul si sa invarta roata pana la urmatoarea fanta.

Ca idee
Ma gandesc ca ar trebui sa invarta motorasul roata pana cand la un interval scurt de timp dupa ce gaseste o fanta, mai intalaneste o fanta ce "dureaza" mai mult.
Eventual sa ma pot juca cu ceva reglaje de fiente. Nu stiu daca pot face in asa fel incat sa masor timpul de on si off si in acest fel sa im dau seama in ce pozitie se afla.
In final trebuie sa reusesc sa opresc motorul in fiecare pozitie din cele 7+1 din imagine.
Inreresant ar fi sa il pot scrie codul pentru un ESP8266 dar e ok si pt arduino....ca il putem adapta cred.....
Multumesc pentru sfaturi.

Attached Files



#2
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005
https://en.wikipedia.../Rotary_encoder

"senzor optic", de care ?
emitor-receptor ?
emitor-receptor-reclector ?
emitor-receptor detectie/suprimare fundal ?

#3
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,599
  • Înscris: 05.12.2005
Cu biblioteca PulseIn ar trebui să se poată face relativ simplu ceea ce dorești.

#4
rodanny

rodanny

    Active Member

  • Grup: Members
  • Posts: 1,931
  • Înscris: 13.01.2004

View PostMarianG, on 29 ianuarie 2024 - 01:04, said:

https://en.wikipedia.../Rotary_encoder

"senzor optic", de care ?
emitor-receptor ?
emitor-receptor-reclector ?
emitor-receptor detectie/suprimare fundal ?

Scuze revin cu poza....
e un senzor emitator receptor....



Poza din postarea anterioara e vedere din fata.....
Mai pun o poza vazut din latera....e zona cu denumirea "Slots".


Am mai uitat sa zic ca senzorul e analog.....e doar asemanator cu cel din poza..... insa e analog nu si digital.
Multumesc

Attached Files


Edited by rodanny, 29 January 2024 - 09:54.


#5
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,599
  • Înscris: 05.12.2005
Intercalezi un comparator (eventual și cu histerezis) și devine digital.

#6
rodanny

rodanny

    Active Member

  • Grup: Members
  • Posts: 1,931
  • Înscris: 13.01.2004

View Postmihaicozac, on 29 ianuarie 2024 - 13:39, said:

Intercalezi un comparator (eventual și cu histerezis) și devine digital.

ups cred ca m-ai pierdut.....
adica sa citesc intr-o variabila in functie de momnetul cand e obturat senzorul sa pun 1 si cand nu e obturart sa pun 0 si sa injectez in functia PulseIn() ?

#7
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,599
  • Înscris: 05.12.2005
A, nu, în exterior cu un operațional clasic, care să  livreze semnal cu fronturi curate spre Arduino, la unul din pinii unde pulseIn poate citi date (PWM). Deși poate că nu ar fi nevoie neapărat, dacă motorul se învârte rapid. Ar trebui văzut cu osciloscopul cât de rapide și curate sunt flancurile semnalului de la senzor.

#8
rodanny

rodanny

    Active Member

  • Grup: Members
  • Posts: 1,931
  • Înscris: 13.01.2004

View Postmihaicozac, on 29 ianuarie 2024 - 15:03, said:

A, nu, în exterior cu un operațional clasic, care să  livreze semnal cu fronturi curate spre Arduino, la unul din pinii unde pulseIn poate citi date (PWM). Deși poate că nu ar fi nevoie neapărat, dacă motorul se învârte rapid. Ar trebui văzut cu osciloscopul cât de rapide și curate sunt flancurile semnalului de la senzor.

se invarte f f incet....2-3 rotatii pe minut....insa sunt f curate pa analog m-am jcuat si alimentat la 3v...am 1V cand e obturat si 0,30-0,35 maxim cand e liber.....deci....

#9
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,599
  • Înscris: 05.12.2005
1V sau 0,3V pt. Arduino tot nivel LOW înseamnă. Abia de pe la 2,5V e considerat nivel HIGH. iar dacă frecvența impulsurilor e sub 1Hz ai nevoie neapărat de formator de semnal cu histerezis. Cum am mai scris un comparator analogic poate face și conversia de nivel și curățarea flancurilor.

#10
byteworks

byteworks

    Member

  • Grup: Members
  • Posts: 865
  • Înscris: 04.04.2003
Poate sa faca treaba asta si cu citire pe ADC si histerezis in SW, fara niciun alt HW.

#11
rodanny

rodanny

    Active Member

  • Grup: Members
  • Posts: 1,931
  • Înscris: 13.01.2004

View Postbyteworks, on 29 ianuarie 2024 - 16:23, said:

Poate sa faca treaba asta si cu citire pe ADC si histerezis in SW, fara niciun alt HW.

te rog frumos, poti detalia? un exemplu ceva?
Multumesc

View Postmihaicozac, on 29 ianuarie 2024 - 16:15, said:

1V sau 0,3V pt. Arduino tot nivel LOW înseamnă. Abia de pe la 2,5V e considerat nivel HIGH. iar dacă frecvența impulsurilor e sub 1Hz ai nevoie neapărat de formator de semnal cu histerezis. Cum am mai scris un comparator analogic poate face și conversia de nivel și curățarea flancurilor.

inteleg ca ar trebui sa folosesc un convertor analog to digital?

#12
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,599
  • Înscris: 05.12.2005

View Postbyteworks, on 29 ianuarie 2024 - 16:23, said:

Poate sa faca treaba asta si cu citire pe ADC si histerezis in SW, fara niciun alt HW.
Nu cred că biblioteca PulseIn poate folosi variabile interne, că se bazează pe întreruperi.

Edited by mihaicozac, 29 January 2024 - 16:38.


#13
byteworks

byteworks

    Member

  • Grup: Members
  • Posts: 865
  • Înscris: 04.04.2003

View Postrodanny, on 29 ianuarie 2024 - 16:35, said:

te rog frumos, poti detalia? un exemplu ceva?
Multumesc

E simplu, uite un exemplu https://www.aranacor...sis-on-arduino/

#14
rares3968

rares3968

    Member

  • Grup: Members
  • Posts: 246
  • Înscris: 08.01.2022
Ai verificat daca roata intra prin senzor?

#15
rodanny

rodanny

    Active Member

  • Grup: Members
  • Posts: 1,931
  • Înscris: 13.01.2004

View Postrares3968, on 29 ianuarie 2024 - 18:23, said:

Ai verificat daca roata intra prin senzor?

este senzorul rotii actuale.... daca nu ...puenam unul cu iesire si digitala si simplificam..dar din nefericere nu am cum sa pun alt senzor...

View Postbyteworks, on 29 ianuarie 2024 - 17:06, said:

E simplu, uite un exemplu https://www.aranacor...sis-on-arduino/

interesant...dar util era cat de mult sta in fiecare pozitie...on sau off....asa cum returneaza PulseIN()
ceva idei?
repet am un ESP8266 (nodemecu 12F)
Multumesc

#16
mihaicozac

mihaicozac

    Guru Member

  • Grup: Senior Members
  • Posts: 15,599
  • Înscris: 05.12.2005
Poți face ceva de genul următor: citești semnalul de la senzor pe ADC, îl condiționezi și prelucrezi software apoi îl scoți pe unul din pini pe care îl legi fizic cu un alt pin de intrare care e suportat de PulseIn.

#17
byteworks

byteworks

    Member

  • Grup: Members
  • Posts: 865
  • Înscris: 04.04.2003
Pffff mai copii mici si mari, de ce complicati lucrurile?
O solutie: folosesti millis sau micros ca sa masori durata cat semnalul e zero, dupa aplicarea histerezisului de mai sus. Iti va iesi de exemplu 2 ms si 6 ms.
A doua solutie: daca poti face masurarea la intervale cat de cat regulate numeri rezultatele consecutive de zero. Vei avea de exemplu 10 si 30 zerouri.

#18
MarianG

MarianG

    be that as it may

  • Grup: Moderators
  • Posts: 31,445
  • Înscris: 10.08.2005

View Postrodanny, on 29 ianuarie 2024 - 14:57, said:

ups cred ca m-ai pierdut.....
adica sa citesc intr-o variabila in functie de momnetul cand e obturat senzorul sa pun 1 si cand nu e obturart sa pun 0 si sa injectez in functia PulseIn() ?
ceva de genul asta
https://www.ti.com/product/LM393

View Postrodanny, on 29 ianuarie 2024 - 23:09, said:

este senzorul rotii actuale.... daca nu ...puenam unul cu iesire si digitala si simplificam..dar din nefericere nu am cum sa pun alt senzor...



interesant...dar util era cat de mult sta in fiecare pozitie...on sau off....asa cum returneaza PulseIN()
ceva idei?
repet am un ESP8266 (nodemecu 12F)
Multumesc

hai ca intreb si eu o prostie
care e diferenta intre o fanta si o alta, daca lumina trece 100%

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate