ការប្រើប្រាស់ថាមពល LCD ដែលអាចលៃតម្រូវបានដោយផ្អែកលើ DWIN T5L ASIC

—— ចែករំលែកពី DWIN Froum

ការប្រើប្រាស់បន្ទះឈីប DWIN T5L1 ជាស្នូលគ្រប់គ្រងនៃម៉ាស៊ីនទាំងមូល ទទួល និងដំណើរការការប៉ះ ការទិញយក ADC ព័ត៌មានគ្រប់គ្រង PWM និងជំរុញអេក្រង់ LCD ទំហំ 3.5 អ៊ីង ដើម្បីបង្ហាញស្ថានភាពបច្ចុប្បន្នក្នុងពេលវេលាជាក់ស្តែង។គាំទ្រការលៃតម្រូវការប៉ះពីចម្ងាយនៃពន្លឺប្រភពពន្លឺ LED តាមរយៈម៉ូឌុលវ៉ាយហ្វាយ និងគាំទ្រសំឡេងរោទិ៍។

លក្ខណៈពិសេសនៃកម្មវិធី៖

1. ទទួលយកបន្ទះឈីប T5L ដើម្បីដំណើរការនៅប្រេកង់ខ្ពស់ គំរូអាណាឡូក AD មានស្ថេរភាព ហើយកំហុសគឺតូច។

2. គាំទ្រ TYPE C ភ្ជាប់ដោយផ្ទាល់ទៅកុំព្យូទ័រសម្រាប់ការបំបាត់កំហុស និងការដុតកម្មវិធី។

3. គាំទ្រចំណុចប្រទាក់ស្នូល OS ដែលមានល្បឿនលឿន ច្រកប៉ារ៉ាឡែល 16 ប៊ីត។ច្រក UI ស្នូល PWM, ច្រក AD នាំមុខ ការរចនាកម្មវិធីដែលមានតម្លៃទាប មិនចាំបាច់បន្ថែម MCU បន្ថែមទេ។

4. គាំទ្រប្រព័ន្ធ WiFi, ការបញ្ជាពីចម្ងាយប៊្លូធូស;

5. គាំទ្រ 5 ~ 12V DC វ៉ុលធំទូលាយនិងការបញ្ចូលជួរធំទូលាយ

រូបភាព1

1.1 ដ្យាក្រាមគ្រោងការណ៍

រូបភាព ២

1.2 បន្ទះ PCB

រូបភាព ៣

1.3 ចំណុចប្រទាក់អ្នកប្រើ

សេចក្តី​ណែនាំ​នៃ​ការ​អាម៉ាស់​:

(1) ការរចនាសៀគ្វីផ្នែករឹង

រូបភាព ៤

1.4 ដ្យាក្រាមសៀគ្វី T5L48320C035

1. ការផ្គត់ផ្គង់ថាមពលតក្ក MCU 3.3V: C18, C26, C27, C28, C29, C31, C32, C33;

2. ការផ្គត់ផ្គង់ថាមពលស្នូល MCU 1.25V: C23, C24;

3. ការផ្គត់ផ្គង់ថាមពលអាណាឡូក MCU 3.3V: C35 គឺជាការផ្គត់ផ្គង់ថាមពលអាណាឡូកសម្រាប់ MCU ។នៅពេលវាយអក្សរ ស្នូល 1.25V និងដីតក្កវិជ្ជាអាចបញ្ចូលគ្នាជាមួយគ្នា ប៉ុន្តែដីអាណាឡូកត្រូវតែបំបែកចេញពីគ្នា។ដីអាណាឡូក និងដីឌីជីថលគួរតែត្រូវបានប្រមូលនៅបង្គោលអវិជ្ជមាននៃទិន្នផល LDO capacitor ធំ ហើយបង្គោលវិជ្ជមានអាណាឡូកក៏គួរតែត្រូវបានប្រមូលនៅបង្គោលវិជ្ជមាននៃ LDO capacitor ធំផងដែរ ដូច្នេះសំណាក AD សំលេងរំខានត្រូវបានបង្រួមអប្បបរមា។

4. សៀគ្វីទទួលសញ្ញាអាណាឡូក AD: CP1 គឺជាឧបករណ៍បំប្លែង AD analog input capacitor ។ដើម្បីកាត់បន្ថយកំហុសឆ្គងនៃគំរូ ដីអាណាឡូក និងដីឌីជីថលរបស់ MCU ត្រូវបានបំបែកដោយឯករាជ្យ។បង្គោលអវិជ្ជមាននៃ CP1 ត្រូវតែភ្ជាប់ទៅនឹងដីអាណាឡូកនៃ MCU ជាមួយនឹង impedance អប្បបរមា ហើយ capacitors ប៉ារ៉ាឡែលពីរនៃ crystal oscillator ត្រូវបានភ្ជាប់ទៅនឹងដីអាណាឡូកនៃ MCU ។

5. សៀគ្វី Buzzer: C25 គឺជា capacitor ផ្គត់ផ្គង់ថាមពលសម្រាប់ buzzer ។buzzer គឺជាឧបករណ៍ inductive ហើយវានឹងមានចរន្តខ្ពស់បំផុតក្នុងអំឡុងពេលប្រតិបត្តិការ។ដើម្បីកាត់បន្ថយកម្រិតកំពូល វាចាំបាច់ក្នុងការកាត់បន្ថយចរន្ត MOS drive នៃ buzzer ដើម្បីធ្វើឱ្យបំពង់ MOS ដំណើរការក្នុងតំបន់លីនេអ៊ែរ ហើយរចនាសៀគ្វីដើម្បីឱ្យវាដំណើរការក្នុងរបៀបប្ដូរ។ចំណាំថា R18 គួរតែត្រូវបានភ្ជាប់ស្របគ្នានៅចុងទាំងពីរនៃ buzzer ដើម្បីកែតម្រូវគុណភាពសំឡេងរបស់ buzzer និងធ្វើឱ្យ buzzer ស្តាប់ទៅមានភាពស្រទន់ និងរីករាយ។

6. សៀគ្វីវ៉ាយហ្វាយ៖ គំរូបន្ទះសៀគ្វីវ៉ាយហ្វាយ ESP32-C ជាមួយវ៉ាយហ្វាយ + ប៊្លូធូស + BLE ។នៅលើខ្សែភ្លើងដីថាមពល RF និងដីសញ្ញាត្រូវបានបំបែក។

រូបភាព 5

1.5 ការរចនាសៀគ្វីវ៉ាយហ្វាយ

នៅក្នុងរូបភាពខាងលើផ្នែកខាងលើនៃថ្នាំកូតទង់ដែងគឺជារង្វិលជុំដីថាមពល។រង្វិលជុំដីឆ្លុះបញ្ចាំងពីអង់តែនវ៉ាយហ្វាយត្រូវតែមានផ្ទៃធំទៅនឹងដីថាមពល ហើយចំណុចប្រមូលផ្តុំនៃដីថាមពលគឺជាបង្គោលអវិជ្ជមាននៃ C6 ។ត្រូវតែផ្តល់ចរន្តដែលឆ្លុះបញ្ចាំងរវាងថាមពល និងអង់តែនវ៉ាយហ្វាយ ដូច្នេះត្រូវតែមានថ្នាំកូតទង់ដែងនៅក្រោមអង់តែនវ៉ាយហ្វាយ។ប្រវែងនៃថ្នាំកូតទង់ដែងលើសពីប្រវែងផ្នែកបន្ថែមនៃអង់តែនវ៉ាយហ្វាយ ហើយផ្នែកបន្ថែមនឹងបង្កើនភាពប្រែប្រួលនៃវ៉ាយហ្វាយ។ចំណុចនៅលើបង្គោលអវិជ្ជមាននៃ C2 ។ផ្ទៃធំនៃទង់ដែងអាចការពារសំលេងរំខានដែលបណ្តាលមកពីវិទ្យុសកម្មអង់តែន WiFi ។ដីទង់ដែងចំនួន 2 ត្រូវបានបំបែកនៅលើស្រទាប់ខាងក្រោម ហើយត្រូវបានប្រមូលទៅកាន់បន្ទះកណ្តាលនៃ ESP32-C តាមរយៈការឆ្លងកាត់។ដីថាមពល RF ត្រូវការ impedance ទាបជាង signal ground loop ដូច្នេះមាន 6 vias ពី power ground ទៅ chip pad ដើម្បីធានាបាននូវ impedance ទាបគ្រប់គ្រាន់។រង្វិលជុំដីរបស់គ្រីស្តាល់លំយោលមិនអាចមានថាមពល RF ហូរកាត់វាបានទេ បើមិនដូច្នេះទេ លំយោលគ្រីស្តាល់នឹងបង្កើតប្រេកង់ញ័រ ហើយហ្វ្រេកង់វ៉ាយហ្វាយនឹងមិនអាចផ្ញើ និងទទួលទិន្នន័យបានទេ។

7. Backlight LED power supply circuit: SOT23-6LED driver chip គំរូ។ការផ្គត់ផ្គង់ថាមពល DC/DC ទៅ LED ដោយឯករាជ្យបង្កើតជារង្វិលជុំ ហើយដី DC/DC ត្រូវបានភ្ជាប់ទៅនឹងដី 3.3V LOD ។ដោយសារស្នូលច្រក PWM2 ត្រូវបានឯកទេស វាបញ្ចេញសញ្ញា 600K PWM ហើយ RC ត្រូវបានបន្ថែមដើម្បីប្រើលទ្ធផល PWM ជាឧបករណ៍បញ្ជា ON/OFF ។

8. ជួរបញ្ចូលវ៉ុល៖ ដំណាក់កាលចុះក្រោម DC/DC ចំនួនពីរត្រូវបានរចនាឡើង។ចំណាំថារេស៊ីស្តង់ R13 និង R17 នៅក្នុងសៀគ្វី DC/DC មិនអាចលុបចោលបានទេ។បន្ទះសៀគ្វី DC/DC ទាំងពីរគាំទ្រការបញ្ចូលរហូតដល់ 18V ដែលងាយស្រួលសម្រាប់ការផ្គត់ផ្គង់ថាមពលខាងក្រៅ។

9. ច្រកបំបាត់កំហុស USB TYPE C៖ TYPE C អាចត្រូវបានដោត និងដកដោតទៅមុខ និងថយក្រោយ។ការបញ្ចូលការបញ្ជូនបន្តទាក់ទងជាមួយបន្ទះឈីប WIFI ESP32-C ដើម្បីរៀបចំបន្ទះឈីប WIFI ។ការបញ្ចូលបញ្ច្រាសទាក់ទងជាមួយ XR21V1410IL16 ដើម្បីសរសេរកម្មវិធី T5L ។TYPE C គាំទ្រការផ្គត់ផ្គង់ថាមពល 5V ។

10. ការទំនាក់ទំនងតាមច្រកប៉ារ៉ាឡែល៖ ស្នូល T5L OS មានច្រក IO ឥតគិតថ្លៃជាច្រើន ហើយការទំនាក់ទំនងច្រកប៉ារ៉ាឡែល 16 ប៊ីតអាចត្រូវបានរចនា។រួមផ្សំជាមួយពិធីការច្រកប៉ារ៉ាឡែល ST ARM FMC វាគាំទ្រការអាន និងសរសេរសមកាលកម្ម។

11. ការរចនាចំណុចប្រទាក់ល្បឿនលឿន LCM RGB៖ ទិន្នផល T5L RGB ត្រូវបានភ្ជាប់ដោយផ្ទាល់ទៅ LCM RGB ហើយភាពធន់នឹងសតិបណ្ដោះអាសន្នត្រូវបានបន្ថែមនៅកណ្តាល ដើម្បីកាត់បន្ថយការជ្រៀតជ្រែកនៃទឹក LCM ។នៅពេលខ្សែភ្លើង កាត់បន្ថយប្រវែងនៃការតភ្ជាប់ចំណុចប្រទាក់ RGB ជាពិសេសសញ្ញា PCLK និងបង្កើនចំណុចប្រទាក់ RGB PCLK, HS, VS, DE សាកល្បង។ច្រក SPI នៃអេក្រង់ត្រូវបានភ្ជាប់ទៅច្រក P2.4 ~ P2.7 នៃ T5L ដែលងាយស្រួលសម្រាប់ការរចនាកម្មវិធីបញ្ជាអេក្រង់។ដឹកនាំពិន្ទុតេស្ត RST, nCS, SDA, SCI ដើម្បីជួយសម្រួលដល់ការអភិវឌ្ឍន៍កម្មវិធីមូលដ្ឋាន។

(2) ចំណុចប្រទាក់ DGUS

រូបភាព ៦ រូបភាព ៧

1.6 ការគ្រប់គ្រងការបង្ហាញអថេរទិន្នន័យ

(3) ប្រព័ន្ធប្រតិបត្តិការ
//———————————— DGUS អាន និងសរសេរទម្រង់
រចនាសម្ព័ន្ធ typedef
{
u16 addr;// អាសយដ្ឋានអថេរ UI 16 ប៊ីត
u8 datLen;// ប្រវែងទិន្នន័យ ៨ ប៊ីត
u8 *pBuf;// ទ្រនិចទិន្នន័យ ៨ ប៊ីត
} UI_packTypeDef;// DGUS អាននិងសរសេរកញ្ចប់

//——————————- ការគ្រប់គ្រងការបង្ហាញអថេរទិន្នន័យ
រចនាសម្ព័ន្ធ typedef
{
u16 VP;
u16 X;
u16 Y;
u16 ពណ៌;
u8 Lib_ID;
u8 ទំហំពុម្ពអក្សរ;
u8 ការតម្រឹម;
u8 IntNum;
u8 DecNum;
u8 ប្រភេទ;
u8 LenUint;
u8 StringUinit[11];
} Number_spTypeDef;// រចនាសម្ព័ន្ធពិពណ៌នាអថេរទិន្នន័យ

រចនាសម្ព័ន្ធ typedef
{
Number_spTypeDef sp;// កំណត់ទ្រនិចការពិពណ៌នា SP
UI_packTypeDef spPack;// កំណត់អថេរ SP DGUS អាន និងសរសេរកញ្ចប់
UI_packTypeDef vpPack;// កំណត់អថេរ vp DGUS អាន និងសរសេរកញ្ចប់
} Number_HandleTypeDef;// រចនាសម្ព័ន្ធអថេរទិន្នន័យ

ជាមួយនឹងការកំណត់ចំណុចទាញអថេរទិន្នន័យពីមុន។បន្ទាប់កំណត់អថេរសម្រាប់ការបង្ហាញគំរូវ៉ុល៖
Number_HandleTypeDef Hsample;
u16 វ៉ុល_គំរូ;

ជាដំបូង ដំណើរការមុខងារចាប់ផ្តើម
លេខSP_Init(&Hsample,voltage_sample,0×8000);// 0 × 8000 នេះគឺជាទ្រនិចពិពណ៌នា
//—— អថេរទិន្នន័យដែលបង្ហាញពីរចនាសម្ព័ន្ធទ្រនិច SP ចាប់ផ្តើម ——
void NumberSP_Init(Number_HandleTypeDef *number,u8 *value, u16 numberAddr)
{
number->spPack.addr = numberAddr;
number->spPack.datLen = sizeof(number->sp);
number->spPack.pBuf = (u8 *)&number->sp;
        
Read_Dgus(&number->spPack);
number->vpPack.addr = number->sp.VP;
switch(number->sp.Type) // ប្រវែងទិន្នន័យនៃអថេរ vp ត្រូវបានជ្រើសរើសដោយស្វ័យប្រវត្តិយោងទៅតាមប្រភេទអថេរទិន្នន័យដែលបានរចនានៅក្នុងចំណុចប្រទាក់ DGUS ។

{
ករណី 0៖
ករណីទី ៥៖
number->vpPack.datLen = 2;
សម្រាក;
ករណីទី១៖
ករណីទី ២៖
ករណីទី៣៖
ករណីទី ៦៖
number->vpPack.datLen = 4;
ករណីទី ៤៖
number->vpPack.datLen = 8;
សម្រាក;
}
number->vpPack.pBuf = តម្លៃ;
}

បន្ទាប់ពីការចាប់ផ្តើម Hsample.sp គឺជាទ្រនិចពិពណ៌នានៃអថេរទិន្នន័យគំរូវ៉ុល។Hsample.spPack គឺជាទ្រនិចទំនាក់ទំនងរវាងស្នូល OS និងទិន្នន័យគំរូវ៉ុល UI ដែលប្រែប្រួលតាមរយៈមុខងារចំណុចប្រទាក់ DGUS ។Hsample.vpPack គឺជាគុណលក្ខណៈនៃការផ្លាស់ប្តូរអថេរទិន្នន័យគំរូវ៉ុល ដូចជា ពុម្ពអក្សរ ពណ៌ជាដើម ក៏ត្រូវបានបញ្ជូនទៅស្នូល UI តាមរយៈមុខងារចំណុចប្រទាក់ DGUS ផងដែរ។Hsample.vpPack.addr គឺជាអាសយដ្ឋានអថេរទិន្នន័យគំរូវ៉ុល ដែលត្រូវបានទទួលដោយស្វ័យប្រវត្តិពីមុខងារចាប់ផ្តើម។នៅពេលអ្នកផ្លាស់ប្តូរអាសយដ្ឋានអថេរ ឬប្រភេទទិន្នន័យអថេរនៅក្នុងចំណុចប្រទាក់ DGUS វាមិនចាំបាច់ធ្វើបច្ចុប្បន្នភាពអាសយដ្ឋានអថេរនៅក្នុងស្នូល OS ធ្វើសមកាលកម្មទេ។បន្ទាប់ពីស្នូល OS គណនាអថេរ voltage_sample វាគ្រាន់តែត្រូវការប្រតិបត្តិមុខងារ Write_Dgus(&Hsample.vpPack) ដើម្បីធ្វើបច្ចុប្បន្នភាពវា។មិនចាំបាច់ខ្ចប់ voltage_sample សម្រាប់ការបញ្ជូន DGUS ទេ។


ពេលវេលាផ្សាយ៖ មិថុនា-១៥-២០២២