Arduino മെഗായ്ക്കുള്ള യൂണിവേഴ്സൽ ചാർജർ. ഒരു Arduino നിയന്ത്രിത ചാർജർ സൃഷ്ടിക്കുന്നു

കുറച്ച് വർഷങ്ങൾക്ക് മുമ്പ്, അന്ധരെ നമുക്ക് ചുറ്റുമുള്ള ലോകവുമായി നന്നായി പൊരുത്തപ്പെടാൻ അനുവദിക്കുന്ന ഒരു കൂട്ടം വിലകുറഞ്ഞ ഉപകരണങ്ങൾ വികസിപ്പിക്കാനുള്ള ചുമതല ഞാൻ സ്വയം സജ്ജമാക്കി. ഇന്നുവരെ, ഞാനും സമാന ചിന്താഗതിക്കാരായ ആളുകളുടെ ഒരു ടീമും ചേർന്ന് നിരവധി പദ്ധതികൾ നടപ്പിലാക്കാൻ കഴിഞ്ഞു.

ഈ ലേഖനത്തിൽ ഞാൻ ചൂരലിലെ അൾട്രാസോണിക് അറ്റാച്ച്മെന്റിനെക്കുറിച്ചും അൾട്രാസോണിക് കീചെയിനിനെക്കുറിച്ചും സംസാരിക്കാൻ ആഗ്രഹിക്കുന്നു - പൂർണ്ണമായ ഉപകരണങ്ങൾ, വിലകുറഞ്ഞതും ലഭ്യമായതുമായ മൊഡ്യൂളുകളിൽ നിന്ന് കൂട്ടിച്ചേർക്കപ്പെട്ടവയാണ്.

ഒരു അൾട്രാസോണിക് ചൂരൽ അറ്റാച്ച്‌മെന്റും അൾട്രാസോണിക് കീചെയിനും അന്ധരായ ആളുകൾക്കുള്ള ഉപകരണങ്ങളാണ്, ഇത് സാധാരണ ചൂരൽ ഉപയോഗിച്ച് കണ്ടെത്താൻ കഴിയുന്ന ലെവലിന് മുകളിൽ സ്ഥിതിചെയ്യുന്ന തടസ്സങ്ങളെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകുന്നു. അത്തരം തടസ്സങ്ങൾ ഉയർന്ന റൈഡിംഗ് കാറുകൾ, തടസ്സങ്ങൾ, ഉയർന്ന വേലികൾ എന്നിവ ആകാം. അൾട്രാസോണിക് അറ്റാച്ച്‌മെന്റ് ഒരു സാധാരണ ചൂരലിൽ ഘടിപ്പിച്ചിരിക്കുന്നു, കൂടാതെ അൾട്രാസോണിക് കീചെയിൻ കഴുത്തിൽ തൂക്കിയിടുകയോ ഫ്ലാഷ്‌ലൈറ്റ് പോലെ കൈയിൽ കൊണ്ടുപോകുകയോ ചെയ്യുന്നു.

ഉപകരണങ്ങളുടെ പ്രവർത്തനം തടസ്സങ്ങളിൽ നിന്നുള്ള അൾട്രാസോണിക് തരംഗങ്ങളുടെ പ്രതിഫലനത്തെ അടിസ്ഥാനമാക്കിയുള്ളതാണ്. പൾസ് ജനറേറ്റുചെയ്യുന്ന നിമിഷവും പ്രതിഫലിക്കുന്ന എക്കോ സിഗ്നൽ ലഭിക്കുന്ന നിമിഷവും തമ്മിലുള്ള സമയ വ്യത്യാസം അളക്കുന്നതിലൂടെ, തടസ്സത്തിലേക്കുള്ള ദൂരം നിർണ്ണയിക്കാനാകും.

ഉപകരണങ്ങൾ വികസിപ്പിക്കുന്നതിന്, ദൂരം അളക്കുന്നതിനുള്ള ഒരു സെൻസർ, ഒരു കൺട്രോൾ ബോർഡ്, ഒരു സിഗ്നലിംഗ് ഉപകരണം എന്നിവ തിരഞ്ഞെടുക്കേണ്ടത് ആവശ്യമാണ്, ബാറ്ററികൾ തിരഞ്ഞെടുക്കുക, അവ ചാർജ് ചെയ്യുന്നതിനുള്ള ഒരു രീതി, അനുയോജ്യമായ ഭവനങ്ങൾ.

അൾട്രാസോണിക് സെൻസർ

ഒരു തടസ്സത്തിലേക്കുള്ള ദൂരം അളക്കാൻ, രണ്ട് ഉപകരണങ്ങൾ പരീക്ഷിച്ചു:
  • Arduino അനുയോജ്യമായ അൾട്രാസോണിക് മൊഡ്യൂൾ HC-SR04
  • കാർ പാർക്കിംഗ് സെൻസറുകൾ HO 3800
രണ്ട് ഉപകരണങ്ങളും ഒരേ തത്വത്തിലാണ് പ്രവർത്തിക്കുന്നത്. സെൻസറുകളുടെ ദിശാസൂചന പാറ്റേൺ, പരമാവധി തടസ്സം കണ്ടെത്തൽ ശ്രേണി, രൂപകൽപ്പന എന്നിവയിലാണ് വ്യത്യാസങ്ങൾ.
സെൻസർ പാരാമീറ്ററുകളുടെ താരതമ്യം:

പരിശോധനയ്ക്കിടെ, HC-SR04 മൊഡ്യൂളുകൾക്ക് തടസ്സങ്ങൾ കണ്ടെത്താനും ബുദ്ധിമുട്ടുള്ള കാലാവസ്ഥയിൽ (തണുപ്പ്) പ്രവർത്തിക്കാനും അൽപ്പം മോശമായ കഴിവുണ്ടെന്ന് കണ്ടെത്തി.

രണ്ട് സെൻസറുകളും, അവയുടെ വ്യത്യാസങ്ങൾക്കിടയിലും, ഒരു തടസ്സത്തിലേക്കുള്ള ദൂരം അളക്കുന്നതിനുള്ള ഒരു മാർഗമായി ഒരു അൾട്രാസോണിക് ചൂരൽ അറ്റാച്ച്മെന്റിൽ ഉപയോഗിക്കാൻ കഴിയും, അതിനാൽ ഒരു സെൻസർ തിരഞ്ഞെടുക്കുമ്പോൾ ഞങ്ങൾക്ക് പ്രധാന പാരാമീറ്റർ വിലയായിരുന്നു. ഞങ്ങൾ വിലകുറഞ്ഞ HC-SR04 സെൻസറിൽ സ്ഥിരതാമസമാക്കി.

നിയന്ത്രണ ബോർഡ്

നിയന്ത്രണ ബോർഡായി Arduino പ്ലാറ്റ്ഫോം തിരഞ്ഞെടുത്തു. ഞങ്ങളുടെ കാര്യത്തിൽ, ഏറ്റവും ബാധകമായ ബോർഡുകൾ മിനിയേച്ചർ പതിപ്പുകളാണ്: Arduino Mini, ആർഡ്വിനോ നാനോഅല്ലെങ്കിൽ Arduino പ്രോ മിനി. പൊതുവേ, സമാനമായ കഴിവുകൾ നൽകുന്ന മറ്റേതെങ്കിലും കൺട്രോളർ ഉപയോഗിക്കാം.

ബാറ്ററികൾ

ഉപകരണത്തിന് പവർ നൽകുന്നതിന്, ലിഥിയം-അയൺ (ലി-അയൺ) അല്ലെങ്കിൽ നിക്കൽ-മെറ്റൽ ഹൈഡ്രൈഡ് (Ni-Mh) ബാറ്ററി സെല്ലുകൾ ഉപയോഗിക്കുന്നത് നല്ലതാണ്.

സാധാരണ കാലാവസ്ഥയിൽ പ്രവർത്തിക്കുമ്പോൾ, Ni-Mh നെ അപേക്ഷിച്ച് ഇനിപ്പറയുന്ന ഗുണങ്ങളുള്ള Li-ion ബാറ്ററികൾ ഉപയോഗിക്കുന്നത് അർത്ഥമാക്കുന്നു:

ചെയ്തത് കുറഞ്ഞ താപനില Ni-Mh ബാറ്ററികൾ ഉപയോഗിക്കുന്നതാണ് നല്ലത്.

ഒരു Ni-Mh ബാറ്ററിയുടെ (1.0 -1.4 V) ഔട്ട്‌പുട്ടിലുള്ള വോൾട്ടേജ് ഉപകരണം പ്രവർത്തിപ്പിക്കാൻ പര്യാപ്തമല്ല. 5 V വോൾട്ടേജ് ലഭിക്കുന്നതിന് (ആർഡ്വിനോയുടെയും പാർക്കിംഗ് സെൻസറിന്റെയും പ്രവർത്തനത്തിന് ആവശ്യമാണ്), ബാറ്ററികൾക്ക് പുറമേ, ഞങ്ങൾ ഒരു ബൂസ്റ്റ് ഡിസി-ഡിസി കൺവെർട്ടർ ഉപയോഗിക്കും.

ഞങ്ങൾ തിരഞ്ഞെടുത്ത DC-DC കൺവെർട്ടറുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന്, 0.9-6.0 V ഇൻപുട്ട് വോൾട്ടേജ് നൽകേണ്ടത് ആവശ്യമാണ്. ആവശ്യമായ ഔട്ട്പുട്ട് വോൾട്ടേജ് ലഭിക്കുന്നതിന്, ഒരാൾക്ക് 1.2 വോൾട്ട് വോൾട്ടേജുള്ള ഒരു Ni-Mh ഘടകം ഉപയോഗിക്കാം. എന്നിരുന്നാലും, ഇൻപുട്ട് വോൾട്ടേജ് കുറയുമ്പോൾ, കൺവെർട്ടറിന്റെ ലോഡ് കപ്പാസിറ്റിയും കുറയുന്നു, അതിനാൽ സ്ഥിരതയുള്ള പ്രവർത്തനംകൺവെർട്ടറിന്റെ ഇൻപുട്ടിലേക്ക് കുറഞ്ഞത് 2 V ഉപയോഗിച്ച് ഉപകരണം വിതരണം ചെയ്യുന്നത് നല്ലതാണ് (1.2 V വീതമുള്ള രണ്ട് Ni-Mh ഘടകങ്ങൾ അല്ലെങ്കിൽ 3.7 V വോൾട്ടേജുള്ള ഒരു Li-ion ഘടകം). 1.2 V ന്റെ ഇൻപുട്ട് വോൾട്ടേജ് മതിയാകാത്ത DC-DC കൺവെർട്ടറുകൾ ഉണ്ടെന്ന് ശ്രദ്ധിക്കുക.

ബാറ്ററികൾ ചാർജ് ചെയ്യുന്നു

വേണ്ടി ലി-അയൺ ബാറ്ററികൾഎൻഡ്-ഓഫ്-ചാർജ് സൂചനയുള്ള നിരവധി റെഡിമെയ്ഡ് വിലകുറഞ്ഞ മൊഡ്യൂളുകൾ ഉണ്ട്.

Ni-Mh ബാറ്ററികളുടെ കാര്യത്തിൽ, എല്ലാം കൂടുതൽ സങ്കീർണ്ണമാണ്. ഇപ്പോൾ വിപണിയിൽ റെഡിമെയ്ഡ് ഉൾച്ചേർത്ത പരിഹാരങ്ങളൊന്നും ഞങ്ങൾ കണ്ടെത്തിയിട്ടില്ല. Ni-Mh ബാറ്ററികൾ ചാർജ് ചെയ്യാൻ, നിങ്ങൾക്ക് പ്രത്യേക ബാഹ്യ ചാർജറുകൾ ഉപയോഗിക്കാം അല്ലെങ്കിൽ നിങ്ങളുടെ സ്വന്തം ചാർജിംഗ് സർക്യൂട്ട് സൃഷ്ടിക്കാം.

ഒരു Ni-Mh സെൽ ചാർജ് ചെയ്യുന്നതിനുള്ള ഒരു മാർഗ്ഗം രണ്ട് LM317 ലീനിയർ സ്റ്റെബിലൈസറുകൾ (അല്ലെങ്കിൽ സമാനമായത്) ബാറ്ററിയുമായി ബന്ധിപ്പിക്കുക എന്നതാണ്: ആദ്യത്തേത് നിലവിലെ ലിമിറ്റിംഗ് മോഡിൽ, രണ്ടാമത്തേത് വോൾട്ടേജ് ലിമിറ്റിംഗ് മോഡിൽ.

അത്തരം ഒരു സർക്യൂട്ടിന്റെ ഇൻപുട്ട് വോൾട്ടേജ് 7.0-7.5 V. സ്റ്റെബിലൈസറുകളുടെ തണുപ്പിന്റെ അഭാവത്തിൽ, ഈ വോൾട്ടേജ് കവിയാൻ ശുപാർശ ചെയ്യുന്നില്ല. ഓരോന്നിലും വോൾട്ടേജ് Ni-MH ബാറ്ററിചാർജ് ചെയ്യുമ്പോൾ ഏകദേശം 1.45 V (പൂർണ്ണമായി ചാർജ്ജ് ചെയ്ത Ni-Mh സെല്ലിന്റെ വോൾട്ടേജ്) ഉണ്ടായിരിക്കണം. മൈക്രോ സർക്യൂട്ടുകളുടെ അമിത ചൂടാക്കലും പരാജയവും ഒഴിവാക്കാൻ, ബാറ്ററി ചാർജിംഗ് കറന്റ് 100 mA കവിയാൻ പാടില്ല, ഉചിതമായ റേഡിയറുകൾ ഉപയോഗിക്കുമ്പോൾ 200 mA ആയി വർദ്ധിപ്പിക്കാം.

ഈ ചാർജിംഗ് സ്കീമിന്റെ പ്രയോജനം, ചാർജിംഗ് അവസ്ഥ നിയന്ത്രിക്കേണ്ട ആവശ്യമില്ല എന്നതാണ്: മൂലകത്തിൽ ആവശ്യമായ വോൾട്ടേജ് എത്തുമ്പോൾ, കറന്റ് യാന്ത്രികമായി സുരക്ഷിതമായ മിനിമം ആയി കുറയും.

അലാറം

മുന്നറിയിപ്പ് ചാനലിന്റെ (ഓഡിറ്ററി അല്ലെങ്കിൽ സ്പർശനം) തിരഞ്ഞെടുക്കുന്നതിനെ ആശ്രയിച്ച്, തിരഞ്ഞെടുക്കുക ആക്യുവേറ്റർ- ബസർ അല്ലെങ്കിൽ വൈബ്രേഷൻ മോട്ടോർ. കൂടാതെ, നിങ്ങൾക്ക് രണ്ട് അറിയിപ്പ് രീതികളും സംയോജിപ്പിക്കാൻ കഴിയും, അവയ്ക്കിടയിൽ മാറാനുള്ള കഴിവ് ഉപയോക്താവിന് നൽകുന്നു.

പ്രോട്ടോടൈപ്പുകളുടെ പരിശോധനയ്ക്കിടെ, വൈബ്രേഷനിലൂടെ ഒരു തടസ്സത്തിന്റെ സാമീപ്യത്തെക്കുറിച്ചുള്ള വിവരങ്ങൾ കൈമാറുന്നത് ഏറ്റവും സൗകര്യപ്രദമാണെന്ന് ഞങ്ങൾ കണ്ടെത്തി, കാരണം ഈ സാഹചര്യത്തിൽ, ഒരു അന്ധനായ വ്യക്തിക്ക് വളരെ പ്രധാനപ്പെട്ട ഓഡിയോ ചാനൽ അധിനിവേശമില്ല. അതുകൊണ്ടാണ് ഞങ്ങളുടെ രൂപകൽപ്പന ചെയ്തതും അസംബിൾ ചെയ്തതുമായ എല്ലാ ഉൽപ്പന്നങ്ങളും തടസ്സങ്ങളെക്കുറിച്ച് മുന്നറിയിപ്പ് നൽകാൻ വൈബ്രേഷൻ ഉപയോഗിക്കുന്നത്. വൈബ്രേഷന്റെ തീവ്രത തടസ്സത്തിലേക്കുള്ള ദൂരത്തിന് ആനുപാതികമാണ്.

ഫ്രെയിം

വൻതോതിൽ ഉൽപ്പാദിപ്പിക്കുന്ന ഭവനങ്ങൾക്കിടയിൽ അൾട്രാസോണിക് ചൂരൽ അറ്റാച്ച്മെന്റിന് സൗകര്യപ്രദമായ ഒരു ഭവനം കണ്ടെത്താൻ ഞങ്ങൾക്ക് കഴിഞ്ഞില്ല. ഉപകരണം പരിശോധിക്കാൻ, ഞങ്ങൾ ഒരു 3D പ്രിന്റഡ് എബിഎസ് പ്ലാസ്റ്റിക് കെയ്‌സ് ഉപയോഗിച്ചു. ഒരു 3D പ്രിന്ററിൽ കേസ് പ്രിന്റ് ചെയ്യാൻ, ഞങ്ങൾ ഇനിപ്പറയുന്ന 3D മോഡൽ വികസിപ്പിച്ചെടുത്തു:

പ്രോട്ടോടൈപ്പുകളുടെ പരിശോധനാ ഫലം

വികസന പ്രക്രിയയിൽ, 12-ലധികം ഉൽപ്പന്ന ഓപ്ഷനുകൾ ശേഖരിച്ചു. ഓരോ പുതിയ ഉൽപ്പന്നവും മുമ്പത്തെ പോരായ്മകൾ ഇല്ലാതാക്കി: വികസന പ്രക്രിയയിൽ, ഞങ്ങൾ ഉൽപ്പന്നത്തിന്റെ അളവുകളും ഭാരവും കുറച്ചു, വിലയിലും ഞങ്ങളെ തൃപ്തിപ്പെടുത്തുന്ന ഒരു അൾട്രാസോണിക് സെൻസർ തിരഞ്ഞെടുത്തു. സാങ്കേതിക സവിശേഷതകളും, ഒരു ഓഡിയോ ചാനലിന്റെ ഉപയോഗം ഉപേക്ഷിക്കുകയും ഉപകരണ പ്രവർത്തന അൽഗോരിതം ഒപ്റ്റിമൈസ് ചെയ്യുകയും ചെയ്തു. അന്ധർക്കൊപ്പം (ബോർട്ട്നിക്കോവ് പി.വി., ഷാലിന്റ്സെവ് വി.എ.), എല്ലാ അസംബിൾ ചെയ്ത ഉൽപ്പന്നങ്ങളുടെയും പരിശോധനകൾ നടത്തി. തൽഫലമായി, ഞങ്ങൾക്ക് അന്തിമ സാമ്പിൾ ലഭിച്ചു.

വികസിപ്പിച്ച ഉപകരണത്തിന്റെ ഒരു സ്കീമാറ്റിക് ഇലക്ട്രിക്കൽ ഡയഗ്രം ചുവടെയുണ്ട്:

ഡിസ്അസംബ്ലിംഗ് ചെയ്യുമ്പോൾ, അൾട്രാസോണിക് കഴുത്ത് കീചെയിൻ ഇതുപോലെ കാണപ്പെടുന്നു:

ചൂരൽ അറ്റാച്ച്‌മെന്റിനുള്ള 3D പ്രിന്റഡ് ഹൗസിംഗ് ഒഴികെ അസംബ്ലിയിൽ ഉപയോഗിക്കുന്ന എല്ലാ ഘടകങ്ങളും AliExpress വഴി വാങ്ങിയതാണ്:

  1. അൾട്രാസോണിക് സെൻസർ HC-SR04.
  2. Adruino Pro Mini കൺട്രോൾ ബോർഡ്.
  3. റീചാർജ് ചെയ്യാവുന്ന ബാറ്ററി 3.7 V 300 mAh.
  4. വോൾട്ടേജ് കൺവെർട്ടർ 0.9V ~ 5V മുതൽ 5V 600 mA വരെ.
  5. ചാർജിംഗ് മൊഡ്യൂൾ AC/DC 220V മുതൽ 5 V 1 A വരെ.
  6. ചാർജർ LA-520W.
  7. അലാറം: വൈബ്രേഷൻ മോട്ടോർ മൊബൈൽ ഫോൺ 4x10mm DC 3V.
  8. ബട്ടൺ PB-22E60.
  9. ഹൗസിംഗ് ഗൈന്റ G1906 (കീ ഫോബിന്).
  10. ട്രാൻസിസ്റ്റർ: bss138/bcr108 അല്ലെങ്കിൽ optocoupler CPC1230N.
ചൂരലിൽ അൾട്രാസോണിക് തല കൂട്ടിച്ചേർക്കാൻ ഉപയോഗിക്കുന്ന ഘടകങ്ങളുടെ രൂപവും വിലയും (ചൈനയിൽ നിന്നുള്ള ഡെലിവറി ഉൾപ്പെടെ) ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു:

അസംബ്ലി സമയത്ത് ഉപയോഗിക്കുന്ന ഘടകങ്ങളിൽ, ഉപകരണത്തിന്റെ വിലയിൽ ഏറ്റവും വലിയ സംഭാവന ലഭിക്കുന്നത് 3D പ്രിന്റഡ് ഹൗസിംഗിൽ നിന്നാണ്.

അൾട്രാസോണിക് കീ ഫോബ് കൂട്ടിച്ചേർക്കാൻ ഉപയോഗിക്കുന്ന ഘടകങ്ങളുടെ രൂപവും വിലയും (ചൈനയിൽ നിന്നുള്ള ഡെലിവറി ഉൾപ്പെടെ) ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു:

ഭാവിയിൽ, നിങ്ങൾക്ക് ഗൈന്റ ജി 1906 ബോഡിക്കായി ഒരു മൌണ്ട് വികസിപ്പിക്കാനും ഒരു ചൂരലിനുള്ള അറ്റാച്ച്മെന്റായി അത്തരമൊരു ബോഡി ഉള്ള ഒരു ഉപകരണം ഉപയോഗിക്കാനും കഴിയും.

ഉപകരണങ്ങളുടെ വില കുറയ്ക്കുന്നതിനുള്ള ഒരു മാർഗ്ഗം, ചൈനയിൽ നേരിട്ട് ഉൽപ്പാദനം വിന്യസിച്ചുകൊണ്ട് തൊഴിൽ ചെലവുകളും റഷ്യയിലേക്ക് ഉപകരണ ഘടകങ്ങൾ എത്തിക്കുന്നതിനുള്ള ചെലവും ലാഭിക്കുക എന്നതാണ്.

ഞങ്ങൾ വികസിപ്പിച്ച ഉപകരണങ്ങൾക്ക് ഇനിപ്പറയുന്ന സവിശേഷതകൾ ഉണ്ട്:

ഉപകരണങ്ങളുടെ പ്രാഥമിക പരിശോധനകൾ നടത്തിയ ശേഷം, തിരക്കേറിയ അന്തരീക്ഷത്തിൽ ഉപകരണങ്ങൾ ഉപയോഗിക്കുമ്പോൾ അനാവശ്യമായ ട്രിഗറുകൾ ഒഴിവാക്കുന്നതിന് തടസ്സം കണ്ടെത്തുന്നതിനുള്ള പരിധി 1.5 മീറ്ററായി പരിമിതപ്പെടുത്താൻ ഞങ്ങൾ നിർബന്ധിതരായി. വൈബ്രേഷൻ ലെവലിലെ തുടർച്ചയായ മാറ്റത്തോടെ, ഒരു തടസ്സത്തിന്റെ സമീപനം നിർണ്ണയിക്കുന്നത് കൂടുതൽ ബുദ്ധിമുട്ടാണ്, അതിനാൽ പ്രാഥമിക പരിശോധനകളുടെ ഫലത്തെ അടിസ്ഥാനമാക്കി ഞങ്ങൾ മൂന്ന് വൈബ്രേഷൻ തലങ്ങളിൽ സ്ഥിരതാമസമാക്കി.
ചൂരലിൽ അൾട്രാസോണിക് അറ്റാച്ച്മെന്റിന്റെ രൂപം:

കഴുത്തിലെ കീചെയിനിന്റെ രൂപം:

അൾട്രാസോണിക് ചൂരൽ അറ്റാച്ച്‌മെന്റിന്റെ ഒരു 3D മോഡലും Adruino-യുടെ ഫേംവെയർ സോഴ്‌സ് കോഡും ഇവിടെ ഡൗൺലോഡ് ചെയ്യാൻ ലഭ്യമാണ്.

NiMH ബാറ്ററികളുടെ ചാർജ്ജിംഗ് നിരീക്ഷിക്കാനും നിയന്ത്രിക്കാനും ഒരു Arduino ഉം അതിന്റെ അധിക ചാർജിംഗ് സർക്യൂട്ടറിയും ഉപയോഗിക്കാം:

പൂർത്തിയായ ഉപകരണം

റീചാർജ് ചെയ്യാവുന്ന ബാറ്ററികളാണ് മഹത്തായ രീതിയിൽനിങ്ങളുടെ പോർട്ടബിൾ ഇലക്ട്രോണിക്സ് പവർ ചെയ്യാൻ. എപ്പോൾ അവർക്ക് ധാരാളം പണം ലാഭിക്കാൻ കഴിയും ശരിയായ ചാർജിംഗ്. അതിനാൽ നിങ്ങൾക്ക് സ്വീകരിക്കാൻ കഴിയും പരമാവധി വരുമാനംനിങ്ങളുടേതിൽ നിന്ന് ബാറ്ററികൾ, അവ കൃത്യമായി ചാർജ് ചെയ്യണം. ഇതിനർത്ഥം നിങ്ങൾക്ക് ഒരു നല്ല ചാർജർ ആവശ്യമാണ്. ഒരു റെഡിമെയ്ഡ് ചാർജർ വാങ്ങാൻ നിങ്ങൾക്ക് ധാരാളം പണം ചിലവഴിക്കാം, അല്ലെങ്കിൽ നിങ്ങൾക്ക് സ്വയം ഒരു ചാർജർ ഉണ്ടാക്കാം. ആർഡ്വിനോ നിയന്ത്രിക്കുന്ന ഒരു ചാർജർ നിങ്ങൾക്ക് എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് ഈ ലേഖനത്തിൽ ഞങ്ങൾ നോക്കും.

ഒന്നാമതായി, ഇല്ല എന്നത് ശ്രദ്ധിക്കേണ്ടതാണ് സാർവത്രിക രീതിഎല്ലാ ബാറ്ററികൾക്കും അനുയോജ്യമായ ചാർജർ. വ്യത്യസ്‌ത തരം ബാറ്ററികൾ അവയുടെ പ്രവർത്തനത്തിനായി വിവിധ രാസപ്രക്രിയകൾ ഉപയോഗിക്കുന്നു. തൽഫലമായി, വത്യസ്ത ഇനങ്ങൾബാറ്ററികൾ വ്യത്യസ്തമായി ചാർജ് ചെയ്യേണ്ടതുണ്ട്. ഈ ലേഖനത്തിൽ ഞങ്ങൾക്ക് എല്ലാ ബാറ്ററി തരങ്ങളും ചാർജിംഗ് രീതികളും ഉൾപ്പെടുത്താൻ കഴിയില്ല. അതിനാൽ ലാളിത്യത്തിനായി, ഞങ്ങൾ ഏറ്റവും സാധാരണമായ AA ബാറ്ററിയായ നിക്കൽ മെറ്റൽ ഹൈഡ്രൈഡ് (NiMH) ബാറ്ററിയിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കും.

ആക്സസറികൾ

ഇടത്തുനിന്ന് വലത്തോട്ട് ഘടകങ്ങളുടെ ലിസ്റ്റ്:

  • ശക്തമായ 10 ഓം റെസിസ്റ്റർ (കുറഞ്ഞത് 5 വാട്ട്സ്);
  • റെസിസ്റ്റർ 1 MOhm;
  • കപ്പാസിറ്റർ 1 µF;
  • MOSFET ട്രാൻസിസ്റ്റർ IRF510;
  • താപനില സെൻസർ TMP36;
  • വൈദ്യുതി വിതരണം 5 വോൾട്ട്;

NiMH AA ബാറ്ററികൾ എങ്ങനെ ചാർജ് ചെയ്യാം

ചാർജിംഗ് നിരക്ക് വർദ്ധിപ്പിക്കുന്നത് ബാറ്ററി കേടാകാനുള്ള സാധ്യത വർദ്ധിപ്പിക്കുന്നു.

NiMH ബാറ്ററികൾ ചാർജ് ചെയ്യാൻ നിരവധി മാർഗങ്ങളുണ്ട്. നിങ്ങൾ ഉപയോഗിക്കുന്ന രീതി പ്രധാനമായും നിങ്ങളുടെ ബാറ്ററി എത്ര വേഗത്തിൽ ചാർജ് ചെയ്യാൻ ആഗ്രഹിക്കുന്നു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു. ബാറ്ററി ശേഷിയുമായി ബന്ധപ്പെട്ടാണ് ചാർജ് നിരക്ക് അളക്കുന്നത്. നിങ്ങളുടെ ബാറ്ററിയുടെ ശേഷി 2500 mAh ആണെങ്കിൽ നിങ്ങൾ അത് 2500 mA-ൽ ചാർജ് ചെയ്യുന്നുവെങ്കിൽ, നിങ്ങൾ അത് 1C നിരക്കിലാണ് ചാർജ് ചെയ്യുന്നത്. നിങ്ങൾ അതേ ബാറ്ററി 250 mA-ൽ ചാർജ് ചെയ്യുകയാണെങ്കിൽ, നിങ്ങൾ അത് C/10 എന്ന നിരക്കിലാണ് ചാർജ് ചെയ്യുന്നത്.

സമയത്ത് ഫാസ്റ്റ് ചാർജിംഗ്ബാറ്ററി (C/10-ന് മുകളിലുള്ള വേഗതയിൽ), അമിതമായി ചാർജ് ചെയ്യുന്നത് ഒഴിവാക്കാൻ നിങ്ങൾ ബാറ്ററി വോൾട്ടേജും താപനിലയും ശ്രദ്ധാപൂർവ്വം നിരീക്ഷിക്കേണ്ടതുണ്ട്. ഇത് ബാറ്ററിയെ സാരമായി ബാധിക്കും. എന്നിരുന്നാലും, നിങ്ങൾ ബാറ്ററി സാവധാനം ചാർജ് ചെയ്യുമ്പോൾ (C/10-ന് താഴെയുള്ള നിരക്കിൽ), നിങ്ങൾ അബദ്ധത്തിൽ അത് അമിതമായി ചാർജ് ചെയ്താൽ ബാറ്ററി കേടാകാനുള്ള സാധ്യത വളരെ കുറവാണ്. അതിനാൽ, സാവധാനത്തിലുള്ള ചാർജിംഗ് രീതികൾ സാധാരണയായി സുരക്ഷിതമായി കണക്കാക്കപ്പെടുന്നു, കൂടാതെ ബാറ്ററി ലൈഫ് വർദ്ധിപ്പിക്കാനും ഇത് നിങ്ങളെ സഹായിക്കും. അതിനാൽ, ഞങ്ങളുടെ വീട്ടിൽ നിർമ്മിച്ച ചാർജറിൽ ഞങ്ങൾ C/10 ചാർജ് നിരക്ക് ഉപയോഗിക്കും.

ചാർജ് സർക്യൂട്ട്

ഈ ചാർജറിന്, വൈദ്യുതി വിതരണം നിയന്ത്രിക്കുന്നതിനുള്ള ഒരു സർക്യൂട്ടാണ് അടിസ്ഥാനം Arduino ഉപയോഗിക്കുന്നു. എസി അഡാപ്റ്റർ പോലെയുള്ള 5 വോൾട്ട് സ്രോതസ്സാണ് സർക്യൂട്ട് പവർ ചെയ്യുന്നത് കമ്പ്യൂട്ടർ യൂണിറ്റ്പോഷകാഹാരം. നിലവിലെ പരിമിതികൾ കാരണം മിക്ക USB പോർട്ടുകളും ഈ പദ്ധതിക്ക് അനുയോജ്യമല്ല. 5V ഉറവിടം ശക്തമായ 10 ഓം റെസിസ്റ്ററിലൂടെ ബാറ്ററി ചാർജ് ചെയ്യുന്നു ശക്തമായ MOSFETട്രാൻസിസ്റ്റർ. MOSFET ട്രാൻസിസ്റ്റർ ബാറ്ററിയിലൂടെ ഒഴുകുന്ന വൈദ്യുതധാരയുടെ അളവ് സജ്ജമാക്കുന്നു. കറന്റ് നിയന്ത്രിക്കുന്നതിനുള്ള ഒരു ലളിതമായ മാർഗമായി റെസിസ്റ്റർ ചേർത്തിരിക്കുന്നു. ഓരോ റെസിസ്റ്റർ പിന്നും ആർഡ്വിനോയുടെ അനലോഗ് ഇൻപുട്ട് പിന്നുകളുമായി ബന്ധിപ്പിച്ച് ഓരോ വശത്തുമുള്ള വോൾട്ടേജ് അളക്കുന്നതിലൂടെയാണ് വൈദ്യുതധാരയുടെ അളവ് നിരീക്ഷിക്കുന്നത്. MOSFET ട്രാൻസിസ്റ്റർ നിയന്ത്രിക്കുന്നത് Arduino PWM ഔട്ട്പുട്ട് പിൻ ആണ്. പൾസ് വീതി മോഡുലേഷൻ സിഗ്നൽ പൾസുകളെ 1 MΩ റെസിസ്റ്ററും 1 μF കപ്പാസിറ്ററും ഉപയോഗിച്ച് ഒരു ഫിൽട്ടർ ഉപയോഗിച്ച് സ്ഥിരമായ വോൾട്ടേജിലേക്ക് സുഗമമാക്കുന്നു. ഈ സ്കീംബാറ്ററിയിലൂടെ ഒഴുകുന്ന കറന്റ് നിരീക്ഷിക്കാനും നിയന്ത്രിക്കാനും Arduino-യെ അനുവദിക്കുന്നു.


താപനില സെൻസർ

ബാറ്ററി അമിതമായി ചാർജ് ചെയ്യുന്നത് തടയാനും സുരക്ഷ ഉറപ്പാക്കാനും താപനില സെൻസർ ഉപയോഗിക്കുന്നു.

ഒരു അധിക മുൻകരുതൽ എന്ന നിലയിൽ, ബാറ്ററി താപനില നിരീക്ഷിക്കാൻ ഒരു TMP36 താപനില സെൻസർ ചാർജറിലേക്ക് ചേർത്തിരിക്കുന്നു. ഈ സെൻസർതാപനിലയിൽ രേഖീയമായി വ്യത്യാസപ്പെടുന്ന ഒരു വോൾട്ടേജ് ഉത്പാദിപ്പിക്കുന്നു. അതിനാൽ, തെർമിസ്റ്ററുകളിൽ നിന്ന് വ്യത്യസ്തമായി, ഇതിന് കാലിബ്രേഷനോ ബാലൻസോ ആവശ്യമില്ല. ബാറ്ററി ഹോൾഡർ ബോഡിയിൽ ഒരു തുളച്ച ദ്വാരത്തിൽ സെൻസർ ഇൻസ്റ്റാൾ ചെയ്യുകയും ദ്വാരത്തിൽ ഒട്ടിക്കുകയും ചെയ്യുന്നു, അങ്ങനെ അത് ഹോൾഡറിൽ ഇൻസ്റ്റാൾ ചെയ്യുമ്പോൾ ബാറ്ററിക്ക് നേരെ അമർത്തുന്നു. സെൻസർ പിന്നുകൾ 5V ബസിലേക്കും കെയ്സിലേക്കും ആർഡ്വിനോയുടെ അനലോഗ് ഇൻപുട്ട് പിന്നിലേക്കും ബന്ധിപ്പിച്ചിരിക്കുന്നു.

ബ്രെഡ്ബോർഡിൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നതിനു മുമ്പും ശേഷവും AA ബാറ്ററി ഹോൾഡർ

കോഡ്


ഈ പ്രോജക്റ്റിനുള്ള കോഡ് വളരെ ലളിതമാണ്. സോഴ്‌സ് കോഡിന്റെ തുടക്കത്തിലെ വേരിയബിളുകൾ ബാറ്ററി ശേഷിയുടെയും പവർ റെസിസ്റ്ററിന്റെ കൃത്യമായ പ്രതിരോധത്തിന്റെയും മൂല്യങ്ങൾ നൽകി ചാർജർ ക്രമീകരിക്കാൻ നിങ്ങളെ അനുവദിക്കുന്നു. സേഫ് ത്രെഷോൾഡ് വേരിയബിളുകളും ചേർത്തിട്ടുണ്ട്. പരമാവധി അനുവദനീയമായ ബാറ്ററി വോൾട്ടേജ് 1.6 വോൾട്ടായി സജ്ജീകരിച്ചിരിക്കുന്നു. പരമാവധി ബാറ്ററി താപനില 35 ഡിഗ്രി സെൽഷ്യസായി സജ്ജീകരിച്ചിരിക്കുന്നു. പരമാവധി ചാർജിംഗ് സമയം 13 മണിക്കൂറായി സജ്ജീകരിച്ചിരിക്കുന്നു. ഈ സുരക്ഷാ പരിധികളിൽ ഏതെങ്കിലും കവിഞ്ഞാൽ, ചാർജർ ഓഫാകും.

ഒരു ശക്തമായ റെസിസ്റ്ററിന്റെ ടെർമിനലുകളിൽ സിസ്റ്റം നിരന്തരം വോൾട്ടേജ് അളക്കുന്നത് പ്രോഗ്രാമിന്റെ ബോഡിയിൽ നിങ്ങൾക്ക് കാണാൻ കഴിയും. ബാറ്ററിയിലുടനീളമുള്ള വോൾട്ടേജും അതിലൂടെ ഒഴുകുന്ന കറന്റും കണക്കാക്കാൻ ഇത് ഉപയോഗിക്കുന്നു. നിലവിലെ ടാർഗെറ്റ് മൂല്യവുമായി താരതമ്യം ചെയ്യുന്നു, അത് C/10 ആണ്. കണക്കാക്കിയ കറന്റ് ടാർഗെറ്റ് മൂല്യത്തിൽ നിന്ന് 10 mA-ൽ കൂടുതൽ വ്യത്യാസപ്പെട്ടാൽ, അത് ശരിയാക്കാൻ സിസ്റ്റം ഓട്ടോമാറ്റിക്കായി ഔട്ട്പുട്ട് മൂല്യം ക്രമീകരിക്കുന്നു.

നിലവിലുള്ള എല്ലാ ഡാറ്റയും പ്രദർശിപ്പിക്കുന്നതിന് Arduino ഒരു സീരിയൽ ഇന്റർഫേസ് ഉപയോഗിക്കുന്നു. നിങ്ങളുടെ ചാർജറിന്റെ പ്രവർത്തനം നിരീക്ഷിക്കാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, കമ്പ്യൂട്ടറിന്റെ USB പോർട്ടിലേക്ക് Arduino കണക്റ്റുചെയ്യാനാകും, എന്നാൽ ചാർജറിന്റെ 5V വോൾട്ടേജ് ഉറവിടത്തിൽ നിന്നാണ് Arduino പ്രവർത്തിക്കുന്നത് എന്നതിനാൽ ഇത് ആവശ്യമില്ല.

Int ബാറ്ററി ശേഷി = 2500; // mAh ഫ്ലോട്ട് റെസിസ്റ്റൻസിലെ ബാറ്ററി ശേഷി മൂല്യം = 10.0; // ശക്തമായ റെസിസ്റ്ററിന്റെ അളന്ന പ്രതിരോധം int cutoffVoltage = 1600; // പരമാവധി ബാറ്ററി വോൾട്ടേജ് (mV-ൽ) ഫ്ലോട്ട് കട്ട്ഓഫ് താപനിലC = 35 കവിയാൻ പാടില്ല; // (ഡിഗ്രി C ൽ) കവിയാൻ പാടില്ലാത്ത പരമാവധി ബാറ്ററി താപനില //float cutoffTemperatureF = 95; // (ഡിഗ്രി F ൽ) കവിയാൻ പാടില്ലാത്ത പരമാവധി ബാറ്ററി താപനില നീണ്ട കട്ട്ഓഫ്ടൈം = 46800000; // പരമാവധി സമയം 13 മണിക്കൂറിൽ ചാർജ്ജ് ചെയ്യുക, അത് int outputPin = 9 കവിയാൻ പാടില്ല; // ഔട്ട്പുട്ട് സിഗ്നൽ വയർ ഡിജിറ്റൽ പിൻ 9 int outputValue = 150 ലേക്ക് ബന്ധിപ്പിച്ചിരിക്കുന്നു; // ഔട്ട്പുട്ട് PWM സിഗ്നലിന്റെ മൂല്യം int analogPinOne = 0; // ആദ്യത്തെ വോൾട്ടേജ് സെൻസർ അനലോഗ് പിൻ 0 ഫ്ലോട്ട് മൂല്യവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നുProbeOne = 0; // analogPinOne ഫ്ലോട്ട് വോൾട്ടേജിൽ മൂല്യം സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾProbeOne = 0; // analogPinOne int analogPinTwo = 1-ൽ കണക്കാക്കിയ വോൾട്ടേജ്; // രണ്ടാമത്തെ വോൾട്ടേജ് സെൻസർ അനലോഗ് പിൻ 1 ഫ്ലോട്ട് മൂല്യവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നുProbeTwo = 0; // analogPinTwo ഫ്ലോട്ട് വോൾട്ടേജ്ProbeTwo = 0-ൽ മൂല്യം സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ; // analogPinTwo int analogPinThree = 2-ൽ കണക്കാക്കിയ വോൾട്ടേജ്; // മൂന്നാമത്തെ വോൾട്ടേജ് സെൻസർ അനലോഗ് പിൻ 2 ഫ്ലോട്ട് മൂല്യവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നുProbeThree = 0; അനലോഗ്പിൻ ത്രീ ഫ്ലോട്ട് tmp36Voltage = 0 എന്നതിൽ മൂല്യം സംഭരിക്കുന്നതിനുള്ള വേരിയബിൾ; // അനലോഗ്പിനിൽ കണക്കാക്കിയ വോൾട്ടേജ് മൂന്ന് ഫ്ലോട്ട് താപനിലC = 0; //കണക്കെടുത്ത സെൻസർ താപനില ഡിഗ്രി സി //ഫ്ലോട്ട് താപനിലF = 0; // ഡിഗ്രി F ഫ്ലോട്ട് വോൾട്ടേജിൽ കണക്കാക്കിയ സെൻസർ താപനില വ്യത്യാസം = 0; // അനലോഗ്പിൻ ഒണിലെയും അനലോഗ്പിൻ ടുവിലെയും വോൾട്ടേജുകൾ തമ്മിലുള്ള വ്യത്യാസം ഫ്ലോട്ട് ബാറ്ററി വോൾട്ടേജ് = 0; // കണക്കാക്കിയ ബാറ്ററി വോൾട്ടേജ് ഫ്ലോട്ട് കറന്റ് = 0; // (mA) ഫ്ലോട്ടിലെ ലോഡിലൂടെ ഒഴുകുന്ന കണക്കാക്കിയ കറന്റ് ടാർഗെറ്റ് കറന്റ് = ബാറ്ററി കപ്പാസിറ്റി / 10; // ടാർഗെറ്റ് ഔട്ട്പുട്ട് കറന്റ് (mA-ൽ) // C/10 അല്ലെങ്കിൽ 1/10 ബാറ്ററി കപ്പാസിറ്റി ഫ്ലോട്ട് കറന്റ് പിശക് = 0; // ടാർഗെറ്റും യഥാർത്ഥ കറന്റും തമ്മിലുള്ള വ്യത്യാസം (mA-ൽ) ശൂന്യമായ സജ്ജീകരണം() ( Serial.begin(9600); // സീരിയൽ ഇന്റർഫേസ് പിൻമോഡ് (ഔട്ട്‌പുട്ട്പിൻ, OUTPUT) സജ്ജീകരിക്കുക; // പിൻ ഔട്ട്പുട്ടായി സജ്ജീകരിക്കുക ) void loop() ( analogWrite (outputPin, outputValue); // ഔട്ട്‌പുട്ട് പിൻ എന്നതിലേക്ക് ഔട്ട്‌പുട്ട് മൂല്യം എഴുതുക Serial.print("ഔട്ട്‌പുട്ട്: "); // കമ്പ്യൂട്ടറിൽ നിരീക്ഷിക്കുന്നതിനുള്ള ഔട്ട്‌പുട്ട് മൂല്യങ്ങൾ കാണിക്കുക Serial.println(outputValue); valueProbeOne = analogRead( analogPinOne); // ആദ്യത്തെ പ്രോബ് വോൾട്ടേജിലെ ഇൻപുട്ട് മൂല്യം വായിക്കുകProbeOne = (valueProbeOne*5000)/1023; // millivolts Serial.print("Voltage Probe One (mV): "); // ആദ്യത്തെ പ്രോബിൽ വോൾട്ടേജ് കാണിക്കുക Serial.println(voluteProbeOne); valueProbeTwo = analogRead(analogPinTwo); // രണ്ടാമത്തെ പ്രോബ് വോൾട്ടേജിലെ ഇൻപുട്ട് മൂല്യം വായിക്കുകProbeTwo = (valueProbeTwo*5000)/1023; // രണ്ടാമത്തെ പ്രോബിലെ വോൾട്ടേജ് കണക്കാക്കുക മില്ലിവോൾട്ടുകളിൽ Serial.print("വോൾട്ടേജ് പ്രോബ് രണ്ട് (mV): " ); // രണ്ടാമത്തെ പ്രോബിലെ വോൾട്ടേജ് കാണിക്കുക Serial.println(voltageProbeTwo); ബാറ്ററി വോൾട്ടേജ് = 5000 - വോൾട്ടേജ്ProbeTwo; //ബാറ്ററി വോൾട്ടേജ് കണക്കാക്കുക Serial.print("ബാറ്ററി വോൾട്ടേജ് (mV): "); // ബാറ്ററി വോൾട്ടേജ് കാണിക്കുക Serial.println(batteryVoltage); നിലവിലെ = (voltageProbeTwo - വോൾട്ടേജ്ProbeOne) / പ്രതിരോധം; // ചാർജ് കറന്റ് കണക്കാക്കുക Serial.print("ടാർഗെറ്റ് കറന്റ് (mA): "); // ടാർഗെറ്റ് കറന്റ് കാണിക്കുക Serial.println(targetCurrent); Serial.print("ബാറ്ററി കറന്റ് (mA): "); // യഥാർത്ഥ കറന്റ് കാണിക്കുക Serial.println(നിലവിലെ); നിലവിലെ പിശക് = ടാർഗെറ്റ് കറന്റ് - കറന്റ്; // ലക്ഷ്യവും അളന്ന പ്രവാഹങ്ങളും തമ്മിലുള്ള വ്യത്യാസം Serial.print("നിലവിലെ പിശക് (mA): "); // നിലവിലെ ക്രമീകരണ പിശക് കാണിക്കുക Serial.println(currentError); valueProbeThree = അനലോഗ് റീഡ് (അനലോഗ്പിൻ ത്രീ); // മൂന്നാമത്തെ പ്രോബിന്റെ ഇൻപുട്ട് മൂല്യം വായിക്കുക, tmp36Voltage = valueProbeThree * 5. 0; // അതിനെ വോൾട്ടേജ് tmp36Voltage ആയി പരിവർത്തനം ചെയ്യുന്നു /= 1024.0; താപനിലC = (tmp36Voltage - 0.5) * 100 ; 500 mV // ((വോൾട്ടേജ് - 500 mV) 100 കൊണ്ട് ഗുണിച്ചാൽ ഒരു ഡിഗ്രിക്ക് 10 mV എന്ന ആശ്രിതത്വത്തെ അടിസ്ഥാനമാക്കിയുള്ള // പരിവർത്തനം Serial.print("താപനില (ഡിഗ്രി C) "); // ഡിഗ്രി സെൽഷ്യസിൽ താപനില കാണിക്കുക Serial.println(temperatureC); /* താപനിലF = (താപനിലC * 9.0 / 5.0) + 32.0; //ഡിഗ്രി ഫാരൻഹീറ്റിലേക്ക് പരിവർത്തനം ചെയ്യുക Serial.print("താപനില (ഡിഗ്രി F) "); Serial.println(temperatureF); */ Serial.println(); // അധികമായി ശൂന്യമായ വരികൾ Serial.println() ഡീബഗ്ഗിംഗ് ചെയ്യുമ്പോൾ ഡാറ്റ വായിക്കുന്നത് എളുപ്പമാക്കുന്നതിന്; if(abs(currentError) > 10) // നിലവിലെ ക്രമീകരണ പിശക് ആവശ്യത്തിന് വലുതാണെങ്കിൽ, ഔട്ട്‌പുട്ട് വോൾട്ടേജ് ക്രമീകരിക്കുക ( outputValue = outputValue + currentError / 10; if(outputValue< 1) // выходное значение никогда не может быть ниже 0 { outputValue = 0; } if(outputValue >254) // ഔട്ട്‌പുട്ട് മൂല്യം ഒരിക്കലും 255-ൽ കൂടുതലാകരുത് (ഔട്ട്‌പുട്ട് മൂല്യം = 255; ) അനലോഗ് റൈറ്റ് (ഔട്ട്‌പുട്ട്പിൻ, ഔട്ട്‌പുട്ട് മൂല്യം); //പുതിയ ഔട്ട്പുട്ട് മൂല്യം എഴുതുക ) if(temperatureC > cutoffTemperatureC) // ബാറ്ററി താപനില സുരക്ഷിതമായ പരിധി കവിയുന്നുവെങ്കിൽ ചാർജ് ചെയ്യുന്നത് നിർത്തുക ( outputValue = 0; Serial.print("പരമാവധി താപനില കവിഞ്ഞു"); ) /* if(temperatureF > cutoffTemperatureF) / / ബാറ്ററി താപനില സുരക്ഷിതമായ പരിധി കവിയുന്നുവെങ്കിൽ ചാർജ് ചെയ്യുന്നത് നിർത്തുക ( outputValue = 0; ) */ if(batteryVoltage > cutoffVoltage) // ബാറ്ററി വോൾട്ടേജ് സുരക്ഷിത പരിധി കവിഞ്ഞാൽ ചാർജ് ചെയ്യുന്നത് നിർത്തുക ( outputValue = 0; Serial.print("പരമാവധി വോൾട്ടേജ് കവിഞ്ഞു" ); ) if(millis() > cutoffTime) // ചാർജ്ജ് സമയം പരിധി കവിഞ്ഞാൽ ചാർജ് ചെയ്യുന്നത് നിർത്തുക ( outputValue = 0; Serial.print("Max Charge Time Exceeded"); ) delay(10000); // ലൂപ്പിന്റെ അടുത്ത ആവർത്തനത്തിന് 10 സെക്കൻഡ് വൈകുക)

താഴെയുള്ള ലിങ്കിൽ സോഴ്സ് കോഡിന്റെ ഡൗൺലോഡ് ചെയ്യാവുന്ന ഒരു പതിപ്പ് നിങ്ങൾക്ക് കണ്ടെത്താം.

നല്ല പഴയ "റെക്റ്റിഫയർ"
B14 ചാർജർ"!
നിങ്ങൾ എപ്പോഴും ഒരു രക്ഷകനെപ്പോലെയായിരുന്നു:
ഞങ്ങളെ സഹായിച്ചു, പ്രിയേ!

ചൂടിലും ശൈത്യകാല തണുപ്പിലും
ബാറ്ററി പുനരുജ്ജീവിപ്പിച്ചു;
എനിക്ക് ജലദോഷം വന്നാലും
നിങ്ങൾ ഒരു റോബോട്ട് ടെർമിനേറ്ററെപ്പോലെയാണ്!

തകർത്തില്ല, വിട്ടുകൊടുത്തില്ല
ഏറ്റവും പ്രയാസകരമായ മണിക്കൂറിൽ പോലും;
ആവശ്യമുള്ളപ്പോൾ, ഞാൻ ടെൻഷൻ ചെയ്തു,
ഞങ്ങൾക്കായി എല്ലാം ഈടാക്കുന്നു.

നാൽപ്പത് വർഷങ്ങൾ ഇതിനകം കടന്നുപോയി
നല്ല ബ്രെഷ്നെവ് കാലം മുതൽ,
നിങ്ങളുടെ ശരീരം ഒരു ശരീരം പോലെയാകുമ്പോൾ
ഇത് ഫാക്ടറിയിൽ അടച്ചു.

അന്നുമുതൽ നിങ്ങൾ നന്നായി സേവിക്കുന്നു.
നിങ്ങൾ എല്ലാ യന്ത്രങ്ങളുടെയും പ്രയോജനത്തിനാണ്,
യൂണിയനിൽ നിന്ന് വ്യത്യസ്തമാണ്
കാരണം, സത്യം നശിപ്പിക്കാനാവാത്തതാണ്.

പക്ഷേ മാറേണ്ട സമയമായി
സമയത്തിന്റെ കനത്ത ഭാരം വലിച്ചെറിയുക,
അതിനാൽ നിങ്ങൾക്ക് എഴുന്നേൽക്കാൻ കഴിയും,
അങ്ങനെ ഹോക്കിംഗ് സ്മാർട്ടായി.

ആരെങ്കിലും കള്ളത്തരത്തിൽ ചോദിച്ചാൽ
"എനിക്ക് ഇത് എങ്ങനെ ചെയ്യാൻ കഴിയും?" -
വിഷമിക്കേണ്ട, ഞാൻ അതിനെക്കുറിച്ചാണ് സംസാരിക്കുന്നത്
ഈ ലേഖനത്തിൽ ഞാൻ നിങ്ങളോട് പറയും.

ആസക്തിയുടെ ഒരു നിമിഷം.

ആശംസകൾ, പ്രിയ വായനക്കാർ! ഏകദേശം നാല് മാസത്തെ ഇടവേളയ്ക്ക് ശേഷം, ഞാൻ വീണ്ടും ബിസിനസ്സിലേക്ക് മടങ്ങി, ചെയ്ത ജോലിയെക്കുറിച്ചുള്ള ഒരു റിപ്പോർട്ട് എന്ന നിലയിൽ, ഈ ലേഖനം എഴുതേണ്ടത് ആവശ്യമാണെന്ന് ഞാൻ കരുതുന്നു. എവിടെ തുടങ്ങണം, സീറോ വിസിബിലിറ്റിയെ കുറിച്ച് നാലാമത്തെ തവണ പോസ്റ്റ് ചെയ്യരുതെന്ന് ഞാൻ വളരെക്കാലമായി ചിന്തിച്ചു. - ഈ ഉദ്ധരണി ഇതിനകം കഴിഞ്ഞ മൂന്ന് ലേഖനങ്ങളിൽ എനിക്ക് പതിവായി പ്രവർത്തിച്ചിട്ടുണ്ട്, അതിനാൽ ഇതിന് മതി - അത് അർഹമായ വിശ്രമത്തിലേക്ക് പോകട്ടെ! ശരി, അതിനിടയിൽ, ഞാൻ ഒരു പുതിയ പരീക്ഷണാത്മക ട്രിക്ക് ഉപയോഗിക്കും, നമുക്ക് ഇതിനെ "മയക്കുമരുന്ന് ആസക്തിയുടെ മിനിറ്റ്" എന്ന് വിളിക്കാം - "ഹലോ" എന്ന രസകരവും ശാന്തവുമായ നിമിഷം, ലേഖനത്തിന്റെ പ്രധാന ആശയത്തിലേക്ക് സുഗമമായി നയിക്കുന്നു . 🙄

അതിനാൽ, “മിനിറ്റിൽ” ഇതിനകം പ്രഖ്യാപിച്ചതുപോലെ, എഴുപതുകളുടെ തുടക്കത്തിൽ ഒരു പഴയ ചാർജറിനെ ഒരു മൈക്രോകൺട്രോളർ നിയന്ത്രിക്കുന്ന പുതിയതും ആധുനികവുമായ ഒന്നാക്കി മാറ്റിയതിനെക്കുറിച്ച് ഇന്ന് ഞാൻ നിങ്ങളോട് പറയും. എന്റെ ബാറ്ററി ചാർജുചെയ്യുമ്പോൾ എന്റെ സുഹൃത്ത് എന്നെ ബിയർ കുടിക്കാൻ ക്ഷണിച്ചതിനാലാണ് ഈ ചിന്ത എന്നിലേക്ക് വന്നത്. പോകുന്നതിൽ എനിക്ക് സന്തോഷമുണ്ടാകുമായിരുന്നു, പക്ഷേ ഭാഗ്യം - ചാർജർ നിരന്തരം നിരീക്ഷിക്കേണ്ടതുണ്ട്! ബാറ്ററിയിലെ വോൾട്ടേജ് പരിശോധിക്കുന്നതിന് ഓരോ അരമണിക്കൂറിലും ഒരിക്കൽ അല്ലെങ്കിൽ അതിലും കൂടുതൽ തവണ അതിലേക്ക് ഓടുക, അത് പരമാവധി കവിയുന്നുവെങ്കിൽ, മുൻ പാനലിലെ ഉചിതമായ സ്വിച്ച് ഉപയോഗിച്ച് പവർ കുറയ്ക്കുക. സമ്മതിക്കുക, ഇത് അസൗകര്യമാണ്: നിങ്ങൾ ഒരു ചാർജിംഗ് ബാറ്ററിയുമായി നിരന്തരം ബന്ധിക്കപ്പെട്ടിരിക്കുന്നു, നിങ്ങൾക്ക് എവിടെയും നീങ്ങാൻ കഴിയില്ല, നിങ്ങൾക്ക് പെട്ടെന്ന് നഷ്ടപ്പെടുകയാണെങ്കിൽ ശരിയായ നിമിഷം- ബാറ്ററി നിങ്ങൾക്ക് നന്ദി പറയില്ല. മറുവശത്ത്, അവൻ എന്തായാലും അത് പറയില്ല: അവൻ എങ്ങനെ സംസാരിക്കണമെന്ന് അറിയാത്ത ഒരു സ്മാരകമാണ്))))

തമാശകൾ മാറ്റിനിർത്തിയാൽ, നവംബറിൽ ഞാൻ കണ്ടുമുട്ടിയ Arduino-യിൽ ഗൗരവമേറിയ എന്തെങ്കിലും ചെയ്യാൻ ഞാൻ പണ്ടേ ആഗ്രഹിച്ചിരുന്നു, Aliexpress-ൽ നിന്ന് ഒരു മൈക്രോകൺട്രോളറും ഷീൽഡും മെയിലിൽ മറ്റ് സാധനങ്ങളും ഉള്ള ഒരു അമൂല്യ പാക്കേജ് ചൈനക്കാരിൽ നിന്ന് എടുത്ത്. ഇതാ, ഒരു മികച്ച അവസരം - അത് എടുത്ത് അത് ചെയ്യുക! അങ്ങനെ ഞാൻ അത് എടുത്ത് നേരിട്ട് ചെയ്യാൻ തുടങ്ങി!

ചാർജർ സർക്യൂട്ട്

ആദ്യം, പൂർത്തിയായ ഉപകരണത്തിന്റെ ക്ലിക്കുചെയ്യാനാകുന്ന ഒരു ഡയഗ്രം ഞാൻ നിങ്ങൾക്ക് തരാം:

പ്രധാന ഘടകങ്ങളുടെ പട്ടിക

  • 8 കപ്പാസിറ്ററുകൾ: 22 pF-ൽ 2, 100 pF-ൽ 1, 100 mF-ന്റെ രണ്ട് കഷണങ്ങൾ, കൂടാതെ വൈദ്യുതി വിതരണത്തിനായി - 6.3 വോൾട്ടുകളിൽ ഒന്ന് വലുതും 16-ന്റെ രണ്ട് വലിയവയും, ഉദാഹരണത്തിന്, യഥാക്രമം 1500 mF (എല്ലാവർക്കും കഴിയും 16 വോൾട്ടുകളോ അതിൽ കൂടുതലോ ആകുക, പ്രശ്നമല്ല).
  • 16 മെഗാഹെർട്‌സ് ക്വാർട്‌സുള്ള പ്രോഗ്രാം ചെയ്യാവുന്ന Atmega328 മൈക്രോകൺട്രോളറും അതിനുള്ള ഒരു ഷീൽഡും (ആദ്യ ഷീൽഡിലേക്ക് കുറച്ച് പേജുകളിലൂടെ സ്‌ക്രോൾ ചെയ്യുക, ഇതാണ് ഏറ്റവും കൂടുതൽ വിലകുറഞ്ഞ ഓപ്ഷൻ), അങ്ങനെ അത് ഫ്ലാഷ് ചെയ്യാൻ സൗകര്യപ്രദമാണ്.
  • അതേ കാരണത്താൽ - മുകളിൽ സൂചിപ്പിച്ച മൈക്രോ സർക്യൂട്ടിനുള്ള ക്ലാമ്പിംഗ് സോക്കറ്റുകൾ. ഒരു സാമ്പത്തിക ഓപ്ഷനായി നിങ്ങൾക്ക് സാധാരണമായവ ഉപയോഗിച്ച് നേടാമെങ്കിലും. ശരി, അല്ലെങ്കിൽ വയറുകൾ എംകെയിലേക്ക് സോൾഡർ ചെയ്ത് മറ്റൊരു ആർഡ്വിനോ അല്ലെങ്കിൽ ഫ്ലാഷർ ഉപയോഗിച്ച് ഫ്ലാഷ് ചെയ്യുക - നിങ്ങൾ ഇഷ്ടപ്പെടുന്നതുപോലെ.
  • 9 KT315, 1 KT815 ട്രാൻസിസ്റ്ററുകൾ (അല്ലെങ്കിൽ അനലോഗുകൾ) - ഏതെങ്കിലും പഴയ സോവിയറ്റ് ഉപകരണങ്ങളിൽ നിന്ന് വിൽക്കാത്തവ.
  • 8 വൈറ്റ് ഡിഫ്യൂസ് എൽഇഡികളും 1 പച്ചയും.
  • 12 വോൾട്ട് കോയിലുകളുള്ള 9 റിലേകൾ: ഒന്ന് 220 V, നാലെണ്ണം 12 V 16 A, നാല് ചെറിയവ 12 V 12 A. അവസാന 8 കഴിയുന്നത്ര ചെറുതായിരിക്കണം.
  • 40 റെസിസ്റ്ററുകൾ: 15 560 ohm, 12 kg ohm, 8 ohm, 2 10k, 3k3, 4k7, 30k എന്നിവയിൽ ഓരോന്നും.
  • 12 വോൾട്ടുകൾക്ക് ഒരു ജോടി ഡയോഡുകൾ: അര ആമ്പിയറിന് ഒന്ന്, രണ്ടാമത്തേത് കുറഞ്ഞത് ഒരു ആമ്പിയറിന്, ഒരു റിസർവ് ഉപദ്രവിക്കില്ല. ഇത് എവിടെനിന്നും വിറ്റഴിക്കപ്പെടുന്നു, ഉദാഹരണത്തിന് നിർജ്ജീവമായ പവർ സപ്ലൈകളിൽ നിന്ന്.
  • ചിലതരം ലൈറ്റ് ബൾബ്, ഒരുപക്ഷേ ഒരു റെസിസ്റ്ററുള്ള ഒരു LED, 220 വോൾട്ടുകളിൽ നിന്ന് കത്തുന്നു. യഥാർത്ഥത്തിൽ, ഒരു നിയോൺ പെൺകുട്ടി അവിടെ ശാന്തമായി കാണപ്പെടും!
  • നിലവിലെ വോൾട്ടേജ് പ്രദർശിപ്പിക്കുന്നതിന് പഴയ സിസ്റ്റം യൂണിറ്റിൽ നിന്നുള്ള പതിനാറ് സെഗ്‌മെന്റ് സ്‌ക്രീൻ. ശരി, അല്ലെങ്കിൽ മൂന്ന് ഏഴ് സെഗ്‌മെന്റുകൾ. അല്ലെങ്കിൽ നിലവിലെ വോൾട്ടേജ് പ്രദർശിപ്പിക്കുന്നതിന് ഒരു ബോൾട്ടിൽ ചുറ്റിക പോലും: ഇത്, എല്ലാത്തിനുമുപരി, ഓട്ടോമാറ്റിക് ഉപകരണം, ഇത് വോൾട്ടേജ് തന്നെ നിയന്ത്രിക്കുന്നു, നിങ്ങൾ അത് അറിയേണ്ടതില്ല, ഇൻ അവസാന ആശ്രയമായിഒരു ടെസ്റ്റർ ഉപയോഗിച്ച് അത് അളക്കുക. ഒരു സ്‌ക്രീനിനുപകരം, നിങ്ങൾക്ക് കുറച്ച് എൽഇഡികൾ ഇടാൻ കഴിയും, അതുവഴി ആർഡ്വിനോ അവയ്‌ക്കൊപ്പം മിന്നിമറയും, അവർ പറയുന്നു, ഞാൻ മരവിച്ചിട്ടില്ല, ഞാൻ പ്രവർത്തിക്കുന്നു, എല്ലാം നിയന്ത്രണത്തിലാണ്! (ഇല്ല, ഞാൻ ശീതീകരിച്ച Arduino ഒരിക്കലും കണ്ടിട്ടില്ല, എന്നിരുന്നാലും, നിങ്ങൾ എന്തിനും തയ്യാറായിരിക്കണം.) 🙄
  • 3 ഷിഫ്റ്റ് രജിസ്റ്ററുകൾ 74HC595
  • ശരി, ഇതുപോലുള്ള ഒരു സർക്യൂട്ട് ബോർഡിന്റെ പകുതി പോലെയുള്ള ഒന്ന് (ഞാൻ ഒരു ഗ്ലാസ് കമ്പോട്ടിനായി eBay- ൽ 10 കഷണങ്ങൾ വാങ്ങി):

ഈ പ്രോജക്റ്റിൽ ഉപയോഗിച്ചിരിക്കുന്ന മിക്കവാറും എല്ലാ ഘടകങ്ങൾക്കും കൃത്യമായ റേറ്റിംഗുകൾ ഇല്ലെന്നും സർക്യൂട്ടിന്റെയും ഫേംവെയറിന്റെയും കുറഞ്ഞ അഡാപ്റ്റേഷൻ ഉപയോഗിച്ചോ അല്ലെങ്കിൽ മാറ്റങ്ങളൊന്നുമില്ലാതെയോ സമാനമായതോ സമാനമോ ആയവ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കാമെന്നും ഞാൻ ശ്രദ്ധിക്കാൻ ആഗ്രഹിക്കുന്നു. അക്ഷരാർത്ഥത്തിൽ എന്റെ വിരൽത്തുമ്പിൽ കിടക്കുന്ന ആ ഭാഗങ്ങൾ ഉപയോഗിക്കാൻ ഞാൻ ശ്രമിച്ചു: ഉദാഹരണത്തിന്, ഇവിടെ ഉപയോഗിച്ചിരുന്ന ഭൂരിഭാഗം റെസിസ്റ്ററുകളും ട്രാൻസിസ്റ്ററുകളും ഞാൻ അടുത്തിടെ ഒരു ആന്റിഡിലൂവിയൻ വിൽമ ടേപ്പ് റെക്കോർഡറിൽ നിന്ന് സോൾഡർ ചെയ്തു, അവശിഷ്ടങ്ങൾ സോൾഡർ ചെയ്യാത്തതിന് ശേഷം സുരക്ഷിതമായി അയച്ചു. ഒരു ലാൻഡ്ഫിൽ. അതിനാൽ ഈ ഉപകരണത്തിനായുള്ള ഭാഗങ്ങൾ വാങ്ങുന്നതിന് ചെലവഴിച്ച തുക $ 15 കവിയരുത്, കൂടാതെ ബജറ്റിന്റെ ഭൂരിഭാഗവും റിലേകൾക്കായി ചെലവഴിച്ചു.

യഥാർത്ഥ ചാർജർ പതിപ്പ്

നിർഭാഗ്യവശാൽ, ഈ ചാർജറിന്റെ ഒരു ഫോട്ടോ എന്റെ പക്കലില്ലായിരുന്നു യഥാർത്ഥ അവസ്ഥ, അതിനാൽ എനിക്ക് നിങ്ങൾക്ക് വാഗ്ദാനം ചെയ്യാൻ കഴിയുന്നത് ഇത്രമാത്രം ഈ ഘട്ടത്തിൽ- ഇതിനകം നീക്കം ചെയ്ത കവർ ഉള്ള ഫോട്ടോ, പവർ സ്വിച്ചിന്റെ മെക്കാനിക്കൽ ഭാഗം അഴിച്ചു (ഇടതുവശത്ത്), ഈ സ്വിച്ചിന്റെ ഹാൻഡിൽ (വലതുവശത്ത്). അതിന്റെ വൈദ്യുത ഭാഗം ഉപകരണത്തിന്റെ മുകളിൽ നിന്ന് പുറത്തേക്ക് നിൽക്കുന്നു. വോൾട്ടേജ് സ്വിച്ച് (6 അല്ലെങ്കിൽ 12 വോൾട്ട്) ആണ് അതിന്റെ യഥാർത്ഥ ദ്വാരത്തിൽ നിന്ന് നീക്കം ചെയ്തത്:

മേൽപ്പറഞ്ഞ കൃത്രിമത്വങ്ങൾ നടത്തിയ ശേഷം, ഫ്യൂസിൽ നിന്നുള്ള പവർ വയർ, ട്രാൻസ്‌ഫോർമറിന്റെ പ്രൈമറി വൈൻഡിംഗിൽ നിന്ന് ഞാൻ സോൾഡർ ചെയ്തു, അത് ഇപ്പോഴും വലതുവശത്താണ്. മുകളിലെ മൂലഅടുത്ത ഫ്രെയിം. പക്ഷേ അവനോട് അധികം ശീലിക്കരുത് - ഞാൻ അവനെ കണ്ടെത്തി മികച്ച പകരക്കാരൻ, അതിനാൽ നിങ്ങൾ അവനെ വീണ്ടും കാണില്ല.

യഥാർത്ഥ ഉപകരണത്തിന്റെ പ്രവർത്തന തത്വം

ചാർജർ തന്നെ ഒരു ലളിതമായ തത്വത്തിലാണ് നിർമ്മിച്ചിരിക്കുന്നത് - ട്രാൻസ്ഫോർമറിന്റെ പ്രാഥമിക വിൻഡിംഗിലേക്ക് 220 വോൾട്ട് വിതരണം ചെയ്യുന്നു, അതനുസരിച്ച്, ദ്വിതീയ വിൻഡിംഗിൽ ഇതര വോൾട്ടേജും ദൃശ്യമാകുന്നു. ദ്വിതീയ വിൻഡിംഗിൽ നിന്ന് (ആകെ 9) നിരവധി ഔട്ട്പുട്ടുകൾ ഉള്ളതിനാൽ വൈദ്യുതി നിയന്ത്രിക്കാനാകും. ഇതിനർത്ഥം ആദ്യത്തേതും തുടർന്നുള്ള ഓരോ ടെർമിനലുകൾക്കുമിടയിൽ വർദ്ധിച്ചുവരുന്ന തിരിവുകൾ ലഭിക്കുന്നു, കൂടാതെ കൂടുതൽ തിരിവുകൾ, നിങ്ങൾക്കറിയാവുന്നതുപോലെ, ഉയർന്ന വോൾട്ടേജ് (അതായത്, കറന്റ് അല്ലെങ്കിൽ പവർ - നിങ്ങൾ ആഗ്രഹിക്കുന്നതുപോലെ). നിലവിലെ ബാറ്ററി ചാർജിംഗ് പവർ തിരഞ്ഞെടുക്കുന്ന അതേ സ്വിച്ചിലേക്ക് ഈ 8 പിന്നുകളും പോകുന്നു.

ദ്വിതീയ വിൻ‌ഡിംഗിന്റെ ആദ്യ ടെർമിനലിനും സ്വിച്ചിൽ നിന്നുള്ള ഔട്ട്‌പുട്ടിനും ഇടയിൽ ഈ സ്വിച്ച് തിരഞ്ഞെടുത്ത ഒന്നിടവിട്ട വോൾട്ടേജ് ഉണ്ടെന്ന് ഇത് മാറുന്നു. എന്നാൽ അവർക്ക് ഇപ്പോഴും ബാറ്ററി ചാർജ് ചെയ്യാൻ കഴിയില്ല, കാരണം ഇത് ചെയ്യുന്നതിന് ഇത് സ്ഥിരമായ ഒന്നാക്കി മാറ്റേണ്ടതുണ്ട്, അതായത് നേരെയാക്കണം. അതിനാൽ ഈ ഉപകരണത്തിന്റെ പേര് - റക്റ്റിഫയർ.

ഒന്നിടവിട്ട വോൾട്ടേജ് ശരിയാക്കാൻ, ഈ ചാർജർ ഒരു ഡയോഡ് ബ്രിഡ്ജ് പോലെ ലളിതവും വിശ്വസനീയവുമായ ഒരു കാര്യം ഉപയോഗിക്കുന്നു, അതിൽ നാല് ശക്തമായ D242 ഡയോഡുകൾ വ്യക്തിഗത റേഡിയറുകളിൽ ഘടിപ്പിച്ച് ഒരു വൈദ്യുത അടിത്തറയിൽ ഉറപ്പിച്ചിരിക്കുന്നു. അതിനാൽ സ്വിച്ചിൽ നിന്ന് കറന്റ് ആദ്യം ഡയോഡ് ബ്രിഡ്ജിന്റെ ഇൻപുട്ടിലേക്ക് ഒഴുകുന്നു, തുടർന്ന് അതിന്റെ ഔട്ട്പുട്ടിൽ നിന്ന് ആമീറ്റർ വഴി ബാറ്ററിയിലേക്ക്.

ദ്വിതീയ വിൻഡിംഗുകൾ സ്വിച്ചുചെയ്യുന്നതിനുള്ള ഒരു രീതി തിരഞ്ഞെടുക്കുന്നു

മിക്കതും പ്രധാന പ്രശ്നംമുകളിൽ സൂചിപ്പിച്ച ദ്വിതീയ വിൻഡിംഗ് ടെർമിനലുകൾ മാറുന്നതിനുള്ള രീതിയുടെ തിരഞ്ഞെടുപ്പായിരുന്നു ഈ പ്രോജക്റ്റ്. നിരവധി ഓപ്ഷനുകൾ ഉണ്ടായിരുന്നു, എന്നാൽ അവയിൽ ഏറ്റവും ഭ്രാന്തമായതും വിശ്വസനീയമല്ലാത്തതും പരീക്ഷിക്കാൻ ഞാൻ ഉടൻ തീരുമാനിച്ചു, എന്നാൽ തൊഴിൽ ചെലവിന്റെ കാര്യത്തിൽ ഏറ്റവും ലളിതമാണ് - സ്വിച്ച് സ്ഥാനം സ്വമേധയാ മാറ്റുന്നതിനുപകരം ഒരു സെർവോ ഡ്രൈവ് ബന്ധിപ്പിക്കുന്നു:

ഞാൻ സ്വിച്ചിലേക്ക് സെർവോമോട്ടർ ഘടിപ്പിച്ചു, പെട്ടെന്ന് ഫേംവെയർ എഴുതി അത് തിരിക്കാൻ ശ്രമിച്ചു, പക്ഷേ, അത് മാറിയപ്പോൾ, ആവശ്യത്തിന് പവർ ഇല്ലായിരുന്നു, ചിലപ്പോൾ അത് ഏറ്റവും നിർണായകമായ സ്ഥലത്ത് കുടുങ്ങുന്നു, അതിനാൽ ഈ ഓപ്ഷൻ, അയ്യോ, ചെയ്തില്ല. ടി പ്രവർത്തിക്കുക.

ഓ അതെ! ഞാൻ ഏറെക്കുറെ മറന്നു! വാസ്തവത്തിൽ, ദ്വിതീയ വിൻഡിംഗിൽ നിന്ന് 9 അല്ല, 10 ടെർമിനലുകൾ ഉണ്ടായിരുന്നു, ആദ്യ രണ്ടെണ്ണം ആറ് വോൾട്ടിന് ഒന്ന്, മറ്റൊന്ന് പന്ത്രണ്ട്, രണ്ടും ടോഗിൾ സ്വിച്ചിലേക്ക് പോയി, അതിനുശേഷം മാത്രമേ ഡയോഡ് ബ്രിഡ്ജിലേക്ക്:

എന്നാൽ 6V യിൽ ബാറ്ററികൾ ചാർജ് ചെയ്യാൻ ഞാൻ പദ്ധതിയിടാത്തതിനാൽ, ഞാൻ ഈ പ്രവർത്തനം നിരസിച്ചു, അതിനാൽ ഞാൻ ടോഗിൾ സ്വിച്ച് (രൂപകൽപ്പനയിൽ നിന്ന്, പൊതുവായതല്ല) വലിച്ചെറിഞ്ഞ് ആറ് വോൾട്ടുകൾക്ക് വയർ ഇൻസുലേറ്റ് ചെയ്തു, അതിൽ നിന്ന് പന്ത്രണ്ട് വോൾട്ട് വയർ ഓടിച്ചു ട്രാൻസ്ഫോർമർ നേരിട്ട് ഡയോഡ് ബ്രിഡ്ജിലേക്ക്.

അപ്പോൾ നിങ്ങൾ എങ്ങനെയാണ് ഇപ്പോഴും യാത്ര ചെയ്യുന്നത്? ഇവിടെ ഒന്നുകിൽ ട്രാൻസിസ്റ്ററുകൾ, അല്ലെങ്കിൽ thyristors, അല്ലെങ്കിൽ റിലേകൾ ഉപയോഗിക്കുന്നു. ഞാൻ അവസാന ഓപ്ഷൻ തിരഞ്ഞെടുത്തു, കാരണം റിലേകൾ ട്രാൻസിസ്റ്ററുകൾ/തൈറിസ്റ്ററുകൾ എന്നിവയേക്കാൾ ചെറുതാണ്, അവയിൽ നിന്ന് വ്യത്യസ്തമായി, നിങ്ങൾ അവയെ നിലവിലെ റിസർവ് ഉപയോഗിച്ച് എടുത്താൽ ചൂടാക്കരുത്. അങ്ങനെ ഞാൻ ചെയ്തു - 12 വോൾട്ടിന് കോയിലുകളുള്ള 8 ചെറിയ റിലേകൾ, 16 ആമ്പുകൾക്ക് 4 കഷണങ്ങൾ, 12 ആമ്പുകൾക്ക് 4 എന്നിങ്ങനെയാണ് ഞാൻ വാങ്ങിയത്. വലുപ്പത്തിൽ അവ യോജിക്കുന്നു സ്വതന്ത്ര സ്ഥലംചാർജർ കേസിനുള്ളിൽ:

ഉപകരണ പ്രവർത്തന അൽഗോരിതം

ഇവിടെ, ദ്വിതീയ വിൻ‌ഡിംഗിന്റെ ഔട്ട്‌പുട്ടുകൾ സ്വിച്ചുചെയ്യുന്ന രീതിയെക്കുറിച്ച് ഒടുവിൽ തീരുമാനിച്ചതിനാൽ, ചില “സാഹിത്യ കൂട്ടിച്ചേർക്കലുകൾ” നടത്തേണ്ടതും ഉപകരണത്തിന്റെ പ്രവർത്തനത്തിനുള്ള അൽ‌ഗോരിതത്തെക്കുറിച്ച് സംസാരിക്കേണ്ടതും ആവശ്യമാണെന്ന് ഞാൻ കരുതുന്നു. തുടക്കത്തിൽ, ഇത് കംപൈൽ ചെയ്യുന്നതിന്, ഈ ഷൈറ്റാൻ മെഷീൻ ഉപയോഗിച്ച് ബാറ്ററി ചാർജ് ചെയ്യുമ്പോൾ ഞാൻ എന്റെ പ്രവർത്തനങ്ങൾ വിശകലനം ചെയ്തു, ഇതിനെ അടിസ്ഥാനമാക്കി, ഒരു പുതിയ സ്കെച്ചിന്റെ ആദ്യ സ്ട്രോക്കുകൾ വരയ്ക്കാൻ തുടങ്ങി, അത് നിങ്ങൾക്ക് എടുക്കാം. എന്താണെന്ന് മനസിലാക്കാൻ നിങ്ങളെ സഹായിക്കുന്നതിന് ഞാൻ പലപ്പോഴും അതിന്റെ ഭാഗങ്ങളും ഭാഗങ്ങളും ഉദ്ധരിക്കും, അതിനാൽ ഞാൻ നിങ്ങളാണെങ്കിൽ, ഞാൻ ഇപ്പോൾ തന്നെ അത് തുറന്ന് ഞാൻ പോകുമ്പോൾ അത് പഠിക്കും.

ആദ്യം, നമുക്ക് ഏറ്റവും പ്രധാനപ്പെട്ട 3 പാരാമീറ്ററുകൾ പരിചയപ്പെടുത്താം:

// പരമാവധി വോൾട്ടേജ് * 10
ബൈറ്റ് maxVoltageX10 = 148;

// വോൾട്ടേജ് * 10, പവർ വർദ്ധിപ്പിക്കാൻ ഇനി സാധ്യമല്ല
ബൈറ്റ് powerUpMaxTreshold = 142;

// വോൾട്ടേജ് * 10 വൈദ്യുതി വർദ്ധിപ്പിക്കാൻ നിർബന്ധിതരാകും
ബൈറ്റ് powerUpMinTreshold = 136;

അവ 10 കൊണ്ട് ഗുണിക്കുന്നു, ഒന്നാമതായി, അവ കണക്കാക്കുമ്പോൾ പൂർണ്ണസംഖ്യകൾ ഉപയോഗിക്കുന്നത് കൂടുതൽ സൗകര്യപ്രദമാണ് - റൗണ്ടിംഗ് ഇല്ല, മുതലായവ, രണ്ടാമതായി അത്തരം സംഖ്യകൾ യഥാർത്ഥത്തിൽ സ്ക്രീനിൽ പ്രദർശിപ്പിക്കുന്നതിനാൽ, കോമ, അത് പോലെ, വെർച്വൽ ആണ്, അങ്ങനെ ഉണ്ട് കോഡിൽ അനാവശ്യ കണക്കുകൂട്ടലുകൾ നടത്തേണ്ടതില്ല, ഇവ യഥാക്രമം 14.8, 14.2, 13.6 വോൾട്ട് ആണെന്ന് വ്യക്തമാണ്.

ആദ്യ പാരാമീറ്റർ പ്രോഗ്രാമിനോട് അനുവദനീയമായ പരമാവധി വോൾട്ടേജ് പറയുന്നു, കവിഞ്ഞാൽ, വൈദ്യുതി ഒരു ലെവൽ കുറയ്ക്കും, അത് കുറയ്ക്കാൻ ഒരിടത്തും ഇല്ലെങ്കിൽ, ചാർജർ ഓഫാക്കണം.

ചാർജിംഗ് പ്രക്രിയയുടെ തുടക്കത്തിൽ രണ്ടാമത്തെ പാരാമീറ്റർ ഉപയോഗിക്കും - സ്വിച്ച് ഓണാക്കിയ ശേഷം, ബാറ്ററിയിലെ വോൾട്ടേജ് അത് സജ്ജമാക്കിയ മൂല്യത്തേക്കാൾ കുറവാകുന്നതുവരെ പവർ വർദ്ധിക്കും.

കാറുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ബാറ്ററി ചാർജ് ചെയ്യുമ്പോൾ കേസുകൾക്കായി പ്രത്യേകമായി മൂന്നാമത്തെ പാരാമീറ്റർ അവതരിപ്പിച്ചു. ഉദാഹരണത്തിന്, ആരെങ്കിലും റേഡിയോ ഓണാക്കി -> വോൾട്ടേജ് ഈ മൂല്യത്തിന് താഴെയായി -> ഞങ്ങൾ പവർ വർദ്ധിപ്പിക്കുന്നു. എന്നാൽ ഈ നിലയിലേക്ക് വോൾട്ടേജ് കുറയ്ക്കുന്ന ലോഡ് ഒരു നിശ്ചിത ആവൃത്തിയിൽ (ഉദാഹരണത്തിന്, ഒരു സബ്‌വൂഫറിന്റെ ആഘാതത്തിൽ നിന്ന്) ഹ്രസ്വകാലമോ (ഹെഡ്‌ലൈറ്റുകളോ സിഗരറ്റ് ലൈറ്ററോ ഓണാക്കുന്നത്) അല്ലെങ്കിൽ ആനുകാലികമോ ആണെങ്കിലോ? മസ്തിഷ്കം ശക്തി വർദ്ധിപ്പിക്കുമ്പോൾ, അത് ഉടനടി കുറയ്ക്കുകയും ഉടൻ തന്നെ വീണ്ടും വർദ്ധിപ്പിക്കുകയും ചെയ്യും. ഫലം ഒരു ദുഷിച്ച വൃത്തമായിരിക്കും, റിലേകൾ തുടർച്ചയായി ക്ലിക്കുചെയ്യും, ക്ഷീണിക്കും, ബാറ്ററിക്ക്, ഒരുപക്ഷേ, ഇത് വളരെ ഉപയോഗപ്രദമാകില്ല ... പ്രത്യേകിച്ചും ഇതിനായി, പരിചയപ്പെടുത്തുന്നതിലൂടെ നമ്മുടെ സിസ്റ്റം സ്വയം പഠിക്കുന്നതായി തോന്നാം. ഒരു അധിക പാരാമീറ്റർ:

// powerUpMinTreshold വഴി പവർ വർദ്ധിപ്പിക്കുന്നതിനും അത് കുറയ്ക്കുന്നതിനും ഇടയിൽ ഇതിലും കുറവ് മില്ലിസെക്കൻഡ് കടന്നുപോയാൽ, powerUpMinTreshold 1 കുറയും.
ഒപ്പിടാത്ത int powerUpMinTresholdTimeout = 60000;

അഭിപ്രായത്തിൽ നിന്ന് നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഈ പാരാമീറ്ററിന് നന്ദി, ഓരോ തവണയും പവർഅപ്പ്മിൻട്രെഷോൾഡ് ഒരു വോൾട്ടിന്റെ പത്തിലൊന്ന് കുറയും, ഓരോ തവണയും മസ്തിഷ്കം പവർഅപ്പ്മിൻട്രെഷോൾഡ് ടൈംഔട്ട് മില്ലിസെക്കൻഡിനേക്കാൾ കുറവ് പവർ കുറയ്ക്കും. അത്രയേയുള്ളൂ, പ്രശ്നം പരിഹരിച്ചു: അവർ ഒരു തവണ റിലേകളിൽ ക്ലിക്ക് ചെയ്യുക, രണ്ടാമത്തെ തവണ ക്ലിക്ക് ചെയ്യുക, മൂന്നാം തവണ അവർ ക്ലിക്കുചെയ്യുന്നതിന് മുമ്പ് 10 തവണ ചിന്തിക്കും. ഹ-ഹ-ഹ, അവർ തെറ്റായ ആളുകളെ ബന്ധപ്പെട്ടു!

ശരി, അൽഗോരിതത്തിന്റെ അടിസ്ഥാനം ഞങ്ങൾ കൂടുതലോ കുറവോ കണ്ടെത്തിയതായി തോന്നുന്നു, ഇപ്പോൾ നമുക്ക് വിശദാംശങ്ങളിലേക്കും സൂക്ഷ്മതകളിലേക്കും പോകാം.

മുഴുവൻ സിസ്റ്റവും ബാറ്ററിയിൽ നിന്ന് തന്നെ പ്രവർത്തിക്കുമെന്നും 220 വോൾട്ട് തലച്ചോറ് (അതായത് ആർഡ്വിനോ) നിയന്ത്രിക്കുന്ന ഒരു റിലേയിലൂടെ ബന്ധിപ്പിക്കുമെന്നും ഞാൻ ഉടൻ തന്നെ പദ്ധതിയിട്ടിരുന്നു. ഒരു അടിയന്തര സാഹചര്യത്തിലോ ബാറ്ററി ചാർജ്ജ് ചെയ്തതിന് ശേഷമോ ഉപകരണം. മാത്രമല്ല, സോക്കറ്റിലേക്ക് ഒരു പ്ലഗ് ഇൻസേർട്ട് ചെയ്യുന്നതിനേക്കാൾ റിലേയിൽ നിന്ന് സ്പാർക്കിംഗ് കുറവായിരിക്കും, അതിനാൽ ഈ ഓപ്ഷനും കൂടുതൽ വിശ്വസനീയമാണ്. സ്വാഭാവികമായും, അതിന്റെ കണക്ഷൻ ചുവടെ എഴുതപ്പെടും, കാരണം ഇപ്പോൾ നമ്മൾ സൈദ്ധാന്തിക പ്രശ്നങ്ങൾ മാത്രമാണ് ചർച്ച ചെയ്യുന്നത്.

സ്വിച്ചിംഗ് പ്രക്രിയ ഇനിപ്പറയുന്ന രീതിയിൽ സംഭവിക്കും: ആദ്യം നിങ്ങൾ സോക്കറ്റിലേക്ക് പവർ പ്ലഗ് പ്ലഗ് ചെയ്യേണ്ടതുണ്ട്, അതിനുശേഷം ഒന്നും സംഭവിക്കില്ല, തുടർന്ന് നിങ്ങൾ ബാറ്ററി തന്നെ ബന്ധിപ്പിക്കേണ്ടതുണ്ട്, അതിലെ വോൾട്ടേജ് കൂടുതലാണെങ്കിൽ എട്ട് വോൾട്ടുകളേക്കാൾ, മുഴുവൻ സിസ്റ്റവും ആരംഭിക്കുകയും അത് ചാർജ് ചെയ്യാൻ തുടങ്ങുകയും ചെയ്യും. എന്നാൽ ഇവിടെ മറ്റൊരു തന്ത്രപരമായ പാരാമീറ്റർ പ്രവർത്തിക്കുന്നു:

// ചാർജ്ജിംഗ് ആരംഭിക്കുന്നതിന് മുമ്പ് മില്ലിസെക്കൻഡ് വൈകുക
ഒപ്പിടാത്ത ഇൻറ്റ് powerOnDelay = 2000;

ഉദാഹരണത്തിന്, റിലേ ബ്ലോക്കിലെ സ്പാർക്കിംഗ് കുറയ്ക്കുന്നതിന് ഇത് ആവശ്യമാണ്, അതിന്റെ സഹായത്തോടെ ട്രാൻസ്ഫോർമറിന്റെ ദ്വിതീയ വിൻഡിംഗിന്റെ ടെർമിനലുകൾ അന്തിമ ഉപകരണത്തിൽ സ്വിച്ച് ചെയ്യും, കാരണം റിലേയുടെ ആദ്യ റിലേയിൽ കറന്റ് തടയുന്നു. ട്രാൻസ്ഫോർമറിലേക്ക് വൈദ്യുതി വിതരണം ചെയ്യുന്ന റിലേയേക്കാൾ ഉയർന്നതായിരിക്കും, കൂടാതെ എന്തെങ്കിലും സംഭവിച്ചാൽ, ഈ രണ്ടാമത്തെ റിലേ മാറ്റിസ്ഥാപിക്കുന്നത് വളരെ എളുപ്പമായിരിക്കും. അതായത്, ബാറ്ററി ബന്ധിപ്പിക്കുമ്പോൾ, വൈദ്യുതി ആദ്യം ഒന്നിലേക്ക് ഉയരും, തുടർന്ന്, ഈ കാലതാമസത്തിന് ശേഷം, പവർ റിലേ ഓണാകും. പവർ വർദ്ധന നടപടിക്രമത്തിലെ ഈ നാല് വരി കോഡുകൾ ഇതിന് ഉത്തരവാദികളാണ്:

എങ്കിൽ (പവർ ലെവൽ == 1) (
കാലതാമസം (powerOnDelay);

}

പൊതുവേ, ഈ സോപാധിക ഓപ്പറേറ്ററെ വ്യക്തമാക്കാൻ കഴിയും, അതിനാൽ ഇത് ആദ്യം ഓണായിരിക്കുമ്പോൾ ഒരു തവണ മാത്രമേ എക്സിക്യൂട്ട് ചെയ്യൂ, പക്ഷേ, സൈദ്ധാന്തികമായി, ഇത് പിന്നീട് സംഭവിക്കുകയാണെങ്കിൽ, ഉയർന്നതിൽ നിന്ന് പവർ ആദ്യ ലെവലിലേക്ക് താഴുമ്പോൾ, ഒന്നും മാറില്ല, റിലേ എന്തായാലും ഒരു പൂന്തോട്ടം നട്ടുപിടിപ്പിക്കേണ്ടെന്ന് ഞാൻ തീരുമാനിച്ചു.

വഴിയിൽ, കോഡിൽ വളരെ രസകരമായ ഒരു പാരാമീറ്റർ ഉണ്ട്:

// പവർ ലെവൽ (പ്രാരംഭം)
ബൈറ്റ് പവർലെവൽ = 0;

അവൻ, നിങ്ങൾ ഊഹിച്ചതുപോലെ, സെറ്റ് ചെയ്യുന്നു ആദ്യ നിലപവർ, ഫേംവെയർ ഡെവലപ്‌മെന്റിന്റെ വളരെ പ്രാരംഭ ഘട്ടത്തിൽ അവതരിപ്പിച്ചു, നിലവിൽ അവിടെ ഇത് ഉപയോഗിക്കുന്നു നിലവിലെ നില. കൗതുകകരമായ കാര്യം, നിങ്ങൾ ഇപ്പോൾ ഇത് വർദ്ധിപ്പിക്കുകയാണെങ്കിൽ, മുമ്പത്തെ ഖണ്ഡികയിൽ വിവരിച്ചിരിക്കുന്ന അവസ്ഥ ഒരിക്കലും പ്രവർത്തിക്കില്ല, അതായത്, 220 വോൾട്ട് ഒരിക്കലും ട്രാൻസ്ഫോർമറിന്റെ പ്രാഥമിക വിൻഡിംഗിൽ എത്തില്ല, അതായത് ഉപകരണം ബാറ്ററി ചാർജ് ചെയ്യില്ല. പിച്ചൽക്ക.

ശരി, സങ്കടകരമായ കാര്യങ്ങളെക്കുറിച്ച് സംസാരിക്കരുത്. ഞങ്ങൾ ഉപകരണം ഓണാക്കി ചാർജിംഗ് ആരംഭിച്ചുവെന്ന് പറയാം. എല്ലാം ശരിയാണ്, പക്ഷേ കറന്റ് വർദ്ധിപ്പിച്ചതിന് ശേഷം ബാറ്ററിയിലെ വോൾട്ടേജ് തൽക്ഷണം ഉയരുന്നില്ലെന്ന് മറക്കരുത്, വർദ്ധിപ്പിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ കാലതാമസം വരുത്തിയില്ലെങ്കിൽ, മസ്തിഷ്കം ഓണാക്കിയ ശേഷം തൽക്ഷണം വൈദ്യുതി കൈമാറും പരമാവധി ലെവൽ, എന്നാൽ ഇത് തെറ്റാണ്, അതിനാലാണ് ഇനിപ്പറയുന്ന പാരാമീറ്റർ നൽകിയത്:

// പവർ ഒരു ലെവൽ കൊണ്ട് വർദ്ധിപ്പിക്കാൻ കഴിയുന്ന സമയം, മില്ലിസെക്കൻഡിൽ
int powerUpTime = 5000;

അതായത്, രണ്ട് പവർ വർദ്ധനവുകൾക്കിടയിൽ കുറഞ്ഞത് 5000 മില്ലിസെക്കൻഡ് കടന്നുപോകേണ്ടിവരും, ഈ സമയത്ത് വോൾട്ടേജ് ഇതിനകം തന്നെ powerUpMaxTreshold-ന് മുകളിൽ ഉയരും, തുടർന്ന് പവർ വർദ്ധിപ്പിക്കേണ്ട ആവശ്യമില്ല.

പവർ കുറയ്ക്കുന്നതിനെ സംബന്ധിച്ചിടത്തോളം, എല്ലാം പൊതുവെ ലളിതമാണ്: നിലവിലെ വോൾട്ടേജ് പരമാവധി അനുവദനീയമായ ലെവലിൽ കവിയുന്നുണ്ടോ എന്ന് പ്രോഗ്രാം ഇടയ്ക്കിടെ പരിശോധിക്കുന്നു, അങ്ങനെ ചെയ്താൽ, പവർ കുറയ്ക്കണം:

// വൈദ്യുതി മുടക്കം
എങ്കിൽ (voltageX10 > maxVoltageX10) (

എന്നാൽ ഈ വ്യവസ്ഥ പാലിക്കുകയാണെങ്കിൽ, സംഭവങ്ങളുടെ വികസനത്തിന് രണ്ട് ഓപ്ഷനുകൾ ഉണ്ടായിരിക്കണം. ആദ്യത്തേത് നിലവിലെ പവർ ലെവൽ ഒന്നിൽ കൂടുതലാണെങ്കിൽ:

ഈ സാഹചര്യത്തിൽ, ഞങ്ങൾ പവർ താഴ്ന്ന നിലയിലേക്ക് സജ്ജമാക്കുകയും ചാർജ് ചെയ്യുന്നത് തുടരുകയും വേണം. അല്ലെങ്കിൽ, പവർ ലെവൽ ഇതിനകം തന്നെ ഏറ്റവും താഴ്ന്ന നിലയിലായിരിക്കുമ്പോൾ, ഞങ്ങൾ പവർ ഓഫ് ചെയ്ത് സ്‌ക്രീൻ ബ്ലിങ്ക് ചെയ്യുക. ഞങ്ങൾ പുഞ്ചിരിക്കുകയും കൈ വീശുകയും ചെയ്യുന്നു, ചുരുക്കത്തിൽ, ബാറ്ററി പൂർണ്ണമായി ചാർജ്ജ് ചെയ്തു!

പൊതുവേ, പ്രാക്ടീസ് കാണിച്ചിരിക്കുന്നതുപോലെ, ഞാൻ ചാർജ് ചെയ്ത ബാറ്ററികൾ രണ്ടാമത്തെ പവർ ലെവലിൽ പോലും ചാർജ് ചെയ്യുന്നതിൽ നിന്ന് സുരക്ഷിതമായി നീക്കംചെയ്യാം, കാരണം കറന്റ് ഇതിനകം 500 mA ന് താഴെയായി. എന്നിരുന്നാലും, നിങ്ങൾ ഓട്ടോ-ഷട്ട്-ഓഫ് ഫംഗ്ഷൻ അവഗണിക്കരുത് - വ്യത്യസ്ത തരം ബാറ്ററികൾ ഉണ്ട് ...

കൂടാതെ, പവർ കുറയ്ക്കുന്നതിന്, വർദ്ധിപ്പിക്കുന്നതിനുള്ള powerUpTime പാരാമീറ്ററിന് സമാനമായ ഒരു കാലതാമസം പാരാമീറ്റർ ഉണ്ട്:

//പവർ റിഡക്ഷൻ കഴിഞ്ഞ്, മില്ലിസെക്കൻഡിൽ താൽക്കാലികമായി നിർത്തുക
int powerDownPause = 500;

ശരിയാണ്, നേരിട്ടുള്ള കുറവിന് ശേഷം സാധാരണ കാലതാമസം() വഴി ഇത് കൂടുതൽ ലളിതമായി നടപ്പിലാക്കുന്നു. അര സെക്കൻഡ് അത് ഉപയോഗിക്കാൻ അത്ര വലിയ ഇടവേളയല്ലെന്ന് ഞാൻ മനസ്സിലാക്കി അധിക വ്യവസ്ഥസെലക്ഷൻ സ്റ്റേറ്റ്‌മെന്റിൽ, എന്നാൽ ഓരോരുത്തർക്കും അവരുടേതാണ്, അതിനാൽ നിങ്ങളിൽ ഒരാൾക്ക് ഒന്നും ചെയ്യാനില്ലെങ്കിൽ, പവർഅപ്പ്ടൈം തത്വമനുസരിച്ച് ആദ്യം നിങ്ങൾക്ക് ഈ കോഡ് പരിഷ്‌ക്കരിക്കാം.

ഞാൻ ഇതിനകം ഇത്രയധികം എഴുതിയതും യഥാർത്ഥത്തിൽ എവിടെ നിന്നാണ് ഇപ്പോഴത്തെ പിരിമുറുക്കം വരുന്നതെന്ന് പറയാത്തതും അതിശയകരമാണ്. തിരുത്തുന്നു:

ശൂന്യമായ ലൂപ്പ്() (
ct=millis();

ലൂപ്പിന്റെ ഓരോ ആവർത്തനത്തിന്റെയും തുടക്കത്തിൽ, നിങ്ങൾക്കറിയാവുന്നതുപോലെ, സിസ്റ്റം ആരംഭിച്ചതിന് ശേഷം അനന്തമായി ആവർത്തിക്കുന്നു, ഞങ്ങൾ രണ്ട് കാര്യങ്ങൾ ചെയ്യുന്നു. ആദ്യം, ഞങ്ങൾ ct വേരിയബിളിലേക്ക് എഴുതുന്നു. വര്ത്തമാന കാലംമൈക്രോ സർക്യൂട്ട് ആരംഭിക്കുന്ന നിമിഷം മുതൽ, മില്ലിസെക്കൻഡിൽ, തുടർന്ന് സ്കെച്ചിന്റെ തുടക്കത്തിൽ വ്യക്തമാക്കിയ അനലോഗ് മോണിറ്ററിംഗ് ഇൻപുട്ടിന്റെ എണ്ണം ഉപയോഗിച്ച് അനലോഗ് റീഡ് () നടപടിക്രമം ഉപയോഗിച്ച് നിലവിലെ വോൾട്ടേജ് ഞങ്ങൾ കണക്കാക്കുന്നു:

// വോൾട്ടേജ് നിരീക്ഷണത്തിനുള്ള അനലോഗ് ഇൻപുട്ട്
ബൈറ്റ് വോൾട്ടേജ്ഇൻപുട്ട് = 5;

കൂടാതെ 2 ഗുണകങ്ങളും, ഞാൻ പിന്നീട് വിശദമായി സംസാരിക്കും:

// വോൾട്ടേജ് കണക്കുകൂട്ടൽ ഗുണകം (അത് കൊണ്ട് ഹരിച്ചിരിക്കുന്നു)
ഫ്ലോട്ട് വോൾട്ടേജ്X10കോഫിഫിഷ്യന്റ് = 5.11;

// വോൾട്ടേജ് കണക്കുകൂട്ടൽ ഓഫ്സെറ്റ് (ഇത് ചേർത്തിരിക്കുന്നു)
int വോൾട്ടേജ്X10Shift = 35;

എന്നാൽ എല്ലാം വളരെ ലളിതമാണെങ്കിൽ അത് വളരെ ലളിതമായിരിക്കും. അതിനാൽ, അൽഗോരിതം സങ്കീർണ്ണമാക്കുന്നതിന്, കോഡിലേക്ക് 2 വേരിയബിളുകൾ കൂടി അവതരിപ്പിച്ചു:

boolean goUp = true, isUpAfter = false;

ചാർജിംഗ് പ്രക്രിയ നിലവിൽ ഏത് അവസ്ഥയിലാണെന്ന് ആദ്യത്തെ വേരിയബിൾ നമ്മോട് പറയുന്നു. ആദ്യമായി വൈദ്യുതി കുറയുന്നത് വരെ അതിന്റെ മൂല്യം ശരിയാണ്. അതായത്, goUp = true നമ്മോട് പറയുന്നത് ഞങ്ങൾ ചാർജർ ഓൺ ചെയ്തിട്ട് അധികനാളായിട്ടില്ലെന്നും അത് ഇപ്പോഴും പരമാവധി കറന്റ് ഉപയോഗിച്ച് ബാറ്ററി ചാർജ് ചെയ്യുന്നുണ്ടെന്നും, അമിത വോൾട്ടേജിൽ നിന്ന് സംരക്ഷിക്കാൻ അത് കുറയ്ക്കാതെ തന്നെ.

രണ്ടാമത്തേതിൽ, എല്ലാം ഒടുവിൽ സങ്കീർണ്ണമാണ് - goUp തെറ്റായി മാറിയതിന് ശേഷം വൈദ്യുതി വർദ്ധന സംഭവിച്ചോ എന്നും പവർ വർദ്ധന നടപടിക്രമത്തിന്റെ അവസാനം ഇനിപ്പറയുന്ന ലളിതമായ കോഡ് ഉപയോഗിച്ച് സജ്ജീകരിച്ചിട്ടുണ്ടോ എന്നും ഇത് നമ്മോട് പറയുന്നു:

എങ്കിൽ (goingUp == false) (isUpAfter = true;)

ഇപ്പോൾ നിങ്ങൾ ചിന്തിക്കുന്നുണ്ടാകാം, എന്തിനാണ് ഇതെല്ലാം ആവശ്യമായി വരുന്നത്? ഞാൻ ഇപ്പോൾ വിശദീകരിക്കും!

ഈ രണ്ട് വേരിയബിളുകൾ ചേർക്കുന്നതിനുള്ള കാരണം, ബാറ്ററിയുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു കാറിൽ നിൽക്കുന്ന ബാറ്ററി ചാർജ് ചെയ്യാനുള്ള കഴിവ് കൃത്യമായി നടപ്പിലാക്കിയതാണ്. വേരിയബിൾ ലോഡ്. goUp ഫംഗ്‌ഷന്റെ ആദ്യ ലക്ഷ്യം വൈദ്യുതി വർദ്ധന ഏത് പാരാമീറ്റർ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് നിർണ്ണയിക്കുക എന്നതാണ്:

എങ്കിൽ ((പവർ ലെവൽ<8) && (ct >powerTime + powerUpTime) && ((goingUp == true && VoltageX10< powerUpMaxTreshold) || (goingUp == false && voltageX10 < powerUpMinTreshold))) {

നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ആദ്യ ചാർജിംഗ് ഘട്ടത്തിൽ നിലവിലെ വോൾട്ടേജ് powerUpMaxTreshold-നേക്കാൾ കുറവാണെങ്കിൽ ഞങ്ങൾ പവർ വർദ്ധിപ്പിക്കും, രണ്ടാം ഘട്ടത്തിൽ - ഇത് powerUpMinTreshold-നേക്കാൾ കുറവാണെങ്കിൽ: ഇവയാണ് ഞാൻ തുടക്കത്തിൽ സംസാരിച്ച അതേ പാരാമീറ്ററുകൾ.

എങ്കിൽ സോപാധിക ഓപ്പറേറ്റർ, മുകളിൽ എഴുതിയത് ഇപ്പോഴും നിർവ്വഹിച്ചിരിക്കുന്നു, ഇതേ പോക്ക് അപ്പ് തെറ്റാണ്, തുടർന്ന് പേറ്റന്റ് ചെയ്ത സിസ്റ്റം പ്രാബല്യത്തിൽ വരും അധിക പരിശോധനവോൾട്ടേജ്:

ബൂളിയൻ സ്റ്റിൽ ലോ = true;
എങ്കിൽ (ഗോയിംഗ്അപ്പ് == തെറ്റ്) (
ഇതിനായി (int x=0; x<= upCycles; x++){
വോൾട്ടേജ്X10അനലോഗ് റീഡ്(വോൾട്ടേജ്ഇൻപുട്ട്)+വോൾട്ടേജ്X10ഷിഫ്റ്റ്)/വോൾട്ടേജ്X10കോഫിഫിഷ്യന്റ്;
എങ്കിൽ (voltageX10 > powerUpMinTreshold) (stillLow=false; break;)
കാലതാമസം (1);
}
}
എങ്കിൽ (ഇപ്പോഴും കുറവാണ് == ശരി) (

ഇതിൽ ഒരു പുതിയ കഥാപാത്രം രംഗപ്രവേശനം ചെയ്യുന്നു:

//പവർ ഉയർത്തുന്നതിന് മുമ്പ് വോൾട്ടേജ് പരിശോധനയുടെ മില്ലിസെക്കൻഡ് ആവർത്തനങ്ങളുടെ എണ്ണം
int upCycles = 5000;

പോയിക്കഴിഞ്ഞാൽ പവർ വർദ്ധിപ്പിക്കാനുള്ള ഒരു സിഗ്നൽ തെറ്റായി മാറുമ്പോൾ, ഞങ്ങൾ മിക്കവാറും ഏതെങ്കിലും തരത്തിലുള്ള അസ്ഥിരമായ ലോഡാണ് കൈകാര്യം ചെയ്യുന്നത് എന്നതാണ് വസ്തുത - ഞാൻ ഇതിനകം ഊഹിച്ച അതേ സബ്‌വൂഫർ, അല്ലെങ്കിൽ മറ്റ് ചില അജ്ഞാത മാലിന്യങ്ങൾ. അങ്ങനെയാണെങ്കിൽ, വിഡ്ഢിത്തമായി പവർ വർദ്ധിപ്പിക്കുന്നതിനുപകരം, ഞങ്ങളുടെ വിലയേറിയ സ്വിച്ചുകളിൽ ഒരിക്കൽ കൂടി ക്ലിക്ക് ചെയ്ത് ബാറ്ററിയിലെ വോൾട്ടേജ് ഒരു നിമിഷത്തേക്ക് പരമാവധി നിർവചിച്ചിരിക്കുന്നതിലും കൂടുതലായി ലഭിക്കുന്നതിന് പകരം, എന്തുകൊണ്ട് ക്രമീകരിക്കരുത്? ലളിതമായ പരിശോധന: 5 ആയിരം തവണ (upCycles) ഒരു മില്ലിസെക്കൻഡ് ഇടവേളയിൽ, നിലവിലെ വോൾട്ടേജ് പരിശോധിക്കുക, അത് ഒരിക്കലെങ്കിലും, കേൾക്കൂ, ഒരു തവണയെങ്കിലും powerUpMinTreshold കവിഞ്ഞാൽ - അത്രയേയുള്ളൂ, ഖാൻ, വർദ്ധനവ് ഉണ്ടാകില്ല, മത്സ്യബന്ധനം ഓഫ് ചെയ്യുക തണ്ടുകൾ! ലളിതവും എന്നാൽ ഫലപ്രദവുമായ പരിശോധന.

isUpAfter, അതാകട്ടെ, powerUpMinTreshold റിഡക്ഷൻ ഫംഗ്‌ഷൻ നടപ്പിലാക്കാൻ ഞങ്ങളെ സഹായിക്കുന്നു (ഞാൻ തുടക്കത്തിൽ അതിനെക്കുറിച്ച് സംസാരിച്ചു), അത് എങ്ങനെയിരിക്കും:

എങ്കിൽ ((isUpAfter == true) && (powerTime > ct - powerUpMinTresholdTimeout)) (powerUpMinTreshold = powerUpMinTreshold - 1;)

ഇവിടെ പവർടൈം എന്നത് നിലവിലെ നിമിഷത്തിലെ അവസാന ശക്തി വർദ്ധനവിന്റെ സമയമാണ്.

മുകളിൽ സൂചിപ്പിച്ച powerUpMinTresholdTimeout-ന്റെ അവസ്ഥയ്ക്ക് പുറമേ, ഞങ്ങൾ അത് താഴ്ത്താൻ തുടങ്ങിയതിന് ശേഷം ആദ്യം ഉയർത്തിയതിന് ശേഷം പവർ കുറയ്ക്കുമ്പോൾ മാത്രമേ അത് കുറയ്ക്കേണ്ടതുള്ളൂ എന്നതാണ് വസ്തുത. ഞാൻ നിങ്ങളോട് പറഞ്ഞു, ഇത് പിന്നീട് കാര്യം സങ്കീർണ്ണമാണെന്ന്!

ഇതാണ് അൽഗോരിതം, വിശ്വസിച്ചാലും ഇല്ലെങ്കിലും. ഉപകരണത്തിന്റെ യഥാർത്ഥ അസംബ്ലിയെക്കുറിച്ചുള്ള കൂടുതൽ കഥയുടെ കോഴ്സിൽ അതിന്റെ മറ്റ് വിശദാംശങ്ങളെയും സൂക്ഷ്മതകളെയും കുറിച്ച് ഞാൻ സംസാരിക്കും.

റിലേ ബ്ലോക്ക് തയ്യാറാക്കുന്നു

അതിനാൽ, റിലേകളുടെ ഏത് കോൺടാക്റ്റുകളാണ് ഉത്തരവാദികളെന്ന് മനസിലാക്കുകയും പരസ്പരം ആപേക്ഷികമായി അവയുടെ പ്ലെയ്‌സ്‌മെന്റ് തീരുമാനിക്കുകയും ചെയ്ത ശേഷം, ഞാൻ ഒട്ടിക്കാൻ തുടങ്ങി:

ഇത് ചെയ്യുന്നതിന്, ഞാൻ സമീപത്ത് കിടക്കുന്ന "മൊമെന്റ് - ക്രിസ്റ്റൽ" ഉപയോഗിച്ചു. ഇത് ഒരുതരം സൂപ്പർ-ഡ്യൂപ്പർ പശയാണെന്ന് ഞാൻ പറയില്ല, പക്ഷേ അതിന്റെ ഗുണവിശേഷതകൾ എനിക്ക് അനുയോജ്യമാണ്. തീർച്ചയായും, ഖൈഗിറോവിന്റെ “ഗ്ലൂ ടു ഡെത്ത്” ഉപയോഗിക്കുന്നതാണ് നല്ലത്, ഇത് വേഗത്തിൽ ഉണങ്ങുകയും അവസാനം പൊതുവെ കഠിനമാവുകയും ചെയ്യുന്നു, പക്ഷേ ട്യൂബിൽ അതിന്റെ 2-3 മടങ്ങ് കുറവാണ്, ഇതിന് മൊമെന്റിനേക്കാൾ ഒന്നര മടങ്ങ് ചിലവ് വരും. , അതിനാൽ, ഒരു നല്ല സോവിയറ്റ് കാർട്ടൂണിലെ നായകൻ പറഞ്ഞതുപോലെ, "അത് ചെയ്യും!"

ഒട്ടിക്കുന്നതിനെ സംബന്ധിച്ചിടത്തോളം, എല്ലാം ലളിതവും ട്യൂബിൽ എഴുതിയതുമാണ് - രണ്ട് പ്രതലങ്ങളിലും പ്രയോഗിക്കുക, 5-10 മിനിറ്റ് കാത്തിരുന്ന് മുറുകെ പിടിക്കുക (അതെ, പിന്നുകൾക്കിടയിൽ അമർത്തിപ്പിടിച്ച കൽക്കരി ഒരു വജ്രമായി മാറും വിധം കഠിനമായി):

അത്രയേയുള്ളൂ, relyushki കംപ്രസ് ചെയ്യുന്നു. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ഞാൻ സെൻട്രൽ കോൺടാക്റ്റുകൾ പരസ്പരം അടുത്ത് സ്ഥാപിച്ചു, അവ ഇപ്പോഴും പരസ്പരം ബന്ധിപ്പിക്കേണ്ടതുണ്ട്:

വലിയ റിലേകളിലും ഞാൻ ഇത് ചെയ്തു, തുടർന്ന് ഈ 2 തത്ഫലമായുണ്ടാകുന്ന ബ്ലോക്കുകൾ ഒരുമിച്ച് ഒട്ടിച്ചു, അതിനുശേഷം ഞാൻ വയറുകൾ കോൺടാക്റ്റുകളിലേക്ക് സോൾഡർ ചെയ്യാൻ തുടങ്ങി. കട്ടിയുള്ള മഞ്ഞ വയർ എല്ലാ റിലേകളിലേക്കും ബന്ധിപ്പിച്ചിരിക്കുന്നു - ഇതാണ് ഔട്ട്‌പുട്ട് ബസ്, അത് പിന്നീട് ഡയോഡ് ബ്രിഡ്ജിലേക്ക് പോകും, ​​ചുവന്ന വയറുകൾ ട്രാൻസ്ഫോർമറിന്റെ ദ്വിതീയ വിൻഡിംഗിൽ നിന്നുള്ള ആദ്യത്തെ 4 ടെർമിനലുകളിലേക്കും ചെറിയ മഞ്ഞ വയർ എല്ലാ റിലേകളിലൂടെയും കടന്നുപോകുന്നത് സ്ഥിരമായ +12 വോൾട്ട് കോയിലുകളാണ് കോയിലുകളുടെ പോരായ്മകൾ, നിങ്ങൾ ഊഹിച്ചതുപോലെ, തവിട്ട്, വെളുപ്പ് വയറുകളാണ്, അത് ഞങ്ങൾ ഉടൻ മടങ്ങിവരും.

അതേ ഡിസൈൻ, എന്നാൽ മറുവശത്ത്, ദ്വിതീയ വിൻഡിംഗ് ലീഡുകൾ ബന്ധിപ്പിക്കുന്നതിന് പുതിയ സോൾഡർഡ് വയറുകൾ. മാത്രമല്ല, വലിയ റിലേകളിൽ ഓരോ ഔട്ട്‌പുട്ടിനും 2 വയറുകൾ ഉണ്ട് - ഇങ്ങനെയാണ് ഈ റിലേ മോഡൽ കൂടുതൽ ഏകീകൃത ലോഡ് വിതരണത്തിനായി നിർമ്മിച്ചിരിക്കുന്നത്, തൽഫലമായി, കുറഞ്ഞ താപ ഉൽപാദനം:

അത്തരം റിലേകളിൽ (~100 mA) കോയിലുകൾ ഉപയോഗിക്കുന്ന കറന്റ്, Arduino (~ 40 mA) അല്ലെങ്കിൽ 74HC595 ഷിഫ്റ്റ് രജിസ്റ്ററിൽ (~25 mA) ഔട്ട്പുട്ടുകളിൽ നിന്ന് എടുക്കാവുന്ന പരമാവധി കറന്റിനേക്കാൾ വളരെ കൂടുതലായതിനാൽ, ട്രാൻസിസ്റ്ററുകൾ ഉപയോഗിക്കേണ്ടതുണ്ട്. റിലേ കോയിലുകൾ ഓണാക്കാൻ. നല്ല പഴയ ഓറഞ്ച് KT315 ഇതിനായി നിർമ്മിച്ചതാണെന്ന് തോന്നുന്നു!

ഇവ n-p-n ട്രാൻസിസ്റ്ററുകളാണ്, അതിനാൽ സർക്യൂട്ടിൽ, ലളിതമായ രീതിയിൽ വിശദീകരിക്കാൻ, കറന്റ് പ്ലസ് മുതൽ കോയിലിലേക്കും പിന്നീട് അതിൽ നിന്ന് ട്രാൻസിസ്റ്ററിന്റെ കളക്ടറിലേക്കും തുടർന്ന് ട്രാൻസിസ്റ്ററിന്റെ എമിറ്ററിൽ നിന്ന് മൈനസിലേക്കും ഒഴുകണം. ഈ ട്രാൻസിസ്റ്റർ ബേസിൽ നിന്ന് എമിറ്ററിലേക്കുള്ള കറന്റ് വഴി തുറക്കുന്നു, പക്ഷേ അവിടെ ആവശ്യമായ കറന്റ് വളരെ ചെറുതാണ്, അതിനാൽ ഞങ്ങൾ 1 kOhm (1000 Ohm) റെസിസ്റ്ററുകളിലൂടെ ട്രാൻസിസ്റ്ററുകളുടെ അടിത്തറകളെ ബന്ധിപ്പിക്കുന്നു:

ഇപ്പോൾ അവശേഷിക്കുന്നത് ചെറിയ വയറുകൾ റെസിസ്റ്ററുകളിലേക്ക് സോൾഡർ ചെയ്യുകയാണ്, എല്ലാം ശ്രദ്ധാപൂർവ്വം ഇൻസുലേറ്റ് ചെയ്യാൻ മറക്കരുത്, നിങ്ങൾക്ക് അത് ഉറപ്പിക്കാം - വ്യക്തിപരമായി, ട്രാൻസിസ്റ്ററുകൾ റിലേകളുടെ വശത്തേക്ക് ഒട്ടിക്കാൻ ഞാൻ തീരുമാനിച്ചു, അങ്ങനെ അവ പിണങ്ങാതിരിക്കുകയും ഒന്നും വരാതിരിക്കുകയും ചെയ്യുന്നു. ഓഫ്:

ഫോട്ടോയിൽ നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, റിലേ ബ്ലോക്കിന്റെ ഇരുവശത്തും ട്രാൻസിസ്റ്ററുകൾ തികച്ചും സ്ഥിതിചെയ്യുന്നു, എവിടെയും ഒന്നും കുറയുകയോ കത്തിക്കുകയോ ചെയ്യില്ലെന്ന് ഉറപ്പാക്കാൻ ഞാൻ ശേഷിക്കുന്ന കോൺടാക്റ്റുകൾ പശ ഉപയോഗിച്ച് നിറച്ചു:

ട്രാൻസിസ്റ്ററുകൾ ഒട്ടിച്ചു, ബ്ലോക്ക് ഏതാണ്ട് തയ്യാറാണ്:

ഇപ്പോൾ നമ്മൾ ഒരു ചോദ്യത്തെ അഭിമുഖീകരിക്കുന്നു - ട്രാൻസിസ്റ്ററുകൾ എന്തിലേക്ക് ബന്ധിപ്പിക്കണം? Arduino ലേക്ക്? ഇല്ല, അപ്പോൾ മറ്റ് ഘടകങ്ങൾക്ക് മതിയായ ഔട്ട്പുട്ടുകൾ ഉണ്ടാകില്ല, അത്തരം സാഹചര്യങ്ങളിൽ സേവിംഗ് ചിപ്പ് പ്രവർത്തിക്കുന്നു - 74HC595 ഷിഫ്റ്റ് രജിസ്റ്റർ. ഇന്റർനെറ്റിൽ ഇതിനെക്കുറിച്ച് വളരെയധികം എഴുതിയിട്ടുണ്ട്, അതിനാൽ ഞാൻ ഇവിടെ 3 ഖണ്ഡികകൾ എഴുതില്ല, അത്തരം മൈക്രോ സർക്യൂട്ടുകൾക്ക് നന്ദി, നിങ്ങൾക്ക് ആർഡ്വിനോ ഔട്ട്പുട്ടുകളുടെ എണ്ണം വർദ്ധിപ്പിക്കാൻ കഴിയുമെന്ന് ഞാൻ പറയും, ഇതിനായി മൂന്ന് മാത്രം ത്യജിക്കുന്നു. മാത്രമല്ല, അവ ഒരു ശൃംഖലയിൽ ശ്രേണിയിൽ ബന്ധിപ്പിക്കാൻ കഴിയും. അത്തരം മൈക്രോ സർക്യൂട്ടുകളുടെ വ്യത്യസ്ത പതിപ്പുകൾ ഉണ്ട്, ഉദാഹരണത്തിന് 16 ഔട്ട്പുട്ടുകൾ അല്ലെങ്കിൽ 8, വ്യത്യസ്ത പാക്കേജുകളിൽ. ഈ പ്രോജക്റ്റിൽ, ഒരു ചെറിയ SO-16 പാക്കേജിൽ 8-ഔട്ട്പുട്ട് ഓപ്ഷൻ ഉപയോഗിക്കാൻ ഞാൻ തീരുമാനിച്ചു. ജോലി മികച്ചതാണെങ്കിലും, ഇതെല്ലാം കുറച്ച് ഇടം മാത്രമേ എടുക്കൂ, ഇത് ഇതിനകം തന്നെ ഉപകരണത്തിന്റെ കോം‌പാക്റ്റ് ബോഡിയിൽ ഇല്ല, അത്തരം പരിഷ്‌ക്കരണങ്ങൾക്കായി രൂപകൽപ്പന ചെയ്‌തിട്ടില്ല:

ഉപകരണത്തിന്റെ നിലവിലെ ശക്തി സൂചിപ്പിക്കാൻ, ഞാൻ 8 LED-കൾ ഉപയോഗിക്കാൻ തീരുമാനിച്ചു, ഓരോ ട്രാൻസിസ്റ്റർ / റിലേ ജോഡിക്കും ഒന്ന്, ഇതിനായി ഞാൻ എട്ട് കോർ കേബിൾ ഉപയോഗിച്ചു, ഓരോ കോറും അനുബന്ധ നിയന്ത്രണ ചാനലിലേക്ക് സോൾഡറിംഗ് ചെയ്യുന്നു, പക്ഷേ രജിസ്റ്ററിലേക്ക് നേരിട്ട് അല്ല, എന്നാൽ റെസിസ്റ്ററുകൾക്ക്, വൈദ്യുതപരമായി വ്യത്യാസമില്ല, പക്ഷേ മെക്കാനിക്കലായി ഇത് കൂടുതൽ വിശ്വസനീയമാണ്, ഞാൻ കരുതുന്നു. സമഗ്രമായ പരിശോധനയ്ക്ക് ശേഷം (ചുവടെയുള്ളതിൽ കൂടുതൽ), ഞാൻ അതേ പശ ഉപയോഗിച്ച് മൈക്രോ സർക്യൂട്ട് നിറച്ചു, അത് ഉപയോഗിച്ച് എല്ലാ ട്രാൻസിസ്റ്ററുകളിലൂടെയും ഒരിക്കൽ കൂടി കടന്നുപോയി - ഇപ്പോൾ ഈ സിസ്റ്റം കൂടുതൽ “ദൃഢവും” ശക്തവുമാണ്:

വോൾട്ടേജ് സൂചക സംവിധാനം

ഡിസ്പ്ലേ സിസ്റ്റത്തിന്റെ സൈദ്ധാന്തിക പരിശോധനകൾക്കുള്ള സമയം വന്നിരിക്കുന്നു. നിലവിലെ ബാറ്ററി വോൾട്ടേജ് പ്രദർശിപ്പിക്കുന്നതിന്, ആദ്യത്തെ പെന്റിയങ്ങളുടെ കാലഘട്ടത്തിലെ ഒരു പഴയ സിസ്റ്റം യൂണിറ്റിൽ നിന്നുള്ള ഒരു സ്‌ക്രീൻ ഞാൻ ഉപയോഗിച്ചു. അതിൽ തന്ത്രങ്ങളൊന്നുമില്ല, ഓരോ സെഗ്‌മെന്റും 2-2.1 വോൾട്ടുകളിൽ നിന്ന് പ്രവർത്തിക്കുന്ന ലളിതമായ പച്ച എൽഇഡിയാണ്. ഏക അപവാദം യൂണിറ്റ് ആണ് - അതിൽ 2 സെഗ്മെന്റുകൾ സമാന്തരമായി ഒരു കാലിൽ സ്ഥാപിച്ചിരിക്കുന്നു. സ്‌ക്രീനിൽ ആകെ 16 കാലുകളുണ്ട്: 1 പ്ലസ്, 15 മൈനസ്. അതായത്, വൈദ്യുതി എല്ലായ്പ്പോഴും പ്ലസിലേക്ക് വിതരണം ചെയ്യപ്പെടുന്നു, കൂടാതെ ഒരു നിശ്ചിത കാലിലേക്ക് ഗ്രൗണ്ട് വിതരണം നമുക്ക് ആവശ്യമുള്ള സെഗ്മെന്റിനെ പ്രകാശിപ്പിക്കുന്നു - എല്ലാം വളരെ ലളിതമാണ്, എന്നാൽ ഇത് എങ്ങനെ നടപ്പിലാക്കാം? ഇത് ചെയ്യുന്നതിന്, ഞങ്ങൾ വീണ്ടും ഷിഫ്റ്റ് രജിസ്റ്ററുകൾ ഉപയോഗിക്കുന്നു, ഇത്തവണ 2 കഷണങ്ങൾ. പ്രോട്ടോടൈപ്പിന് വേണ്ടി ബ്രെഡ്ബോർഡ്ഞാൻ അതേ 74HC595 ഉപയോഗിച്ചു, പക്ഷേ ഒരു DIP-16 പാക്കേജിൽ, കാരണം അവരോടൊപ്പം പ്രവർത്തിക്കുന്നത് കൂടുതൽ സൗകര്യപ്രദമാണ്. ഇനിപ്പറയുന്ന ചിത്രത്തിൽ, നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, സിസ്റ്റം ഇതിനകം കൂട്ടിച്ചേർക്കുകയും പ്രവർത്തിക്കുകയും ചെയ്യുന്നു:

എന്നാൽ ഈ സംവിധാനം അന്തിമ ഉപകരണത്തിൽ ഉൾപ്പെടുത്തിയതിൽ നിന്ന് വളരെ വ്യത്യസ്തമാണ്. തുടക്കത്തിൽ സ്‌ക്രീൻ പവർ ചെയ്യാൻ ഒരു സ്റ്റെബിലൈസർ ഉപയോഗിക്കാൻ ഞാൻ തീരുമാനിച്ചു, അവസാനം ഞാൻ അത് ഉപേക്ഷിച്ച് സ്‌ക്രീനിന്റെ ഓരോ കാലും 560 ഓം റെസിസ്റ്ററിലൂടെ ബന്ധിപ്പിച്ചെങ്കിലും, രണ്ടാമതായി, ഈ ഡയഗ്രാമിൽ, LED- കൾ മറ്റൊന്നിലൂടെയാണ് പ്രവർത്തിക്കുന്നത്. സ്റ്റെബിലൈസർ, മാത്രമല്ല, അത് അധികാരപ്പെടുത്തുകയും ഷിഫ്റ്റ് രജിസ്റ്ററിന് തന്നെ. എന്നാൽ അവസാനം, എന്റെ ചാർജറിൽ ഒരു സ്റ്റെബിലൈസർ മാത്രമേ ശേഷിക്കുന്നുള്ളൂ - KREN5V, നിങ്ങൾ ഊഹിച്ചതുപോലെ, 5 വോൾട്ട് USSR-ൽ വീണ്ടും നിർമ്മിച്ചു.

എന്നിരുന്നാലും, ഈ ഘട്ടത്തിൽ, ഹാർഡ്‌വെയർ പവർ ചെയ്യുന്ന രീതി അത്ര പ്രധാനമായിരുന്നില്ല - പ്രധാന കാര്യം സ്‌ക്രീനിൽ അർത്ഥവത്തായ വിവരങ്ങൾ എങ്ങനെ പ്രദർശിപ്പിക്കാമെന്ന് മനസിലാക്കുക എന്നതാണ്, ഇതിനായി ഓരോ രജിസ്റ്റർ പിന്നുകളും ഏത് സെഗ്‌മെന്റുമായി ബന്ധപ്പെട്ടിരിക്കുന്നുവെന്ന് കണ്ടെത്തേണ്ടത് ആവശ്യമാണ്. തുടർന്ന് ഫേംവെയറിൽ രണ്ട് അറേകൾ സൃഷ്ടിക്കുക - ടെൻസും യൂണിറ്റുകളും, അതിൽ ഒന്നുകളും പൂജ്യങ്ങളും ഉപയോഗിച്ച്, ഓരോ പ്രദർശിപ്പിച്ച നമ്പറിനും ആവശ്യമുള്ള മാസ്ക് നൽകുക, അതായത്, സ്ക്രീനിന്റെ ആദ്യ രണ്ട് പ്രതീകങ്ങൾക്ക് 0-19 ഉം മൂന്നാമത്തേതിന് 0-9 ഉം കഥാപാത്രം:

// സ്ക്രീനിനുള്ള ടെംപ്ലേറ്റുകൾ
ചാർ* ഡസൻ=("10000001","10111011","01100001","00101001","00011011","00001101","00000101","1010101010","001000 0"," 10111010","01100000","00101000","00011010","00001100","00000100","10101010","00000000","00001000");
char* വൺസ്=("10000010","10111110","10001001","10011000","10110100","11010000","11000000","10111010","01001001010101010101010);

കൂടാതെ, പ്രക്രിയയിൽ രജിസ്റ്ററുകൾ ബന്ധിപ്പിച്ചിരിക്കുന്ന ക്രമം കൂടുതൽ ജോലിമാറിയിരിക്കുന്നു - റിലേ ബ്ലോക്ക് ശൃംഖലയിലെ ആദ്യത്തേതായിരിക്കും, അതിനുശേഷം മാത്രമേ സ്‌ക്രീൻ, റിലേകൾ കൂടുതൽ പ്രാധാന്യമുള്ളൂ, എന്നിരുന്നാലും, ഇപ്പോൾ ഇത് അത്ര പ്രാധാന്യമർഹിക്കുന്നില്ല, കാരണം ഓർഡർ ശരിക്കും പ്രശ്നമല്ല - ഇത് അത്രമാത്രം ഫേംവെയർ, ഔട്ട്പുട്ട് നടപടിക്രമത്തിൽ, നിങ്ങൾ ചില സ്ഥലങ്ങളിലും എല്ലാത്തിലും രണ്ട് വരികൾ മാറ്റേണ്ടതുണ്ട്.

സിസ്റ്റം പ്രവർത്തിക്കാൻ തുടങ്ങിയപ്പോൾ, മൂന്നാം ഷിഫ്റ്റ് രജിസ്റ്ററിന് പകരം, ഞാൻ അതിലേക്ക് ഒരു റെഡിമെയ്ഡ് റിലേ ബ്ലോക്ക് ബന്ധിപ്പിച്ചു. റിലേകൾ ക്ലിക്കുചെയ്യുന്നതിന്, എനിക്ക് പന്ത്രണ്ട് വോൾട്ട് പവർ സപ്ലൈ ആവശ്യമാണ് (ചൈനീസ് സ്വിച്ചിൽ നിന്നല്ല, സുഗമമായ വോൾട്ടേജ് സെലക്ഷനോടുകൂടിയ സ്ഥിരതയുള്ള ഒന്ന്). നിങ്ങൾക്ക് ഒരു അസ്ഥിരമായ ഒന്ന് ഉപയോഗിക്കണമെങ്കിൽ, ഒമ്പത് വോൾട്ട് അല്ലെങ്കിൽ 7.5 പോലും ഉപയോഗിക്കുക - അവയ്ക്ക് ലോഡ് കൂടാതെ 12 വോൾട്ട് ഉണ്ടാകും. സ്ഥിരമായി വേരിയബിളുമായി ആശയക്കുഴപ്പത്തിലാക്കരുത് എന്നതാണ് പ്രധാന കാര്യം! മുകളിൽ വലത് കോണിലുള്ള വയറുകളുള്ള രണ്ട് പ്ലഗുകളുള്ള നോസിലുകളിലേക്ക് 12 വോൾട്ട് എങ്ങനെ ബന്ധിപ്പിച്ചിരിക്കുന്നുവെന്ന് അടുത്ത ഫോട്ടോ കാണിക്കുന്നു 🙄

സ്ക്രീൻ ഇതിനകം പ്രവർത്തിക്കുന്നു! സ്ക്രീനിൽ പൂജ്യം മുതൽ 199 വരെയുള്ള സംഖ്യകൾ മാറിമാറി പ്രദർശിപ്പിക്കുകയും വലതുവശത്തുള്ള LED-കളിൽ അവ പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്ന ഒരു സ്കെച്ച് ഞാൻ എഴുതി. ബൈനറി പ്രാതിനിധ്യം. നന്നായി, രസകരമാണ്!

ഷിഫ്റ്റ് രജിസ്റ്ററുകളിൽ പ്രവർത്തിക്കുന്നത്, ഞാൻ ഇതിനകം പറഞ്ഞതുപോലെ, മൂന്ന് വയറുകളിലൂടെയാണ് നടത്തുന്നത്. അവരുടെ കോൺടാക്റ്റ് നമ്പറുകൾ എന്റെ സ്കെച്ചിന്റെ തുടക്കത്തിൽ തന്നെ സജ്ജീകരിച്ചിരിക്കുന്നു:

// 74HC595-ന്റെ ST_CP ഇൻപുട്ടുമായി ബന്ധിപ്പിച്ച കോൺടാക്റ്റ്
int latchPin = 8, വോൾട്ടേജ്X10,voltageGuard,ons,dz,
// 74HC595-ന്റെ SH_CP ഇൻപുട്ടുമായി ബന്ധിപ്പിച്ച കോൺടാക്റ്റ്
ക്ലോക്ക്പിൻ = 12,
// 74HC595-ന്റെ DS ഇൻപുട്ടുമായി ബന്ധിപ്പിച്ച കോൺടാക്റ്റ്
ഡാറ്റപിൻ = 11;

സിസ്റ്റം ആരംഭിക്കുമ്പോൾ, ഈ കോൺടാക്റ്റുകളുടെ ഓപ്പറേറ്റിംഗ് മോഡ്, ഞങ്ങൾ ഉപയോഗിക്കുന്ന മറ്റുള്ളവയെ പോലെ, ഔട്ട്പുട്ട് ആയി സജ്ജീകരിച്ചിരിക്കുന്നു:

അസാധുവായ സജ്ജീകരണം () (
പിൻ മോഡ് (ലാച്ച്പിൻ, ഔട്ട്പുട്ട്);
പിൻ മോഡ് (ക്ലോക്ക്പിൻ, ഔട്ട്പുട്ട്);
പിൻ മോഡ് (ഡാറ്റപിൻ, ഔട്ട്പുട്ട്);
പിൻ മോഡ് (relay220Pin, OUTPUT);
പിൻ മോഡ് (ഫാൻപിൻ, ഔട്ട്പുട്ട്);

ശരി, രജിസ്റ്ററുകളിലേക്കുള്ള വിവരങ്ങളുടെ ഔട്ട്പുട്ട് ഇതുപോലെ കാണപ്പെടുന്നു:

ഡിജിറ്റൽ റൈറ്റ് (ലാച്ച്പിൻ, ലോ);



മാത്രമല്ല, തുടക്കത്തിൽ shiftOut() ഒരു വേരിയബിളിനെ ഇൻപുട്ടായി എടുക്കുന്നു ബൈറ്റ് തരം, കൂടാതെ രജിസ്റ്ററുകളിലേക്കും പൂജ്യങ്ങളും നേരിട്ട് എഴുതുന്നത് നമുക്ക് കൂടുതൽ വ്യക്തമാകുന്നതിനാൽ, കോഡ് ഒരു പ്രത്യേക ഫംഗ്ഷൻ bitseq() ഉപയോഗിക്കുന്നു, അത് മുകളിലെ ടെംപ്ലേറ്റുകളെ shiftOut() നമ്മിൽ നിന്ന് ആഗ്രഹിക്കുന്നതിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു:

ബൈറ്റ് ബിറ്റ്സെക് (ചാർ എസ്)(
ബൈറ്റ് ab=0;
വേണ്ടി (ബൈറ്റ് ba=0; ba<8; ba++){
എങ്കിൽ (s == "0") (bitWrite(ab,ba,0);) else (bitWrite(ab,ba,1);)
}
തിരികെ എബി;
}

അപ്പോഴേക്കും, എന്റെ ഡെസ്‌ക്‌ടോപ്പ് ഇനിപ്പറയുന്ന ഫോട്ടോ പോലെയായിരുന്നു. മോണ്ടറിൽ എന്താണ് ആംബുലൻസ് എന്ന് ആശ്ചര്യപ്പെടരുത്. രസകരമായ സീരീസ്, ഞാൻ ഇതിനകം രണ്ടാം തവണയാണ് ഇത് കാണുന്നത്. 🙄 വഴിയിൽ, എന്റെ ഉപകരണത്തിൽ നോൺ-പവർ സർക്യൂട്ടുകൾ കണക്റ്റുചെയ്യാൻ, ഞാൻ ട്വിസ്റ്റഡ് ജോഡി ഉപയോഗിച്ചു, 5e വിഭാഗത്തിലെ അതേ ഒന്ന്, എനിക്ക് അതിൽ ധാരാളം ഉണ്ട് - ഞാൻ മേൽക്കൂരയിൽ നിന്ന് പഴയ കേബിളുകൾ വലിച്ചെറിയില്ല, പക്ഷേ അവ അഴിച്ചുമാറ്റുന്നു . എന്നാൽ എല്ലാ വയറിംഗും അത്തരം കാര്യങ്ങൾക്ക് നല്ലതല്ല. ഞാൻ ഉപയോഗിച്ചവ ഉള്ളിൽ ദൃഢമല്ല, മറിച്ച് ഒറ്റപ്പെട്ടവയാണ്, അത് അവയെ വളരെ ഇലാസ്റ്റിക് ആക്കുകയും പൊട്ടാത്തതുമാക്കുകയും ചെയ്യുന്നു, മാത്രമല്ല അവയ്ക്ക് ഉയർന്ന നിലവാരമുള്ള ഇൻസുലേഷനും ഉണ്ട്. എന്നാൽ സോളിഡ് കോറുകളുള്ള ഒരു സാധാരണ വളച്ചൊടിച്ച ജോഡി കേബിൾ ഞാൻ ഉപയോഗിക്കില്ല - ഇത് വളരെ ഇറുകിയതായി (നന്നായി, താരതമ്യേന) വളയുന്നു, കൂടാതെ ഒരു SO-16 പാക്കേജിലെ ചെറിയ മൈക്രോ സർക്യൂട്ടുകളിലേക്ക് ഇത് സോൾഡർ ചെയ്യുന്നത് തികച്ചും യുക്തിരഹിതമാണ്. നിങ്ങൾ എന്താണ് പറയുന്നത്, അവർ ഡിഐപി മൈക്രോഹി ഉപയോഗിക്കണമായിരുന്നു? ഹാ, ഏതുതരം മാസോക്കിസം ഇപ്പോൾ ആരംഭിക്കുമെന്ന് നിങ്ങൾ ഇതുവരെ കണ്ടിട്ടില്ല, അതിനാൽ നമുക്ക് പൂച്ചയെ കൊമ്പുകളിൽ നിന്ന് വലിക്കരുത് (അതെ) - നമുക്ക് പോകാം!

ഇൻഡിക്കേറ്ററിനുള്ളിൽ ചെറിയ ചിപ്പുകൾ സ്ഥാപിക്കുന്നത് അത്ര മോശമായ ആശയമല്ല. എല്ലാത്തിനുമുപരി, പഴയ കേസിൽ എന്തായാലും സ്ഥലമില്ല, മുൻ പാനൽ ചെറിയ സ്‌പെയ്‌സറുകളിൽ സ്ഥാപിക്കേണ്ടതുണ്ട്, കൂടാതെ ഞാൻ ഡിഐപി കേസുകളിൽ രജിസ്റ്ററുകൾ ഉപയോഗിച്ചിട്ടുണ്ടെങ്കിൽ - കൊള്ളാം, എല്ലാം അവിടെ എങ്ങനെ യോജിക്കുമെന്ന് എനിക്കറിയില്ല!

ഞാൻ ഇതിനകം പറഞ്ഞതുപോലെ, അവസാന പതിപ്പിൽ സെഗ്‌മെന്റുകൾ റെസിസ്റ്ററുകളിലൂടെ ബന്ധിപ്പിച്ചിരിക്കുന്നു, നേരിട്ടല്ല, എന്നിരുന്നാലും, ആദ്യ ഓപ്ഷനും കാണിക്കാൻ ഞാൻ തീരുമാനിച്ചു: ഒരുപക്ഷേ ആരെങ്കിലും ഇത് നന്നായി ഇഷ്ടപ്പെട്ടേക്കാം. ഈ സ്‌ക്രീൻ തന്നെ റിവേഴ്‌സ് സൈഡിൽ എന്തെങ്കിലും കൊണ്ട് നിറച്ചിരിക്കുന്നതിനാൽ (നിങ്ങളുടെ ഈ ഫില്ലർ സ്‌ക്രീനുകൾ എന്തെല്ലാം അറപ്പുളവാക്കുന്ന കാര്യങ്ങളാണ്), ഈ ഫില്ലിന്റെ ഉപരിതലവും ഉള്ളിലേക്ക് കുത്തനെയുള്ളതിനാൽ, ഞാൻ ഊഹിക്കാവുന്ന ഒരു പ്ലാസ്റ്റിക് പേയ്‌മെന്റ് കാർഡിൽ നിന്ന് ഒരു ചെറിയ ഫ്ലാറ്റ് പ്ലേറ്റ് മുറിച്ചെടുത്തു. ടെലികമ്മ്യൂണിക്കേഷൻ മേഖലയിലെ ബെലാറഷ്യൻ കുത്തക, ഞാൻ സ്ക്രീനിൽ നേരിട്ട് ഒട്ടിക്കുകയും രജിസ്റ്ററുകൾ അതിൽ ഒട്ടിക്കുകയും ചെയ്തു, ഓരോന്നിന്റെയും പിൻഭാഗത്ത് ആദ്യ കാൽ അടയാളപ്പെടുത്തി (കാരണം “കാഴ്ചകൾ കലർത്തരുത്, കുട്ടുസോ! ”).

എല്ലാ വയറുകളും സോൾഡർ ചെയ്ത ശേഷം, എല്ലാം പ്രവർത്തിക്കുന്നുണ്ടോയെന്ന് വീണ്ടും പരിശോധിച്ച ശേഷം, ഞാൻ എല്ലാം പശ ഉപയോഗിച്ച് നിറച്ചു. കാരണം, ഒരു തെറ്റായ നീക്കവും വയർ കോൺടാക്‌റ്റിൽ നിന്ന് ഒടിഞ്ഞുപോകും, ​​എന്തോ ഷോർട്ട് സർക്യൂട്ട് സംഭവിക്കുകയും വലിയ, വലിയ കുഴപ്പമുണ്ടാകുകയും ചെയ്യും. എന്നാൽ ഇത് പശ ഉപയോഗിച്ച് സംഭവിക്കില്ല, എല്ലാം പശ ഉപയോഗിച്ച് നല്ലതാണ്. പശ, ചുരുക്കത്തിൽ, നിയമങ്ങൾ. നിങ്ങൾ അത് വലിച്ചെറിയുന്നത് വരെ 😆 👿 എന്നാൽ സങ്കടകരമായ കാര്യങ്ങളെക്കുറിച്ച് സംസാരിക്കരുത്, ഈ കൃത്രിമത്വങ്ങൾക്ക് ശേഷം എന്താണ് സംഭവിച്ചതെന്ന് ഇതാ:

അതിനാൽ ഞാൻ ഈ രണ്ട് ബ്ലോക്കുകളും ഒരുമിച്ച് കണക്റ്റുചെയ്‌തു (താൽക്കാലികമായി, എന്നിരുന്നാലും) അതുവഴി എനിക്ക് വീണ്ടും മിന്നുന്ന നമ്പറുകളും ക്ലിക്കുചെയ്യുന്ന നമ്പറുകളും ആസ്വദിക്കാനാകും:

നിർഭാഗ്യവശാൽ, രജിസ്റ്ററുകളുള്ള സ്‌ക്രീൻ ഒന്നായി സംയോജിപ്പിക്കുമ്പോൾ, അതിന്റെ കാലുകൾ ബന്ധിപ്പിച്ചിരിക്കുന്ന ക്രമം എനിക്ക് ചെറുതായി മാറ്റേണ്ടിവന്നു, അതിനാൽ മുഴുവൻ സിസ്റ്റവും ആരംഭിച്ചതിന് ശേഷം, അറബി അക്കങ്ങൾക്ക് പകരം ഞാൻ ചില അന്യഗ്രഹങ്ങളെ കണ്ടു:

വാസ്തവത്തിൽ, ഒന്നിലും ഒമ്പതിലും അന്യഗ്രഹജീവികൾ കുറവാണെങ്കിലും, മധ്യത്തിൽ മാത്രമേ ഒരുതരം മാലിന്യങ്ങൾ ഉണ്ടായിരുന്നുള്ളൂ, എന്നാൽ ഇതെല്ലാം ചെറിയ കാര്യങ്ങളാണ്. അടുത്ത ഘട്ടം ഒരു വോൾട്ട്മീറ്ററിൽ സ്ക്രൂ ചെയ്യുക എന്നതാണ്, അതായത്, ഒരു വോൾട്ടേജ് സെൻസർ സൃഷ്ടിക്കുക, കാരണം എന്റെ ചാർജറിന്റെ പ്രവർത്തന അൽഗോരിതം നിലവിലെ വോൾട്ടേജിനെ ആശ്രയിച്ചിരിക്കും.

Arduino ഉപയോഗിച്ച് വോൾട്ടേജ് അളക്കുന്നു

Arduino ഒരു നല്ല കാര്യമാണ്, ഇതിന് തുടക്കത്തിൽ അനലോഗ് ഇൻപുട്ടുകൾ ഉണ്ട്, അതിൽ നിങ്ങൾക്ക് തത്സമയം വോൾട്ടേജ് നിരീക്ഷിക്കാൻ കഴിയും. ഈ ഇൻപുട്ടുകളുടെ അളവ് പരിധി പൂജ്യത്തിൽ നിന്ന് അഞ്ച് വോൾട്ട് വരെ നീളുന്നു എന്നതാണ് ഒരേയൊരു ക്യാച്ച്, എന്നാൽ ഞങ്ങളുടെ വോൾട്ടേജുകൾ ഏകദേശം 15 ആയിരിക്കും, അതിനാൽ ഈ പ്രശ്നം എങ്ങനെയെങ്കിലും പരിഹരിക്കണം. ഇവിടെ രണ്ട് റെസിസ്റ്ററുകൾ ഉപയോഗിക്കുന്ന ഒരു ലളിതമായ വോൾട്ടേജ് ഡിവൈഡർ ഞങ്ങളുടെ സഹായത്തിനെത്തുന്നു. ഉദാഹരണത്തിന്, കേവലമായ പരമാവധി ഞങ്ങൾ 20 വോൾട്ട് എടുക്കും (നന്നായി, അങ്ങനെയാണെങ്കിൽ, ഒന്നും കത്തുന്നില്ലെങ്കിൽ), ഞങ്ങളുടെ സീലിംഗ് 5 ആണ്, അതായത് പരമാവധി നാലിലൊന്ന്, അതായത് നമുക്ക് ഇത് ആവശ്യമാണ് വോൾട്ടേജ് 4 കൊണ്ട് ഹരിക്കുക. ഇത് ചെയ്യുന്നതിന്, അത്തരം മൂല്യങ്ങളുടെ 2 റെസിസ്റ്ററുകൾ എടുക്കുക, ആദ്യത്തേതിന്റെ മൂല്യം 1/4 ആണ്, രണ്ടാമത്തേതിന്റെ മൂല്യം അവയുടെ മൂല്യങ്ങളുടെ ആകെത്തുകയുടെ 3/4 ആണ്. ഉദാഹരണത്തിന്, 10, 30 kOhm. അല്ലെങ്കിൽ 5, 15 kOhm, അല്ലെങ്കിൽ 2.5 ഉം 7.5 ഉം, നിങ്ങൾക്ക് ആശയം ലഭിക്കും. കുറച്ച് എടുക്കുന്നത് വിലമതിക്കുന്നില്ല, കാരണം അവിടെ കറന്റ് ചെറുതാണ്. ശരി, ഡയഗ്രം അനുസരിച്ച് ബന്ധിപ്പിക്കുക: അനലോഗ് ഇൻപുട്ടിനും ഗ്രൗണ്ടിനും ഇടയിൽ 10, അനലോഗ് ഇൻപുട്ടിനും ബാറ്ററി ചാർജിംഗ് ഔട്ട്പുട്ടിനും ഇടയിൽ 30.

എന്നാൽ ഇത് അത്ര ലളിതമല്ല - അനലോഗ് റീഡ് () നടപടിക്രമം നിങ്ങൾക്ക് 0 മുതൽ 1024 വരെയുള്ള ഒരു മൂല്യം നൽകും, അവിടെ പൂജ്യം പൂജ്യമാണ്, 1024 എന്നത് അവൾക്ക് 5 വോൾട്ട് അല്ലെങ്കിൽ ഞങ്ങൾക്ക് 20 വോൾട്ട് ആണ്. അതിനാൽ, ഈ മൂല്യം വീണ്ടും കണക്കാക്കാൻ, ഞങ്ങൾ ഒരു നിശ്ചിത ഗുണകം നൽകേണ്ടതുണ്ട്, അത് ഫേംവെയർ ഹെഡറിൽ സ്ഥിരമായി സജ്ജീകരിക്കും (ഫ്ലോട്ട് വോൾട്ടേജ്X10 കോഫിഫിഷ്യന്റ് = 5.11;). അൽപ്പം മുന്നോട്ട് നോക്കുമ്പോൾ, ഉയർന്ന വൈദ്യുതധാരയിൽ ആർഡ്വിനോ കാണുന്ന വോൾട്ടേജ് പിന്നീട് അര വോൾട്ട് വരെ വ്യാപിക്കാൻ തുടങ്ങി, അതിനാൽ ഞങ്ങളുടെ മെച്ചപ്പെടുത്തിയ സെൻസറിനെ ഒരു ഡയോഡിലൂടെ ബന്ധിപ്പിക്കേണ്ടതുണ്ട്, അതിനുശേഷം ഞാൻ ഇൻസ്റ്റാൾ ചെയ്തു. ഒരു 16V 1000 mF കപ്പാസിറ്റർ, ഞാൻ അവിടെ B 220 റിലേയും കണക്‌റ്റ് ചെയ്‌തു, പക്ഷേ അവസാനം അതിൽ കൂടുതൽ. ഞാൻ എന്തിനാണ് ഇപ്പോൾ ഇതിനെക്കുറിച്ച് സംസാരിക്കുന്നത്? ഡയോഡ്, നിങ്ങൾക്കറിയാവുന്നതുപോലെ, വോൾട്ടേജ് ചെറുതായി കുറയ്ക്കുന്നു, അതിനാൽ ഈ ഡയോഡിന്റെ സാന്നിധ്യം നികത്താൻ ഞാൻ രണ്ടാമത്തെ ഗുണകം അവതരിപ്പിച്ചു (int വോൾട്ടേജ്X10Shift = 35;), അതായത്, ആദ്യം രണ്ടാമത്തെ ഗുണകം ഔട്ട്പുട്ട് മൂല്യത്തിലേക്ക് ചേർക്കുന്നു, കൂടാതെ അപ്പോൾ സംഭവിക്കുന്നത് ആദ്യത്തേത് കൊണ്ട് ഹരിക്കുന്നു.

തൽഫലമായി, വോൾട്ടേജ് നിരീക്ഷണം വിജയകരമായിരുന്നു - ടെസ്‌റ്ററുമായി റീഡിംഗുകൾ താരതമ്യം ചെയ്യുക (ഇത് ഉപകരണവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ബാറ്ററിയല്ല, മറിച്ച് ഭവനങ്ങളിൽ നിർമ്മിച്ച അതേ സ്ഥിരതയുള്ള പവർ സപ്ലൈ):

ചാർജർ ഫ്രണ്ട് പാനൽ

അടുത്തതായി, ഞങ്ങളുടെ ഉപകരണത്തിന്റെ മുഖത്ത് പ്രവർത്തിക്കാനുള്ള സമയമാണിത്. തുടക്കത്തിൽ, ഒരു പുതിയ പാനൽ ഉണ്ടാക്കി അതിൽ ഒട്ടിക്കുന്നതിനെക്കുറിച്ചുള്ള ചിന്തകൾ എനിക്കുണ്ടായിരുന്നു, എന്നാൽ അതേക്കുറിച്ച് ആലോചിച്ച ശേഷം, പഴയ ലിഖിതങ്ങൾ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് ഞാൻ കണ്ടുപിടിച്ചു, അതിനാൽ എല്ലാം തികച്ചും അർത്ഥവത്തായതായി മാറി. നിലവിലെ റെഗുലേറ്ററിന്റെ സ്ഥാനത്ത്, LED- കൾക്കായി ദ്വാരങ്ങൾ തുരക്കുന്നു, മുകളിലെ അമ്പടയാളം ഏത് ദിശയിലേക്കാണ് കറന്റ് കൂടുതലായിരിക്കുമെന്ന് കാണിക്കുന്നത്, എത്ര തണുപ്പാണ്!

ഇപ്പോൾ എൽഇഡികൾ ഇതിനകം സ്ഥാപിച്ചു, സ്‌ക്രീൻ ഒരു പുതിയ സ്ഥലത്തേക്ക് ചേർത്തു, ശേഷിക്കുന്ന ദ്വാരങ്ങൾ പോലും ഒരു ഉപയോഗം കണ്ടെത്തി: നിലവിലെ റെഗുലേറ്ററിൽ നിന്നുള്ള ദ്വാരത്തിൽ പ്രാഥമിക വിൻഡിംഗുമായി ബന്ധിപ്പിച്ചിരിക്കുന്ന ഒരു ലൈറ്റ് ബൾബ് ഉണ്ടാകും. ട്രാൻസ്ഫോർമർ - ചാർജ്ജിംഗ് പുരോഗമിക്കുമ്പോൾ, അതായത് ട്രാൻസ്ഫോർമർ 220 വോൾട്ട് നൽകുമ്പോൾ അത് പ്രകാശിക്കും. ചാർജർ ചാർജ് ചെയ്യുന്നതായി തോന്നുന്നുവെങ്കിലും ലൈറ്റ് പ്രകാശിക്കുന്നില്ലെങ്കിൽ, സോക്കറ്റിൽ പ്ലഗ് പ്ലഗ് ചെയ്യാൻ നിങ്ങൾ മറന്നോയെന്ന് പരിശോധിക്കുക! 6-12 വോൾട്ട് സ്വിച്ചിൽ നിന്നുള്ള ദ്വാരത്തിൽ ഒരു എൽഇഡിക്കായി ഒരു പ്ലാസ്റ്റിക് എഡ്ജിംഗ് ചേർത്തിട്ടുണ്ട്, അത് ഒരു സ്റ്റെബിലൈസർ ഇല്ലാതെ ഒരു റെസിസ്റ്ററിലൂടെ ബാറ്ററിയിലേക്ക് നേരിട്ട് ബന്ധിപ്പിക്കും, കൂടാതെ അതിന്റെ തിളക്കത്തിന്റെ തെളിച്ചം ബാറ്ററി എത്ര ചാർജ്ജ് ചെയ്യപ്പെടുന്നുവെന്ന് കാണിക്കും. ബാറ്ററി പൂർണ്ണമായും നിർജ്ജീവമാണെങ്കിൽ ഇത് ഉപയോഗപ്രദമാണ്, അതിൽ അഞ്ച് വോൾട്ട് പോലും ഇല്ലെങ്കിൽ മസ്തിഷ്കത്തെ ശക്തിപ്പെടുത്തും - അപ്പോൾ ഡയോഡ് മങ്ങിയതായി തിളങ്ങും, കൂടാതെ ഉപകരണം തകരാറിലായതുപോലെ ചോദ്യങ്ങളൊന്നും ഉണ്ടാകില്ല. എന്നിരുന്നാലും, തീർച്ചയായും, ഞാൻ ഒരു ഒഴികഴിവ് പറയുന്നു: ഒരു ദ്വാരം ഇല്ലെങ്കിൽ, അവിടെ ഒന്നും തിരുകുന്നതിനെക്കുറിച്ച് ഞാൻ ചിന്തിക്കുകയില്ല. ഞാൻ എന്താണ് ഉദ്ദേശിക്കുന്നതെന്ന് നിങ്ങൾക്കറിയാമെങ്കിൽ, ഇത് സാധാരണയായി പുരുഷന്മാരിൽ സംഭവിക്കുന്നതാണ്.

വഴിയിൽ, നിങ്ങൾ പറയുന്നു, ആൻഡ്രിയുഷ, കാർ ബാറ്ററികൾ 5 വോൾട്ടിലേക്ക് ഡിസ്ചാർജ് ചെയ്യുന്നത് നിങ്ങൾ എവിടെയാണ് കണ്ടത്? ശരി, ആ സമയത്ത് ഞാൻ അവരെ എവിടെയും കണ്ടിട്ടില്ല, പക്ഷേ ഈ ചാർജറിന്റെ ജോലി പൂർത്തിയാക്കിയ ശേഷം അവർ ഇതിലൊന്ന് എനിക്ക് കൊണ്ടുവന്നു. 3 വോൾട്ട്. ഞാൻ അത് ചാർജ് ചെയ്തു, അത് ജീവനോടെയുണ്ട്, എന്നിരുന്നാലും, ഞാൻ വിശ്വസിക്കുന്നതുപോലെ, അത് മരണത്തിലേക്ക് സൾഫേറ്റ് ചെയ്യപ്പെടുന്നു. സമാനമായ അവസ്ഥയിൽ രണ്ടാമനും ഉണ്ടായിരുന്നു, പക്ഷേ ഒന്നിനും അവനെ രക്ഷിക്കാനായില്ല

ആ സമയത്ത് മൂക്കിന്റെ പിൻഭാഗം ഇങ്ങനെയായിരുന്നു:

അടുത്ത ഫോട്ടോയിൽ ഞാൻ പതുക്കെ പശ തൊലി കളഞ്ഞ് വയറുകൾ റെസിസ്റ്ററുകൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിക്കുന്നു. തീർച്ചയായും, ഫോട്ടോയുടെ താഴെ ഇടത് കോണിലുള്ള സ്റ്റെബിലൈസർ അനാവശ്യമായതിനാൽ ഞാൻ അത് മുറിച്ചുമാറ്റി. വഴിയിൽ, സോൾഡറിംഗ് റെസിസ്റ്ററുകൾ വയറിങ്ങിനേക്കാൾ വളരെ എളുപ്പമാണ് - ഞാൻ ഇപ്പോൾ ഇത് വീണ്ടും ചെയ്യുകയാണെങ്കിൽ, റെസിസ്റ്ററുകളും ഈ ചെറിയ മൈക്രോ സർക്യൂട്ടുകളും ഉപയോഗിച്ച് ഞാൻ ഉടൻ തന്നെ അത് ചെയ്യും.

മുകളിൽ ഇടത് കോണിലുള്ള ഈ ഫോട്ടോയിൽ ഞാൻ എൽഇഡികൾ എങ്ങനെ ബന്ധിപ്പിച്ചുവെന്നത് നിങ്ങൾക്ക് കാണാൻ കഴിയും. അവയ്‌ക്ക് ഒരു പൊതു മൈനസ് ഉണ്ട്, അത് ആന്തരിക റേഡിയസിലൂടെ പോകുകയും ബന്ധിപ്പിക്കുകയും ചെയ്യുന്നു പൊതുവായ മൈനസ് 3.3 kOhm റെസിസ്റ്ററിലൂടെയുള്ള ഉപകരണങ്ങൾ - ഞാൻ ഇത് തിരഞ്ഞെടുത്തത് അത് തെളിച്ചമുള്ളതും അന്ധമാക്കാതിരിക്കുന്നതുമാണ്. അത് ശരിയായി പ്രവർത്തിച്ചതായി തോന്നുന്നു. എന്തുകൊണ്ടാണ് ഒരു റെസിസ്റ്റർ മാത്രം ഉള്ളത്? കാരണം ഏത് സമയത്തും, റിലേകൾക്കിടയിൽ ലോഡ് മാറുന്ന നിമിഷം ഒഴികെ, ഡിസ്പ്ലേയിൽ ഒരു എൽഇഡി മാത്രം പ്രകാശിക്കും.

എന്തുകൊണ്ട് മാറുന്ന നിമിഷം ഒഴികെ? കാരണം ഒരു റിലേ ഓഫാക്കുകയും രണ്ടാമത്തേത് ഓണാക്കുകയും ചെയ്താൽ - ആദ്യത്തേത് ഓഫാക്കിയ നിമിഷത്തിൽ രണ്ടാമത്തേത് ഓണാക്കിയ നിമിഷത്തിൽ, അവരുടെ കോൺടാക്റ്റുകളിൽ ഒരു തീപ്പൊരി പ്രത്യക്ഷപ്പെടും, ഈ തീപ്പൊരികളിൽ നിന്ന് കാർബൺ നിക്ഷേപം രൂപപ്പെടും. കോൺടാക്റ്റുകളിൽ, കാലക്രമേണ അവ പരാജയപ്പെടും - ഇത് അവരുടെ പ്രതിരോധം വർദ്ധിക്കും, അവ ചൂടാകാൻ തുടങ്ങും, അത്രയേയുള്ളൂ, മെമന്റോ കടൽ! അതിനാൽ ആദ്യം രണ്ടാമത്തെ റിലേ ഓണാക്കുന്നത് ശരിയാണ്, അത് ഓണായാലുടൻ ആദ്യത്തേത് ഓഫ് ചെയ്യുക, തുടർന്ന് ഞങ്ങൾ തീപ്പൊരികളിൽ നിന്ന് മുക്തി നേടുകയും റിലേകൾ എന്നെന്നേക്കുമായി സന്തോഷത്തോടെ ജീവിക്കുകയും ചെയ്യും! വഴിയിൽ, ഒറിജിനൽ സ്വിച്ചിൽ എല്ലാം കൃത്യമായി ഈ രീതിയിൽ ചെയ്യുന്നു, അതിനാൽ ഇല്ല, ഞാൻ ഇത് കൊണ്ടുവന്നില്ല, കാറിലെ കരഘോഷവും പൂക്കളും അയയ്ക്കുന്നു ഈ സാഹചര്യത്തിൽയഥാർത്ഥ ഉപകരണത്തിന്റെ ഡിസൈനർമാർക്ക്, അല്ലാതെ നിങ്ങളുടേതല്ല. ശരി, എല്ലാം പൂച്ചയ്ക്ക് Maslenitsa അല്ല. 🙄

വഴിയിൽ, റിലേകൾക്കിടയിലുള്ള സ്വിച്ചിംഗ് കാലതാമസം ഈ പാരാമീറ്റർ ഉപയോഗിച്ച് സജ്ജീകരിച്ചിരിക്കുന്നു:

// റിലേകൾ തമ്മിലുള്ള സംക്രമണ ദൈർഘ്യം മില്ലിസെക്കൻഡിൽ
ബൈറ്റ് റിലേ ട്രാൻസിഷൻ = 80;

എന്നാൽ ഏതെങ്കിലും തരത്തിലുള്ള തകരാർ കാരണം, എങ്ങനെയെങ്കിലും മാന്ത്രികമായി, രണ്ടോ അതിലധികമോ റിലേകൾ സ്വിച്ചിംഗിനായി അനുവദിച്ച സമയത്തേക്കാൾ കൂടുതൽ സമയം ഒരേ സമയം ഓണാക്കിയാൽ എന്ത് സംഭവിക്കും? എന്നാൽ ഇത് വളരെ മോശമായിരിക്കും: ദ്വിതീയ വിൻഡിംഗിന്റെ ഒരു ഭാഗം നിങ്ങൾ ഷോർട്ട് സർക്യൂട്ട് ചെയ്യും. വയറുകൾ ഉരുകാൻ തുടങ്ങും, ട്രാൻസ്ഫോർമറിൽ നിന്ന് പുക വരും, അർമ്മഗെദ്ദോൻ പൊതുവെ സംഭവിക്കും. മൈക്കൽ ബേ ചിത്രീകരിച്ച അതേ ചിത്രം.

അതിനാൽ, പ്രിയപ്പെട്ട മാന്യരേ, സ്ത്രീകളേ, വാൻ ഡാമുകളേ, പ്രത്യേകിച്ച് ഈ ആവശ്യത്തിനായി ഞാൻ അത്തരമൊരു അർമ്മഗെദ്ദോണിനെതിരെ ഒരു സംരക്ഷണ സംവിധാനം കൊണ്ടുവന്നു. ഒരു 220 ഓം റെസിസ്റ്റർ ഓരോ എൽഇഡിയുടെയും പോസിറ്റീവുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു. എന്തുകൊണ്ട് 220? ഒന്നാമതായി, ആ ദിവസം ചന്ദ്രൻ ശനിയിൽ ആയിരുന്നതിനാൽ, രണ്ടാമതായി, പുതുവർഷത്തിന് മുമ്പ് എനിക്ക് കുറച്ച് ആഭ്യന്തര ടേപ്പ് റെക്കോർഡറുകളും അതുപോലെ തന്നെ ഒരു ഗാർഹിക ഇലക്ട്രോണിക് പിയാനോയും (അല്ലെങ്കിൽ ഒരു പിയാനോ, ഞാൻ ചെയ്യാറില്ല. അറിയുക, പക്ഷേ ചുരുക്കത്തിൽ ഒരു പിയാനോ അല്ല), അതിനാൽ അവിടെ നിന്ന് ഞാൻ ഈ 220 ഓം റെസിസ്റ്ററുകളുടെ മുഴുവൻ ബോക്സും സോൾഡർ ചെയ്തു, എനിക്ക് അവ എവിടെയെങ്കിലും വയ്ക്കേണ്ടതുണ്ട് - അതിനാൽ, മികച്ച ഉപയോഗം!

മറുവശത്ത്, ഈ റെസിസ്റ്ററുകളെല്ലാം 4k7 റെസിസ്റ്ററിലൂടെ ബന്ധിപ്പിച്ച് നിലത്തേക്ക് വലിച്ചെറിയുന്നു (ഇതിനർത്ഥം 4.7 kOhm, ഇത് ഒരു സ്‌പേഡ് എന്ന് വിളിക്കേണ്ട സമയമാണ്!), അതിൽ എനിക്ക് ഒരു ഷിറ്റ്‌ലോഡും അതിലേറെയും ഉണ്ട്. അതിനാൽ, ഈ 9 റെസിസ്റ്ററുകളും ഒത്തുചേരുന്ന ഈ പോയിന്റിൽ G വോൾട്ടേജ് ഞങ്ങൾ അളക്കുന്നു, അതായത്, ഈ പോയിന്റ് ഞങ്ങൾ സജ്ജീകരിച്ചിരിക്കുന്ന Arduino- യുടെ അടുത്ത അനലോഗ് ഇൻപുട്ടിലേക്ക് ബന്ധിപ്പിക്കുന്നു. ഇനിപ്പറയുന്ന പാരാമീറ്റർ:

// സ്വിച്ച് ഓൺ റിലേകളുടെ എണ്ണം നിരീക്ഷിക്കുന്നതിനുള്ള അനലോഗ് ഇൻപുട്ട്
ബൈറ്റ് ഗാർഡ്ഇൻപുട്ട് = 4;

ഈ വോൾട്ടേജിൽ നിന്ന്, ഇപ്പോൾ അവിടെ എത്ര എൽഇഡികൾ കത്തിച്ചിട്ടുണ്ടെന്ന് ഞങ്ങൾ ഉടനടി കാണും, അവ നേരിട്ട് ട്രാൻസിസ്റ്ററുകളുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നതിനാൽ, ഞങ്ങൾ കാണുന്നത് ഇതുതന്നെയാണ്, ഇപ്പോൾ എത്ര റിലേകൾ ഓണാക്കിയിരിക്കുന്നു, ഇതാണ് കൃത്യമായി. ഈ സാഹചര്യത്തിൽ നമുക്ക് എന്താണ് വേണ്ടത്, അത് ആവശ്യമാണ്! അതായത്, ഞങ്ങൾ ഒരു വോൾട്ടേജ് ത്രെഷോൾഡ് സജ്ജീകരിച്ചു, അതിന് മുകളിൽ ഞങ്ങൾ ആദ്യം ഉചിതമായ റിലേ ഉപയോഗിച്ച് 220 വോൾട്ട് മുറിച്ചുമാറ്റി, രണ്ടാമതായി ഞങ്ങൾ റിലേകൾ ഉപയോഗിച്ച് സാഹചര്യം ശരിയാക്കാൻ ശ്രമിക്കുന്നു, അത് ശരിയാക്കിയ ഉടൻ ഞങ്ങൾ 220 വീണ്ടും ഓണാക്കി തുടരുന്നു. ഒന്നും സംഭവിച്ചില്ല എന്ന മട്ടിൽ പ്രവർത്തിക്കുക. എല്ലാം ലളിതവും വിശ്വസനീയവുമാണ്, ഞാൻ അത് പരിശോധിച്ചു!

ഈ പരിധി ഇവിടെ സജ്ജീകരിച്ചിരിക്കുന്നു:

// അനുവദനീയമായ പരമാവധി ഗാർഡ് ഇൻപുട്ട് മൂല്യം
ബൈറ്റ് ഗാർഡ് ട്രെഷോൾഡ് = 160;

മുകളിൽ വിവരിച്ച ചെക്കിന്റെ നടപടിക്രമം ലൂപ്പിന്റെ ഓരോ സൈക്കിളിലും നടത്തുന്നു, ഇതുപോലെ കാണപ്പെടുന്നു:

// സ്വിച്ചുകളുടെ എണ്ണം പരിശോധിച്ച് സ്വയമേവ ഓഫാക്കുക - പുനഃസ്ഥാപിക്കുക - ഓണാക്കുക
എങ്കിൽ (voltageGuard > guardTreshold) (
ഡിജിറ്റൽ റൈറ്റ് (relay220Pin, LOW);
അതേസമയം (വോൾട്ടേജ് ഗാർഡ് > ഗാർഡ് ട്രെഷോൾഡ്) (
ഡിജിറ്റൽ റൈറ്റ് (ലാച്ച്പിൻ, ലോ);
shiftOut(dataPin, clockPin, MSBFIRST, bitseq(ones));
shiftOut(dataPin, clockPin, MSBFIRST, bitseq(ഡസൻ));
shiftOut(dataPin, clockPin, MSBFIRST, bitseq(relays));
ഡിജിറ്റൽ റൈറ്റ് (ലാച്ച്പിൻ, ഉയർന്നത്);
വോൾട്ടേജ്ഗാർഡ്=അനലോഗ് റീഡ്(ഗാർഡ്ഇൻപുട്ട്);
}
ഡിജിറ്റൽ റൈറ്റ് (relay220Pin, HIGH);
}

9 ഖണ്ഡികകൾ മുമ്പ് ഞാൻ വാഗ്ദാനം ചെയ്ത ഫോട്ടോ ഇപ്പോൾ ഞാൻ നിങ്ങളെ കാണിക്കും, മാന്യതയ്‌ക്ക് വേണ്ടി മാത്രമാണെങ്കിൽ:

നീക്കം ചെയ്ത കവർ ഞങ്ങൾക്ക് വോൾട്ടേജ് കാണിക്കുന്നു. ഭംഗി!

എസി പവർ റിലേ

എന്നിരുന്നാലും, നമ്മൾ മുന്നോട്ട് പോകേണ്ടതുണ്ട്. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, ചാർജർ ക്രമേണ കൂട്ടിച്ചേർക്കപ്പെടുന്നു, വയറുകൾ ക്രമേണ നീളം കൂട്ടുകയും രണ്ട് പുതിയ പ്രതീകങ്ങൾ രംഗത്ത് പ്രത്യക്ഷപ്പെടുകയും ചെയ്യുന്നു - അതേ 220-വോൾട്ട് റിലേയും ഒരു ചെറിയ പന്ത്രണ്ട്-വോൾട്ട് കൂളറും - കമ്പ്യൂട്ടറിൽ നിന്ന് എൺപത്:

Relyukha സാധാരണമാണ്, മറ്റുള്ളവരിൽ നിന്ന് വ്യത്യസ്തമല്ല. 10 ആമ്പിയർ പോലെ 220 വോൾട്ട് വലിക്കുന്നു. എന്നാൽ ഞങ്ങൾക്ക് ഇത് ആവശ്യമില്ല, ഞങ്ങൾക്ക് 1 ആമ്പിയർ ഫ്യൂസ് ഉണ്ട്. എന്നാൽ അത്തരം കാര്യങ്ങളിൽ ഒരു കരുതൽ നല്ലതാണ്, അത് വിശ്വാസ്യതയാണ്. ഈ റിലേയുടെ കോയിൽ 12 വോൾട്ടിൽ പ്രവർത്തിക്കുന്നു, എന്നാൽ 5-ന് സമാനമായവയുണ്ട്. ഞാൻ അലിയിൽ ഒറ്റയടിക്ക് 25 എണ്ണം കുറഞ്ഞ വിലയ്ക്ക് വാങ്ങി. എന്തുകൊണ്ടാണ് ഞാൻ 5 അല്ല 12 എടുത്തത്? നോക്കൂ, ഞാൻ അത് എവിടെ ഓണാക്കിയാലും, എനിക്ക് ഇപ്പോഴും ഒരു ട്രാൻസിസ്റ്റർ ആവശ്യമാണ്, അല്ലേ? അത് 5 വോൾട്ട് ആണെങ്കിൽ പോലും. എന്നാൽ ഇത് 5-ൽ ആണെങ്കിൽ, അത് ഒരു അപൂർണ്ണതയിലൂടെ ബന്ധിപ്പിക്കേണ്ടതുണ്ട്, അതിലൂടെ എല്ലാ തലച്ചോറുകളും ഇതിനകം തന്നെ പ്രവർത്തിക്കുന്നു, അതിൽ നിന്ന് ഇത് കൂടുതൽ ചൂടാകും - എന്തുകൊണ്ടാണ് നരകം അത് ആവശ്യമായി വരുന്നത്? നിങ്ങൾക്ക് 12-ൽ നേരിട്ട് കുത്താം, പക്ഷേ കുറഞ്ഞത് 15 പേരെങ്കിലും ഉണ്ടാകും - അവൾ കാര്യമാക്കുന്നില്ല, അവൾ പ്രവർത്തിക്കുന്നു. മാത്രമല്ല, എട്ട് വോൾട്ടുകളിൽ നിന്ന് ആരംഭിക്കുന്നു. എൽഇഡി ലൈറ്റുകൾ തെളിയുകയാണെങ്കിൽ, അത് പ്രവർത്തിക്കുന്നുവെന്നും ഫലത്തിൽ 220 വോൾട്ട് ട്രാൻസ്ഫോർമറിലേക്ക് പോകുന്നുവെന്നും അർത്ഥമാക്കുന്നത് പോലെ, പരിശോധനയ്ക്കിടെ സൂചനയ്ക്കായി ഞാൻ എൽഇഡി അതിലേക്ക് കണക്റ്റുചെയ്തു. ഒരേ ബ്ലോക്കിലെ മറ്റ് റിലേകൾ പോലെ, അതേ KT315 വഴി ഇത് arduino- യുടെ ഔട്ട്പുട്ടിലേക്ക് നേരിട്ട് ബന്ധിപ്പിച്ചിരിക്കുന്നു. അതെ, rezuk 1 kOhm ആണ്, 2 മിക്കവാറും അവിടെ പ്രവർത്തിക്കുമെങ്കിലും, നിങ്ങൾക്ക് വലിയവ ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും, എന്നാൽ rezuk ന്റെ മൂല്യം കുറയുമ്പോൾ, ട്രാൻസിസ്റ്ററിലൂടെ കൂടുതൽ കറന്റ് പോകുമെന്ന് ഓർമ്മിക്കുക. പൊതുവായ ഊർജ്ജ കാര്യക്ഷമതയ്ക്ക്, ഈ + - രണ്ട് മില്ലിയാമ്പുകൾ പ്രശ്നമല്ല, എന്നാൽ ആർഡ്വിനോയുടെയും രജിസ്റ്ററുകളുടെയും കുറഞ്ഞ നിലവിലെ ഔട്ട്പുട്ടുകൾക്ക് - ശരിക്കും അല്ല, അതിനാൽ നിങ്ങൾ പോകൂ.

ഈ റിലേ ഓണാക്കുന്നത്, നിങ്ങൾ ഇതിനകം മനസ്സിലാക്കിയതുപോലെ, ഉപയോഗിച്ചാണ് സംഭവിക്കുന്നത്

ഡിജിറ്റൽ റൈറ്റ് (relay220Pin, HIGH);

ഒപ്പം ഓഫ് ചെയ്യുന്നു

ഡിജിറ്റൽ റൈറ്റ് (relay220Pin, LOW);

ചാർജർ തണുപ്പിക്കാൻ ഒരു കൂളർ ബന്ധിപ്പിക്കുന്നു

എന്നാൽ കൂളർ 140 മില്ലിയാമ്പുകൾ ഉപയോഗിക്കുന്നതായി തോന്നുന്നു, അതിലെ സ്റ്റിക്കർ ഉപയോഗിച്ച് വിലയിരുത്തുന്നു, അതിനാൽ KT315 ഇവിടെ പ്രവർത്തിക്കില്ല, സ്പെസിഫിക്കേഷൻ അനുസരിച്ച് അവ നൂറ് വരെ മാത്രമേ ഉള്ളൂ, അതിനാൽ ഞാൻ KT815A എടുത്തു. അവർ ഒന്നര ആയിരം മില്ലിയാമ്പ് വരെ പോകും, ​​അത് മതിയാകും. മറ്റ് ഓപ്ഷനുകൾ ഉണ്ട്, ഞാൻ എപ്പോഴും എനിക്ക് ധാരാളം ഉള്ളത് ഉപയോഗിക്കാൻ ശ്രമിക്കുന്നു, ഒരുപക്ഷേ നിങ്ങൾക്ക്, ഉദാഹരണത്തിന്, കൂളറിനായി മറ്റേതെങ്കിലും ട്രാൻസിസ്റ്റർ ഉണ്ടായിരിക്കും, അത് 20 വോൾട്ട് വരെയും 150 മില്ലിയാമ്പ് വരെ വലിക്കുകയാണെങ്കിൽ - ഇടുക, എങ്കിൽ n-p-n, പിന്നെ കാലുകൾക്കുള്ള പിൻഔട്ട് നോക്കുക, അത് p-n-p ആണെങ്കിൽ, നിങ്ങൾ സർക്യൂട്ട് അൽപ്പം മാറ്റേണ്ടതുണ്ട്, എന്നാൽ ഈ സാഹചര്യത്തിൽ എല്ലാം അപ്രധാനമാണ്. എന്നാൽ ഇവിടെ ഒരു ന്യൂനൻസ് കൂടിയുണ്ട്...

നിങ്ങൾ എപ്പോഴെങ്കിലും ഒരു തണുത്ത ഞരക്കം കേട്ടിട്ടുണ്ടോ? അല്ല, ഭ്രമണത്തിൽ നിന്നല്ല, വെറുതെ ഞെരിക്കുന്നതാണോ? ഞാനും അത് കേട്ടില്ല, പക്ഷേ ഇവിടെ ഞാൻ ഭാഗ്യവാനായിരുന്നു. PWM ഉപയോഗിച്ച് Arduino ഔട്ട്പുട്ട് വോൾട്ടേജുകളുടെ ഇന്റർമീഡിയറ്റ് മൂല്യങ്ങൾ (പൂജ്യത്തേക്കാൾ കൂടുതൽ, എന്നാൽ അഞ്ചിൽ താഴെ) സൃഷ്ടിക്കുന്നതിനാൽ, ഇവ വേഗതയേറിയതും വേഗതയേറിയതുമായ വോൾട്ടേജ് ഏറ്റക്കുറച്ചിലുകളാണ്, പൾസ്-വീതി മോഡുലേറ്റർ തന്നെ ഒരു നിശ്ചിത ആവൃത്തിയിൽ പ്രവർത്തിക്കുന്നു, കൂടാതെ ട്രാൻസിസ്റ്ററുകളും , നിങ്ങൾക്കറിയാവുന്നതുപോലെ, നിർദ്ദിഷ്ട ആവൃത്തികളിലും പ്രവർത്തിക്കാൻ കഴിയും, അതിനാൽ ഈ പൾസുകൾ ട്രാൻസിസ്റ്ററിലൂടെ കൂളറിലേക്ക് കൈമാറ്റം ചെയ്യപ്പെടുന്നു, അതിന്റെ വാസ്തുവിദ്യ കാരണം അത് ബീപ്പ് ചെയ്യാൻ തുടങ്ങുന്നു. എനിക്ക് അവരെ അറിയാത്തതിനാൽ ഞാൻ വിശദാംശങ്ങളിലേക്ക് പോകുന്നില്ല, പക്ഷേ ഈ ട്രാൻസിസ്റ്ററിന്റെ എമിറ്ററിലെ ബേസിൽ പ്ലസ്, മൈനസുകൾ എന്നിവ ഉപയോഗിച്ച് 100 mF കണ്ടക്ടർ പ്ലഗ് ചെയ്തുകൊണ്ട് ഇതെല്ലാം കൈകാര്യം ചെയ്യാൻ കഴിയും. അവിടെയുള്ള വോൾട്ടേജ് 5 വോൾട്ട് വരെയാണ്, അതിനാൽ കണ്ടൻസർ കുറഞ്ഞത് 6.3 വോൾട്ട് ആയി സജ്ജമാക്കാൻ കഴിയും. അത്രയേയുള്ളൂ, ഞരക്കം അപ്രത്യക്ഷമാകും, ഒന്നുമില്ല!

കൂളർ നിയന്ത്രിക്കുന്ന PWM കോൺടാക്റ്റിന്റെ നമ്പർ ഇനിപ്പറയുന്ന പാരാമീറ്റർ ഉപയോഗിച്ച് സജ്ജീകരിച്ചിരിക്കുന്നു:

// ഫാൻ നിയന്ത്രണത്തിനായുള്ള ഔട്ട്പുട്ട്
ബൈറ്റ് ഫാൻപിൻ = 6;

പവർ ലെവലുകളെ പരാമർശിച്ച് പൂജ്യം (0V) മുതൽ 255 (5V) വരെയുള്ള അതിന്റെ വേഗത ഇനിപ്പറയുന്ന അറേ ഉപയോഗിച്ച് സജ്ജീകരിച്ചിരിക്കുന്നു:

// ഫാൻ സ്പീഡ് ക്രമീകരണങ്ങൾ
ബൈറ്റ് ഫാൻസ്പീഡുകൾ=(0,0,80,90,100,110,120,180,255);

ഈ വേഗതയുടെ ക്രമീകരണം പവർ വർദ്ധിപ്പിക്കുന്നതിനും കുറയ്ക്കുന്നതിനുമുള്ള നടപടിക്രമങ്ങളിൽ നിർദ്ദേശിക്കപ്പെട്ടിരിക്കുന്നു:

അനലോഗ് റൈറ്റ് (ഫാൻപിൻ, ഫാൻ സ്പീഡുകൾ);

വഴിയിൽ, കൂളർ ഉപയോഗിച്ചുള്ള റിലേയുടെ സൂക്ഷ്മമായ കാഴ്ച ഇതാ:

മുൻ പാനലിൽ കൂടുതൽ ജോലി

എന്നാൽ നമുക്ക് മുന്നോട്ട് പോകാം. ഇവിടെ ഞാൻ ഇതിനകം തന്നെ പുതിയ കേസിൽ ഫ്യൂസ് പരീക്ഷിച്ചു - പഴയതിന് നിരവധി വോൾട്ടേജുകൾ ഉണ്ടെന്ന് കരുതപ്പെടുന്നു, വാസ്തവത്തിൽ ഒരെണ്ണം മാത്രമേ ഉപയോഗിച്ചിട്ടുള്ളൂവെങ്കിലും അതിൽ നിന്ന് ഒരു കഷണം തകർന്നു, ഇത് പുതിയത് പോലെയാണ്, 220 വോൾട്ട്, എന്റെ അച്ഛന്റെ സാധനങ്ങളിൽ നിന്ന്. ശരി, ഞാൻ അതേ ചുവടെയുള്ള എൽഇഡി ഇൻസ്റ്റാൾ ചെയ്യുകയും അതേ പശ ഉപയോഗിച്ച് ഒട്ടിക്കുകയും ചെയ്തു.

അവസാനമായി, ഒത്തുചേരാനും അത് സ്ഥാപിക്കാനുമുള്ള സമയമാണിത് ഫ്രണ്ട് പാനൽ! നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, എല്ലാ വയറുകളും ഇതിനകം ലയിപ്പിച്ചിരിക്കുന്നു, അഞ്ച് വോൾട്ട് ക്രെങ്ക പോലും ഫ്രെയിമിന്റെ അടിയിൽ പറ്റിനിൽക്കുന്നു, പാനൽ അൽപ്പം നീക്കാൻ സ്‌പെയ്‌സറുകൾ ശരീരത്തിലേക്ക് സ്ക്രൂ ചെയ്യുന്നു (ഞാൻ ഇതിനെക്കുറിച്ച് ഇതിനകം സംസാരിച്ചു), കാരണം ഇതിന് മുമ്പ് ശരീരത്തോട് ചേർന്ന് ഘടിപ്പിച്ചിരുന്നു. നിങ്ങൾക്ക് കാണാനാകുന്നതുപോലെ, പല സ്ഥലങ്ങളിലും ഞാൻ വയറുകൾ കേസിംഗുകളിലേക്ക് തിരുകുന്നു, അങ്ങനെ ഒന്നും എവിടെയും പൊട്ടുകയോ ചെറുതാകുകയോ ചെയ്യില്ല. ക്രെങ്കയിലേക്കുള്ള 12 വോൾട്ട് ഡയോഡ് ബ്രിഡ്ജിൽ നിന്ന് നേരിട്ട് വരുന്നു, ലളിതമായ വളച്ചൊടിച്ച ജോഡിയേക്കാൾ ഉയർന്ന ക്ലാസിന്റെ വയർ. മൈനസ് കോമൺ മൈനസുമായി നേരിട്ട് ബന്ധിപ്പിച്ചിരിക്കുന്നു, പക്ഷേ പ്ലസ് ഒരു ഡയോഡിലൂടെ ബന്ധിപ്പിച്ചിരിക്കുന്നു, അല്ലാത്തപക്ഷം ബാറ്ററിയെ ബന്ധിപ്പിക്കുമ്പോൾ Vasya Pupkin ധ്രുവീയതയെ റിവേഴ്സ് ചെയ്യും, അത്രയേയുള്ളൂ, ഫിനിറ്റ ലാ കോമഡി, കരിഞ്ഞ ഘടകങ്ങളുടെ പകുതി റീസോൾഡർ! ഈ രീതിയിൽ നിങ്ങൾക്ക് ശാന്തനാകാം.

കെയ്‌സിനും പാനലിനുമിടയിൽ വയറുകൾ എങ്ങനെ പോകുമെന്ന് ഞാൻ രണ്ട് തവണ മനസ്സിലാക്കിയ ശേഷം, അവ തൂങ്ങിക്കിടക്കുകയോ വഴിയിൽ വീഴുകയോ ചെയ്യാതിരിക്കാൻ ശരിയായ സ്ഥലങ്ങളിൽ ഒട്ടിക്കാൻ ഞാൻ തീരുമാനിച്ചു, മെച്ചപ്പെടുത്തിയ വസ്തുക്കൾ ഉപയോഗിച്ച് ഞാൻ അവയെ അമർത്തി. മുകളിൽ, അവയെ ക്ലോസ്‌പിനുകൾ ഉപയോഗിച്ച് ഉറപ്പിച്ച് പശ ഉണങ്ങാൻ ഒറ്റരാത്രികൊണ്ട് അവിടെ വെച്ചു. :

ഹാർനെസും മറ്റ് ഘടകങ്ങളും ഉള്ള Atmega328P കൺട്രോളറിന്റെ ഇൻസ്റ്റാളേഷൻ

ഈ സമയം, അതേ മൗണ്ടിംഗ് പ്ലേറ്റുകളിൽ ഒന്നിന്റെ പകുതിയിൽ, ശേഷിക്കുന്ന ഘടകങ്ങളുടെ സിംഹഭാഗവും ഞാൻ ഇതിനകം സ്ഥാപിച്ചിരുന്നു - ഒരു മൈക്രോ സർക്യൂട്ട്, ക്വാർട്സ്, കണ്ടക്ടറുകൾ, ഒരു കൂളറിനുള്ള ഒരു ട്രാൻസിസ്റ്റർ മുതലായവ. ഇത്യാദി.:

ബോർഡ് തന്നെ ഒരു വശത്ത് മുറിക്കേണ്ടതുണ്ട് - അത് വളരെ വലുതും അനുയോജ്യവുമല്ല. ഓപ്പറേഷൻ സമയത്ത് ഒന്നിനും ഷോർട്ട് സർക്യൂട്ട് ഉണ്ടാകാതിരിക്കാൻ ഞാൻ താഴത്തെ ഭാഗവും പിന്നീട് മുഴുവൻ ഭാഗവും പേപ്പർ ടേപ്പ് ഉപയോഗിച്ച് പൊതിഞ്ഞു.

അപ്പോഴേക്കും, ഫ്രണ്ട് പാനൽ അതിന്റെ ബഹുമാനാർത്ഥം സ്ഥാപിച്ചിരുന്നു, കൂടാതെ അഞ്ച് വോൾട്ട് ക്രെങ്ക പാനലിന് പിന്നിലെ കേസിലേക്ക് ചൂട് ചാലക ഇൻസുലേറ്റിംഗ് ഗാസ്കറ്റും സ്ക്രൂവിനുള്ള ഒരു പ്ലാസ്റ്റിക് തിരുകലും വഴി സ്ക്രൂ ചെയ്തു - ഇതിന് നന്ദി. , മൈക്രോ സർക്യൂട്ട് ഒരു കൂറ്റൻ വഴി വിശ്വസനീയമായി തണുപ്പിക്കും മെറ്റൽ കേസ്, അത് വൈദ്യുതമായി ബന്ധിപ്പിക്കാതെ.

ഉപകരണ പാരാമീറ്ററുകളുടെ അന്തിമ കോൺഫിഗറേഷൻ

പകുതി-അസംബിൾ ചെയ്ത സിസ്റ്റം എങ്ങനെ പ്രവർത്തിക്കുന്നുവെന്ന് ഇവിടെ നിങ്ങൾക്ക് ഇതിനകം കാണാൻ കഴിയും, പക്ഷേ വീണ്ടും, ഇതുവരെ വൈദ്യുതി വിതരണത്തിൽ നിന്ന് മാത്രം, കാരണം എന്റെ രൂപകൽപ്പനയിൽ ബാറ്ററി ഓണാക്കാനുള്ള സോക്കറ്റ് അവസാന നിമിഷത്തിൽ ബന്ധിപ്പിച്ചിരിക്കുന്നു. ശരി, അത് സംഭവിച്ചു, എന്തുചെയ്യണം ...

അത് ഓണാക്കിയ ശേഷം, ഉയർന്ന വൈദ്യുതധാരയിൽ, ആമീറ്റർ സ്കെയിൽ ഓഫ് ചെയ്യുമ്പോൾ, ചാർജർ ഇപ്പോൾ ബാറ്ററിയിൽ ഉള്ളതിനേക്കാൾ 0.5-0.8 വോൾട്ട് വോൾട്ടേജ് കൂടുതലായി കാണുന്നു. വയറുകളിൽ അര വോൾട്ട് നഷ്ടപ്പെട്ടതായി ടെസ്റ്റ് കാണിച്ചു, അതിനാൽ ഞാൻ അവയെ മികച്ചവ ഉപയോഗിച്ച് മാറ്റി, ഒരു വലിയ ക്രോസ്-സെക്ഷൻ ഉപയോഗിച്ച് ഉപകരണത്തിന്റെ മൊത്തത്തിലുള്ള രൂപകൽപ്പനയ്ക്ക് വളരെ അനുയോജ്യമായ ഒരു തണുത്ത പ്ലഗിലേക്ക് സോൾഡർ ചെയ്തു. ഇത് പ്രശ്നം പരിഹരിച്ചു, പക്ഷേ 100 ശതമാനം അല്ല - ഉയർന്ന വൈദ്യുത പ്രവാഹങ്ങളിൽ ചില വ്യത്യാസങ്ങൾ ഇപ്പോഴും അവശേഷിക്കുന്നു. എന്നാൽ ഇത് ഒരു ബഗ് അല്ല, മറിച്ച് ഒരു സവിശേഷതയാണെന്ന് ഞാൻ കരുതി, കാരണം അത്തരം ഉയർന്ന വൈദ്യുതധാരകൾ ഉപയോഗിച്ച് ബാറ്ററി ചാർജ് ചെയ്യുന്നതിൽ അർത്ഥമില്ല - ഇത് ഏതെങ്കിലും തരത്തിലുള്ള പരിമിതപ്പെടുത്തുന്ന ഘടകമായി പ്രവർത്തിക്കട്ടെ!

ഇവിടെ, വഴിയിൽ, അച്ഛന്റെ ബാറ്ററി ചാർജിംഗ് പൂർണ്ണ സ്വിംഗിലാണ്, ഇത് അമ്മീറ്ററിൽ കാണാൻ കഴിയും. ശരിയാണ്, 220-വോൾട്ട് ലൈറ്റ് ബൾബ് വളരെ മങ്ങിയതായി മാറി, ഫോട്ടോഗ്രാഫുകളിൽ അത് ഓണാണെന്ന് കാണാൻ മിക്കവാറും അസാധ്യമാണ്. പക്ഷേ അത് കത്തുന്നു, എന്നെ വിശ്വസിക്കൂ!

ചാർജർ തയ്യാറാണ്!

ഉപകരണത്തിന്റെ താഴെയുള്ള കാഴ്ച ഇതാ. തുടക്കത്തിൽ, കേസും പാനലും തമ്മിലുള്ള ഈ മുഴുവൻ വിടവും അടയ്ക്കാൻ ഞാൻ പദ്ധതിയിട്ടിരുന്നു, പക്ഷേ പിന്നീട് ഞാൻ മനസ്സ് മാറ്റി - ഇത് വായുസഞ്ചാരമുള്ളതാക്കുന്നതാണ് നല്ലത്!

ഇടതുവശത്ത് നിന്നുള്ള കാഴ്ച. ശരി, അല്ലെങ്കിൽ വലതുവശത്ത് നിന്ന് - ഇത് നിങ്ങൾ എങ്ങനെ നോക്കുന്നു എന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു, വാക്യം ക്ഷമിക്കുക.

ശരി, ഇത് മുകളിൽ നിന്നാണ്. അമ്മീറ്ററിന്റെ നീണ്ടുനിൽക്കുന്ന ഭാഗത്തേക്ക് ഞാൻ പാനൽ ഒട്ടിച്ചതായി ഇവിടെ നിങ്ങൾക്ക് കാണാൻ കഴിയും - ഇത് പിന്തുണയുടെ ഒരു വലിയ മൂന്നാമത്തെ പോയിന്റായി മാറി, അല്ലാത്തപക്ഷം പാനൽ എങ്ങനെയെങ്കിലും അസ്ഥിരമായി ഇരുന്നു. അതിനാൽ എല്ലാം മികച്ചതും വിശ്വസനീയവും മനോഹരവുമാണ്! വഴിയിൽ, ഒരു ക്രിസ്റ്റലിന് പകരം ഞാൻ ഒരു സാധാരണ നിമിഷം ഉപയോഗിച്ചിരുന്നെങ്കിൽ, ഈ വിടവിലൂടെ ഈ ഇളം മഞ്ഞ ക്രാപ്പ് എല്ലാം ദൃശ്യമാകുമെന്ന് സങ്കൽപ്പിക്കുക. Fuuuuuuck! 😳

പിന്നെ, തീർച്ചയായും, പിൻ കാഴ്ച. ആളുകളുടെയും മൃഗങ്ങളുടെയും വിരലുകളും മറ്റ് അവയവങ്ങളും പരിക്കിൽ നിന്ന് സംരക്ഷിക്കുന്ന മനോഹരമായ ഒരു ഗ്രിൽ ഞാൻ ഫാനിൽ ഘടിപ്പിച്ചു. ഇവിടെ നിങ്ങൾക്ക് പുതിയ പവർ കോർഡ് കാണാൻ കഴിയും, അത് ചാർജ്ജ് ചെയ്ത ശേഷം സൗകര്യപ്രദമായി കൂളറിലേക്ക് സ്ക്രൂ ചെയ്യുന്നു, ആരെയും ശല്യപ്പെടുത്തുന്നില്ല!

വഴിയിൽ, ഉപകരണം കൂട്ടിയോജിപ്പിച്ച് പരിശോധിച്ചതിന് ശേഷം, ഈ നശിച്ച കൂളർ ലൂബ്രിക്കേറ്റ് ചെയ്യുന്നതിനായി എനിക്ക് അത് വീണ്ടും ഡിസ്അസംബ്ലിംഗ് ചെയ്യേണ്ടിവന്നു, എന്തുകൊണ്ടാണ് ഞാൻ അത് ഉടനടി ലൂബ്രിക്കേറ്റ് ചെയ്യാത്തത്, അത്തരമൊരു ചിന്തയുണ്ടോ ???

പ്രോഗ്രാമബിൾ മൈക്രോകൺട്രോളറിലെ എന്റെ ആദ്യ പ്രോജക്റ്റാണിത്. ഏതാണ്ട് ഒരു മാസത്തോളം വൈകുന്നേരങ്ങളിൽ ഞാൻ അതിൽ പ്രവർത്തിച്ചു. എനിക്ക് മടുത്തതിനാൽ ഞാൻ ഒരാഴ്ചത്തെ ഇടവേള പോലും എടുത്തു, ഈ ജോലി വളരെ ബോറാണ് അല്ലെങ്കിൽ മറ്റെന്തെങ്കിലും. പക്ഷെ ഞാൻ സന്തോഷവാനാണ്. ഈ അനുഭവത്തിൽ ഞാൻ സന്തുഷ്ടനാണ്, ഈ ജോലി പൂർത്തിയാക്കാൻ കഴിഞ്ഞതിൽ എനിക്ക് സന്തോഷമുണ്ട്, "ഇത് സജ്ജമാക്കി മറക്കുക" ക്ലാസിന്റെ മികച്ച ഓട്ടോമാറ്റിക് ചാർജർ ഇപ്പോൾ എന്റെ പക്കലുണ്ടെന്നതിൽ എനിക്ക് സന്തോഷമുണ്ട്. എന്റെ സുഹൃത്തുക്കളോ പരിചയക്കാരോ അവരുടെ ബാറ്ററിക്ക് ചാർജർ ഉണ്ടോ എന്ന് ചോദിക്കുമ്പോൾ, ഞാൻ അത് അവർക്ക് കൈമാറുകയും ഈ രസകരമായ കാര്യം ഞാൻ ഉണ്ടാക്കിയതാണെന്ന് അഭിമാനത്തോടെ പറയുകയും ചെയ്യുന്നു.

ഇലക്‌ട്രോ-ലാബ്‌സ് ടീം ആർഡ്വിനോയ്‌ക്കായി ഒരു പ്രോജക്റ്റ് അവതരിപ്പിച്ചു, അത് രസകരം മാത്രമല്ല, ദൈനംദിന ജീവിതത്തിൽ ഉപയോഗപ്രദവുമാണ്, അതിന്റെ ബ്ലോഗിൽ. ഈ പ്രോജക്റ്റിൽ, ലിഥിയം ബാറ്ററികൾക്കുള്ള ചാർജറായി പ്രവർത്തിക്കുന്ന ആർഡ്വിനോയ്‌ക്കായി ഒരു പ്രോഗ്രാമബിൾ ഷീൽഡ് വികസിപ്പിച്ചെടുത്തു. ഷീൽഡ് ഉൾപ്പെടുന്നു എൽസിഡി ഡിസ്പ്ലേകൂടാതെ 2V മുതൽ 10V വരെ വോൾട്ടേജും 50mA മുതൽ 1.1A വരെ കറന്റും ക്രമീകരിക്കാൻ ഉപയോക്താവിനെ അനുവദിക്കുന്ന ഒരു പുഷ്-ബട്ടൺ ഇന്റർഫേസ്. ചാർജിംഗ് പ്രക്രിയ നിയന്ത്രിക്കാനുള്ള കഴിവും ഉപകരണം നൽകുന്നു.

ഷീൽഡ് LT1510 ചിപ്പ് അടിസ്ഥാനമാക്കിയുള്ളതും നിയന്ത്രിക്കുന്നതും ആണ് ആർഡ്വിനോ യുനോ. ലളിതവും താങ്ങാനാവുന്നതുമായ നോക്കിയ 5110 എൽസിഡിയാണ് ഉപയോഗിച്ചിരിക്കുന്നത്. ഇത് ഒരു എസ്പിഐ ഇന്റർഫേസ് വഴി ബന്ധിപ്പിച്ചിരിക്കുന്നു കൂടാതെ 3.3V വോൾട്ടേജാണ് നൽകുന്നത്. ആർഡ്വിനോയുടെ I/O പിന്നുകൾ 5V-ൽ പ്രവർത്തിക്കുന്നതിനാൽ, സിഗ്നൽ ലൈനുകളിലേക്ക് സീരീസിൽ ബന്ധിപ്പിച്ചിട്ടുള്ള റെസിസ്റ്ററുകളിലൂടെ LCD മൊഡ്യൂളിനെ ബന്ധിപ്പിക്കാൻ ശുപാർശ ചെയ്യുന്നു. Li-Ion ബാറ്ററികൾ ബന്ധിപ്പിക്കുന്നതിന് രണ്ട് കണക്ടറുകൾ ലഭ്യമാണ്. നാല് നിയന്ത്രണ ബട്ടണുകൾ Arduino യുടെ A2-A5 പിൻകളുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു. ബാറ്ററി വോൾട്ടേജും ചാർജിംഗ് കറന്റും നിയന്ത്രിക്കുന്നത് അനലോഗ് പിൻസ് A0, A1 വഴിയാണ്. വിശദാംശങ്ങൾ അനലോഗ്-ടു-ഡിജിറ്റൽ പരിവർത്തനംൽ വിശദീകരിച്ചു സോഴ്സ് കോഡ്പദ്ധതി. ഉപകരണത്തിന്റെ പ്രവർത്തനത്തെ സൂചിപ്പിക്കാൻ രണ്ട് SMD LED-കൾ ഉപയോഗിക്കുന്നു.

SoloPCBtools പാക്കേജിൽ നിന്ന് SoloCapture-ൽ പ്രോജക്റ്റിന്റെ സ്കീമാറ്റിക് ഡയഗ്രം വികസിപ്പിച്ചെടുത്തു. മൈക്രോകൺട്രോളർ നിയന്ത്രണമില്ലാതെ ഷീൽഡിന് പ്രവർത്തിക്കാൻ കഴിയും. Arduino ഫ്ലാഷ് ചെയ്യാത്തപ്പോൾ, ചാർജർ 4.2V കട്ട്ഓഫ് വോൾട്ടേജിലേക്കും പരമാവധി 1.1A ചാർജിംഗ് കറന്റിലേക്കും സ്ഥിരസ്ഥിതിയായി മാറുന്നു. SoloPSB-യിലാണ് PCB രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. പദ്ധതി അച്ചടിച്ച സർക്യൂട്ട് ബോർഡ്കൂടാതെ SoloPSB പ്രോഗ്രാം തന്നെ electro-labs.com-ൽ നിന്ന് ഡൗൺലോഡ് ചെയ്യാവുന്നതാണ്. Arduino Uno-യിലെ സ്ഥാനത്തിനായി ഷീൽഡിന്റെ അളവുകൾ തിരഞ്ഞെടുത്തു. എൽഇഡികൾ, പുഷ്-ബട്ടൺ ഇന്റർഫേസ്, എൽസിഡി ഡിസ്പ്ലേ, ബാറ്ററി കണക്ടറുകൾ എന്നിവ സൗകര്യാർത്ഥം മുകളിൽ സ്ഥിതിചെയ്യുന്നു. മറ്റെല്ലാ ഘടകങ്ങളും ഷീൽഡിന്റെ വിപരീത വശത്താണ് സ്ഥിതി ചെയ്യുന്നത്.

ചാർജിംഗ് പാരാമീറ്ററുകൾ നൽകാനും ചാർജിംഗ് പ്രക്രിയ നിയന്ത്രിക്കാനും ഉപയോക്താവിനെ അനുവദിക്കുന്ന നാല് പേജുകൾ കാണിക്കുന്നതിനാണ് LCD ഡിസ്പ്ലേ പ്രോഗ്രാം ചെയ്തിരിക്കുന്നത്. ആദ്യ പേജിൽ, ഉപയോക്താവിന് കട്ട്-ഓഫ് വോൾട്ടേജും പരമാവധി ചാർജ് കറന്റും സജ്ജമാക്കാൻ കഴിയും, ബാറ്ററി സ്റ്റാറ്റസ് പേജിലേക്ക് പോയി ചാർജിംഗ് ആരംഭിക്കുക. ഓപ്‌ഷനുകൾക്കിടയിൽ നീങ്ങാൻ മുകളിലേക്കും താഴേക്കുമുള്ള ബട്ടണുകൾ ഉപയോഗിക്കുന്നു, കൂടാതെ പാരാമീറ്ററുകൾ മാറ്റാനും ഓപ്ഷനുകൾ തിരഞ്ഞെടുക്കാനും വലത്, ഇടത് ബട്ടണുകൾ ഉപയോഗിക്കുന്നു. രണ്ടാമത്തെ പേജ് ബാറ്ററി നില കാണിക്കുന്നു. അതിൽ നിങ്ങൾക്ക് ബാറ്ററിയിലെ നിലവിലെ വോൾട്ടേജ് കാണാം. മൂന്നാമത്തെ പേജ് ചാർജിംഗ് വോൾട്ടേജും കറന്റും കാണിക്കുന്നു. ഇടത് അല്ലെങ്കിൽ വലത് ക്ലിക്കിൽഈ പേജിൽ നിങ്ങൾക്ക് ചാർജിംഗ് പ്രക്രിയ നിർത്തി പാരാമീറ്റർ ക്രമീകരണ പേജിലേക്ക് മടങ്ങാം. ബാറ്ററി വോൾട്ടേജ് സെറ്റ് മൂല്യത്തിൽ എത്തുമ്പോൾ, ചാർജർ നിർത്തുകയും "ചാർജ്ജ് കംപ്ലീറ്റ്" എന്ന സന്ദേശം പ്രദർശിപ്പിക്കുകയും ചെയ്യുന്നു. പുറത്തുകടക്കാൻ, ഇടത് കീ അമർത്തുക.



ഹൈസ്‌കൂൾ ഫിസിക്‌സ് ക്ലാസ്സിൽ നിന്ന് നിങ്ങൾ ഓർക്കുന്ന ഒരു സാങ്കേതികവിദ്യയാണ് കാന്തിക ഇൻഡക്ഷൻ. വയർലെസ് ആയി വൈദ്യുതി കൈമാറാൻ, നിങ്ങൾക്ക് രണ്ട് കോയിലുകൾ ആവശ്യമാണ്: ഒരു ട്രാൻസ്മിറ്റർ കോയിലും റിസീവർ കോയിലും. ആൾട്ടർനേറ്റിംഗ് കറന്റ്ട്രാൻസ്മിറ്റർ കോയിലിൽ ഒരു കാന്തിക മണ്ഡലം സൃഷ്ടിക്കുന്നു, അത് റിസീവർ കോയിലിൽ ഒരു വോൾട്ടേജ് ഉണ്ടാക്കുന്നു. ഈ വോൾട്ടേജ് ഒരു മൊബൈൽ ഉപകരണം പവർ ചെയ്യാനോ ബാറ്ററി ചാർജ് ചെയ്യാനോ ഉപയോഗിക്കാം.


കുറവില്ല പ്രധാന ഘടകങ്ങൾനിങ്ങൾക്ക് സ്വയം നിർമ്മിക്കാൻ കഴിയുന്ന ഇൻഡക്‌ടറുകൾ ഉണ്ടാകും. ഈ ലളിതമായ കോയിലുകൾ ചെമ്പ് കമ്പിയിൽ നിന്ന് മുറിവുണ്ടാക്കുന്നു, അവയെ എയർ കോർ കോയിലുകൾ എന്ന് വിളിക്കുന്നു. ഞങ്ങളുടെ ആവശ്യത്തിനായി അത്തരമൊരു വിൻഡിംഗ് സൃഷ്ടിക്കുന്നത് വളരെ ലളിതമാണ്. ഏകദേശം 5 സെന്റീമീറ്റർ വ്യാസമുള്ള ഒരു വൃത്താകൃതിയിലുള്ള സിലിണ്ടർ കണ്ടെത്തുക, അതിന് ചുറ്റും വയർ വീശുക, അങ്ങനെ ഓരോ ടേണും മറ്റൊരു ടേണിനെ ഓവർലാപ്പ് ചെയ്യാതിരിക്കുക, എന്നാൽ അതേ സമയം മറ്റേ തിരിവിനോട് കഴിയുന്നത്ര അടുത്താണ്. ഒരു റൗണ്ട് സിലിണ്ടർ, ഉദാഹരണത്തിന്, ഒരു പിവിസി ട്യൂബ് ആകാം. ഘടന സുസ്ഥിരമായി നിലനിർത്താൻ നിങ്ങൾ 2-3 സ്ഥലങ്ങളിൽ ഡക്റ്റ് ടേപ്പ് അല്ലെങ്കിൽ ടേപ്പ് ഉപയോഗിക്കേണ്ടി വന്നേക്കാം.


Arduino, inductors എന്നിവയ്‌ക്ക് പുറമേ, ഞങ്ങൾക്ക് ഇത് ആവശ്യമാണ്: ഒരു NPN ട്രാൻസിസ്റ്റർ തരം 2N3055, ഒരു 1A ഡയോഡ് ബ്രിഡ്ജ് (ഡയോഡ് അസംബ്ലി, അവയ്ക്ക് നാല് ടെർമിനലുകൾ ഉണ്ട്), ഒരു LED, ഒരു 100-ohm റെസിസ്റ്റർ, രണ്ട് 47 nF കപ്പാസിറ്ററുകൾ, 9 V ബാറ്ററി വരെ ആർഡ്വിനോ പവർ ചെയ്യുക, കൂടാതെ പ്രോട്ടോടൈപ്പിംഗിനായി രണ്ട് ബോർഡുകളും. വയർലെസ് ഡാറ്റാ ട്രാൻസ്മിഷൻ ഉപകരണം സൃഷ്ടിക്കുന്നതിനുള്ള ഘടകങ്ങളെ ബന്ധിപ്പിക്കുന്നതിനുള്ള ഡയഗ്രം ചുവടെയുള്ള ചിത്രത്തിൽ കാണിച്ചിരിക്കുന്നു.



ഉപയോഗിച്ച് സർക്യൂട്ട് പരിശോധിക്കാം ലളിതമായ കോഡ് Arduino-യ്‌ക്ക് ചുവടെ നൽകിയിരിക്കുന്നു.


അസാധുവായ സജ്ജീകരണം () ( പിൻ മോഡ് (13, OUTPUT); ) അസാധുവായ ലൂപ്പ് () ( ഡിജിറ്റൽ റൈറ്റ് (13,HIGH); കാലതാമസം (0.5); ഡിജിറ്റൽ റൈറ്റ് (13,കുറഞ്ഞത്); കാലതാമസം (0.5); )

എന്നിരുന്നാലും, ഒരു ലളിതമായ വയർലെസ് പവർ ട്രാൻസ്ഫർ ഉപകരണം ഒരു Arduino ഇല്ലാതെ നിർമ്മിക്കാൻ കഴിയും. അടിസ്ഥാനപരമായി, നമുക്ക് ഒരു 2N2222 ട്രാൻസിസ്റ്റർ മാത്രമേ ഉപയോഗിക്കാൻ കഴിയൂ. അതിന്റെ അടിസ്ഥാന ടെർമിനലിനെ കോയിലിന്റെ ആദ്യ അറ്റത്തും അതിന്റെ കളക്ടറെ കോയിലിന്റെ മറ്റേ അറ്റത്തും ബന്ധിപ്പിക്കുക. എമിറ്റർ പിൻ ബാറ്ററിയുമായി ബന്ധിപ്പിച്ചിരിക്കുന്നു. തൽഫലമായി, അത്തരമൊരു ലളിതമായ ഡിസൈൻ ഇതുപോലെയാകാം:




    വെബ്സൈറ്റ് വിവര പദ്ധതിയിലുള്ള നിങ്ങളുടെ താൽപ്പര്യത്തിന് നന്ദി.
   നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടെങ്കിൽ ഒപ്പം ഉപയോഗപ്രദമായ വസ്തുക്കൾകൂടുതൽ തവണ പുറത്തിറങ്ങി, പരസ്യങ്ങൾ കുറവായിരുന്നു,
    ഞങ്ങളുടെ പ്രോജക്ടിന്റെ വികസനത്തിനായി എത്ര തുകയും സംഭാവന ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് പിന്തുണയ്ക്കാം.