Akım kaynaklama IC'si yerine mevcut batma IC'sini kullanmak için bir devre nasıl yeniden tasarlanır


9

Hexapod robot projemin bir parçası olarak elektronik ve montaj dili hakkında bilgi edinmek için seri bir servo denetleyici yapıyorum . Oldukça erken bir zamanda, desteklenen zamanda kullandığım ATTiny2313'ten daha fazla G / Ç kanalına ihtiyacım olduğuna karar verdim, bu yüzden 64 kanallı bir PWM servo oluşturmama izin veren 3-8 satırlı demultiplexer çiplerini ( CD74HCT238E ) araştırdım PWM kanalları ve 3 adres hattı için sadece 8 I / O pinli kontrolör.

Neyse. Ayrıca bazı satın CD74HCT138E aktif düşük ziyade aktif yüksek CD74HCT238E en vardır 's. Prensipte, kullandığım mevcut kaynak çipi ile mevcut batan çipler arasındaki farkları anlıyorum, ancak akım kaynak çipleri yerine mevcut batma çiplerini kullanmak için devremi nasıl ayarlayacağımı gerçekten bilmiyorum.

Aktif yüksek yongaların şeması burada: CD74HCT238E'leri CD74HCT138E'lerlealternatif metin değiştirmek için neyi değiştirmem gerekir ?

Bu soruyu sormanın nedeninin yanlışlıkla düşük IC'lerden bir tüp satın aldığım ve şematik ve devre tasarımının bunları kullanmak için ne kadar daha karmaşık olması gerektiğini merak ediyorum.

Yanıtlar:


2

'238, sekiz çıkış mantık yüksek, kaynak akımı sadece birine sahiptir, pimlerin geri kalanı mantık düşük, batma akımı olacaktır. '138 tam tersi, sekiz pimden biri düşük olabilir, batan akım, geri kalanı yüksek olacak, kaynak akımı.

'138'in işlevini "tersine çevirmek" için, her biri bir dirençle' 138'in çıkışına bağlı olan sekiz PNP transistör, hepsi +5'e bağlı olan ve her biri servolarınızdan birine bağlı olan toplayıcılar kullanabilirsiniz. konnektörleri. Veya çıkışların duygusunu değiştirmek için bir grup evirici (74HCT04 veya sekizli 74HCT240) kullanın.

8 dekoderden 1'i seçtiğinizde, servolarınızla yapabileceğiniz şey sınırlanır, çünkü devreniz her seferinde yalnızca bir çıkışı etkinleştirebilir. Herhangi bir servonun maksimum hızı, etkin olmasını istediğiniz servo sayısıyla sınırlı olacaktır. Örneğin, 64 kanalın tümünü açmak isterseniz, ortalama 1/64 hızda çalışırlardı.

PCF8575C, Arduino gibi cihazlardan gelen seri I2C protokolünü kullanarak dijital IO'yu genişletmek için çok kullanışlıdır. Arduino ve 4 PCF8575C'lerde 2 pini kullanarak 64 servo çalıştırabilirsiniz. Bu size PWM görev çevrimlerinizi ayarlamada daha fazla esneklik sağlayacaktır.


G / Ç'yi servo kontrol dışında bir nedenden ötürü genişletmek için bu yongaları kullansaydım, aktif yüksek seviyeyi aktif düşük için değiştirmenin daha az sorun olacağını, çünkü devreyi ters çevireceğimi hissediyorum. pime bağlanıyordu. Ancak, + VE ile servo kontrol hattını sürmem gerektiğinden, kontrol hattını başka bir yerden süremediğim ve sadece IC'ye batırdığım için bana invertörlere ihtiyacım var.
Len Holgate

Bir kenara, aktif yüksek IC'leri kullanan PWM servo kontrolü iyi çalışıyor. Mikroişlemcimden 8 kod çözücü yongasının 1'inden 8'ini çalıştırıyorum ve daha sonra adres satırları arasında geçiş yapıyorum (her 2.5ms'de bir değiştirerek), tüm 64 kanalda gerekli 50Hz yenilemeyi üretebiliyorum. Bu, her kanalda gerekli 600us-2.4ms darbeleri oluşturmamı sağlıyor. PCF8575C'nin kullanımı daha kolay olduğunu düşünüyorum, çünkü sadece uygun pimi açmak / kapatmak için bir komut gönderirsiniz ve 238'in mikroişlemcideki ilgili pime ihtiyaç duyması yerine bu şekilde kalır.
Len Holgate

1
Gerçekten uygulamaya bağlıdır, çalıştığını duyduğuma sevindim. Birçok durumda, bağlandığınız çip, aktif yüksek ila aktif düşük arasındaki değişimle uğraşmak kolaydır, ancak sizinki bunlardan biri değildi.
Kortuk

3

Çıktı hariç aynı şeydir. Aktif düşük, tüm pinlerde ters çevrilmiş bir giriş ile aktif yüksek ile tamamen aynıdır.

Servolar olan birkaç uygulamam var, bu her yola bir invertör koymamı veya servolarımı değiştirmem gerekiyordu. Servo bilgilerinizle daha fazla yardımcı olabilirim ama bu değişikliğin buna değdiğinden şüpheliyim.

Sitenize bir göz attım, iki kez ziyaret ettiğim için çok keyif aldım, ancak daha fazla donanım bilgisi bulamadım, bir şey kaçırırsam özür dilerim. -Max Murphy


2
Evet, çıktı dışında aynı olduklarının farkındayım. Servoyu aktif düşük IC'ye bağlamak için oldukça kolay bir yol olduğunu varsaydım. Servolar basit Hitec HS-422'lerdir. VCC'den aktif düşük çıkış pimine bir direnç üzerinden bir tel koyarsam, pim alçaltılmadıkça hiçbir şeyin akmayacağını varsayarım?
Len Holgate

1
Sorunuzu anladığımdan tam olarak emin değilim, haklısınız, çıkışı yüksek olduğunda cihazınız bir çekme direncinden akım çekmeyecektir. Servo kapısı, direnç üzerinden ve / veya muhtemelen her ikisi de yüksek çıkışınızdan akım çekecektir. Tam tersi görev döngüsü için hala yüksek olacak. Daha önce% 5'lik bir görev döngüsü ve şimdi% 95'lik bir görev döngüsü yapıyorsanız. Robotshop.us/PDF/Servomanual.pdf adresindeki veri sayfası veya ürün kılavuzu demeliyim, harika bilgiler verir. Belirli bir kapanma süresi ile nabız zamanınız önemlidir.
Kortuk

1
Yongaları neden Etkin Düşük olarak değiştirmeniz gerekiyor?
Kortuk

2
Yanlışlıkla bir tüp aldım ve mümkün olup olmadığını bilmek istiyorum. Benzer bir servo denetleyici tasarımı (veri sayfasından) aktif düşük IC'ler gibi görünen şeyleri kullanan bir tasarım gördüm ve merak ettim :)
Len Holgate

1
Ahh, özür dilerim, tasarımları değiştirmenizi engellemeye çalışıyordum, başka bir tasarımınız var mı? Gerçekten sadece invertörleri koymanız gerekir, alanı önemsemiyorsanız, bir transistör ve bir direnç ile yapılabilir.
Kortuk
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.