¿Cómo puedo leer los datos de medición del bus M con un Arduino Uno?

3

Estoy intentando enviar datos desde un Kamstrup Multical 601 a un Arduino Uno mediante el protocolo M-bus .

Estoy considerando intentar usar las bibliotecas libmbus c para hacer esto. Sin embargo, no tengo mucha experiencia en programación en c, así que me preguntaba si:

  • ¿Crees que este es un enfoque realista / alcanzable?
  • ¿Alguien podría sugerir un enfoque alternativo / más fácil?

El chip principal del Arduino Uno es el Atmel Atmega382P-PU.

Después de enviar los datos al Arduino, deseo realizar algunos cálculos y enviar datos a una pantalla LCD (esto creo que puedo hacer).

    
pregunta atomh33ls

2 respuestas

5

Tendrá muchos problemas para convertir esa biblioteca de C para usarla en Arduino. Como lo mencionó Chris, parece que es para un sistema más grande como una PC, por lo que tendrá que portarlo para usarlo en un sistema integrado. Es factible, pero puede ser más trabajo del que te gustaría.

Pude encontrar alguna aplicación notas que usan un MSP430 y un transceptor de bus . De esta manera, puede escribir en el M-Bus usando UART, que TI tiene un montón de código disponible para su implementación. Incluso utilizan una pantalla LCD para mostrar información de lectura. Poner su Arduino en lugar del MSP430 debería funcionar de la misma manera, ambos tienen UART que puede configurar a la velocidad de transmisión adecuada. Esto lo llevará a cómo hablar con su medidor. Entonces, todo lo que realmente necesita hacer es averiguar qué para decirle a su medidor. Esta página tiene un bonito diagrama para la capa de datos del protocolo M-Bus,

CadaunadelasfilasrepresentaunvalordebytequeescribiríaensuregistrodeenvíodeUART.Encuantoaloquesumedidorespecíficoesperaparacadaunodeestoscampos,vaatenerquecavarunpoco.Parecequepuedehaberalgunainformaciónderegistro aquí . Pero todo dependerá de los módulos que haya instalado en su medidor, que no especificó.

    
respondido por el Samuel
1

Probablemente podría convertir el Arduino en un maestro M-Bus, pero requeriría un poco de trabajo y circuitos adicionales, ya que tendría que proporcionar el voltaje necesario para la línea M-Bus, etc.

Si el medidor todavía no está conectado a una red M-Bus, lo más fácil probablemente sería adquirir un maestro M-Bus como el Relay PW3 o similar y conectarlo.

Si el medidor ya está en una red M-Bus, podría ser más fácil conectarse a él usando el puerto óptico. Hay lectores opto con conexiones USB que funcionan para el trabajo.

Tenga en cuenta que creo que el MC601 usa el protocolo KMP si se conecta a él a través de opto. El módulo M-Bus en el medidor es un módulo separado que se comunica con el medidor internamente usando KMP y escupe el M-Bus.

    
respondido por el inquam

Lea otras preguntas en las etiquetas