Satura rādītājs:

UCL Embedded - B0B līnijas sekotājs: 9 soļi
UCL Embedded - B0B līnijas sekotājs: 9 soļi

Video: UCL Embedded - B0B līnijas sekotājs: 9 soļi

Video: UCL Embedded - B0B līnijas sekotājs: 9 soļi
Video: Beyond Neoliberalism: How to Think About Rebuilding the Capacity of the Democratic State 2024, Novembris
Anonim
UCL Embedded - B0B līnijas sekotājs
UCL Embedded - B0B līnijas sekotājs

Tas ir B0B.*

B0B ir vispārēja radio vadāma automašīna, kas īslaicīgi kalpo par līniju sekojoša robota pamatu.

Tāpat kā tik daudzi pirms viņa sekojošie roboti, viņš darīs visu iespējamo, lai paliktu uz līnijas, ko izraisa pāreja starp grīdu un kontrastējošu materiālu, mūsu gadījumā-līmlenti.

Atšķirībā no daudziem citiem līnijām sekojošiem robotiem, B0B arī apkopo datus un nosūta tos, izmantojot WiFi.

Tas ir pilnīgi pārspīlēts hobija projektam, un tas ietver vairākus priekšmetus, kas jums varētu šķist interesanti. Šī rokasgrāmata apraksta viņa dzimšanu, viņa funkcijas un to, kā jūs varat izveidot tādu kā viņš.

Tas ietver arī dusmas uz dažādām elektronikas ierīcēm, kas nedarbojas tā, kā mēs gribējām, un soļus, ko veicām, lai pārvarētu šīs grūtības (es skatos uz jums ESP 8266-01).

Lai projekts darbotos, ir 2 kodi. Pirmais kods ir modulim ESP8266, kuru mēs izmantojam kā programmētāju Arduino, bet otrais kods tiks palaists Arduino.

1. darbība: sastāvdaļas

Šim projektam jums būs nepieciešams:

Aparatūra:

• 1x automašīnas radio kontrolieris, (jābūt ESC un stūres servo).

Mēs izmantojām lielākoties krājumā esošo Traxxas 1/16 E-Revo VXL, galvenokārt tāpēc, ka tas mums bija, un bijām pilnīgi pārliecināti, ka spēsim to kontrolēt ar Arduino. Arī tāpēc, ka tas galu galā nesīs nenozīmīgu papildu aparatūras daudzumu, mēs bijām pārliecināti, ka tas nebūs jautājums par 1/16 E-Revo.

Tomēr lielāko daļu radio vadāmo automašīnu (kuras var viegli izjaukt), iespējams, varētu izmantot tā vietā, un process būs ļoti līdzīgs.

• Tonna līmlentes.

Krāsai jābūt pēc iespējas kontrastējošai ar grīdu. Testēšanas vidē uz tumšas grīdas mēs izmantojām baltu lenti.

• 1x Arduino Mega 2560.

Iespējams, arī mazāki Arduino ir labi, taču jūs piespiedīsit tapas.

• 1x liels maizes dēlis.

Pietiek ar vienu, bet mums bija arī mazāks, lai atdalītu citas sprieguma elektrolīnijas, lai samazinātu lietotāju kļūdu risku.

• 1x TCRT5000 IR analogs sensors (izmanto, lai izvairītos no sadursmēm).

Precīzam zīmolam/modelim nav nozīmes, vai tas ir saderīgs ar Arduino un mēra attālumu. Meklējiet tādus atslēgvārdus kā “Attālums”, “šķēršļu sensors”. Tehniski digitālais sensors darbotos arī ar nelielām koda izmaiņām, bet mēs izmantojam analogo.

• 1x vai 2x gravitācija: analogais pelēktoņu sensors v2

Viens ir nepieciešamība līnijas sekotājam. Precīzam modelim nav nozīmes, ja vien tas aplūko atstarotās gaismas intensitāti un izvada analogo signālu. Otrais “istabas” noteikšanai nedarbojās tik labi, kā gaidīts, un to var izlaist, vai arī var atrast alternatīvu, piemēram, RGB krāsu sensoru, iespējams, lai panāktu labāku efektu. Mums tas vēl jāpārbauda.

• 1 x ESP 8266-01.

Ir pieejamas daudzas ESP 8266 versijas. Mums ir tikai pieredze ar 8266-01, un nevaram garantēt, ka ESP kods darbosies ar citu versiju.

• 1 x ESP8266-01 Wi-Fi vairogs.

Tehniski nav obligāti, bet, ja jūs to neizmantojat, viss, kas saistīts ar Wi-Fi moduli, kļūs daudz sarežģītāks. Tomēr ceļvedis pieņems, ka jums tas ir (ja nē, atrodiet rokasgrāmatas tiešsaistē, lai pareizi pievienotu ESP-01 Arduino), jo, rīkojoties nepareizi, tas var sabojāt moduli.

• Baterijas pašam transportlīdzeklim un baterijas, lai darbinātu papildu elektroniku.

Mēs visu paralēli izmantojām 2,2 AH jaudas pāri, 7,4 V Lipo baterijas. Jums vajadzētu būt iespējai izmantot jebkuras baterijas, kuras parasti izmantotu izvēlētajam transportlīdzeklim. Ja esat virs 5V, bet zem 20V, jauda ir svarīgāka par nominālo spriegumu.

• Daudz džemperu kabeļu.

Esmu atteicies skaitīt precīzu to skaitu. Ja jūs domājat, ka jums ir pietiekami, jums, iespējams, nav.

• Visbeidzot, lai visu piestiprinātu, jums būs jāpiestiprina Arduino, sensori, maizes dēlis (-i) un Wi-Fi modulis izvēlētajam transportlīdzeklim. Jūsu rezultāts atšķirsies atkarībā no tā, ko izmantojat kā pamatu un kādi materiāli ir pieejami.

Mēs izmantojām:

• Zip saites.

• Daži super līme.

• Nelieli papīra lūžņu/sveķu caurules gabali ar piemērotu diametru.

• Veca Masonite aizmugurējā plāksne no attēla rāmja, sagriezta pēc izmēra.

• Nedaudz vairāk līmlentes.

• Jebkuri instrumenti, kas nepieciešami, lai strādātu pie jūsu radio vadāmās automašīnas.

Mēs pārsvarā izmantojām nelielu skrūvgriežu komplektu ar vairākiem uzgaļiem, bet reizēm nācās izvilkt automašīnas komplektā iekļauto instrumentu komplektu.

Programmatūra:

• Mezgls sarkans

Svarīga datu vākšanas daļa.

• MQTT serveris.

Vidējais cilvēks starp mūsu transportlīdzekli un mezglu sarkans. Sākotnēji testēšanai mēs izmantojām test.mosquitto.org

Vēlāk mēs izmantojām:

• CloudMQTT.com

Tas bija daudz uzticamāks, kas vairāk nekā kompensēja tā uzstādīšanu.

• WampServer.

Datu vākšanas pēdējā daļa. Konkrēti, savākto datu glabāšanai mēs izmantosim tās SQL datu bāzi.

2. solis: elektriskā diagramma

Elektriskā diagramma
Elektriskā diagramma

3. solis: fiziskā uzbūve

Fiziskā konstrukcija
Fiziskā konstrukcija
Fiziskā konstrukcija
Fiziskā konstrukcija
Fiziskā konstrukcija
Fiziskā konstrukcija

Mūsu risinājumam ir tieša pieeja fiziskai montāžai.

Sākotnējais uztvērējs un tā ūdensnecaurlaidīgais korpuss tika noņemts no RC automašīnas, jo tas nav vajadzīgs.

Mēs atklājām, ka starp priekšējiem riteņiem ir viena piemērota vieta mūsu līnijas sekošanas sensoram, tāpēc mēs to noturējām, uzvelkot rāvējslēdzēju virs priekšējās buksēšanas plāksnes.

Sensors, ko izmantojam pretsadursmju novēršanai, ir iebāzts aiz priekšējā bufera. Tas joprojām ir aizsargāts no triecieniem, un tam ir piemērota berze. Tas galu galā raugās uz priekšu tik nelielā augšupvērstā leņķī. Tas ir ideāli.

Masonīta plāksnei (aizmugures plāksne no vecā attēla rāmja) augšpusē ir nelielas papīra/sveķu caurules daļas, kas sagrieztas pēc izmēra un pielīmētas apakšā. Tie sakrīt ar korpusa statņu stiprinājumiem un vienkārši sēž virsū, turot visu droši. Pieņemot, ka līme, kas piestiprina cauruli pie plāksnes, notur un ka tā pārmērīgi neslīp, tas paliks savā vietā. Ir arī vērts atzīmēt, ka plāksne atrodas riteņu un buferu aizsargjoslā. Arduino Mega un divi maizes dēļi ir piestiprināti pie plāksnes ar dubultu sānu lenti vai ar līmlentes cilpu, kas apvilkta apkārt, pielīmējiet.

Nav veikti īpaši pasākumi WiFi moduļa nostiprināšanai. Tā nav mūsu, tāpēc tās pielīmēšana vai pielīmēšana tika uzskatīta par nevajadzīgu, jo tā ir tik viegla, ka daudz nepārvietosies, un ar vadiem pietiek, lai to noturētu vietā.

Visbeidzot, mums ir sensors “telpu” noteikšanai, un to viens no aizmugurējiem riteņiem piestiprināja piekares detaļām. Darbības laikā tam jāatrodas tālu no līnijas, kas apzīmē transportlīdzekli navigācijai.

4. solis: ESP8266 modulis

ESP8266 modulis
ESP8266 modulis
ESP8266 modulis
ESP8266 modulis

WiFi modulim ESP8266 ir nepieciešami divi dažādi tapas iestatījumi. Viena iestatīšana jāizmanto, mirgojot modulim ar jaunu programmu un izmantojot Arduino Mega 2560 kā programmētāju. Otra iestatīšana paredzēta modulim, kad tas tiek lietots un nosūta informāciju MQTT brokerim.

Izmantojot Arduino IDE, lai augšupielādētu kodu ESP8266 modulī, jums būs jāinstalē tāfeles pārvaldnieks un papildu dēļu pārvaldnieks

Saskaņā ar valdes pārvaldnieku instalējiet esp8266 tāfeles pārvaldnieku. To var viegli atrast, meklējot "esp". Ir svarīgi instalēt versiju 2.5.0, nevis vecāku, nevis jaunāku.

Sadaļā Papildu dēļu pārvaldnieka vietrāžu URL iestatījumi nokopējiet šajā rindā:

arduino.esp8266.com/stable/package_esp8266c…

Lai varētu augšupielādēt jebko ESP8266 modulī, jums būs jāizmanto īpaša tapas iestatīšana, lai varētu moduli uzplaiksnīt. Tas jādara katru reizi, kad vēlaties mainīt moduli pašreizējo kodu. Pirms moduļa mirgošanas neaizmirstiet no tāfeles pārvaldnieka izvēlēties pareizo ESP8266 moduli. Šajā projektā mēs izvēlējāmies vispārējo ESP8266 plati. Moduļa mirgošanas tapas ir atrodamas pirmajā attēlā šajā segmentā.

Pēc ESP8266 moduļa mirgošanas ir jāmaina tapas iestatīšana. Varat arī izvēlēties izmantot adapteri, lai atvieglotu iestatīšanu. Šajā projektā mēs izvēlējāmies adapteri ikreiz, kad modulis darbojas. Tapas iestatīšana ar adapteri ir atrodama šī segmenta otrajā attēlā.

Kods, kas jāiespiež ESP8266 modulī, izveido savienojumu ar WiFi un MQTT brokeri, šajā gadījumā ar lietotājvārdu un paroli, taču to var izdarīt bez tā, ja veicat nepieciešamās izmaiņas, kas aprakstītas koda komentāros. Šim projektam mūsu brokerim bija nepieciešams lietotājvārds un parole. Modulis nolasa ienākošos ziņojumus no sērijas porta, kuram tas ir pievienots. Tas nolasīs katru jauno rindu, ko izveidojis Arduino kods, atšifrēs ziņojumu un atjaunos ziņojumu. Pēc tam tas nosūta ziņojumu kodam norādītajam MQTT brokerim. ESP8266 moduļa kods:

5. solis: Arduino

Pēc WiFi moduļa konfigurēšanas mēs aplūkojam programmu, kas tiks izmantota, lai kontrolētu RC automašīnas motoru un servo. Automašīna reaģēs saskaņā ar pelēkās skalas informāciju no centrālā sensora, kas šajā projektā pazīstams arī kā "līnijas detektors". Skaidrs, ka tā mērķis ir saglabāt informāciju no līnijas detektora pie iepriekš iestatītas vērtības, kas ir vienāda ar informāciju, kas reģistrēta, mainoties starp gaišo un tumšo vai šajā projektā, balto un melno. Tātad, ja vērtība pārāk daudz atšķiras, atbilstošā servo izeja novirzīs automašīnu netālu no iepriekš iestatītās līnijas vērtības.

Programmai ir divas pogas, kas darbojas kā starta un apturēšanas poga RC automašīnai. Tehniski poga "stop" ir "ieslēgšanas" poga, kas izteiksmē ir vienāda ar motoram nosūtīto PWM vērtību, kas izraisa RC automašīnas apstāšanos. Sākuma poga nosūta PWM vērtību, kas ir vienāda ar RC automašīnu, kas tikko virzās uz priekšu, jo tā brauks pārāk ātri, ja tā iegūs pārāk lielu impulsu.

RC automašīnas priekšpusē ir pievienots sadursmju novēršanas detektors, lai noteiktu, vai ceļš uz priekšu ir skaidrs vai bloķēts. Ja tas ir bloķēts, RC automašīna apstāsies, līdz šķērslis būs aizgājis/novērsts. Analogais signāls no detektora tiek izmantots, lai noteiktu, vai kaut kas traucē ceļu, un tiek noteikts par kritēriju, lai varētu virzīties uz priekšu un apstāties.

Sekundāro pelēkās skalas sensoru "Telpas detektors" izmanto, lai noteiktu, kurā telpā iekļuvusi RC automašīna. Tas darbojas pēc līdzīga principa kā līnijas detektors, taču tas nemeklē izmaiņas starp gaišo un tumšo, bet gan vērtības noteiktā diapazonā, kas atbilst dažādām telpām atkarībā no telpas detektora redzamās vērtības.

Visbeidzot, programma izveido informācijas rindu no sensoriem WiFi modulim, lai to nolasītu un pēc tam nosūtītu MQTT brokerim. Informācijas rinda tiek izveidota kā virkne un ierakstīta atbilstošajā sērijā, kurai ir pievienots WiFi modulis. Ir svarīgi, lai sērijas ierakstīšana notiktu tikai tik bieži, cik WiFi modulis var nolasīt ienākošo ziņojumu, taču atcerieties neizmantot nekādus kavējumus šajā kodā, jo tas traucēs RC automašīnas spējai sekot līnijai. Tā vietā izmantojiet "milis", jo tas ļaus programmai darboties bez kavēšanās, bet pēc tam, kad būs pagājis noteikts daudzums milis pēc Arduino ieslēgšanas, rakstīs ziņojumu sērijai, nebloķējot kodu tāpat kā kavēšanās.

Arduino Mega 2560 kods:

6. darbība: MySQL datu bāze

WampServer ir tīmekļa izstrādes vide operētājsistēmai Windows, kas ļauj mums izveidot lietojumprogrammas ar PHP un MySQL datu bāzi. PhpMyAdmin ļauj mums viegli pārvaldīt mūsu datu bāzes.

Lai sāktu darbu, apmeklējiet vietni

Šajā projektā mēs izmantojam versiju 3.17 x64 biti operētājsistēmai Windows. Pēc instalēšanas pārliecinieties, vai visi pakalpojumi darbojas, kas nozīmē, ka mazā ikona kļūst zaļa, nevis sarkana vai oranža. Ja ikona ir zaļa, varat piekļūt PhpMyAdmin, lai pārvaldītu savu MySQL datu bāzi.

Piekļūstiet MySQL, izmantojot PhpMyAdmin, un izveidojiet jaunu datu bāzi. Nosauciet to par kaut ko piemērotu, ko varat atcerēties, šajā projektā to sauca par “line_follow_log”. Pēc datu bāzes izveides datubāzē jāizveido tabula. Pārliecinieties, vai kolonnu skaits atbilst. Projektā mēs izmantojam 4 kolonnas. Viena sleja ir paredzēta laika zīmogam, bet pēdējās trīs tiek izmantotas transportlīdzekļa datu glabāšanai. Katrai kolonnai izmantojiet pareizu datu tipu. Laika zīmoga kolonnai mēs izmantojām “longtext”, bet pārējai - “mediumtext”.

Tam vajadzētu būt vienīgajam, kas jums jādara PhpMyAdmin un MySQL. Atcerieties savu datu bāzi un tabulu sadaļai par sarkano mezglu.

7. solis: mezgls sarkans

Lai apstrādātu datus, mēs izmantosim diezgan vienkāršu plūsmu mezgla sarkanā krāsā. Tas izveido savienojumu ar mūsu MQTT serveri un raksta mūsu MYSQL datu bāzē.

Lai to izdarītu, mums ir vajadzīgas dažas paletes, lai dažādas funkcijas darbotos, un mums ir nepieciešams zināms kods, lai tā darbotos.

Vispirms pirmās lietas. Mums būs vajadzīgas šādas paletes.

Node-red-contrib-mqtt-broker: Šis ir savienojums ar mūsu MQTT brokeri.

Mezgla sarkans informācijas panelis: mūsu informācijas panelis, kas nepieciešams, lai vizuāli attēlotu savāktos datus.

Node-red-node-mysql: mūsu savienojums ar SQL datu bāzi.

Tas nav domāts kā pilnvērtīgs ceļvedis mezgla sarkanajam, bet es paskaidrošu, ko dara mezgla sarkanā plūsma.

Sākumā mums bija problēmas ar mūsu MQTT servera izvēlēto mirstību/atvienošanu, šķietami nejauši, kas padarīja jebkādu izmaiņu veikšanu nomāktu, jo nebija skaidrs, vai izmaiņas bija izdevīgas vai nē, ja mēs nevarējām redzēt rezultātu. Tātad poga "Vai serveris nomira?" injicē “Nē”, sekojošais bloks to injicē mūsu MQTT serverim. Ja tas nav miris, atkļūdošanas logā parādīsies “Nē”. Tas tiek darīts ne tikai, lai pārbaudītu, bet arī piespiestu sarkano mezglu mēģināt atkārtoti izveidot savienojumu ar MQTT serveri.

“Testa virkne” nosūta kostīmu virkni MQTT brokerim. Mēs formatējām šo virkni, lai tā būtu līdzīga tai, ko mēs iegūtu no Arduino. Tas atviegloja tīkla konfigurēšanu, kas atšifrē ziņojumus, bez nepieciešamības palaist projektu un vākt datus.

Pēdējo plūsmu darbvietā var iedalīt divos segmentos. Apakšējā filiāle vienkārši nolasa ienākošos ziņojumus, ievieto tos atkļūdošanas logā un saglabā tos SQL serverī.

Lielais savienoto slēdžu tīkls, kas seko funkciju mezglam, ja notiek īsta “maģija”.

Turpmākā funkcija nolasa ienākošo virkni, sadalot to ar katru semikolu un nodod sadaļas katrai izejai. Tālāk norādītie slēdži meklē vienu no divām dažādām ienākošajām informācijas daļām. Viena konkrēta informācija vienmēr tiek izvadīta no vienas izvades, otra opcija tiek atstāta ar otro izvadi. Pēc tam ir otrā slēdžu bloku grupa. Tie tiks aktivizēti tikai ar vienu konkrētu ievadi un izvadīs kaut ko citu.

Piemērs, “šķērslis”, tāpat kā visi pārējie, ir bināra izvēle - braukt ir skaidrs vai nē. Tātad tas saņems 0 vai 1. A 0 tiks nosūtīts uz filiāli "skaidrs", 1 - uz šķēršļiem. Slēdži “Notīrīt”, “Šķēršļi”, ja tie ir aktivizēti, attiecīgi izvadīs kaut ko konkrētu, Skaidru vai traucētu. Zaļie procesa bloki tiks publicēti atkļūdošanas logā, zilie - mūsu informācijas panelī.

Nozares “statuss” un “atrašanās vieta” darbojas tieši tāpat.

8. solis: MQTT brokeris

Brokeris ir serveris, kas novirza ziņojumus no klientiem uz atbilstošajiem galamērķa klientiem. MQTT brokeris ir tāds, kurā klienti izmanto MQTT bibliotēku, lai izveidotu savienojumu ar brokeri tīklā.

Šim projektam mēs izveidojām MQTT brokeri, izmantojot pakalpojumu CloudMQTT, ar bezmaksas abonementu versijai "Cute Cat". Tam ir ierobežojumi, taču mēs nepārsniedzam šajā projektā noteiktos. WiFi modulis var izveidot savienojumu ar brokeri, un brokeris pēc tam novirza ziņojumus uz atbilstošu galamērķa klientu. Šajā gadījumā klients ir mūsu sarkanais mezgls. CloudMQTT pakalpojums savam serverim izveido lietotājvārdu un paroli, tāpēc mums tiek garantēta augstāka drošība. Būtībā tas nozīmē, ka tikai tie, kuriem ir lietotājvārds un parole, var piekļūt šim konkrētajam pakalpojumam CloudMQTT. Lietotājvārdam un parolei ir izšķiroša nozīme, veidojot savienojumu ar kodu ESP8266, kā arī sarkano mezglu.

Pastāvīgā statistika par ziņojumiem, ko saņem Brokeris, ir patīkama iezīme, ko var izmantot, lai redzētu, cik labi jūsu abonēšanas plāns apstrādā informāciju, ko tas novirza.

Jauka iezīme ir iespēja nosūtīt ziņojumus no brokera uz WiFi moduli, taču mēs tos neizmantojām šajā projektā.

9. solis: hobija elektronika

Pirms sākuma mēs zinājām no iepriekšējā projekta, ka stūres pastiprinātāja servo var vadīt no Arduino ar PWM signālu, ar līdzīgu vadu un pievienošanu dažādiem kanāliem vienā un tajā pašā radiouztvērējā, mēs pieņēmām, ka elektroniskā ātruma kontrole (ESC no tagad), kas kontrolē motoru, līdzīgi varētu kontrolēt, izmantojot PWM no Arduino.

Lai pārbaudītu šo teoriju, mēs izveidojam nelielu Arduino skici. Skice nolasa analogo ieeju no potenciometra, pārveido vērtību no 0, 1024 līdz 0, 255 un izvada iegūto vērtību uz PWM tapu, izmantojot analogWrite (), kamēr R/C automašīna bija uz nelielas kastes, un riteņi noņemti.

Pēc slaucīšanas pa poda mērītāja diapazonu ESC, šķiet, “pamodās”, un mēs varējām to nospiest uz augšu un uz leju, kā arī lika Arduino izdrukāt vērtības sērijas savienojumam, lai mēs varētu tās uzraudzīt.

Šķita, ka ESC nepatīk vērtības, kas ir zemākas par noteiktu slieksni, šajā gadījumā 128. Tas uztvēra signālu 191 kā neitrālu droseļvārstu, bet 255 - maksimālo droseļvārstu.

Mums nebija jāmaina transportlīdzekļa ātrums, un mēs to nevainojami lēnākā ātrumā, kas liktu tam pārvietoties. 192 bija zemākā vērtība, kas pagrieztu motoru, tomēr mums vēl viss jāsamontē un neesam pārliecināti, vai ar šo iznākumu pietiks, lai pārvietotu transportlīdzekli pēc galīgās montāžas, tomēr nedaudz lielākas vērtības ievadīšanai vajadzētu būt triviālai.

Potenciometra apiešana un fiksētas vērtības ievadīšana kodā tomēr nedarbojās. ESC krājums vienkārši mirgoja un negrieza motoru, “noregulējiet droseļvārsta apdari” saskaņā ar rokasgrāmatu.

Negants problēmu novēršana, dažādu vērtību noteikšana, dažādu vadu izmantošana un pat eksperimenti ar PWM frekvences maiņu, ko izmanto Arduino, radīja vairāk dīvainību.

Šķita, ka tas ir intermitējošs jautājums, dažreiz tas darbosies, citreiz tas atteicās kaut ko darīt. Tas vienkārši turpināja mirgot. Pārbaude ar sākotnējo kontrolieri un uztvērēju apstiprināja, ka ESC joprojām darbojas tieši tā, kā paredzēts, kas padarīja problēmas vēl dīvainākas. Augstākas vērtības, tas tika ignorēts un nemitīgi mirgoja, zemākas vērtības ESC atkal sāka spīdēt laimīgi zaļā krāsā, bet tomēr nepagriezās.

Kas atšķīrās no iestatīšanas ar potenciometru vai krājuma raidītāju un uztvērēju, kā arī no versijas, kas nodrošināja fiksētas vērtības?

Dažreiz darbs, kā paredzēts, un darbs, kā paredzēts, Venna diagrammā īsti nepārklājas. Šādā gadījumā, ja tā ir rotaļlieta, modelim ieslēdzoties, nevajadzētu būt iespējai vienkārši pacelties vai salauzt pirkstus vai iesprūst matos riteņos vai piedziņā, pat ja droseļvārsts ir ieslēgts kaut kas līdzīgs raidītāja turēšanai jebkura cita pozīcija, izņemot neitrālu.

“Pielāgojiet droseļvārsta apdari”, tas ir tieši tas. Ieslēdzot, ESC sagaida neitrālu signālu, pirms tas neko nedos. Parasti raidītājs vienmēr ir neitrālā stāvoklī, kad ESC ir ieslēgts, un no turienes ar prieku brauks. Ja tas tā nav, iespējams, ka tas vismaz vienu reizi ir atgriezies neitrālā stāvoklī, kad modelis ir stingri pie zemes un operators jūtas gatavs sacīkstēm.

Izmantojot potenciometru, mēs “slaucījām” diapazonus, un tad tas sāks darboties. Tas vienkārši apbruņojās, kad potenciometrs pārsniedza neitrālo stāvokli, un tad tas darbojās.

Zemāki diapazoni tomēr šķita nepatīkami ESC. Izrādās, ka tas ir PWM darba ciklu produkts.

Vai nu pēc konstrukcijas, vai tehnisku iemeslu dēļ, gan stūres pastiprinātājs, gan ESC ignorē signālus zem 50% darba ciklu. Tas varētu notikt gadījumā, ja uztvērējs/raidītājs pārstāj darboties vai beidzas strāvas padeve, modelis atgriežas neitrālā stāvoklī, nevis paceļas tālumā ar pilnu atpakaļgaitas droseli. Tāpat servo rotē tikai par 180 grādiem, un tam nav nepieciešams viss diapazons.

Izmantojot šīs jaunās zināšanas, tika izveidota jauna Arduino skice. Sākotnējā versija pieņem virknes, kas ievadītas sērijas monitorā, pārvērš to par veselu skaitli un pārvieto uz PWM tapu, izmantojot servo bibliotēku un rakstot ()*. Ja sērijveida monitorā tiek ievadīta jauna vērtība, rakstīšanas () vērtība tiek atjaunināta.

Pārbaudes laikā Traxxas ESC krājums tika aizstāts ar Mtroniks G2 Micro, taču tiem vajadzētu darboties vienādi, lai gan precīzās vērtības var nedaudz atšķirties.

Šī bibliotēka uzskata ESC par servo, acīmredzot tas ir labi. Funkcija write () no Servo.h bibliotēkas iet no 0 līdz 180, paredzamais ieslēgšanas signāls ir aptuveni vidū.

G2 Micro ieraksta () vērtību diapazonā tuvu 90, tomēr to bija grūti precīzi noteikt, jo šķiet, ka tas “atceras”, ka ir bijis bruņots.

Paredzams, ka Traxxas VXL-s3 ierakstīšanas () vērtība būs 91.

Pēc ieslēgšanas signāla vai nu ESC ar prieku pieņēma PWM signālus neatkarīgi no tā, kādas Arduino funkcijas tika aicinātas to ģenerēt, un attiecīgi kontrolē motoru.

Runājot par funkcijām; standarta analogWrite (), kā arī write () un writeMicroseconds () no Servo.h bibliotēkas var izmantot savstarpēji aizvietojami, tikai paturiet prātā, kas ko dara, un galu galā nekas cits kā darba cikls nav svarīgs. WriteMicroseconds () varētu izmantot, ja nepieciešama lielāka detalizācija, tikai paturiet prātā, ka diapazons šeit ir no 1000 līdz 2000, ar ieslēgšanu vai “neitrālu” ir jābūt 1500. Izmantojot standarta analogWrite (), paredzamais diapazons ir ir no 128 līdz 255, un aptuveni 191 ir neitrāls.

Ieteicams: