Мазмуну:

Raspberry Pi үчүн CPU температурасына негизделген PWM жөнгө салынган күйөрман: 4 кадам (сүрөттөр менен)
Raspberry Pi үчүн CPU температурасына негизделген PWM жөнгө салынган күйөрман: 4 кадам (сүрөттөр менен)

Video: Raspberry Pi үчүн CPU температурасына негизделген PWM жөнгө салынган күйөрман: 4 кадам (сүрөттөр менен)

Video: Raspberry Pi үчүн CPU температурасына негизделген PWM жөнгө салынган күйөрман: 4 кадам (сүрөттөр менен)
Video: Octopus Max EZ v1.0 - Klipper MainSail Quick Install 2024, Ноябрь
Anonim
Rawberry Pi үчүн CPU температурасына негизделген PWM жөнгө салынуучу күйөрман
Rawberry Pi үчүн CPU температурасына негизделген PWM жөнгө салынуучу күйөрман

Raspberry Pi үчүн көптөгөн учурлар CPUны муздатууга жардам берүү үчүн бир аз 5В желдеткич менен келет. Бирок, бул күйөрмандар, адатта, абдан ызы -чуу болушат жана көп адамдар ызы -чууну басаңдатуу үчүн 3V3 төөнөгүчүнө сайышат. Бул күйөрмандар адатта 200mA үчүн бааланат, бул RPiдеги 3V3 жөндөгүчү үчүн абдан жогору. Бул долбоор сизге CPU температурасына негизделген күйөрман ылдамдыгын кантип жөнгө салууну үйрөтөт. Бул теманы камтыган көптөгөн окуу куралдарынан айырмаланып, биз күйөрманы күйгүзүп же өчүрбөйбүз, бирок Python аркылуу негизги компьютерде болгондой ылдамдыгын көзөмөлдөйбүз.

1 -кадам: Тетиктер керек

Бул долбоор үчүн биз, адатта, ушул сыяктуу Amazonдон таба турган хоббиисттер үчүн электроника комплекттерине кирген бир нече компоненттерди гана колдонобуз.

  • Raspberry Pi Raspbian менен иштейт (бирок башка дистрибьюторлор менен иштеши керек).
  • 5V желдеткичи (бирок 12V күйөрманы адаптацияланган транзистор жана 12В электр энергиясы менен колдонулушу мүмкүн).
  • NPN транзистору, жок дегенде 300mA, 2N2222A сыяктуу колдойт.
  • 1K каршылыгы.
  • 1 диод.

Кошумча, компоненттерди корпустун ичине салуу үчүн (бирок азырынча жасала элек):

  • Компоненттерди ширетүү үчүн кичинекей протоборд.
  • Тактаны коргоо үчүн чоң жылуулук кичирейет.

2 -кадам: Электр байланыштары

Электр байланыштары
Электр байланыштары
Электр байланыштары
Электр байланыштары
Электр байланыштары
Электр байланыштары

Резистор эки жактан туташтырылышы мүмкүн, бирок транзистор менен диоддун багыты жөнүндө этият болуңуз. Диоддун катоду +5V (кызыл) зымга, ал эми анод GND (кара) зымга туташтырылышы керек. Эмиттер, база жана коллектор төөнөгүчтөрү үчүн транзистордук документти текшериңиз. Күйөрман жери Коллекторго, ал эми Rpi жери Эмитентке туташышы керек

Желдеткичти көзөмөлдөө үчүн коллектордун ачык конфигурациясында колдонула турган транзисторду колдонушубуз керек. Муну кылуу менен бизде желдеткичтен малина пиинин жерге чейинки зымын туташтыруучу же ажыратуучу которгуч бар.

NPN BJT транзистору анын дарбазасында агып жаткан токко жараша өткөрөт. Коллектордон (C) эмитентке (E) өтүүгө уруксат берилген ток:

Ic = B * Ib

Ic - коллектор аркылуу эмитент аркылуу агып өтүүчү ток, Ib - эмитентке база аркылуу өтүүчү ток, B (бета) - ар бир транзисторго жараша баалуулук. Биз болжол менен В = 100.

Биздин күйөрманыбыз 200мА деп баалангандыктан, бизге транзистордун базасы аркылуу жок дегенде 2мА керек. Негиз менен эмитенттин (Vbe) ортосундагы чыңалуу туруктуу деп эсептелет жана Vbe = 0, 7V. Бул GPIO күйүп турганда, бизде резистордо 3.3 - 0.7 = 2.6V болот. Ошол резистор аркылуу 2мАга ээ болуу үчүн бизге 2,6 / 0,002 = 1300 Ом максималдуу каршылык керек. Биз жөнөкөйлөтүү жана катанын чегин сактоо үчүн 1000 омдук резисторду колдонобуз. Бизде GPIO пин аркылуу 2.6мА болот, бул толугу менен коопсуз.

Желдеткич негизинен электрдик мотор болгондуктан, бул индуктивдүү заряд. Бул транзистор өткөрүүнү токтоткондо, вентилятордогу ток агып кете берет, анткени индуктивдүү заряд токту туруктуу сактоого аракет кылат. Бул желдеткичтин жерге төөнөгүчүндө жогорку чыңалууга алып келет жана транзисторду бузушу мүмкүн. Мына ошондуктан бизге вентиляторго параллелдүү диод керек, ал мотор аркылуу токтун тынымсыз агып турушун камсыздайт. Диоддун бул түрү Flywheel диод деп аталат

3 -кадам: Күйөрман ылдамдыгын көзөмөлдөө программасы

Күйөрман ылдамдыгын көзөмөлдөө үчүн, биз RPi. GPIO китепканасынан программалык PWM сигналын колдонобуз. PWM сигналы электр кыймылдаткычтарын башкарууга жакшы ылайыкташтырылган, анткени алардын реакция убактысы PWM жыштыгына салыштырмалуу өтө жогору.

Терминалда чуркап FAN_MIN маанисин табуу үчүн calib_fan.py программасын колдонуңуз:

python calib_fan.py

0дөн 100% га чейинки бир нече баалуулуктарды текшериңиз (20% тегерегинде болушу керек) жана күйөрманыңыз күйгүзүү үчүн минималдуу маанини караңыз.

Сиз коддун башында температура менен күйөрман ылдамдыгынын ортосундагы кат алышууну өзгөртө аласыз. SpeedSteps баалуулуктары сыяктуу көп tempSteps болушу керек. Бул көбүнчө PC аналык платаларында колдонулган ыкма, Temp / Speed 2 огунун графигиндеги чекиттерди жылдырат.

4 -кадам: Программаны ишке киргизүүдө иштетиңиз

Программаны ишке киргизүүдө автоматтык түрдө иштетүү үчүн, мен баш скрипт түздүм, анда мен каалаган бардык программаларды коюп, андан кийин rc.locale менен баштоодо бул баш сценарийди ишке киргизем.

  1. Каталог/home/pi/Scripts/түзүңүз жана fan_ctrl.py файлын ошол каталогдун ичине коюңуз.
  2. Ошол эле каталогдо launcher.sh аттуу файлды түзүңүз жана төмөндөгү скриптти көчүрүңүз.
  3. /Etc/rc.locale файлын түзөтүңүз жана "0 чыгуу" алдында жаңы сапты кошуңуз: sudo sh '/home/pi/Scripts/launcher.sh'

launcher.sh скрипти:

#!/bin/sh #launcher.sh #үй каталогуна, андан кийин бул каталогго өтүңүз, андан кийин python скриптин аткарыңыз, андан кийин homelocalecd/cd/home/pi/Scripts/sudo python3./fan_ctrl.py & cd/

Эгерде сиз аны OSMC менен колдонууну кааласаңыз, анда аны systemd менен кызмат катары башташыңыз керек.

  1. Fanctrl.service файлын жүктөп алыңыз.
  2. Python файлыңыздын жолун текшериңиз.
  3. Fanctrl.service кызматын/lib/systemd/системасына жайгаштырыңыз.
  4. Акырында, кызматты sudo systemctl менен күйгүзүү fanctrl.service.

Бул ыкма коопсузураак, анткени колдонуучу же система тарабынан өлтүрүлгөндө программа автоматтык түрдө кайра башталат.

Сунушталууда: