ams AS5048 14-bit Rotary Position Sensor dengan Sudut Digital dan Output PWM
Maklumat Produk
AS5048 ialah penderia kedudukan berputar 14-bit dengan sudut digital (antara muka) dan output PWM. Ia direka oleh Kumpulan ams OSRAM dan diterbitkan oleh Arrow.com. Penderia digunakan untuk mengukur kedudukan objek berputar dan menyediakan ukuran sudut yang tepat.
Papan penyesuai AS5048 ialah litar yang membolehkan ujian dan penilaian mudah bagi penderia AS5048 tanpa perlu membina lekapan ujian atau PCB yang berasingan. Papan penyesuai boleh dipasang pada mikropengawal atau AS5048-Demoboard sebagai peranti luaran.
Penerangan Papan
AS5048 Adapterboard mempunyai jenis antara muka A (SPI) atau B (I2C), lubang pelekap 4 x 2.6mm dan penyambung P1. Ia menyediakan cara yang mudah untuk menyambung dan berinteraksi dengan penderia AS5048.
Arahan Pemasangan
Untuk memasang papan penyesuai AS5048, ikut langkah berikut:
- Letakkan magnet diameter di atas atau di bawah penderia kedudukan AS5048.
- Pastikan magnet berpusat di tengah bungkusan dengan toleransi 0.5mm.
- Kekalkan jurang udara antara magnet dan selongsong pengekod dalam julat 0.5mm hingga 2mm.
- Gunakan bahan bukan feromagnetik seperti loyang, tembaga, aluminium atau keluli tahan karat untuk pemegang magnet.
Mengikuti arahan ini akan memastikan papan penyesuai AS5048 berfungsi dengan betul dan ukuran kedudukan yang tepat.
Sejarah Semakan
Penerangan Umum
AS5048 ialah penderia kedudukan sudut 360° yang mudah digunakan dengan output resolusi tinggi 14-bit. Untuk mengukur sudut, hanya magnet dua kutub mudah, berputar di atas pusat cip, diperlukan.
Magnet boleh diletakkan di atas atau di bawah IC. Ini ditunjukkan dalam Rajah 1.
Rajah 1: Penderia Kedudukan Magnet AS5048 + Magnet
Papan penyesuai AS5048
Papan penyesuai AS5048 ialah litar ringkas yang membolehkan ujian dan penilaian penderia kedudukan magnet AS5048 dengan cepat tanpa membina lekapan ujian atau PCB.
Penerangan papan
AS5048 Adapterboard ialah litar ringkas yang membenarkan ujian dan penilaian pengekod putar AS5048 dengan cepat tanpa membina lekapan ujian atau PCB.
PCB boleh dipasang pada mikropengawal atau pada AS5048- Demoboard sebagai peranti luaran.
Rajah 2: Papan Suai AS5048
Memasang papan penyesuai AS5048
Magnet diametrik mesti diletakkan di bawah penderia kedudukan AS5048, dan hendaklah dipusatkan pada bahagian tengah bungkusan dengan toleransi 0.5mm.
Jurang udara antara magnet dan selongsong pengekod hendaklah dikekalkan dalam julat 0.5mm~2mm. Pemegang magnet mestilah bukan feromagnetik. Bahan seperti loyang, tembaga, aluminium, keluli tahan karat adalah pilihan terbaik untuk membuat bahagian ini.
Rajah 3: AS5048 – AB – pemasangan dan dimensi
Papan penyesuai AS5048 dan pinout
Rajah 4: Penyambung papan penyesuai AS5048 dan pinout pengekod
Jadual 1: Penerangan pin
Pin# Papan | Pin# AS5 048 | Papan Simbol |
Penerangan |
P1 – 1 | 13 | GND | Tanah bekalan |
P1 – 2 | 3 | A2/MISO | SPI master in/slave out; dikongsi dengan pin pemilihan alamat I2C 2 |
P1 – 3 | 4 | A1/MOSI | SPI master out/slave in; dikongsi dengan pin pemilihan alamat I2C 1 |
P1 – 4 | 2 | SCL/SCK | Input jam SPI; dikongsi dengan input jam I2C |
P1 – 5 | 1 | SDA/CSn | cip SPI pilih-aktif rendah; dikongsi dengan pin data I2C |
P1 – 6 | 14 | PWM | Keluaran modulasi lebar denyut |
P1 – 7 |
12 |
3.3V |
Output 3V-Regulator; dikawal secara dalaman daripada VDD. Sambung ke VDD untuk bekalan 3V voltage |
P1 – 8 | 11 | 5V | Bekalan voltage |
Kes operasi
Penyelesaian yang paling lengkap dan tepat untuk MCU membaca sudut magnet ialah antara muka SPI.
Mod SPI Satu Peranti, satu arah - 3 wayar
AS5048-AB boleh disambungkan terus ke port SPI standard industri bagi mikropengawal. Keperluan sambungan minimum untuk komunikasi satu arah (sudut + bacaan nilai penggera) antara mikropengawal dan AS5048 ialah MISO, SCK, SS/.
Sudut akan dibaca pada setiap pemindahan SPI 16-bit. Lihat jadual daftar lembaran data AS5048, daftar 3FFFh.
Rajah 5: Menggunakan Antara Muka SPI satu arah dengan mikropengawal
Satu mod SPI peranti, dwiarah – 4 wayar
Jika daftar lain daripada nilai sudut sahaja perlu dibaca, atau untuk menulis daftar ke dalam AS5048, isyarat MOSI diperlukan.
Rajah 6: Menggunakan Antara Muka SPI dwiarah dengan mikropengawal
Mod rantaian SPI Daisy berbilang peranti
AS5048 boleh dirantai daisy, menggunakan 4 wayar sahaja untuk komunikasi SPI.
Dalam konfigurasi ini dengan pengekod nx, urutan akan diproses seperti berikut:
- MCU menetapkan SS/ = 0
- MCU mengalihkan nx 16-bit (cth arahan BACA FFFFh) melalui rantaian
- MCU menetapkan SS/=1
Pada ketika itu semua pengekod nx telah menerima arahan BACA FFFFh. - MCU menetapkan SS/=0
- MCU beralih nx 16-bit (cth arahan NOP 0000h)
- MCU menetapkan SS/=1
Pada ketika itu nx 16-bit yang diterima pada MISO ialah nilai sudut nx.
Rajah 7: Berbilang Peranti dalam mod rantai Daisy
Pengekodan perisian tegar
Kod sumber berikut sesuai dengan aplikasi 4-Wire
Fungsi void spiReadData() membaca/menulis 4 nilai daripada AS5048
- Hantar arahan BACA AGC / Terima nilai tidak diketahui
- Hantar arahan BACA MAG / Terima nilai AGC
- Hantar arahan BACA Sudut / Terima nilai MAG
- Hantar arahan NOP (tiada operasi) / Terima nilai ANGLE
Jika SUDUT BACA sahaja diperlukan dalam gelung, prosedur boleh dikurangkan kepada satu baris:
- Hantar arahan READ Angle / Receive value Angle
Fungsi statik u8 spiCalcEvenParity(nilai ushort) adalah pilihan, ia mengira bit pariti aliran SPI 16-bit.
/*!
*************************************************** *************************
* Membaca data cip melalui antara muka SPI
*
* Fungsi ini digunakan untuk membaca nilai kord dari cip yang menyokong SPI
* antara muka.
*************************************************** *************************
*/
#define SPI_CMD_READ 0x4000 /*!< bendera yang menunjukkan percubaan baca apabila menggunakan antara muka SPI */
#define SPI_REG_AGC 0x3ffd /*!< daftar agc apabila menggunakan SPI */
#define SPI_REG_MAG 0x3ffe /*!< daftar magnitud apabila menggunakan SPI */
#define SPI_REG_DATA 0x3fff /*!< daftar data apabila menggunakan SPI */
#define SPI_REG_CLRERR 0x1 /*!< jelas ralat daftar apabila menggunakan SPI */
void spiReadData()
{
u16 dat; // Penampan data 16-bit untuk komunikasi SPI
u16 magreg;
sudut ushort, agcreg;
ubyte agc;
nilai ushort;
penggera sedikitHai, penggeraLo;
/* Hantar arahan BACA AGC. Data yang diterima dibuang: data ini datang daripada arahan duluan (tidak diketahui)*/
dat = SPI_CMD_READ | SPI_REG_AGC;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
//* Hantar arahan READ MAG. Data yang diterima ialah nilai AGC: data ini datang daripada perintah duluan (tidak diketahui)*/
dat = SPI_CMD_READ | SPI_REG_MAG;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
magreg = dat;
/* Hantar arahan READ ANGLE. Data yang diterima ialah nilai MAG, daripada arahan preseden */
dat = SPI_CMD_READ | SPI_REG_DATA;
dat |= spiCalcEvenParity(dat) << 15;
spiTransfer((u8*)&dat, sizeof(u16));
agcreg = dat;
/* Hantar arahan NOP. Data yang diterima ialah nilai ANGLE, daripada arahan preseden */
dat = 0x0000; // Perintah NOP.
spiTransfer((u8*)&dat, sizeof(u16));
sudut = dat >> 2;
}
jika ((dat & 0x4000) || (agcreg & 0x4000) || (magreg & 0x4000))
{
/* set bendera ralat – perlu menetapkan semula */
dat = SPI_CMD_READ | SPI_REG_CLRERR;
dat |= spiCalcEvenParity(dat)<<15;
spiTransfer((u8*)&dat, sizeof(u16));
}
lain
{
agc = agcreg & 0xff // nilai AGC (0..255)
nilai = dat & (16384 – 31 – 1); // Nilai sudut (0.. 16384 langkah)
sudut = (nilai * 360) / 16384 // Nilai sudut dalam darjah
(0..359.9°)
magnitud = magreg & (16384 – 31 – 1);
alarmLo = (agcreg >> 10) & 0x1;
alarmHi = (agcreg >> 11) & 0x1;
}
}
/*!
*************************************************** *************************
* Kira pariti genap bagi integer tidak bertanda 16 bit
*
* Fungsi ini digunakan oleh antara muka SPI untuk mengira pariti genap
* data yang akan dihantar melalui SPI kepada pengekod.
*
* Nilai \param[in] : 16 bit integer tidak bertanda yang paritinya akan dikira
*
* \return : Pariti sekata
*
*************************************************** *************************
*/
statik u8 spiCalcEvenParity(nilai ushort)
{
u8 cnt = 0;
u8 i;
untuk (i = 0; i < 16; i++)
{
jika (nilai & 0x1)
{
cnt++;
}
nilai >>= 1;
}
pulangkan cnt & 0x1;
}
/*!
*************************************************** *************************
* Kira pariti genap bagi integer tidak bertanda 16 bit
*
* Fungsi ini digunakan oleh antara muka SPI untuk mengira pariti genap
* data yang akan dihantar melalui SPI kepada pengekod.
*
* Nilai \param[in] : 16 bit integer tidak bertanda yang paritinya akan dikira
*
* \return : Pariti sekata
*
*************************************************** *************************
*/
statik u8 spiCalcEvenParity(nilai ushort)
{
u8 cnt = 0;
u8 i;
untuk (i = 0; i < 16; i++)
{
jika (nilai & 0x1)
{
cnt++;
}
nilai >>= 1;
}
pulangkan cnt & 0x1;
}
AS5048-AB-Perkakasan
Mengikut skema dan susun atur Papan Penyesuai boleh didapati.
AS5048-AB-1.1 Skema
Rajah 8: Skema papan penyesuai AS5048-AB-1.1
AS5048 – AB – 1.1 susun atur PCB
Rajah 9: Susun atur papan penyesuai AS5048-AB-1.1
Hak Cipta
Hak cipta ams AG, Tobelbader Strasse 30, 8141 Unterpremstätten, Austria-Eropah. Tanda Dagangan Berdaftar. Hak cipta terpelihara. Bahan di sini tidak boleh diterbitkan semula, disesuaikan, digabungkan, diterjemahkan, disimpan atau digunakan tanpa kebenaran bertulis daripada pemilik hak cipta terlebih dahulu.
Penafian
Peranti yang dijual oleh ams AG dilindungi oleh jaminan dan peruntukan ganti rugi paten yang terdapat dalam Tempoh Jualannya. ams AG tidak membuat waranti, nyata, berkanun, tersirat atau dengan perihalan mengenai maklumat yang dinyatakan di sini. ams AG berhak untuk menukar spesifikasi dan harga pada bila-bila masa dan tanpa notis. Oleh itu, sebelum mereka bentuk produk ini ke dalam sistem, adalah perlu untuk menyemak dengan ams AG untuk maklumat semasa. Produk ini bertujuan untuk digunakan dalam aplikasi komersial. Aplikasi yang memerlukan julat suhu lanjutan, keperluan alam sekitar yang luar biasa atau aplikasi kebolehpercayaan tinggi, seperti ketenteraan, sokongan hayat perubatan atau peralatan pemampan hayat secara khusus tidak disyorkan tanpa pemprosesan tambahan oleh ams AG untuk setiap aplikasi. Produk ini disediakan oleh ams "SEBAGAIMANA ADANYA" dan sebarang nyata atau tersirat
waranti, termasuk, tetapi tidak terhad kepada waranti tersirat kebolehdagangan dan kesesuaian untuk tujuan tertentu adalah dinafikan.
ams AG tidak akan bertanggungjawab kepada penerima atau mana-mana pihak ketiga untuk sebarang kerosakan, termasuk tetapi tidak terhad kepada kecederaan peribadi, kerosakan harta benda, kehilangan keuntungan, kehilangan penggunaan, gangguan perniagaan atau kerosakan tidak langsung, khas, sampingan atau berbangkit, mana-mana jenis, berkaitan dengan atau timbul daripada kelengkapan, prestasi atau penggunaan data teknikal di sini. Tiada obligasi atau liabiliti kepada penerima atau mana-mana pihak ketiga akan timbul atau mengalir keluar daripada pemberian ams AG bagi perkhidmatan teknikal atau perkhidmatan lain.
Maklumat Hubungan
ibu pejabat
am AG
Tobelbader Strasse 30
8141 Unterpremstaetten
Austria
T. +43 (0) 3136 500 0
Untuk Pejabat Jualan, Pengedar dan Wakil, sila layari:
http://www.ams.com/contact
Dimuat turun daripada Arrow.com.
Dokumen / Sumber
![]() |
ams AS5048 14-bit Rotary Position Sensor dengan Sudut Digital dan Output PWM [pdf] Manual Pengguna AS5048-AB-1.1, AS5048 14-bit Rotary Position Sensor dengan Digital Sudut dan PWM Output, AS5048, 14-bit Rotary Position Sensor dengan Digital Sudut dan PWM Output, AS5048 14-bit Rotary Position Sensor, Rotary Position Sensor, Position Sensor, Penderia |