Мазмұны:

UCL Embedded - B0B Linefollower: 9 қадам
UCL Embedded - B0B Linefollower: 9 қадам

Бейне: UCL Embedded - B0B Linefollower: 9 қадам

Бейне: UCL Embedded - B0B Linefollower: 9 қадам
Бейне: Human vs Robot | Artificial Intelligence 2024, Қараша
Anonim
UCL ендірілген - B0B Linefollower
UCL ендірілген - B0B Linefollower

Бұл B0B*.

B0B-бұл радиобасқарылатын жалпы көлік, ол роботтың негізіне уақытша қызмет етеді.

Оның алдында тұрған көптеген роботтар сияқты, ол еден мен қарама-қарсы материалдың ауысуы нәтижесінде пайда болған сызықта қалуға бар күшін салады, біздің жағдайда жабысқақ таспа.

Көптеген басқа Line-роботтардан айырмашылығы, B0B сонымен қатар деректерді жинайды және оны WiFi арқылы жібереді.

Хобби жобасы үшін мүлдем асып түсу сізге қызықты болуы мүмкін көптеген пәндерді қамтиды. Бұл нұсқаулықта оның туылуы, функциялары және оны қалай өзіңізге ұқсас етіп жасауға болатыны сипатталған.

Бұл сонымен қатар әр түрлі электрониканың біз қалағандай жұмыс істемегеніне ашулануды және сол қиындықтарды жеңу үшін жасаған қадамдарымызды қамтиды (мен сізге ESP 8266-01 қарап отырмын).

Жобаны іске қосу үшін 2 код бар. Бірінші код ESP8266 модуліне арналған, біз оны Arduino бағдарламашы ретінде қолданамыз, ал екінші код Arduino -да іске қосылады.

1 -қадам: компоненттер

Бұл жоба үшін сізге қажет:

Жабдық:

• 1x радио контроллері, (ESC және рульдік серво болуы керек).

Біз Traxxas 1/16 E-Revo VXL-дің негізгі қорын қолдандық, көбінесе бізде солай болды және біз оны Arduino көмегімен басқара алатынымызға сенімді едік. Сонымен қатар, бұл қосымша жабдықтың шамалы мөлшерін алып тастайтындықтан, біз бұл 1/16 E-Revo үшін мәселе болмайтынына сенімдіміз.

Дегенмен, радио басқарылатын машиналардың көпшілігін (оларды оңай ажыратуға болады), бәлкім, оның орнына қолдануға болар еді, және процесс өте ұқсас болады.

• Бір тонна жабысқақ таспа.

Түс еденге мүмкіндігінше қарама -қарсы болуы керек. Біздің тестілеу ортасында біз қараңғы еденде ақ таспаны қолдандық.

• 1x Arduino Mega 2560.

Кішкене Ардуино да жақсы шығар, бірақ сізге түйреуіштер басылады.

• 1x үлкен нан тақтасы.

Біреуі жеткілікті, бірақ бізде қолданушылардың қателік қаупін азайту үшін басқа кернеулі электр желілерін ажырататын кішірек желісі болды.

• 1x TCRT5000 IR аналогты сенсоры (соқтығыспау үшін қолданылады).

Нақты бренд/модель Arduino -мен үйлесімді және қашықтықты өлшейтіні маңызды емес. «Қашықтық», «кедергі» сенсоры сияқты кілт сөздерді іздеңіз. Техникалық түрде сандық сенсор кодтың аз ғана өзгерісімен жұмыс істейді, бірақ біз аналогты қолданамыз.

• 1x немесе 2x Gravity: аналогтық сұр шкаланың сенсоры v2

Біреуі - жолды жалғастырушы үшін қажеттілік. Дәл модель маңызды емес, өйткені ол шағылған жарықтың қарқындылығын қарап, аналогты сигнал шығарады. «Бөлмені» анықтаудың екіншісі күткендегідей жұмыс істемеді және оны елемеуге болады, немесе жақсы әсер ету үшін RGB түс сенсоры сияқты балама табуға болады. Біз мұны әлі сынауымыз керек.

• 1 x ESP 8266-01.

ESP 8266 нұсқасының көптеген нұсқалары бар. Бізде тек 8266-01 тәжірибесі бар және ESP коды басқа нұсқада жұмыс істейтініне кепілдік бере алмайды.

• 1 x ESP8266-01 Wi-Fi қалқаны.

Техникалық тұрғыдан міндетті емес, бірақ егер сіз оны пайдаланбасаңыз, Wi-Fi модулімен байланысты барлық нәрсе әлдеқайда күрделі болады. Нұсқаулық сізде бар деп ойлайды (егер олай болмаса, ESP-01-ді Arduino-ға дұрыс қосуға арналған нұсқаулықтарды Интернеттен табыңыз), себебі бұл қате орындалса, модульді зақымдауы мүмкін.

• Көлік құралының өзіне арналған батареялар және қосымша электрониканы қосатын батареялар.

Біз қуаттылығы 2,2 жұптық жұпты, 7,4 В липо батареяларын қолдандық. Сіз таңдаған көлігіңізбен әдетте пайдаланатын батареяларды қолдана білуіңіз керек. Егер сіз 5В жоғары, бірақ 20В төмен болса, сыйымдылық номиналды кернеуден маңызды.

• Көптеген өтпелі кабельдер.

Мен олардың нақты санын есептеуден бас тарттым. Егер сізде жеткілікті деп ойласаңыз, мүмкін емес.

• Соңында, барлығын бекіту үшін сізге Arduino, сенсорлар, нан тақтасы мен Wi-Fi модулін таңдаған көлікке бекіту қажет болады. Сіздің нәтиже негіз ретінде не пайдаланылатындығыңызға және қандай материалдар бар екеніне байланысты өзгереді.

Біз қолдандық:

• Зип -галстук.

• Супер желім.

• Бізде қолайлы диаметрі бар қағаз қалдықтары/шайыр түтіктері.

• Өлшемі бойынша кесілген сурет жақтауынан жасалған ескі масонит тақтасы.

• Тағы біраз жабысқақ таспа.

• Сіздің таңдаған радиобасқарылатын көлігіңізде жұмыс істеу үшін қажет кез келген құрал.

Біз көбінесе бірнеше биттері бар кішкене бұрағыш қондырғысын қолдандық, бірақ кейде машинамен бірге келетін қорапты алып тастауға тура келді.

Бағдарламалық қамтамасыз ету:

• Қызыл-түйін

Мәліметтер жинаудың маңызды бөлігі.

• MQTT сервері.

Біздің көлік пен Node-red арасындағы орта адам. Бастапқыда тестілеу үшін біз test.mosquitto.org қолдандық

Кейінірек біз қолдандық:

• CloudMQTT.com

Бұл әлдеқайда сенімді болды, оны орнатудың сәл күрделілігінен гөрі.

• WampServer.

Мәліметтерді жинаудың соңғы бөлігі. Атап айтқанда, біз оның SQL дерекқорын жиналған деректерді сақтау үшін қолданатын боламыз.

2 -қадам: Электрлік диаграмма

Электрлік диаграмма
Электрлік диаграмма

3 -қадам: физикалық құрылыс

Физикалық құрылыс
Физикалық құрылыс
Физикалық құрылыс
Физикалық құрылыс
Физикалық құрылыс
Физикалық құрылыс

Біздің шешімімізде физикалық жинауға тікелей көзқарас бар.

Түпнұсқалық қабылдағыш пен оның су өткізбейтін корпусы RC машинасынан шығарылды, себебі бұл қажет емес.

Біз алдыңғы доңғалақтардың арасында сызықты қадағалау сенсоры үшін бір қолайлы орын бар екенін анықтадық, сондықтан біз оны алдыңғы тақтайшаның үстіне зипти ілмек арқылы орнында ұстадық.

Біз соқтығысуға қарсы қолданылатын сенсор алдыңғы бампердің артына бекітілген. Ол әлі де соққылардан қорғалған, және оның үйкелісі сәйкес келеді. Ол соншалықты жоғары емес бұрышпен алға қарай ұмтылуымен аяқталады. Бұл тамаша.

Масонит тақтайшасы (ескі сурет жақтауының артқы тақтасы), жоғарғы жағында өлшемі бойынша қиылған және астына желімделген қағаздың/шайырдың кішкене бөліктері бар. Олар корпустың тіректеріне бекітіледі және бәрін қауіпсіз ұстап үстінде отырады. Құбырды пластинаға жабыстыратын желім ұсталады деп ойлаймын және ол тым қисаймайды, бұл орнында қалады. Пластинаның дөңгелектер мен бамперлердің қорғаныс сферасында орналасқанын да айта кеткен жөн. Ардуино Мега мен екі нан тақтасы табаққа екі жақты таспамен немесе айналдыра жабысқақ таспамен бекітілген.

WiFi-модулін бекіту үшін арнайы шаралар қолданылмаған. Бұл біздікі емес, сондықтан оны желімдеу немесе таспаға түсіру қажет емес деп есептелді, өйткені ол жеңіл, ол көп қозғалмайды, сымдар оны ұстап тұру үшін жеткілікті.

Ақырында, бізде «бөлмелерді» анықтауға арналған сенсор бар, ол ілініс компоненттеріне артқы дөңгелектердің бірімен бекітілген. Жұмыс кезінде бұл көліктің навигация үшін пайдаланатын белгісінен алыс болуы керек.

4 -қадам: ESP8266 модулі

ESP8266 модулі
ESP8266 модулі
ESP8266 модулі
ESP8266 модулі

WiFi модулі, ESP8266, екі түрлі түйреуішті орнатуды қажет етеді. Модульді жаңа бағдарламамен жыпылықтаған кезде және Arduino Mega 2560 бағдарламашысы ретінде қолданғанда бір реттеуді қолдану қажет. Басқа қондырғы - бұл модуль үшін, ол MQTT брокеріне ақпарат қолданады және жіберіледі.

ESP8266 модуліне код жүктеу үшін Arduino IDE көмегімен тақта менеджері мен қосымша тақта менеджерін орнату қажет болады.

Борт менеджерінің астында esp8266 тақта менеджерін орнатыңыз. Оны «esp» іздеу арқылы оңай табуға болады. 2.5.0 нұсқасын орнату өте маңызды, ескі емес, жаңа емес.

Қосымша тақта менеджерінің URL мекенжайларының параметрлері астында мына жолға көшіріңіз:

arduino.esp8266.com/stable/package_esp8266c…

ESP8266 модуліне кез келген нәрсені жүктеу үшін сізге модульді жыпылықтау үшін арнайы түйреуішті қолдану қажет болады. Бұл модульде жұмыс істейтін ағымдағы кодқа өзгеріс енгізгіңіз келген сайын жасалуы керек. Модульді жыпылықтамас бұрын тақта менеджерінен дұрыс ESP8266 модулін таңдауды ұмытпаңыз. Бұл жобада біз жалпы ESP8266 тақтасын таңдадық. Модульді жыпылықтауға арналған түйреуішті орнату осы сегменттің бірінші суретінен табылған.

ESP8266 модулін жыпылықтағаннан кейін түйреуішті орнатуды ауыстыру қажет. Орнатуды жеңілдету үшін адаптерді қолдануды да таңдауға болады. Бұл жобада біз модуль жұмыс істеп тұрған кезде адаптерді таңдадық. Адаптермен түйреуішті орнату осы сегменттің екінші суретінен табылған.

ESP8266 модулінде жыпылықтайтын код WiFi мен MQTT брокеріне қосылуды орнатады, бұл жағдайда пайдаланушы аты мен парольмен, бірақ егер сіз кодтың түсініктемелерінде сипатталған қажетті өзгерістерді енгізбесеңіз, мұны жасауға болады. Бұл жоба үшін біздің Брокер жұмыс істеу үшін пайдаланушы аты мен құпия сөзді қажет етеді. Модуль өзіне қосылған сериялық порттан кіріс хабарламаларды оқиды. Ол Arduino кодымен жасалған әрбір жаңа жолды оқиды, хабарды шешеді және хабарды қайта жасайды. Содан кейін ол кодта көрсетілген MQTT брокеріне хабарлама жібереді. ESP8266 модулінің коды:

5 -қадам: Arduino

WiFi модулін конфигурациялағаннан кейін біз RC машинасындағы мотор мен серводі басқаруға арналған бағдарламаны қарастырамыз. Автокөлік орталық сенсордан алынған сұр масштабтағы ақпаратқа сәйкес әрекет етеді, бұл жобада «желілік детектор» деп те аталады. Бұл желі детекторынан алынған ақпаратты ашық пен қараңғылық немесе осы жобадағы ақ пен қара арасындағы ауысымда жазылған ақпаратқа тең болатын алдын ала орнатылған мәннің жанында ұстауға бағытталған. Егер мән тым өзгеше болса, сервоприводтың сәйкес шығысы көлікті желінің алдын ала орнатылған мәніне жақындатады.

Бағдарламада RC автокөлігін іске қосу және тоқтату түймесі ретінде жұмыс істейтін екі түйме бар. Техникалық түрде «тоқтату» түймесі - бұл «қаруландыру» түймесі, ол моторға жіберілген PWM мәніне тең, бұл RC машинасының тоқтауына әкеледі. Іске қосу батырмасы PWM мәнін жібереді, ол RC автокөлігімен әрең алға жылжиды, себебі ол тым жылдам қозғалысқа ие болса, ол өте жылдам жүреді.

Алдыңғы жолдың анық немесе бұғатталғанын анықтау үшін RC автокөлігінің алдыңғы бөлігіне соқтығысудан сақтайтын детектор қосылады. Егер ол бұғатталған болса, RC машинасы кедергілер жойылғанша/жойылғанша тоқтайды. Детектордың аналогтық сигналы бір нәрсенің жолды бөгеп тұрғанын немесе болмайтынын анықтау үшін қолданылады және тоқтаған кезде алға қарай жылжу мүмкіндігінің критерийі болып табылады.

РК көлігі қай бөлмеге кіргенін анықтау үшін екінші реттік сұр масштабты сенсор «Бөлме детекторы» қолданылады. Ол желі детекторы сияқты принцип бойынша жұмыс істейді, бірақ ол жарық пен қараңғылықтың өзгеруін іздемейді, керісінше бөлме детекторынан алынған мәнге байланысты әр түрлі бөлмелерге сәйкес келетін белгілі бір ауқымдағы мәндерді іздейді.

Ақырында, бағдарлама WiFi модулінің сенсорларынан ақпарат жолын оқиды, содан кейін MQTT брокеріне жібереді. Ақпарат жолы жол ретінде құрылады және WiFi модулі қосылған сәйкес серияға жазылады. Сериалға жазу Wi -Fi модулі кіріс хабарламаны оқи алатындай жиі болуы маңызды, бірақ бұл кодтың кешігуін пайдаланбауды ұмытпаңыз, себебі ол RC автокөлігінің сызықты ұстануына кедергі келтіреді. Оның орнына «миллис» пайдаланыңыз, себебі бұл бағдарламаның кідіріссіз жұмыс істеуіне мүмкіндік береді, бірақ Arduino қосылғаннан кейін миллис мөлшерінің белгілі бір мөлшері өткеннен кейін, кешіктіру сияқты кодты бұғаттамай, серияға хабарлама жазады.

Arduino Mega 2560 коды:

6 -қадам: MySQL мәліметтер базасы

WampServer - бұл PHP және MySQL мәліметтер базасымен қосымшалар құруға мүмкіндік беретін Windows үшін веб -әзірлеу ортасы. PhpMyAdmin бізге мәліметтер қорын оңай басқаруға мүмкіндік береді.

Бастау үшін мына сайтқа өтіңіз:

Бұл жобада біз Windows үшін 3.17 x64 бит нұсқасын қолданамыз. Орнатқаннан кейін барлық қызметтердің жұмыс істейтініне көз жеткізіңіз, бұл кішкентай белгіше қызыл немесе қызғылт сарыға емес, жасылға айналады. Егер белгіше жасыл болса, MySQL мәліметтер базасын басқару үшін PhpMyAdmin -ге кіруге болады.

MySQL -ке PhpMyAdmin көмегімен кіріп, жаңа мәліметтер қорын құрыңыз. Есте сақтау керек нәрсені атаңыз, бұл жобада ол «line_follow_log» деп аталды. Мәліметтер қорын құрғаннан кейін мәліметтер қорында кесте құру керек. Бағаналар саны сәйкес келетініне көз жеткізіңіз. Жобада біз 4 бағанды қолданамыз. Бір баған уақыт белгісіне арналған, ал соңғы үшеуі көліктегі деректерді сақтау үшін қолданылады. Әр бағанға сәйкес деректер түрін қолданыңыз. Біз уақыт белгісі бағанына «ұзын мәтінді», ал қалғандары үшін «орта мәтінді» қолдандық.

Бұл PhpMyAdmin мен MySQL -те жасау керек нәрсе. Деректер базасын және Node-Red бөлімінің кестесін есте сақтаңыз.

7-қадам: Қызыл түйін

Деректерді жинау үшін біз Node-red-де өте қарапайым ағынды қолданатын боламыз. Ол MQTT серверіне қосылады және MYSQL мәліметтер базасына жазады.

Мұны істеу үшін бізге әр түрлі функциялардың жұмыс істеуі үшін бірнеше палитралар қажет және оны іске қосу үшін нақты код қажет.

Бірінші заттар бірінші. Бізге келесі паллеттер қажет болады.

Node-red-салым-mqtt-брокер: Бұл біздің MQTT брокеріне қосылу.

Қызыл-түйіндік бақылау тақтасы: жиналған деректерді визуалды түрде көрсету үшін біздің бақылау тақтасы.

Node-red-node-mysql: SQL дерекқорымен байланысымыз.

Бұл Node-red-ге толыққанды нұсқаулық емес, бірақ мен Node-red ағынының не істейтінін түсіндіремін.

Басында бізде MQTT серверінің кездейсоқ болып көрінуі мүмкін болатын кездейсоқ кездейсоқтықпен байланысты мәселелер болды, бұл өзгерістерді ренжіткен әрекетке айналдырды, өйткені бұл өзгерістердің пайдалы болған -болмағаны белгісіз, біз нәтижені көре алмадық. Сонымен, 'Сервер өлді ме?' Келесі блок оны MQTT серверіне енгізеді. Егер ол өлмеген болса, «Жөндеу» терезесінде 'Жоқ' пайда болады. Бұл тек тестілеу үшін ғана емес, сонымен қатар Node-red функциясын MQTT серверіне қайта қосылуға мәжбүрлеу үшін жасалады.

'Сынақ жолы' MQTT брокеріне костюм жолын жібереді. Біз бұл жолды Arduino -дан алатын нәрсеге ұқсас етіп пішімдедік. Бұл жобаны іске қоспай, деректерді жинауды қажет етпестен, хабарламаларды шифрлайтын желіні конфигурациялаудың оңай уақыты болды.

Жұмыс кеңістігіндегі соңғы ағынды екі сегментке бөлуге болады. Төменгі бөлім кіріс хабарламаларды оқиды, оларды отладтау терезесіне жібереді және оларды SQL серверіне сақтайды.

Егер нағыз «сиқыр» орын алса, функционалдық түйіннен кейін қосылған үлкен қосқыштар желісі.

Жалғастыру функциясы кіріс жолды оқиды, оны әр нүктелі нүктеге бөледі және әр шығысқа бөлімдерді шығарады. Келесі қосқыштар кіретін екі түрлі ақпараттың бірін іздейді. Белгілі бір ақпарат әрқашан бір шығудан өтеді, ал екінші нұсқа екінші шығарылыммен кетеді. Осыдан кейін коммутаторлық блоктардың екінші тобы. Олар тек бір нақты кіріспен іске қосылады және басқа нәрсе шығарады.

Мысал, «кедергі», басқалары сияқты, екілік таңдау, не көлікпен жүруге болады, не олай емес. Ол 0 немесе 1 алады. A 0 «анық» бөліміне жіберіледі, 1 «кедергі» бөліміне жіберіледі. «Тазалау», «Кедергілер» қосқыштары, егер белсендірілген болса, сәйкесінше нақты, анық немесе кедергі келтіретін нәрсені шығарады. Жасыл түсіру блоктары отладтау терезесінде орналастырылады, көк түс біздің бақылау тақтасына жазады.

'Статус' және 'орналасу' тармақтары бірдей жұмыс істейді.

8 -қадам: MQTT брокері

Брокер - бұл клиенттерден хабарларды сәйкес келетін клиенттерге жіберетін сервер. MQTT брокері - бұл клиенттер желі арқылы брокерге қосылу үшін MQTT кітапханасын пайдаланады.

Бұл жоба үшін біз CloudMQTT қызметін қолдана отырып, MQTT брокерін құрдық, ол «сүйкімді мысық» нұсқасына тегін жазылды. Оның шектеулері бар, бірақ біз бұл жобадағыдан аспаймыз. WiFi модулі брокер мен брокерге қосыла алады, содан кейін хабарларды тиісті клиентке жібереді. Бұл жағдайда клиент-біздің түйін-қызыл. CloudMQTT қызметі олардың сервері үшін пайдаланушы аты мен құпия сөзді орнатады, сондықтан бізге қауіпсіздіктің жоғары болуына кепілдік беріледі. Негізінде бұл нақты CloudMQTT қызметіне пайдаланушы аты мен құпия сөзі бар адамдар ғана кіре алатынын білдіреді. Пайдаланушы аты мен құпия сөз ESP8266 коды бойынша Node-Red сияқты қосылымды орнатуда өте маңызды.

Брокер алатын хабарламалардың тұрақты статистикасы-бұл сіздің жазылу жоспарыңыз жіберетін ақпаратты қаншалықты жақсы өңдейтінін білуге болатын жағымды мүмкіндік.

Жақсы мүмкіндік - бұл брокерден WiFi модуліне хабарлама жіберу мүмкіндігі, бірақ біз бұл жобада қолданған жоқпыз.

9 -қадам: Электроника хоббиі

Бастамас бұрын, біз өткен жобадан рульдік басқару серводын PWM сигналы бар Arduino -дан басқаруға болатынын білдік, сымдары ұқсас және бір радио қабылдағышта әр түрлі каналдарға қосылады, біз электронды жылдамдықты бақылауды қабылдадық. қозғалтқышты басқаратын дәл қазір) Arduino PWM арқылы басқарылуы мүмкін.

Бұл теорияны тексеру үшін біз шағын Arduino эскизін орнатамыз. Эскиз потенциометрден аналогты кірісті оқиды, мәнді 0, 1024 -тен 0, 255 -ке дейін ауыстырады және алынған мәнді PWM істігіне шығарады, analogWrite () көмегімен шағын қорапта R/C машинасы болған кезде дөңгелектер алынып тасталды.

Ыдыс өлшегіштегі диапазонды аралағаннан кейін, ESC «оянды» сияқты көрінді, және біз оны жоғары және төмен қарай реттей алдық, сонымен қатар біз оларды бақылау үшін Arduino сериялық қосылымға мәндерді басып шығардық.

ESC белгілі бір шекті мәннен төмен мәндерді ұнатпайтын сияқты, бұл жағдайда 128. Ол 191 сигналын бейтарап дроссель ретінде көрді, ал 255 максималды дроссель болды.

Бізге көліктің жылдамдығын өзгертудің қажеті болмады және оны ең баяу жылдамдықта қозғалуға мәжбүрледік. 192 - бұл қозғалтқышты айналдыратын ең төменгі мән, бірақ біз әлі бәрін жинай алмаймыз және бұл шығыс автокөлікті соңғы құрастырудан кейін жылжыту үшін жеткілікті ме екеніне сенімді емеспіз, бірақ сәл үлкен мәнді енгізу маңызды емес.

Потенциометрді айналып өту және кодқа белгіленген мәнді енгізу нәтиже бермеді. Нұсқаулыққа сәйкес ESC қорапшасы жай ғана жыпылықтап, қозғалтқышты айналдырмайды.

Қателіктерден арылу, әр түрлі мәндерді лақтыру, әр түрлі сымдарды қолдану, тіпті Arduino қолданатын PWM жиілігін өзгерту тәжірибесі одан да оғаштыққа әкелді.

Бұл үзіліссіз мәселе сияқты көрінді, кейде ол жүгіретін, ал басқа уақытта ол ештеңеден бас тартатын. Ол жай ғана жыпылықтауын жалғастырды. Түпнұсқа контроллер мен қабылдағышпен жүргізілген сынақ ESC әлі де дәл солай жұмыс істейтінін растады, бұл мәселені тіпті бейтаныс етті. Жоғары мәндер, ол елемеді және жыпылықтап тұрды, төменгі мәндер ESC бақытты жасыл түске оралды, бірақ бәрібір бұрылмады.

Потенциометрдің, қордың таратқышы мен қабылдағышының және бекітілген мәндерді қамтамасыз ететін нұсқаның орнатудан айырмашылығы неде?

Кейде жоспарланғандай жұмыс істеу және күтілгендей жұмыс істеу Венн диаграммасында көп сәйкес келмейді. Бұл жағдайда ойыншық бола тұра, модель қосылып тұрғанда, саусақтарының ұшып кетуіне немесе саусақтарының сынуына, дөңгелектерге немесе пойызға шаштың түсуіне ешқандай мүмкіндік болмауы керек. бейтараптан басқа кез келген позиция.

«Дроссельді реттегішті реттеңіз», бұл дәл осылай білдіреді. ESC ештеңе жасамайтынын білмес бұрын, ол қосылған кезде бейтарап сигнал күтеді. Әдетте ESC қосылған кезде таратқыш әрқашан бейтарап күйде болады және ол жерден қуана жетеді. Егер олай болмаса, онда ол, бәлкім, жер бетінде мықты болған кезде және оператор жарысқа дайын екенін сезінгенде, ол бейтарап күйге оралады.

Потенциометрді қолдану кезінде біз диапазондарды «сыпырып» жүрдік, содан кейін ол жұмыс істей бастайды. Ол потенциометр нейтралды позициядан өтіп бара жатқанда қаруланған, содан кейін ол жұмыс істеді.

Төменгі диапазондар ESC -ке әлі де ұнамады. Бұл PWM жұмыс циклдерінің өнімі.

Дизайн бойынша немесе техникалық себеппен жасалған, рульдік серво де, ESC де 50% жұмыс циклінен төмен сигналдарды елемейді. Бұл ресивер/таратқыш жұмысын тоқтатқан немесе қуат таусылған жағдайда болуы мүмкін, модель толық кері дроссельде қашықтыққа көтерілмей, бейтарап күйге оралады. Сонымен қатар, серво тек 180 градусқа бұрылады және толық диапазонды қажет етпейді.

Осы жаңа білімді қолда ұстау арқылы жаңа Arduino эскизі жасалды. Бастапқы нұсқа Сериялық мониторға енгізілген жолдарды қабылдайды, оны бүтін санға түрлендіреді және PWM түйреуішіне серво кітапханасын қолдана отырып жазады ()*. Егер сериялық мониторға жаңа мән енгізілсе, write () мәні жаңартылады.

Тестілеу кезінде Traxxas ESC қоры Mtroniks G2 Micro -мен ауыстырылды, бірақ олар бірдей жұмыс істеуі керек, бірақ нақты мәндер сәл өзгеше болуы мүмкін.

Бұл кітапхана ЭСК -ны серво ретінде қарастырады, бұл жақсы сияқты. Write () функциясы Servo.h кітапханасынан 0 -ден 180 -ге дейін созылады, күтілетін қарулану сигналы ортасында болады деп күтілуде.

G2 Micro қару -жарақтары 90 -ға жуық мәндер ауқымында () жазуда (), бірақ қарулануды «есте ұстағандай» дәл анықтау қиын болды.

Traxxas VXL-s3 91 () мәнін жазады.

Қару -жарақ сигналынан кейін, ESC PWM сигналдарын қуана қабылдайды, Arduino оларды шақыруға қарамастан, моторды басқарады.

Функциялар туралы айту; Servo.h кітапханасынан analogWrite () стандартты, сондай -ақ write () және writeMicroseconds () бір -бірін алмастыруға болады, тек не істейтінін есіңізде сақтаңыз, сайып келгенде циклден басқа ештеңе маңызды емес. WriteMicroseconds () үлкен түйіршіктілік қажет болған жағдайда қолданылуы мүмкін, бұл жерде диапазон 1000 -нан 2000 -ға дейін болатынын ескеріңіз, қарулану немесе «бейтараптық» 1500 болады деп күтілуде. 128 -ден 255 -ке дейін, 191 -ге жуық бейтарап.

Ұсынылған: