Bagaimana cara mendesain ulang sirkuit untuk menggunakan IC sinking saat ini daripada IC sumber saat ini

9

Saya sedang membangun pengontrol servo serial untuk belajar tentang elektronik dan bahasa rakitan sebagai bagian dari proyek robot hexapod saya . Cukup awal saya memutuskan bahwa saya membutuhkan lebih banyak saluran I / O daripada ATTiny2313 yang saya gunakan saat itu didukung jadi saya menyelidiki beberapa chip demultiplexer 3-8 baris ( CD74HCT238E ) yang memungkinkan saya membuat servo PWM 64 saluran controller hanya dengan 8 pin I / O untuk saluran PWM dan 3 jalur alamat.

Bagaimanapun. Saya juga membeli beberapa CD74HCT138E yang aktif rendah daripada tinggi aktif CD74HCT238E. Saya mengerti, pada prinsipnya, perbedaan antara chip sumber saat ini yang saya gunakan dan chip yang tenggelam saat ini tetapi saya tidak benar-benar tahu bagaimana menyesuaikan sirkuit saya untuk menggunakan chip yang tenggelam saat ini daripada chip sumber saat ini.

Skema untuk chip tinggi aktif ada di sini: teks alternatif Apa yang harus saya ubah untuk menukar CD74HCT238E dengan CD74HCT138E?

Perhatikan bahwa alasan untuk mengajukan pertanyaan ini adalah karena saya membeli tabung IC aktif rendah secara tidak sengaja dan saya ingin tahu seberapa rumit skematis dan desain sirkuit yang diperlukan bagi saya untuk memanfaatkannya.

Len Holgate
sumber

Jawaban:

2

'238 hanya memiliki satu dari delapan output logika tinggi, sumber arus, sisa pin akan menjadi logika rendah, arus tenggelam. The '138 justru kebalikannya, salah satu dari delapan pin bisa rendah, tenggelam saat ini, sisanya akan tinggi, sumber arus.

Untuk "membalikkan" fungsi '138, Anda dapat menggunakan delapan transistor PNP dengan basis masing-masing diikat ke output dari' 138 dengan sebuah resistor, emitor semuanya terhubung ke +5 dan masing-masing kolektor terhubung ke salah satu servo Anda. konektor. Atau gunakan sekelompok inverter (74HCT04 atau oktal 74HCT240) untuk mengubah arti dari output.

Pilihan Anda 1 dari 8 decoder akan membatasi apa yang dapat Anda lakukan dengan servos Anda, karena sirkuit Anda hanya dapat mengaktifkan satu output pada satu waktu. Kecepatan maksimum dari setiap servo akan dibatasi oleh jumlah servos yang Anda inginkan aktif. Jika Anda ingin semua 64 saluran aktif, misalnya, mereka semua akan berjalan dengan kecepatan rata-rata 1/64.

PCF8575C sangat berguna untuk memperluas IO digital menggunakan protokol serial I2C dari perangkat seperti Arduino. Anda dapat menjalankan 64 servos menggunakan 2 pin pada Arduino dan 4 PCF8575Cs. Ini akan memberi Anda lebih banyak fleksibilitas dalam mengatur siklus tugas PWM Anda.

SiliconFarmer
sumber
Saya mendapatkan perasaan bahwa jika saya menggunakan chip ini untuk memperluas I / O karena alasan selain kontrol servo maka menukar tinggi aktif untuk rendah aktif tidak akan menjadi masalah, karena saya hanya akan membalikkan rangkaian yang saya gunakan. sedang terhubung ke pin. Namun, karena saya perlu menggerakkan garis kontrol servo dengan + VE, saya memerlukan inverter untuk memberikannya kepada saya karena saya tidak dapat menggerakkan garis kontrol dari tempat lain dan cukup memasukkannya ke IC.
Len Holgate
Sebagai tambahan, kontrol servo PWM menggunakan IC tinggi aktif bekerja dengan baik. Saya menjalankan 8 dari 1 dari 8 chip decoder dari mikroprosesor saya dan kemudian menelusuri baris alamat (mengubahnya setiap 2,5ms) sehingga saya dapat menghasilkan refresh 50Hz yang diperlukan pada semua 64 saluran. Ini memungkinkan saya untuk menghasilkan pulsa 600us-2.4ms yang diperlukan pada setiap saluran. Saya berasumsi PCF8575C lebih mudah digunakan karena Anda hanya mengirimnya perintah untuk mengaktifkan / menonaktifkan pin yang sesuai dan tetap seperti itu daripada 238 yang membutuhkan pin yang sesuai pada mikroprosesor harus dipegang teguh selama durasi.
Len Holgate
1
Ini benar-benar tergantung pada aplikasi, saya senang mendengarnya berfungsi. Dalam banyak kasus, chip Anda terhubung dengan mudah untuk berurusan dengan perubahan dari tinggi aktif ke rendah aktif, tetapi Anda bukan salah satu dari mereka.
Kortuk
3

Mereka adalah hal yang sama tidak termasuk output. Rendah aktif sama persis dengan tinggi aktif dengan input terbalik pada semua pin.

Saya punya beberapa aplikasi dengan servos, ini mengharuskan saya memasang inverter di setiap jalur atau mengganti servos saya. Dengan info untuk servo Anda, saya mungkin bisa membantu lebih banyak tapi saya ragu perubahan ini sepadan.

Saya melihat-lihat situs Anda, saya menikmatinya dua kali saya mengunjunginya, tetapi saya tidak menemukan lebih banyak informasi perangkat keras, jika saya melewatkan sesuatu, saya minta maaf. -Max Murphy

Kortuk
sumber
2
Ya, saya menyadari mereka sama kecuali untuk output. Saya berasumsi bahwa ada cara yang cukup mudah untuk memasang servo ke IC rendah aktif. Servo adalah Hitec HS-422 sederhana. Jika saya menjalankan kawat dari VCC, via, saya berasumsi, sebuah resistor, ke pin output rendah aktif maka saya menganggap bahwa tidak ada yang akan mengalir kecuali pin ditarik rendah?
Len Holgate
1
Saya tidak sepenuhnya yakin saya mengerti pertanyaan Anda, Anda benar, perangkat Anda tidak akan menarik arus dari resistor pull-up ketika outputnya tinggi. Gerbang servo akan menarik arus melalui resistor dan / atau dari output tinggi Anda, mungkin keduanya. Itu masih akan tinggi untuk siklus tugas sebaliknya. Sebelumnya jika Anda melakukan siklus tugas 5% dan sekarang siklus tugas 95%. Lembar data di robotshop.us/PDF/Servomanual.pdf , atau saya harus mengatakan panduan produk, memberikan informasi yang bagus. Waktu pulsa Anda dengan waktu tidak aktif yang penting.
Kortuk
1
Mengapa Anda perlu mengganti chip ke Active Low?
Kortuk
2
Saya tidak, saya hanya membeli tabung mereka secara tidak sengaja dan ingin tahu apakah itu mungkin. Saya telah melihat desain untuk desain serupa servo controller yang menggunakan apa (dari lembar data) tampaknya IC aktif rendah dan saya ingin tahu :)
Len Holgate
1
Ahh, saya minta maaf, saya mencoba untuk menghentikan Anda dari mengubah desain, apakah Anda memiliki desain yang lain? Anda benar-benar hanya perlu memasukkan inverter, jika Anda tidak keberatan ruang, itu bisa dilakukan dengan transistor dan resistor.
Kortuk