Мазмұны:
- 1 -қадам: ПХД жобалау
- 2 -қадам: Хаттаманы құрастыру
- 3 -қадам: микробағдарламаны жобалау
- 4 -қадам: Flowcode арқылы интерфейс
- 5 -қадам: Интерфейстің басқа әдістері
- 6 -қадам: Дайын өнім
Бейне: Кірістірілген әмбебап интерфейс тақтасы - USB/Bluetooth/WIFI басқару: 6 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Мен жиі құрылғы деректер кестесіне негізделген нөлден жаңа ендірілген модульдерге арналған кітапханалар құрамын. Кітапхананы құру кезінде мен кодтың циклінде қалып қоямын, компиляция жасаймын, бағдарламалаймын және тестілеуді қамтамасыз етемін, ол жұмыс істейді және қатесіз. Көбінесе компиляция мен бағдарламаның уақыты кодты өңдеу уақытынан әлдеқайда ұзағырақ болуы мүмкін, сондықтан бұл қадамдарды әзірлеу кезінде қысқарту өте ыңғайлы болады.
Мен сонымен қатар кіріктірілген модульді компьютермен байланыстырғым келеді. Егер модульде USB байланысы жоқ болса, ол жиі болады, онда әдетте SPI немесе жай I2C сияқты бір жұмысты орындайтын жоғары бағаланған USB түрлендіргішін сатып алу қажет.
Дәл осы себептерге байланысты мен әмбебап интерфейс тақтасын құруды шештім. Ол кіріктірілген модульдермен дербес компьютерге оңай байланыс орнатуға арналған.
Мен орнатқан тақтаның кіріктірілген интерфейс мүмкіндіктері кіреді.
- Сандық енгізу -шығару
- I2C
- SPI
- UART
- PWM
- Серво моторы
- ADC енгізу
- DAC шығысы
Мұның бәрін дербес қолдануға болады.
Интерфейс тақтасын компьютерге USB қосылымы арқылы басқаруға болады, сонымен қатар тақтаны қашықтан немесе IoT түріндегі сценарийде пайдалануға мүмкіндік беретін қосымша WIFI немесе Bluetooth модульдік қосылымдары бар.
SIL стандартты 2.54 мм қадамдық колонкаларын қолдану арқылы аналық дупонды кабельдерді тақта мен ендірілген модуль арасында тікелей қосуға болады, бұл тез, сенімді және дәнекерсіз қосылуға мүмкіндік береді.
Мен сондай-ақ CAN, LIN, H-bridge және тағы басқаларды қосу туралы ойладым, бірақ олар кейінірек v2 нұсқасымен келуі мүмкін.
1 -қадам: ПХД жобалау
ПХД жобалау кезінде мен мүмкіндігінше қарапайым болғанды ұнатамын. Тақталарды өз қолыңызбен жасайтын болсаңыз, компоненттерді белгілі бір мақсатты орындағанда және микроконтроллердің мүмкіндігінше көп ішкі мүмкіндіктерін қолданғанда ғана қосу маңызды.
Мен таңдаған электрониканы жеткізушіге қарап, мен іздейтін ерекшеліктері бар және қолайлы бағадағы чипті таптым. Мен қондырған чип PIC18F24K50 болды.
Қол жетімді 23 енгізу -шығару түйреуіштерінің арқасында бұл мүмкіндіктер маған мүмкіндік берді
- Дигтал енгізу/шығару
- I2C
- SPI
- UART
- PWM x 2
- Серво қозғалтқышы x 6
- ADC кірісі x 3
- DAC шығысы x 1
- Енгізу -шығару 5В немесе 3В3 кернеуінен қозғалады
- Жарық диодты күй
Мен таңдаған IC -тің бір кемшілігі - бұл тек бір UART перифериялық құрылғысы бар, сондықтан Bluetooth немесе Wifi басқару әдісін қолдану UART қосылымын пайдалану мүмкіндігін тоқтатады.
Жоғарыдағы суреттерде дайын схема мен ПХД көрсетілген.
2 -қадам: Хаттаманы құрастыру
Хаттаманы құрастырудың бірінші қадамы - бұл сізге нақты не істеу керектігін шешу. Бөлшектеу бақылаудың жақсы деңгейін қосады, ал заттарды біріктіру интерфейсті жеңілдетеді және тақта мен компьютер арасындағы қатынасты азайтады. Бұл теңдестіру ойыны және оны жетілдіру қиын.
Тақтаның әр функциясы үшін кез келген параметрлер мен қайтаруларды көрсету керек. Мысалы, ADC кірісін оқу функциясы қандай кірісті іріктеуді және нәтижені қамтитын қайтару мәнін көрсететін параметрге ие болуы мүмкін.
Менің дизайнымда мен қосқым келетін функциялардың тізімі:
-
Сандық енгізу -шығару
- SetPin (PIN нөмірі, күй)
- Мемлекет = GetPin (PinNumber)
-
SPI
- Бастау (SPI режимі)
- DataIn = Transfer (DataOut)
- ControlChipSelect (Арна, күй)
- SetPrescaler (Rate)
-
I2C
- Бастау ()
- Бастау ()
- Қайтадан қосу ()
- Тоқта ()
- SlaveAck = Жіберу (DataOut)
- DataIn = Қабылдау (Соңғы)
-
UART
- Бастау ()
- TX байты (DataOut)
- BytesAvailable = RX саны ()
- DataIn = RX байт ()
- SetBaud (Baud)
-
PWM
- Қосу (Арна)
- Өшіру (Арна)
- SetFrequency (Арна, Жиілік)
- GetMaxDuty (Duty)
- SetDuty (Duty)
-
Серво
- Қосу (Арна)
- Өшіру (Арна)
- Орнату орны (арна, позиция)
-
ADC
ADCsample = үлгі (арна)
-
DAC
- Қосу
- Өшіру
- SetOutput (кернеу)
-
СЫМСЫЗ ДӘЛДIК
- SetSSID (SSID)
- Құпия сөзді орнату (құпия сөз)
- Күй = CheckConnectionStatus ()
- IP = GetIPAddress ()
Параметрлер жақшада көрсетіледі және қайтару теңдік белгісінің алдында көрсетіледі.
Мен кодтауды бастамас бұрын мен әр функцияға 128 -ден (екілік 0b10000000) басталатын және жоғары қарай жұмыс істейтін пәрмен кодын тағайындаймын. Мен басымды кодқа енгізгеннен кейін менде жақсы құжат бар екеніне көз жеткізу үшін хаттаманы толық құжаттаймын. Бұл жобаның толық хаттамалық құжаты қоса беріледі және кіріс пәрмен кодтары мен разряд енін қамтиды.
3 -қадам: микробағдарламаны жобалау
Протокол орнатылғаннан кейін бұл аппараттық құралдың функционалдығын іске асыру жағдайы.
Мен микробағдарламаны түсінуге және күйін келтіруге мүмкіндік беретін потенциалды командалар мен деректерді өткізу мүмкіндігін жоғарылату үшін қосалқы жүйелерді әзірлеген кезде қарапайым мемлекеттік типті әдісті қолданамын. Егер басқа қосылған құрылғылармен жақсы қарым -қатынас қажет болса, оның орнына Modbus сияқты жетілдірілген жүйені қолдануға болады, бірақ бұл жұмысты бәсеңдететін қосымша шығындарды қосады.
Мемлекеттік машина үш күйден тұрады:
1) Пәрмендерді күту
2) параметрлерді қабылдау
3) Жауап беру
Үш мемлекет өзара әрекеттеседі:
1) Бізде ең маңызды бит жиынтығы бар байт болғанша буфердегі кіріс байттары арқылы өтеміз. Мұндай байтты алғаннан кейін біз оны белгілі командалар тізімімен тексереміз. Егер сәйкестік табылса, онда біз протоколға сәйкес келетін байттар мен қайтарылатын байттардың санын тағайындаймыз. Егер параметр байттары болмаса, онда біз бұл жерде пәрменді орындай аламыз немесе 3 күйге өтіп немесе 1 күйді қайта бастай аламыз. Егер параметр байттары болса, онда біз 2 күйге ауысамыз.
2) Біз барлық параметрлерді сақтағанша оларды сақтайтын кіріс байттарды өткіземіз. Біз барлық параметрлерді алғаннан кейін команданы орындаймыз. Егер қайтару байттары болса, онда біз 3 -кезеңге өтеміз. Егер жіберетін байттар болмаса, онда біз 1 -кезеңге ораламыз.
3) Біз кіретін байттарды аралап шығамыз және әрбір байт үшін жарамды қайтару байтымен жаңғыртуды қайта жазамыз. Барлық қайтару байттарын жібергеннен кейін біз 1 кезеңге ораламыз.
Мен Flowcode -ты микробағдарламаны жасау үшін қолдандым, себебі ол менің не істеп жатқанымды жақсы көрсетеді. Дәл осындай нәрсені Arduino немесе басқа ендірілген бағдарламалау тілдерінде де жақсы жасауға болады.
Бірінші қадам - компьютермен байланыс орнату. Мұны істеу үшін микроды дұрыс жылдамдықта жұмыс істеу үшін конфигурациялау қажет, ал біз USB және UART перифериялық құрылғыларын басқаратын кодты қосуымыз керек. Flowcode -те бұл жобаға Comms компоненттерінің мәзірінен USB сериялық компоненті мен UART компонентін апару сияқты оңай.
Біз UART -те кіріс пәрмендерін алу үшін RX үзілісі мен буферін қосамыз және USB -ден үнемі сауалнама жүргіземіз. Біз бос уақытында буферді жасай аламыз.
Flowcode жобасы мен құрылған C коды қоса беріледі.
4 -қадам: Flowcode арқылы интерфейс
Flowcode модельдеу өте қуатты және бізге тақтамен сөйлесу үшін компонент құруға мүмкіндік береді. Компонентті құруда біз енді компонентті жобамызға сүйреп апарып, бірден басқарма функцияларын ала аламыз. Қосымша бонус ретінде SPI, I2C немесе UART перифериялық қондырғысы бар кез келген бар компонентті модельдеуде қолдануға болады және коммерциялық мәліметтерді Инжектор компоненті арқылы интерфейс тақтасына жіберуге болады. Қосылған суреттер дисплейге хабарды басып шығаруға арналған қарапайым бағдарламаны көрсетеді. Интерфейс тақтасы арқылы I2C Display, I2C Injector және Interface Board компоненттері бар дисплейдің нақты аппараттық құралына жіберілетін хабарлар.
Flowcode 8.1 үшін жаңа SCADA режимі - бұл абсолютті қосымша бонус, өйткені біз Flowcode тренажерінде бірдеңе жасайтын бағдарламаны қабылдай аламыз және оны кез келген компьютерде лицензиялау мәселелерінсіз жалғыз жұмыс істейтін етіп экспорттай аламыз. Бұл сынақ қондырғылары немесе сенсорлық кластерлер сияқты жобалар үшін керемет болуы мүмкін.
Мен бұл SCADA режимін SSID мен парольді конфигурациялауға, сондай -ақ модульдің IP -адресін жинауға болатын WIFI конфигурация құралын жасау үшін қолданамын. Бұл маған USB қосылымы арқылы бәрін реттеуге, содан кейін жұмыс істеп тұрған кезде WIFI желілік қосылымға ауысуға мүмкіндік береді.
Кейбір мысал жобалар қоса берілген.
5 -қадам: Интерфейстің басқа әдістері
Flowcode -мен қатар интерфейс тақтасымен байланысу үшін сіз таңдаған бағдарламалау тілін қолдана аласыз. Біз Flowcode -ты қолдандық, өйткені оның құрамына кіруге болатын бөлімдердің кітапханасы болды, оны біз бірден іске қосуға болады, бірақ бұл басқа да көптеген тілдерге қатысты.
Мұнда Интерфейс тақтасымен байланысу тілдері мен әдістерінің тізімі берілген.
Python - COM портына немесе IP мекенжайына деректерді жіберу үшін сериялық кітапхананы пайдалану
Matlab - Деректерді COM портына немесе IP -адреске жіберу үшін Файл командаларын қолдану
C ++ / C# / VB - COM портына немесе Windows TCP / IP API -ге тікелей қатынасатын, алдын ала жазылған DLL көмегімен.
Зертханалық қарау - алдын ала жазылған DLL, VISA Serial компоненті немесе TCP/IP компоненті көмегімен
Егер кімде -кім жоғарыда аталған тілдердің енгізілгенін көргісі келсе, маған хабарлаңыз.
6 -қадам: Дайын өнім
Дайын өнім, менің ендірілген құралдар жинағымда алдағы жылдарда көрнекті ерекшелігі болады. Қазірдің өзінде бұл маған әртүрлі Grove дисплейлері мен сенсорларының компоненттерін жасауға көмектесті. Мен енді кодты кез -келген компиляцияға немесе бағдарламалауға жүгінбестен бұрын толық шегелеп ала аламын.
Мен тіпті әріптестеріме жұмыс тақтасын да жақсартуы үшін бірнеше тақталар таратып бердім, оларды өте жақсы қабылдады.
Менің нұсқаулықты оқығаныңыз үшін рахмет, сіз оны пайдалы деп таптыңыз деп үміттенемін және бұл сіздің өнімділігіңізді жеделдету үшін өз құралдарыңызды жасауға шабыттандырады деп үміттенемін.
Ұсынылған:
ESP8266 көмегімен әмбебап қашықтан басқару құралы (Wi -Fi басқарылады): 6 қадам (суреттермен)
ESP8266 көмегімен әмбебап қашықтан басқару пульті (Wi -Fi басқарылады): Бұл жоба айнымалы ток, теледидар, DVD ойнатқыш, музыкалық жүйе, SMART құрылғылар сияқты барлық тұрмыстық техниканың қашықтан басқару пультін ауыстыруға арналған !!! Қашықтан қоқыс тастаудың қажеті жоқ, бұл бізді жұмбақ етеді !!! Бұл жоба бізді қиындықтан құтқарады
Қимылмен басқарылатын әмбебап қашықтан басқару пульті-MCU: 12 қадам
Node-MCU көмегімен қимылмен басқарылатын әмбебап қашықтан басқару құралы: Барлығына сәлем және осы жобаға қош келдіңіз! Мен жалқау адаммын, ал жалқау адамның қорқынышы - қашықтан басқару пульті тым алыс екенін түсінген кезде теледидар көру! Егер мен оны қолымда ұстасам, қашықтан басқару пульті ешқашан алыс болмайтынын түсіндім
ESP8266 RGB LED STRIP WIFI басқару - NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде - RGB LED STRIP смартфонды басқару: 4 қадам
ESP8266 RGB LED STRIP WIFI басқару | NODEMCU Wifi арқылы басқарылатын жарықдиодты жолақ үшін IR қашықтан басқару құралы ретінде | Смартфонды RGB LED STRIP басқару: Сәлеметсіздер ме, балалар, бұл оқулықта біз nodemcu немесе esp8266 -ды RGB жарықдиодты жолағын басқару үшін инфрақызыл қашықтан басқару құралы ретінде қолдануды үйренеміз, ал Nodemcu смартфон Wi -Fi арқылы басқарылады. Негізінде сіз RGB LED STRIP -ті смартфонмен басқара аласыз
MATRIX Creator көмегімен Rasberry PI әмбебап инфрақызыл қашықтан басқару құралы: 9 қадам
MATRIX Creator көмегімен Rasberry PI әмбебап инфрақызыл қашықтан басқару пульті: ⚠️БҰЛ НҰСҚАУЛЫҚ БҰЗЫЛДЫ 3e783dКіріспе Бұл оқу құралы R көмегімен соңғы әмбебап қашықтан басқару құралын құруға көмектеседі
NodeMCU көмегімен әмбебап қашықтан басқару құралы: 7 қадам
NodeMCU көмегімен әмбебап қашықтан басқару құралын құру: Бұл жобада біз клондау және инфрақызыл сигналдарды жіберуге қабілетті әмбебап қашықтан басқару құралын құрамыз. Бұл процесті басқару үшін веб -интерфейс қолданылады, NodeMCU инфрақызыл фоторецептормен бірге клондау үшін жауап береді