CANopen para USB?

1

Eu tenho um desses transmissores digitais de pressão que geram um sinal CANopen (CAN-BUS).

Qual é a melhor maneira de obter os dados através de uma porta USB no meu computador? Posso apenas transferir os CAN_H e CAN_L para USB + e USB- e V+/- para uma fonte de alimentação externa?

Talvez o USB não seja o caminho a seguir. Posso conectar isso à porta ethernet?

Quando a fiação estiver concluída, qual é a maneira mais fácil de decodificar os dados no meu sistema operacional? Eu não vou fugir de um pouco de programação, mas estou perdido em um mar de protocolos CAN e preciso de alguma direção! Eu tenho acesso a uma caixa Linux, uma caixa Mac e um PC aqui.

    
por vimes1984 19.04.2014 / 22:40

3 respostas

1

Não sei qual é o seu aplicativo, mas ler os dados desse sensor não é tão simples assim. Como André disse, este é um dispositivo CAN; especificamente, é um dispositivo de protocolo CANopen . Conectá-lo ao USB causará estragos no computador pobre ao qual você o conecta.

Eu recomendaria fazer algumas pesquisas sobre o protocolo CAN-BUS para ver como ele funciona. Para começar, eu recomendaria comprar um Arduino (talvez um kit inicial como este ou this ) e este escudo CAN-BUS ( aqui está uma biblioteca ). Então olhe para a folha de dados do seu sensor para ver como se comunicar com ele. A conexão USB com o Arduino permitirá que você acesse informações seriais enviadas do Arduino para o seu computador (por exemplo, o nível de pressão). No entanto, o Arduino é um microcontrolador, e pode ser satisfatório como um controlador sozinho para a sua aplicação, negando a necessidade de USB.

Se tudo isso parecer sobre sua cabeça, talvez você queira optar por um sensor de pressão mais simples, como este ( folha de dados ) da série MLH da Honeywell. É um sensor analógico simples que usa tensão (5V, perfeito para o Arduino) para produzir o valor de pressão.

O sensor que você tem é muito resistente (caixa de metal com um alcance de cerca de 1200 PSI), e é provavelmente um exagero para a maioria das aplicações, mas eu não sei o que você está usando para isso. Se for algo simples, com quase nenhuma pressão, recomendo comprar um sensor diferente que tenha melhor precisão e exatidão para a faixa de pressão que você está medindo.

Embora você possa optar por um adaptador CAN para USB como este comercial ou este mais documentado , eu apostaria que você se encontrará bastante limitado em capacidade imediatamente, e / ou no futuro. Dito isto, eu recomendaria a solução Arduino sobre o adaptador USB.

    
por 30.04.2014 / 23:51
2

Os adaptadores de conversão CAN-USB que vi incorporam um microprocessador dedicado para lidar com os detalhes da conversão, por isso não estou muito certo sobre a possibilidade de soldar um para si mesmo.

Um exemplo na Amazon é USB-CAN USB para adaptador de conversor de barramento CAN com cabo USB , custando US $ 46,99. Eu não sei o que este dispositivo será parecido com o Windows e se requer um motorista especial.

    
por 01.05.2014 / 12:39
1

Esse sensor produz os dados em um CAN bus , que é uma rede projetada principalmente para uso em automóveis (é amplamente usada para interconectar ECUs dentro dos veículos e permitir que eles se comuniquem juntos.

O CAN é muito diferente do USB e conectá-los diretamente pode resultar em um desastre danificando o controlador USB e possivelmente toda a placa-mãe.

Se você ainda quiser usar este sensor, você precisará de um dispositivo para converter o barramento CAN em algo que seu computador possa aceitar, como USB, RS232 (se você tiver uma porta serial) ou mesmo Ethernet - aqui está uma exemplo CAN < - > Conversor USB.

Note que não há nenhum software já feito para ler dados de um sensor como este, porque quase todas as interfaces CAN têm suas próprias APIs e cada sensor possui diferentes formatos de dados e coisas, então você precisa programar um aplicativo para leia o sensor.

Veja o SDK e exemplos fornecidos com sua interface CAN para saber como "falar" com o barramento CAN e, em seguida, consulte a folha de dados do seu sensor para saber como realmente "conversar" com ele e obter seus valores.

    
por 30.04.2014 / 20:54