Агуулгын хүснэгт:
- Алхам 1: Системийн блок диаграм
- Алхам 2: SLG46108 Ротари декодерын дизайн
- Алхам 3: SLG46826 сэнсний хянагчийн дизайн
- Алхам 4: Офсет тоолууртай ХОУХШ -ийн үе
- Алхам 5: Цагийн тарилга, цаг алгасах үүргийн мөчлөгийн хяналт
- Алхам 6: BUTTON оролт
- Алхам 7: Ажлын мөчлөгийг эргүүлэхээс урьдчилан сэргийлэх
- Алхам 8: I2C ашиглан үүргийн мөчлөгийн хяналт
- Алхам 9: Тахометрийг унших
- Алхам 10: Гадаад хэлхээний дизайн
- Алхам 11: ПХБ -ийн дизайн
- Алхам 12: C# програм
Видео: Компьютерийн фенүүдэд зориулсан DIY ХОУХШ -ийн хяналт: 12 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Энэхүү зааварчилгаа нь бүрэн ажиллагаатай 12 В-ийн PC-ийн сэнс ХОУХ-ны хянагч бүтээх талаар тайлбарласан болно. Энэхүү загвар нь 3 ширхэг 3 зүү бүхий 16 хүртэлх компьютерийн сэнсийг хянах боломжтой. Энэхүү загвар нь фен бүрийн ажлын мөчлөгийг хянахын тулд Dialog GreenPAK ™ хосолсон дохионы хос IC-ийг ашигладаг. Түүнчлэн сэнсний хурдыг өөрчлөх хоёр аргыг багтаасан болно.
a. квадрат/эргэдэг кодлогчтой
б. GreenPAK -тэй I2C -ээр холбогддог C# програмд суурилсан Windows програмын тусламжтайгаар.
Компьютерийн фенүүдэд зориулсан ХОУХШ -ийн хяналтыг бий болгохын тулд GreenPAK чипийг хэрхэн програмчилсныг ойлгохын тулд шаардлагатай алхамуудыг бид доор тайлбарлав. Гэсэн хэдий ч хэрэв та програмчлалын үр дүнг авахыг хүсч байвал GreenPAK програмыг татаж аваад аль хэдийн дууссан GreenPAK дизайны файлыг үзнэ үү. GreenPAK Development Kit -ийг компьютер дээрээ залгаж, компьютерийн фенүүдэд зориулсан ХОУХ -ны хяналтанд зориулагдсан IC үүсгэхийн тулд програмыг дарна уу.
Алхам 1: Системийн блок диаграм
Алхам 2: SLG46108 Ротари декодерын дизайн
Эргэдэг кодлогч нь фенүүдийн ажиллах мөчлөгийг гараар нэмэгдүүлэх эсвэл багасгахад ашиглагддаг. Энэ төхөөрөмж нь 90 ° зайтай А суваг ба В сувгийн гаралт дээр импульс гаргадаг. Ротари кодлогч хэрхэн ажилладаг талаар нэмэлт мэдээлэл авахыг хүсвэл AN-1101: Unlocked Quadrature Decoder-ийг үзнэ үү.
A болон B сувгийн дохиог боловсруулж цагийн зүүний эсрэг (CCW) ба цагийн зүүний дагуу (CW) импульс болгон гаргахын тулд Dialog GreenPAK SLG46108 ашиглан цагийн эргэлт тайлагч үүсгэж болно.
А суваг нь В сувгийг хөтлөхөд дизайн нь CW дээр богино импульс гаргадаг. В суваг нь А сувгийг хөтлөхдөө CCW дээр богино импульс гаргадаг
Гурван DFF нь А сувгийн оролтыг цагтай синхрончилдог. Үүний нэгэн адил OUT0 -ийг хоёр DFF, OUT1 -ийг гурван DFF болгож тохируулсан хоолойн саатал нь B сувгийн ижил функцийг бий болгодог.
CW ба CCW гаралтыг бий болгохын тулд цөөн тооны LUT -ийг ашиглана уу.
GreenPAK Rotary Decoder нь A ба B оролтын импульсийг хүлээн авч CW ба CCW импульсийг Зураг 4 -т үзүүлсний дагуу гаргана.
XOR хаалганы дараах хэлхээ нь эргэлтийн кодлогчтой холбоотой алдаа гаргах боломжийг олгодог CW импульс ба CCW импульс хэзээ ч байхгүй байх болно. CW ба CCW дохионууд дээр 8 мс унах ирмэгийн хоцрогдол нь тэднийг 8 мс дээр нэмэх нь нэг цагийн мөчлөгт байлгахад хүргэдэг бөгөөд энэ нь SLG46826 GreenPAK -ийн доод хэсэгт шаардлагатай байдаг.
Алхам 3: SLG46826 сэнсний хянагчийн дизайн
Алхам 4: Офсет тоолууртай ХОУХШ -ийн үе
ХОУХ -ны дохиог үүсгэхэд ижил хугацаатай хос офсет тоолуурыг ашигладаг. Эхний тоолуур нь DFF -ийг тохируулдаг бөгөөд хоёр дахь нь үүнийг дахин тохируулж, Зураг 6 ба Зураг 7 -т үзүүлсэн PWM дохиоллын үүргийг гүйцэтгэдэг.
CNT6 нь DFF10 -ийг тохируулдаг бөгөөд CNT1 -ийн урвуу гаралт нь DFF10 -ийг дахин тохируулдаг. 18 ба 19 -р зүү нь ХОУХШ -ийн дохиог гадаад хэлхээнд гаргахад ашигладаг
Алхам 5: Цагийн тарилга, цаг алгасах үүргийн мөчлөгийн хяналт
Сэнс хянагч нь CW ба CCW дохиог эргэлдэгч декодерын оролт болгон хүлээн авч сэнсний хурдыг хянадаг ХОУХ -ны дохиог нэмэгдүүлэх эсвэл багасгахад ашигладаг. Үүнийг хэд хэдэн дижитал логик бүрэлдэхүүн хэсгүүдийн тусламжтайгаар олж авдаг.
CW импульс хүлээн авах үед ажлын мөчлөгийг нэмэгдүүлэх шаардлагатай. Энэ нь CNT6 блок руу нэмэлт цагийн импульс оруулах замаар хийгддэг бөгөөд ингэснээр өөр цаг хугацаанаас эрт нэг цагийн мөчлөг гаргадаг. Энэ процессыг 8 -р зурагт үзүүлэв.
CNT1 -ийг тогтмол хурдаар ажиллуулж байгаа боловч CNT6 -д хэд хэдэн нэмэлт цаг суулгасан болно. Лангуун дээр нэмэлт цаг байх тоолонд гаралтыг нэг цагийн хугацаанд зүүн тийш шилжүүлдэг.
Үүний эсрэгээр үүргийн мөчлөгийг багасгахын тулд 9 -р зурагт үзүүлсэн шиг CNT6 -ийн цагийн импульсийг алгасаарай. CNT1 нь тогтмол хурдаар ажилладаг хэвээр байгаа бөгөөд тоолуурыг төлөвлөсөн цагтаа хийгээгүй CNT6 -ийн цагны импульс алгассан байна. руу. Ийнхүү CNT6 -ийн гаралтыг нэг цагт баруун тийш түлхэж, гаралтын ХОУХ -ны үүргийн мөчлөгийг богиносгодог.
Цаг оруулах, цаг алгасах функцийг GreenPAK -ийн зарим тоон логик элементүүдийг ашиглан гүйцэтгэдэг. Хос түгжээ/ирмэг илрүүлэгч хослолыг бий болгохын тулд хос олон үйлдэлт блокуудыг ашигладаг. 4 битийн LUT0 нь ерөнхий цагийн дохио (CLK/8) болон тарилга хийх цаг эсвэл алгасах дохионы хоорондох холболтыг хийхэд хэрэглэгддэг. Энэ функцийг 7 -р алхамд илүү дэлгэрэнгүй тайлбарласан болно.
Алхам 6: BUTTON оролт
BUTTON оролт нь 20 ms -ээр таслагдана, дараа нь энэ чип сонгогдсон эсэхийг тодорхойлох түгжээг солиход ашигладаг. Хэрэв үүнийг сонгосон бол 4 битийн LUT нь цаг алгасах эсвэл тарилгын дохиог дамжуулдаг. Хэрэв чип сонгогдоогүй бол 4 битийн LUT нь CLK/8 дохиог дамжуулдаг.
Алхам 7: Ажлын мөчлөгийг эргүүлэхээс урьдчилан сэргийлэх
RS түгжээ нь 3 битийн LUT5 ба 3 битийн LUT3 нь офсет тоолуур эргэлддэг тийм олон цагийг шахах эсвэл алгасах боломжгүй эсэхийг шалгахад ашиглагддаг. Энэ нь системийг 100 % -ийн ажлын мөчлөгт оруулахаас сэргийлж, хэрэв өөр тарьсан цаг хүлээн авбал 1 % -ийн ажлын мөчлөгт шилжихээс зайлсхийх явдал юм.
RS түгжээ нь системийг эргүүлэхээс нэг цагийн зайд хол байх үед олон үйлдэлт блокуудын оролтыг түгжих замаар үүнийг урьдчилан сэргийлэх болно. Хос DFF нь PWM_SET ба PWM_nRST дохиог Зураг 11 -д үзүүлсэн шиг нэг цагийн хугацаагаар хойшлуулдаг.
Шаардлагатай логикийг бий болгохын тулд хос LUT ашигладаг. Хэрэв үүргийн мөчлөг маш бага байгаа тул хойшлуулсан PWM_SET дохио нь PWM_nRST дохиотой нэгэн зэрэг тохиолддог бол үүргийн мөчлөгийн цаашдын бууралт нь гулсалт үүсгэдэг.
Үүний нэгэн адил, хэрэв хүлээгдэж буй PWM_nRST дохио нь PWM_SET дохиотой нэгэн зэрэг тохиолддог үүргийн хамгийн их мөчлөгт ойртох юм бол үүргийн мөчлөгийг цаашид нэмэгдүүлэхгүй байх шаардлагатай. Энэ тохиолдолд систем 99 % -иас 1 % хүртэл эргэхгүй байхын тулд nRST дохиог хоёр цагийн мөчлөгөөр хойшлуул.
Алхам 8: I2C ашиглан үүргийн мөчлөгийн хяналт
Энэхүү загвар нь цаг алгасах/цаг шахахаас өөр ажлын мөчлөгийг хянах өөр аргыг агуулдаг. Гадны микроконтроллерийг ашиглан үүргийн мөчлөгийг тохируулахын тулд GreenPAK -д I2C команд бичих боломжтой.
I2C дээр үүргийн мөчлөгийг хянахын тулд хянагч нь тодорхой тушаалын дарааллыг гүйцэтгэхийг шаарддаг. Эдгээр тушаалуудыг 1 -р хүснэгтэд үзүүлэв. "X" нь өөрчлөгдөхгүй битийг, "[" нь START битийг, "]" нь STOP битийг илэрхийлнэ.
PDLY блок нь CLK/8 дохионы унах ирмэг дээр богино идэвхтэй өндөр импульс үүсгэдэг бөгөөд үүнийг CLK/8 гэж нэрлэдэг. Энэ дохиог DFF14 -ийг тогтмол давтамжтайгаар ажиллуулахад ашигладаг. I2C_SET нь асинхрон байдлаар өндөр байх үед! CLK/8 -ийн дараагийн өсөн нэмэгдэж буй ирмэг нь DFF14 -ийг HIGH гарахад хүргэдэг бөгөөд энэ нь CNT5 OneShot -ийг өдөөдөг. OneShot нь 1 -р хүснэгтийн "CNT5 руу бичих" I2C командын дагуу хэрэглэгчийн бичсэн цагийн мөчлөгийн тоогоор ажилладаг. Энэ тохиолдолд энэ нь 10 цагийн мөчлөг юм. OneShot нь 25 МГц-ийн осцилляторыг яг тодорхой хугацаанд ажиллуулах боломжийг олгодог бөгөөд ингэснээр 3 битийн LUT0 нь CNT5-д бичигдсэн цагийн мөчлөгийн тоог хүлээн авдаг.
Зураг 15-д эдгээр дохионуудыг харуулсан бөгөөд улаан цаг нь 3 битийн LUT0 руу илгээгддэг бөгөөд үүнийг CNT6 (PWM_SET тоолуур) руу дамжуулж, үүргийн мөчлөгийн үеийг бий болгодог.
Алхам 9: Тахометрийг унших
Хэрэв хүсвэл хэрэглэгч тахометрийн утгыг I2C -ээс уншиж, CNT2 -ийн утгыг уншсанаар сэнс хэрхэн хурдан эргэж байгааг хянах боломжтой. CNT2 нь ACMP0H -ийг дээшлэх тусам нэмэгддэг бөгөөд үүнийг I2C командын тусламжтайгаар асинхрон байдлаар тохируулж болно. Энэ бол нэмэлт шинж чанар бөгөөд ACMP0H -ийн босго хэмжээг тухайн сэнсний техникийн үзүүлэлтүүдийн дагуу тохируулах шаардлагатай болохыг анхаарна уу.
Алхам 10: Гадаад хэлхээний дизайн
Гадаад хэлхээ нь маш энгийн. GreenPAK -ийн Pin6 -тай холбогдсон товчлуур байгаа бөгөөд энэ төхөөрөмжийг эргүүлэх удирдлагад сонгосон эсэхийг шалгах боломжтой бөгөөд Pin12 ба Pin13 -т холбогдсон LED нь төхөөрөмжийг сонгосон эсэхийг заана.
Сэнс 12 В -оос унтардаг тул түүний шилжүүлэлтийг хянахын тулд хос FETs шаардлагатай болно. GreenPAK -ийн Pin18 ба Pin19 нь nFET хөтөчийг жолооддог. NFET -ийг асаахад энэ нь сэнсийг +12 В -тэй холбосон pFET LOW -ийн хаалгыг татаж авдаг. +12 В -оос
Алхам 11: ПХБ -ийн дизайн
Загварын загварыг гаргахын тулд хэд хэдэн ПХБ -ийг угсарчээ. Зүүн талд байгаа ПХБ бол "сэнсний хянагч" бөгөөд эргэдэг кодлогч, 12 В үүр, SLG46108 GreenPAK, FT232H USB -ээс I2C таслах самбарын холбогчийг байрлуулдаг. Баруун талын хоёр ПХБ нь SLG46826 GreenPAK, товчлуур, унтраалга, LED, сэнсний толгой зэргийг агуулсан "Сэнсний самбар" юм.
Фен самбар бүр зүүн талд нь ороосон эрэгтэй толгойтой, баруун талд нь эмэгтэй толгойтой байдаг. Сэнсний самбар бүрийг хоёр фенийг бие даан удирдах нөөцөөр дүүргэж болно.
Алхам 12: C# програм
C# програмыг FT232H USB-I2C гүүрээр дамжуулан сэнсний самбартай харилцах зорилгоор бичсэн болно. Энэхүү програмыг ашиглан фен бүрийн давтамжийг I2C командыг ашиглан тохируулж болно.
Аппликешн нь бүх 16 I2C хаягийг секундэд нэг удаа дуудаж, GUI -ийг байгаа боолын хаягаар дүүргэдэг. Энэ жишээнд Fan 1 (slave address 0001) ба Fan 3 (slave address 0011) самбартай холбогдсон байна. Сэнс бүрийн ажлын мөчлөгийг дангаар нь тохируулахын тулд гулсагчийн баарыг хөдөлгөж эсвэл гулсагчийн баарны доорх текст хайрцагт 0-256 хүртэлх утгыг оруулна.
Дүгнэлт
Энэхүү загварыг ашигласнаар 16 хүртэлх сэнсийг бие даан удирдах боломжтой (учир нь I2C -ийн 16 боломжит хаяг байдаг) эргэдэг кодлогч эсвэл C# програмын тусламжтайгаар. Хосолсон тоолууртай ХОУХШ -ийн дохиог хэрхэн яаж үүсгэх, мөн энэ дохионы үүргийн мөчлөгийг гулсахгүйгээр хэрхэн нэмэгдүүлэх, хэрхэн бууруулахыг харуулсан болно.
Зөвлөмж болгож буй:
Дохио зангаа, мэдрэгчтэй оролтыг ашиглан компьютерийн хяналт: 3 алхам
Дохио зангаа, мэдрэгчтэй оролтыг ашиглан компьютерийн хяналт: Энэ бол шинэ Piksey Atto -ийн демо төсөл юм. Бид TTP224 мэдрэгчтэй IC болон APDS-9960 дохионы модулийг ашиглан компьютерийг хянадаг. Бид ноорогоо Atto дээр байршуулдаг бөгөөд энэ нь USB гар шиг ажилладаг бөгөөд дараа нь тохирох түлхүүр кодыг илгээдэг
ESP32 -тай ХОУХШ - Arduino IDE бүхий ESP 32 дээр ХОУХШ -тай LED гэрэлтүүлэх: 6 алхам
ESP32 -тай ХОУХШ | Arduino IDE бүхий ESP 32 дээр ХОУХШ -тай LED гэрэлтүүлэх: Энэхүү зааварчилгаанд бид Arduino IDE ашиглан ESP32 ашиглан ХОУХШ -ийн дохиог хэрхэн үүсгэхийг харах болно. PWM нь үндсэндээ ямар ч MCU -аас аналог гаралт үүсгэхэд ашиглагддаг бөгөөд аналог гаралт нь 0V -аас 3.3V -ийн хооронд байж болно (esp32 тохиолдолд) & -аас
Arduino -тэй аквариумын гэрэл ХОУХШ: 3 алхам
Akduarium Light PWM with Arduino: Би саяхан аквариумын гэрлээ флюресцент гэрлээс LED гэрэлтүүлэгт шилжүүлж, үүр цайхаас үд дунд хүртэл гэрэл аажмаар нэмэгдэж, үдшийн бүрий болох хүртэл багасах байгалийн орчныг дуурайхаар шийдлээ. Шөнө тэнд
Flyback трансформатор эсвэл чанга яригч дээр ХОУХШ -ийг ашиглан ADC ашиглан Arduino -той дуу тоглуулах: 4 алхам
Flyback трансформатор эсвэл чанга яригч дээр PWM хийх ADC ашиглан Arduino -той хамт дуу тоглоорой: Сайн байна уу залуусаа, энэ бол миний зааж өгсөн хоёр дахь хэсэг юм (энэ нь маш хэцүү байсан), үндсэндээ энэ төсөлд би Arduino дээрх ADC болон TIMERS -ийг ашигласан. Аудио дохиог PWM дохио болгон хөрвүүлэх нь миний өмнөх зааварчилгаанаас хамаагүй хялбар юм
Дөрвөн өнгийн LED гэрэл нь ХОУХШ -ийг багасгах: 12 алхам (зурагтай)
Дөрвөн өнгийн LED гэрэл нь ХОУХШ -ийн харанхуйлах чадвартай: Энэ нь миний ашиглаж байсан компьютерийн явах эд анги дээр суулгасан өмнөх гэрлийн өргөтгөл юм. Энэ нь улаан, улаан, цэнхэр, цагаан өнгийн LED -ийг ялгах дөрвөн сувгийн ХОУХ -той. Өнгөний хольцын холимогийг хянах боломжтой болно гэдэг нь та үндэс өсөлт, навчийг хянах боломжтой гэсэн үг юм