Como redesenhar um circuito para usar um IC que está afundando em vez de um IC de fornecimento atual


9

Estou construindo um servo controlador serial para aprender sobre eletrônica e linguagem assembly como parte do meu projeto de robô hexapod . Bem cedo, decidi que precisava de mais canais de E / S do que o meu ATTiny2313 que estava usando no momento, então investiguei alguns chips desmultiplexadores de 3-8 linhas ( CD74HCT238E ) que me permitiram criar um servo PWM de 64 canais controlador com apenas 8 pinos de E / S para os canais PWM e 3 linhas de endereço.

De qualquer forma. Também comprei alguns CD74HCT138E 's que estão ativos baixos em vez dos CD74HCT238E altos ativos. Entendo, principalmente, as diferenças entre o chip de fornecimento atual que estou usando e os chips que estão afundando, mas eu realmente não sei como ajustar meu circuito para usar os chips que estão afundando em vez dos chips de fonte atuais.

O esquema dos chips ativos altos está aqui: texto alternativo O que preciso alterar para trocar os CD74HCT238E pelos CD74HCT138E?

Observe que o motivo para fazer essa pergunta é que eu comprei um tubo dos CIs ativos baixos por engano e estou curioso para saber quanto mais complexo o projeto esquemático e de circuito seria necessário para eu usá-los.

Respostas:


2

O '238 possui apenas uma das oito saídas lógicas altas, corrente de fornecimento, o restante dos pinos será lógico baixo, corrente de dissipação. O '138 é precisamente o oposto, um dos oito pinos pode ser baixo, afundando corrente, o resto será alto, fonte de corrente.

Para "inverter" a função do '138, você pode usar oito transistores PNP com as bases ligadas a uma saída do' 138 com um resistor, os emissores todos conectados a +5 e os coletores conectados a um de seus servos conectores. Ou use um monte de inversores (74HCT04 ou octal 74HCT240) para alterar o sentido das saídas.

Sua escolha de 1 de 8 decodificadores limitará o que você pode fazer com seus servos, pois seu circuito pode ativar apenas uma saída de cada vez. A velocidade máxima de qualquer servo será limitada pelo número de servos que você deseja ativar. Se você quisesse todos os 64 canais, por exemplo, todos eles rodariam a uma velocidade média de 1/64.

O PCF8575C é muito útil para expandir E / S digital usando o protocolo I2C serial de dispositivos como o Arduino. Você pode executar 64 servos usando 2 pinos no Arduino e 4 PCF8575Cs. Isso lhe daria mais flexibilidade na definição de seus ciclos de trabalho PWM.


Estou com a sensação de que, se estivesse usando esses chips para expandir a E / S por um motivo que não seja o servocontrole, a troca da alta ativa pela baixa ativa seria um problema menor, já que eu acabaria de reverter o circuito. estava se conectando ao pino. No entanto, como eu preciso acionar a linha de servocontrole com + VE, preciso dos inversores para fornecer isso, pois não consigo acionar a linha de controle de outro lugar e simplesmente afundá-la no IC.
21119 Len Holgate

Como um aparte, o servo controle PWM usando os ICs ativos altos está funcionando bem. Eu corro 8 dos 1 dos 8 chips decodificadores do microprocessador e, em seguida, alterno entre as linhas de endereço (alterando-as a cada 2,5ms) para gerar a atualização de 50Hz necessária em todos os 64 canais. Isso me permite gerar os pulsos necessários de 600us-2.4ms em cada canal. Presumo que o PCF8575C seja mais fácil de usar, basta enviar um comando para ligar / desligar o pino apropriado e ele permanece assim, em vez de os 238 precisarem do pino correspondente no microprocessador para manter a duração alta.
21119 Len Holgate

11
Realmente depende da aplicação, fico feliz em saber que está funcionando. Em muitos casos, o chip ao qual você está conectado é fácil de lidar com a mudança de ativo alto para ativo baixo, mas o seu não era um deles.
Kortuk

3

Eles são a mesma coisa excluindo a saída. A baixa ativa é exatamente igual à alta ativa, com uma entrada invertida em todos os pinos.

Eu tenho alguns aplicativos com servos, isso exigiria que eu colocasse um inversor em cada caminho ou troquei meus servos. Com as informações do seu servo, posso ajudar mais, mas duvido que essa alteração valha a pena.

Dei uma olhada no seu site, gostei das duas vezes em que o visitei, mas não encontrei mais informações de hardware; se perdi alguma coisa, peço desculpas. -Max Murphy


2
Sim, eu sei que eles são iguais, exceto pela saída. Eu assumi que havia uma maneira razoavelmente fácil de conectar o servo ao IC baixo ativo. Os servos são simples Hitec HS-422s. Se eu fosse passar um fio do VCC, via, presumo, um resistor, para o pino de baixa saída ativo, presumo que nada fluiria a menos que o pino seja puxado baixo?
21119 Len Holgate

11
Não sei ao certo se entendi sua pergunta, você está correto, seu dispositivo não extrai corrente de um resistor de pull-up quando sua saída é alta. O portão do servo puxará corrente pelo resistor e / ou pela sua alta saída, provavelmente ambos. Ainda será alto para o ciclo de trabalho exatamente oposto. Antes, se você estivesse executando um ciclo de trabalho de 5% e agora um ciclo de trabalho de 95%. A folha de dados em robotshop.us/PDF/Servomanual.pdf , ou devo dizer o guia do produto, fornece ótimas informações. Seu tempo de pulso com um tempo de folga específico é importante.
21410 Kortuk

11
Por que você precisa mudar os chips para Active Low?
21410 Kortuk

2
Não comprei, acabei de comprar um tubo deles por engano e quero saber se é possível. Eu vi um projeto para um projeto similar do servo controlador que usa o que (a partir da folha de dados) parecia ser CIs baixos ativos e eu estava curioso :)
Len Holgate

11
Ah, desculpe, eu estava tentando impedi-lo de alterar os designs, você tem o outro design? Você realmente só precisa colocar inversores, se você não se importa com o espaço, isso pode ser feito com um transistor e um resistor.
21909 Kortuk
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.