Sisällysluettelo:

Rakenna koneen tarkkailija: 9 vaihetta
Rakenna koneen tarkkailija: 9 vaihetta

Video: Rakenna koneen tarkkailija: 9 vaihetta

Video: Rakenna koneen tarkkailija: 9 vaihetta
Video: Joscha Bach Λ Karl Friston: Ai, Death, Self, God, Consciousness 2024, Marraskuu
Anonim
Rakenna Machine Watcher
Rakenna Machine Watcher
Rakenna Machine Watcher
Rakenna Machine Watcher

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

Laatikon rakentaminen
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

Arduinon asennus
Arduinon 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

Ohjelmisto - XCTU
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

Ohjelmisto - Arduino Sketch
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

Ohjelmisto - työpöytäsovellus
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: