Artikel ini menjelaskan desain lengkap tingkat semangat untuk tunanetra. Alat ini menggunakan akselerometer ADXL312 untuk mengukur gaya gravitasi di bidang horizontal dan vertikal dan membunyikan bel saat akselerometer benar-benar horizontal atau vertikal.
Ini juga dapat digunakan sebagai sensor kemiringan untuk menaikkan level, katakanlah, trailer dalam aplikasi otomotif di mana level spirit mungkin berada di tempat yang jauh dari roda joki. Ini juga memiliki kegunaan sebagai subsirkuit dalam sistem stabilitas otomotif atau drone.
Pengantar
Amar Latif menyebabkan kehebohan di dunia kuliner Inggris setelah muncul di Celebrity MasterChef . Namun, Amar tidak hanya pandai memasak, ia juga menjalankan perusahaan perjalanannya sendiri, seorang pembicara motivasi, telah melakukan perjalanan melintasi sebagian besar Amerika Selatan, dan juga seorang tokoh TV. Apakah kekuatan super pria ini tidak ada habisnya?
Sayangnya, ada. Amar adalah 95% buta. Seiring dengan kemajuan teknologi dan dunia berjuang untuk mengikutinya, bagi penyandang tunanetra, pertempuran menjadi lebih sulit. Sebagian besar kemajuan teknologi mengharuskan kita menghabiskan lebih banyak waktu di depan layar. Untuk tunanetra, waktu layar yang berlebihan tetap menjadi "jika saja".
Jika teknologi dapat digunakan untuk memperkaya kehidupan mereka yang memiliki gangguan penglihatan, ini hanya akan menjadi hal yang baik. Dengan hanya 18% dari populasi buta terdaftar yang benar-benar buta (atau "buta hitam"), ini membuat sebagian besar setidaknya memiliki beberapa penglihatan bahkan jika mereka tidak dapat membedakan detail. Dengan demikian, gagasan tentang tingkat semangat untuk orang buta lahir.
Garis Besar Desain
Desain sensor kemiringan didasarkan pada ADXL312, yang merupakan akselerometer arus rendah yang dapat mengukur hingga ±1,5 g di sumbu x, y, dan z dengan data dibacakan melalui bus SPI. Komponen ini tersedia dalam kemasan 5 mm × 5 mm dan mengkonsumsi 0,1 A dalam mode siaga. Ini mengukur resolusi 10-bit, sehingga ADXL312 dapat mendeteksi perubahan serendah ±2,9 mg di setiap sumbu. ADXL312 menyimpan data gravitasi untuk setiap sumbu sebagai nilai pelengkap dua hingga ±511, yang dibaca dan ditampilkan oleh mikrokontroler pada layar LCD 16 karakter satu baris. Gambar 1 menunjukkan sumbu penginderaan ADXL312.
klik untuk gambar ukuran penuh
Gambar 1. Sensing axis ADXL312. (Sumber:Perangkat Analog)
Bagian ini memiliki pembacaan skala penuh pada 1,5 g , jadi gaya gravitasi 1 g memberikan pembacaan
2/3 ini. Oleh karena itu, jika ADXL312 sama persis, register sumbu z harus membaca
2/3 skala penuh, sedangkan sumbu x dan y harus membaca nol. Demikian pula, ketika ADXL312 vertikal sempurna, pembacaan sumbu x harus
2/3 skala penuh, sedangkan sumbu y dan z harus membaca nol. Jika ADXL312 mulai miring dari sumbu mana pun, pembacaan maksimum mulai berkurang sementara pembacaan pada sumbu lain mulai meningkat, sesuai dengan sinus sudut kemiringan.
Di dalam ADXL312
ADXL312 adalah sistem mikroelektromekanis (MEMS) yang terdiri dari struktur mikromesin permukaan polisilikon yang dibangun di atas wafer silikon. Pegas polisilikon menahan struktur di atas permukaan wafer dan memberikan ketahanan terhadap gaya akselerasi.
Jari silikon tetap disisipkan dengan jari pada massa bukti yang bergerak untuk membuat kapasitor diferensial yang karakteristiknya dapat diukur. Percepatan membelokkan sinar dan ketidakseimbangan kapasitor diferensial, menghasilkan keluaran sensor yang amplitudonya sebanding dengan percepatan. Strukturnya ditunjukkan pada Gambar 2.
klik untuk gambar ukuran penuh
Gambar 2. Cara kerja internal ADXL312. (Sumber:Perangkat Analog)
ADXL312 dapat ditangani menggunakan I
2
C atau SPI, dan data x, y, dan z disimpan dalam enam register internal 8-bit. Ia juga memiliki banyak fitur lain termasuk FIFO 32-level, dua interupsi multifungsi, register offset, swa-uji mekanis, dan mode auto-sleep.
Desain Tingkat Roh
Diagram rangkaian lengkap dari sensor kemiringan ditunjukkan pada Gambar 3.
ADXL312 memiliki tegangan suplai maksimum 3,6 V, sedangkan layar LCD dan buzzer membutuhkan 5 V, jadi input utama ke rangkaian adalah 5 V, dan ini diatur ke bawah menggunakan regulator linier 3,3 V, 150 mA (ADP121) untuk menyalakan ADXL312, mikrokontroler, dan memori E2.
Port B, Pin 2 (pin CAL) pada mikrokontroler ditarik tinggi oleh resistor 10 kΩ. Ini juga memiliki jumper yang memungkinkannya terhubung ke ground. Saat startup, mikrokontroler menginterogasi status pin CAL, dan jika pin ini ditarik rendah oleh jumper, ia membaca register x, y, dan z, mengurangi pembacaan ini dari nol, kemudian memuat hasilnya ke register offset di dalamnya. ADXL312 serta menyimpannya di memori E2 eksternal, 25AA040. ADXL312 secara otomatis menambahkan pembacaan dari register offset ke pengukuran di masa mendatang tanpa interaksi prosesor, sehingga menghapus offset yang dikalibrasi.
Jika jumper dilepas, pin CAL ditarik tinggi dan rutinitas kalibrasi dilewati. Pembacaan offset dibaca langsung dari memori E2 dan dimuat ke register offset ADXL312. Jadi, selama pembuatan level spirit dapat dipasang di jig kalibrasi dengan pin CAL ditahan rendah, perangkat dapat dikalibrasi, dan nilai offset disimpan dalam memori E2. Setelah kalibrasi, jumper dilepas dan pada power-up berikutnya, memori E2 diinterogasi dan pembacaan offset yang dikalibrasi dimuat ke register offset ADXL312.
Perangkat lunak kemudian melakukan delapan pembacaan setiap sumbu, dan hasilnya dirata-ratakan kemudian ditampilkan pada layar LCD 16 karakter. Tampilan diperbarui setiap 100 md.
klik untuk gambar ukuran penuh
Gambar 3. Skema lengkap tingkat semangat untuk tunanetra. (Sumber:Perangkat Analog)
Gambar 4 menunjukkan bahwa sensitivitas maksimum dicapai ketika setiap sensor mendekati pembacaan nol. Di sinilah kemiringan gelombang sinus paling curam, sehingga memberikan perubahan maksimum dalam pembacaan gravitasi untuk setiap perubahan kemiringan.
Gambar 4. Menunjukkan perubahan sinusoidal gaya g dengan sudut. (Sumber:Perangkat Analog)
Untungnya level spirit hanya perlu mengukur kemiringan saat setiap sensor benar-benar horizontal dan pembacaan sensor mendekati nol.
Perangkat lunak ini ditulis untuk memungkinkan sumbu x dan z dikalibrasi sekaligus. Mudah untuk menempatkan bagian pada platform horizontal dan mengkalibrasi sumbu x dari sensor kemiringan. Namun, pada titik ini sumbu z akan mengalami gaya sebesar 1 g , jadi pembacaan z perlu dilakukan, dibandingkan dengan penghitungan skala penuh pada 1 g , dan kesalahan apa pun yang dimuat ke register offset. Kalibrasi yang lebih akurat dari setiap sumbu sensor kemiringan dapat dicapai dengan mengkalibrasi pada bidang horizontal dan vertikal, tetapi ini memerlukan kalibrasi 2 tahap dan modifikasi perangkat lunak.
Tabel 1 menunjukkan contoh data komplemen dua. Bilangan positif mengikuti notasi biner konvensional. Angka negatif menggunakan bit paling signifikan (MSB) sebagai bit tanda; dengan demikian, angka positif memiliki MSB sama dengan nol, dan angka negatif memiliki MSB sama dengan 1.
Komplemen dua bilangan positif dapat ditemukan dengan membalik semua bit, kemudian menambahkan 1. Jadi, kode berubah dari 00 0000 0000 menjadi 11 1111 1111 ketika transisi dari hitungan nol ke hitungan -1.
Perangkat lunak membaca register x dan z dan, jika nilai register adalah 0 atau 1023 (11 1111 1111), ia menetapkan Port B, Bit 5 tinggi, yang menyalakan transistor Q1 dan membunyikan bel 5 V. Ketika sensor kemiringan benar-benar horizontal, sumbu x memiliki pembacaan 0 atau 1023 dan ketika vertikal sempurna, sumbu z memiliki pembacaan 0 atau 1023. Hanya ketika kedua register tidak sama dengan 0 atau 1023 tidak bel berhenti berbunyi.
Akurasi dan Perkembangan Lebih Lanjut
Mengingat hanya satu sumbu, pembacaan maksimum 1 g dicapai ketika gravitasi bekerja di sepanjang sumbu itu, dan pembacaan ini berkurang menjadi 0 g saat bagian dimiringkan hingga 90° seperti yang ditunjukkan pada Gambar 5.
Gambar 5. Menghitung sudut kemiringan menggunakan pembacaan gravitasi. (Sumber:Perangkat Analog)
Jadi, gaya gravitasi yang diberikan ditentukan oleh persamaan
di mana adalah sudut kemiringan yang diukur terhadap horizontal. Jika bagian tersebut dapat mengukur resolusi 2,9 mg , maka dapat diselesaikan hingga sudut 0,17°. Sulit untuk menentukan angka keakuratan level spirit gelembung standar, karena posisi pasti dari gelembung sulit ditentukan. Namun, dari eksperimen, ujung level spirit 1,2 m dapat bergerak sekitar 3,2 mm (lebar dua PCB kosong!) sebelum gelembung terlihat tidak berada di tengah. Ini sama dengan sudut sekitar 0,15°, yang menunjukkan bahwa kita dapat mengganti bubble spirit level dengan sensor kemiringan elektronik dengan sedikit kehilangan resolusi.
Jika akurasi lebih diperlukan, ADXL313 menawarkan resolusi 11-bit pada skala 1 g. Antarmuka dan set register sangat mirip dengan ADXL312, sehingga perangkat lunak tidak memerlukan banyak modifikasi. ADXL355 menawarkan noise yang jauh lebih rendah dan resolusi yang lebih tinggi.
ADXL312 memiliki kepadatan kebisingan 340 g /√Hz, dan semakin rendah bandwidth, semakin baik noise. Bandwidth bagian dapat diprogram (dari 3,125 Hz hingga 1600 Hz dengan pengaturan default ke 50 Hz). Meskipun mengurangi bandwidth meningkatkan noise, ini juga akan mengurangi kecepatan pembaruan tampilan. Untuk desain ini, bandwidth disetel ke 6,25 Hz, yang menyiratkan noise rms sebesar 850 g . Kebisingan juga dapat dikurangi dengan mengambil lebih banyak bacaan dan membuat rata-ratanya.
Perbaikan lebih lanjut adalah memiliki pembacaan LCD yang menunjukkan derajat. Namun, ini memerlukan penggunaan fungsi matematika di pustaka C jika sinus dan kosinus akan disertakan dalam perangkat lunak. Fungsi-fungsi ini menempati terlalu banyak ruang kode untuk mikrokontroler kelas bawah. Pendekatan yang mendekati fungsi sinus dapat dicapai dengan menggunakan ekspansi deret Taylor, dan ini akan menempati ruang kode yang jauh lebih sedikit.
Kesimpulan
ADXL312 menyediakan sistem pengukuran kemiringan elektronik berbiaya rendah yang mudah dihubungkan ke mikrokontroler kelas bawah. Desain yang dijelaskan sebelumnya telah membuktikan bahwa itu dapat menyaingi akurasi level gelembung gelembung konvensional, tetapi dengan antarmuka elektronik. Hal ini memungkinkannya untuk digunakan sebagai subsistem dalam desain yang lebih besar yang perlu mengukur kemiringan, seperti sistem perataan trailer, sistem kontrol stabilitas, dan drone.
Lebih penting lagi, ini dapat digunakan untuk meningkatkan kemandirian tunanetra, dan teks ini menunjukkan desain tingkat sistem yang lengkap termasuk perangkat keras, perangkat lunak, dan memori non-volatil, serta output audio dan visual.
Simon Bramble lulus dari Brunel University di London pada tahun 1991 dengan gelar di bidang teknik elektro dan elektronik, dengan spesialisasi elektronik analog dan daya. Dia telah menghabiskan karirnya di elektronik analog dan bekerja di Linear Technology (sekarang bagian dari Analog Devices). Dia dapat dihubungi di [email protected] .