Borisov_E

Помогите Выбрать - Pic Или Avr Или Arm

266 сообщений в этой теме

Cavalryman    0
Понял что ARM не для новичка, склоняюсь к PIC.

А мне кажется, что для начального освоения МК лучше именно АВР, хотя бы потому, что различных обучающих статей или достаточно простых проектов в интернете больше именно для АВР. Раза в два. На английском, правда и того и другого хватает.

Просто год назад я сам выбрал тему для какой-то там работы с названием "разработка обучающего стенда на Микроконтроллерном управлении". На деле это означало сделать мигалку с кнопочками. Это ваще не профильная тема моего ВУЗа, но все таки. Так вот препод сказал: "ПИК, читать, искать". Вот я и столкнулся с тем, что для АВР обычающего материала больше. Сдругой стороны, самоучитель с "Икараба" стОит десяти средненьких обучалок.

Изменено пользователем Cavalryman

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
Chekash    0

Товарищ который меня "заразил" микроконтроллерами, тоже мне советовал начинать с PIC-контроллеров. Я из вредности за AVR взялся... Правда были еще причины - внутрисхемное программирование (5 проводков), и то что Мега 16 у меня была...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GDK    2

Какая разница AVR, PIC!? Главное ознакомиться с принципами работы и программирования. Станет понятно. А дальше всё равно по даташитам лазить придётся. Оптимальное решение схемы может оказаться как на PIC так и на AVR.

Изменено пользователем GDK

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    248

Я начинал (и начинаю :rolleyes: )с AVR. За PIC даже не брался, потому что серьезных преимуществ перед AVR (как впрочем и наоборот) вроде нет. Теперь хотелось бы посмотреть в сторону ARM. В связи с этим вопрос: есть ли такие в DIP-корпусе в продаже? Еще насколько я так понял, это "промежуточная" ступень от встроенных к "компьютерным" системам. Я прав?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Да нет никаких "ступеней"

У каждого МК своя область применений, и свой круг решаемых задач.

И изучать ARM просто так, что-бы было ...

А почему не V850?

Или DSP какой? Тоже ведь пригодиться может :)

Теперь по поводу корпуса.

От DIP ведь не просто так отказались, чем быстрее проц, тем короче должны быть несогласованные линии.

Но если очень надо, посмотри на ADuC706x

Не DIP конечно, но плату заЛУТить и в домашних условиях можно.

Да и скорость не большая, не так критичен к разводке, хотя аккуратность не помешает

А еще лучше взять мелкого Стелариса (Stellaris® X00 Series of ARM® Cortex™-M3-based MCUs) из Техасских Инструментов

Например LM3S101

Уж плату под SOIC-28 с шагом выводов 1,27 мм можно и вручную нарисовать :)

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

Я из вредности за AVR взялся... Правда были еще причины - внутрисхемное программирование (5 проводков)

ICSP и у PIC есть, а AVR и мне нравятся.

Сомневаюсь что в розницу можно за 48 рублей купить что-то полезней и главное ПОПУЛЯРНЕЙ чем ATmega8 http://www.google.ru/search?hl=ru&newwindow=1&q=ATmega8+48+%D1%80%D1%83%D0%B1%D0%BB%D0%B5%D0%B9&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=&aq=f&oq=

а ведь на дешовейшей ATmega8 МОРЕ проектов в интернете, куча народу использует - значит есть с чего начать и у кого спросить. А DIP-28 это вообще чудо корпус, воткнул в панельку и вперед, надо переткнул туда ATmega48 ATmega88 или под бутлодер ARDUINO ATmega168 ATmega328.

Панелька для новичка - это класс !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Ага, панелька + жестко прошиваемые фьюзы

Лучше ничего для новичка не придумаешь, процов спалит столько ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

А новичку фьюзы обязательно менять ? Неужто для обучения 1 Мгц внутреннего RC-генератора не достаточно ???

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

Это ты новичков спроси, зачем они фьюзы трогают.

Все форумы забиты воплями "помогите, прошил фьюз, теперь не работает!!!"

Про удобство и дополнительную надежность процов, в которых конфигурацию можно менять на ходу я уже писал не раз.

Жестко зашиваемые фьюзы - убожество.

Про панельки тоже все неоднозначно, не каждый пойдет на свой программатор покупать ZIF-панельку с золотыми контактами.

А простенькие не предназначены для того, что-бы микруху туда-сюда дергать, разбалтываются.

Да и нафига вообще панелька, если есть внутрисхемное программирование?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Да ничего сложного на фьюзах я невижу.. Как бы они небыли :) Просто сразу видно как внимательно работают с этим люди :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

Да ничего сложного на фьюзах я невижу.. Как бы они небыли smile.gif

А почему бы Вам, Вова, не сделать простенькую поделку. Можно даже на АВР. rolleyes.gif

Очень простая функция - параллельный программатор для АВР умеющий только одно - стирать фьюзы (переводить их в дефолтное состояние).

При всей Вашей любви к Атмелу, сия особенность не может не раздражать (в глубине души). Помогите своим единоверцам. Мне помогать не надо. rolleyes.gif

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

не каждый пойдет на свой программатор покупать ZIF-панельку с золотыми контактами.

... если есть внутрисхемное программирование?

нафигаж она нужна ???

Да и нафига вообще панелька, если есть внутрисхемное программирование?

Чтобы менять тип проца или менять убитый на здоровый.

А простенькие не предназначены для того, что-бы микруху туда-сюда дергать, разбалтываются.

А надо туда-сюда ? Зачем ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ss85    0
программатор для АВР умеющий только одно - стирать фьюзы

Уважаю Вашу любовь к NEC, но вам стоит уважать и другие, более простые но не менее эффективные платформы. А программаторы такие существуют и изобретать ничего не стоит.

С наилучшими пожеланиями,

Сергей

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5
Уважаю Вашу любовь к NEC, но вам стоит уважать и другие, более простые но не менее эффективные платформы.
А кто говорил про NEC?

Если я сейчас скажу что подводил народ к MSP430, поверите?

А между прочим эта линейка так-же имеет настраиваемую програмно периферию.

И очень гибкую систему тактирования, существенно повышающую надежность.

Хороших МК много, но серьезные производители не очень рвались на постсоветский рынок, им и так хватало.

Вот и не было рекламы, книг и "бесплатных" программаторов :(

Кстати об MSP430, если будет интерес, организую еще и по ним ветку форума.

С выходом 5 семейства они исправили единственный серьезный недостаток, который заставил меня перейти с MSP430F1xx на uPD78F1xxx

Вопрос именно в том, что-бы не циклиться на одном, а выбирать МК под задачу, а для этого надо знать и достоинства и недостатки хотя-бы нескольких ядер.

Изменено пользователем Migray

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

...... А программаторы такие существуют и изобретать ничего не стоит.

С наилучшими пожеланиями,

Сергей

А кто бы сомневался... Параллельные программаторы конечно есть. Правда денег стоят немало. А тут речь идет о простой примочке на контроллере. Есть одно но... Потребуется удобный коннектор к чипу. Ног задействовано зело много в параллельном протоколе...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
wowa    4

Да всё правильно сказали. Я поэтому и не реагировал что таких схем полно.. Вот например для тинек. поискать пять минут - можно найти и более универсальные... Только дело в том что там стоит тинька и у многих бывает так что тот МК который испортили - последний в деревне :) Просто ДУМАТЬ надо перед тем как чтото делать а не как обезьянка - посвторять что ктото написал...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

не циклиться на одном, а выбирать МК под задачу, а для этого надо знать и достоинства и недостатки хотя-бы нескольких ядер.

Нафига это начинающему ?????????? Название топика читали ?

Начинающему именно и рекомендую "зациклиться" на чем то одном и изучить ХОТЯБЫ его боле менее досконально. Например на ATmega8-16PU по 48 рублей в розницу. На нем начинающий может МАССУ стройств сделать а при необходиости и пару воткнуть в устройство.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Толич    0

А начинающему нужно не спрашивать, какой лучше (ибо бессмысленно без конкретной задачи), а брать любой доставаемый и дешевый.

Например UPD78F9222MC за 26 рубликов.

Или вообще PIC10F200 за 16, помигать светодиодом его вполне хватит :)

А знание о том, что есть альтернатива, очень поможет.

И не будут ребята пытаться бороться с диким потребление меги, а сразу возьмут на игрушку с батарейным питанием маложрущий MSP430.

А в случае необходимости в более-менее надежной связи любой из NEC, применив LIN-протокол с самоподстройкой скорости.

Или в случае теплицы/инкубатора какой ни будь из ADuC-ов с хорошим АЦП, хоть на 51 ядре, хоть на ARM-е

Изменено пользователем Толич

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1

PIC10F200 помигать светодиодом его вполне хватит :)

А исчточника питания и резистора не хватит чтоб помигать ?

Человек вроде выбирает чтоб научится а не ТОЛЬКО светиком мигать.

UPD78F9222MC за 26 рубликов.

Хороший совет. НЕ по теме правда.

Зато камушек популярный многу народу подскахать смогут, помочь. PROTEUS его поддерживает прекрасно.

PIC10F200 за 16 руб

Где КОНКРЕТНО он в РОЗНИЦУ столько стоит для физ лица за нал ?

Маленький 6 ногий соик - это просто ЧУДО как удобно для новичка ! не то что там динозаврический DIP-28 ATmega8 за 48 рублей с морем ног для подключения всего что потребуется в процессе обучения. С ненужными ученику интерфейсами и прочими излишествами.

Да и нормальный прогер для PIC гораздо дешевле стоит чем для AVR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Migray    5

UPD78F9222MC за 26 рубликов.

Хороший совет. НЕ по теме правда.

Зато камушек популярный многу народу подскахать смогут, помочь. PROTEUS его поддерживает прекрасно.

Почему не потеме?

Человек выбирает проц с которого начать, но пока слышал только про PIC, AVR и ARM.

Можно ведь предложить дешевый, навороченый и безглючный проц.

Раскрыть так сказать глаза :)

Протеус - глюкалово страшное, его поддержка нафиг не нужна.

Нормальная техподдержка - у производителя, ну или у официального дистрибьютора.

Или на нашем форуме, если к форумам доверия больше :)

"Книжки на русском" я уже здесь выкладывал, хотя лучше всего читать оригинальные даташиты.

P.S. Надо будет раскопать ссылку на простой программатор для MSP430, где-то видел у TI

P.P.S. Давал-же зарок, не ввязываться в религиозные войны, и вот опять ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Borisov_E    1
Почему не потеме?

Потому что в названии тему не написано "или другой".

Человек выбирает проц с которого начать, но пока слышал только про PIC, AVR и ARM.

Это очевидно ваша фантазия или догадка.

Опять же топик не про это.

Надо будет раскопать ссылку на простой программатор для MSP430, где-то видел у TI

От Курта например и запостить ее в соответсвующем разделе форума. Будет 10 баллов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
my504    154

PIC10F200 за 16 руб

Где КОНКРЕТНО он в РОЗНИЦУ столько стоит для физ лица за нал ?

17 руб - http://www.trt.ru/Stock.php?Part=120

15 руб - http://www.terraelec...0&Gde=2&PageS=1

PIC10F200 помигать светодиодом его вполне хватит smile.gif

А исчточника питания и резистора не хватит чтоб помигать ?

Человек вроде выбирает чтоб научится а не ТОЛЬКО светиком мигать.

Источника и резистора не хватит... (если мигать автоматически, а не ручками)rolleyes.gif

Положим, мигать LEDом можно и плавно (программный ШИМ), а это уже не совсем элементарно и очень поучительно... Кстати у 10-го пика нет прерываний и реализовать это на единственном таймере или без оного, а так же с нелинейным законом изменения вполне себе интересно для начинающего.

И вообще, важно понять КАК ЭТО ДЕЛАЕТСЯ, что от куда берется, для этого вообще можно суперпримитив накалякать...

Изменено пользователем my504

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
bars59    108

Почитал так ничего и не понял,с чего начать.А может и начинать поздно.Мне 51 год,занимаюсь радиолюбительством с 10 лет.В традиционных схемах вроде всё понятно.Микропрцессорную тематику всегда обходил стороной.Но современем появляется всё больше и больше схем на ПЛК.И как-то мне аж обидно становится,что я посвятивший всё своё свободное время радио в этой теме полный ноль.Я даже и не мечтаю сотворить что-то своё,хотя бы повторить чужое.Да ещё и живу в селе,так-что с выбором ПЛК сами понимаете проблема.Ребята подскажите,что нужно для работы с контроллером в часности МЕГА 8.Много сейчас на ней попадается устройств,да и по цене подходит(смотрел в интернет магазинах).А может кто и магазин подскажит надёжный,я живу в Украине.

Заранее всем благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
akl    1

Здравствуйте. ПЛК- программируемый логический контроллер, аббревиатура устройств, широко применяемых в промышленности и на селе. И с них Вам, точно, начинать не нужно. Неплохо, имхо, зная архитектуру семейств PDP11(MSP430, базирующийся на этой легендарной платформе), Z80, MCS51, AVR, могу посоветовать AVR "в часности МЕГА 8".

Для начала

-скачать официальную версию AVR STUDIO с ATMEL'а. Правда она сейчас уже стала настолько монстроидальная, что ужас! Могу предложить старенькую версию 3.21, достоинством которой является простота и быстродействие (весит 12Мбайт)

-взять, в примерах там же, какую-нибудь тему, интересующую Вас

-сделать программатор. Лучше, поддерживаемый AVR STUDIO

-ну..., и потихоньку осваивать язык ассемблера на ошибках своих и чужих. Языки высокого уровня, увы, не для нашего возраста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ваша публикация должна быть проверена модератором

Гость
Вы не авторизованы. Если у вас есть аккаунт, пожалуйста, войдите.
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

  • Похожие публикации

    • Автор: Atreides
      Добрый день. Мне требуется реализовать программный юарт на атмеге16. Он нужен для того, чтобы принятые по нему данные отправить на аппаратный юарт. В интернете нашел примеры кода, но понять его мне трудно. Прошу вас словами в общих чертах объяснить принцип реализации программного юарта. Буду рад примерам, которые, на ваш взгляд, являются наиболее простыми и понятными. Заранее спасибо.
    • Автор: EugenArt
      Всем доброго времени суток!
      в поиске не смог найти инфо, поэтому создал тему, не ругайте, если ошибся с веткой.
      Идея следующая, есть автомагнитола deh-3600MP c выходом Ip-bus.Хочу подружить магнитофон с мп3 плеером (есть от фм-трансмиттера, завтра куплю платку отдельного мп3). Сразу подчеркну, что хочу управление плеером (треки, теги, пауза и т.д) с головного устройства.
      предполагаю схему так:  ip-bus - avr - mp3 player.
      алгоритм avr-mp3 несложен и открыт, а вот описание протокола ip-bus нигде нет, форум витат.спб уже изучил, есть кусок кода работы авр и ip-bus, но не очень понятно, может подскажете набор команд ip-bus или что происходит по событию нажатию кнопки вперед/назад.
      Заранее благодарен.
    • Автор: Максим Окатов
       
      Товарищи, помогите пожалуйста. Данная програмулина при нажатии на кнопку входит в функцию MinU() в которой инициализирует таймер для задержки(ждем отпустит пользователь кнопку или нет) если кнопка не отпущена то уменьшаем скважность ШИМ.
      проблема в выделенной красным строчке! когда count больше 3 уменьшаем скважность, но в отладчике AVR studio, Proteus и в железе не робит.
      Перепрыгивает действие в {} так будь-то условие не выполнено...
      #define F_CPU 1000000L
      #include <avr/io.h>
      #include <avr/interrupt.h>
      #include <util/delay.h>
      unsigned char count = 0;
      unsigned char a=5,s=3,b=0;
          //===================================Насройка таймера====================
      void Timer_ini(void){
         TCCR1B = (1<<CS12)|(0<<CS11)|(0<<CS10);
         TCNT1 = 65535-976;
         TIMSK |= (1<<TOIE1);
         count = 0;
        }
          //===========================настройка шим===========================
      void PWM_ini(void){
         ASSR=0x00;
         TCCR2=0b01101110; //На выводе OC1A единица, когда OCR1A==TCNT1, восьмибитный ШИМ
         OCR2=200;
      }
      //===============
      void MinU(){
          unsigned char i=0;
          Timer_ini();
          while (!(PINB&0b00000010)){
              if(count>2){        //Если таймер считал более двух раз
                _delay_ms(100); // ждем 100 мс
                OCR2--; // Уменьшаем скважность
                i=1;        // были в плавном уменьшении
            }
            
         }
         if (i!=1) // если не были в плавном уменьшении
         {
             OCR2=OCR2-50;
             i=0;
         }
      }
              //=======================================================
      int main(void)
          {
             
              // Настраиваем порт D на выход
              DDRB = 0b00001000;
              PWM_ini();
              //Timer_ini();
              sei();
              
              
              while(1)
              {
                  b=a-s;
                  if (!(PINB&0b00000010))
                  {
                      MinU();
                  }/*
                  //if (!(PINB&0b00000100))
                  //{
                      //PlsU();
                  //}*/
              }
              return 0;
          }
          
          ISR (TIMER1_OVF_vect)
          {
              count++;
              TCNT1 = 65535-976;
                  }
       
       
       
    • Автор: Serg_Mang
      Можно ли залить в arduino прошивку, предназначенную для чистого AVR?
    • Автор: Дмитрий Мартынов
      Здравствуйте!
      Пишу программу на C++ для управления LCD (HD44780) по I2C через модуль расширения портов ввода/вывода PCF8574AT.
      void LCD_I2C::readBF() { transmitByte(0b00001110); //transmits E, RW set to HIGH and RS, set to LOW _delay_ms(5); transmitByte(0b00001010); //transmits E, RS set to LOW and RW set to HIGH _delay_ms(5); initRestart(); transmitAddrRW(0b01111111); //sends PCF8574AT address + SLA+R do { receiveDataAck(); PORTA = storage; } while((storage & (1 << BF)) != 0); //wait until BF is 0 initRestart(); transmitAddrRW(0b01111110); } Метод void transmitByte(uint8_t data) после инициализации состояния "Старт" и отправки адреса устройства + SLA+W отправляет байт данных по TWI с ожиданием бита подтверждения (команды работают верно, проверял по регистру статуса TWI - 0x08, 0x10 и 0x24).
      Метод void transmitAddrRW(uint8_t address) отправляет соответственно SLA+W/R + адрес устройства (команда работает также верно). Нареканий к работе TWI у меня нет, т.к. недавно с его помощью успешно запустил часы DS1307 с интеграцией LCD.
      После передачи запроса на чтение флага занятости инициализируется состояние "ПОВСТАРТ", отправляется адрес устройства + SLA+R, далее идет цикл - запрос байта данных (состояние выводов PCF8574AT) с отправкой бита подтверждения uint8_t receiveDataAck() (команды работают также верно, возвращает storage = TWDR) и вывод storage на порт А микроконтроллера (там установлены светодиоды).
      Чтение регистра данных TWDR после принятия байта данных (receiveDataAck()) дает следующий результат - 0b00000010 - установлен только бит RW микросхемы. Таким образом, флаг занятости BF = DB7 = 7й бит оказывается сразу же сброшенным, происходит мгновенный выход из цикла - контроллер дисплея не успевает скушать информацию, и инициализация не выполняется (неудачную инициализацию определяю по отсутствию курсора). Ожидалось, что флаг занятости будет установлен в единицу и произойдет несколько итераций перед выходом из цикла.
      При замене метода ожидания сброса флага занятости BF на программную задержку в 250 мс везде, где это требует datasheet - инициализация происходит успешно (появляется курсор, как и должно быть).

      Вопрос: что можно сделать, чтобы вместо _delay_ms(250) использовать readBF(), т.к. этот путь мне кажется более верным (уж очень не хочется использовать задержку .__.)? Возможно, проблема в микросхеме, которая неверно выдает информацию при чтении? (Имеется вторая микросхема, она вообще не работает:D)

      З.Ы. На фото виден результат чтения флага BF и Adress Counter - установлен только бит RW.  



      З.Ы.Ы Кому интересно - вот функция main(). Повторюсь - проблема только в методе readBF():
      void LCD_I2C::init() { setBitRate(20000); initStart(); transmitAddrRW(0b01111110); //send PCF8574AT address + SLA+W _delay_ms(60); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(20); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(5); sendInstruction(0b00110000); //function set 8-bit operation _delay_ms(5); sendInstruction(0b00100000); //function set 4-bit operation readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00100000); //function set 4-bit operation, 2 lines, 5x8 dots sendInstruction(0b10000000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display off, cursor off, blinking off sendInstruction(0b10000000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display clear sendInstruction(0b00010000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //entry mode set increment, display shift off sendInstruction(0b01100000); readBF(); //_delay_ms(250); //debug!! sendInstruction(0b00000000); //display on, cursor off, blinking off sendInstruction(0b11100000); readBF();/ }  
  • Сообщения

    • Не, там уже всё схвачено-захвачено, всякими за...нцами.  
    • Чистую слюду можно намотать, наложив её на скотч. Скотч сгорит,слюда останется.
    • Омметр, бумагу, карандаш в руки и вперёд. Навскидку Ватт 30-40.
    • У тебя МХ 74НС04 питается от 5 вольт, значит к 5 вольтам. А вообще нужно уточнить какой выход в ЭБУ, потом окончательно решить. Что там на выходе транзисторы или МХ.

       
    •  Если намотать спираль и прокалить, то проволока покрывается пленкой окиси, защищая соседние витки от замыкания, тем более, напряжение питания низкое. Материал, диаметр и длина проволоки выбирается исходя из требуемой мощности и параметров источника питания.
      Изолятор - миканит. Это композитный термостойкий материал на основе слюды (чистая слюда хрупкая и намотать её на тонкий стержень сложно).
    • Мало того, в таких датчиках еще и линзы "корявые" (иногда специально для создания нужного сектора). Т.е. аберрации там ого-го. Главное тут дешевизна.
      Я поэтому и говорил что фокусировки тут не требуется. При блуждании объекта на метры там смещение плоскости фокусировки на десятые доли мм. Да. Не все лучи что попали в линзу попадут на чувствительный элемент. Некоторые пройдут "мимо кассы" (зависит от габаритов оного). Этим можно и по регулировать. Исходя из размеров линзы 5 мм, габарита чувствительного элемента 3 мм, Fлинзы=30 мм и расстояния до объекта порядка 6м. Я прорисовывал на сколько это возможно. Да, теория работает, но особо там не по варьируешь. Видимо пропорции такие. Действительно если надо изменить угол сектора значительно это лучше сделать либо площадью сенсора либо фокусным расстоянием линзы (т.е. их заменой).
    • Самый экономичный вариант на полевике. Контакты и питание сами сообразите как подключить. Ёмкость конденсатора подберёте на нужное время.