Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Pagina Wikipedia

Masina veche sau indatorat in ban...

Incalzire cu Boiler cu PDC + IPAT...

Salariu de șofer Uber 8000 l...
 Problema token semnatura electron...

Incarcator diy China

Unde au disparut tancurile federa...

RMN Decontat
 Jgheab clasic forma "U"- ...

Reparatie plafoniera LED

Problema PC - se blocheaza sau re...

Notebook HP 840G2 - Upgrade RAM, ...
 Defect ciudat Videorecorder Panas...

lege de reglementare a shrinkflat...

Care este cota parte la succesiun...

Camera auto DVR PNI Voyager S2600...
 

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,482
  • Î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,609
  • Î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

 MarianG, 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,609
  • Î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

 mihaicozac, 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,609
  • Î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

 mihaicozac, 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,609
  • Î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: 868
  • Î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

 byteworks, 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

 mihaicozac, 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,609
  • Înscris: 05.12.2005

 byteworks, 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: 868
  • Înscris: 04.04.2003

 rodanny, 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

 rares3968, 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...

 byteworks, 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,609
  • Î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: 868
  • Î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,482
  • Înscris: 10.08.2005

 rodanny, 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

 rodanny, 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

Chirurgia cranio-cerebrală minim invazivă Chirurgia cranio-cerebrală minim invazivă

Tehnicile minim invazive impun utilizarea unei tehnologii ultramoderne.

Endoscoapele operatorii de diverse tipuri, microscopul operator dedicat, neuronavigația, neuroelectrofiziologia, tehnicile avansate de anestezie, chirurgia cu pacientul treaz reprezintă armamentarium fără de care neurochirurgia prin "gaura cheii" nu ar fi posibilă. Folosind tehnicile de mai sus, tratăm un spectru larg de patologii cranio-cerebrale.

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