Pregunta sobre marcas, características y calidades de rotary encoders

bueno como el titulo dice, deseo comprar unos encoder decentillos y quería consultar sobre marcas y algunas caracteristicas.

compre unos encoder chinos los tipicos EC11 de 20 posiciones, pero no he tenido buenos resultados, en un momento pensé que era yo o los códigos estaban mal, pero por casualidad compre otro EC11 pero 30 posiciones (KY-040) y ese si me ha resultado bastante decente y mucho mas preciso.

bueno la primera duda es: ¿¿que es mas preciso, un encoder de 24 posiciones y 24 pulsos o un encoder de 30 posiciones y 15 pulsos??

y la segunda duda: ¿que marca recomiendan?

deseo hacer controles midi y estoy aprendiendo paso a paso, pero de componentes electrónicos se muy poco.

para el que le interese

dejo el codigo que uso en el encoder:

20 pulsos por giro, aquí cuando avanzo o retrocedo un pulso, se suman o restan 2 valores , se resta 1 y 2 o suman dependiendo la dirección.
(probé códigos con interrupciones y funciono correctamente sumando 1 en 1, el tema es que usar interrupciones limita mucho el uso de varios encoder)

30 pulsos por giro, aquí avanzo normal sumando de 1 en 1, lo cual me parece muy raro pero genial, ni siquiera necesito interrupciones ni nada.

los dos 2 encoder cuentan con el mismo circuto eléctrico.

int boton = 9, PinA=15, PinB=14;
int contador = 0, estado, estadoAnterior;

void setup() {

pinMode(PinA, INPUT);
pinMode(PinB, INPUT);
pinMode(boton, INPUT);

Serial.begin(115200);

estadoAnterior=digitalRead(PinA);
}

void loop() {

estado=digitalRead(PinA);

if (estado!=estadoAnterior){
    if (digitalRead(PinB)!=estado){
      contador--;}
      else{
      contador++;}  
      Serial.println(contador);
         
    }
   estadoAnterior=estado; 

}

espero alguien me pueda recomendar, muchas gracias desde ya.

Un enconder no tiene 20 posiciones sino 200 o mas, estos son para tareas simples como el manejo de displays y la seleccion de un menú. Por eso ni siquiera son aceptables para otras tareas.
No se de marcas porque hoy todo esta dominado por los productos Chinos.
Asi que busca algo que tenga 200, 500, 1000 o mas pulsos.
No se que quieres hacer porque tampoco lo has dicho.

hola, gracias por tomarte el tiempo de responder, la verdad tienes razon en que un rotary encoder tiene posiciones infinitas o giros infinitos, pero yo me estoy refiriendo a la cantidad de pulsos de un rotary enconder por giro de 360 grados, vale decir un encoder (desde el inicio hasta completar 1 giro completo), puede dar una vuelta completa en 12 posiciones, otros en 20, otros en 24, 30, 32 etc. es a eso lo que me estoy refiriendo.

ahora en relación a lo que estoy haciendo, no lo deje claro perdón, pero es simplemente aclarar y entender el problema entre ambos encoder, mejor dicho por que ambos encoder, siendo el mismo código, mismo circuito electrico, mismo pines, mismo arduino, etc... se desempeñan de distinta manera (la unica diferencia real entre ambos es la cantidad de pulso que tiene al completar una vuelta de 360°).

Seguramente el de 20 pulsos genera más rebotes que el de 30.
A modo de prueba, agrega un pequeño delay al final del loop(), entre 20 y 50 mseg.

Saludos

Bueno pero sigues sin decir para que lo quieres.
Un Encoder se usa para CNC para posicionar un motor DC creando un servo mecanismo, para estos casos jamás usaras algo de 20 o 30 posiciones.
Yo hablaba de estos objetivos.

Están hablando de cosas diferentes, la consulta es sobre estos

Saludos

Y de qué marcas se puede hablar si eso es patrimonio Chino. Todo eso no tiene marca.

Todo depende de donde se encuentre el PO.
Como bien dijiste en otro post, si está en Europa sí tiene componentes "de marca" (Keyes, DFRobot, Adafruit, entre otros) más allá de su procedencia, ahora si está en Latinoamérica como nosotros... :man_facepalming:t2:

Saludos

Aca se compra lo que hay y si no te gusta a llorar al campito.

gracias por responder gatul, yo también lo creo, pero tengo una duda, llegue a probar con delay de 2seg y pasaba que al estar en 0 y avanzar un pulso, obtenía 1 (o restaba dependiendo de la dirección), pasaban los 2 segundos y obtenía 2, solo con haber realizado un movimiento en el encoder. eso me causa extrañeza, por lo tanto eso es lo que me hace dudar realmente si es un problema de rebote o si realmente es un tema de funcionamiento del encoder que desconozco.

de toda maneras en china hay distintas fabricas y distintas calidades de fabricas, hay empresas de marcas importantes que trabajan con fabricas chinas y tienen una calidad decente, obviamente si comprarnos lo mas barato no podemos pedir calidad, por que esas fabricas que producen barato obviamente no tendrán ni cumplirán las certificaciones necesarias y otras fabricas chinas puede que si las cumplan pero vendan un poco mas caro. pero bueno tampoco es el tema de conversación. :+1:

gracias eso quería saber gatul, nombres de marcas que desconocía, yo estoy en Latinoamérica, pero tengo un familiar en Europa que viajara pronto de visita y aprovechare de pedirle. con eso ya tengo para salir de la duda.

gracias :smiley:

Ojo con esos encoder ya que son mecánicos, y si se ensucian van bastante mal, no sirven mas que para moverse dentro de menus o tareas sencillas, para tareas mas delicadas solo se utilizan encoder ópticos, donde el precio se dispara y donde es fácil ver encoder con hasta 2000ppr

Llevamos #14 post y aun no sabemos para que lo quieres usar? Si es para un menú no molestes a tu amigo, compralo en tus sitios online y listo.
Si es para algo mas serio considera lo que te he dicho al comienzo... enconder hablando en serio es otra cosa. En general y no me maten, muchas cosas para arduino son de juguete, o sea, son para hobbismo. Las cosas serias requieren otros elementos de mejor calidad.
Yo tengo 2 de esos, y funcionan bien para cambio de menues.
De hecho ajusto la temperatura de mi heladera con uno de ellos y funciona perfecto. Esta a 0 a 4°C todo el tiempo sin problemas. Con el armé un termostato. Me molestó que me pidieran muchísimo dinero por algo tan arcaico como un termostato de heladera con bulbo y toda esa cosa del siglo pasado. Ahora tengo algo siglo 21.

En el trabajo tenemos 2 microondas Samsung que tienen encoders para elegir potencia y tiempo de calentamiento, poner en hora y nada más.
Desde apenas unos días de comprados que perdemos más tiempo tratando de que esas porquerías marquen lo que uno necesite que el tiempo que lo vamos a usar.
Querés aumentar y descuenta, sube dos puntos y baja 3.
Y se supone que tiene componentes de calidad...
:smile:

gracias por la info amigo, ese dato me sirve mucho, lo voy a tener muy en cuenta.

bueno pero eso pueden ser por muchas cosas, inclusive puede que ese equipo sea un equipo generico y que samsung lo comprara, instala una carcasa, la pantalla y listo y hay varias marcas que hacen cosas similares con algunas lineas de productos.

pero bueno, la verdad no se, tampoco voy a defender a una marca, menos si no me pagan. Ahora yo solo quería saber marcas de encoder y calidades y esas cosas, pero bueno sus experiencias también me ayudan a entender las limitantes que tienen los encoder, para comprender de mejor manera el funcionamiento. :slightly_smiling_face: :slightly_smiling_face: :+1: :+1:

amigo, lo dije en el #1 post.

También comparto lo que dices, por que Arduino es una placa para prototipar nada mas, no para trabajos profesionales o industriales, ahora los encoder no se construyen para Arduino, son construidos como componentes de electronica general, no es como si se crearan o diseñados específicamente para arduino (aunque existan algunos modulos con encoder pensados para arduino). los encoder fueron pensados para electronica, radios de automovil, equipos de musica, microondas, mouse, etc, por eso pensaba que podía encontrar marcas diferentes y calidades diferentes y que eso podía afectar para mejor o peor en el funcionamiento del proyecto, pero en general coincido contigo, arduino es principalmente para realizar cosas para hobby.

Tenés razón nos fuimos por las ramas... :grimacing:

Saludos

Tienes estos de normalmente 100 ppr.


https://www.aliexpress.com/wholesale?catId=0&initiative_id=SB_20220725211035&isPremium=y&SearchText=cnc+handwheel+encoder&spm=a2g0o.productlist.1000002.0