Sisällysluettelo:
- Vaihe 1: Tarvittavat osat
- Vaihe 2: Laatikon rakentaminen
- Vaihe 3: Arduino -asennus
- Vaihe 4: Ohjelmisto - XCTU
- Vaihe 5: Ohjelmisto - Arduino Sketch
- Vaihe 6: Ohjelmisto - työpöytäsovellus
- Vaihe 7: Ensimmäinen aloitus
- Vaihe 8: Johtopäätös
- Vaihe 9: Liite
Video: Rakenna koneen tarkkailija: 9 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Tämän projektin lähtökohtana oli työskennellä konkreettisen projektin parissa ja oppia muutamia asioita mikro-ohjainkorteista.
Alun perin ajatuksena oli luoda fyysinen objekti, joka voisi valvoa jatkuvan integroinnin järjestelmää (VSTS | Azure DevOps) ja ilmoittaa ohjelmiston rakennusvirheistä. Tietotekniikkaosaston turvallisuusongelmien vuoksi olen kieltäytynyt yhdistämästä "ei -standardia" laitetta suoraan yritysverkkoon.
Päädyin arkkitehtuuriin, joka näkyy yllä olevassa kuvassa. Suorituksen työnkulku voidaan tiivistää seuraavasti:
Windows -työpöytäsovellus skannaa (vedä) VSTS -koontimääritykset. Se analysoi koontitulokset ja lähettää sitten komennon fyysiselle laitteelle, joka suorittaa pienen animoidun sekvenssin ennen punaisen tai vihreän lipun näyttämistä.
Vaihe 1: Tarvittavat osat
Seuraavassa luettelossa on yhteenveto kaikista tarvittavista kohteista:
- 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
- 1 Laajennussuoja (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
- 2 XBee S1 -moduulia (https://www.adafruit.com/product/128).
- 1 XBee explorer dongle (https://www.sparkfun.com/products/11697).
- 2 jatkuvaa 5VDC-servomoottoria kiinnitystarvikkeilla (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
- 1 9VDC virtalähde.
- 3 LEDiä.
- 3 vastusta 220 ohmia.
- sisäänvedettävä lämpöholkki.
- 1 painike.
- 10KΩ vetovastus vetämistä varten.
- 100nF kondensaattori.
- sähköjohdot.
- nauhalevy (painikkeen kiinnittämiseen)
- 5 mm puu (50 x 50 cm).
- puutikku neliöosa 5x5 mm (1m).
- pahvi.
- 10 X ruuvi, halkaisija 2 mm.
- 4 ruuvia, halkaisija 5 mm.
- vahva magneetti.
- kääntömoduuli. Käytin vilkkuvan valon sisäistä liikkuvaa osaa uudelleen. voit laittaa mitä haluat. Sinun on vain huolehdittava siitä, että kaksi liikkuvaa osaa voivat liikkua vapaasti koskematta yhteen.
Vaihe 2: Laatikon rakentaminen
Itse asiassa sinulla voi olla haluamasi muotoinen laatikko. Ennen kuin aloitat, on tärkeintä miettiä liikkuvien osien sijaintia ja varmistaa, että ne voivat liikkua vapaasti koskematta yhteen. Toinen asia on se, minne aiot sijoittaa laitteen? Päädyin magneettiin (vahva magneetti) kiinnittääkseni sen mihin tahansa metalliseen tukeen. Jos haluat rakentaa saman laatikon, voit seurata tiedoston box_drawings.pdf ohjeita.
Siinä tapauksessa sinun on leikattava kaikki eri osat, tehtävä reiät servomoottoreille, LEDeille, painikkeelle ja ruuveille ja lopuksi liimata kaikki osat yhteen. Kun se on kuiva, hieman hiontaa ja hieman väriä.
Kaksi lippua on tehty käyttämällä punaista ja vihreää pahvia. Voit kiinnittää lippumaston servomoottoreihin käyttämällä niiden mukana toimitettuja asennusosia.
Vaihe 3: Arduino -asennus
Arduino -laajennuskorttiin liitetyt tuotteet ovat:
- D2 PIN: painike.
- D4 PIN: LED, joka ilmoittaa, että järjestelmä on päällä.
- D5 PIN: LED, joka ilmoittaa suorittavamme syklin.
- D6 PIN: LED, joka ilmoittaa, että laite on vastaanottanut uuden viestin.
- D9 PIN: PWM -pulssisignaali gyroa käsittelevälle servomoottorille.
- D10 PIN: PWM -pulssisignaali lippua käsittelevälle servomoottorille.
- XBee -kanta: yksi ZigBee -moduuli.
Yllä oleva kaavio osoittaa, kuinka kaikki kohteet on kytketty piirilevyyn.
LEDien osalta vastus ja johdot hitsataan suoraan siihen (huolehdi napaisuudesta). Kaikki pakataan sitten sisäänvedettävässä lämpöholkissa.
Painonapin kaikki osat (painike, vastus ja kondensaattori) hitsataan suoraan pieneen satelliittinauhalevyyn. Nauhalevy kiinnitetään sitten suoraan kahdella ruuvilla (2 mm)
Servomoottorit toimivat 5 V: n teholla, joten ne voidaan liittää suoraan Arduinoon. Jos käytät korkeamman jännitteen (12 V) jännitteitä, sinun on lisättävä toinen kerros virtalähteelle.
Kun XBee -moduulit on määritetty puhumaan yhdessä (katso seuraava osa), ne voidaan kytkeä suoraan pistorasioihin.
Huomautuksia: LEDit ja painike olisi voitu liittää suoraan Arduino -nastoihin, koska ne voivat toteuttaa tarvittavat arvopaperit sisäisesti. Tein vain vanhan tavan, koska tämä näkökohta ei ollut minulle kovin selvä.
Vaihe 4: Ohjelmisto - XCTU
Kuten edellä mainittiin, kaksi XBee -laitetta on määritettävä puhumaan yhdessä. Tätä varten sinun on käytettävä DIGI: n X-CTU-ohjelmistoa. Sinun on tehtävä tämä määritysvaihe vain kerran. noudata xbee_configuration.pdf -tiedostossa kuvattua menettelyä.
Kun määritykset on tehty, voit liittää kunkin moduulin pistorasiaan. Yksi USB-/sarjamuuntimessa ja yksi Arduino -laajennuskortissa.
Windows 10 tunnistaa automaattisesti USB-/sarjamuuntimen. Jos näin ei ole, sinun on ehkä asennettava ohjain manuaalisesti
Huomautus:
XBee -moduulien käyttäminen sarjaliikenteen perusviestintään on hieman liioittelua. Kun aloitin projektin, en onnistunut löytämään yksinkertaisia sarjaliikennelaitteita, joita olisi helppo käyttää Windows 10: ssä (ohjainongelmat). Se oli myös tilaisuus oppia muutamia asioita osoitteesta
Vaihe 5: Ohjelmisto - Arduino Sketch
Arduinon ohjelmointiin käytämme IDE: tä, joka on saatavilla viralliselta verkkosivustolta.
Ohjelman logiikka on melko yksinkertainen, se vain kuuntelee levyn oletussarjaporttia yksittäisistä kirjaimista ("a", "b", …). Jos vastaanotettu merkki vastaa tunnettua komentoa, alitoiminto toistaa vastaavan sekvenssin.
Kaksi tärkeintä hyödyllistä komentoa ovat menestysanimaatio (a) ja virheanimaatio (b).
Jotta voit pelata (tai debuggata) hieman enemmän laatikon kanssa, on joitain ylimääräisiä komentoja, jotka voidaan suorittaa. He ovat:
- 'O': pakota ON -merkkivalo syttymään
- "P": pakota ON -LED pois päältä
- "Q": pakota uuden viestin merkkivalo palamaan
- "R": pakota uuden viestin merkkivalo sammumaan
- 'S': pakota syklin LED palamaan
- "T": pakota Cycle LED sammumaan
- "U": aktivoi gyroskoopin servomoottori
- "V": aktivoi lipun servomoottori.
Sarjakomennon lisäksi on alirutiini (handlePushButton), joka aktivoituu, kun laitteen painiketta painetaan. Siinä tapauksessa virhe- tai menestysanimaatio toistetaan automaattisesti. Tämän ominaisuuden avulla voidaan tarkistaa, että fyysinen laite on asennettu oikein.
Arduino -luonnoksen koodi on yksittäisessä tiedostossa bsldevice.ino. Voit ladata sen suoraan IDE: n avulla.
Vaihe 6: Ohjelmisto - työpöytäsovellus
Työpöytäsovelluksen tarkoitus on valvoa Microsoft Azure DevOps (aiemmin VSTS) -sivustoa ja havaita, onko koontimääritys onnistunut vai virheellinen. Aina kun rakennus on valmis, työpöytäsovellus määrittää koontiversion tilan ja lähettää vastaavan komennon (a tai b) sarjaporttiin (COMx).
Sovelluksen käynnistämisen jälkeen ensimmäinen toiminto on valita oikea tietoportti, johon ZigBee -moduuli on kytketty. Voit määrittää portin käyttämällä Windowsin laitehallintaa (Portit (COM & LPT -osio)). Yhteys Azure DevOpsiin tehdään automaattisesti käynnistyksen yhteydessä käyttämällä nykyisen käyttäjän tunnistetietoja. Voit myös lähettää minkä tahansa ennalta määritetyn komennon manuaalisesti käyttämällä oikealla olevaa yhdistelmäruutua.
Kaikki lähteet on luotu Visual Studio 2017 Professional Editionilla. Se vaatii. NET Framework 4.6.1: n. Tämä Framework -versio on parempi helpottaa yhteyden muodostamista/todentamista VSTS -verkkosivustoon.
käyttää:
- lataa arkisto bslwatcher_sources.zip.
- Pura se levyllesi.
- Lue kuinka rakentaa tietoja how_to_build.txt -tiedostosta.
Vaihe 7: Ensimmäinen aloitus
Laatikkoa käynnistettäessä on pidettävä mielessä kaksi pääasiallista asiaa:
1- Järjestelmä ei voi mitenkään tietää itse, missä liput ovat. Järjestelmä olettaa, että käynnistyksen yhteydessä vihreä lippu on päällä.
2- Kun käynnistät Arduino-kortin, mikään ei saa liikkua. Kun käytimme jatkuvia servoja, nolla -asentoksi on luonnostiedostossa asetettu oletusarvoisesti 90. Jos servomoottori alkaa pyöriä tai aiheuttaa melua. sinun on ehkä määritettävä sen nollapiste uudelleen. Tätä varten sinun on vain viritettävä potentiometri pieneen reikään servomoottorin sivulla.
www.arduino.cc/en/Reference/ServoWrite
cmra.rec.ri.cmu.edu/content/electronics/boe…
Vaihe 8: Johtopäätös
Tämä pieni laite raportoi fyysisesti jatkuvan integrointijärjestelmän tilan.
Koska "älykkyys" on työpöytäsovelluksessa, voit käyttää laatikkoa minkä tahansa muun ohjelmiston tai prosessin seurantaan (posti, lämpötila -anturi …). Sinun tarvitsee vain päästä toiseen sovellusliittymään ja päättää, mikä on "hyvä" tai mikä "huono". Jos et käytä punaista ja vihreää yleistä väriä, voit jopa muuttaa "viestin" merkitystä.
Parannuksia voitaisiin tuoda myös itse laatikkoon:
- Käytä akkua.
- Käytä toista viestintäprotokollaa.
- Lisää antureita tietääksesi, mikä lippu on ylhäällä.
Toivottavasti löysit tämän projektin mielenkiintoiseksi.
Kiitos, että luit tänne asti.
Vaihe 9: Liite
Joitakin linkkejä tämän projektin luomiseen:
Arduinon verkkosivusto:
DIGI-verkkosivusto:
XCTU-ohjelmisto:
Osa muilta käytetyiltä tiedoilta:
arduino.stackexchange.com/questions/1321/se…
stackoverflow.com/questions/10399400/best-w…
www.mon-club-elec.fr/pmwiki_reference_ardui… (ranskaksi)
jeromeabel.net/
MSDN -verkkosivusto yleensä:
docs.microsoft.com/en-us/dotnet/framework/…
Suositeltava:
Ubidots + ESP32- Ennakoivan koneen valvonta: 10 vaihetta
Ubidots + ESP32- Ennakoiva koneen valvonta: Koneen tärinän ja lämpötilan ennakoiva analyysi luomalla sähköpostitapahtumia ja kirjaa tärinästä Google-taulukossa Ubidotsin avulla. Ennakoiva ylläpito ja koneen terveyden seuranta Uuden teknologian nousu, esim. Esineiden internet, raskas ind
Hyödylliset koneen ohjeet: 21 vaihetta (kuvien kanssa)
Hyödytön koneen ohjeet: Hyödytön kone on muunnelma Marvin Minskyn "Ultimate Machine" -ohjelmasta, joka on pohjimmiltaan kone, jonka perimmäinen tavoite on sammuttaa itsensä. Sen rakentamisen jälkeen hämmästyt, kuinka kone, joka koostuu kahdesta kytkimestä ja moottorista, ei
Kosteuden ja lämpötilan tarkkailija, joka käyttää Raspberry Pi: tä SHT25: n kanssa Pythonissa: 6 vaihetta
Kosteuden ja lämpötilan tarkkailija, joka käyttää Raspberry Pi: tä SHT25: n kanssa Pythonissa: Raspberry Pi: n harrastajana ajattelimme joitakin upeampia kokeita sen kanssa. Tässä kampanjassa teemme kosteuden ja lämpötilan tarkkailijan, joka mittaa suhteellista kosteutta ja lämpötilaa käyttäen Raspberry Pi ja SHT25, Humidi
ThingSpeak-IFTTT-ESP32-Ennakoivan koneen valvonta: 10 vaihetta
ThingSpeak-IFTTT-ESP32-Predictive-Machine-Monitoring: Tässä projektissa mitataan tärinää ja lämpötilaa käyttämällä NCD-tärinä- ja lämpötila-anturia, ESP32: ta ja ThingSpeakia. vibrin analysoimiseksi
Digitaalinen manometri/CPAP -koneen näyttö: 6 vaihetta (kuvilla)
Digitaalinen manometri/CPAP -koneen näyttö: Oletko koskaan herännyt aamulla, jos huomasit, että CPAP -naamio on pois päältä? Tämä laite hälyttää, jos olet poistanut naamion tahattomasti unen aikana. CPAP (jatkuva positiivinen hengitysteiden paine) -hoito on yleisin hoitomuoto obstruktiiviselle unelle A