Форум по Роботика

Технически форум => Електроника => Темата е започната от: sv_shady в Август 01, 2007, 10:55:50 pm

Титла: Ултразвуков сензор
Публикувано от: sv_shady в Август 01, 2007, 10:55:50 pm
Първия робот, който направих беше с инфраред сензори. От начало това ми се струваше много сложно, още навлизах и след като успях да накарам робота да "вижда" препядствия бях много радостен :) Постепенно започнах да се чувствам с свои води и вече само "виждането" на препядствия не ми беше достатъчно исках да знам на какво разстояние е предмета. За това започнах да търся начини. Първия метод на който попандах бяха готови инфраред сензори, мерещи до 3м, но както не е трудно да се досетите в бг няма такива. После попаднах на ултразвукови сензори, но за съжеление и тях ги няма в бг и реших да се захвана сам да си направя. Метода за мерене и при ифрареда и при ултразвука е следния : изпраща се сигнал светлина/звук с правилната честота (зависи от сензора) и се мери времето, за което ще отиде, ще се отрази от предмета и ще се върне и според скоростта се намира растоянието. Избрах ултразвука тъй като скоростта му е по-нормална от тази на светлината :P и времето не трябва да бъде отмерено с такава голяма точност.
Стига празни приказки да минаваме по съшество (http://www.robotics-bg.com/upload/files/ultrasonic_sensor.JPG) Това е схемата на самия сензор, има 2 оснотвни части - приемник и излъчвател на ултразвук с честота 40кНz. Излъчвателя е една схема 555 която генерира правоъгълни импулси на 40kHz и с транзистор се захранва предавателя. По характеристика максималното му напрежение е 20V и тогава дистанцията е 6м, аз съм го тествал на 12 и достига около 5м, като се раздели на 2 тъй като звука трябва да измине 2 пъти разстоянието до обекта на отиване и връщане, получаваме обхват 2.5м, което доста добре, е не като 3м, но си върши работа :) До тук всичко добре, но идва време да пристъпим до приемника, отне ми окло 3месеца докато го подкарам :cry:
Първата стъпка от приемането на сигнала е да се усили. Първата схема е ЛМ358, която е операционен усилвател. С помоща на R1, R2, R3 и R4 се задава коефициента на усилване. На първото стъпало е R2:R1 = 10, а на второто R4:R3 = 100  => усилваме сигнала 1000 пъти.  Следващата стъпка е да се пречисти, за целта ползвам ЛМ567. Това интегрална схема, която да кажем, че "сравнява честоти". На входа и се подава, честоа която се "сравнява" с друга, която се генерира от С4, TRIM1 и R7. Тя може да бъде настройвана с помоща на TRIM1. И така когато имаме oпорна честота 40кHz и на входа имаме честота 40kHz то изхода променя логическото си ниво от 1 към 0. Но тъй като ще използваме сигнал с продължителност 200микро секунди, това време няма да е достатъчно за да се свали изхода до абсолютна логическа нула за това слгаме един компарато - ЛМ393. С помоща на TRIM2 настройваме нивото, под което ако слезе сигнала от ЛМ567 на изхода на компаратора илиза логическа 1. И така вече този сигнал може да влезе в миктоконтролера. За засичането изплзвам един capture модул, защото доста по точно от ползване на прекъсване. Пристъпваме към сорса :
#include <16F877A.h>
#device ICD=TRUE
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=10000000)
#priority CCP1, TIMER1

#define send_us PIN_D7
#define receive_us PIN_C2

float temp[10] = {0};
float distance;
float avg_dist;
float time;
float us_speed = 345.123;
int1 echo = 0;

#INT_TIMER1
void overflow()
{
   disable_interrupts(GLOBAL);
   clear_interrupt(INT_CCP1);
   clear_interrupt(INT_TIMER1);
   setup_timer_1(T1_DISABLED);
   setup_ccp1(CCP_OFF);
   distance = 512;
}

#INT_CCP1
void receive()
{
   if(!echo)
   {
      disable_interrupts(GLOBAL);
      clear_interrupt(INT_TIMER1);
      clear_interrupt(INT_CCP1);
      setup_ccp1(CCP_OFF);
      setup_timer_1(T1_DISABLED);
      time = (CCP_1) * 0.0000004;
      distance = time * us_speed;
      distance = distance / 2;
      distance -= 0.04;
      echo = 1;
   }
}

void send()
{
   int i = 0;
   //set ccp and timer module
   setup_ccp1(CCP_CAPTURE_RE);
   setup_timer_1 (T1_INTERNAL);
   //all interrupts on
   enable_interrupts(GLOBAL);
   echo = 0;
   output_bit(send_us, 1);
   set_timer1(0);
   delay_us(200);
   output_bit(send_us, 0);
}

void analyze()
{
   int i = 0, cnt_max = 0, max = 0, min = 0, count = 0, dist;
   float cur_sum = 0, cur_dist = 0;
   for(i = 0; i < 10; i++)
   {
      if(temp[i] == 512.0) cnt_max++;
      if(temp[i] > temp[max]) max = i;
      if(temp[i] < temp[min]) min = i;
   }
   if(cnt_max > 5) avg_dist = 255;
   else
   {
      for(i = 0; i < 10; i++)
         if(i != max && i != min && temp[i] != 512.0)
         {
            cur_sum += temp[i];
            count++;
         }
         cur_dist = cur_sum / count;
         cur_dist = cur_dist * 100;
         dist = (int)cur_dist;
         if((cur_dist - dist) >= 0.5) dist++;
         avg_dist = dist;
   }
}
main()
{
   //define variables
   int i = 0, j = 0;
   //set IO ports
   set_tris_b(0x00);
   set_tris_c(0x00);
   set_tris_d(0x00);
   //enable interrupts
   enable_interrupts(INT_TIMER1);
   clear_interrupt(INT_TIMER1);
   enable_interrupts(INT_CCP1);
   clear_interrupt(INT_CCP1);
   //clear IO ports
   output_b(0x00);
   output_c(0x00);
   output_d(0x00);
   for(j = 0; j < 25; j++)
   {
       for(i = 0; i < 10; i++)
      {
         send();
         temp[i] = distance;
         delay_ms(20);
      }
      analyze();  
   }
}

Можете да го свалите от тук (http://www.robotics-bg.com/upload/files/Ultrasonic_sensor.txt)
Ще обясня на кратко как работи, а ако имате въпроси питайте. Значи първо инициализарме таймери и кепчър модула. По зададените параметри в сорса таймера ще инкрементира всеки 0,0000004 секунди и ще се напълва за 0,0262144 секунди, за което време звука ще премине приблизително 9м, което ни е напълно достатъчно тъй като ние имаме обхват от 2,5м => при оверфлоу казваме, че няма препядствие. След това викам функцията send(), която сетва таймера на 0, след това вдига пина , който контролира 555 за 200микросекунди, и така изпращаме сигнал с дължина 200микросекунд с честота 40кHz. След това имаме две функции, които са всъщност функци, ползващи интерупт. Първата е overflow(); Тя се активира ако таймера се напълни, тя дезактивира всички прекъсвания, чисти флаговете за такива и задава стойност на distance = 512, което означава оверфлоу. Другия варианt е да се активира receive(), тя пак спира всичките интерупти, чисти флаговете, после зима броя на инкрементиранията на таймера чрез кепчър модула, умножава по 0,0000004 - така намира времето, след това умножава по скоростта на звука и на края дели дистанцият на 2 и вади 0,04 което е корекция, тъй като до като се задейства кепчър модула минава време  :P И така за едно измерване, мери 10пъти, за по-голяма точност. После получената редица от 10 елемента се обработва- махат се най - малкия и най-големия елемент и ако има по-малко от 5 512 се пренебрегват. И след всичко това крайната стойност е в avr_dist
Това е в общи линии, на теория е лесно, но докато тръгне на практика ми беше много трудно. За малко да забравя ЛМ567 я има в комет, а за предавател и приемника от тук (http://constructor.bg/shop/default.php?cPath=276) най-отдолу. Няколко пъти съм си поръчвал и по пощата идват максимум за седмица. Има се предлагат и затворени сензори, но не са достатъчно чувствителни, важно е да отворени.
Очаквам въпроси :)
Титла: Ултразвуков сензор
Публикувано от: Borislav в Август 01, 2007, 11:15:50 pm
Интересно... Дали да не сложа нещо подобно на сумиста, вместо TSOP.. :) Страхотна статия, браво! Добра работа!
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Август 01, 2007, 11:19:12 pm
за сумиста не знам как ще реагира на движение :!:
Титла: Ултразвуков сензор
Публикувано от: kanadeca в Август 02, 2007, 08:54:28 am
:o  Това звучи супер интересно. Прочетох статията и разбрах как действа, но съм сигурен, че със сегашните ми познания няма да успея да направя това... :oops:  Ще можеш ли да публикуваш и статия за инфраред сензорите, мисля че това ще бъде по-лесничко?
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Август 02, 2007, 10:17:19 am
Няма проблем :)
Титла: Ултразвуков сензор
Публикувано от: Borislav в Август 10, 2007, 11:05:26 am
Хубав 6-канален сонар: Точно тук (http://www.wa4dsy.net/robot/sonar/index.html). :) Интересно е да се почете!
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 20, 2007, 12:06:20 am
здравейте, много хубава и добре обяснена тема.  интересува ме само един въпрос ще станат ли за целта датчици от авто-аларми имам 2 броя ако станат да почвам да дерзая
Титла: Ултразвуков сензор
Публикувано от: yasko в Ноември 20, 2007, 12:17:44 pm
Здрасти. Какви точно датчици от автоаларма имаш предвид? Тези които се ползват за УЗ локатор, са комплект излъчвател и приемник на 40kHz. Това са пиезо керамични датчици направени точно за тази честота. Аз  мойте ги взимах от онлайн магазина на "Млада коструктор" към 13 лв комплекта, но още не съм имал време да се занимая с тях.
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 20, 2007, 12:59:17 pm
да точно за теззи датчици става въпрос  :)
Титла: Ултразвуков сензор
Публикувано от: yasko в Ноември 20, 2007, 02:01:30 pm
Чудесно. Аз отдавана се каня да направя един готин модул за УЗ локация. Имам някои идеи за подобрение схемата на sv_shady. Намерих в магазина на Комет усилвател с прогамируемо усилване (PGA) MCP6S21, който е доста подходящ за тези цели. С негова помощ ще може да се регулира чуствителността и съответно дистанцията на която се засичат обектите. sv_shady предложи като драйвер за излъчвателя да се ползва MAX232, което ще позволи да се вдигне изходната мощност. И накрая за да стана съв сем интелигентен модула мисля да добавя едно MCU в малък корпус DIP-8, който да прави измерването и да дава готов резултат.
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Ноември 20, 2007, 03:02:10 pm
Още нещо, което е задължително е да има сензор за температурата и така да се коригира скоростта на звука. Дори 1-2 градуса по Целзий оказват влияние +/- 1м/с, което за големите разстояния над 1.5м дава отклонение от порядъка на от 1 до 3 см. Всичко това са стойности, които съм ги откирл експериментално.
с82 има смисъл да почваш само, ако си готов да стигнеш до края, на схема изглежда идеално, метода на мерене ясен но ми отне около 3 месеца докато стигна до нещо работещо. Не знам на какво ниво са ти знанията. Ако мислиш, че имаш необходимите знания и опит направо се захващай със схемата с подобренията, които изброихме, ако не направи тази, така поне като не тръгне от начало ще знаеш, че проблема не е принципен (в схемата) :)
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 21, 2007, 12:21:52 am
само за инфо - не може ли на мястото на лм358 да се сложи лм741 ?поне такива имам в наличност 4-5 бройки и друго - ако увеличиме сигнала повече от 1000 пъти няма ли да увеличиме обхвата на цялата тая какафония ?
Титла: Ултразвуков сензор
Публикувано от: DataMatrix в Ноември 21, 2007, 02:12:21 am
Ще увеличиш сигнала на какафонията, но ще увеличиш заедно с това и шумовете, които съответно трябва да се филтрират.
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Ноември 21, 2007, 03:23:49 pm
Ами сега след като съм натрупал още знания разбрах че LM358 не е много подходящ за такова усилване (1000) на толкова висока честота. Провеждах тестове и с 741, но с него не стана, предполагам пак не съм бил съобразил честотната лента. Иначе не би трябвало да има проблем с 741. А ако увеличиш сигнала повече вече смущенията стават дори по силни от самия сигнал и LM567 се нашашква. Начин да се увеличи обхвата е, ако излъчвателя се управлява с максималното му напрежение от 20в.
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 21, 2007, 04:18:29 pm
ами кое е подходящо изключваме лм741 и лм 358  :)
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Ноември 21, 2007, 04:35:22 pm
Ами може с 358, но трябва да усилваме 3 пъти по 10, а не веднъж по 10 и веднъж по 100.
Титла: Ултразвуков сензор
Публикувано от: yasko в Ноември 21, 2007, 05:02:41 pm
Да направя и аз един малък коментар по горната схема. LM358 има честотна лента 1MHz,което значи че максималното усилване при 40кHz e 25 пъти. Ако иска ме по-голямо усилване трбява да направим двустъпален усилвател, както е направено в схемата. Но виждам че второто стъпало е настроена на коефициент 100, което няма как да стане, така че цялостното усилване е 250 е не 1000 при 40kHz. Ако настроим двете стъпъла на усилване 25, може да получим усилване 625 и това е максимума, който може да изтискаме.
Разбира се не може да увеличаваме усилването до безкрайност, защото във всеки полезен сигнал има шум и от определен момент нататък наистина ще настане какафония :) В крайна сметка за да има смисъл от един усилвател отношението на полезния сигнал към шума не бива да пада по оределена стойност. И накра не смятам че LM741 е подходящ за целите на тази схема, той също е до 1MHz ине работи добре при ниски захранващи напрежения. Аз лично смятам да пробвам с някой от усиквателите от серията MCP на Микрочип. Примерно MCP6022 е с честотна лента 10MHz, a MCP602 e с 2.8MHz и работят при ниски захранващи напрежения
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 21, 2007, 05:14:46 pm
мочета  да задам само 1 единствен въпрос - лм 358 представлява двоен операционен усилвател защо да му ползваме само единия канал -> не може ли да усилваме 25 пъти на единия канал и после да го пуснеме за още 25 пъти на другия канал  :) само подхвърлям въпроса да го изкоментираме и него - така и така ако става ще спестиме мясти и елементи по плсатките  :twisted:
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Ноември 21, 2007, 10:39:55 pm
Ами той Ясен това е казал
Цитат
Ако настроим двете стъпъла на усилване 25, може да получим усилване 625 и това е максимума, който може да изтискаме
а тя и самата схема ползва 2та усилвателя в 1 LM358
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 23, 2007, 04:53:03 pm
sv_shady може ли да споделиш какво напрежение получаваш ot LM393 за 1-ца -за 0 знаеме че е 0 :)  аз получавам 0,05V което не е достатъчно за контролера да премине от 0 в 1 :)
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Ноември 23, 2007, 10:19:19 pm
Ами видях че съм го пропуснал на схемата, за което много се извинявам. Трябва да има един резистор от 10к на изхода на лм393 вързан към + и тогава си излизат коректни логически нива.
Титла: Ултразвуков сензор
Публикувано от: c82 в Ноември 27, 2007, 12:29:48 am
Цитат
sv_shady предложи като драйвер за излъчвателя да се ползва MAX232, което ще позволи да се вдигне изходната мощност.

има за обсъждане и друг вариянт  MAX232 дава около 8V може да се използва някой драйвер TTL to MOS например SN7407N който дава 30V 40mA имам такъв драйвер  ще го пробвам и ще споделя какви са ми впечатенията   :) междувременно ако някой знае аналог или подобен на SN7407N да сподели че в комет не видях да го имат а моя не знам дали е здрав  :oops:
Титла: Ултразвуков сензор
Публикувано от: mash в Октомври 11, 2008, 12:27:56 pm
Здравейте :)
Изчетох много от темите в този форум преди да реша да пиша. Първо искам да ви похваля за начинанието и за прекрасния форум, който сте създали. От изчетените теми и постове разбирам, че сте много толерантни един към друг и сте задружни в начинанията си!
Относно ултразвуковите устройства... наскоро ми се наложи да се занимавам с това и комбинирах две схеми за приемник и предавател от различни разработки. Като резултат успях да получа ехо на разстояние 6 метра от стена. прилагам схемата, която използвах. С малко преработка може да се включи и към микроконтролер. Не успях обаче да измисля как да пускам пинг от предавателя. Ако някой се сети как да управляваме инвертора освен чрез пускане и спиране на захранването  може да сподели :)
За излъчвател и приемник използвах комплекта на младконструктор

(http://mash.hit.bg/sonar1.gif)
Титла: Ултразвуков сензор
Публикувано от: daskaloff в Октомври 15, 2008, 01:14:13 pm
въпрос към Mash - схемата на предавателя и аз я гледах по сайтовете - но ако можеш да ми кажеш откъде мога да си набавя кварц с такава честота - 40КHz
Титла: Ултразвуков сензор
Публикувано от: mash в Октомври 16, 2008, 12:54:27 pm
Аз си набавих от една стара аларма за кола.
Трудно се намират наистина, но работи приказно. На базата на такъв генератор с кварц са и едни израелски ултразвукови датчици за охрана на помещения, на фирмата "Visonic". Виждал съм такъв кварц и в безжичен звънец от тия.... китайските. Там се използва за модулиране на носещата честота, която е 434 MHz.
Ами общо взето това е :) дано да си намериш от някъде.
Титла: Ултразвуков сензор
Публикувано от: daskaloff в Октомври 17, 2008, 04:09:25 pm
мерси............ но на мене ми трябва нещо за масово производство и ще пробвам горната схема с 555
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Октомври 18, 2008, 09:33:54 am
Горната схема е приемник. А долната е излъчвател, така че няма да минеш само с едната....
Аз скоро ще се захващам със версия 2.0 на моята схема. Малък контролер ще генирара честотата и ще управлява излъчвателя, който ще бъде захранен с 18в.  -9в и +9в като ще инвертирам напрежението с MAX232. Приемника ще бъде с цифров усилвател на Microchip, който е с регулируемо усилване, което ще позволи да се задава обхвата, освен това ще наслагам разни филтриращи кондензатори.
Титла: Ултразвуков сензор
Публикувано от: Vlado в Октомври 18, 2008, 11:06:01 am
sv_shady, Добре е да добавиш и един лентов филтър на 40kHz от втори ред реализиран с ОУ. Или самия усилвател и да филтрира сигнала. Така ще минимизираш смущенията.
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Октомври 20, 2008, 08:17:43 am
Ми мисля да има един LM567
Титла: SRF04 - Ultra-Sonic Ranger
Публикувано от: Andrey в Октомври 20, 2008, 08:12:39 pm
SRF04 - Ultra-Sonic Ranger
Какво ще кажете за това (http://www.robot-electronics.co.uk/images/srf4.jpg)
(http://www.robot-electronics.co.uk/images/srf_conect.jpg)
Още незнам дали го има по магазините, просто несъм го търсил.
http://www.robot-electronics.co.uk/htm/srf04tech.htm
Титла: Ултразвуков сензор
Публикувано от: sv_shady в Октомври 20, 2008, 09:11:04 pm
Аз имам на разполжение един SFR08 и трябва съвсем обективно да отбележа, че моята схема се справи доста по - добре  :)
Титла: Ултразвуков сензор
Публикувано от: nivanov в Октомври 21, 2008, 11:31:49 am
ако искаш да задълбаеш - можеш да го комбинираш така, че освен разстоянието до обект да ти мери и скоростта, с която се движиш към него - ползвай ефекта на Доплер и по промяната в честотата можеш да хванеш скоростта с доста голяма точност
Титла: Ултразвуков сензор
Публикувано от: daskaloff в Ноември 27, 2008, 11:13:46 am
от 1 седмица се мъча да подкарам схемата на приемника......... и не става и не става.......... хем само стъпалата връзвам......... такаче срам не срам, ще задам няколко въпроса..... първия R8 защо е в схемата,
Втория - тези схеми на свързване който си използвал за усилвателя, ООВ-то не е ли ПОВ и така ще е тригер на Шмит...... ако говоря глупости не ми се смейте, а ако може помогнете.....
Да поясня... използвам тази схема за парктроник за автомобил и я правя като Курсов проект и бях решил да правя и макет ама съм се забил и само некви постоянни нива ми идват на входовете на първото стъпало от делителя R5 R6  и нищо не става защото при усилване 10 ОУ-то се насища  :roll:  :roll:
Титла: Ултразвуков сензор
Публикувано от: daskaloff в Януари 14, 2009, 12:41:17 pm
благодаря......... опраих се и сам
Титла: Re: Ултразвуков сензор
Публикувано от: importante в Декември 02, 2013, 04:08:42 pm
Здравейте!Решил съм да сложа на робота ултразвукови сензори понеже съм направил въртяща се глава.Да се ориентира с тях.Сегашните са инфрачервени, но ме ''вижда'' от едва 10-тина сантиметра.Чудя се дали мога да използвам ултразвукови датчици от парктроник, понеже са 2 в един корпус и са на добра цена.Само не мога да открия схема на предавател и приемник на 40kHz, но да е с реле примерно на изхода, понеже от контролери не разбирам.Надявам се някой да помогне за схемите.  ;)
Титла: Re: Ултразвуков сензор
Публикувано от: yasko в Декември 02, 2013, 11:11:50 pm
10 см за инфрачервените наистина е малко. Какво ползваш за приемник и предавател?
Относно УЗ датчика: доколкото разбирам искаш да го направиш да реагира когато има обект на определено разстояние, т.е прагово поведение. За какъв обхват ти трябва? Без контролер няма да е лесно. Трябва да се мери времето между излъчения и отразения сигнал. Мисля че може да се измисли някоя хитра схема. Може да се започне със схемата на sv_shady като за начало. За предавателя ти трябва  генератор на 40 kHz (може да се направи със схема от типа 555). След това с още един генератор трябва да се направи модулация  така, че да се получат бърст пакети. След това сигнала се подава на трансдюсера. Ако е необходима по-голяма изходна амплитуда може да се пусне на една MAX232. За приемника може да се ползва схемата на sv_shady. Или може да видиш тук как са го направили:
http://www.robot-electronics.co.uk/htm/srf04tech.htm
Остава да се помисли за схемата за времева дискриминация на изхода - нещо с таймери и тригери вероятно.
Титла: Re: Ултразвуков сензор
Публикувано от: importante в Декември 03, 2013, 03:41:46 am
Благодаря за отговора! Не е нужно да реагира на точно определено разтояние,ами примерно на около 1м.Мислех си че би могло да стане така: За генератора 40kHz с таймер 555 схема, а за приемната част нещо подобно на схемата с TSOP-а, само че разработена да приема сигнала даван от уз датчика и да задейства едно реле когато се получи отразяване на сигнала, демек има някакъв обект пред сензорите.Смисъл не търся да се задейства на определено разтояние или да измерва делечината на обектите, не, просто да включи релето, когато засече обект.А аз за инфрачервения детектор съм използвал инфрачервен фотодиод и фототранзистор.Схемата е елементарна с по няколко транзистора.Изработил съм 2 схеми на примената част и 1 на предаватела с 2 последовалено свързани диода.Единият е за едното ''око'' а другия е за другото.На изхода имам H мост с 2 релета контролиращи мотор, който върти главата.

Това прочетох за сензорите:
Ултразвукови сензори

Ултразвукът е акустична вълна с честота f0 между 20 kHz и десетина MHz, която се разпространява във въздуха със скорост va около 340 m/s. Последната зависи слабо от физическото състояние на въздуха, което позволява измерване на разстоянието между сензора и обекта да се прави чрез времето за изминаването му. Предавателят в сензора излъчва акустична вълна под формата на импулси с честота около 1 Hz, които достигат до обекта, отразяват се и се връщат до приемника. Сензорите за индустриални приложения имат f0 до около 500 kHz. Отразената вълна се приема от акустичен преобразувател, а компаратор измерва времето между излъчването и приемането на вълната. Изходът на сензора обикновено е аналогов (напрежение 0-10 V или ток 4-20 mA) и е линейна функция на разстоянието l до обекта. Специфичен параметър на ултразвуковите сензори е чувствителността им (понякога се нарича стъпка на измерване), представляваща промяната на сигнала при изменение на l с 1 cm. Типичните й стойности са няколко десетки mV/cm.

Значи по това което съм разбрал, датчикът от парктроник има приемо-предавателна част в един корпус, което е много удобно.3 извода, два захранващи и един изход.Сега остава да разбера дали е по напрежение или по ток и да го използвам в схема с релеен изход. Може и да не съм прав, но така го разбрах.  ???

Някой обаче са с 2 извода -- http://tpetrov.com/search.php?prod=%D0%9F%D0%B0%D1%80%D0%BA%D1%82%D1%80%D0%BE%D0%BD%D0%B8%D0%BA+%D0%94%D0%90%D0%A2%D0%A7%D0%98%D0%9A+01
Титла: Re: Ултразвуков сензор
Публикувано от: yasko в Декември 03, 2013, 08:12:47 pm
За ИЧ сензора, защо не пробваш с TSOP за приемник. Ще трябва да модулираш сигнала към свтодиодите,  но със сигурност ще работи на по-голямо разстояние.
Не съсм сигурен дали в твоя датчик от парктроник има допълнителна електроника.  Информацията която си дал е за индустриални сензори, които имат вградена обработка на сигнала, но там цените са други.  Иначе принципа на работа е един и същ - ехо локация.
Това което си дал като линк е само трансдюсера. Повечето могато да работят обратимо т.е. да са приемник и излъчвател, макар че този вариант си има недостатъци.  В роботиката обикновено се ползват решения с отделен излъчвател и приемник.  Смятам че може да се направи прост вариант на УЗ сензор работещ в непрекъснат режим, който да засича обект на фиксирано разстояния, но реално има готови ИЧ сензори с такива възможности. Силата на УЗ е в меренето на разстояния.  Но като упраженение по схемотехника може да нахвърляме схема на такъв датчик с УЗ.
Титла: Re: Ултразвуков сензор
Публикувано от: importante в Декември 03, 2013, 11:36:24 pm
Да прав си.То датчика на парктроника е всъщност било само един елемент.Пуска се и с него тръгва таймер, който мери кога се връща сигнала и измерва разликата.Мислех си че са 2 в един компактен корпус.Просто е перфектен за око.Иначе по 2 в едното око и 2 в другото не ми хареса. Иначе ако използвам това http://erelement.com/images/medium/sensors/HC-SR04_MED.jpg е добре, но все пак има електроника която не съм направил аз, затова не го предпочитам.. но ако това е варианта само, понеже аз не мога да използвам контролери в него вече си е направено..Но пак казвам, не съм го направил сам и удовлетворението ще е по-малко..
Титла: Re: Ултразвуков сензор
Публикувано от: importante в Декември 04, 2013, 04:24:00 pm
Дали тази схема е добра? http://circuitdiagram-schematic.com/129/ultrasonic-sensor-circuit/
Титла: Re: Ултразвуков сензор
Публикувано от: yasko в Декември 05, 2013, 08:40:03 pm
Малко е старовремска тази схема. Не ми харесеа как са включили излъчвателя.
Сега ако искаш да направиш нещо сам, трябва да почнеш на стъпки. По лесна за изпълнение е схема с отделен излъчвател и приемник.
Пръво правиш предавателя с 555, има няколко варианта за включване на излъчвателя.  За приемника  - като начало едностъпален или двустъпален усилвател, след това за детекцията сигнала можр да се направи с LM567, както е направил sv_shady. Тази схема дава на изхода си цифров сигнал.
Ако имаш желание да го направиш може да влезем в детайли по схемните решения. Като начало може да изчислиш елементите за 555.  Ако нямаш комплект приемник и излъчвател мога да ти дам едни, които отлежават в кутията ми по роботика :)
От цялото упражнение има смисъл ако успеем да направим една работеща схема. Ако нямам време в момента да се занимавам с нея, но мога да помогна със съвети и материяли.
Титла: Re: Ултразвуков сензор
Публикувано от: importante в Декември 07, 2013, 03:25:58 pm
Да, мисля да го направя с отделен излъчвател и отделен приемник, като им поставя така сензорите че да улавя отразения сигнал.Обаче съм от Приморско и тук няма от къде да купя повечето от елементите (някой ги имам) Когато ходя до Бургас ще ги потърся, или ще ги поръчам онлайн. Мисля да поръчам сега от този модул 2 броя. http://erelement.com/sensors/HC-SR04 . Vcc e + 5V , Gnd е маса, Echo предполагам е изходящия сигнал, Trigg не знам какво е.А на този модул какво му е нужно към пин Echo за да захранва бобинката на реленце?
С този модул мога да си настройвам робота, да пробвам как върви и как реагира като цяло.Понеже шасито ми е към 20кг и моторите ще ги управлявам с релета и регулатор на оборотите.Та за това търся схеми с релеен изход. По късно като събера частите за схемата, която както казваш е направил sv_shady че отпоя сензорите от модула и ще направя свой.Модула ще го използвам за друг проект.. :)
Титла: Re: Ултразвуков сензор
Публикувано от: yasko в Декември 08, 2013, 07:45:57 pm
Относно тези модули HC-SR04 - Trigg запуска процеса на измерване, иска TTL с продължителност около 10uS.  След това на пин Echo получаваш изходящ импулс, чиято продължителност  отговаря на разстоянието до обекта. Проблема обаче е, че дори да няма обект пред сензора пак имаш изходен импулс. Мисля че в твоя случай това не ти върши работа. Нещата в момента май отиват преработка на схемата sv_shady, така че да се ползва без контролер.   Другото решение за което писах преди в модулиран IR и TSOP. Ако имаш проблеми с набавянето на елементи пиши на лични и ще намерим решение.