De todos es sabido que Modbus es uno de los protocolos de comunicación industrial más extendido y, claro está, con la aparición de ethernet se ‘actualizó’ para seguir estando en tre los top 5. También es cierto que desde que Microchip lanzó sus controladoras de ethernet y sus micros con ethernet embedded (también antes con los RTL,…) se abrieron las puertas hacia el mundo de las comunicaciones.
Evidentetemente no es mi intención soltar un discurso de como se implementa el protocolo, basta con ir a cualquier buscador y encontraréis 1000 referencias al respecto. Mi intención es simplemente poner un pequeño ejemplo de como se puede implementar un servidor MODBUS TCP en un PIC que soporte las funciones 03 y 16, que son las que básicamente se usan sobre tcp.
Una de las principales misiones encomendas a los micros ha sido siempre el control preciso de motores… control de velocidad, sentido de giro, incluso potencia,par,…
Habitualmente la forma tradicional es usar un puente en H wiki aunque ello implica los cuatro transistores el driver, el código para la activación correcta de la secuencia…
Hace algún tiempo que he comenzado a sustituir ese control por un chip de Infineon, el TLE6209 (me costó encontrarlos, pero merecen la pena) datasheet Básicamente es capar de controlar un motor de 6A de consumo continuo y de ofrecer monitorización y configuración de algunos parámetros de operación vía SPI.
Entre los últimos PIC’s que Microchip ha sacado al mercado destaca la incorporación del módulo de sensado capacitivo mTouch™ que incluye todo el hardware necesario para realizar un teclado capacitivo con sólo pintar las pistas correspondientes a los botones.
EL primer paso para comenzar es, evidentemente, ir a la página de Microchip y revisar la última información publicada al respecto. aquí
En mi caso surgió la posibilidad de cambiar un teclado tradicional PS2 por este nuevo sistema, por lo que monte mi prototipo con un 16LF272 y comencé a probar con el código que Michochip facilita (sí, claro, antes hay que leer los datasheets, AN,..) el caso es que contenía más de un fallo que lo hace inoperativo… por eso esta primera entrada en el blog, para dejar un código que si funciona a quien le pueda venir bien, seguro que a los que empezáis con el tema os ahorra alguna que otra horas de trabajo…