Auto Arduinossa: kuinka tehdä radio-ohjain omin käsin. Ajotietokone ja monet muut DIY Arduino -projektit, jotka ovat hyödyllisiä autoille

Viime aikoina edulliset mikro-ohjaimet, kuten Arduino, ovat avanneet uusia ovia niille, jotka haluavat tehdä mielenkiintoisia vempaimia autoihinsa. Tässä artikkelissa tarkastellaan suosittua Arduinoa autoprojektissa, joka käyttää tätä suosittua avoimen lähdekoodin laitteistolevyä.

Yleisin Arduino-projekti autolle on LCD-näytön asentaminen autoon erikoistoiminnoilla ja ilmaisimilla.

Kun Arduino-näyttö autossa on liikkeessä, se näyttää: moottorin kuormitusprosentti, akun jännite, ohjaamon lämpötila ja moottorin jäähdytysnesteen lämpötila (on useita muita tilastoja ajoneuvoa, joka voidaan näyttää tarvittaessa). Näytön ja mikro-ohjaimen lisäksi tarvitset erilaisia ​​antureita luoda tämä Arduino-projekti autolle.

Jos Arduino autolle on yhteensopiva IDE Teensy 3.6:n kanssa, autosta ja varaanturoista luetaan animoitu bittikarttakuva. Jokainen neljästä anturista on paikoillaan, aivan kuten animaatio kuva auto, joka muuttaa väriä sen mukaan, kuinka lähellä kohde on autoa (vain vihreä tarkoittaa<5 футов, зеленый и желтый означает <2,6 фута и зеленый, желтый, а красный означает <1 фут).

Tämä Arduino-autoprojekti on erittäin monimutkainen, koska redundantit anturit kommunikoivat lähetin-vastaanottimen kanssa ja näyttävät sitten tiedot pienellä LCD-näytöllä.

Oma tiedonsiirtoprotokolla ei ole tyypillinen, kuten I2C, UART, CAN, USB ja niin edelleen. Protokollan ominaisuudet voivat vaihdella kussakin tapauksessa toimittajasta riippuen.

Ennen kuin irrotat LCD-näytön, sinun on tarkistettava lähetin-vastaanottimen ja LCD-näytön kolme johtoa. Ohjeet osoittavat, että tarvitaan punainen +5 V johto, musta johto ja sininen johto. Kun oskilloskooppi on liitetty siniseen johtoon ja maahan, käyttäjä näkee ominaisen kuvan.

Bitit, joiden numero on 0–5, eivät sisällä mitään merkittävää tietoa, eivätkä ne ole koodattuja. Bitit 6–8 vastaavat A-, B-, C- tai D-nimisiä antureita. Sinun on ladattava sketch Arduino IDE:hen, joka lukee anturit ja tulostaa sen. tiedot sarjakonsolin kautta.

Seuraavassa Arduino-autoprojektissasi voit käyttää ilmaista GIMP-kuvankäsittelyohjelmaa rajataksesi auton kuvan ja muuttaaksesi sen kokoa ylhäältä katsottuna. Sitten sinun on vietävä kuva 24-bittisenä bittikarttana nimeltä "car.bmp", joka on 110 x 250 pikseliä. Sitten lataamme kaiken microSD-kortille ja asetamme tämän kortin Teensy 3.6 -mikro-ohjaimeen.

Tärkeimmät syyt käyttää Teensy 3.6:ta UNO:n sijaan ovat nopeus, jolla Teensy voi lukea SD-kortin ja näyttää kuvan RA8875-näyttöajurin avulla. UNO:lla prosessi kestää noin 8 sekuntia, kun taas Teensy 3.6:lla se kestää 1,8 sekuntia.

Suunnitellaksesi edelleen Arduino-projektia autolle, sinun on 3D-tulostettava LCD-näytön ylä- ja alakansi sen suojaamiseksi. Koneen on esiporattava reiät antureille.

Mitä antureita voidaan liittää Arduinoon

Lopulta käyttäjä saa erinomaisen laitteen, joka ohjaa kaikkia auton mahdollisia parametreja. Luettelo osista, joita tarvitset tämän Arduino LCD:n luomiseen autolle, on annettu alla:

  1. Freematics OBD-II sovitin.
  2. Vara-anturit.
  3. 7" TFT LCD-näyttö.
  4. Ajuri SPI-pohjaiselle LCD-näytölle.
  5. Mikroprosessori Teensy 3.6.
  6. Erikoisvaihdetaso.
  7. 74HC125 Tri State Buffer IC.
  8. MicroSD-kortti.
  9. Johdot, kondensaattorit ja vastukset.
  10. Lämpötila-anturi DS18B20.
  11. OBD-II erotin.
  12. Arduino mikro-ohjain.

Autolaitteiden yhdistäminen, käynnistäminen ja konfigurointi Arduinossa

Jotta voit ladata luonnoksen Arduino-projektista autolle LCD-näytön muodossa Teensy 3.6:ssa, sinun on asennettava Teensyduino. Sinun on sitten korvattava Adafruit_RA8875- ja Adafruit_GFX-kirjastot Teensy-kirjaston sijainnissa (ei tyypillisessä dokumenttien sijainnissasi). Mac-käyttöjärjestelmässä sinun on napsautettava hiiren kakkospainikkeella Arduino-sovelluskuvaketta Sovellukset-kohdassa ja siirryttävä sitten:

Windowsissa tämä kansio sijaitsee C-pääaseman alla, x86-, Arduino-ohjelmatiedostoissa ja sitten laitteistokansiossa. Kun olet tehnyt tämän, sinun on muutettava luonnoksen sijaintia Arduino-sovelluksessa muokkaamalla sitä asetuksissa - tyypillisesti Teensy-kirjastot sijaitsevat seuraavassa osoitteessa:

/Applications/Arduino.app/Contents/Java/hardware/teensy/avr

Sisäisen lämpötila-anturin ongelman vuoksi käyttäjä asentaa moduulin lämpötila-anturin DS18B20.

  1. Lataa display_code-sketch, jos haluat käyttää OB2 I2C OBD-II -moduulin sisäistä lämpötila-anturia.
  2. Lataa display_code_with_new_temperature_sensor luonnos, jos haluat käyttää DS18B20-moduulia.

On tarpeen korjata virheet, jotka ilmestyvät, kun kytketään elektroninen laite, mukaan lukien DS18B20, jonka lämpötila on 185 Fahrenheit-astetta; Näyttö ei käynnisty ollenkaan kylmällä säällä ja pikselit jäävät kiinni väärään väriin, kun näyttöä himmennetään.

Huomaa, että teensyn ylikellotus 240 MHz:iin ei salli I2C OBD-II -sovitinta kommunikoida teensyn kanssa. Lopuksi napsauta vain "Lataa" -painiketta. Esitetty luonnos sisältää laajoja kommentteja, jotka auttavat käyttäjää sopeutumaan suunniteltaessa LCD-näyttöä autoon.

Pian näytön asennuksen jälkeen käyttäjä huomaa, että näyttö toimii myös auton ollessa sammutettuna.

OBD-II-johdotusta tutkiessaan elektroniikkainsinööri huomaa, että 12 V:n virtajohto OBD-II-liittimeen on aina kytketty suoraan akkuun. Tapa kiertää tämä on ostaa OBD-II-jakaja ja katkaista johto, joka menee napaan 16 toisessa jakajan kahdesta liittimestä, ja liittää sitten leikattu johto johdotuslisäkkeeseen.

Sitten yleismittarilla sinun on tutkittava kuljettajan puolen sulakerasia ja testattava olemassa olevat sulakkeet nähdäksesi, mikä sulake sai virran sen jälkeen, kun avain oli kytketty virtalukkoon.

Lopuksi käyttäjä kytkee jatkojohdon sulakkeeseen, jota tarvitaan, jotta näyttö syttyy nyt vain auton käydessä ja liikkeessä. Tee tutkimusta siitä, kuinka voit lisätä piirin oikein ajoneuvoosi. Monet samankaltaiset hankkeet kuvataan verkkosivustollamme yksityiskohtaisten selitysten kera.

Lisäksi käyttäjä voi lisätä Arduinoon stop-start-painikkeen autonsa parametrien näyttöä varten.

Kun päätin vaihtaa autossani radion, jouduin valinnan eteen - menetänkö tavallisen äänenhallinnan ohjauspyörän painikkeilla tai ostaako erityinen (melko kallis) sovitin.
Sitten ajattelin, miksi en tekisi tällaista sovitinta itse?
Arvostelu niille, jotka tuntevat juotosraudan.

Ensinnäkin ongelman ydin.
Monissa autoissa on vakiona ohjauspyörään asennettu radio-ohjain. Nämä painikkeet toimivat resistiivisen näppäimistön periaatteella, jonka avulla voit lähettää signaalin vain kahden johdon kautta.
Esimerkiksi painamme äänenvoimakkuuden lisäyspainiketta - piirissä näkyy 130 ohmin vastus.
Painamme äänenvoimakkuutta alas - tulee 240 ohmin vastus jne.

Monissa nykyaikaisissa radioissa on myös mahdollisuus liittää langallinen kaukosäädin. Mutta ongelmana on, että kaikkien autojen ja autoradioiden valmistajien standardit ovat erilaisia. Esimerkiksi Pioneerin radioissa äänenvoimakkuuden lisäämiseksi sinun on "sovitettava" 16 kOhm vastus.

Siksi ohjauspyörän ja radion väliin tarvitset erityisen sovittimen, joka muuntaa vastusarvot radion ymmärrettäviksi arvoiksi.

Kun etsin tällaista sovitinta autolleni, kävi ilmi, että se maksaa yli 50 dollaria. Ottaen huomioon, että sain itse radion naurettavalla 30-35 dollarilla, päätin yrittää tehdä sovittimen itse Arduinolla. Tuolloin Internetissä ei ollut valmista suunnitelmaa, minun piti keksiä se itse.

Pyydän jo etukäteen anteeksi mahdollisia epätarkkuuksia ja virheitä - en ole kovin perehtynyt elektroniikkaan. Keräsin kaikki tiedot pala kerrallaan Googlesta. :)

Projektissani käytin seuraavia komponentteja:
1. Suzuki Swift auto
2. Pioneer MVH-X165UI -autoradio (ostettu offline-tilassa)
3. Arduino Nano tai Mini (ostettu eBaysta hintaan 2,5 dollaria)
4. MCP4131, digitaalinen potentiometri 100 000:lla (ostettu offline-tilassa 1 dollarilla, jostain syystä ne ovat ebayssa)
5. 10k vastus
6. Kehityslautakunta
7. Asennusmuunnin (1,5 dollarilla) 5 V:n muodostamiseksi 12 V:sta

Periaate on yksinkertainen - sisääntulossa mittaamme vastuksen ohjauspyörän painikkeista. Jos vastus vastaa painikkeen painamista, niin lähtöpotentiometrissä asetetaan vastaava radion vaatima vastus.

Ensimmäisenä hankin autolleni huoltokäsikirjan, jossa näkyy kaikkien painikkeiden vastusarvot. Voit kuitenkin mitata ne yksinkertaisesti yleismittarilla.

Verkosta löytyy myös seuraava kaavio Pioneer-radion langallisesta kaukosäätimestä (käyttää 3,5 mm pistoketta):

Minulla ei ole esiasetettuja ylös/alas-painikkeita ohjauspyörässäni, joten käytin vain kahta liitintä pistokkeessa - kärkeä ja holkkia.

Koska Radionauhurin vaatima resistanssialue on 1K - 62K, sitten ostin MCP4131-mikropiirin - tämä on 100K digitaalinen potentiometri, jossa on 129 säätövaihetta. 129 askelta riittää, koska... Emme tarvitse supertarkkuutta, radio ymmärtää resistanssin jossain 10-20 prosentin luokkaa
No, sinun ei tarvitse ostaa MCP4131:tä, uskon, että mikä tahansa muu digipotti, jolla on samanlaiset ominaisuudet, käy.

Internetissä on ohjeita digitaalisen potentiometrin käyttämiseen Arduinon kanssa, pidin siitä, se on erittäin yksityiskohtainen ja helposti saatavilla.

En selitä Arduinon kanssa työskentelyn perusteita, on paljon muita erikoisresursseja, joissa kaikki on kuvattu paljon paremmin.

Kytkentäkaavio näyttää tältä:

Resistanssi mitataan nastasta A5 käyttämällä jännitteenjakajaa, jossa on 10K vastus.

Potentiometri on kytketty seuraavan kaavion mukaan:

4, 7 - GND
8 - +5V
1 - arduino-nasta 4 (voit valita toisen)
2 - arduino-nasta 13
3 - arduino-nasta 11
6 - radioon, "Tip"-kosketin pistokkeessa

Luonnos spoilerin alla

#sisältää // SPI-kirjaston pitäisi olla vakioohjelmistossa tai voit ladata sen. // Ohjauspyörän painikkeiden koodit const int VOL_UP=1; const int VOL_DN=2; const int PREV_TR=3; const int NEXT_TR=4; const int MODE=5; const int MUTE=6; int csPin=4; // CS digitaalisessa potentiometrissä int wheelPin=A5; // analoginen tappi, josta luemme ohjauspyörän painikkeen resistanssin int i=0; int prevButton=0; void setup() ( pinMode(csPin, OUTPUT); delay(50); SPI.begin(); delay(50); SPI.transfer(0); // komento SPI.transfer(0); // arvo pinMode( wheelPin, INPUT(100); //Serial.begin(9600) / lue resistanssi (itse asiassa tietysti jännite) analogisesta nastasta int r=analogRead(wheelPin® //Serial.println® // Etsimme mikä painike vastaa tätä vastusta // Nämä vastusarvot); soveltuvat Suzuki Swiftille, numerot ovat erilaisia, jos (r>=9 && r<=15) return(VOL_UP); if (r>=18 && r<=26) return(VOL_DN); if (r>=120 && r<=156) return(PREV_TR); if (r>=60 && r<=80) return(NEXT_TR); if (r>=33 && r<=47) return(MODE); if (r>=2 && r<=6) return(MUTE); // если ни одна из кнопок не нажата, возвращаем 0 return (0); } // ОСНОВНОЙ ЦИКЛ void loop() { int currButton=getR(); // заносим в переменную currButton код нажатой кнопки if (currButton!=prevButton) { // если значение поменялось с прошлого раза delay(10); currButton=getR(); // ждем 10ms и читаем еще раз, чтобы исключить "дребезг" кнопки if (currButton!=prevButton) { // если код кнопки точно поменялся с прошлого раза //Serial.println(currButton); prevButton=currButton; // сохраняем новое значение в переменную prevButton // Выставляем сопротивление на потенциометре, тем самым посылаем команду на магнитолу. // Значения сопротивлений даны для Pioneer, для магнитол других марок числа будут другие. SPI.transfer(0); switch(currButton) { case VOL_UP: SPI.transfer(21); break; // 16k case VOL_DN: SPI.transfer(31); break; // 24k case PREV_TR: SPI.transfer(14); break; // 11k case NEXT_TR: SPI.transfer(10); break; // 8k case MODE: SPI.transfer(2); break; // 1.6k case MUTE: SPI.transfer(4); break; // 3k default: SPI.transfer(0); break; // 0k } } } delay(5); }

Kuva valmiista taulusta.

Kääntöpuolen valokuvia ei säilytetty, koska... tämä oli vuosi sitten, eikä minulla ollut aikomusta kirjoittaa arvostelua. No, ei siellä ole mitään mielenkiintoista - joukko jumpperia ja huonoa juottamista :)

Arduino voi toimia 12 V:sta, mutta päätin asentaa 5V:n muuntimen. Ensin käynnistin DVR:n siitä, mikä vapautti tupakansytyttimen pistorasian. Toiseksi luin, että autoverkon jännite on likainen ja epävakaa, se voi vaihdella useita voltteja, sekä alas että ylös. Muunnin kestää tällaisia ​​ylijännitteitä, mutta arduino voi palaa loppuun. Virtalähteen "puhdistamiseksi" lisäsin useita suojaelementtejä - diodin, zener-diodin, kondensaattorin. Katsoin kaaviota. Epäilen jonkin verran sen tarpeellisuutta, mutta päätin - antaa sen olla.

Siinä kaikki.
Laite on toiminut normaalisti autossa nyt noin vuoden.
Säästin rahaa ja sain arvokasta kokemusta.

Aion ostaa +82 Lisää suosikkeihin Pidin arvostelusta +119 +232

Kaikki Arduinosta ja elektroniikasta!

Arduino- yksinkertaisten automaatio- ja robotiikkajärjestelmien rakentamiseen tarkoitettujen laitteistojen ja ohjelmistojen tavaramerkki, joka on suunnattu ei-ammattimaisille käyttäjille. Ohjelmisto osa koostuu vapaasta ohjelmistokuoresta (IDE) ohjelmien kirjoittamista, niiden kääntämistä ja laitteistojen ohjelmointia varten. Laitteisto Osa on sarja koottuja painettuja piirilevyjä, joita myy sekä virallinen valmistaja että kolmannen osapuolen valmistaja. Järjestelmän täysin avoin arkkitehtuuri mahdollistaa Arduino-tuotelinjan vapaan kopioimisen tai laajentamisen.

Alustan nimi tulee Ivreassa sijaitsevan samannimisen kasvihuoneen nimestä, jossa hankkeen perustajat ovat usein vierailleet, ja tämä nimi puolestaan ​​annettiin Italian kuninkaan Arduin Ivrean kunniaksi.

Arduinoa voidaan käyttää sekä autonomisten automaatioobjektien luomiseen että yhteyden muodostamiseen tietokoneen ohjelmistoon tavallisten langallisten ja langattomien liitäntöjen kautta

Tämä materiaali tarjoaa esimerkin useiden 18b20 lämpötila-anturien käyttämisestä + tarvittavan määrän lisäämisestä ja etävalvonnan suorittamisesta esp8266 nodemcu -kortilla ja blynk-sovelluksella. Tämä materiaali on hyödyllinen, jos sinun on otettava useita lämpötilalukemia etänä valvontaa varten.

Haluatko pelata videopelejä lapsuudestasi? Tankit, Contra, Chip ja Dale, Teenage Mutant Ninja Turtles... Kaikki nämä pelit odottavat sinua! Tästä oppaasta opit kuinka nopeasti ja helposti koota ja konfiguroida retro-konsoli, joka perustuu Raspberry Pi -mikrotietokoneeseen ja RetroPie-emulaattorien kokoamiseen.

Interaktiivinen sopivan muotoinen lumihiutale, jonka on luonut Arduino Nano. Käyttää 17 itsenäistä PWM-kanavaa ja kosketusanturia kytkentöihin ja tehosteisiin.

Lumihiutale koostuu 30 LEDistä, jotka on ryhmitelty 17 itsenäiseen segmenttiin, joita voidaan ohjata erikseen Arduino Nano -mikrokontrollerilla. Jokaista lohkoa ohjataan erillisellä PWM-nastalla, ja se säätää kunkin LED-lohkon ja tehosteiden kirkkautta erikseen.

Tämä artikkeli sisältää täydelliset ohjeet esp8266 Wi-Fi-korttiin perustuvaan 2wd robottisarjaan ja sen suojamoottoriin perustuvan robottiauton kokoamiseen.

Lopuksi tulee myös tälle levylle laiteohjelmisto ja sovellus, jolla ohjataan robottiamme älypuhelimen kautta Wi-Fi-verkon kautta.

Artikkelin alussa esitellään teoria lähempänä keskiosaa, käytäntöä käsitellään myös mahdollisimman lyhyesti työkalusta, juottamisessa tarvittavasta kemiasta, lisätyökaluista. Todella laadukkaan juotoksen saamiseksi sinun tulee tutkia kaikki nämä asiat hyvin, selvittää yksityiskohdat jostain, mutta yritämme selittää kaiken mahdollisimman selkeästi "sormilla", jotta lukemisen jälkeen olet taatusti pystyy suorittamaan määrätyt tehtävät.

ESP8266 Nodemcu- ja max7219-pikselimatriiseihin perustuvat kellot ovat viime aikoina tulleet erittäin suosituiksi Internetissä. Kaikki siksi, että tämä kello on erittäin helppo koota, siinä on laajat toiminnot ja ominaisuudet ajan päivitykseen, erilaisten tietojen vastaanottamiseen Internetistä ja kaikkien näiden tietojen näyttämiseen tickerissä.

Suosittu ESP8266-korttiin (nodemcu \WEMOS) perustuva roskapostittaja on saanut toisen laiteohjelmistoversion, joka sisältää virheenkorjauksia, käyttöliittymäparannuksia ja laajempia toimintoja. Keräsin tämän kaiken ja päätin kirjoittaa postauksen. Lisäsin myös yksityiskohtaisen työlokin yksinkertaistetulla laiteohjelmistolla FLASHERin kautta (laiteohjelmisto 3 napsautuksella)

WIFI-kello sääasemalla ESP8266:ssa ja matriisiosoitin MAX7219:ssä

Erittäin mielenkiintoinen ja yksinkertainen kelloprojekti verkkokäyttöliittymällä, joka perustuu ESP8266 nodemcu -korttiin ja MAX7219 näyttöön. Todennäköisesti paras vaihtoehto kellolle ja sääasemalle, joka vastaanottaa tietoa Internetistä!

Lisäkentät
testi 1:

Tämä projekti on tehty WIFI ESP8266 -kortille ja on suunniteltu ohjattavaksi ja valvottavaksi älypuhelimesi BLYNK-sovelluksen kautta. Voit myös lisätä projektiin IP-kameran (tai käyttää vanhaa älypuhelinta kameralla palvelimena) reaaliaikaiseen valvontaan IP Webcam Pron kautta BLYNK-sovelluksen widgetin kautta 1,8 asteen askeleet - 200 askelta täysi käännös. Moottori pyörittää putkisovittimessa olevaa kairaa, johon syöttö putoaa suppilosta.

Aloitetaan mahdollisuuksista, jotka sinulle avautuvat, jos tarjoat langattoman tiedonsiirron kahden Arduino-levyn välillä:

  • Etälukemat lämpötila-, paineantureista, pyrosähköisiin liiketunnistimiin perustuvista hälytysjärjestelmistä jne.
  • Ohjaa ja valvo robotteja langattomasti 50–2 000 metrin päässä.
  • Viereisten talojen tilojen langaton ohjaus ja valvonta.
  • Jne. ja niin edelleen. Yleensä lähes kaikki, mikä vaatii langattomia ohjaus- ja valvontajärjestelmiä...

Autoistamme ei ole pitkään tullut pelkkä kulkuväline, vaan monimutkainen ratkaisu monimutkaisista ja joskus erittäin suorituskykyisistä järjestelmistä, jotka liittyvät epäsuorasti liikkumiseen. Näitä ovat mm. matkustamon viihteestä ja mukavuudesta vastaavat multimediat, merkkivalojen visualisointia parantavat laitteet sekä erilaisia ​​ääniinformaatiosignaaleja toistavat laitteet ja anturit sekä muut vaihtoehdot. Siksi haluamme ensin luonnehtia ja mainita hyödyksemme toimivat mikro-ohjaimet ja mikroelektroniset laitteet. Lisäksi tällaisia ​​laitteita voidaan lisätä autoomme toiveidemme ja kykyjemme mukaan. Yksi näistä laitteista, ainutlaatuisista leluista ja avustajista, on Arduino.

Mikä Arduino on ja miksi se on autossa?

Ensin puhutaan siitä, mitä Ardiuino on, koska luultavasti kaikki eivät tiedä, miksi sellainen on autossa. On sanottava, ilman minkäänlaista ironiaa, että tämä on melkein valmis toimiva laite, joka voidaan konfiguroida lataamalla siihen ohjelma ja siten tuomalla käyttöön tiettyjä hyödyllisiä toimintoja. Oletetaan, että vilkkuva jarruvalo algoritmisi mukaan tai laiska suuntavilkku tai anturien aktivoinnin ilmaisu ja toisto (ääni, valo). Kyllä, meillä ei ole tarpeeksi mielikuvitusta luetellaksemme kaikkea, mitä tällä laitteella voidaan tehdä. Lyhyesti sanottuna asetat joitain ehtoja tiettyjen toimien toteuttamiselle, mutta aivot, jotka tarjoavat tällaista työtä, ovat Arduino. Joten jos sinulla on loogisia tehtäviä, jotka haluaisit ratkaista autossa, niin usko se kaikki pienelle avustajallesi. Kuitenkin, kuten kaikki avustajat, myös Arduinomme haluaa syödä. Ja se saa virtansa auton sisäverkosta tulevalla sähköllä. Tässä tapauksessa Arduino-logiikka toimii 5 ja 3,3 voltilla. Tietysti Arduinossa on vakiona jännitteen stabilointi, mutta se ei välttämättä riitä tarjoamaan tarvittavaa tehoa virtalähteelle. Siksi seuraava kappale on omistettu Arduinon liittämisen jännitteen vähentämiselle.

Mitä jännitettä Arduino tarvitsee autoon?

Joten nyt tärkeimmästä asiasta, josta artikkelimme itse asiassa kirjoitettiin. Kyllä, tietysti voisimme yksinkertaisesti ohjata lukijan sivulle "Kuinka muuntaa 12 volttia 5 voltiksi autossa" ja unohtaa kaikki... Koska olemme kuitenkin kantaneet tämän taakan, jatketaan teemallisesti. .

Jos katsot Arduinon teknisiä tietoja, voit löytää tietoa siitä, että Arduino UNO saa virtansa 9 voltista. Itse asiassa tällainen yliarvioitu jännite on melko perusteltua, koska jos syötät Arduinoon 5 volttia kerralla, se ei välttämättä riitä. Asia on siinä, että Arduinolla on omat jännitteen stabilisaattorit levyllä, ja niillä on myös jonkinlainen tehokkuus. Tämän seurauksena, jos käytät nimelliskäyttöjännitettä, sen jälkeen se on alhaisempi kuin nimellisjännite stabilaattoreiden oman vastuksen vuoksi. Jälleen, jos käytät 12-14 volttia, tämä on liikaa. Loppujen lopuksi stabilisaattorit valmistetaan pääsääntöisesti SOT-223-paketissa, ja tällaisessa paketissa 1117-sarjan stabilaattoreiden tehohäviö on vain 0,8 W. Selvitetään se. Jos kytket 8-10 LEDiä vastaavan kuorman, se on noin 100 mA. Tämän seurauksena vakiostabilisaattorit putoavat 7 voltista 9 volttiin. Siitä tulee 0,1*9=0,9W. Eli tässä tapauksessa stabilointisiru vaatii jo jäähdyttimen, jota ei etukäteen ole saatavana Arduinossa. Tästä tulemme siihen tulokseen, että optimaalinen virtalähde on 7-9 volttia. Ja sitten Arduino itse saa tarvitsemansa tästä jännitteestä. Nyt puhutaan siitä, kuinka saada tällainen jännitys.

Arduinon virtalähde (liitäntä) koneeseen (muuntimet)

Aloitetaan jostain absurdista, mutta ehkä jostakin, joka saattaa jopa tulla jollekulle mieleen! Kun käynnistämme Arduinoa, jätämme välittömästi sarjaan kytketyt vastukset ja jännitteen pienentämisen. Ei ole väliä, että ne ovat tehokkaita ja pystyvät haihduttamaan vaaditun tehon. Asia on siinä, että Arduino voi kuluttaa eri tehoa eri ajanjaksoina, mikä tarkoittaa, että virtaa rajoittavan resistanssin on muututtava, mikä on mahdotonta tavallisella staattisella, niin sanotusti vastuksella!

Joten meillä on oltava dynaamisesti muuttuva komponentti mikro-ohjaimen virtalähteessä. Tässä on aika kääntyä mikropiireihin - stabilaattoreihin. Oletetaan, että LM7809, 7808 pystyvät toimittamaan virtaa jopa 1,5 A ja vähentämään jännitettä. Selvitetään se täälläkin. 14-9 = 5. Stabilisaattorin on sammutettava 5 volttia. Olkoon virrankulutus 150 mA. Tämän seurauksena 0,15 * 5 = 0,75 W on haihdutettava TO-220-runkoon. No, mitä voin sanoa, kaikki on melko tärkeää ja todellista. Osa lämmöstä haihtuu ulkoiseen stabilointiaineeseen ja osa tavalliseen. Toistamme jälleen, että sinun ei pitäisi ottaa 7805: tä, koska se on liian pieni virtalähde Arduinolle, ja lisäksi tällaisen stabilisaattorin tehonhäviö kaksinkertaistuu, mikä tarkoittaa, että sinun on ehdottomasti asennettava jäähdytin.

(7809:n ja 7805:n liitäntä on samanlainen)

No, jos pysyt ajan tasalla, niin ehkä kannattaa kiinnittää huomiota PWM-virtalähteeseen. Laaja pulssimodulaatio on, kun jännitettä ei syötetä kuormaan jatkuvasti, vaan pulsseina. Tällöin pulssien kokonaisarvon keskiarvo säilyy kuormituksella. Loppujen lopuksi näiden pulssien väliset tauot antavat sinun säästää energiakustannuksissa virransyötön aikana eivätkä vaadi lämmönpoistoelementtejä - pattereita. Ainoa asia on, että PWM on jonkin verran kalliimpaa kuin pelkät stabilointimikropiirit, ja tuskin kukaan kokoaa tällaista piiriä omin käsin. Valmiin lohkon ostaminen on helpompaa, mutta jälleen kerran, tämä on progressiivisempaa.

Yhteenvetoa…

No, periaatteessa voimme jo tiivistää sen tähän. Jos sinun on liitettävä Arduino auton sisäverkkoon, paras vaihtoehto olisi käyttää PWM-moduulia, jonka käyttöjännite on 7-9 volttia. Arduino hoitaa loput itse. 5 voltin moduuleja ja stabilointimikropiirejä samalle jännitteelle ei suositella, koska häviöiden vuoksi virransyöttö voi olla nimellisarvoa pienempi.

Video Arduinon kytkemisestä 12 volttiin autossa

Tämä on ensimmäinen robottiprojekti, jonka olen koskaan tehnyt, ja jos et ole koskaan yrittänyt rakentaa robottia, luulet sen olevan vaikeaa. Mutta Arduino ja 2WD/4WD-runko tekevät kokoamisestasi paljon helpompaa ja rakennat ensimmäisen Arduino RC -robotin ilman kipua.


Matkan varrella keksin idean tehdä omin käsin radio-ohjattu auto, joka kiertäisi esteitä, joten kokosin tämän projektin, videon ja ohjelmatiedoston, jonka liitän alla.

Tiedostot

Vaihe 1: Tarvittavat osat ja työkalut

Käytin valmiita ratkaisuja ja kaikki osat ja työkalut ostettiin verkosta.

Varaosat:

  1. 4WD-alustasarja robotille (GearBest)
  2. Arduino Nano (GearBest)
  3. LM298 H-Bridge Module (GearBest)
  4. Bluetooth-moduuli HC-06 (Amazon)
  5. Li-ion akut 2 x 18650 (GearBest)
  6. Akkulokero 2x 18650 (GearBest)
  7. Pieni kehityslautakunta (GearBest)
  8. Johdot, joiden poikkileikkaus on 0,5 mm2
  9. Johdot uros-naaras-puseroilla (Amazon)
  10. Johdot naaras-naaras-puseroilla (Amazon)
  11. Peiteteippi, ilmastointiteippi tai jotain vastaavaa (Amazon)

Esteitä välttävälle robotille:

Ultraäänietäisyyden mittausmoduuli HC - SR04 (GearBest)

Tarvittava työkalu:

  1. Juotosrauta (Amazon)
  2. Lankaleikkurit (Amazon)
  3. Langanpoistaja (GearBest)
  4. Liimapistooli (GearBest)

Vaihe 2: Mikä on robotti?

Robotti on sähkömekaaninen laite, joka pystyy jollain tavalla reagoimaan ympäristöönsä ja tekemään itsenäisiä päätöksiä tai toimia tiettyjen tavoitteiden saavuttamiseksi.

Robotti koostuu seuraavista osista:

  1. Rakenne/runko
  2. Käyttömoottori
  3. Ohjain
  4. Syöttölaitteet / anturit
  5. Virtalähde

Seuraavissa vaiheissa kuvailen jokaista näistä komponenteista, jotta ymmärrät kaiken helposti.

Vaihe 3: Rakenne/runko



Rakenne koostuu fyysisistä komponenteista. Robotissa on yksi tai useampia fyysisiä komponentteja, jotka liikkuvat jollain tavalla suorittaakseen tehtävän. Meidän tapauksessamme robotin rakenne on alusta ja pyörät.

Vaihe 4: Asemat



Toimilaite voidaan ymmärtää laitteeksi, joka muuttaa energian (robotiikassa energialla tarkoitetaan sähköenergiaa) fyysiseksi liikkeeksi. Useimmat toimilaitteet tuottavat pyörivää tai lineaarista liikettä.

Meidän tapauksessamme käyttö on tasavirtamoottori, jonka nopeus on 3000 rpm ja vääntömomentti 0,002 Nm Nyt lisätään siihen vaihde, jonka välityssuhde on 1:48. Uutta nopeutta vähennetään kertoimella 48 (tuloksena 3000/44 = 68 rpm) ja vääntömomenttia kasvatetaan kertoimella 48 (tuloksena 0,002 x 48 = 0,096 Nm).

Vaihe 5: Valmistele moottorin liittimet




Leikkaa 4 punaista ja mustaa lankaa, pituus noin 12-15 cm. Käytin johtoja, joiden poikkileikkaus oli 0,5 mm2. Kuori johtojen päät. Juota johdot moottorin liittimiin.

Voit tarkistaa moottoreiden napaisuuden kytkemällä ne akkutilaan. Jos se kulkee eteenpäin (punainen johto akkujen positiivisessa navassa ja musta johto negatiivisessa napassa), liitäntä on kunnossa.

Vaihe 6: Asenna moottori




Kiinnitä kaksi akryylivälikettä jokaiseen moottoriin kahdella pitkällä pultilla ja kahdella mutterilla. Selvyyden vuoksi voit katsoa videon.

Huomaa, että kunkin moottorin johdot johtavat rungon keskelle. Liitä sekä punaiset että mustat johdot moottoreista rungon molemmilla puolilla. Kun olet liittänyt, sinulla on kaksi liitintä vasemmalla puolella ja kaksi oikealla.

Vaihe 7: Asenna katto

Kun olet asentanut 4 moottoria, sinun on asennettava katto. Kiinnitä 6 kuparipylvästä muttereilla, vie johdinliittimet katon reiän läpi.

Vaihe 8: Ohjain

Nyt meillä on kotelo ja asemat asennettuna, mutta meiltä puuttuu ohjain. Alusta ilman ohjainta ei mene minnekään. Robotti pysyy paikallaan elottomina. Siksi, jotta robotti voisi liikkua, tarvitsemme aivot (ohjaimen).

Ohjain on ohjelmoitava laite, joka voi toimia tietyn ohjelman mukaan ja joka vastaa kaikista laskelmista, päätöksenteosta ja viestinnästä. Meidän tapauksessamme käytämme ohjaimena Arduino Nano -mikro-ohjainta.

Ohjain vastaanottaa syötetiedot (antureilta, etänä jne.), käsittelee sen ja käskee sitten käyttölaitteita (moottoreita) suorittamaan valitun tehtävän.

Jos liität positiivisen johdon akuista moottorin yhdelle puolelle ja liität sitten negatiivisen johdon akuista moottorin toiselle puolelle, se alkaa pyöriä eteenpäin. Jos vaihdat johdot, moottori alkaa pyöriä toiseen suuntaan.

Mikro-ohjaimella voidaan pyörittää moottoria yhteen suuntaan, mutta jos haluat käyttää mikro-ohjainta moottorin pyörittämiseen sekä eteen- että taaksepäin, tarvitset lisäpiirin - H-sillan. Seuraavassa vaiheessa selitän, mikä se on.

Vaihe 9: H-silta (LM 298 -moduuli)




Mikä on H-silta?

Termi H-silta tulee tämän piirin tyypillisestä graafisesta esityksestä. Tämä on piiri, joka voi pyörittää moottoria sekä eteen- että taaksepäin.

Toimintaperiaate:
Katso oheinen kuva ymmärtääksesi H-siltapiirin toimintaperiaatteen. Silta koostuu 4 elektronisesta kytkimestä S1, S2, S3, S4 (transistorit / MOSFET / IGBTS).

Kun kytkimet S1 ja S4 ovat kiinni ja kaksi muuta auki, positiivinen jännite kulkee moottorin läpi ja se pyörii eteenpäin. Samalla tavalla, kun kytkimet S2 ja S3 ovat kiinni ja S1 ja S4 auki, moottoriin syötetään käänteistä jännitettä ja se alkaa pyöriä vastakkaiseen suuntaan.

Huomautus: Saman varren kytkimet (eli S1, S2 tai S3, S4) eivät koskaan sulje samanaikaisesti - tämä aiheuttaa oikosulun.

H-sillat ovat saatavilla integroituina piireinä, tai voit rakentaa oman sillan käyttämällä 4 transistoria tai MOSFETiä. Minun tapauksessani käytetään integroitua LM298 H-siltapiiriä, jonka avulla voit ohjata moottoreiden nopeutta ja suuntaa.

Pinout-kuvaus:

Ulos 1: DC-moottori 1 "+" tai askelmoottori A+
Ulos 2: DC-moottori 1 "-" tai askelmoottori A-
Ulos 3: DC-moottori 2 "+" tai askelmoottori B+
Ulos 4: Moottorin lähtö B
12V: 12V tulo, mutta 7-35V voidaan käyttää
GND: Maa
5v: 5V lähtö, jos 12V jumpperi on paikallaan, ihanteellinen Arduinon (jne.) virransyöttöön.
EnA: Voit vastaanottaa PWM-signaaleja moottorille A (lue Arduino Sketch Huomioitavaa)
IN1: käynnistää moottorin A
IN2: käynnistää moottorin A
IN3: käynnistää moottorin B
IN4: käynnistää moottorin B
BEnB: Voit vastaanottaa PWM-signaaleja moottorille B (lue Arduino Sketch Huomioitavaa)

Vaihe 10: Tulot/anturit

Toisin kuin ihmiset, robotit eivät rajoitu vain näköön, ääneen, kosketukseen, hajuun ja makuun. Robotit käyttävät erilaisia ​​antureita ollakseen vuorovaikutuksessa ulkomaailman kanssa.

Anturi on laite, joka havaitsee ja reagoi tietyntyyppiseen ympäristöstä tulevaan tietoon. Tämä tieto voi olla valoa, lämpöä, liikettä, kosteutta, painetta tai mitä tahansa muuta ympäristöilmiötä.

Saapuvat signaalit voivat tulla antureista, etänä tai älypuhelimesta. Tässä opetusohjelmassa käytän älypuhelinta laitteena, joka lähettää signaaleja robotin ohjaamiseksi.

Vaihe 11: Virtalähde





Toimilaitteiden (moottoreiden) ohjaamiseen ja ohjaimen virransyöttöön robotti tarvitsee virtalähteen. Useimmat robotit toimivat paristoilla. Kun puhumme akuista, meillä on mielessämme monia vaihtoehtoja:

  1. AA-alkaliparistot (ei ladattavia)
  2. NiMH- tai NiCd AA-akut (ladattavat)
  3. Litiumioniakut
  4. Litiumpolymeeriakut

Riippuen tarpeistasi, sinun on valittava sopiva akkutyyppi. Mielestäni kannattaa aina valita ladattavat akut, joiden kapasiteetti on riittävä. Käytin 2 kpl 18650 litiumioniakkuja, joiden kapasiteetti oli 2600 mAh. Jos tarvitset lisää tehoa autonomiaa varten, käytä suurta akkusarjaa, kuten 5A:n turnigya.

Akkuosasto:
Tilasin paristolokeron Kiinasta ja se ei mahtunut litteisiin akkuihin, joten käytin paristojen muotoiluun kahta neodyymimagneettia.

Laturi:
Akkujen lataamiseen tarvitset hyvän laturin. Kokemukseni mukaan nämä laturit ovat toimineet hyvin:

  1. PowerEx AA -laturi-analysaattori (Amazon)
  2. XTAR LiIon-akkulaturi (Amazon)
  3. Turnigy LiPo -akkulaturi (Amazon)

Vaihe 12: Komponenttien asentaminen


Yksiosainen piiri asennetaan katolle. Kiinnitin paristokotelon, LM 298 moottoriohjaimen ja pienen leipälevyn kuumaliimalla, mutta voit vain ruuvata ne kiinni. Bluetooth-moduuli on kiinnitetty teipillä. Aseta Arduino nano leipälautaan.

Vaihe 13: Johdotus






Moduulien liittämiseen tarvitset johtoja, joissa on jumpperi.
Yhdistä kahden moottorin punaiset johdot yhteen (kummallakin puolella) ja sitten mustat johdot. Tämän seurauksena sinulla on kaksi liitintä kummallakin puolella.

MOTORA vastaa kahdesta oikeasta moottorista, vastaavasti, kaksi vasenta moottoria on kytketty MOTORB:hen.
Liitä kaikki komponentit seuraavien ohjeiden mukaan:

Moottorin liitäntä:

Out1 -> vasen moottorin punainen johto (+)
Out2 -> vasemman moottorin musta johto (—)
Out3 -> oikeanpuoleinen moottorin punainen johto (+)
Out4 -> musta johto oikealle moottorille (-)
LM298 -> Arduino
IN1 -> D5
IN2->D6
IN2 ->D9
IN2->D10
Bluetooth-moduuli -> Arduino
Rx->Tx
Tx ->Rx
GND -> GND
Vcc -> 3,3V
Ravitsemus
12V -> punainen akun johto
GND -> musta akun johto ja GND-nasta Arduinossa
5V -> yhdistä Arduinon 5V-pintaan

Vaihe 14: Ohjauslogiikka

Ymmärtääkseni, miten se toimii, loin tämän logiikkataulukon. Se on erittäin kätevä koodia kirjoitettaessa.

Vaihe 16: Testaus



Testatakseni robottiautoa asetin sen pienelle pahvilaatikko. Näin pyörät pyörivät, mutta auto pysyy paikallaan. Tarkista toiminta painamalla kaikkia käytettävissä olevia painikkeita. Jos kaikki toimii, voit todella hallita sitä.

Huomautus: Jos moottorit pyörivät vastakkaiseen suuntaan, vaihda johdot.

Vaihe 17: Tulevaisuuden suunnitelmat




Tässä opetusohjelmassa selitin yksinkertaisen auton luomisen. Seuraavaksi haluan lisätä siihen joitain parannuksia. Voit kiinnittää siihen erilaisia ​​antureita, tässä muutamia ideoita:

  1. Ultraäänianturin lisääminen esteiden välttämiseksi
  2. Käyttö WiFi moduuli, kuten ESP8266 tai Node MCU Bluetoothin sijaan, ohjausetäisyyden pidentämiseksi.
  3. Lisäys aurinkopaneeli akkujen lataamiseen.