Dia hidup bahagia selamanya ... dan kemudian putus.Prolog
Selama setahun, tampaknya pada tahun 2009, alat analisis air dibeli untuk satu proyek. Karena fakta bahwa itu seharusnya digunakan untuk memastikan pengoperasian peralatan teknologi, perangkat dibeli lengkap dengan autosampler.

Ini pada dasarnya adalah manipulator CNC dengan empat derajat kebebasan bergerak untuk secara otomatis memasukkan sampel ke penganalisa.
Dia bekerja selama sekitar 10 tahun dan mengajukan lebih dari tiga puluh ribu sampel dengan beberapa masalah kecil, yang, bagaimanapun, diatasi dengan "sedikit darah."
Pada awal tahun ini dia lelah - sumbu Z gagal, gerakan vertikal.
Artinya, manipulator hanya berhenti "melihatnya". Mengingat sejumlah keadaan pemeliharaan resmi, kompleks pengukuran tidak pernah memiliki masalah kecil (perbaikan PSU, berkedip setelah kegagalan FLASH) diselesaikan secara independen. Di sini saya sudah harus mencari pejabat, dari siapa ternyata ... Beberapa fitur:
- ternyata si manipulator bukan hanya tua, tapi juga sangat tua
- dia sudah tua dan tidak melanjutkan pembelian
- tidak ada dokumentasi untuk itu
- semua elektronik harus diubah
- bagian tersedia tetapi biaya lebih dari yang baru
- tidak ada jaminan seratus persen bahwa dengan penggantian itu akan berfungsi
Beberapa fitur yang saya kenal:
- firmware pabrikan tidak berfungsi dengan penganalisis (ada baiknya cadangan dibuat),
- bootloader juga tampaknya berubah, karena firmware pabrik "sebagaimana adanya" tidak diterima
- tidak ada cara untuk "merombak" bootloader, jadi membeli barang elektronik seharga $ 6k tidak berguna
- mekanik berada dalam kondisi sangat baik, karena saya secara berkala dilayani
- Sensor Zero (Hall) hidup
Jadi, dua opsi ternyata:
- membeli analisa baru dari produsen seharga $ 17k dan waktu pengiriman yang tidak bisa dipahami
- membuat ulang semua program elektronik dan penulisan
Bagian Satu, perangkat keras
Untuk memulainya, saya memutuskan untuk memastikan bahwa mekaniknya bekerja pada tegangan 12v (dibandingkan 37 pada aslinya). Memutuskan untuk menurunkan karena fakta bahwa kekuatan setengah-kontrol drive kontrol gigi lumayan hangat. Oleh karena itu, driver A4988, papan nama CNC dan Arduino NANO ditarik keluar dari nakas. semua ini merapat, diingat oleh proyek GRBL yang terkenal dan diinterogasi dengan bias. Frekuensi loncatan maksimum diperoleh untuk setiap drive, koefisien pembagian langkah, arus driver disesuaikan.
Ternyata XY tidak memanas sama sekali, dan mereka memberikan kecepatan yang sangat cocok. Arus untuk drive Z - harus dikacaukan secara maksimal, karena pembagian dengan 8 dan konsumsi yang layak ketika mulai bergerak ke atas, karena menarik sejumlah besar dua drive motor dan isi perut, sementara chip driver menghangat hingga 50 derajat bahkan dengan radiator. Saya harus menambahkan pendingin ke blower di depan drive ini dalam desain akhir.
Pada akhirnya, sebagai gantinya

ternyata

Arduino Pro Micro akan menjadi lagu yang terpisah. Di latar belakang adalah panel dengan sakelar sakelar untuk memilih mode operasi, mulai dan reset tombol.
Sekarang tentang babat. Seperti yang saya katakan, semua sensor Hall selamat. Dari jumlah tersebut, XY hanya menarik untuk logika pemicu yang berbeda. Jika pada Y sensor membuka OK ketika mendekati magnet, maka pada X magnet secara konstan berlawanan dengan sensor, dan di Zero-X dan lebih jauh di antara mereka ada rana lembut magnetis yang melindungi sensor dari magnet, sementara itu menutup OK. Mengingat heterogenitas ini, ada kebutuhan untuk memahami ke mana harus pergi ketika mencari nol. Untuk melakukan ini, desain asli menyediakan posisi parkir di akhir pekerjaan. Namun, itu tidak diterapkan sama sekali: ketika daya dimatikan, saya harus menangkap kepala saya pada sumbu Z dengan tangan saya dan secara manual meneruskannya ke posisi parkir.
Tentang Z adalah cerita utama. Di sana, dalam kasus Z, drive pendorong jarum suntik masih hidup, tanpa sensor nol, tetapi dengan sensor putaran ganda - hampir merupakan enkoder. Dan ada juga sensor untuk menekan vial dengan kerusakan, diimplementasikan oleh heliks gear dan juga sensor Hall. Kedua sensor rotasi ini adalah gigi kuningan yang lewat dengan gigi melewati sensor Hall dengan magnetisasi.
Mengapa saya memerlukan encoder magnetik (sebagai bagian dari tugas pribadi saya) saya tidak mengerti, dan karenanya menggantinya dengan sensor nol untuk drive pendorong, karena Aula ada di sana, di nakas, serta magnet neodymium kecil dari drive lensa DVD.
Sebaliknya

Itu menjadi

Masalah utama dari mematung besi adalah menjejalkan, yah, Anda sendiri mengerti. Saya benar-benar tidak ingin menyimpan sesuatu di kotak yang terpisah, sebagai hasilnya, semuanya sesuai dengan tempat yang dimaksudkan untuk ini, tetapi sekarang saya akan melakukannya sedikit berbeda.
Bagian dua, perangkat lunakTes pada papan nama CNC menunjukkan kecepatan yang layak. TAPI! Jika Anda mencoba untuk menawarkan SD segera frekuensi LANGKAH yang sesuai dengan kecepatan ini, maka Anda tidak akan mendapatkan apa-apa selain menggeram. Untuk mencapai kecepatan gerakan yang baik, motor stepper harus dipercepat, sama seperti jika Anda menghargai roda gigi dan menggerakkan rel (baik, atau gerobak, atau sabuk) kemudian memperlambatnya dengan lancar. Karena kode sepele telah berkembang sedikit.
Karena hampir tidak senonoh untuk datang ke bagian "Robotika" dengan artikel tanpa kode, misalnya, kendalikan kontrol Z (untuk disalahkan). Saat mengeluarkan frekuensi ke LANGKAH, digitalWrite tidak punya waktu, Anda harus menarik port secara langsung. Itu mungkin ditunda, dan ditunda, tetapi kode berasal dari kontrol XY, dan simultan diperlukan di sana.
Dalam set level fungsi:
- rendah - bolak-balik, temukan sesuatu-tidak-tahu-apa
- kalibrasi sedang ke nol, buat jarum suntik, buat sampel
- diagram siklus tinggi dari bypass jumlah vial pada palet
Program dimulai dengan menginisialisasi port, membaca konfigurasi yang ditentukan dari sakelar pada panel belakang dan, setelah menekan MULAI, kerjakan diagram urutan sampai posisi pada palet ditemukan di mana tidak ada botol dengan sampel.
Diagram urutan utama terlihat seperti ini:
inline void frame_1(){ for (unsigned int i=0; i<6; i++){
Atavisme dalam bentuk outputing informasi debugging ke Serial tetap dalam kode - kiri untuk perbaikan di masa depan. satu sudah hampir matang, punya jarum suntik analitis untuk empat kali volume, Anda harus menambahkan pilihan lain di awal.

Masalah utama dalam mengkompilasi program adalah bahwa dalam aslinya, alat analisa memberikan autosampler ke mana harus pergi dan apa yang harus dilakukan. Semua ini terjadi melalui port COM dan protokol, yang tidak bisa diambil. Karena saya harus keluar.
Alat analisis ini memiliki mode manual untuk mereka yang belum membeli autosampler
tupai . Pada saat yang sama, tombol gelap "sampel siap" muncul pada layar penganalisa dan, ketika operator ditikam, ia harus menusuknya dengan mouse (pelacak pada panel penganalisa). Ketika pengukuran selesai, tombol "mulai pembilasan" yang gelap muncul dan, jika operator memiliki sampel lain, ia menekannya dengan mouse untuk menyiapkan alat analisa untuk pengukuran selanjutnya. Setelah klik mouse, tombol menghilang dan bidang putih (cerah) tetap ada. Saya memutuskan untuk menangkap perbedaan kecerahan ini dengan sensor foto. Saya memeriksa tampilan tombol gelap dengan photoresistor yang direkatkan ke dalam cangkir hisap. Saya tidak menemukan cangkir hisap hitam, dan ketika matahari keluar jendela, saya harus menutupi sensor tombol dengan sesuatu.

Tetapi Anda harus mengklik sesuatu? Untungnya, penganalisa memiliki port USB dan pembotolan RedHat yang tidak disunat dari awal tahun 2000 untuk menghubungkan secara otomatis ke port ini. Ini untuk meniru mouse pada papan utama baru autosampler yang disandang Arduino Pro Micro. itu menerima PIN dari NANO saat analisa perlu diklik. Itu terlalu malas untuk menulis gerakan, karena sebelum mulai bekerja, mouse harus diatur pada tombol di muka.
O KEBENARAN, yang dibebani dengan pengalaman, saya melepaskan bagian mouse dari galvanic manajerial lainnya, optron murah. KARENA pada akhir hari kedua debugging in kind, ketika semuanya sudah bekerja dan saya mengatur pager untuk mengirimkan suara yang mirip dengan yang asli, salah satu driver merilis asap ajaib dan menghubungkan bagian daya 12v ke yang logis 5v. Yah, tidak ada, setengah hari menggantinya dengan satu diekstraksi dari meja samping tempat tidur tanpa dasar bukanlah perbaikan analisa $ 100k. Benar, kemudian ternyata bahwa PSU REXANT baru yang dibeli alih-alih rumah yang terlupakan di beberapa titik mulai menghasilkan hampir 50 bukannya 12v, yang menyebabkan penundaan yang disayangkan.
Bagian Tiga, Uji Kalibrasi dan KeandalanSetelah perakitan dan debugging awal, masalah penghitungan posisi oleh lokasi botol yang sebenarnya muncul. Saya harus membuat keyboard dan menulis antarmuka sederhana untuk seri ini. Tidak ada port yang tersisa, tetapi untuk pin kasus yang paling ekstrim yang bertanggung jawab untuk i2c disimpan. Mereka akan digantung pada PCF8574 fender extender dengan tombol mikro yang terselip di atas, yang dapat digunakan untuk memindahkan XY, memilih pengganda langkah untuk mempercepat proses dan mengubah XY ke ZP. Setelah setiap klik dalam seri menampilkan posisi baru. Berkat teknik sederhana ini, dimungkinkan untuk secara cepat dan akurat mendapatkan semua koordinat dan peningkatan saat ini. Di luar prosedur kalibrasi, selektor mode berganti dan tombol untuk memicu cyclogram terhubung ke input expander. Dalam video, kira-kira di tengah, kedua tombol dan sakelar sakelar terlihat.
Jarum suntik untuk memberi makan sampel tidak murah - $ 100 masing-masing. Kesalahan dalam penentuan posisi menyebabkan jarum bengkok dan jarum suntik yang tidak dapat ditarik kembali. Oleh karena itu, jarum suntik yang rusak dimasukkan dengan jarum jahit yang direkatkan dan peralatan diirik selama hampir setengah hari pada empat titik pada selembar kertas untuk mengidentifikasi dugaan kegagalan posisi. Tetapi mereka tidak ada di sana, saya bahkan terkejut. Namun, karena ada cukup waktu antara sampel menusuk dan merekrut yang baru, saya menggunakannya untuk mencari nol, untuk berjaga-jaga. Dalam video, momen ini terlihat lebih dekat ke akhir video.
Epilog
Secara umum, itu lebih cenderung berhasil. Dua minggu berlalu dari pemahaman keputusasaan ke transfer ke produksi. Dioperasikan sejak akhir Mei, menghasilkan hingga 200 pengukuran per hari. Kolega yang bertanggung jawab atas pengambilan sampel dan pengukuran tidak mengeluh.
Ceri untuk kue adalah fitur baru yang tidak ada dalam aslinya. Kemampuan untuk menavigasi XY secara bersamaan Kemampuan untuk menggandakan pin sampel, yang meningkatkan sensitivitas penganalisa pada konsentrasi yang sangat rendah dari bahan yang diukur dalam sampel. Parkir otomatis setelah pengukuran.
PostScriptum
Atas permintaan mereka yang tertarik, video.