Isi kandungan:

Kawalan PWM DIY untuk Peminat PC: 12 Langkah
Kawalan PWM DIY untuk Peminat PC: 12 Langkah

Video: Kawalan PWM DIY untuk Peminat PC: 12 Langkah

Video: Kawalan PWM DIY untuk Peminat PC: 12 Langkah
Video: Alat murah Rp12 rb yang berguna | Dimmer SCR 2000W Motor Speed Controller 220V 2024, November
Anonim
Kawalan PWM DIY untuk Peminat PC
Kawalan PWM DIY untuk Peminat PC

Instructable ini menerangkan pembinaan pengawal PWM kipas PC 12 V yang lengkap. Reka bentuknya dapat mengawal sehingga 16 kipas komputer 3-pin. Reka bentuk menggunakan sepasang IC isyarat campuran Dialog GreenPAK ™ yang boleh dikonfigurasi untuk mengawal kitaran tugas setiap kipas. Ini juga merangkumi dua cara untuk menukar kelajuan kipas:

a. dengan pengekod kuadratur / putar

b. dengan aplikasi Windows yang dibina dalam C # yang berkomunikasi dengan GreenPAK melalui I2C.

Di bawah ini kami menerangkan langkah-langkah yang diperlukan untuk memahami bagaimana cip GreenPAK telah diprogramkan untuk membuat kawalan PWM untuk peminat PC. Namun, jika anda hanya ingin mendapatkan hasil pengaturcaraan, muat turun perisian GreenPAK untuk melihat Fail Reka Bentuk GreenPAK yang sudah siap. Pasang GreenPAK Development Kit ke komputer anda dan tekan program untuk membuat IC khusus untuk kawalan PWM untuk peminat PC.

Langkah 1: Diagram Blok Sistem

Rajah Blok Sistem
Rajah Blok Sistem

Langkah 2: Reka Bentuk Decoder Rotary SLG46108

Reka bentuk Decoder Rotary SLG46108
Reka bentuk Decoder Rotary SLG46108
Reka bentuk Decoder Rotary SLG46108
Reka bentuk Decoder Rotary SLG46108
Reka bentuk Decoder Rotary SLG46108
Reka bentuk Decoder Rotary SLG46108

Pengekod putar digunakan untuk meningkatkan atau mengurangkan kitaran tugas kipas secara manual. Peranti ini mengeluarkan denyutan pada saluran Saluran A dan Saluran B yang jaraknya 90 °. Lihat AN-1101: Decoder Kuadratur Tanpa Jam untuk maklumat lebih lanjut mengenai cara pengekod putar berfungsi.

Decoder putar berpusing dapat dibuat menggunakan Dialog GreenPAK SLG46108 untuk memproses isyarat Saluran A dan Saluran B dan mengeluarkannya sebagai denyut berlawanan arah jarum jam (CCW) dan searah jarum jam (CW).

Apabila Saluran A mengetuai Saluran B, reka bentuk menghasilkan nadi pendek pada CW. Apabila Saluran B mengetuai Saluran A, ia mengeluarkan nadi pendek pada CCW

Tiga DFF menyegerakkan input Saluran A dengan jam. Begitu juga, kelewatan paip dengan OUT0 diatur ke dua DFF dan OUT1 ditetapkan ke tiga DFF mewujudkan fungsi yang sama untuk saluran B.

Untuk membuat output CW dan CCW, gunakan beberapa LUT, untuk maklumat lebih lanjut mengenai reka bentuk decoder putar standard ini, lawati laman web ini.

The GreenPAK Rotary Decoder akan menerima denyutan input A dan B dan mengeluarkan denyut CW dan CCW seperti yang ditunjukkan dalam Rajah 4.

Litar selepas gerbang XOR memastikan bahawa tidak akan ada denyut CW dan denyut CCW pada masa yang sama, yang memungkinkan berlaku sebarang kesalahan dengan pengekod putar. Kelewatan jatuh 8 ms pada isyarat CW dan CCW memaksa mereka untuk tetap tinggi selama 8 ms ditambah satu pusingan jam, yang diperlukan untuk SLG46826 GreenPAK hilir.

Langkah 3: Reka Bentuk Pengawal Kipas SLG46826

Reka Bentuk Pengawal Kipas SLG46826
Reka Bentuk Pengawal Kipas SLG46826

Langkah 4: Penjanaan PWM Dengan Pembilang Offset

Penjanaan PWM Dengan Pembilang Offset
Penjanaan PWM Dengan Pembilang Offset
Penjanaan PWM Dengan Pembilang Offset
Penjanaan PWM Dengan Pembilang Offset

Sepasang pembilang ofset dengan jangka masa yang sama digunakan untuk menghasilkan isyarat PWM. Kaunter pertama menetapkan DFF, dan yang kedua menetapkannya semula, mewujudkan isyarat PWM kitaran tugas yang konsisten seperti yang ditunjukkan pada Gambar 6 dan Gambar 7.

CNT6 menetapkan DFF10 dan output terbalik CNT1 menetapkan semula DFF10. Pin 18 dan 19 digunakan untuk mengeluarkan isyarat PWM ke litar luaran

Langkah 5: Kawalan Kitaran Tugas Dengan Suntikan Jam dan Melangkau Jam

Duty Cycle Control Dengan Jam Suntikan dan Jam Melangkau
Duty Cycle Control Dengan Jam Suntikan dan Jam Melangkau
Duty Cycle Control Dengan Jam Suntikan dan Jam Melangkau
Duty Cycle Control Dengan Jam Suntikan dan Jam Melangkau

Pengawal kipas menerima isyarat CW dan CCW sebagai input dari penyahkod putar dan menggunakannya untuk meningkatkan atau menurunkan isyarat PWM yang mengawal kelajuan kipas. Ini dicapai dengan beberapa komponen logik digital.

Kitaran tugas perlu meningkat apabila denyut CW diterima. Ini dilakukan dengan menyuntikkan denyut jam tambahan ke blok CNT6, menyebabkannya mengeluarkan satu pusingan jam lebih awal daripada yang seharusnya. Proses ini ditunjukkan dalam Rajah 8.

CNT1 masih berjalan mengikut kadar tetap, tetapi CNT6 mempunyai beberapa jam tambahan yang disuntik. Setiap kali ada jam tambahan ke kaunter, ia mengalihkan outputnya satu jam ke kiri.

Sebaliknya, untuk mengurangkan putaran tugas, lewati denyut jam untuk CNT6 seperti yang ditunjukkan pada Gambar 9. CNT1 masih terus berlari pada kadar tetap, dan ada denyutan jam yang dilangkau untuk CNT6, di mana penghitung tidak dapat didirikan saat seharusnya ke. Dengan cara ini output CNT6 didorong ke kanan dengan jangka masa satu jam pada satu masa, memendekkan kitaran tugas PWM output.

Fungsi suntikan jam dan melangkau jam dilakukan dengan menggunakan beberapa elemen logik digital dalam GreenPAK. Sepasang blok pelbagai fungsi digunakan untuk membuat sepasang kombo pengesan selak / tepi. LUT0 4-bit digunakan untuk menyamarkan antara isyarat jam am (CLK / 8) dan isyarat suntikan jam atau lompat jam. Fungsi ini dijelaskan dengan lebih terperinci dalam Langkah 7.

Langkah 6: Input BUTTON

Input BUTTON
Input BUTTON

Input BUTTON diturunkan selama 20 ms, kemudian digunakan untuk menukar selak yang menentukan sama ada cip ini dipilih. Sekiranya ia dipilih, maka LUT 4-bit melepasi isyarat lompat jam atau suntikan. Sekiranya cip tidak dipilih, maka LUT 4-bit hanya meneruskan isyarat CLK / 8.

Langkah 7: Mencegah Rollover Duty Cycle

Mencegah Rollover Duty Cycle
Mencegah Rollover Duty Cycle
Mencegah Rollover Duty Cycle
Mencegah Rollover Duty Cycle
Mencegah Rollover Duty Cycle
Mencegah Rollover Duty Cycle

Kait RS 3-bit LUT5 dan 3-bit LUT3 digunakan untuk memastikan bahawa anda tidak dapat menyuntik atau melewatkan begitu banyak jam sehingga kaunter offset berguling. Ini untuk mengelakkan sistem mencapai 100% kitaran tugas dan kemudian beralih ke 1% kitaran tugas jika menerima jam yang disuntikkan lagi.

Selak RS menghalang ini daripada berlaku dengan memasukkan input ke blok multifungsi apabila sistem satu pusingan jam dari berguling. Sepasang DFF melambatkan isyarat PWM_SET dan PWM_nRST selama satu jam seperti yang ditunjukkan dalam Rajah 11.

Sepasang LUT digunakan untuk membuat logik yang diperlukan. Sekiranya kitaran tugas sangat rendah sehingga isyarat PWM_SET yang tertunda berlaku pada masa yang sama dengan isyarat PWM_nRST, penurunan seterusnya dalam kitaran tugas akan menyebabkan peralihan.

Begitu juga, jika menghampiri kitaran tugas maksimum, sehingga isyarat PWM_nRST yang tertunda berlaku pada masa yang sama dengan isyarat PWM_SET, adalah mustahak untuk mengelakkan kenaikan kitaran tugas selanjutnya. Dalam keadaan ini, tunda isyarat nRST dengan dua pusingan jam untuk memastikan bahawa sistem tidak berguling dari 99% hingga 1%.

Langkah 8: Duty Cycle Control Dengan I2C

Duty Cycle Control Dengan I2C
Duty Cycle Control Dengan I2C
Duty Cycle Control Dengan I2C
Duty Cycle Control Dengan I2C
Duty Cycle Control Dengan I2C
Duty Cycle Control Dengan I2C

Reka bentuk ini menggabungkan cara lain untuk mengawal kitaran tugas selain daripada jam lompat / suntikan jam. Mikrokontroler luaran boleh digunakan untuk menulis perintah I2C ke GreenPAK untuk mengatur kitaran tugas.

Mengawal kitaran tugas di atas I2C memerlukan pengawal untuk melakukan urutan perintah tertentu. Perintah ini ditunjukkan dalam urutan dalam Jadual 1. "x" menunjukkan bit yang tidak boleh berubah, "[" menunjukkan bit MULAI, dan "]" menunjukkan bit STOP

Blok PDLY menghasilkan nadi tinggi aktif pendek di pinggir jatuh isyarat CLK / 8, yang dipanggil! CLK / 8. Isyarat itu digunakan untuk jam DFF14 pada frekuensi stabil. Apabila I2C_SET naik tinggi secara tidak segerak, sisi kenaikan seterusnya! CLK / 8 menyebabkan DFF14 mengeluarkan TINGGI, yang mencetuskan CNT5 OneShot. OneShot dijalankan untuk bilangan kitaran jam yang ditulis pengguna seperti yang dinyatakan dalam perintah "Tulis ke CNT5" I2C dalam Jadual 1. Dalam kes ini, ini adalah 10 kitaran jam. OneShot membolehkan pengayun 25 MHz berjalan dengan tepat dan tidak lagi, sehingga LUT0 3-bit menerima bilangan kitaran jam yang ditulis ke CNT5.

Rajah 15 menunjukkan isyarat-isyarat ini, di mana jam merah adalah yang dihantar ke LUT0 3-bit, yang menyebarkannya ke CNT6 (pembilang PWM_SET), sehingga mewujudkan pengimbangan untuk penjanaan kitaran tugas.

Langkah 9: Bacaan Tachometer

Bacaan Tachometer
Bacaan Tachometer
Bacaan Tachometer
Bacaan Tachometer

Sekiranya dikehendaki, pengguna dapat membaca nilai tachometer melebihi I2C untuk mengesan seberapa cepat kipas berpusing dengan membaca nilai CNT2. CNT2 meningkat setiap kali ACMP0H mempunyai kelebihan, dan dapat diset semula secara asinkron dengan perintah I2C. Perhatikan bahawa ini adalah ciri pilihan, dan ambang ACMP0H perlu diubah mengikut spesifikasi kipas tertentu yang digunakan.

Langkah 10: Reka Bentuk Litar Luaran

Reka Bentuk Litar Luaran
Reka Bentuk Litar Luaran

Litar luaran agak sederhana. Terdapat butang tekan yang disambungkan ke Pin6 GreenPAK untuk menukar sama ada peranti tertentu ini dipilih untuk kawalan putar, dan LED yang disambungkan ke Pin12 dan Pin13 untuk menunjukkan bila peranti dipilih.

Oleh kerana kipas berjalan 12 V, diperlukan sepasang FET untuk mengawal peralihannya. Pin18 dan Pin19 GreenPAK mendorong nFET. Apabila nFET dihidupkan, ia menarik pintu pFET LOW, yang menghubungkan kipas ke +12 V. Apabila nFET dimatikan, pintu PFET ditarik oleh perintang 1 kΩ, yang memutuskan kipas dari +12 V.

Langkah 11: Reka Bentuk PCB

Reka Bentuk PCB
Reka Bentuk PCB

Untuk memprotaip reka bentuk, beberapa PCB dipasang. PCB di sebelah kiri adalah "Pengawal Kipas", yang menempatkan pengekod putar, bicu 12 V, SLG46108 GreenPAK, dan penyambung untuk papan pelarian FT232H USB ke I2C. Dua PCB di sebelah kanan adalah "Fan Boards", yang mengandungi SLG46826 GreenPAK, butang tekan, suis, LED, dan header kipas.

Setiap Fan Board mempunyai header lelaki yang diselimuti di sebelah kiri dan header wanita di sebelah kanan sehingga mereka dapat dirantai bersama-sama. Setiap Dewan Peminat dapat diisi dengan sumber daya untuk mengendalikan dua peminat secara bebas.

Langkah 12: Aplikasi C #

Permohonan C #
Permohonan C #

Aplikasi C # ditulis untuk berinteraksi dengan Papan Kipas melalui jambatan FT232H USB-I2C. Aplikasi ini dapat digunakan untuk menyesuaikan frekuensi setiap kipas dengan perintah I2C yang dihasilkan oleh aplikasi.

Aplikasi ini meletakan semua 16 alamat I2C sekali sekejap dan mengisi GUI dengan alamat hamba yang ada. Dalam contoh ini Fan 1 (alamat hamba 0001) dan Fan 3 (alamat hamba 0011) disambungkan ke papan. Penyesuaian pada siklus tugas setiap kipas secara individu dapat dilakukan dengan menggerakkan slider bar atau dengan mengetik nilai dari 0-256 di kotak teks di bawah slider bar.

Kesimpulannya

Dengan menggunakan reka bentuk ini, dapat mengawal secara bebas hingga 16 peminat (kerana terdapat 16 alamat hamba I2C yang mungkin) sama ada dengan pengekod putar atau dengan aplikasi C #. Telah ditunjukkan bagaimana menghasilkan isyarat PWM dengan sepasang pembilang ofset, dan bagaimana meningkatkan dan menurunkan kitaran tugas isyarat tersebut tanpa rollover.

Disyorkan: