Go Down

Topic: Añadir I/O a arduino (Read 3 times) previous topic - next topic

manumoli

Puedes usar   Multiplexores para  multiplicar las  entradas  tanto analógicas como las digitales pero eso sí , se ha de tener en cuenta el implementar un reloj externo que este en sincronismo con el ciclo del Programa, para que sincronice ambos. Es decir, si el ciclo de lectura de una entrada por programa es  de  20 Ms por ejemplo, debemos samplear varias entradas en este ciclo , digamos que el multiplexor nos envía un barrido de 8 entradas hacia un solo `pin de entrada del Atmega, por decirlo de una manera más grafica seria como  enviar  8  bits en serie hacia una sola entrada del  Atmega, y por programa, debemos de  samplear  cada bit en sincronismo con el  reloj externo. Así se leen estas 8 entradas  en una tabla de tiempos
En el caso de multiplexar  las salidas el tema se complica bastante ya que se utilizan  laths que  "memorizan " durante un tiempo las tensiones de salida, por lo tanto, la sincronización con el reloj externo depende del ciclo de latencia de  cada laths

Espero  que  te pueda ser  de utilidad.  Un saludo cordial.

svalls

Estamos experimentano con:

Multiplexores:
Salidas: SN74HC595N y TPIC6B595N, aunque supongo que necesitaremos si o si un IC de transistor darlington para alimentar a 24Vdc las bobinas o reles.
Entradas: Analógicas: CD74HC4067EE4, Digitales: ¿?

Bus I2C:
- Para salida a LCD alfanumerico 40x4: PCF8574AP
- Para entradas/Salidas: MCP23016 (Creo que este IC tiene latch para las salidas y Interrupiones para las entradas, así que nos valdría tanto para Entradas como para salidas, ¿me equivoco?)

Bus SPI:
- Para entradas/Salidas: MCP23018 (Creo que este IC tiene latch para las salidas y Interrupiones para las entradas, así que nos valdría tanto para Entradas como para salidas, ¿me equivoco?)


Con el sistema de buses utilizaremos las interrupciones que generaran la lectura de las entradas. Las salidas las escribiremos según nos convenga o una vez por cada loop, habrá que ver... Quizá exista algún método más óptimo... no he trabajado nunca con buses diferentes al RS485 y CAN.

manumoli

Como  Multiplexor de entradas Analogicas  podrias  utilizar   el modelo   LF11508    ( 8 entradas analogicas controladas por 3 bits de datos )
Como MUltiplexoor de salidas  Digitales  puedes usar  o bien  el 
74150
o bien el  4051   ( CMOS en este caso )  este  ultimo consta de  16 entradas digitales multiplexadas
Tiene una única salida invertida w (pin 10).
Posee cuatro entradas selectoras de datos de A a D (pin 15 al 11).
Tiene una entrada de habilitación denominada STROBE que se considera como un conmutador ON-OFF.

Como Drivers de salida para el control de Potencia podrias utilizar el integrado   ULN2804   Driver  de salia de  500 mA por salida, 8 salidas con  transistor Darlington  integrado en el  chip.
eso  si un consejo, si en el Proyecto se ha de mantener las 8 salidas a nivel alto durante periodos largos,  tenemos que implementar un buen disipador  sobre el  chip ya que el consumo es de  500 mA por  8 salidas  =  4 Amperios en   DC
Pero por lo general  la carga asociada a la salida no suele consumir a lo sumo  50 mA en la exitacion.

svalls

Gracias manumoli.

He estado mirando las pilas de litio de 5Vdc para la FA en RS, y las que he encontrado son muy caras. Sabes donde puedo encontrar alguna para PCB?
OJO: Tiene que tener potencia suficiente para alimentar a todos los IC de 5Vdc, calculo unos 10 o 15, que supongo no es problema pues no consumen mucho y los transistores van conectados ya a 24Vdc.

manumoli

Puedes  consultar en  DIOTRONIK    hay un modelo mas economico  sale por  6 euros pero es  de solo 4,8 V
  Mira el   catalogo de DIOTRONIK 
4/60DK BATERIA 4.8V 60MAH       de Baterias  de  Ion-Litio en   Diotronik
Por lo que  veo proporciona  60 mAH  es mas que suficiente  dado el consumo de los  CMOS que en reposo es de tan solo  40 microamperios

Go Up