முழுமையான வழிகாட்டி: Arduino மற்றும் பலவற்றுடன் PCA9685 கட்டுப்படுத்தி

  • PCA9685 என்பது 16-சேனல் PWM கட்டுப்படுத்தி, இது I2C வழியாக தொடர்பு கொள்கிறது.
  • இது LED விளக்குகள் மற்றும் சர்வோஸ் இரண்டையும் கட்டுப்படுத்த முடியும் மற்றும் அதன் அதிர்வெண் 1600 ஹெர்ட்ஸ் வரை சரிசெய்யக்கூடியது.
  • ஒரே I62C பேருந்தில் 2 தொகுதிகள் வரை இணைக்க முடியும், இது 992 கட்டுப்படுத்தக்கூடிய PWM வெளியீடுகளை அடையும்.
  • Adafruit போன்ற நூலகங்களின் பயன்பாடு Arduino போன்ற தளங்களில் இந்த கூறுகளுடன் வேலை செய்வதை எளிதாக்குகிறது.

pca9685

தொகுதி Arduino க்கான PCA9685 கட்டுப்படுத்தி மற்றும் பிற இயங்குதளங்கள் PWM சிக்னல்களுடன் செயல்படும் பல சாதனங்களைக் கட்டுப்படுத்தும் போது பரவலாகப் பயன்படுத்தப்படும் தீர்வாகும். இது ஆரம்பத்தில் எல்இடிகளைக் கட்டுப்படுத்த வடிவமைக்கப்பட்டிருந்தாலும், அதன் பல்துறைத்திறன் சர்வோஸைக் கட்டுப்படுத்துவதற்கான ஒரு அடிக்கடி விருப்பமாக இருக்க அனுமதித்துள்ளது. துல்லியமாகவும் எளிமையாகவும் பல சாதனங்களைக் கட்டுப்படுத்தும் திறனுக்காக இந்த சிப் ரோபாட்டிக்ஸ் மற்றும் ஆட்டோமேஷன் திட்டங்களில் மிகவும் பிரபலமானது.

ஆர்டுயினோ மற்றும் பிற மைக்ரோகண்ட்ரோலர்களுடன் இணைந்து PCA9685 ஐ எவ்வாறு பயன்படுத்துவது என்பதை இந்தக் கட்டுரை உங்களுக்குக் காண்பிப்பது மட்டுமல்லாமல், இந்த கூறுகளிலிருந்து அதிகமானவற்றைப் பெற நீங்கள் தெரிந்து கொள்ள வேண்டிய ஒவ்வொரு தொழில்நுட்ப அம்சங்களையும் விவரிக்கும். அதை எவ்வாறு இணைப்பது முதல் குறியீடு நூலகங்களை எவ்வாறு நிர்வகிப்பது என்பது வரை அனைத்தையும் நாங்கள் விளக்கப் போகிறோம், இதன் மூலம் உங்கள் மோட்டார்கள் மற்றும் சர்வோக்களை நீங்கள் எளிதாகக் கட்டுப்படுத்தலாம்.

PCA9685 என்றால் என்ன, அது எதற்காகப் பயன்படுத்தப்படுகிறது?

PCA9685 பின்-அவுட்

El பிசிஏ9685 எல்இடி விளக்குகள் மற்றும் சர்வோ மோட்டார்களைக் கட்டுப்படுத்துவதற்கு ஏற்றதாக, 16 வெளியீடுகள் வரை நிர்வகிக்க வடிவமைக்கப்பட்ட ஒரு PWM (பல்ஸ் விட்த் மாடுலேஷன்) கட்டுப்படுத்தி ஆகும். இது I2C பஸ் மூலம் தொடர்பு கொள்கிறது, அதாவது Arduino அல்லது Raspberry Pi போன்ற மைக்ரோகண்ட்ரோலருடன் இணைக்க இரண்டு ஊசிகள் மட்டுமே தேவை. குறிப்பிட்ட முகவரிகளைப் பயன்படுத்துவதன் மூலம், 62 PWM வெளியீடுகளைக் கட்டுப்படுத்தும் அதே I2C பேருந்தில் 992 தொகுதிகள் வரை இணைக்க முடியும். பல சாதனங்களை ஒருங்கிணைந்த முறையில் நிர்வகிக்க வேண்டிய திட்டங்களுக்கு இது மிகவும் சக்திவாய்ந்த விருப்பமாக அமைகிறது.

மிகவும் பரவலான பயன்பாடு பிசிஏ9685 இது PWM சிக்னல் தேவைப்படும் திட்டங்களில் உள்ளது. PWM சிக்னல்களிலிருந்து கட்டுப்படுத்தப்படும் சர்வோஸின் கட்டுப்பாடு ஒரு தெளிவான எடுத்துக்காட்டு. கூடுதலாக, கட்டுப்படுத்தியின் துல்லியம் உள்ளது 12 பிட்கள், இது அதிகபட்சமாக 1600 ஹெர்ட்ஸ் வரை சரிசெய்யக்கூடிய அதிர்வெண்ணுடன் மிகச் சிறந்த சமிக்ஞைகளை உருவாக்க அனுமதிக்கிறது.

PCA9685 இன் அம்சங்கள் மற்றும் நன்மைகள்

இன் முக்கிய நன்மைகளில் ஒன்று பிசிஏ9685 PWM சிக்னல்களை தொடர்ந்து உருவாக்கும் வகையில் மைக்ரோகண்ட்ரோலரின் சுமையை இது நீக்குகிறது. பல சாதனங்களைக் கட்டுப்படுத்தும் திட்டங்களில் இது மிகவும் பயனுள்ளதாக இருக்கும், ஏனெனில் இது முக்கிய செயலி மற்ற பணிகளில் கவனம் செலுத்த அனுமதிக்கிறது.

  • 16 சுயாதீன சேனல்கள்: 16 சேனல்களில் ஒவ்வொன்றும் ஒரு சுயாதீனமான PWM சிக்னலை வெளியிட முடியும், இது சர்வோஸ், மோட்டார்கள் மற்றும் LED விளக்குகள் போன்ற சாதனங்களைக் கட்டுப்படுத்த உங்களை அனுமதிக்கிறது.
  • I2C கட்டுப்பாடு: PCA9685 ஆனது முதன்மைக் கட்டுப்படுத்தியுடன் (Arduino, Raspberry Pi, முதலியன) தொடர்பு கொள்ள I2C இடைமுகத்தைப் பயன்படுத்துகிறது, மேலும் தகவல்தொடர்புக்கு (SDA மற்றும் SCL) இரண்டு கேபிள்கள் மட்டுமே தேவைப்படுகிறது.
  • ஒரே பேருந்தில் பல தொகுதிகள்: ஒரே I62C பேருந்தில் 9685 PCA2 தொகுதிகள் வரை இணைக்கப்படலாம், 992 PWM வெளியீடுகளைக் கட்டுப்படுத்தலாம்.
  • சரிசெய்யக்கூடிய அதிர்வெண்: 1600 ஹெர்ட்ஸ் வரையிலான அதிர்வெண்களை ஆதரிக்கிறது, இருப்பினும் வழக்கமான சர்வோ கட்டுப்பாட்டுக்கு 50-60 ஹெர்ட்ஸ் அதிர்வெண் பயன்படுத்தப்படுகிறது.

Arduino மற்றும் PCA9685 இடையே இணைப்பு

Arduino PCA9685

இடையே உள்ள தொடர்பு PCA9685 தொகுதி மற்றும் ஒரு Arduino எளிமையானது மற்றும் I2C பின்கள் (SCL மற்றும் SDA) மற்றும் பவர் பின்களைப் பயன்படுத்தி செய்யப்படுகிறது. பின்வரும் அட்டவணை பல்வேறு Arduino மாடல்களுக்கான வழக்கமான இணைப்புகளைக் குறிப்பிடுகிறது:

பின் PCA9685 Arduino Uno/ மூத்த சகோதரர் அர்டுடினோ மெகா அர்டுடினோ லியோனார்டோ
நிலம் நிலம் நிலம் நிலம்
5V 5V 5V 5V
SCL: A5 21 3
செய்யகூடாதிருந்தால் A4 20 2

இந்த கட்டமைப்பில், பின்கள் A4 மற்றும் A5 அல்லது தொடர்புடைய மேடையில் அவற்றின் சமமானவை, PCA9685 தொகுதியின் SDA (தரவு) மற்றும் SCL (கடிகாரம்) பின்களுடன் இணைக்கவும். கூடுதலாக, சர்வோ மோட்டார்களுக்கு பொருத்தமான வெளிப்புற மின்சாரம் இருப்பது முக்கியம், குறிப்பாக நீங்கள் பல சர்வோக்களை இணைக்கிறீர்கள் என்றால், Arduino அவற்றை சரியாக இயக்க போதுமான மின்னோட்டத்தை வழங்கவில்லை.

ஒரு பயன்படுத்த பரிந்துரைக்கப்படுகிறது 5V வழங்கல் சர்வோஸை இயக்கவும், பவர் பின்களை சரியாக இணைக்கவும். நீங்கள் 16 சர்வோக்களுக்கு மேல் பயன்படுத்தினால், சக்தியை நிலைப்படுத்த போர்டில் 1000uF மின்தேக்கியை சாலிடர் செய்ய பரிந்துரைக்கப்படுகிறது.

குறியீட்டில் உள்ளமைவு

இன் PWM வெளியீடுகளை நிர்வகிப்பதற்கு பிசிஏ9685, Adafruit உருவாக்கிய நூலகம் பயன்படுத்தப்படுகிறது. நீங்கள் அதை பதிவிறக்கம் செய்யலாம் உங்கள் கிட்ஹப் பக்கம். தொகுதியை உள்ளமைக்க மற்றும் ஒரு சர்வோவை நகர்த்துவதற்கான அடிப்படை உதாரணத்தை இங்கே காண்பிக்கிறோம்:

#include <Wire.h> #include <Adafruit_PWMServoDriver.h> Adafruit_PWMServoDriver servos = Adafruit_PWMServoDriver(); void setup() { servos.begin(); servos.setPWMFreq(60); // Configura la frecuencia PWM a 60Hz } void loop() { servos.setPWM(0, 0, 172); // Mueve el servo del canal 0 a la posición 0 grados delay(1000); servos.setPWM(0, 0, 565); // Mueve el servo a la posición 180 grados delay(1000); }

இந்த எளிய குறியீடு சேனல் 0 உடன் இணைக்கப்பட்ட சர்வோவில் ஸ்வீப் மோஷனைச் செய்கிறது, அதை 0 டிகிரியில் இருந்து 180 டிகிரிக்கு மெதுவாக எடுத்துச் செல்கிறது. நீங்கள் செயல்பாட்டைப் பயன்படுத்தலாம் setPWM() ஒவ்வொரு PCA9685 வெளியீடுகளையும் தனித்தனியாகக் கட்டுப்படுத்த.

ஒரே நேரத்தில் பல சர்வோக்களை நகர்த்துகிறது

இன் பெரிய நன்மைகளில் ஒன்று பிசிஏ9685 ஒரே நேரத்தில் பல சர்வோக்களைக் கட்டுப்படுத்த இது உங்களை அனுமதிக்கிறது. ஒரே குறியீடு சுழற்சியில் பல சர்வோமோட்டர்களை வெவ்வேறு நிலைகளுக்கு எவ்வாறு நகர்த்துவது என்பது இங்கே:

void loop() { setServo(0, 30); setServo(2, 90); setServo(4, 180); delay(1000); } void setServo(uint8_t n_servo, int angulo) { int duty = map(angulo, 0, 180, 172, 565); servos.setPWM(n_servo, 0, duty); }

இந்த வழக்கில், நாம் அழைக்கப்படும் ஒரு செயல்பாட்டை வரையறுக்கிறோம் setServo இது சர்வோ எண் மற்றும் அதன் கோணத்தை அளவுருக்களாகப் பெறுகிறது, பொருத்தமான துடிப்பு அகலத்தைக் கணக்கிட்டு அதை விரும்பிய நிலைக்கு நகர்த்துகிறது. இந்த வழியில் நீங்கள் பல சேனல்களை எளிதாகக் கட்டுப்படுத்தலாம்.

வெவ்வேறு சர்வோக்களுக்கான வரம்புகளை எவ்வாறு அமைப்பது

எல்லா சர்வோக்களும் 0° முதல் 180° வரையிலான கோணங்களுக்கு ஒரே மாதிரியான மதிப்புகளைக் கொண்டிருக்கவில்லை. சில சந்தர்ப்பங்களில், இந்த மதிப்புகளை நீங்கள் தனிப்பயனாக்க வேண்டும். வெவ்வேறு சர்வோக்களுக்கு இந்த அமைப்புகளை எவ்வாறு செய்யலாம் என்பது இங்கே:

unsigned int pos0[16]= {172, 256, 246, 246, 246, 172, 246, 200}; unsigned int pos180[16]= {565, 492, 492, 492, 492, 565, 492, 550}; void setServo(uint8_t n_servo, int angulo) { int duty = map(angulo, 0, 180, pos0[n_servo], pos180[n_servo]); servos.setPWM(n_servo, 0, duty); }

PCA9685 உடன் இணைக்கப்பட்ட ஒவ்வொரு சர்வோவிற்கும் குறைந்தபட்ச மற்றும் அதிகபட்ச மதிப்புகளை சரிசெய்ய இந்த குறியீடு உங்களை அனுமதிக்கிறது, நீங்கள் வெவ்வேறு சமிக்ஞை வரம்புகளுடன் சர்வோஸைப் பயன்படுத்தினால் இது மிகவும் பயனுள்ளதாக இருக்கும்.

இதையெல்லாம் மனதில் கொண்டு, PCA9685 ஐப் பயன்படுத்தி உங்கள் முதல் திட்டத்தை அமைக்க, இணைக்க மற்றும் குறியீடு செய்ய வேண்டிய அனைத்தும் இப்போது உங்களிடம் உள்ளன. நீங்கள் பல டிகிரி சுதந்திரத்துடன் ஒரு ரோபோவில் பணிபுரிந்தாலும், அல்லது பல சாதனங்களை இணையாகக் கட்டுப்படுத்த வேண்டியிருந்தாலும், இந்தத் தொகுதி அதைத் திறமையாகவும் துல்லியமாகவும் செய்ய உங்களை அனுமதிக்கும்.

நீங்கள் சர்வோஸ் அல்லது PWM வெளியீடுகளுடன் பணிபுரிந்தாலும், உங்கள் மைக்ரோகண்ட்ரோலரில் இரண்டு பின்களைப் பயன்படுத்தி 9685 சேனல்கள் வரை கட்டுப்படுத்துவதை PCA16 மிக எளிதாக்குகிறது. சிறிய அனுபவம் மற்றும் நல்ல குறியீடு மூலம், பிரதான செயலியை ஓவர்லோட் செய்யாமல் மிக சக்திவாய்ந்த பயன்பாடுகளை உருவாக்கலாம்.


கருத்து தெரிவிப்பதில் முதலில் இருங்கள்

உங்கள் கருத்தை தெரிவிக்கவும்

உங்கள் மின்னஞ்சல் முகவரி வெளியிடப்பட்ட முடியாது. தேவையான புலங்கள் குறிக்கப்பட்டிருக்கும் *

*

*

  1. தரவுக்கு பொறுப்பு: மிகுவல் ஏஞ்சல் கேடன்
  2. தரவின் நோக்கம்: கட்டுப்பாட்டு ஸ்பேம், கருத்து மேலாண்மை.
  3. சட்டபூர்வமாக்கல்: உங்கள் ஒப்புதல்
  4. தரவின் தொடர்பு: சட்டபூர்வமான கடமையால் தவிர மூன்றாம் தரப்பினருக்கு தரவு தெரிவிக்கப்படாது.
  5. தரவு சேமிப்பு: ஆக்சென்டஸ் நெட்வொர்க்குகள் (EU) வழங்கிய தரவுத்தளம்
  6. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.