Robot autonom bazat pe Arduino cu capabilități de control de la distanță. Senzor infrarosu. Modul zoom

Senzorii joacă unul dintre cele mai importante roluri în robotică. Folosind diverși senzori, robotul simte mediu inconjuratorși poate naviga în el. Prin analogie cu un organism viu, acestea sunt organe senzoriale. Chiar și un robot obișnuit de casă nu poate funcționa pe deplin fără cei mai simpli senzori. În acest articol vom arunca o privire detaliată asupra tuturor tipurilor de senzori care pot fi instalați pe un robot și a utilității utilizării acestora.

Senzori tactili

Senzorii tactili oferă robotului capacitatea de a răspunde la contactele (forțele) care apar între acesta și alte obiecte din Zona de lucru. De obicei, acești senzori sunt echipați manipulatoare industriale, precum și roboți cu uz medical. Mașinile echipate cu senzori tactili gestionează eficient operațiunile de asamblare și inspecție, funcții care necesită atenție la detalii.

Când dezvoltă roboți umanoizi moderni, producătorii îi echipează cu acești senzori pentru a face mașinile și mai „animate”, capabile să perceapă informații despre lumea din jurul lor literalmente prin atingere.

Senzori optici

Când construiți un robot, pur și simplu nu vă puteți lipsi de senzori optici. Cu ajutorul lor, dispozitivul va „vedea” totul în jur. Acești senzori funcționează folosind un fotorezistor. Senzorul de reflexie (emițător și receptor) vă permite să detectați zone albe sau negre de pe suprafață, ceea ce permite, de exemplu, unui robot cu roți să se deplaseze de-a lungul unei linii trasate sau să determine proximitatea unui obstacol. Sursa de lumină este adesea un LED infraroșu cu o lentilă, iar detectorul este o fotodiodă sau fototranzistor.

Camerele video merită o atenție deosebită. În esență, aceștia sunt ochi de robot. Acest tip de senzor este acum utilizat pe scară largă datorită creșterii tehnologiei în domeniul procesării imaginilor. După cum înțelegeți, pe lângă roboți, există o mulțime de aplicații pentru camere video: sisteme de autorizare, recunoaștere a imaginii, detectarea mișcării în cazul activităților de securitate etc.

Senzori de sunet

Acești senzori sunt utilizați pentru deplasarea în siguranță a roboților în spațiu prin măsurarea distanței până la un obstacol de la câțiva centimetri la câțiva metri. Acestea includ un microfon (vă permite să înregistrați sunet, voce și zgomot), telemetru, care sunt senzori care măsoară distanța până la obiectele din apropiere și alți senzori cu ultrasunete. KM este utilizat pe scară largă în aproape toate ramurile roboticii.

Funcționarea senzorului cu ultrasunete se bazează pe principiul ecolocației. Iată cum funcționează: difuzorul dispozitivului emite un impuls ultrasonic la o anumită frecvență și măsoară timpul până când revine la microfon. Localizatoarele de sunet emit unde sonore direcționale care se îndreaptă asupra obiectelor, iar o parte din acest sunet este returnat senzorului. În acest caz, ora de sosire și intensitatea unui astfel de semnal de întoarcere transportă informații despre distanța până la cele mai apropiate obiecte.

Pentru vehiculele subacvatice autonome, tehnologiile sonar subacvatice sunt utilizate în mod predominant, în timp ce pe uscat, tehnologiile sonar sunt utilizate în principal pentru evitarea coliziunilor doar în imediata apropiere, deoarece acești senzori au o rază de acțiune limitată.

Alte dispozitive alternative la locatoarele sonice includ radarele, laserele și lidarele. În loc de sunet, acest tip de telemetru folosește un fascicul laser reflectat de un obstacol. Acești senzori au devenit mai larg folosiți în dezvoltarea mașinilor autonome, deoarece permit vehiculului să facă față mai eficient traficului.

Senzori de poziție

Acest tip de senzor este utilizat în principal în vehicule cu conducere autonomă, roboți industriali și dispozitive care necesită auto-echilibrare. Senzorii de poziție includ GPS (sistem de poziționare globală), repere (acționează ca un far), giroscoape (determină unghiul de rotație) și accelerometre. GPS este un sistem de navigație prin satelit care măsoară distanța, timpul și determină locația robotului în spațiu. GPS-ul permite fără pilot, aer și mare vehicule găsiți-vă traseul și mutați-vă ușor de la un punct la altul.

Giroscoapele sunt, de asemenea, un lucru comun în robotică. Ei sunt responsabili pentru echilibrarea și stabilizarea oricărui dispozitiv. Și datorită faptului că această piesă este relativ ieftină, poate fi instalată în orice robot de casă.

Un accelerometru este un senzor care permite unui robot să măsoare accelerația unui corp aflat în acțiune. forțe externe. Acest dispozitiv arată ca un corp masiv, capabil să se miște de-a lungul unei anumite axe și conectat la corpul dispozitivului prin arcuri. Dacă un astfel de dispozitiv este împins la dreapta, sarcina se va deplasa de-a lungul ghidajului la stânga centrului axei.

Senzori de înclinare

Acești senzori sunt utilizați la roboți unde este necesar să controlați înclinarea, să mențineți echilibrul și să împiedicați răsturnarea dispozitivului. suprafață neuniformă. Disponibil atât cu interfețe analogice cât și digitale.

Senzori cu infrarosu

Cel mai accesibil și cel mai simplu tip de senzori care sunt utilizați la roboți pentru a detecta proximitatea. Senzor infrarosu trimite independent unde infraroșii și, după ce a prins semnalul reflectat, determină prezența unui obstacol în fața acestuia.

În modul „beacon”, acest senzor trimite semnale constante prin care robotul poate determina direcția și distanța aproximativă a farului. Acest lucru vă permite să programați robotul astfel încât acesta să urmeze întotdeauna în direcția acestui far. Costul scăzut al acestui senzor îi permite să fie instalat pe aproape orice. roboți de casă, și astfel îi echipează cu capacitatea de a evita obstacolele.

Senzori de temperatura

Senzor de temperatură - altul dispozitiv util, care este adesea folosit în dispozitivele moderne. Servește pentru măsurarea automată a temperaturii în medii diferite. Ca și în cazul computerelor, la roboți dispozitivul este folosit pentru a controla temperatura procesorului și a-l răci în timp util.

Ne-am uitat la toți cei mai de bază senzori care sunt utilizați în robotică și permit robotului să fie mai dexter, mai manevrabil și mai productiv.

Acest articol arată cum să faci un simplu obstacol care evită robotul folosind Xboard v2.0. Această placă este potrivită pentru roboții inteligenți mici, deoarece este compactă, are patru controlere de motoare DC, poate fi flash prin USB și are multe alte caracteristici. De asemenea, este foarte ușor de învățat și de utilizat. xAPI este un set de funcții C concepute pentru a rezolva probleme complexe de software, cum ar fi lucrul cu PWM, afișaj LCD, telecomandă etc. Foarte bun si usor pentru incepatori. Designul său este deschis, așa că dacă nu doriți să cumpărați Xboard v2.0, îl puteți face singur.

Scopul robotului nostru este simplu: trebuie să vă deplasați oriunde, evitând obstacolele. Sarcina este simplă, iar robotul o realizează complet independent. Are un creier care citește informații de la senzori, ia decizii și controlează motoarele.

În timp ce creați un robot, veți învăța diverse tehnici de bază care vă vor fi utile în viitor.

Partea mecanică a robotului

Robotul este asamblat într-o carcasă metalică de înaltă calitate, care poate fi achiziționată de la un magazin de robotică. Robotul este antrenat de două motoare angrenate curent continuu 200 RPM. Utilizează un sistem de transmisie diferențială și are o singură roată roată în față. Roțile sunt conectate direct la arborele motorului.

Motoarele sunt atașate de șasiu folosind o piuliță înșurubată pe filetul din apropierea arborelui.

Xboard v2.0 este montat folosind kitul de montare inclus, care include șuruburi, piulițe și suporturi. Xboard v2.0 este realizat astfel încât orificiile sale de montare să coincidă cu orificiile din carcasă.


Angrenaj diferențial

Transmisia diferențială permite mișcarea și controlul folosind două roți. Nu este nevoie de roți ca pe o bicicletă sau pe mașină. Pentru a întoarce vehiculul (sau robotul), roțile din stânga și din dreapta se rotesc la viteze diferite. De aceea se numește transmisie diferențială. De exemplu, dacă roata din dreapta se rotește mai repede decât cea din stânga, atunci robotul se întoarce la stânga.

Imaginea arată acest lucru mai clar.

Astfel, deplasarea și controlul robotului se realizează prin controlul a două motoare, ceea ce se face cu ușurință folosind xAPI. Citiți mai multe despre acest lucru la următoarele link-uri:
http://xboard.extremeelectronics.co.in/Motor1.htm
http://xboard.extremeelectronics.co.in/Motor2.htm

Articolele vă spun cum să porniți motorul în sensul acelor de ceasornic sau în sens invers acelor de ceasornic. MotorA este motorul drept, MotorB este motorul stâng. Fragmente de cod care arată cum să lucrați cu motoarele.

Mișcarea robotului înainte:

Mișcarea robotului înapoi:

Intoarcere la stanga:
MotorA(MOTOR_CW,255); // motorul din dreapta se rotește în sensul acelor de ceasornic (CW) cu max. viteza (255)
MotorB(MOTOR_CW,255); // motorul stâng se rotește în sensul acelor de ceasornic (CW) cu max. viteza (255)

La dreapta:
MotorA(MOTOR_CCW,255); // motorul din dreapta se rotește în sens invers acelor de ceasornic (CCW) cu max. viteză
MotorB(MOTOR_CCW,255); // motorul din stânga se rotește în sens invers acelor de ceasornic (CCW) cu max. viteza (255)

Puteți afla mai multe despre MotorA și MotorB făcând clic pe link

Senzori

Senzorii fără contact ajută robotul să detecteze obstacolele în cale. Senzorii includ transmițători IR și receptori IR. Un LED IR este folosit ca transmițător IR, care emite lumină în spectrul IR, invizibil pentru ochiul uman. Receptorul IR primește aceste raze.

Senzor IR

Un senzor IR este format dintr-un receptor IR, un transmițător IR și mai multe rezistențe. Diagrama este prezentată mai jos. Avem nevoie de trei dintre acești senzori instalați pe partea din față a robotului.

După cum puteți vedea, senzorul are doi pini: putere și ieșire. Ieșirea senzorului poate avea o tensiune de la 0 la 5V în funcție de distanța până la obstacol și tipul acestuia. Tensiunea se apropie de 5V atunci când un obstacol este în apropiere.

Evaluare R1 150Ohm, R2 22kOhm. Codul de culoare este prezentat în diagrama de mai sus. Valorile rezistoarelor sunt foarte importante, deci utilizați numai rezistențe cu valoarea specificată. Pinul scurt al receptorului IR, care este de culoare neagră (translucid), este pinul pozitiv. Aceasta nu este o eroare, așa că conectați-o astfel.

Receptorul IR și transmițătorul IR trebuie instalate astfel încât razele IR de la transmițătorul IR să lovească obstacole și să fie reflectate înapoi către receptorul IR. Al lor locația corectă prezentată în imagine.

Ieșirea senzorului este conectată la microcontrolerul AVR ADC. ADC-ul convertește tensiunea într-o valoare digitală de 10 biți de la 0 la 1024. Adică, pe baza valorii de la ADC, puteți afla dacă există obstacole în fața senzorului. Lucrul cu Xboard v2.0 ADC este simplu și este descris în link.

Dacă am conectat senzorul la ADC0, atunci putem obține informații de la acesta folosind următoarea funcție:
int valoarea_sensor;
senzor_value=ReadADC(0); //Citiți numărul canalului 0

Când utilizați rezistențele indicate în diagrama de mai sus, senzor_value este de aproximativ 660 când nu există niciun obstacol în fața senzorului și 745 când obstacolul este de aproximativ 15 cm. Dacă obstacolul este mai aproape de 6 cm, atunci valoarea este 1023 Aceasta este valoarea maximă și chiar dacă obstacolul este și mai aproape, valoarea nu crește.

Vă rugăm să rețineți că aceste valori pot varia în funcție de tipul de obstacol. Unele obiecte reflectă razele IR mai bine sau mai rău decât altele. Unele obiecte reflectă foarte slab razele IR și nu pot fi detectate. Aceste rezultate au fost obținute folosind palma ca obstacol. De exemplu, razele IR sunt slab reflectate de lemnul vopsit în culori închise, cum ar fi ușile.

Combinarea și conectarea senzorilor IR

Trei senzori IR sunt montați pe o placă, care este montată pe partea din față a robotului. Un senzor este instalat în centrul plăcii, iar ceilalți doi sunt în dreapta și, respectiv, în stânga.

În primul rând, placa este tăiată la dimensiunea necesară. Acest lucru se poate face folosind un ferăstrău mic.

Acum trebuie să găuriți două găuri pentru montare. Apoi putem folosi șuruburi, piulițe și distanți pentru a instala placa pe șasiu. Am folosit un burghiu electric pentru a face gaurile in cateva secunde, dar daca nu ai, poti folosi un burghiu manual.

Pe cealaltă parte a plăcii am pus distanțiere pe șuruburi pentru a oferi puțin spațiu între placa de breadboard și șasiu.

Acum placa de dezvoltare poate fi instalată pe șasiu

Vă rugăm să rețineți că folosesc rezistențe de reglare în loc de rezistențe constante de 22k Ohm. Dar trebuie să utilizați rezistențe fixe de 22k Ohm. Tabla de paine se conectează la Xboard v2.0 folosind un conector standard cu 8 pini. Xboard v2.0 are un conector cu 8 pini pentru senzori. Acest conector are, de asemenea, pini +5V și GND pentru senzori. Pinout-ul acestuia este prezentat mai jos.

Conectați senzorul din dreapta la ADC0, senzorul central la ADC 1 și senzorul din stânga la ADC 2. Senzorii sunt gata, iar acum puteți trece la testarea lor.

Testarea senzorului IR

Mai jos este un mic program de testare care citește valoarea de la trei senzori și o afișează pe LCD. Pentru a înțelege cum funcționează programul, citiți articolul Interacțiunea cu un afișaj LCD folosind xAPI.

#include "avr/io.h" #include "util/delay.h" #include "lcd.h" void InitADC() ( ADMUX=(1)

Compilați și flashați programul în Xboard v2.0. După aceea, conectați afișajul LCD și placa senzorului. Ecranul ar trebui să arate valorile de la trei senzori, așa cum se arată mai jos.

Când aduceți un obstacol aproape de unul dintre senzori, valoarea acestuia ar trebui să crească, iar când obstacolul este foarte aproape, acesta va crește la 1023. Notați valorile senzorilor când nu există niciun obstacol în în fața lor și când obstacolul se află la aproximativ 15 cm distanță de acesta. Veți avea nevoie de aceste valori pentru a configura programul robotului.

Am furnizat, de asemenea, un fișier HEX gata să flasheze firmware-ul microcontrolerului ATmega32 (sau ATmega16) și să îl pună în funcțiune în cel mai scurt timp.

Dacă nu există text pe afișaj, reglați contrastul folosind potențiometrul.

Dacă senzorii nu funcționează conform așteptărilor, verificați conexiunile. Pentru a verifica funcționarea LED-urilor IR, utilizați orice cameră digitală, cum ar fi o cameră Handicam sau o cameră telefon mobil. Invizibile pentru ochiul uman, razele IR sunt clar vizibile pentru cameră. Dacă LED-urile nu emit raze IR, verificați conexiunile.

Partea software

Sarcina programului este de a citi valorile senzorilor, de a lua decizii și de a controla două motoare. Astfel, robotul va conduce prin cameră, ocolind tot ce îi va sta în cale.

Am definit trei constante, și anume RTHRES, CTHRES și LTHRES: //Valori prag pentru declanșarea senzorului #define RTHRES 195 #define CTHRES 275 #define LTHRES 195

Valorile lor constante sunt valorile introduse. Ar trebui să fie deja notate. Cum să le obțineți este descris mai sus. Când valoarea senzorului se apropie de acest prag, programul percepe acest lucru ca un obstacol. Vă rugăm să rețineți că este posibil ca valorile afișate mai sus să nu corespundă cu ale dvs. Este în regulă.

Programul începe cu inițializarea subsistemului motor și a subsistemului ADC: MotorInit(); InitADC();

Apoi începem să mișcăm robotul înainte. Acest lucru se face prin apelarea funcțiilor MotorAși MotorB. Primul argument este direcția necesară: MOTOR_STOP MOTOR_CW MOTOR_CCW

Al doilea argument este viteza necesară. Valoarea sa poate varia de la 0 la 255. Folosim 25,5 pentru a ne deplasa la viteza maxima.

Mai mult informatii detaliate despre lucrul cu motorul folosind xAPI poate fi găsit în documentația Xboard v2.0.

După ce robotul nostru începe să avanseze, intrăm într-o buclă infinită, verificând dacă există vreun obstacol în fața robotului. Dacă da, atunci robotul se întoarce.

Puteți descărca firmware-ul și codul sursă pentru proiect mai jos

Senzori de funcționare a mecanismului - digital sau dispozitive analogice pentru a transmite informații despre funcționarea unităților suplimentare ale vehiculului. Utilizat în sistemul de monitorizare a vehiculelor GPS/GLONASS. Vă permite să știți cât timp a funcționat mecanismul, unde a funcționat, ce kilometraj a fost cu mecanismul pornit, câți litri de combustibil au fost cheltuiți pentru fiecare oră de funcționare.

  • Senzor de rotație sau de mișcare. Folosit în sistemele de monitorizare GPS/GLONASS pentru a controla mecanismele de rotație sau de mișcare. Practic, senzorul de rotație este folosit pentru a controla camioanele de beton. Senzorul de rotație vă permite să urmăriți toate descarcările camionului de beton și să controlați care a fost kilometrajul cu „mixerul” pornit. Senzorul de rotație este utilizat și la macaralele de construcții. Când este instalat pe arborele troliului, este ușor de controlat intensitatea lucrului macaralei. Senzorul de rotație poate fi folosit și pe vehiculele municipale pentru a controla viteza și a număra rotațiile benzii transportoare pe vehiculele de împrăștiat nisip.
  • Senzor de funcționare reală a mecanismului. Este utilizat în sistemele de monitorizare prin satelit pentru a monitoriza funcționarea echipamentelor speciale. Este instalat pe partea în mișcare și vă permite să monitorizați cât de eficient a fost utilizat echipamentul. Senzorul vă permite să determinați momentul și durata ridicării, de exemplu, o săgeată și să aflați cât timp a fost folosit echipamentul dvs.
  • Senzor de înclinare. Senzorul unghiului de înclinare este ușor de instalat și ușor de configurat. Senzorul unghiului de înclinare este utilizat pentru a monitoriza vehiculele care au un mecanism de ridicare. Cu ajutorul acestuia, puteți monitoriza eficiența unui camion, macara, excavator și puteți număra numărul de containere încărcate pe echipamentul de colectare a gunoiului.

Cei mai buni senzori de la StavTREK

Software-ul Wialon acceptă în prezent un număr mare de senzori diferiți. După ce am testat un număr mare de modele de la diverși producători (Rusia, Europa, China), suntem gata să vă oferim ce este mai bun!

Senzor inductiv de proximitate. Aspect

Tipuri de senzori

Deci, ce este mai exact un senzor? Un senzor este un dispozitiv care produce un anumit semnal atunci când are loc un anumit eveniment. Cu alte cuvinte, senzorul este activat într-o anumită condiție, iar la ieșire apare un semnal analog (proporțional cu efectul de intrare) sau discret (binar, digital, adică două niveluri posibile).

Mai precis, ne putem uita la Wikipedia: Senzor (senzor, din engleza senzor) este un concept în sistemele de control, un traductor primar, un element al unui dispozitiv de măsurare, semnalizare, reglare sau control al unui sistem care convertește o cantitate controlată într-un semnal convenabil pentru utilizare.

Există, de asemenea, o mulțime de alte informații, dar am propria mea viziune, aplicată la inginerie electronică, asupra problemei.

Există o mare varietate de senzori. Voi enumera doar acele tipuri de senzori cu care trebuie să se ocupe electricienii și inginerii electronici.

Inductiv. Activat de prezența metalului în zona de declanșare. Alte denumiri sunt senzor de proximitate, senzor de poziție, inductiv, senzor de prezență, comutator inductiv, senzor de proximitate sau comutator. Sensul este același și nu este nevoie să-l confundați. În engleză se scrie „sensor de proximitate”. De fapt, acesta este un senzor metalic.

Optic. Alte denumiri sunt fotosenzor, senzor fotoelectric, comutator optic. Aceștia sunt, de asemenea, folosiți în viața de zi cu zi, se numesc „senzori de lumină”

Capacitiv. Declanșează prezența aproape oricărui obiect sau substanță în domeniul de activitate.

Presiune. Nu există presiune de aer sau ulei - semnalul către controler sau vărsă. Asta dacă este discret. Ar putea fi un senzor cu ieșire curentă, al cărui curent este proporțional cu presiunea absolută sau diferențială.

Întrerupătoare de limită(senzor electric). Acesta este un comutator pasiv simplu care se declanșează atunci când un obiect trece peste sau îl apasă.

Pot fi apelați și senzori senzori sau iniţiatori.

Este suficient deocamdată, să trecem la subiectul articolului.

Senzorul inductiv este discret. Semnalul la ieșire apare atunci când metalul este prezent într-o zonă dată.

Senzorul de proximitate se bazează pe un generator cu inductor. De aici și numele. Când metalul apare în câmpul electromagnetic al bobinei, acest câmp se modifică dramatic, ceea ce afectează funcționarea circuitului.


Câmp senzor inductiv. Placa metalică modifică frecvența de rezonanță a circuitului oscilator


Circuitul senzorului inductiv npn. Este prezentată o diagramă funcțională, care arată: un generator cu un circuit oscilator, un dispozitiv de prag (comparator), un tranzistor de ieșire NPN, diode și diode zener de protecție

Majoritatea imaginilor din articol nu sunt ale mele; la final puteți descărca sursele.

Aplicarea senzorului inductiv

Senzorii de proximitate inductivi sunt utilizați pe scară largă în automatizarea industrială pentru a determina poziția unei anumite părți a mecanismului. Semnalul de la ieșirea senzorului poate fi introdus la un controler, convertor de frecvență, releu, demaror și așa mai departe. Singura condiție este consistența în curent și tensiune.


Funcționarea unui senzor inductiv. Steagul se deplasează spre dreapta, iar când ajunge în zona de sensibilitate a senzorului, senzorul este declanșat.

Apropo, producătorii de senzori avertizează că nu este recomandat să conectați un bec cu incandescență direct la ieșirea senzorului. Am scris deja despre motive - .

Tipuri de senzori inductivi

Cum diferă senzorii?

Aproape tot ce se spune mai jos se aplică nu numai inductiv, ci și senzori optici și capacitivi.

1. Design, tip de locuință

Există două opțiuni principale - cilindrice și dreptunghiulare. Alte carcase sunt folosite extrem de rar. Material carcase - metal (diverse aliaje) sau plastic.

2. Diametrul senzorului cilindric

Dimensiuni principale - 12 și 18 mm. Alte diametre (4, 8, 22, 30 mm) sunt rareori folosite.

Pentru a asigura un senzor de 18 mm, aveți nevoie de 2 chei de 22 sau 24 mm.

3. Distanța de comutare (decalaj de lucru)

Aceasta este distanța până la placa metalica, care garantează funcționarea fiabilă a senzorului. Pentru senzorii miniaturali aceasta distanta este de la 0 la 2 mm, pentru senzorii cu diametrul de 12 si 18 mm - pana la 4 si 8 mm, pentru senzori mari - pana la 20...30 mm.

4. Numărul de fire de conectat

Să trecem la circuite.

2 fire. Senzorul este conectat direct la circuitul de sarcină (de exemplu, o bobină de pornire). La fel cum aprindem luminile acasă. Convenabil pentru instalare, dar capricios în ceea ce privește sarcina. Funcționează prost cu rezistență la sarcină mare și scăzută.

Senzor cu 2 fire. Schema de conectare

Sarcina poate fi conectată la orice fir; pentru tensiune constantă este important să se mențină polaritatea. Pentru senzorii proiectați să funcționeze cu tensiune alternativă, nici conexiunea la sarcină, nici polaritatea nu contează. Nu trebuie să vă gândiți deloc la cum să le conectați. Principalul lucru este să furnizeze curent.

3 fire. Cel mai comun. Există două fire pentru alimentare și unul pentru sarcină. Vă spun mai multe separat.

4 și 5 fire. Acest lucru este posibil dacă sunt utilizate două ieșiri de sarcină (de exemplu, PNP și NPN (tranzistor) sau comutare (releu). Al cincilea fir este alegerea modului de funcționare sau a stării de ieșire.

5. Tipuri de ieșiri ale senzorilor în funcție de polaritate

Toți senzorii discreti pot avea doar 3 tipuri de ieșiri în funcție de elementul cheie (ieșire):

Releu. Totul este clar aici. Releul comută tensiunea necesară sau unul dintre firele de alimentare. Acest lucru asigură izolarea galvanică completă de circuitul de alimentare al senzorului, care este principalul avantaj al unui astfel de circuit. Adică, indiferent de tensiunea de alimentare a senzorului, puteți porni/opri sarcina cu orice tensiune. Folosit în principal la senzori de dimensiuni mari.

Tranzistor PNP. Acesta este un senzor PNP. Ieșirea este un tranzistor PNP, adică firul „pozitiv” este comutat. Sarcina este conectată în mod constant la partea „minus”.

Tranzistor NPN.Ieșirea este un tranzistor NPN, adică firul „negativ” sau neutru este comutat. Sarcina este în mod constant conectată la „plus”.

Puteți înțelege clar diferența prin înțelegerea principiului de funcționare și a circuitelor de comutare ale tranzistoarelor. Următoarea regulă va ajuta: Unde este conectat emițătorul, acel fir este comutat. Celălalt fir este conectat permanent la sarcină.

Mai jos va fi dat diagrame de conectare a senzorilor, care va arăta clar aceste diferențe.

6. Tipuri de senzori în funcție de starea ieșirii (NC și NO)

Oricare ar fi senzorul, unul dintre parametrii săi principali este starea electrică a ieșirii în momentul în care senzorul nu este activat (nu se exercită nicio influență asupra acestuia).

Ieșirea în acest moment poate fi pornită (alimentarea este furnizată încărcăturii) sau oprită. În consecință, ei spun - un contact normal închis (normal închis, NC) sau un contact normal deschis (NO). În echipamente străine - NO și NC.

Adică, principalul lucru pe care trebuie să-l știți despre ieșirile de la tranzistori ale senzorilor este că pot exista 4 tipuri de ele, în funcție de polaritatea tranzistorului de ieșire și de starea inițială a ieșirii:

  • PNP NR
  • PNP NC
  • NPN NR
  • NPN NC

7. Logica pozitivă și negativă a muncii

Acest concept se referă mai degrabă la actuatoarele care sunt conectate la senzori (controlere, relee).

Logica NEGATIVE sau POZITIVĂ se referă la nivelul de tensiune care activează intrarea.

Logica NEGATIVE: Intrarea controlerului este activată (logica „1”) atunci când este conectată la PĂMÂNT. Terminalul S/S al controlerului (firul comun pentru intrările discrete) trebuie să fie conectat la +24 VDC. Logica negativă este utilizată pentru senzorii de tip NPN.

Logica POZITIVĂ: intrarea este activată când este conectată la +24 VDC. Terminalul controlerului S/S trebuie conectat la Pământ. Utilizați logica pozitivă pentru senzorii de tip PNP. Logica pozitivă este folosită cel mai des.

Există opțiuni pentru diverse dispozitive și conectarea senzorilor la acestea, întrebați în comentarii și ne vom gândi împreună.

Continuarea articolului -. În a doua parte sunt date și discutate diagrame reale uz practic diverse tipuri de senzori cu iesire tranzistor.

Descărcați instrucțiuni și manuale pentru unele tipuri de senzori inductivi:

/ Senzori de proximitate inductivi. Descriere detaliata parametri, pdf, 135,28 kB, descărcat: 1079 ori./

/ Catalog Senzor de proximitate Autonics, pdf, 1,73 MB, descărcat: de 540 de ori./

/ Catalogul senzorilor de proximitate Omron, pdf, 1,14 MB, descărcat: de 667 ori./

/ Cum puteți înlocui senzorii TEKO, pdf, 179,92 kB, descărcat: de 537 ori./

/ Senzori de la Turck, pdf, 4,13 MB, descărcat: de 462 ori./

/ Schemă de conectare a senzorilor folosind scheme PNP și NPN în programul Splan/ Fișier sursă., rar, 2,18 kB, descărcat: de 1219 ori./

Senzori reali

Este problematic să cumpărați senzori, produsul este specific, iar electricienii nu-i vând aproape niciodată în magazine. Prin urmare, dau exemple de senzori reali care pot fi cumpărați din China.

  • Induce. Senzor PNP- Alimentare DC, 6-36V, normal deschis, cilindric, diametru 12 mm, distanta fata de obiect - 4 mm, curent de iesire - pana la 300 mA. Excelent exemplu și preț.
  • Induce. Senzor PNP- senzorul este aproximativ același, dar prețul este mai mic, deoarece cantitatea en-gros este de 10 buc.
  • Induce. Senzor NPN dreptunghiular- acest senzor este mult mai bun la montaj. În unele locuri este indispensabil.
  • Senzori optici reflexie difuză în infraroșu (de la obiect) - mare alegere senzori

Recent, un număr mare de roboți fabricați folosind Bazat pe Arduino. Fiecare dintre ele are propriile sale avantaje și dezavantaje. Aș dori să vă prezint atenției un alt produs nou - setul „Smart ROBO” de la compania „SmartElements”.

Kitul este conceput sub forma unui set de construcție conceput pentru asamblarea unui robot finit controlat de Arduino. În cadrul capabilităților standard ale produsului, nu este prevăzută doar asamblarea pas cu pas, ci și programarea pentru funcționare în diferite moduri. Setul include instrucțiuni pas cu pas în limba rusă, care detaliază procesul de asamblare a platformei, de conectare a elementelor și de instalare a pieselor electronice.

Acest manual prezintă utilizatorului și tipurile de senzori utilizați în robot (senzori de obstacole în infraroșu, senzori de linie digitale, receptor de infraroșu). Acesta arată în detaliu cum să testați senzorii pentru defecțiuni. În plus, folosind instrucțiunile, veți putea înțelege principiul de funcționare al dispozitivului, veți afla cum să conectați și să lansați controlerul și, de asemenea, să încărcați schița dorită în el. Pentru confortul utilizatorilor, toate părțile setului sunt ambalate individual și fiecare dintre ele este semnată.

Robotul funcționează în trei moduri standard:

  1. Mișcarea de-a lungul liniei. În acest mod, robotul se deplasează pe o cale predeterminată folosind doi senzori digitali de linie. Datorită utilizării unor astfel de senzori, robotul depășește cu ușurință atât virajele lin, cât și secțiunile mai complexe ale traseului, care au, de exemplu, forma unui opt. O mică pistă de testare este inclusă în kit.


  1. Evitarea obstacolelor. Platforma este echipată cu patru senzori în infraroșu care ajută la detectarea obstacolelor în calea robotului. Datorită unui algoritm special de mișcare, robotul se mișcă nestingherit și nu se blochează în colțuri.


  1. Telecomandă. Robotul terminat primește o comandă de la o telecomandă folosind un receptor infraroșu. Dispozitivul respectă comenzile într-un mod similar cu o mașină de jucărie controlată prin radio.


Dispozitivul robotului se bazează pe senzori de înaltă calitate și o placă de microcontroler de la Keyestudio, care este un analog absolut al plăcii originale Arduino Uno, nu inferioară acesteia în caracteristicile externe și parametri tehnici. Șasiul este realizat pe o bază acrilică cu patru motoare electrice N20 echipate cu cutii de viteze.

La număr avantaje importante„Robo-urile inteligente” care fac setul atractiv în comparație cu concurenții includ:

  • Setul contine tot ce este necesar pentru asamblare. Setul este un dispozitiv complet, gata de utilizare. Pe lângă principal elemente de baza, setul include elemente suplimentare: șurubelnițe pentru asamblarea platformei și fixarea elementelor, precum și o baterie pt. durata de viata a bateriei robot;
  • Sunt furnizate instrucțiuni pas cu pas pentru asamblare și configurare. Acest manual vă permite să parcurgeți întregul traseu pas cu pas: de la asamblarea părții mecanice a robotului până la încărcarea programului finit în controler;
  • Trei moduri de operare diferite. Fiecare mod poate fi modificat la propria discreție;
  • Posibilitate de asamblare fara fier de lipit. Toate firele sunt conectate folosind conectori rapidi și terminale cu șuruburi. Adică, utilizatorul trebuie doar să conecteze elementele între ele;
  • Siguranță. Robotul este alimentat cu o baterie obișnuită de 9 volți.
  • Versatilitate. Funcționalitatea robotului nu se limitează la trei moduri standard. Puteți modifica singur un design existent sau puteți dezvolta ceva nou. Platformele de montare sunt echipate cu elemente de fixare universale, ceea ce vă permite să extindeți semnificativ sau să înlocuiți complet compoziția modulelor și a senzorilor. Capacitățile robotului depind doar de imaginația ta.

Setul va fi util nu doar pentru începători, ci și pentru cei care au cunoștințe în domeniul programării controlerelor și doresc să-l extindă. Produsul poate juca, de asemenea, rolul unui ghid didactic în lecțiile de fizică, informatică și inginerie electrică. Dacă este necesar, poate fi folosit ca ghid pas cu pas la acţiune la clubul de robotică.


Puteți afla informații mai detaliate despre setul Smart ROBO pe oficial

Senzorii joacă unul dintre cele mai importante roluri în robotică. Folosind diverși senzori, robotul detectează mediul și poate naviga în el. Prin analogie cu un organism viu, acestea sunt organe senzoriale. Chiar și un robot obișnuit de casă nu poate funcționa pe deplin fără cei mai simpli senzori. În acest articol vom arunca o privire detaliată asupra tuturor tipurilor de senzori care pot fi instalați pe un robot și a utilității utilizării acestora.

Senzori tactili


Senzorii tactili oferă robotului capacitatea de a răspunde la contactele (forțele) care apar între acesta și alte obiecte din zona de lucru. De obicei, acești senzori sunt echipați cu manipulatoare industriale, precum și roboți cu aplicații medicale. Mașinile echipate cu senzori tactili gestionează eficient operațiunile de asamblare și inspecție, funcții care necesită atenție la detalii.

Când dezvoltă roboți umanoizi moderni, producătorii îi echipează cu acești senzori pentru a face mașinile și mai „animate”, capabile să perceapă informații despre lumea din jurul lor literalmente prin atingere.

Senzori optici


Când construiți un robot, pur și simplu nu vă puteți lipsi de senzori optici. Cu ajutorul lor, dispozitivul va „vedea” totul în jur. Acești senzori funcționează folosind un fotorezistor. Senzorul de reflexie (emițător și receptor) vă permite să detectați zone albe sau negre de pe suprafață, ceea ce permite, de exemplu, unui robot cu roți să se deplaseze de-a lungul unei linii trasate sau să determine proximitatea unui obstacol. Sursa de lumină este adesea un LED infraroșu cu o lentilă, iar detectorul este o fotodiodă sau fototranzistor.

Camerele video merită o atenție deosebită. În esență, aceștia sunt ochi de robot. Acest tip de senzor este acum utilizat pe scară largă datorită creșterii tehnologiei în domeniul procesării imaginilor. După cum înțelegeți, pe lângă roboți, există o mulțime de aplicații pentru camere video: sisteme de autorizare, recunoaștere a imaginii, detectarea mișcării în cazul activităților de securitate etc.

Senzori de sunet


Acești senzori sunt utilizați pentru deplasarea în siguranță a roboților în spațiu prin măsurarea distanței până la un obstacol de la câțiva centimetri la câțiva metri. Acestea includ un microfon (vă permite să înregistrați sunet, voce și zgomot), telemetru, care sunt senzori care măsoară distanța până la obiectele din apropiere și alți senzori cu ultrasunete. KM este utilizat pe scară largă în aproape toate ramurile roboticii.

Funcționarea senzorului cu ultrasunete se bazează pe principiul ecolocației. Iată cum funcționează: difuzorul dispozitivului emite un impuls ultrasonic la o anumită frecvență și măsoară timpul până când revine la microfon. Localizatoarele de sunet emit unde sonore direcționale care se îndreaptă asupra obiectelor, iar o parte din acest sunet este returnat senzorului. În acest caz, ora de sosire și intensitatea unui astfel de semnal de întoarcere transportă informații despre distanța până la cele mai apropiate obiecte.

Pentru vehiculele subacvatice autonome, tehnologiile sonar subacvatice sunt utilizate în mod predominant, în timp ce pe uscat, tehnologiile sonar sunt utilizate în principal pentru evitarea coliziunilor doar în imediata apropiere, deoarece acești senzori au o rază de acțiune limitată.


Alte dispozitive alternative la locatoarele sonice includ radarele, laserele și lidarele. În loc de sunet, acest tip de telemetru folosește un fascicul laser reflectat de un obstacol. Acești senzori au devenit mai larg folosiți în dezvoltarea mașinilor autonome, deoarece permit vehiculului să facă față mai eficient traficului.

Senzori de poziție


Acest tip de senzor este utilizat în principal în vehicule cu conducere autonomă, roboți industriali și dispozitive care necesită auto-echilibrare. Senzorii de poziție includ GPS (sistem de poziționare globală), repere (acționează ca un far), giroscoape (determină unghiul de rotație) și accelerometre. GPS este un sistem de navigație prin satelit care măsoară distanța, timpul și determină locația robotului în spațiu. GPS-ul permite vehiculelor terestre, aeriene și nautice fără pilot să-și găsească traseul și să se deplaseze cu ușurință dintr-un punct în altul.

Giroscoapele sunt, de asemenea, un lucru comun în robotică. Ei sunt responsabili pentru echilibrarea și stabilizarea oricărui dispozitiv. Și datorită faptului că această piesă este relativ ieftină, poate fi instalată în orice robot de casă.

Un accelerometru este un senzor care permite unui robot să măsoare accelerația unui corp sub influența forțelor externe. Acest dispozitiv arată ca un corp masiv, capabil să se miște de-a lungul unei anumite axe și conectat la corpul dispozitivului prin arcuri. Dacă un astfel de dispozitiv este împins la dreapta, sarcina se va deplasa de-a lungul ghidajului la stânga centrului axei.

Senzori de înclinare

Acești senzori sunt utilizați la roboți unde este necesar să controlați înclinarea, să mențineți echilibrul și să împiedicați răsturnarea dispozitivului pe o suprafață neuniformă. Disponibil atât cu interfețe analogice cât și digitale.

Senzori cu infrarosu


Cel mai accesibil și cel mai simplu tip de senzori care sunt utilizați la roboți pentru a detecta proximitatea. Senzorul infraroșu trimite în mod independent unde infraroșii și, după ce a prins semnalul reflectat, determină prezența unui obstacol în fața acestuia.

În modul „beacon”, acest senzor trimite semnale constante prin care robotul poate determina direcția și distanța aproximativă a farului. Acest lucru vă permite să programați robotul astfel încât acesta să urmeze întotdeauna în direcția acestui far. Costul scăzut al acestui senzor îi permite să fie instalat pe aproape toți roboții de casă și, astfel, să le doteze cu capacitatea de a evita obstacolele.

Senzori de temperatura


Un senzor de temperatură este un alt dispozitiv util care este adesea folosit în dispozitivele moderne. Servește pentru măsurarea automată a temperaturii în diverse medii. Ca și în cazul computerelor, la roboți dispozitivul este folosit pentru a controla temperatura procesorului și a-l răci în timp util.

Ne-am uitat la toți cei mai de bază senzori care sunt utilizați în robotică și permit robotului să fie mai dexter, mai manevrabil și mai productiv.

Senzorul cu infraroșu este inclus în versiunea de acasă a setului Lego mindstorms EV3. Acesta este singurul senzor care poate fi utilizat fie independent, fie în tandem cu un far cu infraroșu, care face, de asemenea, parte din trusa acasa. Vom dedica următoarele două lecții studiului acestor două dispozitive, precum și interacțiunii lor unul cu celălalt.

8.1. Studiem senzorul infraroșu și farul infraroșu

(Fig. 1)în activitatea sa folosește unde luminoase invizibile pentru oameni - unde infraroșii * . Aceleași valuri sunt folosite, de exemplu, de panouri de telecomandă de diverse moderne aparate electrocasnice(televizoare, dispozitive video și muzicale). Senzor infraroșu în modul "Apropiere" trimite independent unde infraroșii și, după ce a prins semnalul reflectat, determină prezența unui obstacol în fața acestuia. Senzorul cu infraroșu implementează încă două moduri de funcționare în tandem cu un far cu infraroșu (Fig. 2). În modul "La distanta" Senzorul cu infraroșu poate detecta apăsarea butoanelor farului cu infraroșu, ceea ce vă permite să organizați controlul de la distanță al robotului. În modul "Far" Farul cu infraroșu trimite semnale constante din care senzorul cu infraroșu poate determina direcția și distanța aproximativă a farului, ceea ce permite robotului să fie programat astfel încât acesta să urmeze întotdeauna în direcția farului cu infraroșu. Înainte de a utiliza farul cu infraroșu, trebuie să instalați două baterii AAA.

Orez. 1

Orez. 2

8.2. Senzor infrarosu. Modul zoom

Acest mod de funcționare a senzorului cu infraroșu este similar cu modul de detectare a distanței senzor ultrasonic. Diferența constă în natura undelor luminoase: dacă undele sonore sunt reflectate din majoritatea materialelor, practic fără atenuare, atunci reflexia undelor luminoase este afectată nu numai de materiale, ci și de culoarea suprafeței. Culori închise Spre deosebire de cele ușoare, acestea absorb fluxul de lumină mai puternic, ceea ce afectează funcționarea senzorului infraroșu. Domeniul de funcționare al senzorului cu infraroșu diferă, de asemenea, de cel cu ultrasunete - senzorul arată valori care variază de la 0 (obiectul este foarte aproape) de 100 (obiectul este departe sau nu este detectat). Subliniem încă o dată: senzorul infraroșu nu poate fi folosit pentru a determina distanța exactă până la un obiect, deoarece citirile acestuia în modul „Apropiere” sunt influențate de culoarea suprafeței obiectului examinat. La rândul său, această proprietate poate fi folosită pentru a distinge obiectele luminoase și întunecate situate la o distanță egală de robot. Senzorul cu infraroșu face față cu succes sarcinii de a identifica un obstacol în fața acestuia.

Să rezolvăm o problemă practică asemănătoare cu Problema nr. 14 din lecția nr. 7, dar pentru a nu ne repeta, vom complica starea cu cerințe suplimentare.

Sarcina #17: scrieți un program pentru un robot care se mișcă rectiliniu care se oprește în fața unui perete sau a unui obstacol, se întoarce puțin înapoi, se întoarce cu 90 de grade și continuă să se miște până la următorul obstacol.

Un robot asamblat conform instrucțiunilor mic-robot-31313, un senzor infraroșu este instalat înainte în direcția de mers. Conectați-l cu un cablu la port "3" EV3 și să începem să creăm programul.

Să luăm în considerare blocul de program "Așteptarea" Paleta portocalie prin comutarea în Mod: - "Comparaţie" - „Mărire” (Fig. 3). În acest mod, blocul de program "Așteptarea" are doi parametri de intrare: „Tipul de comparație”Și „Valoare prag”. Știm deja cum să configuram acești parametri.

Orez. 3

Soluţie:

  1. ÎNCEPE mișcare rectilinie redirecţiona
  2. Așteptați până când valoarea pragului senzorului infraroșu devine mai mică de 20
  3. Nu mai merge mai departe
  4. Deplasați înapoi cu 1 rotație a motorului
  5. Virați la dreapta la 90 de grade (folosind cunoștințele din Lecția nr. 3, calculați unghiul de rotație necesar al motoarelor)
  6. Continuați să executați pașii 1 - 5 într-o buclă nesfârșită.

Încearcă să rezolvi Problema nr. 17 independent, fără a analiza decizia.

Orez. 4

Acum, pentru a consolida materialul, încercați să adaptați soluția Problemele nr. 15 din lecția nr. 7 sa folosesti senzorul infrarosu! S-a întâmplat? Împărtășește-ți impresiile în comentariile la lecție...

8.3. Controlul de la distanță al unui robot folosind un far cu infraroșu

Farul cu infraroșu inclus în versiunea de acasă a kit-ului de construcție Lego mindstorms EV3, asociat cu un senzor infraroșu, permite controlul de la distanță al robotului. Să aruncăm o privire mai atentă la far:

  1. Folosind o baliză cu infraroșu, direcționați transmițătorul de semnal (Fig. 5 elementul 1) spre robot. Nu trebuie să existe obstacole între far și robot! Datorită unghiului larg de vizualizare, senzorul cu infraroșu primește semnale în mod fiabil, chiar dacă farul este situat în spatele robotului!
  2. Pe corpul farului sunt 5 butoane gri (Fig. 5 elementul 2), ale căror clicuri sunt recunoscute de senzorul în infraroșu și transmite codurile de clic către programul care controlează robotul.
  3. Folosind un comutator roșu special (Fig. 5 elementul 3) Puteți selecta unul dintre cele patru canale pentru comunicarea dintre far și senzor. Acest lucru a fost făcut pentru ca mai mulți roboți să poată fi controlați în imediata apropiere.

Orez. 5

Problema #18: scrie un program telecomandă robot folosind un far cu infraroșu.

Știm deja că pentru a implementa capacitatea de a selecta blocuri de execuție, trebuie să folosim un bloc de program "Intrerupator" Paleta portocalie. Setați modul de funcționare al blocului "Intrerupator" V - "Măsurare" - „Telecomandă” (Fig. 6).

Orez. 6

Pentru a activa conexiunea dintre senzorul infraroșu și far, trebuie să setați valoarea corectă a parametrului „Canal” (Fig. 7 elementul 1) conform canalului selectat pe far! Fiecare container de programe bloc "Intrerupator" este necesar să se compare unul dintre opțiuni posibile apăsând tastele gri (Fig. 7 elementul 2). Rețineți că unele opțiuni implică apăsarea a două taste în același timp (tastele apăsate sunt marcate cu roșu). Total în blocul de program "Intrerupator"în acest mod puteți procesa până la 12 condiții diferite (una dintre condiții trebuie selectată ca condiție implicită). Containerele software sunt adăugate la bloc "Intrerupator" făcând clic pe „+” (Fig. 7 elementul 3).

Orez. 7

Ne propunem să implementăm următorul algoritm de control al robotului:

  • Apăsând butonul din stânga sus pornește rotația motorului din stânga, robotul se întoarce la dreapta (Fig. 7 valoarea elementului 2: 1)
  • Apăsând butonul din dreapta sus pornește rotația motorului la dreapta, robotul se întoarce la stânga (Fig. 7 valoarea elementului 2: 3)
  • Apăsarea simultană a butoanelor din stânga și din dreapta sus pornește rotația simultană înainte a motoarelor din stânga și din dreapta, robotul se deplasează înainte în linie dreaptă (Fig. 7 valoarea elementului 2: 5)
  • Apăsarea simultană a butoanelor din stânga și din dreapta jos pornește rotația înapoi simultană a motoarelor din stânga și din dreapta, robotul se mișcă înapoi în linie dreaptă (Fig. 7 valoarea elementului 2: 8)
  • Dacă nu este apăsat niciun buton de semnalizare, robotul se oprește (Fig. 7 valoarea elementului 2: 0).

Când dezvoltați un algoritm de telecomandă, ar trebui să știți următoarele: atunci când una dintre combinațiile de butoane gri este apăsată, farul cu infraroșu trimite continuu semnalul corespunzător; dacă butoanele sunt eliberate, trimiterea semnalului se oprește. Excepția este un buton gri orizontal separat (Fig. 7 valoarea poz. 2: 9). Acest buton are două stări: "PE" - "OFF". În starea de pornire, farul continuă să trimită un semnal, chiar dacă eliberați butonul (după cum este indicat de aprinderea LED-ului verde), pentru a opri transmiterea semnalului în acest mod, apăsați din nou butonul gri orizontal.

Să începem implementarea programului:

Algoritmul nostru de control de la distanță oferă 5 opțiuni de comportament, în consecință blocul nostru de program "Intrerupator" va consta din cinci containere software. Să începem să le instalăm.

  1. Să atribuim opțiunea implicită opțiunii când nu este apăsat niciun buton. (Fig. 7 valoarea elementului 2: 0). Să instalăm un bloc software în container care oprește motoarele "B"Și "C".
  2. În butonul din stânga sus, faceți clic pe container de opțiuni (Fig. 7 valoarea elementului 2: 1) instalați blocul software "Motor mare", pornind motorul "B".
  3. În butonul din dreapta sus, faceți clic pe container de opțiuni (Fig. 7 valoarea elementului 2: 3) instalați blocul software "Motor mare", pornind motorul "C".
  4. În containerul opțiunii de apăsare simultană a butoanelor din stânga și din dreapta sus (Fig. 7 valoarea elementului 2: 5) instalați blocul software „Control independent al motorului” "B"Și "C" redirecţiona.
  5. În containerul opțiunii de apăsare simultană a butoanelor din stânga și din dreapta jos (Fig. 7 valoarea elementului 2: 8) instalați blocul software „Control independent al motorului”, pornind motoarele "B"Și "C"înapoi.
  6. Să plasăm blocul nostru de program personalizat "Intrerupator"în interiorul blocului de program "Ciclu".

Folosind schema propusă, încercați să creați singur un program, fără să vă uitați la soluție!

Orez. 8

Încărcați programul rezultat în robot și rulați-l. Încercați să controlați robotul folosind un far cu infraroșu. Ți-a mers totul? Înțelegeți principiul implementării controlului de la distanță? Încercați să implementați opțiuni suplimentare management. Scrieți-vă impresiile în comentariile la această lecție.

*Vrei să vezi valuri invizibile? Activați modul foto pe telefonul mobil și aduceți elementul emițător la telecomandă de la televizor la obiectivul telefonului mobil. Apăsați butoanele de pe telecomandă și urmăriți strălucirea undelor infraroșii pe ecranul telefonului.

În acest articol ne vom uita la mai multe scheme de roboți care le implementează următoarele opțiuni comportament:
1. Ocolește un obstacol când intră în contact cu acesta cu „antenele”.
2. Evita obstacolele fara contact (bara de protectie IR).
3. Își sprijină „antenele” pe obstacol, se deplasează înapoi, face o întoarcere, apoi continuă să se miște.
4. Evita obstacolele cu viraj (bara de protectie IR).
5. Urmărește obiectul menținând distanța (bara de protecție IR).

Înainte de a începe să ne uităm la circuite, să ne uităm pe scurt la caracteristicile cipului L293.

Fig.1. Pinout-ul cipul L293D

În interiorul acestuia există două drivere pentru controlul motoarelor electrice.
Motoarele sunt conectate la ieșirile OUTPUT. Avem capacitatea de a conecta două motoare DC.
Cei 8 și 16 pini ai microcircuitului sunt conectați la pozitivul sursei de alimentare. Sprijinit mese separate, adică Al 16-lea pin (Vss) este destinat să alimenteze cipul în sine (5 volți), iar pinul Vs (al 8-lea pin) poate fi conectat la sursa de alimentare a motoarelor. Tensiune maxima Partea de putere este de 36 volți.
Nu le voi separa și le voi conecta în toate circuitele la o sursă de alimentare comună.
Negativul sau împământarea sursei de alimentare (GND) este conectat la pinii nr. 4, 5, 12, 13. Aceste contacte, în plus, asigură disiparea căldurii pentru microcircuit, așa că atunci când lipiți pe placă, este recomandabil să alocați o suprafață mărită. zonă metalizată pentru acești știfturi.
Microcircuitul are și intrările ENABLE1 și ENABLE2.
Pentru a porni driverele, trebuie să existe o unitate logică pe acești pini; cu alte cuvinte, conectăm pinii 1 și 9 la pozitivul sursei de alimentare.
Există și intrări INPUT pentru controlul motoarelor.

Fig.2. Tabel de corespondență între nivelurile logice la intrări și ieșiri.

Mai sus este un tabel din care puteți înțelege că dacă la intrarea INPUT1 i se aplică unul logic, adică. conectați la pozitivul sursei de alimentare, iar intrarea INPUT2 la negativ, apoi motorul M1 va începe să se rotească într-o anumită direcție. Și dacă schimbați nivelurile logice la aceste intrări, atunci motorul M1 se va roti în cealaltă direcție.
Același lucru se întâmplă și cu a doua parte, la care este conectat motorul M2.

Această caracteristică este utilizată în schemele robotului prezentate.

Schema nr. 1. Robotul ocolește un obstacol atunci când îl contactează cu „antenele”.

Fig.3. Schema nr. 1. Cu senzori mecanici de obstacol.

După ce este aplicată puterea, motoarele se vor roti într-o anumită direcție, mișcând robotul înainte. Acest lucru se întâmplă din cauza faptului că un semnal este furnizat către INPUT1 prin rezistorul R2 nivel inalt, la fel ca la intrarea INPUT4. Tranzistorul VT1 este închis în siguranță, baza este trasă la sursa de alimentare minus și nici un curent nu trece în colector.
Voi explica în partea stângă, pentru că... ambele părți sunt simetrice.
La intrarea INPUT2, se stabilește un 0 logic prin rezistența R3. Judecând după tabel (Fig. 2), motorul se rotește într-o anumită direcție. În partea dreaptă a diagramei, se întâmplă același lucru și robotul se mișcă înainte.
Circuitul conține chei (SB1, SB2), care folosesc comutatoare SPDT. Agrafele de hârtie sunt atașate de ele folosind lipici fierbinte și se obțin senzori de obstacole.

Fig.4. Senzorii antenelor sunt fabricați din agrafe.

Când un astfel de senzor lovește un obstacol, cheia se închide și intrarea INPUT2 este conectată la sursa de alimentare pozitivă, de exemplu. este furnizat „1” logic. În același moment se deschide și tranzistorul, în urma căruia cel logic de la intrarea INPUT1 este înlocuit cu un zero logic. Când butonul este apăsat, motorul se rotește în cealaltă direcție. Microcomutația are loc sacadat și motorul îndepărtează robotul de obstacol până când senzorul încetează să mai contacteze obstacolul.

După cum probabil ați ghicit, întrerupătoarele sau motoarele în sine trebuie aranjate în cruce.

Schema nr. 2. Robotul evită obstacolele fără contact (bara de protecție IR)

Un comportament și mai interesant poate fi realizat dacă receptoarele TSOP sunt folosite ca senzori pentru a recepționa semnale în infraroșu. Acesta va fi un fel de bara de protecție IR.
Deci acum circuitul arată așa.

Fig.5. Schema nr. 2. Cu senzori de obstacole în infraroșu.

„Modulul de recepție IR” funcționează astfel: când un semnal infraroșu ajunge la receptorul TSOP, apare o tensiune negativă la ieșire, care deblochează tranzistorul PNP, iar curentul de la sursa de alimentare plus este furnizat către circuit de intrare microcircuite. Dacă ultima dată s-au folosit întrerupătoare mecanice, cu așa-numitele antene din agrafe, atunci noua schema va permite robotului să nu se lovească de un obstacol, ci să reacționeze la acesta de la o anumită distanță. Arata cam asa:

Partea de primire este astfel proiectată: două module absolut identice (stânga și dreapta) fixate împreună (Fig. 8).

Ca receptoare au fost utilizate TSOP1136 cu o frecvență de operare de 36 kHz. Locațiile pinului sunt prezentate în figura de mai jos.

Fig.6. TSOP1136.

Am descoperit receptorii, dar pentru a detecta obstacolele, trebuie să trimiteți radiații infraroșii la o anumită frecvență în spațiul din fața robotului. Frecvența de funcționare a receptoarelor variază, în cazul meu este de 36 kHz. Prin urmare, un generator de impulsuri pentru această frecvență a fost asamblat pe cipul NE555, iar la ieșire au fost conectate diode emițătoare de infraroșu.


Fig.7. Circuit emițător NE555.

Pe șasiul robotului este atașat un fragment dintr-o placă, pe care puteți instala numărul dorit de diode IR.
Este indicat să puneți tuburi termocontractabile sau ceva asemănător pe diode, astfel încât acestea să strălucească înainte și nu în direcții diferite.

Fig.8. Bara de protecție IR.

După ce este aplicată alimentarea, robotul se poate întoarce înapoi, acest lucru se datorează sensibilității prea mari a receptoarelor TSOP. Ei percep semnalul reflectat chiar și de pe podea, pereți și alte suprafețe. Prin urmare, în circuitul emițător de semnal IR (Fig. 7) se folosește un rezistor de tăiere, cu ajutorul căruia reducem luminozitatea diodelor infraroșii și obținem sensibilitatea dorită.

Schema nr. 3. Un astfel de robot se întoarce de la obstacol, făcând o întoarcere.

Să ne uităm la o altă schemă interesantă.

Fig.9. Schema nr. 3.

Când un astfel de robot lovește un obstacol cu ​​una dintre antenele sale, acesta se deplasează înapoi, făcând o întoarcere ușoară, apoi după o scurtă pauză robotul continuă să se miște. Comportamentul este prezentat în animația de mai jos:

Acest circuit este, de asemenea, pe deplin compatibil cu bara de protecție cu infraroșu din circuitul anterior.

Condensatorii electrolitici au apărut în circuitul dintre emițător și rezistențele de bază ale tranzistoarelor VT1 și VT2. Au apărut diodele VD1, VD2 și LED-urile HL1, HL2.
Să aruncăm o privire la de ce sunt necesare aceste componente suplimentare.
Deci, când comutatorul SB1 se închide, adică primul senzor, curentul de la sursa de alimentare pozitiv prin dioda VD1 și rezistorul de limitare a curentului R1 este alimentat la baza tranzistorului. Se deschide prin schimbarea nivelului logic la intrarea INPUT1, iar nivelul de la intrarea INPUT2 se modifică de asemenea.
În acest moment, curentul trece și către condensatorul C1 și se încarcă. Motorul M1 își schimbă brusc direcția de rotație și robotul se întoarce de la obstacol. În videoclip puteți observa că și al doilea motor își schimbă direcția de mișcare, dar pentru o perioadă mai scurtă de timp. Acest lucru se datorează faptului că atunci când senzorul SB1 este închis, curentul de la sursa de alimentare plus curge și în partea dreaptă a circuitului, prin LED-ul HL2. LED-urile nu numai că furnizează un semnal pe termen scurt despre o coliziune cu un obstacol, ci acționează și ca un absorbant de tensiune pentru jumătatea opusă a circuitului. Pur și simplu, când comutatorul SB1 este închis, condensatorul C2 se încarcă mai puțin decât C1. Și când cheia (senzorul) SB2 este închisă, se întâmplă același lucru, dar dimpotrivă - C2 se încarcă mai mult (adică, tensiunea de pe plăcile sale este mai mare). Acest lucru vă permite nu numai să vă îndepărtați de obstacol, ci și să vă îndepărtați ușor de acesta. Unghiul acestei rotații depinde de capacitatea condensatoarelor C1 și C2. Condensatorii cu o capacitate de 22 uF, după părerea mea, sunt optimi. Cu o capacitate de 47 µF unghiul de rotație va fi mai mare.
De asemenea, puteți observa în videoclip că, după ce robotul se întoarce de la un obstacol, există o scurtă pauză înainte de a merge înainte. Acest lucru se întâmplă din cauza descărcării condensatoarelor, adică. la un moment dat, semnalele logice de la intrările INPUT sunt echilibrate și șoferul nu mai înțelege pentru o secundă în ce direcție să rotească motorul. Dar când C1 și C2 sunt descărcate, intrările INPUT vor reveni la nivelurile logice originale.
Diodele VD1 și VD2 împiedică descărcarea condensatoarelor prin LED-urile HL1, HL2. Fără LED-uri circuitul nu funcționează.

Schema nr. 4. Diagrama anterioară cu bara de protecție IR.

Această schemă diferă de cea anterioară prin faptul că, în loc de senzori mecanici, aici sunt utilizați senzori cu infraroșu (bara de protecție IR).

Fig. 10. Schema nr. 4.

Colectorii tranzistorilor PNP VT1 și VT2, atunci când este detectat un obstacol, vor trimite un semnal către circuitul de intrare al microcircuitului. Apoi totul se întâmplă în același mod ca cel descris mai devreme, doar un astfel de robot, când detectează un obstacol în fața lui, se întoarce înapoi, face o întoarcere și apoi continuă să se miște.
Comportamentul este prezentat în animația de mai jos:

Robotul se va comporta mai brusc dacă capacitatea condensatoarelor C1 și C2 este redusă, de exemplu, la 1 µF (capacitate minimă 0,22 µF).

Cum să faci un robot să urmeze un obiect?

În toate schemele prezentate mai sus, senzorii sau motoarele în sine trebuie aranjate în cruce. Și cu o conexiune directă (când senzorul din stânga „comandă” motorul stâng, cel drept - cel drept), robotul nu va evita obstacolul, ci mai degrabă îl va urma. Datorită conexiunii directe, puteți obține un comportament foarte interesant al robotului - acesta va urmări activ un obiect menținând în același timp o anumită distanță. Distanța până la obiect depinde de luminozitatea diodelor IR de pe bara de protecție (reglare).

Mai multe fotografii:

Șasiul folosit Părți metalice de la proiectant. Placa se rabatează pentru o înlocuire ușoară a bateriei.

Robotul este alimentat de 4 baterii AA.

Opțiunile de realizare a caroseriei și șasiului pentru un robot sunt limitate doar de imaginația ta, mai ales că există multe la vânzare soluții gata făcute. În cazul meu, circuitul va fi transferat pe placă, deoarece o grămadă de fire nu este plăcută din punct de vedere estetic. Se vor instala și baterii cu circuit de reîncărcare. Și ce alte îmbunătățiri pot fi aduse sau noi funcții adăugate - puteți sugera toate acestea în comentarii.

Există un videoclip pentru acest articol care descrie în detaliu funcționarea circuitelor și demonstrează diferite opțiuni pentru comportamentul robotului.

Lista radioelementelor

Desemnare Tip Denumirea Cantitate NotăMagazinBlocnotesul meu
Elementele circuitului nr. 1 și nr. 2 (cu excepția barei de protecție IR)
VT1, VT2 Tranzistor bipolar

2N3904

2 La blocnotes
R1, R2, R4, R6 Rezistor

10 kOhm

4 La blocnotes
R3, R5 Rezistor

4,7 kOhmi

2 La blocnotes
C1 100 uF1 La blocnotes
Elemente ale „modulului de recepție IR” din diagrama nr. 2, nr. 4
VT1, VT2 Tranzistor bipolar

2N3906

2 KT361, KT816 La blocnotes
R1, R2 Rezistor

100 ohmi

2 La blocnotes
C1, C2 Condensator electrolitic10-47 uF2 La blocnotes
Elemente ale „modulului de emisie semnal IR” Fig. 7
R1 Rezistor

1 kOhm

1 La blocnotes
R2 Rezistor

1,5 kOhm

1 La blocnotes
R3 Rezistor variabil20 kOhm1 pentru a regla luminozitatea FD1, FD2 La blocnotes
C1 Condensator ceramic0,01 µF1 La blocnotes
C2 Condensator ceramic0,1 uF1 La blocnotes
FD1, FD2 dioda IR 2 Orice
Acțiune