Мазмуну:

UCL камтылган - B0B Linefollower: 9 кадам
UCL камтылган - B0B Linefollower: 9 кадам

Video: UCL камтылган - B0B Linefollower: 9 кадам

Video: UCL камтылган - B0B Linefollower: 9 кадам
Video: Прекрасная дама бежит за сокровищами! - Relic Runway Gameplay 🎮📱 2024, Июль
Anonim
UCL камтылган - B0B Linefollower
UCL камтылган - B0B Linefollower

Бул B0B*.

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

Ага чейинки көптөгөн Line-follow роботтору сыяктуу эле, ал полдун жана карама-каршы материалдын ортосундагы өтүүдөн келип чыккан сызыкта калуу үчүн болгон күчүн жумшайт, биздин учурда скотч.

Башка көптөгөн линиялардан айырмаланып, B0B дагы маалыматтарды чогултат жана WiFi аркылуу жөнөтөт.

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

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

Долбоордун иштеши үчүн 2 код бар. Биринчи код ESP8266 модулу үчүн, биз аны Arduino программист катары колдонобуз, ал эми экинчи код Arduinoдо иштейт.

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

Бул долбоор үчүн сизге керек болот:

Аппараттык:

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

Биз негизинен Traxxas 1/16 E-Revo VXL кампасын колдонуп жүрдүк, негизинен бизде болгон нерсе жана биз аны Arduino менен башкара аларыбызга толук ишенчүбүз. Ошондой эле, анча-мынча эмес кошумча жабдыктарды көтөрүп кете тургандыктан, бул 1/16 E-Revo үчүн маселе болбойт деп ишендик.

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

• Бир тонна скотч.

Түс полду мүмкүн болушунча карама -каршы коюшу керек. Тестирлөө чөйрөбүздө караңгы полго ак лента колдондук.

• 1x Arduino Mega 2560.

Кичирээк Ардуино да жакшы болушу мүмкүн, бирок сиз казыктарга кысыласыз.

• 1x чоң нан тактайы.

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

• 1x TCRT5000 IR аналогдук сенсор (кагылышууну болтурбоо үчүн колдонулат).

Так бренд/модель, бул Arduino менен шайкеш келип, аралыкты өлчөйбү, мааниси жок. "Дистанция", "тоскоолдук" сенсору сыяктуу ачкыч сөздөрдү издеңиз. Техникалык жактан санарип сенсор коддун кичине өзгөрүүсү менен иштейт, бирок биз аналогду колдонуп жатабыз.

• 1x же 2x Gravity: Analog Grayscale Sensor 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 AH сыйымдуулугун, 7.4V Lipo батареяларын колдонуп, бардыгын кубаттадык. Сиз каалаган унааңыз менен адатта колдоно турган батареяларды колдоно алышыңыз керек. Эгерде сиз 5Вдан жогору болсоңуз, бирок 20Вдан төмөн болсоңуз, кубаттуулук номиналдык чыңалуудан маанилүү.

• Көп секирүүчү кабелдер.

Мен булардын так санын эсептөөдөн баш тарттым. Эгер сизде жетиштүү нерсе бар деп ойлосоңуз, анда андай эмес.

• Акырында, бардыгын тиркөө үчүн, сиз тандаган унаага Arduino, сенсорлор, нан (лор) жана Wi-Fi-модулун орнотушуңуз керек болот. Сиздин жыйынтык база катары эмнени колдонуп жатканыңызга жана кандай материалдар бар экендигине жараша өзгөрөт.

Биз колдонгон:

• Байланыштар.

• Кээ бир супер клей.

• Биз ылайыктуу диаметри бар кагаз сыныктары/чайырдын кичинекей бөлүктөрү.

• Өлчөмү боюнча кесилген сүрөт алкагынан эски масонит такта.

• Дагы бир аз скотч.

• Тандалган радио көзөмөлдөгөн машинаңызда иштөө үчүн керектүү бардык шаймандар.

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

Программалык камсыздоо:

• Түйүн-кызыл

Маалымат чогултуунун маанилүү бөлүгү.

• MQTT сервери.

Биздин унаа менен Node-redдун ортосундагы орто адам. Башында тестирлөө үчүн биз test.mosquitto.org колдонгонбуз

Кийинчерээк биз колдондук:

• CloudMQTT.com

Бул орнотуу үчүн бир аз татаалыраак болгондуктан, алда канча ишенимдүү болгон.

• WampServer.

Маалымат чогултуунун акыркы бөлүгү. Тактап айтканда, биз чогулткан маалыматтарды сактоо үчүн анын SQL маалымат базасын колдонобуз.

2 -кадам: Электр диаграммасы

Электр диаграммасы
Электр диаграммасы

3 -кадам: Физикалык курулуш

Физикалык курулуш
Физикалык курулуш
Физикалык курулуш
Физикалык курулуш
Физикалык курулуш
Физикалык курулуш

Биздин чечим физикалык чогултууга түз көз карашта.

Түпнуска алуучу жана анын суу өткөрбөөчү корпусу RC машинасынан алынып салынды, анткени бул керек эмес.

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

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

Масонит плитасы, (эски сүрөт алкагынан жасалган такта), үстүндө өлчөмү боюнча кесилген жана астына чапталган кагаздын/чайырдын кичинекей бөлүмдөрү бар. Булар дененин тирөөчтөрүнө орнотулат жана бардыгын бекем кармап, үстү жагында отурат. Түтүктү пластинкага жабыштырган клей кармап турат жана ал ашыкча кыйшайбайт деп ойлосок, бул ордунда калат. Бул табак дөңгөлөктөрдүн жана бамперлердин коргоо чөйрөсүндө экенин да белгилей кетүү керек. Arduino Mega жана эки нан тактасы табакка эки тараптуу тасма менен жабыштырылган, же скотч лентасынын айланасында илинип, жабыштырылган.

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 Brokerге билдирүү жөнөтөт. ESP8266 модулунун коду:

5 -кадам: Arduino

WiFi модулун конфигурациялагандан кийин, биз RC машинасындагы моторду жана сервону көзөмөлдөө үчүн колдонула турган программаны карайбыз. Унаа бул долбоордо "Line Detector" деп аталган борбордук сенсордун боз масштабдуу маалыматына ылайык реакция кылат. Түздөн -түз бул линия детекторунун маалыматын жарык менен караңгы же бул долбоордо ак менен кара ортосундагы өзгөрүүдө жазылган маалыматка барабар болгон алдын ала коюлган мааниге жакын сактоого багытталган. Ошентип, эгер мааниси өтө эле айырмаланса, анда сервого тиешелүү чыгаруу машинаны линиянын алдын ала коюлган маанисине жакын башкарат.

Программада RC унаасы үчүн баштоо жана токтотуу баскычы катары иштеген эки баскыч бар. Техникалык жактан "токтотуу" баскычы - бул "куралдандыруу" баскычы, ал моторго жөнөтүлгөн PWM маанисине барабар, бул RC машинасынын токтоп калышына алып келет. Старт баскычы PWM маанисин жөнөтөт, бул RC машинасынын эптеп алдыга жылышына барабар, анткени ал өтө ылдамдыкка ээ болсо, өтө тез айдайт.

Кагылышуудан качуу детектору RC машинасынын алдыңкы бөлүгүнө кошулуп, алдыдагы жолдун ачык же тосулгандыгын аныктайт. Эгерде ал тосулган болсо, RC машинасы тоскоолдук жок болгончо/токтогонго чейин токтойт. Детектордун аналогдук сигналы бир нерсенин жолун тосуп жаткандыгын же жок экенин аныктоо үчүн колдонулат жана токтоп калганда алдыга жылуу мүмкүнчүлүгүнүн критерийи болуп саналат.

Экинчи боз масштабдагы сенсор "Room Detector" RC машинасынын кайсы бөлмөгө киргенин аныктоо үчүн колдонулат. Бул линия детектору сыяктуу принцип боюнча иштейт, бирок ал жарык менен караңгынын ортосундагы өзгөрүүнү издебейт, тескерисинче, бөлмө детекторунан көргөн наркына жараша ар кандай бөлмөлөргө туура келген белгилүү бир диапазондогу баалуулуктарды издейт.

Акырында, программа WiFi модулу үчүн сенсорлордун маалымат линиясын түзөт жана андан кийин MQTT Брокерине жөнөтөт. Маалымат линиясы сап катары түзүлөт жана WiFi модулу туташкан тиешелүү серияга жазылат. Сериалга жазуу WiFi модулу кирүүчү билдирүүнү окуп тургандай тез -тез болуп турушу маанилүү, бирок бул коддун эч кандай кечигүүсүн колдонбоону унутпаңыз, анткени бул RC машинасынын линияны ээрчишине тоскоол болот. Анын ордуна "миллис" дегенди колдонуңуз, анткени ал программаны кечиктирбестен иштетүүгө мүмкүндүк берет, бирок Arduino күйгүзүлгөндөн кийин миллиондогон сумма өткөндөн кийин, кечигүү сыяктуу эле кодду тоспостон сериалга билдирүү жазат.

Arduino Mega 2560 үчүн код:

6 -кадам: MySQL маалымат базасы

WampServer - бул PHP жана MySQL маалымат базасы менен тиркемелерди түзүүгө мүмкүндүк берген Windows үчүн веб -иштеп чыгуу чөйрөсү. PhpMyAdmin бизге маалымат базаларыбызды оңой башкарууга мүмкүндүк берет.

Баштоо үчүн төмөнкүгө өтүңүз:

Бул долбоордо биз Windows үчүн 3.17 x64 бит нускасын колдонобуз. Орнотулгандан кийин, бардык кызматтар иштеп жатканын текшериңиз, бул кичинекей сөлөкөт кызыл же кызгылт сары ордуна жашыл болуп калат дегенди билдирет. Эгерде сөлөкөт жашыл болсо, анда MySQL маалымат базаңызды башкаруу үчүн PhpMyAdmin -ге кире аласыз.

PhpMyAdmin аркылуу MySQLке кирүү жана жаңы маалымат базасын түзүү. Эстей ала турган ылайыктуу нерсени атаңыз, бул долбоордо ал "line_follow_log" деп аталган. Маалыматтар базасын түзгөндөн кийин, маалымат базасында таблица түзүү керек. Мамычалардын саны туура келерин текшериңиз. Долбоордо биз 4 тилкени колдонобуз. Бир мамыча убакыт белгиси үчүн, ал эми акыркы үчөө унаанын маалыматын сактоо үчүн колдонулат. Ар бир мамычага ылайыктуу маалымат түрүн колдонуңуз. Биз убакыт белгиси тилкесине "longtext", калгандары үчүн "mediumtext" колдондук.

Бул PhpMyAdmin жана MySQLде кылышыңыз керек болгон нерсе. Node-Red жөнүндө бөлүм үчүн маалымат базаңызды жана таблицаңызды унутпаңыз.

7-кадам: Node-Red

Маалыматтарды чогултуу үчүн биз Node-red тилинде өтө жөнөкөй агымды колдонобуз. Бул биздин MQTT серверибизге туташат жана MYSQL маалымат базабызга жазат.

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

Биринчи нерсе биринчи. Бизге төмөнкү палеттер керек болот.

Түйүн-кызыл-салым-mqtt-брокер: Бул биздин MQTT брокери менен байланыш.

Түйүн-кызыл-тактасы: Биздин панель, чогултулган маалыматты визуалдуу түрдө көрсөтүү үчүн керек.

Node-red-node-mysql: SQL маалымат базасына биздин байланыш.

Бул Node-red үчүн толук кандуу жол көрсөткүч эмес, бирок мен Node-red агымы эмне кылаарын түшүндүрөм.

Башында бизде MQTT сервери менен көйгөйлөр пайда болгон, алар туш келди көрүнгөн, бул кандайдыр бир өзгөрүүлөрдү капалантуучу аракет кылган, анткени өзгөрүүлөр пайдалуу болгон -болбогону белгисиз болчу, же биз натыйжаны көрө алган жокпуз. Ошентип, баскыч 'Сервер өлдүбү?' "Жок" сайат кийинки блок аны MQTT серверибизге сайат. Эгерде ал өлбөсө, "Жок" мүчүлүштүктөрдү оңдоо терезесинде пайда болот. Бул тестирлөө үчүн гана эмес, Node-redди MQTT серверине кайра туташууга аракет кылуу үчүн жасалат.

'Сыноо сабы' MQTT брокерине костюм сабын жөнөтөт. Биз бул сапты Arduinoдон ала турган нерсеге окшош кылып форматтадык. Бул долбоорду иштетип, маалыматтарды чогултууну талап кылбастан, билдирүүлөрдү чечүүчү тармакты конфигурациялоого оңой убакыт керек болчу.

Жумуш мейкиндигиндеги акыркы агымды эки сегментке бөлүүгө болот. Төмөнкү бутак жөн эле келген билдирүүлөрдү окуйт, мүчүлүштүктөрдү оңдоо терезесине жайгаштырат жана SQL серверине сактайт.

Эгерде чыныгы "сыйкырчылык" боло турган болсо, функция түйүнүнөн кийин туташтырылган коммутаторлордун чоң тармагы.

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

Мисалы, "тоскоолдук", башка бардык нерселер сыяктуу экилик тандоо, же айдаганы түшүнүктүү, же андай эмес. Ошентип, ал 0 же 1 алат. А 0 "ачык" филиалга, 1 "Тоскоолдук" бөлүмүнө жөнөтүлөт. "Тазалоо", "Тоскоолдук" өчүргүчтөрү, эгер иштетилген болсо, тиешелүүлүгүнө жараша, Тазалоо же Тоскоолдук кылган бир нерсени чыгарат. Жашыл блоктор мүчүлүштүктөрдү оңдоо терезесине жайгаштырылат, көк биздин тактабызга жазат.

'Статус' жана 'жайгашуу' бутактары так ушундай иштейт.

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

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

Бул долбоор үчүн биз "Cute Cat" версиясына бекер жазылуу менен CloudMQTT кызматын колдонуп MQTT брокерин түздүк. Анын чектөөсү бар, бирок биз бул долбоорго киргендерден ашпайбыз. WiFi модулу брокер менен брокерге туташа алат, андан кийин билдирүүлөрдү керектүү кардарга жөнөтөт. Бул учурда кардар биздин Node-Red болуп саналат. CloudMQTT кызматы сервери үчүн колдонуучунун атын жана сырсөзүн орнотот, ошондуктан бизге жогорку коопсуздук кепилдик берилет. Негизинен бул конкреттүү CloudMQTT кызматына колдонуучу аты жана сырсөзү барлар гана кире алат дегенди билдирет. Колдонуучунун аты жана сырсөзү ESP8266 коду боюнча туташууну Node-Red сыяктуу орнотууда өтө маанилүү.

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

Жакшы өзгөчөлүк - брокерден WiFi модулуна билдирүүлөрдү жөнөтүү мүмкүнчүлүгү, бирок биз бул долбоордо колдонулган жокпуз.

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

Баштоодон мурун, биз мурунку проекттен билчүбүз, запастагы рулду башкаруу PWM сигналы бар Arduinoдон башкарылышы мүмкүн, окшош зымдары бар жана ошол эле радио кабылдагычтын ар кандай каналдарына туташтырып, биз Электрондук Ылдамдыкты Башкарууну (ESC моторду көзөмөлдөгөн), Arduino PWM аркылуу башкарылышы мүмкүн.

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

Казан эсептегичтин диапазонун шыпырып бүткөндөн кийин, ESC "ойгонуп" кеткендей сезилди жана биз аны өйдө -ылдый дүүлүктүрө алдык, бизде Arduino аларды баалоо үчүн сериялык туташууну басып чыгарды.

ESC белгилүү бир босогодон төмөн болгон баалуулуктарды жактырбайт окшойт, бул учурда 128. 191 сигналын нейтралдуу дроссель, 255 максималдуу дроссель катары көргөн.

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

Потенциометрди айланып өтүү жана кодго белгиленген бааны киргизүү, бирок, натыйжа берген жок. Запастагы ESC жөн эле көзүн ирмеп, моторду айландырбайт, "дроссель тримин тууралоо" көрсөтмөсүнө ылайык.

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

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

Потенциометрдин, запастык өткөргүчтүн жана алуучунун орнотулганынан жана белгиленген баалуулуктарды берген версиядан эмнеси менен айырмаланды?

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

"Дроссель тримин тууралаңыз", бул так эмнени билдирет. ЭСК эч нерсе кылбай турганын алганга чейин, ал күйгүзүлгөндө нейтралдуу сигналды күтөт. Адатта, ESC күйгүзүлгөндө өткөргүч дайыма нейтралдуу болот жана ал жерден кубанычтуу түрдө айдайт. Эгерде андай эмес болсо, анда ал, жок эле дегенде, бир жолу жерге бекем турганда жана оператор жарышка даяр экенин сезгенде кайра нейтралдуу абалга келет.

Потенциометрди колдонуп жатып, биз диапазондорду "шыпырып" жаттык, анан ал иштей баштайт. Бул жөн эле потенциометр нейтралдуу абалдан өтүп кеткенде куралданган, анан ал иштеген.

Төмөнкү диапазондор, бирок дагы эле ESCке жаккан жок окшойт. Бул PWM кызмат циклдеринин продукту болуп чыкты.

Дизайн боюнча же техникалык себептерден улам, рулду башкаруучу жана ESC 50% кызмат циклинин астындагы сигналдарды этибар албайт. Бул кабыл алгыч/өткөргүч иштебей калганда же кубаты түгөнгөндө болушу мүмкүн, модель нейтралдуу абалга кайтып келип, тескери дроссель менен аралыкка учуп кетпейт. Ошол эле учурда, servo 180 градуска гана айланат жана толук диапазонго муктаж эмес.

Бул жаңы билимдин колунда жаңы Arduino эскизи түзүлдү. Баштапкы версия Сериялык мониторго киргизилген саптарды кабыл алат, аны бүтүн санга айлантат жана PWM пинине жылдырат, servo китепканасын колдонуп жана жазат ()*. Эгерде сериялык мониторго жаңы маани киргизилсе, write () мааниси жаңыртылат.

Тестирлөө учурунда Traxxas ESC акциясы Mtroniks G2 Micro менен алмаштырылган, бирок алар так иштеши керек, бирок так баалуулуктар бир аз башкачараак болушу мүмкүн.

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

G2 Micro куралдары 90го жакын баалуулуктардын бир катарында () жазылат, бирок куралданганын "эстеп" жаткандай сезүү кыйын.

Traxxas VXL-s3 жазуу () мааниси 91ге жетет деп күтүлүүдө.

Курал -жарак сигналынан кийин, же ESC кубануу менен PWM сигналдарын кабыл алат, Arduino функциялары аларды жаратууга чакырылбайт жана ошого жараша моторду башкарат.

Функциялар жөнүндө сөз кылуу; стандарттык analogWrite (), ошондой эле write () жана writeMicroseconds () Servo.h китепканасынан бир -бирин алмаштырууга болот, эмне кылаарын эстен чыгарбаңыз жана акыры милдет циклинен башка эч нерсе жок. WriteMicroseconds () чоң гранулярдуулук талап кылынса колдонулушу мүмкүн, бул жерде диапазон 1000ден 2000ге чейин экенин, куралдануу же "нейтралдуу" болуу 1500. стандарттык analogWrite () менен жарактуу диапазон күтүлөөрүн эске алыңыз. 128ден 255ке чейин, болжол менен 191 нейтралдуу.

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