DIPERBARUI 8/1/2017: bug sketsa diperbaiki, sketsa untuk lcd1602 ditambahkan
DIPERBARUI 7/31/2017: skematis perangkat keras baru diterapkan
DIPERBARUI 4/7/2017: fitur baru diterapkan (lihat deskripsi)
Pengontrol ini menangani tongkat pemoleng Hakko 907 dengan ujung yang dapat diganti dan memiliki elemen pemanas bawaan dan termistor ATAU termokopel untuk memeriksa suhu pemoleng. Tongkat memiliki dua sirkuit listrik independen untuk pemanasan pemoleng dan pemeriksaan suhu. Pengontrol ini dapat digunakan dengan tongkat pemoleng lain yang memiliki arsitektur yang serupa.
Lebih baik mengganti stopkontak pada tongkat pemoleng dengan yang lain, misalnya, stopkontak penerbangan GX16-5 atau GX-12-5.
Fitur utama pengontrol ini adalah:
Pengontrol sesuai untuk bekerja dengan berbagai tongkat Hakko 907, dengan termokopel atau dengan termistor untuk memeriksa suhu. Anda harus memilih skematis yang sesuai.
Algoritma PID diterapkan untuk mempertahankan suhu pemoleng. Pemoleng naik ke suhu dalam sekitar 30 detik dan mempertahankannya dalam 1 -2 derajat Celsius.
Pengontrol mempertahankan suhu dalam penggunaan yang intensif karena algoritma PID sangat sensitif dan dapat dengan cepat meningkatkan daya yang disuplai.
Tiga titik referensi suhu diterapkan dalam prosedur kalibrasi pemoleng.
Prosedur kalibrasi diotomatisasi dengan menggunakan algoritma PID untuk mempertahankan suhu dekat titik referensi.
Pengontrol mendukung dua mode kerja: mempertahankan suhu dan mempertahankan daya yang disuplai.
Untuk menjaga operasi diam, interupsi tinggi frekuensi Timer1 diterapkan dalam pengontrol. Ini memungkinkan frekuensi PWM ditingkatkan hingga 31250 Hz alih-alih 490 Hz oleh fungsi bawaan analogWrite() .
Pengontrol menerapkan encoder rotary yang dipercepat. Ketika encoder diputar perlahan, pengaturan suhu berubah sebesar 1 derajat. Ketika encoder diputar dengan cepat, pengaturan suhu berubah sebesar 5 derajat.
Suhu disimpan dalam EEPROM Arduino setelah pemoleng digunakan jika pengaturan suhu diubah.
Pengontrol mendukung satuan Celsius atau Fahrenheit untuk nilai suhu yang ditampilkan, suhu preset dan data kalibrasi.
Pengontrol memiliki mode tune untuk menyederhanakan prosedur pengaturan awal pengontrol.
Menu Pengontrol
Seperti yang saya sebutkan sebelumnya, pengontrol memiliki beberapa mode:
Mode standby
Mode kerja utama (mempertahankan suhu)
Mode daya (mempertahankan daya yang disuplai)
Mode setup
Mode kalibrasi
Mode tune (prosedur pengaturan awal)
Saat pengontrol baru dihidupkan, mode standby diaktifkan. Dalam mode ini pemoleng diberi daya. Tampilan utama menunjukkan informasi berikut:
Suhu preset di sisi kiri baris atas (dalam satuan yang dipilih - Celsius atau Fahrenheit);
Pesan 'OFF' di sisi kanan baris atas yang menunjukkan bahwa pemoleng mati;
Suhu saat ini pemoleng di sisi kiri baris kedua;
Jika pemoleng tidak terhubung ke pengontrol, pesan 'no iron' ditampilkan pada baris kedua. Saat pemoleng menjadi dingin (setelah penggunaan), pesan 'cold' ditampilkan pada baris kedua yang menunjukkan bahwa aman untuk menyentuh pemoleng.
Suhu preset dapat disesuaikan dengan memutar tongkat encoder saat pemoleng mati. Untuk menyalakan pemoleng, dorong tongkat encoder dengan ringan. Pengontrol akan beralih ke mode utama. Sekarang pengontrol mempertahankan suhu pemoleng dekat suhu preset. Saat pemoleng digunakan secara intensif, suhu dapat sedikit menyimpang dari presetnya.
Dalam mode utama tampilan menunjukkan informasi berikut:
Suhu preset di sisi kiri baris atas (dalam satuan yang dipilih - Celsius atau Fahrenheit)
Pesan 'ON' di sisi kanan baris atas yang menunjukkan bahwa pemoleng menyala dan masih memanas. Saat pemoleng mencapai suhu preset, pesan 'rdy ' (siap) akan ditampilkan;
Suhu saat ini pemoleng ditampilkan di sisi kiri baris kedua;
Daya yang disuplai ke pemoleng (dalam persen dari daya maksimum yang diizinkan) ditampilkan di sisi kanan layar;
Dengan memutar encoder Anda dapat mengubah suhu preset. Pesan 'ON' akan ditampilkan lagi sampai pemoleng mencapai suhu preset baru. Untuk kembali ke mode standby, tekan tongkat encoder dengan ringan.
Dalam mode utama, pengontrol memeriksa apakah pemoleng bekerja dengan baik. Jika dalam 10 detik dari mulai suhu tidak berubah, pengontrol akan mematikan daya dan pesan 'Failed ' akan ditampilkan pada layar. Dalam hal ini, tekan tombol encoder dengan ringan untuk kembali ke mode standby.
Mode daya dapat dihidupkan dengan menekan lama encoder saat berada dalam mode utama. Dalam mode daya, Anda dapat menyesuaikan daya yang disuplai ke pemoleng secara manual dengan memutar encoder. Dalam mode daya layar menunjukkan daya yang disuplai ke pemoleng dalam unit internal dan suhu pemoleng dalam unit yang dapat dibaca manusia. Tekan ringan encoder mengalihkan on-off daya dalam mode daya. Tekan lama tongkat encoder rotary akan mengembalikan pengontrol dari mode daya ke mode utama.
Untuk masuk ke mode setup, tekan lama encoder dalam mode standby. Dalam mode setup parameter konfigurasi dapat disesuaikan. Ada 7 entri menu dalam mode ini:
batas waktu pemadaman otomatis (dalam menit)
satuan suhu (Celsius atau Fahrenheit)
kalibrasi pemoleng ('calib.')
prosedur pengaturan awal ('tune')
simpan perubahan
batalkan perubahan
kembalikan nilai default
Putar tongkat untuk memilih item menu. Untuk mengubah item yang dipilih, tekan ringan tongkat encoder. Setelah menyesuaikan parameter, tekan tongkat lagi untuk kembali ke menu setup. Tekan lama tongkat encoder dapat digunakan untuk kembali ke mode standby dan menyimpan parameter dalam EEPROM.
tips: Anda harus memuat parameter default sebelum penggunaan pertama pengontrol atau setelah rilis perangkat lunak minor baru di-flash.
Skematis Pembacaan Sensor
Skematis pembacaan sensor pengontrol ini tergantung pada jenis sensor termal pemoleng: termistor atau termokopel. Keduanya digabungkan dalam satu gambar di bawah ini.
Dalam kedua skematis, penguat operasional yang akurat MCP602 yang menerapkan teknologi rail-to-rail digunakan. Penguat ini secara signifikan meningkatkan akurasi pembacaan suhu dan menghasilkan tegangan hampir penuh yang disuplai ke pin output. Jadi interval pembacaan pada pin A0 adalah 0-1023. Anda dapat mengganti penguat mcp602 dengan analognya. Dengan menggunakan penguat operasional yang akurat, pengontrol dapat mempertahankan suhu pemoleng dalam interval yang lebih kecil.
Dalam varian termokopel dari tongkat pemoleng, kedua jumper JP1 dan JP2 harus terbuka dan harus ditutup dalam hal tongkat termistor.
Jika tongkat pemoleng menerapkan termistor, resistansi sensor meningkat dari sekitar 50 Ohm ketika dingin hingga sekitar 200 Ohm ketika suhu pemoleng mencapai 400 derajat Celsius. Jika tongkat pemoleng menerapkan termokopel, tegangan yang dihasilkan meningkat dari nol pada suhu lingkungan hingga 9 mV ketika pemoleng mencapai 400 derajat Celsius. Dalam setiap kasus, tongkat pemoleng lain dapat memiliki parameter yang berbeda, jadi saya memutuskan untuk menggunakan potensiometer multi-turn untuk menyesuaikan penguat MCP602. Untuk pertama kalinya potensiometer ini harus disetel dengan cara berikut: ketika pemoleng 400 derajat Celsius, tegangan output harus menjadi sekitar 5 volt (bacaan pin A0 pada Arduino sekitar 900). Untuk menyederhanakan prosedur pengaturan awal pengontrol, mode tune diterapkan dalam perangkat lunak pengontrol. Mode tune dapat dijalankan dari menu pengaturan.
Pengaturan Awal Pengontrol
Anda membutuhkan termometer eksternal untuk mengkalibrasi pengontrol. Jangan lupa untuk memuat parameter default pengontrol dari menu setup.
Dalam sketsa program diasumsikan bahwa interval suhu kerja pemoleng adalah 180 - 400 derajat Celsius. Anda dapat mengubah interval ini dengan mengedit konstanta dalam sketsa program sebelum Anda berencana untuk menyesuaikan pengontrol.
Potensiometer multi-turn 500k harus disesuaikan untuk mendapatkan penguat operasional sinyal yang benar dari pemoleng. Untuk menyederhanakan prosedur pengaturan awal pengontrol, mode tune diterapkan.
Pilih item menu 'tune' dari menu setup. Pemoleng mulai memanas. Pengontrol menampilkan pembacaan suhu dari pin A0 dalam unit internal (0-1023) dalam mode ini. Dengan memutar encoder Anda dapat menyesuaikan daya untuk mempertahankan suhu pemoleng 400 derajat Celsius (gunakan termometer eksternal). Pada awalnya Anda dapat meningkatkan daya yang disuplai ke nilai maksimum untuk mempercepat pemanasan pemoleng, kemudian turunkan daya untuk mempertahankan suhu pada 400 derajat. Sekarang putar tongkat potensiometer multi-turn untuk mendapatkan pembacaan sensor dekat 900. Pastikan pembacaan ini bukan yang maksimum, putar register variabel dan dapatkan 930-950, lalu kembali ke 900. Ini penting karena pengontrol harus dapat mengukur suhu lebih besar dari 400 derajat Celsius.
Setelah register variabel disesuaikan, tekan dan tahan tongkat encoder selama sekitar 2 detik. Prosedur pengaturan awal sekarang selesai.
Pemanas Pemoleng
Fitur utama dari generasi kedua pengontrol adalah sinyal PWM frekuensi tinggi yang digunakan untuk memanaskan pemoleng. Sayangnya, mengelola sinyal frekuensi tinggi pada transistor MOSFET membutuhkan elemen tambahan dalam skematis. Thread forum ini menjelaskan masalahnya secara rinci. Singkatnya, MOSFET memiliki kapasitansi pada gate yang membutuhkan waktu untuk diisi atau diosongkan. Untuk meningkatkan kecepatan MOSFET (irfz44n), pengemudi dua-transistor diterapkan pada transistor bipolar. Anda dapat menggunakan pasangan transistor bipolar lain.
Dioda Zener (D2, 15V) digunakan untuk membatasi tegangan Gate (Vgs) MOSFET saat terbuka karena tegangan sumber daya lebih tinggi dari nilai maksimum mosfet vgs. Dioda FR107 menghapus daya dari pemoleng saat MOSFET tertutup. Anda dapat mengganti dioda ini dengan yang lain, tetapi Anda harus menggunakan dioda pemulihan cepat.
Resistansi elemen pemanas pemoleng yang dingin sangat rendah dan beberapa sumber daya laptop dapat menolak untuk bekerja. Pengontrol hanya akan reset dan pemoleng tetap dingin dalam hal ini. Untuk menghindari situasi ini, kapasitor 1000uF diterapkan tepat setelah input 24v (lihat skematis lengkap pengontrol).
Kalibrasi Pemoleng
Pengontrol membaca suhu dalam unit internal (0-1023) dengan membaca tegangan pada pin A0 Arduino. Nyaman bagi kita untuk menggunakan satuan yang dapat dibaca manusia seperti derajat Celsius atau Fahrenheit. Pengontrol memiliki parameter default yang memungkinkan terjemahan pembacaan suhu internal ke satuan yang dapat dibaca manusia. Namun pemoleng mungkin berbeda jadi prosedur kalibrasi diterapkan dalam pengontrol. Ada tiga titik referensi untuk kalibrasi pemoleng: 200, 300 dan 400 derajat Celsius. Pengontrol menyimpan pembacaan internal untuk ketiga titik referensi ini dan menggunakannya untuk mengonversi suhu dari pembacaan internal ke nilai yang dapat dibaca manusia.
Pilih item menu 'calib.' dari menu setup untuk memulai proses kalibrasi. Pilih titik kalibrasi yang diinginkan dari daftar menu (200, 300 atau 400) dan nyalakan pemoleng dengan menekan tongkat encoder. Pemoleng mulai memanas. Algoritma PID memungkinkan mencapai suhu yang diinginkan dalam waktu singkat. Saat suhu titik referensi tercapai, pengontrol 'beep' menunjukkan siap untuk memeriksa suhu dengan sensor eksternal. Tunggu sebentar agar suhu stabil lalu periksa suhu sebenarnya pemoleng dengan sensor eksternal (termokopel). Kemudian, putar tongkat encoder rotary dan pilih suhu sebenarnya pemoleng. Tekan tongkat encoder dengan ringan. Pengontrol menyimpan suhu sebenarnya untuk titik referensi. Pilih suhu referensi berikutnya dan ulangi proses. Anda dapat mengkalibrasi suhu referensi sekali lagi dengan memilih titik referensi yang diinginkan. Anda dapat menyiapkan titik referensi berapa kali pun. Setiap kali Anda menyimpan suhu sebenarnya untuk titik referensi, pengontrol memperbarui rumus terjemahan. Ini memungkinkan Anda untuk mengkalibrasi pemoleng lebih akurat. Setelah Anda selesai kalibrasi, tekan lama tongkat encoder rotary. Sekarang pengontrol menyimpan nilai baru untuk semua suhu referensi yang Anda pilih.
Fitur Pemadaman Otomatis
Fitur pemadaman otomatis telah diterapkan dalam generasi kedua pengontrol. Ini adalah tantangan besar karena tongkat pemoleng tidak memiliki sensor guncangan atau cara lain untuk memverifikasi dengan benar apakah pemoleng sedang digunakan atau hanya diletakkan di meja. Ide utama adalah menggunakan nilai daya yang disuplai ke pemoleng. Dalam keadaan idle, pengontrol menurunkan daya ke nilai minimum untuk mempertahankan suhu preset. Sayangnya, dispersi matematis suhu dan daya yang disuplai tidak konstan dalam keadaan idle dan dapat secara berkala menyimpang. Dengan menyesuaikan parameter algoritma PID, saya telah menstabilkan pembacaan dan meminimalkan kedua dispersinya. Sekarang pengontrol dalam keadaan idle mempertahankan dispersi suhu semakin rendah mungkin. Kriteria penggunaan pemoleng adalah daya telah meningkat sedikit dari nilai terkecil yang tercatat. Algoritma ini telah diuji untuk sementara waktu dan terbukti dapat digunakan untuk fitur pemadaman otomatis.
Solusi ini tidak terlalu andal jadi Anda dapat menonaktifkan fitur ini jika ada yang salah. Juga, sketsa berisi kelas untuk debug dan menyesuaikan parameter PID secara manual.
Anda dapat menerapkan tongkat pemoleng lain dalam versi pengontrol Anda, tongkat dapat memiliki sensor guncangan atau serupa untuk dengan pasti membedakan keadaan idle.
Sketsa untuk Tampilan 1602
Ada beberapa kesulitan untuk mendapatkan tampilan 0802 di beberapa negara. Jadi sketsa lain dirilis untuk mendukung tampilan 1602. Sketsa tersedia dalam distribusi github. Atau Anda dapat menggunakan proyek brilian lain dari Manoj, yang membuat skematis di editor Eagle dan membuat PCB untuk menyederhanakan proses soldering.
Tentang Terjemahan Suhu dan Berbagai Jenis Sensor
Untuk menampilkan suhu dalam satuan yang dapat dibaca manusia (Celsius atau Fahrenheit) IRON_CFG::tempHuman() diterapkan dalam sketsa. Seperti yang disebutkan di atas, pengontrol membaca suhu pemoleng dalam unit internal (tegangan pada pin analog A0). Prosedur kalibrasi memungkinkan pengukuran suhu sebenarnya sekitar tiga titik referensi (200, 300 dan 400 derajat Celsius). Metode yang disebutkan (tempHuman()) menggunakan interpolasi linier suhu menggunakan dua titik referensi yang lebih rendah dan lebih tinggi dari pembacaan suhu pemoleng saat ini. Namun, ada satu titik yang belum dikalibrasi: suhu lingkungan. Saat suhu pemoleng di bawah 200 derajat Celsius, pengontrol menginterpolasi suhu aktual dengan dua titik: suhu lingkungan dan 200 derajat. Suhu lingkungan didefinisikan pada baris #244 dan #245 sketsa. Nilai ini dapat disesuaikan dengan kasus Anda sendiri. Seperti yang Anda lihat, nilai ini mengasumsikan bahwa Anda menggunakan termistor sebagai sensor suhu pemoleng (suhu lingkungan adalah 350 dalam unit internal). Tentu, jika Anda menggunakan pemoleng dengan termokopel, Anda akan mengubah nilai ini menjadi 0.
Kesimpulan
Itu adalah kegembiraan besar untuk menggunakan pemoleng yang dikontrol. Ini memanas dengan cepat dan mempertahankan suhu yang sesuai untuk situasi. Versi ini diam.