Мазмұны:

Arduino көмегімен стационарлық радар (LIDAR) массиві: 10 қадам (суреттермен)
Arduino көмегімен стационарлық радар (LIDAR) массиві: 10 қадам (суреттермен)

Бейне: Arduino көмегімен стационарлық радар (LIDAR) массиві: 10 қадам (суреттермен)

Бейне: Arduino көмегімен стационарлық радар (LIDAR) массиві: 10 қадам (суреттермен)
Бейне: Arduino бағдаршамы 2024, Шілде
Anonim
Arduino көмегімен стационарлық радар (LIDAR) массиві
Arduino көмегімен стационарлық радар (LIDAR) массиві
Arduino көмегімен стационарлық радар (LIDAR) массиві
Arduino көмегімен стационарлық радар (LIDAR) массиві
Arduino көмегімен стационарлық радар (LIDAR) массиві
Arduino көмегімен стационарлық радар (LIDAR) массиві

Мен екіжүзді робот жасап жатқанда, мен әрқашан қарсыласымды іздей алатын және онымен шабуылдық қимылдар жасай алатын керемет гаджет алуды ойладым. Бұл жерде радар/лидар жобалары бар. Дегенмен, менің мақсатым үшін кейбір шектеулер бар:

  • Ультрадыбыстық толқын сенсорының модульдері өте үлкен. Әрбір робот WALL-E тәрізді болады.
  • Ағымдағы радиолокациялық жобалардың барлығына сенсор (ультрадыбыстық толқындар, ИҚ, лазер, …) және ортасында серво қозғалтқышы кіреді. Қоршаған ортаны сканерлеу үшін серво бір жаққа қарай жылжуды қажет етеді. Затты алға -артқа жылжыту импульстің өзгеруін тудырады, бұл екі аяқты теңестіру мен серуендеуге зиянды.
  • Сканерлеу жиілігі серво жылдамдығымен шектеледі. Мүмкін, бірнеше герцке қол жеткізуге болады. Сканерлеу жиілігін кейбір суперсерво күшейте алатын болса да, бұл қатты дірілге әкеледі.
  • [Орталық серво қозғалтқышы - сенсор] қондырғысы монтаждау мен дизайнды да шектейді. Басынан басқа нәрсені орнату қиын. Бұл менің екі аяғымды WALL-E-ге ұқсайды. Керемет емес!
  • [Серво-сенсор] қондырғысы [мотор-сенсор] стилінде де құрастырылуы мүмкін. Сенсор (немесе сенсорлар) қозғалтқыш осінің бойымен үздіксіз айналады. Бұл импульстік серпіліс пен сканерлеу жиілігінің төмен мәселелерін жоя алады, бірақ торс дизайнының шектелуі емес. Сонымен қатар, электр сымдарының қиындығы айтарлықтай артады.

Іздегеннен кейін ST -ден шыққан VL53L0X кішкентай сенсоры көзіме түсті. «Әлемдегі ең кіші» ұшу уақытының сенсоры ретінде өлшемі тек 4,4 х 2,4 х 1,0 мм. Ерекшелігі

  • Чипте IR лазерлік эмиттер мен детектор
  • 2 метрге дейін (жылдам режимде 1,2 м)
  • Бағдарламаланатын I2C адресі
  • GPIO үзіліс шығыс түйреуіші
  • Көз қауіпсіз

Барлық осы арнайы мүмкіндіктер VL53L0X сенсорларының жиынтығы жұмыс істей алатын болса, жоғарыдағы мәселелерді шешуге мүмкіндік берді. Бастапқыда мен бұл радарды қатты күйдегі радар деп атаймын деп ойладым, бірақ бұл терминнің басқа нәрсеге қолданылғанын білдім. Сондықтан тақырыптағы «стационарлық» сөзі бұл радар гаджетінде қозғалатын бөліктер жоқ екенін білдіреді. Сонымен қатар, LIDAR (жарықты анықтау және диапазон) бұл чиптің техникалық жағынан дұрыс термині болса, RADAR мұнда жалпы термин ретінде аталады.

Бағдарламаланатын I2C адресі мен GPIO шығыс түйреуішінің бұл жоба үшін маңызды болуының себебі кейінірек түсіндіріледі.

1 -қадам: құралдар мен бөлшектер

Құралдар мен бөлшектер
Құралдар мен бөлшектер
Құралдар мен бөлшектер
Құралдар мен бөлшектер

Құралдар

Бұл жобада келесі құралдар қажет:

  • Пісіру темірі
  • Қолмен дәнекерлеу
  • Dupont қысу құралы
  • 1,5 мм алты бұрышты драйвер
  • Сымды қаптаманы кетіруге арналған құрал
  • Сым кескіш
  • Ыстық желім қаруы
  • Пинцет
  • Ұлғайтқыш (телефондағы физикалық немесе қосымшалар)
  • Жалпақ мұрынды қысқыштар

Бөлшектер

Бұл жобада келесі бөліктер қолданылады:

  • 10x VL53L0X GY-530 ажырату тақтасы
  • Arduino (Uno, Nano, Mega, Zero, Mini және т.
  • Нан тақтасы мен бірнеше нан сымдары
  • Түрлі түсті AWG № 26 сымдары
  • AWG № 30 бір ядролы сым
  • 5x Dupont еркек қосқыштары
  • 5x Бір түйректі Дюпон корпустары
  • 10х 3D басып шығарылған тақта ұстағыштары
  • 1х 3D басылған дөңгелек жақтау
  • 10x M2x10 тегіс бұрандалар
  • 10x 0804 жарық диоды (көк қайта ұсынылады)
  • 10x SOT-23 AO3400 N-Channel MOSFET
  • Кішкене конденсатор (10 ~ 100uF)

Үзіліс тақтасы

Мен қолданған VL53L0X ажырату тақтасы GY-530. Сонымен қатар Adafruit нұсқасы мен Pololu нұсқасы бар. Мүмкін болса, мен Adafruit немесе Pololu өнімін пайдалануды ұсынамын, себебі олар керемет өнімдер, тамаша оқулықтар мен керемет бағдарламалық кітапханалар жасайды. Мен Adafruit -тің VL53L0X кітапханасында тест өткіздім және Пололудың VL53L0X кітапханасының өзгертілген нұсқасын қолдандым.

Дюпон қосқыштары

Дупонтты қосқыштар тақта үшін қолданылады. Сіз қолыңызда бар басқа байланыс түрлерін пайдалана аласыз.

Бұрандалар мен 3D басып шығарылған бөлшектер

М2 бұрандалары, ұстағыштары мен дөңгелек жақтауы датчиктерді дөңгелек орналастыру үшін қолданылады. Сіз кез келген басқа әдістерді қолдана аласыз, мысалы, карточкаларды, ағаштан жасалған ағаштарды, сазды немесе тіпті оларды ыстық банкаға жабыстыру.

2 -қадам: тарату тақтасын бұзу

Тарату тақтасын бұзу
Тарату тақтасын бұзу
Тарату тақтасын бұзу
Тарату тақтасын бұзу
Тарату тақтасын бұзу
Тарату тақтасын бұзу
Тарату тақтасын бұзу
Тарату тақтасын бұзу

Анықтау конусы

Мен анықтау конусын салу үшін бір модуль қолдандым. Негізінен 3D басып шығарылған роботты мақсат ретінде пайдалану. Арақашықтық дисплейде көрсетіледі және шамамен өлшенеді. Өлшенетін деректер Microsoft Excel файлына жазылады және қисықтарды бекіту функциясын қолданады. Тиімді логарифм қисығы, тиімді арақашықтығы 3 см -ден 100 см -ге дейін.

60 см -де бір сенсордың анықтау қисығы шамамен 22 см құрайды. Ені 20 см болатын нысанда радиолокациялық массив үшін 10 ~ 15 градусқа дөңгелек ажырату қолайлы сканерлеу ажыратымдылығын қамтамасыз етуі керек.

I2C мекенжайы

VL53L0X I2C құрылғысының мекенжайы бағдарламаланатын болса да, микроконтроллер арқылы XSHUT түйреуішін толық бақылау қажет. Мұны істеу реті:

  1. Қуат AVDD -ге қолданылады.
  2. Барлық VL53L0X чиптері барлық XSHUT түйреуіштерін LOW күйіне келтіру арқылы Hw күту режиміне қайтарылады.
  3. Әрбір чип бірте -бірте қалпына келтіру күйінен шығарылады. Жүктелгеннен кейін әдепкі I2C мекенжайы - 0x52.
  4. I2C пәрмені арқылы чиптің мекенжайы жаңа адреске өзгертіледі. Мысалы, 0x52 0x53 болып өзгерді.
  5. Барлық чиптер үшін 3 және 4 -қадамдарды қайталаңыз.

Теориялық тұрғыда 7 биттік адрес диапазоны үшін бір автобуста максимум 126 бірлік жүргізуге болады. Алайда, іс жүзінде микроконтроллердің шинаның сыйымдылығы мен суға кететін ток шектеуі құрылғының максималды санын шектеуі мүмкін.

Жаңа I2C мекенжайы VL53L0X чипінде өшіруге немесе қалпына келтіруге қарсы сақталмайды. Сондықтан бұл процесті кез келген қуатпен бір рет жасау керек. Бұл радар массивіндегі әрбір қондырғы үшін бір қымбат түйреуіш қажет екенін білдіреді. Бұл 10+ немесе 20+ қондырғылары бар радарлық белдеу үшін сымдар мен түйіспелі тұтыну үшін өте жағымсыз.

STEP1 -де айтылғандай, VL53L0X чипінде GPIO1 түйреуіші бар, ол бастапқыда үзіліс үшін пайдаланылады, бұл бақытты.

GPIO-XSHUTN ромашка тізбегі

GPIO шығысы жүктеу кезінде жоғары импеданс күйінде және белсенді болғанда төменге дейін ағызылады. Деректер кестесінде ұсынылғандай GPIO және XSHUT түйреуіштері GY-530 ажырату тақтасында AVDD-ге жоғары тартылады. Барлық VL53L0X чиптерін Hw Standby күйіне сенімді түрде қою үшін (XSHUT төмен), бізге әрбір XSHUT түйрегіне логикалық NOT қақпасы (инвертор) қажет. Содан кейін біз бір микросхеманың GPIO шығуын (N-ші чип), төменгі ағынды чиптің XSHUTN (XSHUT-NOT) (N+1 чипі) қосамыз.

Қосылғаннан кейін барлық GPIO түйреуіштері (белсенді емес) тартылады, барлық келесі XSHUT түйреуіштері NOT қақпасынан төмен түсіріледі (оның XSHUTN түйреуіші микроконтроллерге қосылған, бірінші жұдырықтан басқа). I2C адресінің өзгеруі және төменгі ағынның XSHUT шығарылымы бағдарламалық жасақтамада бірінен соң бірі жасалады.

Егер сіз әр түрлі сынғыш тақталарды қолдансаңыз, тартылатын резисторлардың орнында екеніне көз жеткізіп, тиісті түзетулер енгізіңіз.

Жарық диодты қосу

Келесі қадамда XSHUT тақтасынан көршілес конденсатордың GND терминалына қосылған шағын 0805 SMD жарық диоды қосылады. Жарық диодының өзі модульдің жұмысына әсер етпесе де, ол бізге XSHUT логикалық деңгейінде жақсы визуалды көрсеткіш береді.

Жарықдиодты XSHUT түйреуішіндегі тартқыш резистормен (менің жағдайда 10к) тізбектей жалғау кернеудің төмендеуіне әкеледі. Жоғары логикалық деңгей 3.3v орнына қызыл 0805 жарық диодты кернеудің төмендеуі 1,6 в өлшенеді. Бұл кернеу деректер кестесіндегі жоғары логикалық деңгейден (1.12v) жоғары болса да, бұл жарықтандыру үшін көк жарық диоды жақсы. Көк жарық диодты кернеудің төмендеуі шамамен 2,4 в өлшенеді, бұл чиптің логикалық деңгейінен қауіпсіз.

N-MOS инверторын қосу (логика емес, қақпа)

Кішкентай SOT-23 N-арналы MOSFET біз қосқан жарықдиодты жарыққа қойылған. Ажыратқыш тақтаға екі терминалды (D, S) дәнекерлеу қажет, ал қалған терминал (G) № 26 сымды қолдана отырып, GPIO түйіспесінің жоғарғы жағына қосылады.

SMD компоненттерін қосу туралы ескертулер

SMD компоненттерін арнайы тақтаға дәнекерлеу оңай жұмыс емес. Егер сіз әлі 0805, SMD, SOT-23 туралы естімеген болсаңыз, онда сіз кішкентай бөлшектерді бұрын дәнекерлемеген болуыңыз мүмкін. Кішкене компоненттерді қолмен өңдеу кезінде жиі кездеседі:

  • Кішкене нәрсе түсіп, мәңгілікке жоғалып кетті
  • Кішкене заттың үстіндегі кішкене жастықшалар жаңа ғана қабыршақтанған.
  • Кішкене заттың кішкентай аяқтары сынды.
  • Дәнекерлеуге арналған қаңылтыр тек қана блокқа жиналды, оны ажырату мүмкін болмады.
  • Және тағы…

Егер сіз әлі де осы радарды жасағыңыз келсе, сіз:

  • Компоненттерді DIP стилі сияқты үлкен пакетке өзгертіңіз.
  • Тәжірибе мен тұтыну үшін қажет минимумнан көп компоненттер алыңыз.

3 -қадам: 0805 жарықдиодты дәнекерлеу

0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу
0805 жарықдиодты дәнекерлеу

0805 SMD жарықдиодты дәнекерлеу

0805 жарық диодты қолмен, SMD -ге арналмаған тақтаға дәнекерлеу оңай жұмыс емес. Келесі қадамдар - жарықдиодты дәнекерлеу бойынша менің ұсынысым.

  1. Бөлу тақтасын ұстау үшін көмекші қолын пайдаланыңыз.
  2. SMD конденсаторы мен «XSHUT» төсемінің шетіне дәнекерлеу пастасын салыңыз.
  3. Конденсатордың шетіне қосымша дәнекерлеу үшін дәнекерлеу үтігін қолданыңыз.
  4. 0805 светодиодының екі жағына да дәнекерлеу пастасын салыңыз.
  5. 0805 светодиодының екі жағына қалайы қою үшін дәнекерлеуішті қолданыңыз.
  6. Жарықдиодты фотосуретте көрсетілгендей орналастыру үшін пинцетті қолданыңыз. Катодтың ұшында әдетте белгіленген сызық болады. Менің мысалда катодтың ұшында жасыл сызық бар. Катодтың ұшын конденсатордың ұшына қойыңыз.
  7. Пинцет көмегімен конденсаторға қарай жарықдиодты жарық қысымын қосыңыз және конденсатордың ұшына бір мезгілде жылу қосу арқылы жарық диодты конденсатордың ұшына дәнекерлеңіз. Жарық диодты қатты баспаңыз. Оның қақпағы жылу мен шамадан тыс қысым кезінде сынуы мүмкін. Дәнекерлегеннен кейін, жарық диодты орнында дәнекерленгенін тексеру үшін жарық диодты жанама қысыммен қосыңыз.
  8. Енді жарықдиодты XSHUT батырғышқа дәнекерлеңіз. Бұл қадам оңай болуы керек.

Ескертпе: Суретте көрсетілген конденсатордың ұшы осы ажырату тақтасындағы жерге тұйықтауыш болып табылады. Ал XSHUT батырмасы резистормен тартылады.

Жарықдиодты тексеру

Жарықдиодты ажырату тақтасына электр қуатын (мысалы, 5В) және жерге қосқан кезде жанады.

4-қадам: N-Channel MOSFET-ті дәнекерлеу

N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу
N-Channel MOSFET-ті дәнекерлеу

AO3400 N-Channel MOSFET дәнекерлеу

Бұл MOSFET SOT-23 пакетінде. Біз оны светодиодқа «жинап», сымды да қосуымыз керек:

  1. Пісіру пастасын салыңыз да, үш терминалды қалайы салыңыз.
  2. 0805 жарық диодының үстіне MOSFET орналастыру үшін пинцетті қолданыңыз. S терминалы конденсатордың жоғарғы жағына тиіп тұруы керек
  3. S терминалын конденсатордың ұшымен дәнекерлеңіз, суретте көрсетілгендей.
  4. Кішкене AWG № 30 бір ядролы сымды кесіңіз және жабындысы 1 см шамасында алыңыз.
  5. Дәнекерлеуішті XSHUT шұңқырындағы дәнекерлеуді төменнен еріту үшін пайдаланыңыз және суретте көрсетілгендей №30 сымды жоғарыдан салыңыз.
  6. Сымның жоғарғы ұшын MOSFET D терминалына дәнекерлеу.
  7. Қосымша сымды кесіңіз.

Ескерту: MOSFET S терминалы суретте көрсетілгендей конденсатордың ұшына қосылған. Бұл ұш жердегі терминал болып табылады. MOSFET D терминалы түпнұсқа XSHUT түйреуішіне қосылған.

G терминалы қазіргі уақытта қосылмаған. Оның позициясы кейбір тартылатын резисторлардың үстінде. Олардың арасында бос орын бар екеніне көз жеткізіңіз (N-MOS және резистор) және бір-бірімен байланыспайды.

5 -қадам: сенсорлық массивті сымға қосу

Сенсор массивін сыммен қосу
Сенсор массивін сыммен қосу
Сенсор массивін сыммен қосу
Сенсор массивін сыммен қосу
Сенсор массивін сыммен қосу
Сенсор массивін сыммен қосу

Жалпы автобус сымдары

Жалпы автобусқа мыналар кіреді:

  • Vcc қуаты. Фотода қызыл. Мен 5v логикасы бар arduino нано қолданамын. Үзіліс тақтасында LDO және деңгей ауыстырғыш бар. Сондықтан 5v -ді Vin ретінде пайдалану қауіпсіз.
  • Жер. Фотода қара.
  • SDA. Фотода жасыл.
  • SCL. Фотода сары.

Бұл төрт жол - ортақ сызықтар. Сәйкес сымдардың ұзындығын кесіңіз және оларды барлық датчик модульдеріне параллель дәнекерлеңіз. Мен arduino -дан бірінші сенсорға дейін 20 см, содан кейін әрқайсысына 5 см қолдандым.

XSHUTN және GPIO сымдары

20 см ақ сым arduino басқару түйреуішінен бірінші сенсордың XSHUTN түйреуішіне дейін. Бұл бірінші VL53L0X чипін қалпына келтіруден шығару және I2C мекенжайын өзгерту үшін қажет басқару сызығы.

Әр модуль арасындағы 5 см ақ сым - бұл тізбекті басқару желісі. Жоғары микросхема (мысалы, № 3 чип) GPIO тақтасы төменгі ағынға қосылған (мысалы, чип No4) XSHUTN аяғы (N-Channel MOSFET G терминалы).

G терминалының төмендегі резистормен жанаспауын қадағалаңыз. Аралыққа оқшаулағыш таспаны қоюға болады. Әдетте VL53L0X чипімен қамтамасыз етілген қорғаныс лайнерін осында қолдануға болады.

Басқару сымын жабыстыру үшін жылу пистолетін қолданыңыз.

Ыстық желім

Фотода көріп тұрғаныңыздай, ақ бақылау сымында, N-MOS G терминалының қасында ыстық желім жарылған. Бұл қадам өте маңызды және өте қажет. SMD компонентінің аяғына тікелей өзгермелі дәнекерлеу өте әлсіз. Сымның кішкене қысымы да аяқты сындыруы мүмкін. Бұл қадамды ақырын жасаңыз.

Жарықдиодты тексеру

Сенсор массивіне қуат (мысалы, 3.3v-5v) мен жерге қосқанда, бірінші модульдегі жарық диоды XSHUTN сымының логикалық деңгейімен жауап беруі керек. Егер сіз XSHUTN-ді жоғары логикаға қоссаңыз (мысалы, 3.3v-5v), жарық диодты өшіру керек. Егер сіз XSHUTN сымын төменге (жерге) қоссаңыз, бірінші модульдегі жарық диоды қосулы болуы керек.

Барлық келесі модульдер үшін жарық диодты өшіру керек.

Бұл тест ардуиноға қосылмас бұрын жүргізіледі.

6 -қадам: сенсорлық массивті аяқтау

Image
Image
Сенсорлар жиынын аяқтау
Сенсорлар жиынын аяқтау
Сенсорлар жиынын аяқтау
Сенсорлар жиынын аяқтау
Сенсорлар жиынын аяқтау
Сенсорлар жиынын аяқтау

Дейзи тізбегін тестілеу

Енді біз I2C мекенжайының өзгеруі массивтегі барлық сенсорлар үшін жұмыс істейтінін тексергіміз келеді. Жоғарыда айтылғандай, бірінші чипті arduino басқарады. Екінші чип бірінші чиппен басқарылады және т.б.

  1. Нан тақтасын орнатыңыз. 5В және жер үсті рельсі адриано 5В мен жерден тікелей қосылған. Деректер кестесінде әр сенсор үшін ағымдағы тұтыну 19ma есептеледі.
  2. Винді тұрақтандыруға көмектесу үшін электр рельсіне конденсатор қосыңыз.
  3. Вин мен Жерді сенсорлық массивтен қуат рельсіне қосыңыз.
  4. SDA-ны arduino Nano pin A4-ке қосыңыз (басқа микроконтроллерлер үшін басқаша болуы мүмкін).
  5. SCL-ді arduino Nano pin A5-ке қосыңыз (басқа микроконтроллерлер үшін басқаша болуы мүмкін).
  6. XSHUTN сымын arduino Nano pin D2 -ге қосыңыз. (Мұны эскизде өзгертуге болады).
  7. Github https://github.com/FuzzyNoodle/Fuzzy-Radar өтіңіз және кітапхананы жүктеңіз.
  8. «Daisy_Chain_Testing» мысалын ашып, эскизді жүктеңіз.

Егер бәрі жұмыс істесе, жоғарыдағы бейне клипке ұқсас жарық диодтары біртіндеп жанып тұрғанын көру керек.

Сіз сондай -ақ сериялық терезені ашып, инициализацияның барысын көре аласыз. Шығару келесідей болады:

PortPort ашу Бастапқы эскиз. 0 чипін қалпына келтіру режиміне қойыңыз. Барлық күй жарық диодтары өшірулі болуы керек. Енді сенсорларды конфигурациялау. Жарықдиодты біртіндеп жануы керек. 0 микросхемасын конфигурациялау - I2C мекенжайын 83 қалпына келтіру - сенсорды инициализациялау. 1 -чипті конфигурациялау - I2C адресін 84 -ке қалпына келтіру - сенсорды инициализациялау. 2 -чипті конфигурациялау - I2C адресін 85 -ке қалпына келтіру - сенсорды инициализациялау. Радар массивінің конфигурациясы аяқталды.

Ұстағыш пен жақтауды жинаңыз

  1. Әр GY-530 модулін ұстағышқа M2x10 бұрандасы бар абайлап қойыңыз. MOSFET түймесін баспаңыз немесе XSHUTN сымдарын тартпаңыз.
  2. Әр ұстағышты дөңгелек шеңберге салыңыз. Бөлшектерді бекіту үшін ыстық желімді қолданыңыз.

Тағы да M2 бұрандалары, ұстағыштары мен дөңгелек жақтауы датчиктерді дөңгелек орналастыру үшін қолданылады. Сіз кез келген басқа әдістерді қолдана аласыз, мысалы, карточкаларды, ағаштан жасалған ағаштарды, сазды немесе тіпті оларды ыстық банкаға жабыстыру.

Мен қолданған 3D басып шығарылған файлдар төменде берілген. Дөңгелек рамада әрқайсысы 10 градусқа бөлінген 9 модуль бар. Егер сізде өткір көз болса, алдыңғы фотосуреттерде 10 модуль болды. Себебі? Төменде түсіндірілген…

Қорғаныс қабатын алып тастаңыз

Егер сіз қадамдарды басынан орындаған болсаңыз, VL53L0X чипіндегі қорғаныс қабатын алып тастаудың жақсы уақыты. Менің алдыңғы фотосуреттерімде олар қазірдің өзінде жойылған, себебі мен модульдерді сынап көруім керек және осы нұсқауларды орналастырмас бұрын тұжырымдаманың жұмыс істейтініне көз жеткізуім керек.

Деректер кестесінде қорғаныс лайнері туралы былай делінген: «Тапсырыс беруші оны әйнекті орнатпас бұрын алып тастауы керек». VL53L0X чипіндегі екі ұсақ тесік (эмитент пен қабылдағыш) шаң, май, ыстық желім сияқты ластануға сезімтал.

Ластанғаннан кейін диапазон қысқаруы мүмкін және көрсеткіштер айқын мөлшерде өшірілуі мүмкін. Менің сынақ модульімнің бірі кездейсоқ желім балшықпен ластанған, диапазон 40 см -ге дейін қысқарған, ал қашықтықты оқу қате 50%-ға ұлғайған. Сондықтан, абай болыңыз!

7 -қадам: Деректерді алу

Image
Image
Лазерлік іздеуші (демонстрация)
Лазерлік іздеуші (демонстрация)

Raw_Data_Serial_Output мысалын қолдану

Енді біз шынымен сенсорлық массивтен деректерді көруді ұнатамыз. GitHub -тағы arduino кітапханасында:

https://github.com/FuzzyNoodle/Fuzzy-Radar

Raw_Data_Serial_Output деп аталатын мысал бар. Бұл мысал сенсорлық массивтен алынған бастапқы деректерді көрсетеді. Шығу мәндері миллиметрде.

Датчиктер инициализацияланғаннан кейін сенсорлар арқылы қолыңызды сермегенде сериялық терезеде осындай нәрсені көру керек:

Тікелей көрсету үшін бейнеклипті қараңыз.

Fuzzy_Radar_Serial_Output мысалын қолдану

Келесі қадам - бұл қашықтықтан оқудан пайдалы мәліметтерді алу. RADAR -дан бізге қажет нәрсе - нысананың қашықтығы мен бұрышы.

  • Қашықтық сенсордың бетіне байланысты миллиметрде. 0 қайтару мақсаттың ауқымнан тыс екенін білдіреді.
  • Бұрыш градуспен, көлденең жазықтықта. Қазіргі уақытта сенсорлардың біркелкі орналасуы күтілетін код. 0 градусқа қайтару мақсаттың массивтің орталық позициясында екенін білдіреді.

Кітапханада кейбір сүзу алгоритмі қолданылады:

  • Шуды жою:

    • Қысқа (үлгілерді санау тұрғысынан) көрсеткіштер шу болып саналады және жойылады.
    • Орташа мәннен алыс оқулар жойылады.
  • Салмақ бұрышын есептеу (жоғарыдағы суретті қараңыз)

    • Мақсатты объект тегіс беті болып саналады
    • Егер бір уақытта бірнеше сенсор объектіні анықтаса, әр сенсор үшін салмақ есептеледі.
    • Әрбір сенсордың салмағы оның қашықтығына кері байланысты.
    • Нәтиже періштесі әр сенсордың өлшенген бұрышынан есептеледі.
  • Негізгі мақсатты таңдау:

    • Егер оқулардың бірнеше тобы болса, онда ең кең (сенсорлардың оқу санымен) тобы қалады.
    • Мысалы, егер сенсорлық массивтің алдына екі қолды қойсаңыз, басқа сенсорлармен анықталған қол қалады.
  • Ең жақын мақсатты таңдау:

    • Егер ені бірдей бірнеше анықталған топ болса, жақын қашықтықта орналасқан топ қалады.
    • Мысалы, егер сенсорлық массивтің алдына екі қолды қойсаңыз және екі анықталған топта сенсор саны бірдей болса, сенсорға жақын топ қалады.

Шығу қашықтығы мен бұрышы төмен өту сүзгісі арқылы тегістеледі

Raw_Data_Serial_Output ішінде бастапқы қашықтық көрсеткіштері қашықтық пен бұрыштық мәнге түрлендіріледі. Эскизді жүктегеннен кейін, сіз ұқсас нәтижені көру үшін сериялық терезені аша аласыз:

Ешқандай нысан анықталмады. Ешқандай нысан анықталмады. Қашықтық = 0056 бұрыш = 017 қашықтық = 0066 бұрыш = 014 қашықтық = 0077 бұрыш = 011 қашықтық = 0083 бұрыш = 010 қашықтық = 0081 бұрыш = 004 қашықтық = 0082 бұрыш = 000 қашықтық = 0092 бұрыш = 002 қашықтық = 0097 бұрыш = 001 қашықтық = 0096 бұрыш = 001 қашықтық = 0099 бұрыш = 000 қашықтық = 0101 бұрыш = -002 қашықтық = 0092 бұрыш = -004 қашықтық = 0095 бұрыш = -007 қашықтық = 0101 бұрыш = -008 қашықтық = 0112 бұрыш = -014 қашықтық = 0118 бұрыш = -017 қашықтық = 0122 бұрыш = -019 қашықтық = 0125 бұрыш = -019 қашықтық = 0126 бұрыш = -020 қашықтық = 0125 бұрыш = -022 қашықтық = 0124 бұрыш = -024 қашықтық = 0133 бұрыш = -027 қашықтық = 0138 бұрыш = - 031 Қашықтық = 0140 Бұрыш = -033 Қашықтық = 0136 Бұрыш = -033 Қашықтық = 0125 Бұрыш = -037 Қашықтық = 0120 Бұрыш = -038 Қашықтық = 0141 Бұрыш = -039 Ешқандай нысан анықталмады. Ешқандай нысан анықталмады. Ешқандай нысан анықталмады.

Енді сізде RADAR (LIDAR) бар:

  • Ультрадыбыстық сенсорлық модульдерге қарағанда кішірек
  • Жылжымалы бөлшектер жоқ
  • 40 Гц жиілікте сканерлейді.
  • Белбеу тәрізді пішінді дөңгелек жақтауға орнатуға болады
  • Тек үш басқару сымын, сонымен қатар қуат пен жерге қосыңыз.
  • 30 миллиметрден 1000 миллиметрге дейінгі диапазонға ие.

Келесі қадамдарда біз сізге керемет демонстрациялар көрсетеміз!

8 -қадам: лазерлік іздеуші (демонстрация)

Image
Image
Лазерлік іздеуші (демонстрация)
Лазерлік іздеуші (демонстрация)

Бұл алдыңғы қадамдардан құрастырылған стационарлық радарды қолданудың бір мысалы. Бұл қадам егжей -тегжейлі жазылмаған, себебі бұл Радардың демонстрациясы. Жалпы, бұл демонстрациялық жобаны құру үшін сізге қосымша элементтер қажет:

  • Екі серво
  • Бас шығаратын лазерлік қалам
  • MOSFET немесе NPN транзисторы лазерлік бастың шығуын басқарады
  • Сервоға арналған қуат көзі. Ол микроконтроллерден бөлінуі керек.

Кодты мына жерден жүктеуге болады.

Ұсынылған бейнені қараңыз.

9 -қадам: Пупейлерге қарау (демонстрация)

Image
Image

Нысанның орналасуы мен қашықтығын қадағалау үшін радиолокацияны қолдануды көрсету.

Ұсынылған: