CNCU PCA9685 സെർവോ ഡ്രൈവർ i2C ഇൻ്റർഫേസ്
ഉൽപ്പന്ന ഉപയോഗ നിർദ്ദേശങ്ങൾ
- നിങ്ങൾ മെഷീനിൽ ERR 40 കാണുമ്പോൾ:
- മെഷീൻ ഓണാക്കി സൂക്ഷിക്കുക, ഇത് വളരെ പ്രധാനമാണ്.
- ലൈവ് പൊസിഷനിൽ നിന്ന് ബാറ്ററികൾ നീക്കം ചെയ്യുക.
- റിസർവ് ചെയ്ത സ്ഥാനത്ത് നിന്ന് ബാറ്ററികൾ ലൈവ് പൊസിഷനിലേക്ക് വയ്ക്കുക.
- മെഷീൻ റീബൂട്ട് ചെയ്യുക.
- അടുത്ത ബാറ്ററി മാറ്റത്തിനായി കരുതി വയ്ക്കാൻ രണ്ട് പുതിയ ബാറ്ററികൾ വാങ്ങാൻ മറക്കരുത്.
ബാറ്ററി മാറ്റുന്നതിൽ ബുദ്ധിമുട്ടുകൾ നേരിടുകയോ പ്രക്രിയയ്ക്കിടെ മെഷീൻ സ്ഥാനം മാറുകയോ ചെയ്താൽ AM.CO.ZA സപ്പോർട്ടുമായി ബന്ധപ്പെടുക. സഹായത്തിനായി നിങ്ങൾക്ക് 060 600 6000 എന്ന വാട്ട്സ്ആപ്പ് നമ്പറിലൂടെയും ബന്ധപ്പെടാം.
കഴിഞ്ഞുview
ആർഡ്വിനോ സെർവോ ലൈബ്രറി ഉപയോഗിച്ച് സെർവോ മോട്ടോറുകൾ ഓടിക്കുന്നത് വളരെ എളുപ്പമാണ്, പക്ഷേ ഓരോന്നിനും വിലയേറിയ ഒരു പിൻ ആവശ്യമാണ് - കുറച്ച് ആർഡ്വിനോ പ്രോസസ്സിംഗ് പവർ പരാമർശിക്കേണ്ടതില്ല. അഡാഫ്രൂട്ട് 16-ചാനൽ 12-ബിറ്റ് പിഡബ്ല്യുഎം/സെർവോ ഡ്രൈവർ 16 പിന്നുകൾ മാത്രമുള്ള I2C വഴി 2 സെർവോകൾ വരെ ഓടിക്കാൻ കഴിയും. ഓൺ-ബോർഡ് പിഡബ്ല്യുഎം കൺട്രോളർ എല്ലാ 16 ചാനലുകളെയും ഒരേസമയം ഓടിക്കും, അധിക ആർഡ്വിനോ പ്രോസസ്സിംഗ് ഓവർഹെഡില്ലാതെ. മാത്രമല്ല, 62 സെർവോകൾ വരെ നിയന്ത്രിക്കാൻ നിങ്ങൾക്ക് അവയിൽ 992 എണ്ണം വരെ ചെയിൻ ചെയ്യാൻ കഴിയും - എല്ലാം ഒരേ 2 പിന്നുകൾ ഉപയോഗിച്ച്!
ധാരാളം സെർവോകൾ ആവശ്യമുള്ള ഏതൊരു പ്രോജക്റ്റിനും അഡാഫ്രൂട്ട് പിഡബ്ല്യുഎം/സെർവോ ഡ്രൈവർ തികഞ്ഞ പരിഹാരമാണ്.
പിൻഔട്ടുകൾ
- ഇരുവശത്തും രണ്ട് സെറ്റ് കൺട്രോൾ ഇൻപുട്ട് പിന്നുകൾ ഉണ്ട്. പിന്നുകളുടെ ഇരുവശങ്ങളും ഒരുപോലെയാണ്! നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ഏത് വശവും ഉപയോഗിക്കുക, രണ്ട് വശങ്ങളിലായി ബന്ധിപ്പിച്ചുകൊണ്ട് നിങ്ങൾക്ക് എളുപ്പത്തിൽ ചെയിൻ ചെയ്യാനും കഴിയും.
പവർ പിന്നുകൾ
- GND – ഇതാണ് പവർ, സിഗ്നൽ ഗ്രൗണ്ട് പിൻ, ബന്ധിപ്പിച്ചിരിക്കണം.
- VCC – ഇതാണ് ലോജിക് പവർ പിൻ, PCA9685 ഔട്ട്പുട്ടിനായി നിങ്ങൾ ഉപയോഗിക്കാൻ ആഗ്രഹിക്കുന്ന ലോജിക് ലെവലിലേക്ക് ഇത് ബന്ധിപ്പിക്കുക, പരമാവധി 3 – 5V ആയിരിക്കണം! SCL/SDA-യിലെ 10K പുൾഅപ്പുകൾക്കും ഇത് ഉപയോഗിക്കുന്നു, അതിനാൽ നിങ്ങൾക്ക് സ്വന്തമായി പുൾഅപ്പുകൾ ഇല്ലെങ്കിൽ, അത് മൈക്രോകൺട്രോളറിന്റെ ലോജിക് ലെവലുമായി പൊരുത്തപ്പെടുന്നതാക്കുക!
- V+ – സെർവോകൾക്ക് വിതരണം ചെയ്ത പവർ നൽകുന്ന ഒരു ഓപ്ഷണൽ പവർ പിൻ ആണിത്. നിങ്ങൾ സെർവോകൾക്കായി ഉപയോഗിക്കുന്നില്ലെങ്കിൽ വിച്ഛേദിക്കപ്പെട്ട നിലയിൽ വിടാം. ചിപ്പ് ഇത് ഒട്ടും ഉപയോഗിക്കുന്നില്ല. ബോർഡിന്റെ മുകളിലുള്ള 2-പിൻ ടെർമിനൽ ബ്ലോക്കിൽ നിന്നും നിങ്ങൾക്ക് പവർ ഇഞ്ചക്ട് ചെയ്യാനും കഴിയും. നിങ്ങൾ സെർവോകൾ ഉപയോഗിക്കുകയാണെങ്കിൽ 5-6VDC നൽകണം. ആവശ്യമെങ്കിൽ, നിങ്ങൾക്ക് 12VDC യിലേക്ക് ഉയരാം, പക്ഷേ നിങ്ങൾ കുഴപ്പത്തിലാക്കി VCC യെ V+ ലേക്ക് ബന്ധിപ്പിച്ചാൽ നിങ്ങളുടെ ബോർഡിന് കേടുപാടുകൾ സംഭവിച്ചേക്കാം!
നിയന്ത്രണ പിൻസ്
- SCL – I2C ക്ലോക്ക് പിൻ, നിങ്ങളുടെ മൈക്രോകൺട്രോളർ I2C ക്ലോക്ക് ലൈനിലേക്ക് കണക്റ്റുചെയ്യുക. 3V അല്ലെങ്കിൽ 5V ലോജിക് ഉപയോഗിക്കാം, കൂടാതെ VCC-യിലേക്ക് ദുർബലമായ ഒരു പുൾ-അപ്പ് ഉണ്ട്.
- SDA – I2C ഡാറ്റ പിൻ, നിങ്ങളുടെ മൈക്രോകൺട്രോളർ I2C ഡാറ്റ ലൈനിലേക്ക് കണക്റ്റുചെയ്യുക. 3V അല്ലെങ്കിൽ 5V ലോജിക് ഉപയോഗിക്കാം, കൂടാതെ VCC-യിലേക്ക് ദുർബലമായ ഒരു പുൾ-അപ്പ് ഉണ്ട്.
- OE – ഔട്ട്പുട്ട് പ്രാപ്തമാക്കുക. എല്ലാ ഔട്ട്പുട്ടുകളും വേഗത്തിൽ പ്രവർത്തനരഹിതമാക്കാൻ ഉപയോഗിക്കാം. ഈ പിൻ കുറവായിരിക്കുമ്പോൾ എല്ലാ പിന്നുകളും പ്രവർത്തനരഹിതമാക്കും. പിൻ ഉയർന്നിരിക്കുമ്പോൾ ഔട്ട്പുട്ടുകൾ പ്രവർത്തനരഹിതമാക്കും. സ്ഥിരസ്ഥിതിയായി താഴേക്ക് വലിച്ചിരിക്കുന്നതിനാൽ ഇത് ഒരു ഓപ്ഷണൽ പിൻ ആണ്!
ഔട്ട്പുട്ട് പോർട്ടുകൾ
- 16 ഔട്ട്പുട്ട് പോർട്ടുകൾ ഉണ്ട്. ഓരോ പോർട്ടിലും 3 പിന്നുകൾ ഉണ്ട്: V+, GND, PWM ഔട്ട്പുട്ട്. ഓരോ PWM-ഉം പൂർണ്ണമായും സ്വതന്ത്രമായി പ്രവർത്തിക്കുന്നു, പക്ഷേ അവയ്ക്കെല്ലാം ഒരേ PWM ഫ്രീക്വൻസി ഉണ്ടായിരിക്കണം.
- അതായത്, LED-കൾക്ക് നിങ്ങൾക്ക് 1.0 KHz ആവശ്യമായി വന്നേക്കാം, പക്ഷേ സെർവോകൾക്ക് 60 Hz ആവശ്യമാണ് - അതിനാൽ പകുതി LED-കൾക്ക് @ 1.0 KHz ഉം പകുതി @ 60 Hz ഉം ഉപയോഗിക്കാൻ കഴിയില്ല.
- അവ സെർവോകൾക്കായി സജ്ജീകരിച്ചിരിക്കുന്നു, പക്ഷേ നിങ്ങൾക്ക് അവ LED-കൾക്കായി ഉപയോഗിക്കാം! ഒരു പിന്നിന് പരമാവധി കറന്റ് 25mA ആണ്.
- എല്ലാ PWM പിന്നുകളിലും 220 ohm റെസിസ്റ്ററുകൾ പരമ്പരയിലുണ്ട്, ഔട്ട്പുട്ട് ലോജിക് VCC-യുടേതിന് സമാനമാണ്, അതിനാൽ LED-കൾ ഉപയോഗിക്കുമ്പോൾ അത് മനസ്സിൽ വയ്ക്കുക.
അസംബ്ലി
സെർവോ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക
- ബോർഡിന്റെ അരികിൽ അടയാളപ്പെടുത്തിയ സ്ഥാനങ്ങളിൽ 4 3×4 പിൻ പുരുഷ ഹെഡറുകൾ സ്ഥാപിക്കുക.
എല്ലാ പിന്നുകളും സോൾഡർ ചെയ്യുക
- അവയിൽ ധാരാളം ഉണ്ട്!
നിയന്ത്രണത്തിനായി തലക്കെട്ടുകൾ ചേർക്കുക
- പുരുഷ ഹെഡറിന്റെ ഒരു സ്ട്രിപ്പ് ഉൾപ്പെടുത്തിയിട്ടുണ്ട്. ഹെഡറുകൾ എവിടെയാണ് ഇൻസ്റ്റാൾ ചെയ്യേണ്ടത്, ഏത് വശത്താണ് എന്നത് ഉപയോഗത്തെ ആശ്രയിച്ചിരിക്കുന്നു:
- വേണ്ടി ബ്രെഡ്ബോർഡ് (http://adafru.it/239) ഉപയോഗിക്കുക, ബോർഡിന്റെ അടിയിൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക.
- ഉപയോഗിക്കുന്നതിന് ജമ്പർ വയറുകൾ (http://adafru.it/758), ബോർഡിന് മുകളിൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക.
- ഞങ്ങളുടെ കൂടെ ഉപയോഗിക്കുന്നതിന് 6-പിൻ കേബിൾ (http://adafru.it/206), ബോർഡിന് മുകളിൽ ഹെഡറുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക.
- ഒന്നിലധികം ഡ്രൈവർ ബോർഡുകൾ ചങ്ങലകൊണ്ട് ബന്ധിപ്പിക്കുകയാണെങ്കിൽ, രണ്ട് അറ്റത്തും ഹെഡറുകൾ ആവശ്യമായി വരും.
പവർ ടെർമിനലുകൾ ഇൻസ്റ്റാൾ ചെയ്യുക
- ഒന്നിലധികം ഡ്രൈവർ ബോർഡുകൾ ചങ്ങലകൊണ്ട് ബന്ധിപ്പിക്കുകയാണെങ്കിൽ, ആദ്യത്തേതിൽ ഒരു പവർ ടെർമിനൽ മാത്രമേ ആവശ്യമുള്ളൂ.
ഹുക്ക് അപ്പ്
ആർഡ്വിനോയുമായി ബന്ധിപ്പിക്കുന്നു
- PWM/Servo ഡ്രൈവർ I2C ഉപയോഗിക്കുന്നതിനാൽ നിങ്ങളുടെ Arduino-യിലേക്ക് കണക്റ്റുചെയ്യാൻ 4 വയറുകൾ മാത്രമേ ആവശ്യമുള്ളൂ:
"ക്ലാസിക്" അർഡുനോ വയറിംഗ്:
- +5v -> VCC (ഇത് BREAKOUT-ന് മാത്രമുള്ള പവർ ആണ്, സെർവോ പവർ അല്ല!)
- GND -> GND
- അനലോഗ് 4 -> എസ്ഡിഎ
- അനലോഗ് 5 -> എസ്സിഎൽ
പഴയ മെഗാ വയറിംഗ്:
- +5v -> VCC (ഇത് BREAKOUT-ന് മാത്രമുള്ള പവർ ആണ്, സെർവോ പവർ അല്ല!)
- GND -> GND
- ഡിജിറ്റൽ 20 -> എസ്ഡിഎ
- ഡിജിറ്റൽ 21 -> എസ്സിഎൽ
R3 ഉം അതിനുശേഷമുള്ള ആർഡ്വിനോ വയറിംഗും (യുനോ, മെഗാ & ലിയോനാർഡോ):
(ഈ ബോർഡുകളിൽ യുഎസ്ബി കണക്ടറിന് അടുത്തുള്ള ഹെഡറിൽ സമർപ്പിത എസ്ഡിഎ & എസ്സിഎൽ പിന്നുകൾ ഉണ്ട്)
- +5v -> VCC (ഇത് BREAKOUT-ന് മാത്രമുള്ള പവർ ആണ്, സെർവോ പവർ അല്ല!)
- GND -> GND
- എസ്.ഡി.എ -> എസ്.ഡി.എ
- എസ്സിഎൽ -> എസ്സിഎൽ
VCC പിൻ ചിപ്പിന് തന്നെ പവർ മാത്രമാണ്. V+ പിന്നുകൾ ഉപയോഗിക്കുന്ന സെർവോകളോ LED-കളോ ബന്ധിപ്പിക്കണമെങ്കിൽ, V+ പിന്നും കണക്റ്റ് ചെയ്യണം. VCC 6V ആണെങ്കിലും (ചിപ്പ് 3.3V സുരക്ഷിതമാണ്) V+ പിൻ 5V വരെ ഉയരത്തിൽ ആകാം. നീല ടെർമിനൽ ബ്ലോക്ക് പോളാരിറ്റി-പ്രൊട്ടക്റ്റ് ആയതിനാൽ അത് വഴി പവർ കണക്റ്റ് ചെയ്യാൻ ഞങ്ങൾ നിർദ്ദേശിക്കുന്നു.
സെർവോകൾക്കുള്ള പവർ
മിക്ക സെർവോകളും ഏകദേശം 5 അല്ലെങ്കിൽ 6v-ൽ പ്രവർത്തിക്കാൻ രൂപകൽപ്പന ചെയ്തിരിക്കുന്നു. ഒരേ സമയം ചലിക്കുന്ന നിരവധി സെർവോകൾക്ക് (പ്രത്യേകിച്ച് വലിയ ശക്തമായവ) ധാരാളം കറന്റ് ആവശ്യമായി വരുമെന്ന് ഓർമ്മിക്കുക. മൈക്രോ സെർവോകൾ പോലും ചലിക്കുമ്പോൾ നൂറുകണക്കിന് mA ഉപയോഗിക്കും. ചില ഉയർന്ന ടോർക്ക് സെർവോകൾ ലോഡിന് കീഴിൽ 1A-യിൽ കൂടുതൽ ഉപയോഗിക്കും.
നല്ല പവർ തിരഞ്ഞെടുപ്പുകൾ ഇവയാണ്:
- 5v 2A സ്വിച്ചിംഗ് പവർ സപ്ലൈ (http://adafru.it/276)
- 5v 10A സ്വിച്ചിംഗ് പവർ സപ്ലൈ (http://adafru.it/658)
- 4xAA ബാറ്ററി ഹോൾഡർ (http://adafru.it/830) – ആൽക്കലൈൻ സെല്ലുകൾക്കൊപ്പം 6v. NiMH റീചാർജ് ചെയ്യാവുന്ന സെല്ലുകൾക്കൊപ്പം 4.8v.
- ഒരു ഹോബി സ്റ്റോറിൽ നിന്ന് 4.8 അല്ലെങ്കിൽ 6v റീചാർജ് ചെയ്യാവുന്ന RC ബാറ്ററി പായ്ക്കുകൾ.
നിങ്ങളുടെ സെർവോകൾക്ക് പവർ നൽകാൻ Arduino 5v പിൻ ഉപയോഗിക്കുന്നത് നല്ല ആശയമല്ല. അധിക കറന്റ് വലിച്ചെടുക്കുന്നതിലൂടെ ഉണ്ടാകുന്ന വൈദ്യുത ശബ്ദവും 'തവിട്ടുനിറവും' നിങ്ങളുടെ Arduino ക്രമരഹിതമായി പ്രവർത്തിക്കാനും, പുനഃസജ്ജമാക്കാനും അല്ലെങ്കിൽ അമിതമായി ചൂടാകാനും കാരണമാകും.
ത്രൂ-ഹോൾ കപ്പാസിറ്റർ സ്ലോട്ടിലേക്ക് ഒരു കപ്പാസിറ്റർ ചേർക്കുന്നു
ഒരു ഇലക്ട്രോലൈറ്റിക് കപ്പാസിറ്ററിൽ സോൾഡറിംഗിനായി PCB-യിൽ ഒരു സ്ഥലം നമുക്കുണ്ട്. നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി, നിങ്ങൾക്ക് ഒരു കപ്പാസിറ്റർ ആവശ്യമായി വന്നേക്കാം അല്ലെങ്കിൽ ഇല്ലായിരിക്കാം. സെർവോസ് നീങ്ങുമ്പോൾ വളരെയധികം കുറയുന്ന ഒരു പവർ സപ്ലൈയിൽ നിന്ന് നിങ്ങൾ ധാരാളം സെർവോകൾ ഓടിക്കുകയാണെങ്കിൽ, n * 100uF ഇവിടെ n എന്നത് സെർവോകളുടെ എണ്ണമാണ് - ഉദാ: 470 സെർവോകൾക്ക് 5uF അല്ലെങ്കിൽ അതിൽ കൂടുതൽ. സെർവോ കറന്റ് ഡ്രാഫ്റ്റ്, ഓരോ മോട്ടോറിലെയും ടോർക്ക്, ഏത് പവർ സപ്ലൈ എന്നിവയെ ആശ്രയിച്ചിരിക്കുന്നതിനാൽ, "ഒരു മാജിക് കപ്പാസിറ്റർ മൂല്യം" ഇല്ല എന്ന് ഞങ്ങൾക്ക് നിർദ്ദേശിക്കാൻ കഴിയും, അതുകൊണ്ടാണ് ഞങ്ങൾ കിറ്റിൽ ഒരു കപ്പാസിറ്റർ ഉൾപ്പെടുത്താത്തത്.
ഒരു സെർവോ ബന്ധിപ്പിക്കുന്നു
മിക്ക സെർവോകളിലും സെർവോ ഡ്രൈവറിലെ ഹെഡറുകളിലേക്ക് നേരിട്ട് പ്ലഗ് ചെയ്യുന്ന ഒരു സ്റ്റാൻഡേർഡ് 3-പിൻ ഫീമെയിൽ കണക്ടറാണ് വരുന്നത്. പ്ലഗ് ഗ്രൗണ്ട് വയർ (സാധാരണയായി കറുപ്പ് അല്ലെങ്കിൽ തവിട്ട്) താഴത്തെ വരിയിലും സിഗ്നൽ വയർ (സാധാരണയായി മഞ്ഞ അല്ലെങ്കിൽ വെള്ള) മുകളിലുമായി വിന്യസിക്കുന്നത് ഉറപ്പാക്കുക.
കൂടുതൽ സെർവോകൾ ചേർക്കുന്നു
ഒരു ബോർഡിൽ 16 സെർവോകൾ വരെ ഘടിപ്പിക്കാം. 16-ൽ കൂടുതൽ സെർവോകൾ നിയന്ത്രിക്കണമെങ്കിൽ, അടുത്ത പേജിൽ വിവരിച്ചിരിക്കുന്നതുപോലെ അധിക ബോർഡുകൾ ചങ്ങലകൊണ്ട് ബന്ധിപ്പിക്കാം.
ചെയിനിംഗ് ഡ്രൈവറുകൾ
- കൂടുതൽ സെർവോകളെ നിയന്ത്രിക്കുന്നതിന് ഒന്നിലധികം ഡ്രൈവറുകൾ (62 വരെ) ബന്ധിപ്പിച്ചിരിക്കുന്നു.
- ബോർഡിന്റെ രണ്ടറ്റത്തും ഹെഡറുകൾ ഉള്ളതിനാൽ, വയറിംഗ് ഒരു കണക്റ്റ് ചെയ്യുന്നത് പോലെ ലളിതമാണ് 6-പിൻ പാരലൽ കേബിൾ (http://adafru.it/206) ഒരു ബോർഡിൽ നിന്ന് അടുത്തതിലേക്ക്.
ബോർഡുകളെ അഭിസംബോധന ചെയ്യുന്നു
- ചെയിനിലെ ഓരോ ബോർഡിനും ഒരു അദ്വിതീയ വിലാസം നൽകണം. ബോർഡിന്റെ മുകളിൽ വലതുവശത്തുള്ള വിലാസ ജമ്പറുകൾ ഉപയോഗിച്ചാണ് ഇത് ചെയ്യുന്നത്. ഓരോ ബോർഡിന്റെയും I2C അടിസ്ഥാന വിലാസം 0x40 ആണ്. വിലാസ ജമ്പറുകൾ ഉപയോഗിച്ച് നിങ്ങൾ പ്രോഗ്രാം ചെയ്യുന്ന ബൈനറി വിലാസം അടിസ്ഥാന I2C വിലാസത്തിലേക്ക് ചേർക്കുന്നു.
- വിലാസ ഓഫ്സെറ്റ് പ്രോഗ്രാം ചെയ്യുന്നതിന്, വിലാസത്തിലെ ഓരോ ബൈനറി '1' നും അനുബന്ധ വിലാസ ജമ്പർ ബ്രിഡ്ജ് ചെയ്യുന്നതിന് ഒരു തുള്ളി സോൾഡർ ഉപയോഗിക്കുക.
- ബോർഡ് 0: വിലാസം = 0x40 ഓഫ്സെറ്റ് = ബൈനറി 00000 (ജമ്പറുകൾ ആവശ്യമില്ല)
- ബോർഡ് 1: വിലാസം = 0x41 ഓഫ്സെറ്റ് = ബൈനറി 00001 (മുകളിലുള്ള ഫോട്ടോയിലെന്നപോലെ ബ്രിഡ്ജ് A0)
- ബോർഡ് 2: വിലാസം = 0x42 ഓഫ്സെറ്റ് = ബൈനറി 00010 (ബ്രിഡ്ജ് A1)
- ബോർഡ് 3: വിലാസം = 0x43 ഓഫ്സെറ്റ് = ബൈനറി 00011 (ബ്രിഡ്ജ് A0 & A1)
- ബോർഡ് 4: വിലാസം = 0x44 ഓഫ്സെറ്റ് = ബൈനറി 00100 (ബ്രിഡ്ജ് A2)
മുതലായവ
നിങ്ങളുടെ സ്കെച്ചിൽ, ഓരോ ബോർഡിനും ഒരു പ്രത്യേക പ്രോജക്റ്റ് പ്രഖ്യാപിക്കേണ്ടതുണ്ട്. ഓരോ ഒബ്ജക്റ്റിലും കോൾ ആരംഭിക്കുകയും ഓരോ സെർവോയെയും അത് ഘടിപ്പിച്ചിരിക്കുന്ന ഒബ്ജക്റ്റിലൂടെ നിയന്ത്രിക്കുകയും ചെയ്യുന്നു. ഉദാഹരണത്തിന്ampLe:
അഡാഫ്രൂട്ട് ലൈബ്രറി ഉപയോഗിക്കുന്നു
- PWM സെർവോ ഡ്രൈവർ I2C വഴി നിയന്ത്രിക്കപ്പെടുന്നതിനാൽ, ഏത് മൈക്രോകൺട്രോളറിലും മൈക്രോകമ്പ്യൂട്ടറിലും ഉപയോഗിക്കാൻ വളരെ എളുപ്പമാണ്.
- ഈ ഡെമോയിൽ, Arduino IDE ഉപയോഗിച്ച് ഇത് ഉപയോഗിക്കുന്നത് നമ്മൾ കാണിക്കും, പക്ഷേ C++ കോഡ് എളുപ്പത്തിൽ പോർട്ട് ചെയ്യാൻ കഴിയും.
Adafruit PCA9685 ലൈബ്രറി ഇൻസ്റ്റാൾ ചെയ്യുക
- സെൻസർ ഡാറ്റ വായിക്കാൻ തുടങ്ങുന്നതിന്, നിങ്ങൾ ചെയ്യേണ്ടത് Adafruit_PWMServo ലൈബ്രറി ഇൻസ്റ്റാൾ ചെയ്യുക (ഞങ്ങളുടെ ഗിത്തബ് റിപ്പോസിറ്ററിയിലെ കോഡ്) (https://adafru.it/aQl). ഇത് Arduino ലൈബ്രറി മാനേജറിൽ നിന്ന് ലഭ്യമാണ്, അതിനാൽ അത് ഉപയോഗിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.
- IDE യിൽ നിന്ന് ലൈബ്രറി മാനേജർ തുറക്കുക...
- ലൈബ്രറി കണ്ടെത്താൻ adafruit pwm എന്ന് ടൈപ്പ് ചെയ്യുക. ഇൻസ്റ്റാൾ ക്ലിക്ക് ചെയ്യുക.
- Arduino ലൈബ്രറി ഇൻസ്റ്റാളേഷനെക്കുറിച്ചുള്ള ഒരു മികച്ച ട്യൂട്ടോറിയലും ഇവിടെയുണ്ട്: http://learn.adafruit.com/adafruit-all-about-arduino-libraries-install-use (https://adafru.it/aYM)
Ex ഉപയോഗിച്ച് പരീക്ഷിക്കുകample കോഡ്:
- ആദ്യം Arduino IDE യുടെ എല്ലാ പകർപ്പുകളും അടച്ചിട്ടുണ്ടെന്ന് ഉറപ്പാക്കുക.
- അടുത്തതായി Arduino IDE തുറന്ന് തിരഞ്ഞെടുക്കുക File-> ഉദാamples->Adafruit_PWMServoDriver- >സെർവോ. ഇത് ex തുറക്കുംample file ഒരു IDE വിൻഡോയിൽ.
ബ്രേക്ക്ഔട്ട് ഉപയോഗിക്കുകയാണെങ്കിൽ:
- മുൻ പേജിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ഡ്രൈവർ ബോർഡും സെർവോയും ബന്ധിപ്പിക്കുക. വിൻ (3-5V ലോജിക് ലെവൽ), V+ (5V സെർവോ പവർ) എന്നിവയ്ക്ക് പവർ നൽകാൻ മറക്കരുത്. പച്ച LED കത്തുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക!
ഒരു ഷീൽഡ് ഉപയോഗിക്കുകയാണെങ്കിൽ:
- നിങ്ങളുടെ ആർഡ്വിനോയിൽ ഷീൽഡ് പ്ലഗ് ചെയ്യുക. V+ ടെർമിനൽ ബ്ലോക്കിലേക്ക് 5V കൂടി നൽകേണ്ടിവരുമെന്ന് മറക്കരുത്. ചുവപ്പും പച്ചയും നിറങ്ങളിലുള്ള LED-കൾ പ്രകാശിപ്പിക്കണം.
ഒരു ഫെതർവിംഗ് ഉപയോഗിക്കുകയാണെങ്കിൽ:
- നിങ്ങളുടെ ഫെതറിലേക്ക് ഫെതർവിംഗ് പ്ലഗ് ചെയ്യുക. V+ ടെർമിനൽ ബ്ലോക്കിലേക്ക് 5V കൂടി നൽകേണ്ടിവരുമെന്ന് മറക്കരുത്. പച്ച LED കത്തുന്നുണ്ടോ എന്ന് പരിശോധിക്കുക!
ഒരു സെർവോ ബന്ധിപ്പിക്കുക
- ആദ്യത്തെ പോർട്ടായ PWM #0 പോർട്ടിലേക്ക് ഒരു സിംഗിൾ സെർവോ പ്ലഗ് ചെയ്യണം. സെർവോ ഏകദേശം 180 ഡിഗ്രിയിൽ മുന്നോട്ടും പിന്നോട്ടും സ്വീപ്പ് ചെയ്യുന്നത് നിങ്ങൾ കാണും.
നിങ്ങളുടെ സെർവോസ് കാലിബ്രേറ്റ് ചെയ്യുന്നു
സെർവോ പൾസ് സമയം വ്യത്യസ്ത ബ്രാൻഡുകൾക്കും മോഡലുകൾക്കും ഇടയിൽ വ്യത്യാസപ്പെടുന്നു. ഇത് ഒരു അനലോഗ് കൺട്രോൾ സർക്യൂട്ട് ആയതിനാൽ, പലപ്പോഴും s-കൾക്കിടയിൽ ചില വ്യത്യാസങ്ങൾ ഉണ്ടാകാറുണ്ട്.ampഒരേ ബ്രാൻഡിലും മോഡലിലുമുള്ള പൾസുകൾ. കൃത്യമായ പൊസിഷൻ നിയന്ത്രണത്തിനായി, സെർവോയുടെ അറിയപ്പെടുന്ന സ്ഥാനങ്ങളുമായി പൊരുത്തപ്പെടുന്നതിന് നിങ്ങളുടെ കോഡിലെ ഏറ്റവും കുറഞ്ഞതും പരമാവധി പൾസ് വീതിയും കാലിബ്രേറ്റ് ചെയ്യേണ്ടതുണ്ട്.
ഏറ്റവും കുറഞ്ഞത് കണ്ടെത്തുക:
- മുൻ ഉപയോഗിക്കുന്നത്ample കോഡ്, സ്വീപ്പിന്റെ താഴ്ന്ന പോയിന്റ് യാത്രയുടെ ഏറ്റവും കുറഞ്ഞ പരിധിയിൽ എത്തുന്നതുവരെ SERVOMIN എഡിറ്റ് ചെയ്യുക. ഇത് ക്രമേണ സമീപിച്ച് യാത്രയുടെ ഭൗതിക പരിധി എത്തുന്നതിനുമുമ്പ് നിർത്തുന്നതാണ് നല്ലത്.
പരമാവധി കണ്ടെത്തുക:
- വീണ്ടും ex ഉപയോഗിക്കുന്നുample കോഡ്, സ്വീപ്പിന്റെ ഉയർന്ന പോയിന്റ് യാത്രയുടെ പരമാവധി പരിധിയിൽ എത്തുന്നതുവരെ SERVOMAX എഡിറ്റ് ചെയ്യുക. വീണ്ടും, ഇത് ക്രമേണ സമീപിച്ച് യാത്രയുടെ ഭൗതിക പരിധി എത്തുന്നതിനുമുമ്പ് നിർത്തുന്നതാണ് നല്ലത്.
SERVOMIN ഉം SERVOMAX ഉം ക്രമീകരിക്കുമ്പോൾ ജാഗ്രത പാലിക്കുക. യാത്രയുടെ ഭൗതിക പരിധികൾ കവിയുന്നത് ഗിയറുകൾ വിച്ഛേദിക്കപ്പെടാനും നിങ്ങളുടെ സെർവോയ്ക്ക് സ്ഥിരമായി കേടുപാടുകൾ സംഭവിക്കാനും ഇടയാക്കും.
ഡിഗ്രികളിൽ നിന്ന് പൾസ് നീളത്തിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു
ദി ആർഡ്വിനോ “മാപ്പ്()” ഫംഗ്ഷൻ (https://adafru.it/aQm) എന്നത് നിങ്ങളുടെ കാലിബ്രേറ്റ് ചെയ്ത SERVOMIN, SERVOMAX പൾസ് ദൈർഘ്യങ്ങളും ഭ്രമണത്തിന്റെ ഡിഗ്രികളും തമ്മിൽ പരിവർത്തനം ചെയ്യുന്നതിനുള്ള ഒരു എളുപ്പ മാർഗമാണ്. 180 ഡിഗ്രി ഭ്രമണമുള്ള ഒരു സാധാരണ സെർവോ ആണെന്ന് കരുതുക; നിങ്ങൾ SERVOMIN നെ 0-ഡിഗ്രി സ്ഥാനത്തേക്കും SERVOMAX നെ 180-ഡിഗ്രി സ്ഥാനത്തേക്കും കാലിബ്രേറ്റ് ചെയ്തുകഴിഞ്ഞാൽ, ഇനിപ്പറയുന്ന കോഡ് ലൈൻ ഉപയോഗിച്ച് 0 നും 180 ഡിഗ്രിക്കും ഇടയിലുള്ള ഏത് കോണും അനുബന്ധ പൾസ് ദൈർഘ്യത്തിലേക്ക് പരിവർത്തനം ചെയ്യാൻ കഴിയും:
ലൈബ്രറി റഫറൻസ് സെറ്റ്PWMFreq(ആവൃത്തി)
വിവരണം
- ഈ ഫംഗ്ഷൻ ഉപയോഗിച്ച്, ഐസി സെക്കൻഡിൽ എത്ര പൂർണ്ണ 'പൾസുകൾ' സൃഷ്ടിക്കുന്നുവെന്ന് നിർണ്ണയിക്കുന്ന PWM ഫ്രീക്വൻസി ക്രമീകരിക്കാൻ കഴിയും. വ്യത്യസ്തമായി പറഞ്ഞാൽ, പൾസിന്റെ ഉയർന്നതും താഴ്ന്നതുമായ സെഗ്മെന്റുകൾ കണക്കിലെടുത്ത്, ഓരോ പൾസിന്റെയും ദൈർഘ്യം തുടക്കം മുതൽ അവസാനം വരെ എത്ര 'ദൈർഘ്യമുള്ളതാണ്' എന്ന് ഫ്രീക്വൻസി നിർണ്ണയിക്കുന്നു.
- PWM-ൽ ഫ്രീക്വൻസി പ്രധാനമാണ്, കാരണം വളരെ ചെറിയ ഡ്യൂട്ടി സൈക്കിളിൽ ഫ്രീക്വൻസി വളരെ ഉയർന്നതായി സജ്ജീകരിക്കുന്നത് പ്രശ്നങ്ങൾക്ക് കാരണമാകും. കാരണം സിഗ്നലിന്റെ 'ഉയർച്ച സമയം' (0V-യിൽ നിന്ന് VCC-യിലേക്ക് പോകാൻ എടുക്കുന്ന സമയം) സിഗ്നൽ സജീവമായിരിക്കുന്ന സമയത്തേക്കാൾ കൂടുതലായിരിക്കാം, കൂടാതെ PWM ഔട്ട്പുട്ട് സുഗമമായി കാണപ്പെടുകയും VCC-യിൽ പോലും എത്താതിരിക്കുകയും ചെയ്യും, ഇത് നിരവധി പ്രശ്നങ്ങൾക്ക് കാരണമാകും.
വാദങ്ങൾ
- ഫ്രീക്വൻസി: 40 നും 1600 നും ഇടയിലുള്ള, Hz-ൽ ഫ്രീക്വൻസിയെ പ്രതിനിധീകരിക്കുന്ന ഒരു സംഖ്യ.
Example
- ഇനിപ്പറയുന്ന കോഡ് PWM ഫ്രീക്വൻസി 1000Hz ആയി സജ്ജമാക്കും:
സെറ്റ്പിഡബ്ല്യുഎം(ചാനൽ, ഓൺ, ഓഫ്)
വിവരണം
ഈ ഫംഗ്ഷൻ ഒരു പ്രത്യേക ചാനലിൽ PWM പൾസിന്റെ ഉയർന്ന സെഗ്മെന്റിന്റെ ആരംഭം (ഓൺ) ഉം അവസാനം (ഓഫ്) ഉം സജ്ജമാക്കുന്നു. സിഗ്നൽ എപ്പോൾ ഓണാകുമെന്നും എപ്പോൾ ഓഫാകുമെന്നും 0..4095 നും ഇടയിലുള്ള 'ടിക്ക്' മൂല്യം നിങ്ങൾ വ്യക്തമാക്കുന്നു. 16 PWM ഔട്ട്പുട്ടുകളിൽ ഏതാണ് പുതിയ മൂല്യങ്ങൾ ഉപയോഗിച്ച് അപ്ഡേറ്റ് ചെയ്യേണ്ടതെന്ന് ചാനൽ സൂചിപ്പിക്കുന്നു.
വാദങ്ങൾ
- ചാനൽ: പുതിയ മൂല്യങ്ങൾ ഉപയോഗിച്ച് അപ്ഡേറ്റ് ചെയ്യേണ്ട ചാനൽ (0..15)
- ഓൺ: സിഗ്നൽ താഴ്ന്നതിൽ നിന്ന് ഉയർന്നതിലേക്ക് മാറേണ്ട ടിക്ക് (0..4095 നും ഇടയിലുള്ളത്)
- ഓഫ്: സിഗ്നൽ ഉയർന്നതിൽ നിന്ന് താഴ്ന്നതിലേക്ക് മാറേണ്ട ടിക്ക് (0..4095 നും ഇടയിലുള്ളത്)
Example
ഇനിപ്പറയുന്ന മുൻample ചാനൽ 15 താഴ്ന്ന നിലയിൽ ആരംഭിക്കാനും, പൾസിൽ 25% ഉയരാനും (1024 ൽ 4096 ടിക്ക്), പൾസിൽ 75% താഴ്ന്ന നിലയിലേക്ക് മടങ്ങാനും (ടിക്ക് 3072) കാരണമാകും, കൂടാതെ പൾസിന്റെ അവസാന 25% താഴ്ന്ന നിലയിൽ തുടരാനും കാരണമാകും:
GPIO ആയി ഉപയോഗിക്കുന്നു
- പിന്നുകൾ പൂർണ്ണമായും ഓണാക്കാനോ ഓഫാക്കാനോ ചില പ്രത്യേക ക്രമീകരണങ്ങളുമുണ്ട്.
ആർഡ്വിനോ ലൈബ്രറി ഡോക്സ്
പൈത്തൺ & സർക്യൂട്ട് പൈത്തൺ
- പൈത്തൺ അല്ലെങ്കിൽ സർക്യൂട്ട് പൈത്തൺ, അഡാഫ്രൂട്ട് എന്നിവയ്ക്കൊപ്പം PCA9685 ഡ്രൈവർ ഉപയോഗിക്കുന്നത് എളുപ്പമാണ്. സർക്യൂട്ട്പൈത്തൺ PCA9685 (https://adafru.it/tZF) മൊഡ്യൂൾ. ഈ ബ്രേക്ക്ഔട്ട് ഉപയോഗിച്ച് സെർവോകളെയും PWM-നെയും നിയന്ത്രിക്കുന്ന പൈത്തൺ കോഡ് എളുപ്പത്തിൽ എഴുതാൻ ഈ മൊഡ്യൂൾ നിങ്ങളെ അനുവദിക്കുന്നു.
- ഈ ഡ്രൈവർ ബോർഡ് ഏത് സർക്യൂട്ട് പൈത്തൺ മൈക്രോകൺട്രോളർ ബോർഡിലും അല്ലെങ്കിൽ GPIO, പൈത്തൺ എന്നിവയുള്ള ഒരു കമ്പ്യൂട്ടറിലും ഉപയോഗിക്കാം. ഞങ്ങളുടെ സർക്യൂട്ട് പൈത്തൺ-ഫോർ- പൈത്തൺ അനുയോജ്യതാ ലൈബ്രറിയായ Adafruit_Blinka-യ്ക്ക് നന്ദി. (https://adafru.it/BSN).
സർക്യൂട്ട് പൈത്തൺ മൈക്രോകൺട്രോളർ വയറിംഗ്
ആദ്യം Arduino യുടെ മുൻ പേജുകളിൽ കാണിച്ചിരിക്കുന്നതുപോലെ തന്നെ നിങ്ങളുടെ ബോർഡിൽ ഒരു PCA9685 വയർ ചെയ്യുക. ഇതാ ഒരു ഉദാഹരണം.ampI0C ഉപയോഗിച്ച് ഡ്രൈവർ ബോർഡിലേക്ക് ഒരു ഫെതർ M2 വയറിംഗ് ചെയ്യുന്നതിന്റെ le:
പൈത്തൺ കമ്പ്യൂട്ടർ വയറിംഗ്
- നിങ്ങൾക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന ഡസൻ കണക്കിന് ലിനക്സ് കമ്പ്യൂട്ടറുകൾ/ബോർഡുകൾ ഉള്ളതിനാൽ, റാസ്പ്ബെറി പൈയ്ക്കുള്ള വയറിംഗ് ഞങ്ങൾ കാണിക്കും. മറ്റ് പ്ലാറ്റ്ഫോമുകൾക്ക്, നിങ്ങളുടെ പ്ലാറ്റ്ഫോമിന് പിന്തുണയുണ്ടോ എന്ന് കാണാൻ ലിനക്സിലെ സർക്യൂട്ട് പൈത്തണിനായുള്ള ഗൈഡ് സന്ദർശിക്കുക. (https://adafru.it/BSN).
- I2C ഉപയോഗിച്ച് വയർ ചെയ്ത റാസ്ബെറി പൈ ഇതാ:
RasPi അല്ലെങ്കിൽ Linux ബോർഡിന്റെ 5V പവർ ഉപയോഗിച്ച് നിങ്ങളുടെ സെർവോകൾക്ക് പവർ നൽകാൻ ശ്രമിക്കരുത്, കാരണം നിങ്ങൾക്ക് എളുപ്പത്തിൽ ഒരു പവർ സപ്ലൈ ബ്രൗൺ-ഔട്ട് ഉണ്ടാക്കാനും നിങ്ങളുടെ പൈയെ കുഴപ്പത്തിലാക്കാനും കഴിയും! ഒരു പ്രത്യേക 5v 2A അല്ലെങ്കിൽ 4A അഡാപ്റ്റർ ഉപയോഗിക്കുക.
- 5V 2A (2000mA) സ്വിച്ചിംഗ് പവർ സപ്ലൈ - UL ലിസ്റ്റ് ചെയ്തിട്ടുണ്ട്
- ഇതൊരു FCC/CE സർട്ടിഫൈഡ്, UL-ലിസ്റ്റഡ് പവർ സപ്ലൈ ആണ്. ധാരാളം 5V പവർ ആവശ്യമുണ്ടോ?
- ഈ സ്വിച്ചിംഗ് സപ്ലൈ 5mA വരെ ക്ലീൻ റെഗുലേറ്റഡ് 2000V ഔട്ട്പുട്ട് നൽകുന്നു. 110 അല്ലെങ്കിൽ 240 ഇൻപുട്ട്, അതിനാൽ ഇത് പ്രവർത്തിക്കുന്നു... https://www.adafruit.com/product/276
- 5V 4A (4000mA) സ്വിച്ചിംഗ് പവർ സപ്ലൈ - UL ലിസ്റ്റ് ചെയ്തിട്ടുണ്ട്
- ധാരാളം 5V പവർ ആവശ്യമുണ്ടോ? ഈ സ്വിച്ചിംഗ് സപ്ലൈ 5 V വരെ ക്ലീൻ റെഗുലേറ്റഡ് 4V ഔട്ട്പുട്ട് നൽകുന്നു. Amps (4000mA). 110 അല്ലെങ്കിൽ 240 ഇൻപുട്ട്, അതിനാൽ ഇത് ഏത് രാജ്യത്തും പ്രവർത്തിക്കുന്നു. പ്ലഗുകൾ “യുഎസ്…” ആണ്. https://www.adafruit.com/product/1466
PCA9685, സെർവോകിറ്റ് ലൈബ്രറികളുടെ സർക്യൂട്ട് പൈത്തൺ ഇൻസ്റ്റാളേഷൻ
- നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട് അഡാഫ്രൂട്ട് സർക്യൂട്ട്പൈത്തൺ പിസിഎ9685 (https://adafru.it/tZF) നിങ്ങളുടെ CircuitPython ബോർഡിലെ ലൈബ്രറി.
- ആദ്യം നിങ്ങൾ പ്രവർത്തിപ്പിക്കുന്നുവെന്ന് ഉറപ്പാക്കുക അഡാഫ്രൂട്ട് സർക്യൂട്ട് പൈത്തണിന്റെ ഏറ്റവും പുതിയ പതിപ്പ് (https://adafru.it/Amd) നിങ്ങളുടെ ബോർഡിനായി.
- അടുത്തതായി നിങ്ങൾ ഹാർഡ്വെയർ ഉപയോഗിക്കുന്നതിന് ആവശ്യമായ ലൈബ്രറികൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്–ഈ ലൈബ്രറികൾ കണ്ടെത്തി ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനുള്ള ഘട്ടങ്ങൾ ശ്രദ്ധാപൂർവ്വം പിന്തുടരുക അഡാഫ്രൂട്ടിന്റെ സർക്യൂട്ട് പൈത്തൺ ലൈബ്രറി ബണ്ടിൽ (https://adafru.it/uap). ഞങ്ങളുടെ സർക്യൂട്ട് പൈത്തൺ സ്റ്റാർട്ടർ ഗൈഡിന് ഒരു മികച്ച പേജ് ഉണ്ട് ലൈബ്രറി ബണ്ടിൽ എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാംഇ (https://adafru.it/ABU).
Trinket M0 അല്ലെങ്കിൽ Gemma M0 പോലുള്ള നോൺ-എക്സ്പ്രസ് ബോർഡുകൾക്ക്, ബണ്ടിലിൽ നിന്ന് ആവശ്യമായ ലൈബ്രറികൾ നിങ്ങൾ സ്വമേധയാ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്:
- അഡാഫ്രൂട്ട്_പിസിഎ9685.എംപിഐ
- adafruit_bus_device
- അഡാഫ്രൂട്ട്_രജിസ്റ്റർ
- അഡാഫ്രൂട്ട്_മോട്ടോർ
- അഡാഫ്രൂട്ട്_സെർവോകിറ്റ്.എംപിഐ
തുടരുന്നതിന് മുമ്പ് നിങ്ങളുടെ ബോർഡിന്റെ ലിബ് ഫോൾഡറോ റൂട്ടോ ഉറപ്പാക്കുക fileസിസ്റ്റത്തിൽ adafruit_pca9685.mpy, adafruit_register, adafruit_servokit.mpy, adafruit_motor, adafruit_bus_device എന്നിവയുണ്ട്. fileകളും ഫോൾഡറുകളും പകർത്തി.
അടുത്തത് ബോർഡിന്റെ സീരിയൽ REPL-ലേക്ക് കണക്റ്റ് ചെയ്യുക. (https://adafru.it/Awz) അപ്പോൾ നിങ്ങൾ CircuitPython >>> പ്രോംപ്റ്റിലാണ്.
PCA9685, സെർവോകിറ്റ് ലൈബ്രറികളുടെ പൈത്തൺ ഇൻസ്റ്റാളേഷൻ
പൈത്തണിൽ സർക്യൂട്ട് പൈത്തൺ പിന്തുണ നൽകുന്ന Adafruit_Blinka ലൈബ്രറി നിങ്ങൾ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്. ഇതിന് നിങ്ങളുടെ പ്ലാറ്റ്ഫോമിൽ I2C പ്രവർത്തനക്ഷമമാക്കുകയും നിങ്ങൾ പൈത്തൺ 3 പ്രവർത്തിപ്പിക്കുന്നുണ്ടോ എന്ന് സ്ഥിരീകരിക്കുകയും ചെയ്യേണ്ടതായി വന്നേക്കാം. ഓരോ പ്ലാറ്റ്ഫോമും അല്പം വ്യത്യസ്തമായതിനാലും, ലിനക്സ് പലപ്പോഴും മാറുന്നതിനാലും, നിങ്ങളുടെ കമ്പ്യൂട്ടർ തയ്യാറാക്കാൻ ലിനക്സിലെ സർക്യൂട്ട് പൈത്തൺ ഗൈഡ് സന്ദർശിക്കുക. (https://adafru.it/BSN)!
- അത് ചെയ്തുകഴിഞ്ഞാൽ, നിങ്ങളുടെ കമാൻഡ് ലൈനിൽ നിന്ന് ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിക്കുക:
- നിങ്ങളുടെ ഡിഫോൾട്ട് പൈത്തൺ പതിപ്പ് 3 ആണെങ്കിൽ പകരം നിങ്ങൾ 'പിപ്പ്' പ്രവർത്തിപ്പിക്കേണ്ടി വന്നേക്കാം. നിങ്ങൾ Python 2.x-ൽ CircuitPython ഉപയോഗിക്കാൻ ശ്രമിക്കുന്നില്ലെന്ന് ഉറപ്പാക്കുക, അത് പിന്തുണയ്ക്കുന്നില്ല!
CircuitPython & Python ഉപയോഗം
- ബോർഡിന്റെ പൈത്തൺ പ്രോംപ്റ്റിൽ / REPL-ൽ നിന്ന് PCA9685 എങ്ങനെ നിയന്ത്രിക്കാമെന്ന് ഇനിപ്പറയുന്ന വിഭാഗം കാണിച്ചുതരും. താഴെയുള്ള കോഡ് ടൈപ്പ് ചെയ്തുകൊണ്ട് സെർവോകളും ഡിം LED-കളും എങ്ങനെ സംവേദനാത്മകമായി നിയന്ത്രിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.
LED-കൾ മങ്ങിക്കുന്നു
ആവശ്യമായ മൊഡ്യൂളുകൾ ഇറക്കുമതി ചെയ്യുന്നതിനും ഡ്രൈവർ ബോർഡുമായി I2C കണക്ഷൻ ആരംഭിക്കുന്നതിനും ഇനിപ്പറയുന്ന കോഡ് പ്രവർത്തിപ്പിക്കുക:
- PCA9685 ന്റെ ഓരോ ചാനലും ഉപയോഗിച്ച് ഒരു LED യുടെ തെളിച്ചം നിയന്ത്രിക്കാൻ കഴിയും. PCA9685 ഒരു ഹൈ-സ്പീഡ് PWM സിഗ്നൽ സൃഷ്ടിക്കുന്നു, ഇത് LED വളരെ വേഗത്തിൽ ഓണും ഓഫും ആക്കുന്നു. LED ഓഫാക്കിയതിനേക്കാൾ കൂടുതൽ സമയം ഓണാക്കിയിട്ടുണ്ടെങ്കിൽ അത് നിങ്ങളുടെ കണ്ണുകൾക്ക് കൂടുതൽ തിളക്കമുള്ളതായി കാണപ്പെടും.
- ആദ്യം ഒരു LED ബോർഡിലേക്ക് ഇതുപോലെ വയർ ചെയ്യുക. LED വഴിയുള്ള കറന്റ് പരിമിതപ്പെടുത്താൻ നിങ്ങൾ ഒരു റെസിസ്റ്റർ ഉപയോഗിക്കേണ്ടതില്ല എന്ന കാര്യം ശ്രദ്ധിക്കുക, കാരണം PCA9685 കറന്റ് ഏകദേശം 10mA ആയി പരിമിതപ്പെടുത്തും:
എൽഇഡി കാഥോഡ് / പിസിഎ9685 ചാനൽ ജിഎൻഡി / ഗ്രൗണ്ടിലേക്കുള്ള ചെറിയ ലെഗ്. എൽഇഡി ആനോഡ് / പിസിഎ9685 ചാനൽ പിഡബ്ല്യുഎമ്മിലേക്കുള്ള നീളമുള്ള ലെഗ്.
- PCA9685 ക്ലാസ് PWM ഫ്രീക്വൻസിയുടെയും ഓരോ ചാനലിന്റെയും ഡ്യൂട്ടി സൈക്കിളിന്റെയും നിയന്ത്രണം നൽകുന്നു. പരിശോധിക്കുക PCA9685 ക്ലാസ് ഡോക്യുമെന്റേഷൻ (https://adafru.it/C5n) കൂടുതൽ വിവരങ്ങൾക്ക്.
- LED-കൾ മങ്ങിക്കുന്നതിന്, നിങ്ങൾ സാധാരണയായി വേഗതയേറിയ PWM സിഗ്നൽ ഫ്രീക്വൻസി ഉപയോഗിക്കേണ്ടതില്ല, കൂടാതെ ഫ്രീക്വൻസി ആട്രിബ്യൂട്ട് സജ്ജീകരിച്ചുകൊണ്ട് ബോർഡിന്റെ PWM ഫ്രീക്വൻസി 60hz ആയി സജ്ജമാക്കാൻ കഴിയും:
- PCA9685 ഒരേ ഫ്രീക്വൻസി പങ്കിടുന്ന 16 വ്യത്യസ്ത ചാനലുകളെ പിന്തുണയ്ക്കുന്നു, പക്ഷേ സ്വതന്ത്ര ഡ്യൂട്ടി സൈക്കിളുകൾ ഉണ്ടായിരിക്കാം. അങ്ങനെ നിങ്ങൾക്ക് 16 LED-കൾ വെവ്വേറെ ഡിം ചെയ്യാൻ കഴിയും!
- PCA9685 ഒബ്ജക്റ്റിന് ഒരു ചാനൽ ആട്രിബ്യൂട്ട് ഉണ്ട്, അതിൽ ഓരോ ചാനലിനും ഡ്യൂട്ടി സൈക്കിൾ നിയന്ത്രിക്കാൻ കഴിയുന്ന ഒരു ഒബ്ജക്റ്റ് ഉണ്ട്. വ്യക്തിഗത ചാനൽ ചാനലുകളിലേക്ക് ഇൻഡെക്സ് ചെയ്യാൻ [] ഉപയോഗിക്കുക.
- ഇനി LED-യുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ചാനലിന്റെ ഡ്യൂട്ടി സൈക്കിൾ നിയന്ത്രിച്ചുകൊണ്ട് LED-യുടെ തെളിച്ചം നിയന്ത്രിക്കുക. ഡ്യൂട്ടി സൈക്കിൾ മൂല്യം 16-ബിറ്റ് മൂല്യമായിരിക്കണം, അതായത് 0 മുതൽ 0xffff വരെ, ഇത് സിഗ്നൽ ഓണും ഓഫും ആയിരിക്കുന്നതിന്റെ എത്ര ശതമാനത്തെ പ്രതിനിധീകരിക്കുന്നു. 0xffff എന്ന മൂല്യം 100% തെളിച്ചമാണ്, 0 എന്നത് 0% തെളിച്ചമാണ്, ഇടയിലുള്ള മൂല്യങ്ങൾ 0% മുതൽ 100% തെളിച്ചം വരെയാണ്.
- ഉദാamp0xffff ഡ്യൂട്ടി സൈക്കിളിൽ LED പൂർണ്ണമായും ഓണാക്കുക:
- മുകളിലുള്ള കമാൻഡ് പ്രവർത്തിപ്പിച്ചതിനുശേഷം LED പൂർണ്ണ തെളിച്ചത്തിൽ പ്രകാശിക്കുന്നത് നിങ്ങൾ കാണും! ഇനി ഡ്യൂട്ടി സൈക്കിൾ 0 ആയി LED ഓഫ് ചെയ്യുക:
- 1000 പോലുള്ള ഒരു ഇൻ-ബിറ്റ്വീൻ മൂല്യം പരീക്ഷിക്കുക:
- LED മങ്ങിയ വെളിച്ചത്തിൽ കാണണം. LED എങ്ങനെ തെളിച്ചം മാറ്റുന്നുവെന്ന് കാണാൻ മറ്റ് ഡ്യൂട്ടി സൈക്കിൾ മൂല്യങ്ങൾ പരീക്ഷിച്ചുനോക്കൂ!
- ഉദാampഡ്യൂട്ടി_സൈക്കിൾ ഒരു ലൂപ്പിൽ സജ്ജീകരിച്ച് LED ഓണും ഓഫും ആക്കാം:
- 16-ബിറ്റുകൾ ഒരുപാട് സംഖ്യകൾ ആയതിനാൽ ലൂപ്പുകൾക്കായുള്ള ഇവയ്ക്ക് കുറച്ച് സമയമെടുക്കും. ലൂപ്പ് പ്രവർത്തിക്കുന്നത് നിർത്തി REPL-ലേക്ക് മടങ്ങാൻ CTRL-C ഉപയോഗിക്കുക.
പൂർണ്ണ മുൻample കോഡ്
സെർവോകളെ നിയന്ത്രിക്കുന്നു
- വിവിധ PWM/Servo കിറ്റുകൾക്കായി ഞങ്ങൾ ഒരു ഉപയോഗപ്രദമായ CircuitPython ലൈബ്രറി എഴുതിയിട്ടുണ്ട്. അഡാഫ്രൂട്ട് സർക്യൂട്ട് പൈത്തൺ സെർവോകിറ്റ് (https://adafru.it/Dpu) നിങ്ങൾക്കായി എല്ലാ സങ്കീർണ്ണമായ സജ്ജീകരണങ്ങളും കൈകാര്യം ചെയ്യുന്നു. നിങ്ങൾ ചെയ്യേണ്ടത് ലൈബ്രറിയിൽ നിന്ന് ഉചിതമായ ക്ലാസ് ഇറക്കുമതി ചെയ്യുക, തുടർന്ന് ആ ക്ലാസിന്റെ എല്ലാ സവിശേഷതകളും ഉപയോഗത്തിന് ലഭ്യമാകും.
- Adafruit 16-ചാനൽ ബ്രേക്ക്ഔട്ട് ഉപയോഗിച്ച് സെർവോകിറ്റ് ക്ലാസ് എങ്ങനെ ഇറക്കുമതി ചെയ്യാമെന്നും അത് ഉപയോഗിച്ച് സെർവോ മോട്ടോറുകൾ നിയന്ത്രിക്കാമെന്നും ഞങ്ങൾ നിങ്ങളെ കാണിച്ചുതരാൻ പോകുന്നു.
- നിങ്ങൾക്ക് സെർവോകളെക്കുറിച്ച് പരിചയമില്ലെങ്കിൽ ആദ്യം ഇത് വായിക്കുന്നത് ഉറപ്പാക്കുക. സെർവോസ് പേജിലേക്കുള്ള ആമുഖം (https://adafru.it/scW) ഇതും വിശദമായ സെർവോ ഗൈഡ് പേജ് (https://adafru.it/scS).
- ആദ്യം PCA0-ലെ ചാനൽ 9685-ലേക്ക് സെർവോ ബന്ധിപ്പിക്കുക. ഇതാ ഒരു ഉദാഹരണം.ampചാനൽ 0-ലേക്ക് ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു സെർവോയുടെ le:
- PCA5 ബോർഡിലേക്കുള്ള ബാഹ്യ 9685V പവർ സപ്ലൈ നിങ്ങൾ ഓണാക്കിയിട്ടുണ്ടോ അല്ലെങ്കിൽ പ്ലഗ് ഇൻ ചെയ്തിട്ടുണ്ടോ എന്ന് ഉറപ്പാക്കുക!
- ആദ്യം നിങ്ങൾ സെർവോകിറ്റ് ക്ലാസ് ഇറക്കുമതി ചെയ്ത് ഇനീഷ്യലൈസ് ചെയ്യേണ്ടതുണ്ട്. നിങ്ങളുടെ ബോർഡിൽ ലഭ്യമായ ചാനലുകളുടെ എണ്ണം നിങ്ങൾ വ്യക്തമാക്കണം. ബ്രേക്ക്ഔട്ടിൽ 16 ചാനലുകൾ ഉണ്ട്, അതിനാൽ നിങ്ങൾ ക്ലാസ് ഒബ്ജക്റ്റ് സൃഷ്ടിക്കുമ്പോൾ, നിങ്ങൾ 16 വ്യക്തമാക്കണം.
- ഇപ്പോൾ നിങ്ങൾ സ്റ്റാൻഡേർഡ്, തുടർച്ചയായ റൊട്ടേഷൻ സെർവോകൾ നിയന്ത്രിക്കാൻ തയ്യാറാണ്.
സ്റ്റാൻഡേർഡ് സെർവോസ്
- ഒരു സ്റ്റാൻഡേർഡ് സെർവോ നിയന്ത്രിക്കാൻ, സെർവോ ബന്ധിപ്പിച്ചിരിക്കുന്ന ചാനൽ നിങ്ങൾ വ്യക്തമാക്കേണ്ടതുണ്ട്. തുടർന്ന് ആംഗിൾ നിരവധി ഡിഗ്രികളിലേക്ക് സജ്ജീകരിച്ചുകൊണ്ട് നിങ്ങൾക്ക് ചലനം നിയന്ത്രിക്കാൻ കഴിയും.
- ഡിഫോൾട്ടായി, സെർവോ ക്ലാസ് മിക്ക സെർവോകൾക്കും പ്രവർത്തിക്കേണ്ട ആക്ച്വേഷൻ ശ്രേണി, ഏറ്റവും കുറഞ്ഞ പൾസ്-വീതി, പരമാവധി പൾസ്-വീതി മൂല്യങ്ങൾ എന്നിവ ഉപയോഗിക്കും. എന്നിരുന്നാലും, സെർവോ ക്ലാസ് ഡോക്യുമെന്റേഷൻ പരിശോധിക്കുക (https://adafru.it/BNE) നിങ്ങളുടെ സെർവോകൾക്കായി ജനറേറ്റ് ചെയ്യുന്ന സിഗ്നൽ ഇഷ്ടാനുസൃതമാക്കുന്നതിനുള്ള അധിക പാരാമീറ്ററുകളെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക്.
- സെർവോയിൽ, നിങ്ങൾ ഒരു സ്ഥാനം ഒരു കോണായി വ്യക്തമാക്കുന്നു. ആംഗിൾ എല്ലായ്പ്പോഴും 0 നും സെർവോ സൃഷ്ടിക്കുമ്പോൾ നൽകിയിരിക്കുന്ന ആക്ച്വേഷൻ ശ്രേണിക്കും ഇടയിലായിരിക്കും. സ്ഥിരസ്ഥിതി 180 ഡിഗ്രിയാണ്, പക്ഷേ നിങ്ങളുടെ സെർവോയ്ക്ക് ഒരു ചെറിയ സ്വീപ്പ് ഉണ്ടായിരിക്കാം–മുകളിലുള്ള സെർവോ ക്ലാസ് ഇനീഷ്യലൈസറിൽ ആക്ച്വേഷൻ_ആംഗിൾ പാരാമീറ്റർ വ്യക്തമാക്കി മൊത്തം ആംഗിൾ മാറ്റുക.
- ഇനി ആംഗിൾ 180 ആയി സജ്ജമാക്കുക, ശ്രേണിയുടെ ഒരു അങ്ങേയറ്റം:
- സെർവോ 0 ഡിഗ്രിയിലേക്ക് തിരികെ കൊണ്ടുവരാൻ:
- ഒരു സ്റ്റാൻഡേർഡ് സെർവോയിൽ, നിങ്ങൾ സ്ഥാനം ഒരു കോണായി വ്യക്തമാക്കണം. കോൺ എപ്പോഴും 0 നും ആക്ച്വേഷൻ ശ്രേണിക്കും ഇടയിലായിരിക്കും. സ്ഥിരസ്ഥിതി 180 ഡിഗ്രിയാണ്, പക്ഷേ നിങ്ങളുടെ സെർവോയ്ക്ക് ഒരു ചെറിയ സ്വീപ്പ് ഉണ്ടായിരിക്കാം. actuation_range സജ്ജീകരിച്ചുകൊണ്ട് നിങ്ങൾക്ക് മൊത്തം ആംഗിൾ മാറ്റാൻ കഴിയും.
- ഉദാample, ആക്ച്വേഷൻ ശ്രേണി 160 ഡിഗ്രിയായി സജ്ജമാക്കാൻ:
- പലപ്പോഴും ഒരു വ്യക്തിഗത സെർവോ തിരിച്ചറിയുന്ന ശ്രേണി മറ്റ് സെർവോകളിൽ നിന്ന് അല്പം വ്യത്യാസപ്പെടുന്നു. സെർവോ പ്രതീക്ഷിച്ച മുഴുവൻ ശ്രേണിയും ഭേദിച്ചില്ലെങ്കിൽ, set_pulse_width_range(min_pulse, max_pulse) ഉപയോഗിച്ച് ഏറ്റവും കുറഞ്ഞതും കൂടിയതുമായ പൾസ് വീതികൾ ക്രമീകരിക്കാൻ ശ്രമിക്കുക.
- പൾസ് വീതി പരിധി കുറഞ്ഞത് 1000 ഉം പരമാവധി 2000 ഉം ആയി സജ്ജമാക്കാൻ:
- PCA9685 ബ്രേക്ക്ഔട്ട്, പൈത്തൺ, സെർവോകിറ്റ് എന്നിവ ഉപയോഗിച്ച് സ്റ്റാൻഡേർഡ് സെർവോകൾ നിയന്ത്രിക്കുന്നതിന് ഇത്രയേ ഉള്ളൂ!
തുടർച്ചയായ റൊട്ടേഷൻ സെർവോസ്
- ഒരു തുടർച്ചയായ ഭ്രമണ സെർവോ നിയന്ത്രിക്കുന്നതിന്, സെർവോ ഓണാണെന്ന് നിങ്ങൾ വ്യക്തമാക്കണം.
- പിന്നെ ത്രോട്ടിൽ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ചലനം നിയന്ത്രിക്കാൻ കഴിയും.
- ഉദാample, ചാനൽ 1-ലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്ന തുടർച്ചയായ റൊട്ടേഷൻ സെർവോ ഫുൾ ത്രോട്ടിൽ ഫോർവേഡുകളിലേക്ക് ആരംഭിക്കാൻ:
- ചാനൽ 1-ലേക്ക് പൂർണ്ണ റിവേഴ്സ് ത്രോട്ടിലിലേക്ക് ബന്ധിപ്പിച്ചിരിക്കുന്ന തുടർച്ചയായ ഭ്രമണ സെർവോ ആരംഭിക്കാൻ:
- ഹാഫ് ത്രോട്ടിൽ സജ്ജീകരിക്കാൻ, ഒരു ഡെസിമൽ ഉപയോഗിക്കുക:
- തുടർച്ചയായ ഭ്രമണ സെർവോ ചലനം നിർത്താൻ ത്രോട്ടിൽ 0 ആയി സജ്ജമാക്കുക:
- PCA9685 16-ചാനൽ ബ്രേക്ക്ഔട്ട്, പൈത്തൺ, സെർവോകിറ്റ് എന്നിവ ഉപയോഗിച്ച് തുടർച്ചയായ റൊട്ടേഷൻ സെർവോകളെ നിയന്ത്രിക്കുന്നതിന് ഇത്രയേ ഉള്ളൂ!
പൂർണ്ണ മുൻample കോഡ്
പൈത്തൺ ഡോക്സ്
പൈത്തൺ ഡോക്സ്: സെർവോകിറ്റ്
ഡൗൺലോഡുകൾ
Files
- PCA9685 ഡാറ്റാഷീറ്റ് (https://adafru.it/okB)
- ആർഡ്വിനോ ഡ്രൈവർ ലൈബ്രറി (https://adafru.it/aQl)
- ഈഗിൾകാഡ് പിസിബി fileGitHub-ൽ എസ് (https://adafru.it/rME)
- GitHub-ൽ 3D മോഡലുകൾ (https://adafru.it/19Bk)
- അഡാഫ്രൂട്ട് ഫ്രിറ്റ്സിംഗ് ലൈബ്രറിയിലെ ഫ്രിറ്റ്സിംഗ് വസ്തു. (https://adafru.it/aP3)
സ്കീമാറ്റിക് & ഫാബ്രിക്കേഷൻ പ്രിന്റ്
ദ്വാരങ്ങൾക്ക് 2.5 മില്ലീമീറ്റർ വ്യാസമുണ്ട്
പതിവുചോദ്യങ്ങൾ
- ഈ ബോർഡ് LED-കൾക്ക് ഉപയോഗിക്കാമോ അതോ സെർവോകൾക്ക് മാത്രമായി ഉപയോഗിക്കാമോ?
- ഇത് LED-കൾക്കും മറ്റ് ഏത് PWM- പ്രാപ്ത ഉപകരണത്തിനും ഉപയോഗിക്കാം!
- ഈ ഷീൽഡ് Adafruit LED Matrix/7Seg ബാക്ക്പാക്കുകളുമായി സംയോജിപ്പിക്കുമ്പോൾ എനിക്ക് വിചിത്രമായ പ്രശ്നങ്ങൾ നേരിടുന്നു.
- PCA9865 ചിപ്പിന് 0x70 എന്ന "ഓൾ കോൾ" വിലാസമുണ്ട്. ഇത് കോൺഫിഗർ ചെയ്ത വിലാസത്തിന് പുറമേയാണ്. പ്രശ്നം പരിഹരിക്കുന്നതിന് ബാക്ക്പാക്കുകൾ 0x71 എന്ന വിലാസത്തിലോ ഡിഫോൾട്ട് 0x70 എന്ന വിലാസത്തിലോ അല്ലാതെ മറ്റെന്തെങ്കിലും വിലാസത്തിലോ സജ്ജമാക്കുക.
- എൽഇഡികൾ ഉള്ളപ്പോൾ, എനിക്ക് എന്തുകൊണ്ടാണ് എൽഇഡികൾ പൂർണ്ണമായും ഓഫ് ചെയ്യാൻ കഴിയാത്തത്?
- ആർഡ്വിനോയിൽ എൽഇഡികൾ പൂർണ്ണമായും ഓഫ് ചെയ്യണമെങ്കിൽ PWM (പിൻ, 0, 4096) സെറ്റ് ചെയ്യുക; സജ്ജീകരിക്കരുത് (പിൻ, 0, 4095);
പ്രമാണങ്ങൾ / വിഭവങ്ങൾ
![]() |
CNCU PCA9685 സെർവോ ഡ്രൈവർ i2C ഇൻ്റർഫേസ് [pdf] നിർദ്ദേശങ്ങൾ PCA9685 സെർവോ ഡ്രൈവർ i2C ഇൻ്റർഫേസ്, PCA9685, സെർവോ ഡ്രൈവർ i2C ഇൻ്റർഫേസ്, ഡ്രൈവർ i2C ഇൻ്റർഫേസ്, i2C ഇൻ്റർഫേസ്, ഇൻ്റർഫേസ് |