செயலற்ற உணரிகளின் உலகம் வேகமாக வளர்ச்சியடைந்துள்ளது, மேலும் MPU9250 போன்ற சாதனங்கள், முடுக்கமானி, கைரோஸ்கோப் மற்றும் காந்தமானி ஆகியவற்றை ஒரே தொகுதியில் இணைக்கிறது, சிறிய மற்றும் பெரிய இயக்கங்களைத் துல்லியமாகப் பிடிக்க வேண்டிய ரோபாட்டிக்ஸ் திட்டங்கள், ட்ரோன்கள் மற்றும் அமைப்புகளுக்கு முக்கியப் பகுதியாக மாறியுள்ளது. இந்தக் கட்டுரையில், Arduino உடன் இந்த சென்சார் எவ்வாறு பயன்படுத்துவது, அதன் குறிப்பிடத்தக்க அம்சங்கள் என்ன, அத்துடன் தொடங்குவதற்கு சில குறியீடு எடுத்துக்காட்டுகள் ஆகியவற்றை ஆராயப் போகிறோம்.
MPU9250 ஐப் பயன்படுத்துவது பொழுதுபோக்கு ஆர்வலர்களுக்கு மட்டுமல்ல, நோக்குநிலை மற்றும் இயக்கத்தை துல்லியமாக அளவிட வேண்டிய நிபுணர்களுக்கும் பயனுள்ளதாக இருக்கும். இந்த தீர்வு நிலைப்படுத்தல் அமைப்புகள், தன்னாட்சி வாகனங்கள் மற்றும் பல்வேறு அச்சுகளில் அவற்றின் இயக்கங்களை அறிந்து கொள்ள வேண்டிய ரோபோக்களை உருவாக்க அனுமதிக்கிறது. சென்சாரின் பன்முகத்தன்மை, அதன் துல்லியம் மற்றும் குறைந்த விலை ஆகியவற்றுடன், டெவலப்பர்கள் மத்தியில் ஒரு திடமான நற்பெயரைப் பெற்றுள்ளது.
MPU9250 என்றால் என்ன?
El MPU9250 இது உள்ளடக்கிய ஒரு தொகுதி முடுக்கமானி, கைரோஸ்கோப் மற்றும் காந்தமானி ஒரு சாதனத்தில். இந்த கலவையுடன், சென்சார் நேரியல் முடுக்கம் மற்றும் கோண வேகம் மற்றும் அதன் சூழலின் காந்தப்புலம் ஆகிய இரண்டையும் அளவிடும் திறன் கொண்டது. இந்த இன்வென்சென்ஸ் சென்சார் 9 டிகிரி சுதந்திரத்தைக் கொண்டுள்ளது, அதாவது முடுக்கம், சுழற்சி (கைரோஸ்கோப்) மற்றும் காந்தப்புலம் (காந்தமானி) ஆகிய இரண்டையும் மூன்று வெவ்வேறு அச்சுகளில் அளவிட முடியும்.
தொகுதி வடிவமைக்கப்பட்டுள்ளது SPI அல்லது I2C ஐப் பயன்படுத்தி தொடர்பு கொள்ளவும், இது Arduino அல்லது Raspberry Pi போன்ற திறந்த மூல தளங்களுடன் எளிதாக இணைக்க அனுமதிக்கிறது. மேலும், நன்றி டிஜிட்டல் மோஷன் செயலி (டிஎம்பி), மூன்று சென்சார்கள் மூலம் பெறப்பட்ட தரவுகளை இணைக்கவும் மேலும் துல்லியமான அளவீடுகளை வழங்கவும் சிக்கலான கணக்கீடுகளைச் செய்யும் திறன் கொண்டது.
MPU9250 இன் முக்கிய அம்சங்கள்
MPU9250 ஆனது அதிக எண்ணிக்கையிலான அம்சங்களைக் கொண்டிருப்பதற்காக தனித்து நிற்கிறது, இது துல்லியமான இயக்கங்களைக் கைப்பற்றும் திட்டங்களுக்கு மிகவும் சுவாரஸ்யமான தொகுதியாக அமைகிறது, அவற்றுள்:
- முடுக்கமானி: ±2g, ±4g, ±8g மற்றும் ±16g இடையே சரிசெய்யக்கூடிய முடுக்கம் வரம்பு.
- கைரோஸ்கோப்: நிரல்படுத்தக்கூடிய வரம்பு ±250°/s, ±500°/s, ±1000°/s, ±2000°/s.
- காந்தமாமீட்டர்: 0.6µT/LSB உணர்திறன் மற்றும் 4800µT வரை நிரல்படுத்தக்கூடிய வரம்பு.
- ஆற்றல் நுகர்வு: மிகக் குறைவு, கையடக்க சாதனங்கள் அல்லது நீண்ட காலத்திற்கு செயல்பட வேண்டிய சாதனங்களுக்கு ஏற்றது (செயலில் உள்ள பயன்முறையில் 3.5 mA).
MPU9250 தொகுதியை Arduino உடன் இணைக்கிறது
உங்கள் Arduino உடன் தொகுதியை இணைப்பது ஒரு எளிய செயல்முறையாகும், ஏனெனில் இது I2C நெறிமுறை மூலம் செயல்படுகிறது. அவர் வழக்கமான இணைப்பு வரைபடம் ஒரு MPU9250 மற்றும் a இடையே Arduino Uno எஸ்:
- VCC: 3.3V உடன் இணைக்கவும்.
- நிலம்: தரைக்கு (GND).
- செய்யகூடாதிருந்தால்: Arduino இன் A4 பின் அதை இணைக்கவும்.
- SCL:: Arduino இன் A5 பின் அதை இணைக்கவும்.
சென்சார் சரியாக செயல்படும் வகையில் சக்தி சரியாக இருப்பதை உறுதி செய்வது முக்கியம். ஆர்டுயினோவின் 5V ஐ சேதப்படுத்தாமல் பயன்படுத்த பெரும்பாலான தொகுதிகள் ஏற்கனவே மின்னழுத்த சீராக்கியைக் கொண்டுள்ளன.
MPU9250 க்கான குறியீடு எடுத்துக்காட்டுகள்
முடுக்கமானி, கைரோஸ்கோப் மற்றும் மேக்னடோமீட்டர் ஆகியவற்றிலிருந்து தரவைப் படித்து, Arduino இல் MPU9250 நிரலாக்கத்தை எவ்வாறு தொடங்கலாம் என்பதை கீழே காண்பிக்கிறோம். நூலகம் MPU9250.h
நிரலாக்கத்தை எளிதாக்குவதற்கு இது மிகவும் பயனுள்ளதாக இருக்கும், மேலும் எங்கள் எடுத்துக்காட்டில், மூல தரவை எவ்வாறு படிப்பது என்பதை விவரிக்கிறோம்:
#include <Wire.h>
#include <MPU9250.h>
MPU9250 imu(Wire, 0x68);
void setup() {
Wire.begin();
Serial.begin(115200);
if (imu.begin() != 0) {
Serial.println("Error al iniciar MPU9250");
} else {
Serial.println("MPU9250 iniciado");
}
}
void loop() {
imu.readSensor();
Serial.print("Aceleracion: ");
Serial.print(imu.getAccelX_mss());
Serial.print(", ");
Serial.print(imu.getAccelY_mss());
Serial.print(", ");
Serial.print(imu.getAccelZ_mss());
Serial.println();
delay(1000);
}
இந்த குறியீடு முடுக்கத்தின் மூன்று கூறுகளைப் படிக்கிறது. கைரோஸ்கோப் மற்றும் காந்தமானி அளவீடுகள் முறைகளைப் பயன்படுத்தி இதேபோல் செய்யப்படலாம் getGyroX_rads()
y getMagX_uT()
முறையே.
நடைமுறை பயன்பாடுகள்
MPU9250 இன்றியமையாத கருவியாக மாறும் பல பயன்பாடுகள் உள்ளன. மிக முக்கியமான சிலவற்றை ஆராய்வோம்:
- ட்ரோன்கள் மற்றும் ரோபோட்டிக்ஸ்: MPU9250 இன் பொதுவான பயன்பாடுகளில் ஒன்று விமான நிலைப்படுத்தல் மற்றும் ரோபாட்டிக்ஸ் அமைப்புகளில் உள்ளது, அங்கு நிகழ்நேர நோக்குநிலையைப் பெறுவது அவசியம்.
- மெய்நிகர் உண்மை: நோக்குநிலை மற்றும் இயக்கத்தை துல்லியமாகப் படம்பிடிப்பதன் மூலம், வீடியோ கேம் பயன்பாடுகள் அல்லது விர்ச்சுவல் ரியாலிட்டி சிமுலேட்டர்களில் கண்காணிப்பதற்கு சென்சார் பயன்படுத்தப்படலாம்.
- வழிசெலுத்தல் அமைப்புகள்: GPS போன்ற மற்ற உணரிகளுடன் இணைந்து, MPU9250 ஆனது அசைவுகளைப் புரிந்துகொள்வதற்கும் நோக்குநிலையைக் கண்டறிவதற்கும் செயலற்ற வழிசெலுத்தலில் பயன்படுத்தப்படுகிறது.
காந்தமானி அளவீடு
MPU9250 ஐப் பயன்படுத்தும் போது மிக முக்கியமான படிகளில் ஒன்று காந்தமானி அளவுத்திருத்தம். காந்த சூழலால் உருவாக்கப்படும் பிழைகளை நீக்குவதற்கு காந்தமானி அவசியம் (காட்சிகளை உருவாக்குதல் அல்லது பிற மின்னணு உபகரணங்களிலிருந்து குறுக்கீடு போன்றவை), எனவே துல்லியமான அளவீடுகளுக்கு சரியான அளவுத்திருத்தம் செய்வது மிகவும் முக்கியமானது.
காந்தமானியை சரியாக அளவீடு செய்ய, நாம் RTIMULib-Arduino நூலகத்தைப் பயன்படுத்தலாம். இங்கே ஒரு எளிய அளவுத்திருத்த திட்டம்:
#include <RTIMULib.h>
RTIMU *imu;
RTIMUSettings settings;
void setup() {
Wire.begin();
Serial.begin(115200);
imu = RTIMU::createIMU(&settings);
imu->IMUInit();
imu->setCalibrationMode(true);
}
void loop() {
if (imu->IMURead()) {
RTVector3 mag = imu->getCompass();
Serial.print("Magnetómetro: ");
Serial.print(mag.x());
Serial.print(", ");
Serial.print(mag.y());
Serial.print(", ");
Serial.print(mag.z());
Serial.println();
}
}
மேலே உள்ள குறியீடானது காந்தமானியில் இருந்து தரவைப் படிக்கிறது, எனவே நீங்கள் அச்சுகளில் இயக்கங்களைச் செய்யலாம் மற்றும் சாத்தியமான அளவீடுகளின் முழு அளவையும் மறைக்க முடியும். இது காந்தப்புல சிதைவுகளை அடையாளம் காணவும் நோக்குநிலை கணக்கீடுகளை மேம்படுத்தவும் உதவுகிறது.
துல்லியத்தை மேம்படுத்த வடிப்பான்கள்
MPU9250 அளவீடுகளின் துல்லியத்தை மேம்படுத்த, மிகவும் பொதுவான அணுகுமுறைகளில் ஒன்று வடிகட்டி செயல்படுத்தல் கைரோஸ்கோப், முடுக்கமானி மற்றும் காந்தமானி ஆகியவற்றிலிருந்து பெறப்பட்ட தரவை ஒருங்கிணைக்கிறது.
El நிரப்பு வடிகட்டி இது ஒரு பயனுள்ள மற்றும் எளிமையான தீர்வாகும். இந்த வடிப்பான் விரைவான முடிவுகளைப் பெற கைரோஸ்கோப்பைச் சார்ந்துள்ளது, அதே சமயம் முடுக்கமானி மற்றும் காந்தமானி ஆகியவை கைரோஸ்கோப்பிலிருந்து நீண்ட கால விலகல்களைச் சரிசெய்கிறது (டிரிஃப்ட் என அழைக்கப்படுகிறது). இந்த வடிப்பானைச் செயல்படுத்தும் எளிய குறியீட்டை பின்வரும் எடுத்துக்காட்டில் காணலாம்:
#include <ComplementaryFilter.h>
ComplementaryFilter cf;
void setup() {
cf.setAccelerometerGain(0.02);
cf.setMagnetometerGain(0.98);
}
void loop() {
// Integrar lecturas de acelerómetro y giroscopio
cf.update(sensorData.accelX, sensorData.gyroX);
float pitch = cf.getPitch();
float roll = cf.getRoll();
Serial.print("Pitch: ");
Serial.print(pitch);
Serial.print(" Roll: ");
Serial.println(roll);
}
கைரோஸ்கோப் டிரிஃப்ட்டை அகற்றவும் மேலும் நிலையான நோக்குநிலையை உருவாக்கவும் இந்த வடிகட்டி அவசியம். கூடுதலாக, Arduino போன்ற மைக்ரோகண்ட்ரோலர்களில் செயல்படுத்துவது Kalman வடிகட்டி போன்ற மிகவும் சிக்கலான முறைகளைக் காட்டிலும் மிகவும் வேகமானது, இது அதிக வளங்களைப் பயன்படுத்துகிறது.
MPU9250 என்பது துல்லியமான நோக்குநிலை மற்றும் இயக்க அளவீடு தேவைப்படும் பல்வேறு வகையான திட்டங்களுக்கான நம்பமுடியாத பல்துறை தீர்வாகும். அதை ஒரு Arduino உடன் இணைத்து அடிப்படை அளவீடுகளைப் பெறுவது ஒப்பீட்டளவில் எளிதானது, மேலும் சில வடிப்பான்களை செயல்படுத்துவதன் மூலம், பரந்த அளவிலான பயன்பாடுகளுக்கு மிகவும் துல்லியமான மற்றும் பயனுள்ள முடிவுகளைப் பெறலாம்.