Conteo de pulsos con Arduino

Tengo una duda sobre este diagrama, es de un posicionador comercial.
Porque cortan el GND del opto y no Vcc ?, hay algun tipo de mejora ?
Ademas simule ese diagrama y el opto funciona con poco mas de 1 ma.
entrada pulsos vbox2.PNG
 
La R de pullup de 100k es muy grande, es una fuente de errores. Yo la pondría de 4k7.
10k como mucho.
Lo mismo da cortar el positivo que el negativo, el caso es cortar el circuito.

En electricidad hay una normativa para no usar el neutro en la maniobra. En electrónica no.
D3 y D1 me parecen redundantes, uno o el otro. Yo pondría ninguno.
Lo mismo con las resistencias e 3k3, valen pero mucha impedancia da como resultado que entre ruido. Ensordar un poco el circuito lo hace más estable.
 
Ok, mi diagrama corta el Vcc, la resistencia es de 680ohm y solo tiene a D1, lo quito entonces?
No necesita ninguno de los otros diodos a menos que pueda invertirse la alimentacion por alguna conexion erronea.

La resistencia debe calcularse en funcion de la relacion de transferencia del opto y de la caida de tension directa del LED del opto. Fijate el datasheet del PC-817 para analizar las especificaciones.
 
A bulto esos optos van 1:1 mA así que si por un lado necesitas 2mA por el otro también.
Eso sí, dependiendo de lo largo que sea el cable te puede venir bien poner un poco más de corriente o una resistencia en paralelo con el diodo que se coma las tensiones inducidas que puedan salir por ahí.
En general "ensordando" un circuito, consume más, pero es más inmune a tensiones y corrientes inducidas por ruido eléctrico.
Por el lado del Arduino, si tienes 1cm de pistas no debes de tener problemas de ruido, cualquier cosa irá. Si por el otro lado tienes 50m y pasa por detrás de cableados industriales, vas a tener muchos problemas y te interesa que solo se active con, por decir algo, más de 100mA que es una corriente muy difícil de conseguir por inducción entre cables y ruidos eléctricos. (Es un valor muy alto elegido a boleo)
 
Ok, en mi circuito solo tengo a D1, lo voy a mantener porque funciona.
No tengo mas de 30 metros de cable y solo unos 5 metros están dentro de un ducto junto con un bajo goma de 220Vac y algún que otro UTP con 12v.

Estuve investigando mas sobre el PWM y por lo que leí la frecuencia "tipica ideal" para un motor anda cerca de los 5 khz.
Según vi la documentación de arduino en los pines 11 y 12 la frecuencia es de 490hz.
Conviene aumentarla o la mantengo así?
 
Es bastante indiferente. Ni sé de dónde sale esa frecuencia óptima y por qué.
Ok, lo mantengo asi entonces.

Otra consulta con respecto al PWM.
Supongamos que la fuente me entrega 36Vcc y tengo un motor de 24Vcc.
Puedo ir ajustando el valor del PWM hasta que con el multimetro tenga 24Vcc en la salida?
El motor funciona bien de esa forma? porque esta recibiendo los 36Vcc en cortos periodos de tiempo no?
 
Cambie el reed switch por el sensor hall:
hall.jpg

Reed switch original:
original.jpg

No funciono, creo que el problema es que este sensor hall es lineal y quizas se mantiene activo con el campo magnetico del iman cercano o tengo que invertir el sentido del sensor.
 
Me extraña que los chinos vendan sensores lineales. Existir existen pero todos los que he visto de los chinos eran digitales, incluso algunos con potenciómetros de ajuste y operacionales,(así el usuario se entretiene mientras cree que hace algo) se ve que compraron un barco de sensores digitales y les están dando salida.

Los sensores hall tiene polaridad magnética, en un sentido van y en el otro no, dependiendo e como estén tus imanes los tienes que poner en una u otra posición.
 
fijate la hoja de datos, para un velocímetro de cadencia le mande uno, nunca anduvo, hasta que me enteré que justo ese que compre, se mantiene o abierto o cerrado, hasta que pasa el polo opuesto al anterior, tenía LATCH, y requería un S y luego un N del imán para conmutar....
 
No puede ser lo mismo. En principio rebotes no existirán.
Lo unico que note por el momento fue eso. Como habia implementado el anti rebote por software, puse un flag que se vuelve true cuando recibe un "pulso" antes del tiempo permitido y con eso podia ver si rebotaba.
Con el hall no rebota aparentemente.
Asi quedo el sensor hall:
IMG_20190824_181521.jpg

Estos son los imanes, que opinan de poner 4 mas donde estan los puntos rojos?
IMG_20190824_181506.jpg

Este es el comportamiento moviendo pulso a pulso con interrupciones en modo CHANGE:
Como ven hace un movimiento corto y despues uno mas largo.

En modo FALLING o RISING:
Parece que se para siempre en el mismo lugar
 

Adjuntos

  • IMG_20190824_181521.jpg
    IMG_20190824_181521.jpg
    515.2 KB · Visitas: 0
Última edición:
El falling esta funcionando perfecto.
Cuantos dientes (siempre hablo de reduccón por medio) crees que hay entre detección de un iman y el siguiente iman x FALLING?
Los que se esta desplazando.

Cuantos dientes (reducción mediante) hay cuando usan CHANGE y bueno si existe un pulso corto (un flanco supongamos de subida), se detiene rápidamente y luego lo hace mas largo (el de bajada que coincide con el comportamiento FALLING) porque asi es la detección de un flanco y el otro. Pero eso solo te indica que TU SISTEMA de detección esta equivocado.

Si quieres moverte a nivel de diente, necesitas aumentar los imanes para que la detección sea mas exacta a nivel de DIENTE. Tal como esta, no responde a lo que pretendes. Debes mejor la resolución del sistema.
Asi que o cambias a un sistema optico con un encoder, o cambias a un engranaje metálico y detectas cambios con cada diente usando otro sensor HALL pero asi.. esta funcionando exactamente con lo que dispones.
Lo que debes determinar si ese movimiento angular es suficiente o no. Si no lo es hay que mejor la resolución.
 
El falling esta funcionando perfecto.
Cuantos dientes (siempre hablo de reduccón por medio) crees que hay entre detección de un iman y el siguiente iman x FALLING?
Los que se esta desplazando.

Cuantos dientes (reducción mediante) hay cuando usan CHANGE y bueno si existe un pulso corto (un flanco supongamos de subida), se detiene rápidamente y luego lo hace mas largo (el de bajada que coincide con el comportamiento FALLING) porque asi es la detección de un flanco y el otro. Pero eso solo te indica que TU SISTEMA de detección esta equivocado.

Si quieres moverte a nivel de diente, necesitas aumentar los imanes para que la detección sea mas exacta a nivel de DIENTE. Tal como esta, no responde a lo que pretendes. Debes mejor la resolución del sistema.
Asi que o cambias a un sistema optico con un encoder, o cambias a un engranaje metálico y detectas cambios con cada diente usando otro sensor HALL pero asi.. esta funcionando exactamente con lo que dispones.
Lo que debes determinar si ese movimiento angular es suficiente o no. Si no lo es hay que mejor la resolución.

El movimiento en modo FALLING es suficiente, pero me gustaría aumentar un poco mas la precisión por eso pensaba ponerle 4 imanes mas, o cambiarlos todos y dejar 8 iguales.
Pensaba sacar los que tiene ahora, rellenar los agujeros con epoxi quizas y ponerle 8 de estos:
iman-neodimio-6mm-x-3mm-potente-broche-n35.jpg


Funcionara?. tienen que quedar perfectamente distanciados o puede haber un error "humano" de 1 o 2 mm?
 
Atrás
Arriba