Eu tenho um par antigo e personalizado de conectores em uso pelo que será um grande número de sistemas. Os conectores são mãe / pai e simétricos, pois não possuem um guia mecânico para que o usuário o conecte na posição "correta".
Não posso alterar o dispositivo e o conector pai de forma alguma.
Os 4 pinos são: VCC GND Rx Tx. Eu tenho uma alta tensão no pino de energia e a lógica Rx / Tx está em 5V. O relógio Rx / Tx é predefinido para um valor específico.
Portanto, o conector pai pode ser conectado de quatro maneiras possíveis.
A mãe fornece ao pai VCC abaixo de 1000V e abaixo de 100A, se e quando os pinos estiverem "alinhados". Até então, os dispositivos podem conversar com Rx e Tx @ 5V (há uma pequena bateria recarregável no dispositivo final do conector pai).
As caixas de conectores e dispositivos não são condutoras.
Eu preciso ser capaz de detectar a orientação / como o conector pai está inserido, para que eu possa retransmitir a corrente e os sinais corretamente, para que os dispositivos se conectem e conversem, independentemente de como os conectores estejam conectados.
Qual é o melhor jeito de concluir isso? Por "melhor maneira", quero dizer o menor número de componentes / FETs / relés / diodos. Eu posso usar qualquer tipo de MCU do meu lado, estava olhando para uma classe L0 da STM.
NB: um dispositivo eletromecânico atrás do conector mãe, na forma de um disco, é girado por um motor em passos de 90 'no sentido horário (basicamente são feitas até 4 "tentativas" até que os sinais estejam adequadamente alinhados). outro canal, não estou procurando esse tipo de solução, preciso de algo em estado sólido, sem partes móveis.
Respostas:
Como o que você está conectando é empurrando para fora uma voltagem relativa ao pino de aterramento na linha Tx (e talvez um pullup no Rx), você deve poder usar um circuito como o abaixo como início.
simular este circuito - esquemático criado usando o CircuitLab
Puxe cada pino para aterrar um de cada vez e examine quais outros pinos estão voltando. Você deve ser capaz de descobrir qual pino é o pino de terra real dessa maneira. Depois de saber isso, altere os sinais TX / RX para os pinos corretos (não mostrados) e verifique a comunicação antes de ligar o P-MOSFET de energia apropriado.
Depois que você souber qual é o terra e o ligar, detectar o plugue sendo puxado deve simplesmente monitorar o transistor na linha Vcc.
fonte
Você pode usar um circuito semelhante ao shifter de dois estágios para permitir a rotação dos sinais em 0, 90, 180 ou 270 graus:
simular este circuito - esquemático criado usando o CircuitLab
Você pode usar relés de estado sólido ou mecânicos para os comutadores. Existem apenas dois sinais de controle, permitindo 4 configurações possíveis correspondentes às 4 orientações possíveis.
Para encontrar a orientação correta, basta alternar entre as configurações até obter um sinal RX / TX válido. Como a fonte de alta tensão não está ativada antes de você encontrar a orientação correta, a lógica precisa lidar apenas com + - 5V nos sinais rx / tx. Um resistor de série simples e braçadeira de diodo pode ser suficiente.
(É claro que seria inteligente ter algum tipo de proteção de reserva caso a alta tensão acabe nos pinos errados, mas isso é assunto suficiente para outra pergunta.)
fonte