Obsah:

Ovládajte zariadenia v reálnom svete pomocou počítača: 15 krokov (s obrázkami)
Ovládajte zariadenia v reálnom svete pomocou počítača: 15 krokov (s obrázkami)

Video: Ovládajte zariadenia v reálnom svete pomocou počítača: 15 krokov (s obrázkami)

Video: Ovládajte zariadenia v reálnom svete pomocou počítača: 15 krokov (s obrázkami)
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, Júl
Anonim
Ovládajte zariadenia v reálnom svete pomocou počítača
Ovládajte zariadenia v reálnom svete pomocou počítača

Tento návod vám ukáže, ako prepojiť počítač s mikrokontrolérom. Toto demo bude snímať hodnotu potu alebo akéhokoľvek analógového vstupu a bude tiež ovládať servo. Celkové náklady sú pod 40 dolárov vrátane serva. Servo zapne mikrospínač a potom mikrospínač rozsvieti lampu. V praktickej aplikácii môže byť hrniec snímačom teploty a servo môže zapínať ohrievač. Servo môže byť nahradené relé alebo iným regulátorom výkonu. Picaxe je naprogramovaný v zjednodušenej verzii basic a rozhranie používa VB. Net. Všetok softvér je k dispozícii zadarmo. Súvisiaci návod ukazuje, ako prepojiť dva mikrokontroléry prostredníctvom internetu

Krok 1: Zhromaždite diely

Zhromaždite diely
Zhromaždite diely

Zoznam dielov: Čip Picaxe 08M dostupný z mnohých zdrojov vrátane Rev Ed https://www.rev-ed.co.uk/picaxe/ (Spojené kráľovstvo), PH Anderson https://www.phanderson.com/ (USA) a Microzed https://www.microzed.com.au/ (Austrália) Protoboard, servo, mikrospínač, 9V batéria, batérie a držiak 4xAA, tag, 10k odpor, 22k odpor, 33uF 16V kondenzátor, 0,1uF kondenzátor, 7805L nízky výkon 5V regulátor, 10k hrniec, káble (telefón s pevným jadrom/dátový vodič, napr. Cat5/6), 6V žiarovka, zásuvka a kryt s vnútorným závitom D9, 2 metre 3 (alebo 4) jadrového dátového vodiča, svorky na batérie Vyššie uvedené spoločnosti predávajú aj USB na sériové zariadenia ktoré sú užitočné pre prenosné počítače, ktoré nemajú sériový port. Stojí za zmienku, že niektoré zariadenia USB na sériové pripojenie nefungujú tak dobre ako ostatné a stojí za to získať jedno od jedného z vyššie uvedených dodávateľov, pretože boli testované na použitie s čipmi picaxe. Ten, o ktorom je známe, že funguje, je https://www.rev-ed.co.uk/docs/axe027.pdf Samozrejme, ak má váš počítač sériový port (alebo starú kartu sériového portu), nebude to fungovať. byť problém.

Krok 2: Stiahnite si a nainštalujte nejaký softvér

Stiahnite si a nainštalujte nejaký softvér
Stiahnite si a nainštalujte nejaký softvér

Budeme potrebovať softvér VB. Net a radič picaxe. VB. Net (Visual Basic Express) je k dispozícii na adrese https://msdn2.microsoft.com/en-us/express/aa718406.aspx Ak tento odkaz nefunguje, vyhľadajte v službe Google pre: vizuálne základné expresné stiahnutie Softvér picaxe je k dispozícii na adrese https://www.rev-ed.co.uk/picaxe/ Na stiahnutie súboru sa budete musieť zaregistrovať v spoločnosti Microsoft - ak je to problém, použite falošný e -mail alebo niečo. V skutočnosti mi pomohlo poskytnúť môj skutočný e -mail, pretože odosielajú príležitostné aktualizácie.

Krok 3: Vytvorte obvod na stiahnutie

Vybudujte obvod na stiahnutie
Vybudujte obvod na stiahnutie

Tento sťahovací obvod používa čip picaxe, pár odporov, regulátor a 9V batériu. Viac informácií je k dispozícii v dokumentácii k picaxe a výstavba by mala trvať iba niekoľko minút, kým budú všetky diely k dispozícii.

Tiež by som mohol dodať, že picaxe bežia šťastne na 3 batérie AA. 5V regulované napájanie je užitočné pre chod analógových vstupov, pretože referenčné napätia sa nemenia, ale pre jednoduché obvody zapnutia/vypnutia regulované napájanie nie je potrebné. V týchto situáciách je možné vynechať 5V reg.

Krok 4: Protoboardové rozloženie obvodu na stiahnutie

Protoboardové usporiadanie sťahovacieho obvodu
Protoboardové usporiadanie sťahovacieho obvodu

Táto fotografia ukazuje sťahovací kábel, ktorý je jednoducho konektorom D9, a niekoľko metrov viacžilového kábla. Väčšina moderných počítačov má pripojenie na sériový port D9. Počítač vyrobený zhruba pred rokom 1998 môže mať 25 -kolíkový konektor. Na koniec ohybných drôtov som spájkoval asi 1 cm drôtu s plným jadrom a potom som okolo neho navinul chladič - drôty s plným jadrom idú do protoboardu oveľa lepšie ako flexibilné drôty.

Krok 5: Stiahnite si program Picaxe

Stiahnite si program Picaxe
Stiahnite si program Picaxe

Sťahovanie stiahnete kliknutím na modrú šípku. Ak sa nestiahne, v návode na používanie picaxe nájdete niekoľko návrhov na ladenie. Môžete skúsiť stiahnuť jednoduchý program na zapnutie a vypnutie LED diódy a skontrolovať, či čip funguje. Tento program nerobí nič, kým nie je pripojený k počítaču, pretože čaká, kým mu počítač niečo pošle. Ak sa sťahuje v poriadku, funguje a čip je naprogramovaný a ďalším krokom je prekonfigurácia čipu na čip sériového rozhrania.

Skopírujte a prilepte kód nižšie. Ak ho chcete zobraziť pomocou syntaxe farieb, pozrite sa na položku Zobraziť/Možnosti/Editor. Farebné konvencie sú podobné pravidlám VB. Net main: serin 3, N2400, („Data“), b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13 readadc 1, b1 'prečítajte pot a potom pošlite späť serout 0, N2400, („Údaje“, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13) vyberte prípad b0 'načítanie dátových bitov b0 prípad <140' ak <140 potom nastavte servo na jednu pozíciu servo 2, 120 pauza 1000 'pauza druhá servo 2, 160 pauza 1000 endselect nízka 2' vypnite servo, pretože serin to aj tak robí prejdi na hlavnú

Krok 6: Prekonfigurujte obvod na obvod sériového rozhrania

Prekonfigurujte obvod na obvod sériového rozhrania
Prekonfigurujte obvod na obvod sériového rozhrania

V okruhu picaxe boli vykonané dve jemné zmeny. Rezistor 22k, ktorý viedol k 2. etape, teraz prechádza k 4. nohe a 2. fáza je uzemnená. Jediným účelom časti 2 je príjem programovacích údajov z počítača, takže akonáhle je čip naprogramovaný, môže byť viazaný na zem. Ak sa vrátite k programovaniu čipu na opravu chýb atď., Odpojte nohu 2 od zeme a znova pripojte 22k k nohe 2. Picaxe hovorí späť k počítaču cez nohu 7, takže to nie je potrebné meniť.

Bol pridaný hrniec a servo. Servo nie je skutočne potrebné a LED a 1k odpor by fungovali dobre a/alebo akýkoľvek obvod, ktorý chcete pripojiť. Práve som použil servo, aby som ukázal, ako sa kliknutím na niečo na obrazovke môže niečo skutočne pohnúť. Servo je napájané z vlastného napájacieho zdroja. Tento samostatný zdroj napájania by nebol potrebný, ak by picaxy iba zapínali a vypínali LED diódy. Picaxe je pripravený ísť - teraz potrebujeme nejaký kód VB.

Krok 7: Napíšte nejaký kód rozhrania VB

Napíšte nejaký kód rozhrania VB
Napíšte nejaký kód rozhrania VB

Akonáhle je VB. Net nainštalovaný, spustite ho, zvoľte Súbor/Nový projekt a zvoľte Windows Application. Môžete kliknúť na Súbor/Uložiť všetko hneď na začiatku a uložiť, kam sa vám páči, a potom v budúcnosti buď začať projekt z VB. Net, alebo kliknutím na súbor.sln, ktorý sa vytvorí.

Krok 8: Navrhnite formulár VB. Net

Navrhnite formulár VB. Net
Navrhnite formulár VB. Net

VB vytvorí nový prázdny formulár s názvom Form1.vb. Ak je projekt jednoduchý, môžete ho zmeniť teraz alebo neskôr alebo ho nechať ako Form1. Necháme to tak. Ak chcete pridať určitú kontrolu, musíme otvoriť panel s nástrojmi, ktorý je zakrúžkovaný zelenou farbou. Panel s nástrojmi je možné otvárať a zatvárať, kedykoľvek je to potrebné - zvyčajne je prvým krokom pridanie ovládacích prvkov, zatvorenie panela s nástrojmi a práca na kóde. Môžete ho nechať otvorený stále, ale zaberá trochu obrazovky.

Krok 9: Pridajte časovač

Pridajte časovač
Pridajte časovač

Posunuli sme sa nadol po paneli nástrojov a vybrali sme časovač. Dvojitým kliknutím na časovač ho pridáte. V spodnej časti obrazovky sa zobrazí obrázok s názvom Časovač1 a vpravo hore sú zvýraznené vlastnosti časovača. Môžete ich upraviť alebo ich môžete zmeniť v textovom tele kódu. Necháme ich tak, ako sú a zmeníme ich v tele textu.

Panel nástrojov okrem toho vyzerá trochu skľučujúco, ale pre väčšinu programov je potrebných iba niekoľko - napríklad tlačidlá, textové polia, štítky, časovače, obrázkové polia, začiarkavacie políčka a rádiové schránky. Možno otvorte nový program a niekedy si zahrajte s niekoľkými.

Krok 10: Pridajte pár tlačidiel

Pridajte pár tlačidiel
Pridajte pár tlačidiel

Kliknite na nástroj s tlačidlami a nakreslite veľkosť tlačidla na Form1. Budeme potrebovať dve tlačidlá, pole s obrázkom a štítok. Pokračujte a pridajte ich - nasledujúci obrázok obrazovky ukazuje, že sú všetky nakreslené. Veľkosť a pozícia nie sú dôležité a ak chcete, môžete ich neskôr premenovať.

Krok 11: Formulár so všetkými pridanými ovládacími prvkami

Formulár so všetkými pridanými ovládacími prvkami
Formulár so všetkými pridanými ovládacími prvkami

Formulár 1 je teraz vyložený. Políčko vedľa Button2 je malé obrázkové pole. Môžete sem vložiť obrázky, ale použijeme to iba na označenie toho, ktoré tlačidlo bolo stlačené, a to zmenou z červenej na zelenú. Label1 zobrazuje registre picaxe.

Krok 12: Pridajte nejaký kód

Pridajte nejaký kód
Pridajte nejaký kód

Vpravo v zelenom kruhu je niekoľko užitočných tlačidiel - druhé sprava je tlačidlo Zobraziť kód a pravé tlačidlo je Návrhár zobrazenia. V praxi sa pri písaní kódu prechádza medzi týmito zobrazeniami tam a späť. Všeobecne platí, že ak je niekto v režime návrhára, dvojitým kliknutím na objekt, napríklad na tlačidlo, sa v zobrazení kódu zobrazí miesto na pridanie kódu alebo sa presunie na časť kódu, ktorá sa spustí po stlačení tlačidla. Tok programu sa tak stane celkom intuitívnym - používateľ klikne na spustené veci a kúsky kódu, zmení obrazovku a podobne. Na naše účely však budeme podvádzať a prilepovať celú dosku pracovného kódu. bude mať Formulár verejnej triedy1… Ukončiť triedu - zvýraznite to a odstráňte ho. Teraz vezmite všetok kód nižšie a vložte ho do. Imports System. IOImports Strings = Microsoft. VisualBasic 'tak môže používať veci ako vľavo (a vpravo (pre reťazcePublic Class Form1Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Integer)' pre vyhlásenia spánkuDim WithEvents serialPort ako nový IO. Ports. Sériový port SerialPort deklarujeDim PicaxeRegisters (0 až 13) ako bajtové registre b0 až b13Private Sub Form1_Load (odosielateľ ByVal ako objekt, ByVal e ako System. EventArgs) zvláda Me. LoadTimer = True 'pri vytváraní vloží kód do predvoleného nastavenia na hodnotu false. Timer1. Interval = 5000' 5 sekúndPictureBox1. BackColor = Color. Red 'nastavený na pozíciu' red'Array. Clear (PicaxeRegisters, 0, 13) 'pravdepodobne nie je potrebný, pretože pole je deklarované blankEnd SubPrivate Sub Timer1_Tick (ByVal sender As System. Object, ByVal e As System. EventArgs) Handles Timer1. Tick 'timer ticks every 5 secondsCall SerialTxRx ()' talk to picaxeEnd SubSub SerialTxRx () Dim LabelString As String 'string to display valuesData DataP acket (0 To 17) As Byte 'all data packet "Data" +14 bytesDim i As Integer' i is always useful for loopops etcLabel1. Text = "" 'clear the text on the screenFor i = 0 To 3DataPacket (i) = Asc (Mid („Data“, i + 1, 1)) '' pridajte slovo „Data“do packetNextFor i = 0 To 13DataPacket (i + 4) = PicaxeRegisters (i) 'pridajte všetky bajty do packetNextIf serialPort. IsOpen ThenserialPort. Close () 'len v prípade, že už je otvorený Ukončiť IfTryWith serialPort. PortName = "COM1"' Väčšina nových počítačov je predvolene nastavená na com1, ale na každom počítači z roku 1999 so sériovou myšou bude predvolene nastavená hodnota com2. BaudRate = 2400 '2400 je maximum rýchlosť pre malé picaxes. Parity = IO. Ports. Parity. Žiadna 'žiadna parita. DataBits = 8' 8 bitov. StopBits = IO. Ports. StopBits. One 'jeden stop bit. ReadTimeout = 1000' milisekúnd, takže časový limit vyprší za 1 sekundu ak žiadna odpoveď. Open () „otvorte sériový port. DiscardInBuffer ()“vymažte vstupnú vyrovnávaciu pamäť. Napíšte (DataPacket, 0, 18) 'odošlite pole datapacketuCall Sleep (300)' 100 milisekúnd minimálne na počkanie r dáta sa vrátia a viac, ak je dátový tok dlhší. Prečítajte si (DataPacket, 0, 18) „prečítajte si ich v poli paketov s údajmi. Zatvorte ()“zatvorte sériový portUkončiť WithFor i = 4 až 17LabelString = LabelString + "" + Str (DataPacket (i)) 'sa zmení na textový reťazecNextLabel1. Text = LabelString' vloží textový reťazec na screenCatch ex As Exception'MsgBox (ex. ToString) 'odkomentujte to, ak chcete vidieť skutočné chybové hlásenieLabel1. Text = " Timeout "'sa zobrazí, ak picaxe nie sú pripojené atď. 120 'ľubovoľná hodnota pre servoEnd SubPrivate Sub Button2_Click (odosielateľ ByVal ako System. Object, ByVal e As System. EventArgs) Spracuje Button2. ClickPictureBox1. BackColor = Color. Green' box to greenPicaxeRegisters (0) = 160 'ľubovoľná hodnota pre trieda servoEnd SubEnd

Krok 13: Spustite program

Spustite program
Spustite program

Zapnite picaxe, ak nie je zapnutý. Spustite program vb.net kliknutím na zelený trojuholník v hornej časti obrazovky v strede. Napravo od trojuholníka spustenia sú tlačidlo pozastavenia a tlačidlo zastavenia, alebo je možné program zastaviť kliknutím vpravo hore x alebo pomocou položky Súbor/Ukončiť, ak ste pridali ponuku. Program je možné zostaviť, ak chcete, ale na ladenie ho nechajte spustený vo VB. Časovač odosiela bajty každých 5 sekúnd, takže zobrazenie displeja trvá 5 sekúnd. Štítok1 zobrazuje výpis 14 registrov picaxe. Tieto sa odošlú do picaxov a potom sa znova odošlú späť. Takmer určite nie je potrebné odosielať všetkých 14 a váš kód je možné zmeniť tak, aby vyhovoval. Druhý bajt s hodnotou 152 je hodnota banku, ktorá sa mení z 0 na 255. Ak kliknete na tlačidlo 1, pošle v prvom bajte hodnotu 120 a ak kliknete na tlačidlo 2, pošle 160 a program picaxe ich dekóduje a pohybuje servom. Tento kód ukazuje, ako odosielať údaje a získavať údaje späť z mikrokontroléra. Mikrokontrolér môže zapnúť všetky druhy zariadení - mám asi 30 okolo domu spustených postrekovačov, svetiel, zabezpečenia, detekcie áut na príjazdových cestách, zapínania radu 3,6 kW čerpadiel a snímania hladiny vody v nádržiach. Picaxes je možné daysychained na spoločnej zbernici a dokonca môžu navzájom komunikovať prostredníctvom rádiových spojení. Je tiež možné nahrávať a sťahovať údaje z webových stránok, a preto používať internet na pripojenie zariadení kdekoľvek na svete https://www.instructables. com/id/Worldwide-microcontroller-link-for-under-20/Nasledujúce dve stránky tiež obsahujú niekoľko príkladov použitia rôznych senzorov a ovládania rôznych zariadení. Dr. James Moxham, Adelaide, Južná Austrália

Krok 14: Vstupné zariadenia

Vstupné zariadenia
Vstupné zariadenia

Programátor picaxe obsahuje niekoľko veľmi užitočných pomocných súborov, z ktorých jeden sa nazýva „Prepojovacie obvody“a je k dispozícii aj na https://www.rev-ed.co.uk/docs/picaxe_manual3.pdf Toto ukazuje, ako ovládať motory, vnímať prostredie a inú užitočnú kontrolu. Okrem týchto cirucitov existuje ešte niekoľko, ktoré používam znova a znova. Teplota - snímač teploty LM35 vytvára napätie, ktoré môže ísť priamo do picaxe a je možné ho čítať príkazom readadc alebo readadc10. Svetlo - odpor závislý na svetle má odpor, ktorý sa líši od niekoľko stoviek ohmov pri jasnom slnečnom svetle po viac ako 5 megohmov v tmavej čiernej farbe. Zmerajte odpor na úrovni svetla, na ktorej chcete prepnúť, a zapojte LDR do série s odporom približne rovnakej hodnoty. Napríklad som chcel zistiť svetlá auta tiahnuceho do prístrešku pre auto, aby som rozsvietil niektoré svetlá. Odpor bol asi 1M od nepriameho svetla, takže som zaradil 1M do série s LDR. Prepínač - niektoré prepínače prepínajú medzi 5 V a 0 V (jednopólový dvojitý prepínač), niektoré sa však zapínajú a vypínajú. Ak sa spínač zapne, môže odoslať 5 V na čip picaxe, ale ak je vypnutý, kolík picaxe by bol „plávajúci“a mohol by mať akúkoľvek hodnotu. Tento obvod ukazuje, ako vytiahnuť vstup na zem, keď je vypínač vypnutý. Toto je obvod, ktorý sa používa pre väčšinu tlačidlových spínačov. Potentiomter - dobrý staromódny gombík. Otočte gombíkom a načítajte napätie na čipe. Existujú všetky druhy ďalších elektronických zariadení, ktoré vytvárajú napätie od 0 do 5 V, alebo je ich možné ľahko nakonfigurovať. Príkladom sú magnetické snímače, vlhkosť, rýchlosť, dotyk, infračervené svetlo, tlak, farba a zvuk. Senzory vo všeobecnosti stoja iba niekoľko dolárov za kus.

Krok 15: Ovládanie zariadení

Ovládacie zariadenia
Ovládacie zariadenia

Súbor pomocníka picaxe obsahuje skvelé vysvetlenie ovládania motorov a svetiel. Okrem toho som zistil, že existuje niekoľko obvodov, ktoré používam znova a znova. Prvým je jednoduchý tranzistorový obvod. Picaxový čip môže zapnúť maximálne 20 mA na kolík, čo je dobré na zapnutie diódy LED, ale nič iné. Tranzistor 547 zvyšuje prúd na 100 mA, čo je dobré pre malé žiarovky. Druhý obvod zobrazuje mosfet. Mosfety na ich pohon nepotrebujú prakticky žiadny prúd - iba volty, aby ich bolo možné priamo ovládať picaxom. K dispozícii sú všetky druhy mosfetov, ale ja preferujem ten, ktorý sa nazýva BUK555 60B https://www.ortodoxism.ro/datasheets/philips/BUK555-60A.pdf Je možné ho napájať priamo z 5 V (na rozdiel od niektorých, ktoré vyžadujú 10 V), ale Hlavnou výhodou je, že pri zapnutí má extrémne nízky odpor - 0,045 ohmu, čo nie je oveľa viac ako odpor drôtov, ktoré by ste k nemu pripojili. To znamená, že sa nehreje pri jazde s pomerne vysokým zaťažením, čo šetrí energiu a taktiež šetrí náklady na chladič. Napríklad jazda s 5 -ampérovým nákladom ako automobilový svetlomet; watty = súčasný štvorcový odpor x, takže W = 5*5*0,045 = 1,12 wattov, čo by potrebovalo iba chladič ako 1 -palcový štvorcový kus tenkého hliníka. Tretí okruh ukazuje relé. Pre všetky relé existuje niekoľko parametrov - napätie cievky, odpor cievky a napätie a prúd záťaže. Relé môže mať napríklad cievku 12 V s cievkovým prúdom 30 mA, odpor cievky 400 ohmov a môže byť schopné napájať až 240 V pri 1 amp. Prúd cievkou je viac voltov a ampérov, ako môže dodať picax, preto na spínanie cievky používame tranzistorový obvod. K dispozícii je tiež dióda - to potláča zadný EMF, keď sa relé vypne. Späť EMF je to, čo vytvára iskru pre sviečku, takže nechcete, aby tieto vysoké napätia boli kdekoľvek v obvode. Kontakty budú mať maximálny prúd a volty - prúd môže byť niekoľko ampérov a volty sú často 240 V, takže prepínanie 12 V alebo 24 V bude v dosahu. Ak nemáte skúsenosti s elektronikou, nehrajte so sieťovým napätím. Existujú aj malé relé, ktoré majú napätie cievky 5 V alebo 6 V. Pre tieto relé možno nebudete potrebovať samostatné napájanie 12 V, ale stačí sledovať odpor cievky, pretože mnohé z nich majú odber prúdu viac ako 100 mA. Ak je to tak a používate regulátor 78L05 100mA 5V, možno by ste to chceli zmeniť na regulátor 7805, ktorý môže napájať až 1 ampér. Relé sú obzvlášť užitočné na spínanie striedavého prúdu - napr. Solenoidy záhradných postrekovačov 24 VAC, záhradné svetlá 12VAC a v elektricky hlučných prostrediach, ako je auto. Sú tiež užitočné na ovládanie veľkých záťaží, napr. Picaxe dodávajúceho 20mA pri 5V = 0,1W ovládajúceho tranzistor 12V pri 100mA = 1,2W do relé 24V 100mA = 2,4W do stýkača poháňajúceho 3600W čerpadlo. Ak chcete takto ovládať napájanie, požiadajte elektrikára, aby zapojil riadiacu skrinku a poskytol vám dva vodiče (cievkové vodiče pre relé 12V), ktoré môžete ovládať. Elektrikár sa tak môže prihlásiť do napájacej skrinky a vy môžete vykonávať všetku elektroniku bez toho, aby ste sa museli obávať zásahu elektrickým prúdom. Ďalším použitím relé je reverzné ovládanie motora. Pomocou modulácie šírky impulzov do mosfetu môžete ovládať rýchlosť jednosmerného motora a pomocou výkonového relé DPDT môžete meniť smer. Toto je jednoduchý spôsob ovládania veľkých motorov, aké sa používajú v „robotických vojnách“. Ak potrebujete pomoc s budovaním niečoho, pošlite komentár.

Odporúča: