Hace 2 meses compré un "USBasp" fui a probarlo y no funcionó....pensé me estafaron, o que era mi puerto USB de mi laptop la que estaba averiada.....no fue ninguna de las dos cosas, me vendieron un USBisp por un USBasp.....por ello mi laptop no reconocía a mi dispositivo generando dolor de cabeza y frustación.........decepcionado ya estaba por botar mi programador sin antes hacer unas pruebas para ver como hacer para que mi Laptop reconociera a mi USBisp como USBasp.... aquí te muestro un pequeño tutorial de como lo solucioné
USBasp-original
USBisp-versión china
Para la programación de microcontroladores AVR, el programador más económico es el USBasp, por ello es conveniente utilizarlo. La versión china cuesta 2 dólares aproximadamente en Aliexpress , pero el firmware nativo no es USBasp, es USBisp.
Abri el programador y decía " MX-USBISP-V5.00." entonces entendí que no es exactamente el USBasp clásico. El USBasp clásico tiene un Atmega8A en cambio la versión china tiene un Atmega88A.
MX-USBISP-V5.00.
Solución
Reflaxear al USBisp, después de flashear, el programador se definirá como USBasp y será compatible con avrdude, cargaremos un programa al Atmega88V utilizando otro programador, puede ser el clásico USBasp o placa arduino(como programador ISP)
El programa funciona para placas MX-USBisp-V4.00 y MX-USBisp-V5.00.
Procedimiento
Asegurarse que USBISP sea reconocido al ingresarlo a un puerto de nuestra laptop, puede que aparezca USBHID, pero si aparece junto a un triangulo de color amarillo quiere decir que falta actualizar o instalar drivers.
Administrador de dispositivos
Si no es reconocido tendrá que actualizar los drivers, Windows necesita instalar un controlador para ello, necesita descargar driver dar click aquí. Es un ejecutable, no necesita instalarlo.
Descargar Zadig 2.7
El programa Conecte el USBasp a la PC y aparecerá en el menú desplegable de dispositivos de Zadig. Seleccione "Instalar controlador".
Instalar drivers
Si la PC reconoce al dispositivo como USBHID puede cambiar su nombre en EDIT y colocarle cualquier nombre , yo le coloque nombre USBasp, instalo drivers y ya debe ser reconocido por la PC.
Reconocimiento de nuestro dispositivo USBasp chino.
Que nuestra PC reconozca a nuestro USBasp no significa que ya el programa AVRdude pueda reconocerlo, entonces es hora dar el siguiente paso, grabar un .hex a nuestro USBasp chino, para ello damos el siguiente paso.
2. Hacer un puente en "UP" del USBisp
Imagen que muestra k conexión en UP
3. Hacer la siguiente conexión y grabar código hex.
Reflaxear al USBisp, después de flashear, ahora ya será compatible con avrdude, pra ello cargaremos un programa al Atmega88V utilizando otro programador, puede ser el clásico USBasp o placa arduino(como programador ISP)
El programa funciona para placas MX-USBisp-V4.00 y MX-USBisp-V5.00.
4. Finalmente quitamos el puente en "UP" y nuestro USBisp ahora será reconocido por nuestro AVRDUDE como USBasp.
5. Para grabar un programa .hex a cualquier microcontrolador debemos hacer la conexión ICSP , lo explicamos a detalle en este link.
¿Tienes alguna duda de este tema?, o ¿De qué otros temas quieres que hablemos?, puedes escribirnos directamente a nuestro grupo de Telegram
Outseal PLC Mega V.2 Compact tiene las siguientes especificaciones:
Características:
INPUT
16 Entradas no-aisladas
3-24 VDC, Cumple con la norma internacional IEC 61131-2
MICROCONTROLADOR
ATMEGA128A
OUTPUT
16 salidas tipo NPN colector abierto, Sin protección contra sobrecorriente
MEMORIA FLASH
128KB
EEPROM
4KB
PUERTO DE COMUNICACIÓN
2 Puerto serie
MODBU RTU-serial y esclavo
RS485
CABLE USB
USB TIPO B(para impresora)
Entrada ANÁLOGO
2 CANALES
PWM
* 2 canales
HIGH SPEED COUNTER
* 2 canales
*El contador de alta velocidad y PWM usan un temporizador compartido, de modo que si el primer temporizador se usa para HSC, el primer temporizador no puede ser usado por PWM y viceversa, y lo mismo ocurre con el segundo temporizador.
Outseal PLC mega V.2 slim tiene las siguientes especificaciones:
8 entradas digitales
8 salidas digitales
2 entradas analógicas
1 línea de comunicación MODBUS RTU serial RS485 esclavo
1 línea de comunicación MODBUS RTU serial RS485 maestro
2 temporizadores de hardware para PWM / contador de alta velocidad
1 línea de comunicación TWI/I2C
1 línea de comunicación SPI
Características:
INPUT
8 Entradas opto-aisladas
10-30 VDC, Cumple con la norma internacional IEC 61131-2
OUTPUT
8 salidas tipo NPN colector abierto, regulación de corriente 60 mA
MEMORIA FLASH
128KB
EEPROM
4KB
PUERTO DE COMUNICACIÓN
2 Puerto serie
MODBU RTU-serial y esclavo
RS485
CABLE USB
USB TIPO B(para impresora)
Entrada ANÁLOGO
2 CANALES
PWM
1 canal
Esquema-PDF Cortesía de Outseal.com -Youtube, para abrir la página web usar "Tor Browser", https://outseal.com/site/produk/megav2slim/megav2slim.html Si prefieres la placa ya hecha, tienes la opción de compra: Link de compra
¿Tienes alguna duda de este tema?, o ¿De qué otros temas quieres que hablemos?, puedes escribirnos directamente a nuestro grupo de Telegram
Real -Time Operating Systems(RTOS) se utilizan en entornos donde una cantidad de eventos se requieres procesar en poco tiempo o dentro de ciertos plazos, como por ejemplos: Control industrial, equipos de conmutación telefónica, control de vuelo, simulaciones de tiempo real entro otras.
Este sistema está limitado en el tiempo y tiene un plazo fijo. El procesamiento en este tipo de sistema debe ocurrir dentro de las restricciones específicas. De lo contrario, esto conducirá a una falla del sistema.
Esquema RTOS
Como sabemos los microcontroladores ejecutan tareas previamente programadas y son ejecutadas de manera secuencial, con la implementación de RTOS estás secuencia será más rápida, previene situaciones de errores, optimiza los tiempos de ejecución, de manera que, se puede gestionar y priorizar los tiempos de cada evento.
Finalmente explicaré las subrutinas necesarias para implementar un RTOS dentro del microcontrolador:
A manera de ejemplo vamos a ver las señales del parpadeo de 3 leds con los mismos tiempos(1Seg):
Del video se puede apreciar que las señales se producen de manera secuencial, estas mismas tareas se pueden implementar sin hacer uso de RTOS pero cuando las tareas van creciendo las líneas de código va creciendo también, a la vez que el código se va haciendo menos legible y ordenado, propenso a errores, es allí donde es preferible construir un RTOS.
Ya que este código está implementado en ASM la implementación del RTOS ocupa poca memoria, este es el resumen:
Tienes alguna duda de este tema?, o ¿De qué otros temas quieres que hablemos?, puedes escribirnos directamente a nuestro grupo de Telegram
En este video de Eduardo Velazquez se explica detalladamente la subrutina para hacer divisiones de 8 y 16 bits. Además hace una aplicación práctica como ejemplo de la función de división, el desarmar un número de 4 cifras en 4 caracteres, para ser enviados por UART, les dejo el link para que puedan disfrutarlo, el código también lo anexa:
Para aplicaciones de escritorio y además en la industria, especialmente en aplicaciones de SCADA tenemos la opción de enlazar por MODBUS-RTU varios dispositivos entre ellos nuestro ATMEGA a un sistema de monitoreo, si el SCADA en una computadora industrial de entorno Windows, podemos usar el Visual Basic para hacer nuestras interfaces.
Con el fin de aprender a hacer interfaces les dejo estos libros que pueden ayudarle a su aprendizaje(CLICK en imagen).