Sadržaj:

Nadzor stroja za izgradnju: 9 koraka
Nadzor stroja za izgradnju: 9 koraka

Video: Nadzor stroja za izgradnju: 9 koraka

Video: Nadzor stroja za izgradnju: 9 koraka
Video: Как проверить генератор. За 3 минуты, БЕЗ ПРИБОРОВ и умений. 2024, Juli
Anonim
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher
Build Machine Watcher

Početna tačka ovog projekta bila je rad na konkretnom projektu kako bi se naučilo nekoliko stvari o pločama mikrokontrolera.

Početna ideja bila je stvoriti fizički objekt koji bi mogao nadzirati sistem kontinuirane integracije (VSTS | Azure DevOps) i prijavljivati greške pri izgradnji softvera. Zbog sigurnosnih razloga IT odjela, odbijeno mi je povezivanje "nestandardnog" uređaja izravno na mrežu preduzeća.

Završio sam s arhitekturom prikazanom na gornjoj slici. Tok izvođenja može se sažeti kao:

Windows desktop aplikacija skenira (povuče) VSTS Build Definicije. On analizira rezultate izgradnje, a zatim šalje naredbu fizičkom uređaju koji izvršava malo animiranu sekvencu prije nego što prikaže crvenu ili zelenu zastavicu.

Korak 1: Potrebni dijelovi

Sljedeća lista sažima sve potrebne stavke:

  • 1 Arduino UNO R3 (https://store.arduino.cc/usa/arduino-uno-rev3).
  • 1 Štit za proširenje (https://www.dfrobot.com/wiki/index.php/IO_Expansion_Shield_for_Arduino_V7_SKU:DFR0265).
  • 2 XBee S1 modula (https://www.adafruit.com/product/128).
  • 1 XBee explorer dongle (https://www.sparkfun.com/products/11697).
  • 2 kontinuirana servo motora 5VDC sa priborom za pričvršćivanje (https://www.parallax.com/sites/default/files/downloads/900-00008-Continuous-Rotation-Servo-Documentation-v2.2.pdf).
  • 1 9VDC napajanje.
  • 3 LED diode.
  • 3 otpornika 220 Ohma.
  • termo uvlačivi rukav.
  • 1 dugme.
  • 10KΩ otpor za povlačenje.
  • 100nF kondenzator.
  • električne žice.
  • strip-board (za postavljanje dugmeta)
  • 5 mm drvo (50x50cm).
  • drveni štap kvadratnog presjeka 5x5 mm (1m).
  • kartona.
  • 10 X vijak promjera 2 mm.
  • 4 vijka prečnika 5 mm.
  • snažan magnet.
  • modul za okretanje. Ponovno sam upotrijebio unutrašnji pokretni dio trepćućeg svjetla. možete staviti šta god želite. Morat ćete samo voditi računa da se 2 mobilna dijela mogu slobodno kretati bez dodirivanja.

Korak 2: Izgradnja kutije

Izgradnja kutije
Izgradnja kutije

Zapravo možete imati kutiju bilo kojeg oblika koji želite. Glavne stvari o kojima treba razmisliti prije početka su mjesta na kojima će se nalaziti pokretni dijelovi i osigurati njihovo slobodno kretanje bez dodirivanja. Još jedna stvar je gdje ćete staviti uređaj? Završio sam s magnetom (jakim) kako bih ga zalijepio za bilo koju metalnu podlogu. ako želite izgraditi isti okvir, možete slijediti upute u datoteci box_drawings.pdf.

U tom slučaju samo morate izrezati sve različite komade, napraviti rupe za servomotore, LED diode, gumb i vijke te na kraju zalijepiti sve dijelove. Kad se osuši, malo brušenja i malo boje.

Dvije zastave izrađene su od crvenog i zelenog kartona. Za pričvršćivanje jarbola zastavice na servomotore možete koristiti priložene dijelove za montažu kada ih kupujete.

Korak 3: Arduino postavljanje

Arduino postavljanje
Arduino postavljanje

Stavke povezane na Arduino produžnu ploču su:

  • D2 PIN: dugme za pritiskanje.
  • D4 PIN: LED lampica koja signalizira da je sistem UKLJUČEN.
  • D5 PIN: LED lampica koja govori da izvršavamo ciklus.
  • D6 PIN: LED lampica koja govori da je uređaj primio novu poruku.
  • D9 PIN: PWM impulsni signal za servomotor koji upravlja žiroskopom.
  • D10 PIN: PWM impulsni signal za servomotor koji rukuje zastavicom.
  • XBee utičnica: jedan ZigBee modul.

Gornja shema prikazuje kako su sve stavke povezane s pločom.

Za LED diode, otpornik i žice su direktno zavareni na njega (vodite računa o polaritetu). Zatim se sve pakuje u neki termo uvlačivi rukav.

Za tipku, svi dijelovi (gumb, otpornik i kondenzator) izravno su zavareni na maloj satelitskoj traci. Pločica se zatim direktno učvršćuje s dva vijka (2 mm)

Servo motori rade sa snagom od 5 V pa se stoga mogu spojiti izravno na Arduino. Ako koristite one s većim naponom (12V), morat ćete dodati još jedan sloj za napajanje.

Za XBee module, nakon što su konfigurirani da razgovaraju zajedno (pogledajte sljedeći odjeljak), mogu se direktno priključiti na utičnice.

Napomene: LED diode i dugme za pritiskanje mogli su biti direktno povezani na Arduino pinove jer mogu interno implementirati potrebne vrijednosne papire. Uradio sam samo stari način jer mi ovaj aspekt nije bio sasvim jasan.

Korak 4: Softver - XCTU

Softver - XCTU
Softver - XCTU

Kao što je gore spomenuto, dva XBee uređaja moraju biti konfigurirana za zajednički razgovor. Da biste to učinili, morate koristiti namjenski softver X-CTU kompanije DIGI. Ovaj korak konfiguracije morate izvršiti samo jednom. slijedite postupak opisan u datoteci xbee_configuration.pdf.

Nakon što je konfiguracija završena, možete spojiti svaki modul na njihovu utičnicu. Jedan na USB/serijskom pretvaraču i jedan na Arduino produžnoj ploči.

Windows 10. USB/serijski pretvarač bi trebao automatski prepoznati Windows 10. Ako nije, možda ćete morati ručno instalirati upravljački program

Bilješka:

Korištenje XBee modula za obavljanje osnovne serijske komunikacije pomalo je pretjerano. U vrijeme kada sam započeo projekt nisam uspio pronaći jednostavne serijske komunikacijske uređaje koji bi se lako mogli koristiti u sustavu Windows 10 (problemi s upravljačkim programima). To je bila i prilika da naučite nekoliko stvari o

Korak 5: Softver - Arduino Sketch

Softver - Arduino Sketch
Softver - Arduino Sketch

Za programiranje Arduina koristimo IDE dostupan sa službene web stranice.

Logika programa je prilično jednostavna, on samo sluša na zadanim serijskim portovima ploče pojedinačna slova ('a', 'b', …). Ako se primljeni znak podudara s poznatom naredbom, tada podfunkcija reproducira odgovarajuću sekvencu.

Dvije glavne korisne naredbe su animacija uspjeha ('a') i animacija greške ('b').

Da biste se mogli igrati (ili otklanjati pogreške) još malo s kutijom, postoje neke dodatne naredbe koje se mogu izvršiti. Oni su:

  • ‘O’: prisilite UKLJUČENO LED da svijetli
  • ‘P’: prisilite LED za uključivanje da se isključi
  • ‘Q’: prisilite LED za novu poruku da svijetli
  • ‘R’: prisilite LED za novu poruku da se isključi
  • ‘S’: prisilite LED lampicu ciklusa da svijetli
  • ‘T’: prisilite LED lampicu ciklusa da se ugasi
  • ‘U’: aktiviranje servomotora žiroskopa
  • ‘V’: aktiviranje servomotora zastavice.

Osim serijske naredbe, postoji i potprogram (handlePushButton) koji se aktivira pritiskom na tipku na uređaju. U tom slučaju greška ili animacija uspjeha reproduciraju se automatski. Ova funkcija omogućava provjeru je li fizički uređaj ispravno montiran.

Kod Arduino skice nalazi se u jednoj datoteci bsldevice.ino. Možete ga učitati direktno pomoću IDE -a.

Korak 6: Softver - Desktop aplikacija

Softver - Desktop aplikacija
Softver - Desktop aplikacija

Svrha aplikacije za računare je nadgledanje Microsoft Azure DevOps (ranije VSTS) web lokacije i otkrivanje da li je definicija izrade uspješna ili greškom. Svaki put kada je izgradnja završena, desktop aplikacija određuje status verzije i šalje odgovarajuću naredbu ('a' ili 'b') na serijski port (COMx).

Nakon pokretanja aplikacije prva radnja je odabir pravog com porta na koji je povezan ZigBee modul. Za određivanje porta možete koristiti Windows Device Manager (pod Portovi (odjeljak COM & LPT)). Povezivanje sa Azure DevOps -om vrši se automatski pri pokretanju koristeći vjerodajnice trenutnog korisnika. Također možete ručno poslati bilo koju unaprijed definiranu naredbu pomoću kombiniranog okvira s desne strane.

Svi izvori generirani su s Visual Studio 2017 profesionalnim izdanjem. Zahtijeva. NET Framework 4.6.1. Ova verzija Framework -a je poželjna za olakšavanje povezivanja/provjere autentičnosti na VSTS web stranicu.

koristiti:

  • preuzmite arhivu bslwatcher_sources.zip.
  • Raspakujte ga na disk.
  • Za detalje o izgradnji pročitajte datoteku how_to_build.txt.

Korak 7: Prvi početak

Dvije su glavne stvari koje treba imati na umu pri pokretanju kutije:

1- Ne postoji način da sistem sam sazna gdje su zastavice. Sistem pretpostavlja da je pri pokretanju zelena zastavica podignuta.

2- Prilikom uključivanja Arduino ploče ništa se ne bi trebalo pomaknuti. Kako smo koristili kontinuirane servo pogone, nulta pozicija je zadano postavljena na 90 u datoteci skice. Ako se servo motor počne okretati ili stvarati buku. možda ćete morati ponovno definirati nultu poziciju. Da biste to učinili, samo namjestite potenciometar unutar male rupe sa strane servomotora.

www.arduino.cc/en/Reference/ServoWrite

cmra.rec.ri.cmu.edu/content/electronics/boe…

Korak 8: Zaključak

Ovaj mali uređaj fizički će izvještavati o statusu vašeg sistema za kontinuiranu integraciju.

Budući da je "inteligencija" u aplikaciji za računare, možete koristiti okvir za praćenje bilo kojeg drugog softvera ili procesa (pošta, senzor temperature …). Samo trebate imati pristup drugom API -ju i odlučiti šta je "dobro", a šta "loše". Ako ne koristite crvene i zelene konvencionalne boje, čak možete promijeniti značenje "poruke".

Poboljšanja bi se mogla unijeti i u samu kutiju:

  • Koristite bateriju.
  • Koristite drugi komunikacijski protokol.
  • Dodajte senzore da znate koja je zastava na vrhu.

Nadam se da vam je ovaj projekt bio zanimljiv.

Hvala što ste pročitali do ovdje.

Korak 9: Dodatak

Neki od linkova korištenih za kreiranje ovog projekta:

Arduino web stranica:

DIGI web stranica:

XCTU softver:

Neke informacije korištene od drugih:

arduino.stackexchange.com/questions/1321/se…

stackoverflow.com/questions/10399400/best-w…

www.mon-club-elec.fr/pmwiki_reference_ardui… (na francuskom)

jeromeabel.net/

MSDN web stranica općenito:

docs.microsoft.com/en-us/dotnet/framework/…

Preporučuje se: