Аналоговые входы АЦП, шкалирование и линеаризация аналоговых сигналов 0-10В, 4-20мА

  Рет қаралды 15,359

Гневисть

Гневисть

Күн бұрын

Продолжение тематики АЦП - в этом видео постараюсь объяснить методику шкалирования и линеаризации аналоговых сигналов в цифровой вычислительной технике на примерах под ПЛК и микроконтроллеры.
В качестве примеров - обработка сигнала с термодатчика, выдающего стандартный сигнал 0-10В / 4-20мА.
Программа под МК, схема и прочие материалы:
files.inbox.lv/shared/file/08...
Эпизоды:
00:00 - Вступление
00:56 - С чего начинается измерение
06:09 - Как подключить датчик
10:56 - Формула, на которой держится весь мир
14:08 - Примеры программ шкалирования
20:20 - Линеаризация
22:38 - Пример шкалирования под микроконтроллер

Пікірлер: 163
@VladimirPolishchuk-jc8sh
@VladimirPolishchuk-jc8sh 2 ай бұрын
Да! Может плохо искал, но только здесь увидел универсальную формулу. Действительно рабочая. Проверял на контроллерах Siemens.
@Anti_During
@Anti_During Жыл бұрын
Вы - очень харизматичный ) Знаете, будучи студентом не понимал ТОЭ. я бы что предложил... рассказать основы основ про узлы, базовые методы и прочее. В помощь студенту. А почему здесь ? а у Вас хорошо получается )
@alexnet8943
@alexnet8943 Жыл бұрын
Этакий современный халявный ликбез ? Ну, голубчик, Вы даёте🙂...такая гамма удовольствий дорогого стоит.
@Gnevistj
@Gnevistj Жыл бұрын
Дело даже не в стоимости, а в экранном времени =) Я не знаю с какой стороны подступиться, чтобы это увлекательно рассказать =)))) Но, может когда-нибудь и придумаю =)))
@alexnet8943
@alexnet8943 Жыл бұрын
А студентам не слишком захорошеет ?
@andrisrubens2588
@andrisrubens2588 Жыл бұрын
Все что касается ТОЭ, Ютюб полон информации, могу выделить один канал, которого для любознательных хватит за глаза. youtube.com/@ToeRavilov Лично мне очень помог в освоении предмета: электротехника, в частности, комплексные числа зашли на ура.
@user-iz4gq9gi2s
@user-iz4gq9gi2s 7 ай бұрын
Замечательная подача. Если можно, запилите ролик про аналоговые выходы. И в частноти, как получить 0 - 10 v из Ардуины.
@user-er7bq1ij9n
@user-er7bq1ij9n 4 күн бұрын
М...да..аааа. Показал мастер класс. Супер.
@faresservice
@faresservice 6 ай бұрын
класс , чувак ты большой молодец, смотрю все твои видосы🤟
@user-gz4vf4pu4t
@user-gz4vf4pu4t Жыл бұрын
Спасибо. Дай бог тебе счастья и здоровья. Очень понятно и просто рассказал то, что казалось сложным.)))
@iMOOMMOOM
@iMOOMMOOM Жыл бұрын
Блин, только с работы домой собрался, и на тебе - ролик... СПАСИБО =)))
@user-rp4fu1nr7z
@user-rp4fu1nr7z Жыл бұрын
Остался на подработку???
@iMOOMMOOM
@iMOOMMOOM Жыл бұрын
@@user-rp4fu1nr7z Объявил всем, что меня нет и заварил чайку =) Ролик и правда отличный. Впрочем, не сомневался. И тема для меня актуальная актуальная оказалась, только мне на производстве нужно замерять 150-250 градусов, так что второй день читаю про термопары и отзывы на датчики. У старого агрегата не работает терморегулирование, и если вовремя не выключить нагрев, он может продолжаться до красного железа, а мне надо максимум 220-230, и потом вырубать, а при понижении за 200 включать нагрев. Вроде на вид просто. В задаче есть легкое место - погрешность в границах 5 градусов погоды не делает. Но есть трудное, пока не решил, как победить. Суть такова - агрегат греет плиту, а она массивная и в плане температуры инертная. То есть чтобы удерживать в рабочем диапазоне плиту, нужно «предвосхищать» перегрев и переостывание. И вроде бы тоже не трудно, надо диапазоны срабатывания сдвинуть. Но тут возникает еще условие - агрегат работает с разным материалом, и под каждый нужна своя температура, которую хорошо бы соблюдать. То есть вот есть пленка с рабочей температурой 220. 210 ей уже мало, а 230 много, и вот надо, чтобы плита с ее инертностью и болталась 220 +/-5 градусов, а следующим материал будет на 200 и то же самое с диапазоном. Кажется, что не сложно, в плане кода пока какая-то каша. Хочется, конечно, схалтурить, и просто приколотить гвоздями несколько готовых предустановленных программ и оставить выбор только между ними, но вроде бы и не серьезно. потому что материал от разных производителей, и где-то надо прям на ходу подбавить газку, где-то остудить... Извините, что все это вывалил. Мысли вслух =) Спасибо вам за канал и ролики, которые регулярно наталкивают на какие-то мысли. То на что-то с другой стороны посмотришь, то пробел какой вскроется и надо пойти почитать, то вообще не думал, а тут - бац - а у вас разжевано =)
@SaihoS1
@SaihoS1 Жыл бұрын
@@iMOOMMOOM В таких случаях решение известно - PID регулирование. Чувствуется что вы сейчас вряд-ли сможете его реализовать самостоятельно, но Вам и не нужно. Всё придумано до нас. Практически любой контроллер температуры с функцией автонастройки PID решит вашу проблему в корне и с большим запасом по точности. И цена вопроса смешная, буквально несколько тр за контроллер и термопару. Ну может около 5 тр. При этом вы один раз даёте контроллеру настроить коэффициенты и дальше радуетесь жизни - в работе просто устанавливаете на табло нужную температуру и идете спать. Выбор контроллера правда зависит ещё и от типа нагревателя. Если электрический то всё просто, но можно порешать и с форсункой и с чем угодно. Только тогда вам потребуется помощь специалиста и в 5 тр уже не уложиться. Вот щас Гневисть проснется и разъяснит вам по полочкам )))
@Gnevistj
@Gnevistj Жыл бұрын
@Роман Вестра , вам действительно нужен терморегулятор с ПИД-ом, как и сказал @SaihoS1 , "релейной" логикой вашу задачу качественно не решишь. Проще всего взять готовое решение от любого крупного производителя - Шнайдер, Сименс, Омрон - у них у всех есть в каталогах подходящие вам продукты =)
@SaihoS1
@SaihoS1 Жыл бұрын
@@iMOOMMOOM Добавил бы не столь именитых и соответственно не столь дорогих корейский Autonics и наш ОВЕН. У обоих есть модели на все случаи жизни и по надёжности хорошо себя зарекомендовали. Осталось только определиться с нагревателем. Если электрический, то управлять лучше через твердотелки. Они практически вечные и коммутировать могут до ста раз в секунду.
@BioTech81
@BioTech81 Жыл бұрын
Уже не знаю что и сказать вроде уже всё сказал и не раз. Ну как всегда: подача, манера, музыка, последовательность, интонация, всё на высшем уровне. Здравствуйте кстати 😂. Даже до такого валенка как я с такой подачей стало доходить хоть кое что. Боюсь перехвалить. Олег но просто бомба. Некоторые блогеры долго к такому идут а у вас прям с первого видео всё получилось. Я кстати после первого просмотренного видео подписался. Готов на часовые и даже двучасовые видео. Нет не видео... Уроки. Как всегда отлично.👍
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо, буду продолжать радовать новыми видео! =)))
@yrisu6098
@yrisu6098 Жыл бұрын
Класс! Спасибо очень поучительно! Ждем новых уроков!
@user-xr5rh8ig9s
@user-xr5rh8ig9s Жыл бұрын
У тебя талант рассказчика. Приятно с пивком в пятницу посидеть под такой интересный разговор.
@user-ul6iu3nu7i
@user-ul6iu3nu7i Жыл бұрын
Наоборот с утра смотрю, когда выспался, отдохнул от рабочей недели
@user-xd1wr9md2z
@user-xd1wr9md2z Жыл бұрын
спасибо за видео, буду пересматривать ещё не раз
@user-gl4xp6ct4z
@user-gl4xp6ct4z Жыл бұрын
Очень полезно! Спасибо! За Ваш труд.
@belov9903
@belov9903 Жыл бұрын
Шикарный видос от уже любимого автора). Как обычно харизматично, популярно, шикарно)
@rudegor858
@rudegor858 8 ай бұрын
Не слова, а золото! 🎉
@user-xq7wz2nu6l
@user-xq7wz2nu6l Жыл бұрын
вот оно как делается! спасибо! теперь буду знать как пилить штуку на ардуино для измерения чегото
@Vitaly_Y
@Vitaly_Y 10 ай бұрын
Привет. Отличный пример документации на датчик!😂
@pavel_dmitrievich
@pavel_dmitrievich 10 ай бұрын
Спасибо Вам за такое полезное видео, очень информативно и интересно 😊
@benyashnyperson9271
@benyashnyperson9271 Жыл бұрын
Спасибо! Это лучшая подача материала!
@vernnms78
@vernnms78 Жыл бұрын
Подписан, посмотрел с удовольствием, поставил лайк! :-)
@user-si3vc8my8t
@user-si3vc8my8t Жыл бұрын
Ваши видео просто ОФИГИТЕЛЬНЫЕ!
@TSM_149
@TSM_149 Жыл бұрын
Ура! Есть ролик!!! Лайк в копилку. Всегда жду с нетерпением!!! 👍🤝
@user-wp3to9tz1m
@user-wp3to9tz1m Жыл бұрын
Когда в глаза не смотришь не так страшно, слушать приятно, полезно. Спппаассиибо :)
@user-nk9iz3yo5w
@user-nk9iz3yo5w Жыл бұрын
Спасибо, так держать. Даёшь годный материал!
@kovalski5539
@kovalski5539 9 ай бұрын
Класс! Отличная подача материала. Талант не пропьёшь!👍🏻🤝🏻 Начинаю качать видео с канала для будущих поколений 🙂
@klimovtima81
@klimovtima81 Жыл бұрын
Хочется научиться программировать . Ваша инфо очень полезная, спасибо за потраченное время .
@vernnms78
@vernnms78 Жыл бұрын
Ура! Новый выпуск!
@user-js3vc6lt2v
@user-js3vc6lt2v Жыл бұрын
Спасибо за труды. Может когда нибудь пригодится.
@sannexsannex4528
@sannexsannex4528 Жыл бұрын
Все клёво. Материал интересный. Подача его замечательная. Респект и уважуха. Но... Ни как не могу оторваться от глаз автора. 😄
@vsche3688
@vsche3688 Жыл бұрын
сразу лайк, потом просмотр)
@UA3USY
@UA3USY Жыл бұрын
ооо опять чёто умное))) спасибо за кинофильм
@MrAlexandrYZ
@MrAlexandrYZ Жыл бұрын
Супер, спасибо! Жду выпуск по ООП!
@user-ev6si7ff9q
@user-ev6si7ff9q Жыл бұрын
Спасибо за видео! Ты супер крутой чувак!
@lexasub
@lexasub 4 күн бұрын
Круть
@asdffewfew
@asdffewfew Жыл бұрын
нравятся мне твои ролики)))
@leonidnovatski9815
@leonidnovatski9815 Жыл бұрын
Здравствуйте, на повестке дня значит Аналоговые входы АЦП, буду делать изучать. Моё пожелание это что бы вы не бросили это дело, из всех источников которые я нашёл ваш самый понятный. По возможности нужно сделать возможность закидывать монету в ваш сундучок за хороший контент. Я уже сам написал несколько своих программ ,всё работает,🙂 доволен как слон! Простые, но как говорил китайский мудрец самый долгий путь начинается с первого шага. С уважением!
@user-mh5vd9zo1x
@user-mh5vd9zo1x Жыл бұрын
Друже ты реально крут! такие сложные вещи (если самостоятельно изучать по литературе) так просто подаешь, что дебилу будет понятно)
@user-xs4is5lq5v
@user-xs4is5lq5v Жыл бұрын
Супер. Я измеритель уровня воды на герконах и резисторах собрал написал длинющий код который сопротивление в уровень воды переводит, а тут все проще с формулой (вот чем отличаются самоучки как я от профи) мы пишем "быдлокод"до которого дошли путем проб и ошибок 😉 Побольше таких видео и если можно то также на пальцах объяснить про I2C
@Gnevistj
@Gnevistj Жыл бұрын
Любой профи когда-то был самоучкой, и уж поверьте, все мы учимся на своих ошибках, и своем же "быдлокоде" =)))) И про I2C, и про SPI готовится материал =))
@trytrytrytrytrytryt
@trytrytrytrytrytryt 4 ай бұрын
Едрииить, Песняры подъехали, сольный концерт! :)
@vladyslavshchedryn7008
@vladyslavshchedryn7008 Жыл бұрын
Автор, спасибо за видео! Уж сколько было в моей жизни сожраных мышами кабелей, "потерянных" датчиков и прочего, не счесть. Но смотреть интересно, ибо талант есть у тебя! Кстати, есть ещё экзотические выходные сигналы 0.8...3.2 В. И это всё на линии, длинной несколько сотен метров, в условиях жутких индустриальных помех. Вот где жесть.
@rustybroom7071
@rustybroom7071 Жыл бұрын
Очень хорошо! И немного гневисти совсем не мешает.
@YanYasnyi
@YanYasnyi Жыл бұрын
Так интересно ,что не заметил как полчаса прошло.
@azamnatali
@azamnatali Жыл бұрын
Отличное объяснение реально отделил мух от котлет))))
@bit_happens_
@bit_happens_ 8 ай бұрын
Спасибо!
@inventossencillos
@inventossencillos Жыл бұрын
Спасибо!👍
@user-pn4tu1pu2z
@user-pn4tu1pu2z 11 ай бұрын
Спасибо.
@user-je6qz4yk6v
@user-je6qz4yk6v Жыл бұрын
Вот знаю, что инфа нифига не пригодится, но всё равно интересно. Заодно вспомнить восьмибитные времена, когда надо было впихнуть весь функционал (весьма богатый, уровня АОН-а) в 8К ПЗУ и 2К ОЗУ. Да, там была и куча аналоговых входов...
@Gnevistj
@Gnevistj Жыл бұрын
Поверьте, и сейчас порой приходится - притащит клиент какой-нить корейский ПЛК со своим не менее корейским пароходиком, и пищит - "любые деньги, только сделайте чтобы вот тут чтобы было вот так!" =))))) Ну раз "любые деньги" - то можно и заморочиться =)))))
@user-lj6ub3lf7f
@user-lj6ub3lf7f Жыл бұрын
Крутяк. Универсальные аналоговые сигналы рассмотрели. Предлагаю теперь рассмотреть сигналы термосопротивления и термопар. Там тоже можно весьма много накопать (характеристики, компенсации холодного спая, схемы подключения и т.д.) Целый мир.
@Gnevistj
@Gnevistj Жыл бұрын
Да, и весьма интересный мир. Может как-нибудь сниму видео и о термопарах =)))
@user-jr3mb5bo7z
@user-jr3mb5bo7z 11 ай бұрын
А ещё надо иметь представление о работе многих устройств и происходящих при этом процессов
@sima8623
@sima8623 Жыл бұрын
Описание к датчику огонь! :)) опять не могу прожать несколько лайков, а жаль.. Только дочитав до повреждения пространственно-временного континиума понял что что-то не так)))
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо, рад что понравилось =)))))
@user-fs1bq5nf8n
@user-fs1bq5nf8n Ай бұрын
Хетфилд еще и поёт как боженька😊
@user-qu5xj4no5q
@user-qu5xj4no5q Жыл бұрын
ООП... так так так, с этого места поподробнее. Я серьезно, я веб-разработчик. Но всегда любил паять (и до программирования работал в сервисе) и плавно добрался до изучения МК. Сразу взял stm32... и взгянув на Си c CMSIS (да и HAL не слаще), пыл мой поубавился. Есть пара библиотек на C++ (его я кстати не знаю) типа mbed, но что-то сложнее hello_world сварганить не удалось (ардуино не в счет). Попадался даже прикольный доклад, где организация применяя ООП, на С++, экономит на разработке, благодаря единой кодовой базе. Вот только открытых проектов, да и даже простых статей днем с огнем не сыщешь.
@asutp2089
@asutp2089 Жыл бұрын
Лайк
@sr_pomidor7140
@sr_pomidor7140 5 ай бұрын
Я НСЦТАИ, 20 лет в бизнесе. Значит так электронщики, видят наше оборудование:) Зашел посмотреть на реализацию автоматики уровня в баке и завис на следующее видео. Сигнализаторы предельных сопротивлений наше все
@johntraylore8103
@johntraylore8103 Жыл бұрын
21:27 описание 👍
@Pro100Xaker5
@Pro100Xaker5 Жыл бұрын
Ща будет разнос мозга)))
@user-rp4fu1nr7z
@user-rp4fu1nr7z Жыл бұрын
Замотай голову бинтом, чтобы мозг по стенам не раскидало.
@user-yj5ye7mj8r
@user-yj5ye7mj8r 6 ай бұрын
Хорошие у вас уроки. Единственное по теме с датчиком. Везде со всех утюгов трезвонят избегайте операцию деления, типа мк выполняет ее медленно тормозит. Я пытался сделать манометр до 600 бар, в руки попал датчик давления с харвестера, у него диапозон выхода от 1-5в, или от4-20ма и он линейный. Я его прикрутил к мк, но при проверке на гидростанции он показывал то 160 то 190бар, и ноля стабильного не было. Это при питании от аккумулятора. Скорее всего датчик б.у и уже был не исправен. Было бы интересно узнать, как разводить платы и о апаратных фильтрах от помех что бы показания таких датчиков были точнее.
@kosmos8460
@kosmos8460 Жыл бұрын
А можете ещё рассказать о методе Симпсона (парабола) в АЦП , спасибо за ваши уроки 👍
@Gnevistj
@Gnevistj Жыл бұрын
Вы имеете в виду измерение действующего значения сигнала, того же RMS? Окей, как-нибудь запилю видео, довольно интересная тема кстати =)))
@andrisrubens2588
@andrisrubens2588 Жыл бұрын
R-C фильтр для лохов ))) улыбнуло. Спасибо за видео, супер!!!
@user-it6gr8ig2r
@user-it6gr8ig2r Жыл бұрын
А будет ли продолжение темы 'мифы альтернативной энергетики '?
@Gnevistj
@Gnevistj Жыл бұрын
Будет! Даже немножко материала поднакопил =))) Не могу сказать как скоро эти выпуски увидят свет, ввиду происходящего киш-миша в работе, но планы имеются =))))
@user-ve9xh6si1r
@user-ve9xh6si1r 10 ай бұрын
Расскажите пожалуйста о ds18b20 очень труден для понимания для меня оказался.
@olegnovikov9160
@olegnovikov9160 Жыл бұрын
Значит в Ардуино,преобразование в заданный диапазон функцией map,происходит по этой формуле линейной интерполяции. Большое спасибо за разъяснения.
@Gnevistj
@Gnevistj Жыл бұрын
Да, эта формула используется везде, где нужно преобразовать сигнал в иной диапазон, те же LIN_TRAFO, SCALE, UNSCALE в "больших" ПЛК также основаны на этой формуле =)
@ghjklfghk
@ghjklfghk Жыл бұрын
Ееееее. 🎉
@egor_sam
@egor_sam 4 ай бұрын
Добрый день! Есть необычная задача, которую необходимо выполнить на МК. Считывается значение АЦП 10 бит и шкалируется по шкале 0-7 с точностью 0.1. Задача: увеличивать значение счетчика на 1 при уменьшении значения переменной и переходе через целое значение шкалы, т.е. 5.2->5.1->5.0 увеличивается счетчик на 1, а если 4.8->4.9->5.0, то счетчик не изменяется. Своего рода обратный счетчик. Направьте, пожалуйста, на правильную дорожку =)
@user-lq4qe4mt4x
@user-lq4qe4mt4x 6 ай бұрын
После операции пришивания пальцев... Доктор а я смогу теперь на скрипке играть? О да конечно... Здорово, раньше я не умел. .. так и мне, ещё долго мозг перепрограммировать, писать ему свой интерпретатор для этих вещей 😂
@CAGGICAR007
@CAGGICAR007 Жыл бұрын
4мА есть величина в первую очередь для питания прибора для подключения по двупроводной схеме.
@Gnevistj
@Gnevistj Жыл бұрын
Трудно сказать как сложилось исторически; учитывая что первые датчики имели четырех- и трехпроводные схемы подключения, то вероятнее всего делали это именно для обнаружения обрыва, а уж потом поняли что можно и питать через это =) Точно так же как со шкалой 2 - 10В, где два вольта и есть ноль шкалы, а все что ниже - неисправность =)
@user-kx7ch1zr3q
@user-kx7ch1zr3q Жыл бұрын
Всё понятно, а как линеаризовать экспоненциальный поборолически и др датчики, где характеристика похожа на синус?
@Gnevistj
@Gnevistj Жыл бұрын
Самый простой и часто применяемый метод - именно кусочная интерполяция, как я рассказывал; то есть расписываете по маленьким кусочкам таблицу входного сигнала, и вводите нужное количество блоков сравнения с уставками для формулы. Или же, если полностью известна характеристика входного сигнала с ее коэффициентами - применяете обратную функцию - для синуса - арксинус, для экспоненты - логарифм, и т.д. =))
@user-kx7ch1zr3q
@user-kx7ch1zr3q Жыл бұрын
@@Gnevistj спасибо!
@gogamagogov161
@gogamagogov161 Жыл бұрын
это получается, что чем уже измеряемый диапазон (температуры, например) - тем точнее будет измерение, и упрётся всё, по-итогу, в точность измерителя? И, по-идее, можно еще точнее "линеаризовать датчик", если есть более точный измеритель - построить свой график под конкретный датчик. И, по-идее, имея более точный измеритель - можно сделать калибровочную программку, типа гонять интервал и циферки вбивать и оно само все посчитает. Я, конечно, нифига во всём этом не разбираюсь - но очень интересно (и плюс минус понятно).
@Gnevistj
@Gnevistj Жыл бұрын
Да, вы правильно все поняли - если количество делений на шкале не меняется (как в случае с АЦП МК - всегда 1024 единицы-деления), то чем более узкий диапазон реальных единиц вы хотите измерить, тем точнее получится =) И действительно так - основное это датчик - никакой АЦП хоть со 128 битами не улучшит сигнал, если датчик изначально имеет низкую разрешающую способность. Вспомните дешевые цифровые медицинские термометры из аптек - диапазон небольшой, но ошибаются чуть ли не в половину диапазона порой =))))) Именно по причине качества датчика, ИМХО =)))
@user-ul6iu3nu7i
@user-ul6iu3nu7i Жыл бұрын
Как поставить второй лайк за описание к экранному датчику?))
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо, приму виртуальный второй лайк =))))))
@dan-cru3er
@dan-cru3er 11 ай бұрын
А функция map это и есть интерполяция?
@DyaFedya
@DyaFedya Жыл бұрын
ооп 🥲
@vernnms78
@vernnms78 Жыл бұрын
Я, как человек, далекий от пром. автоматики, хотел спросить в порядке любопытства: В коде (25:50) переменная Xx имеет тип Long, но при этом на этапе считывания Xx=READ10(AN0) ей присваивается дробное значение, которое затем преобразуется. Как это работает? :-)
@Gnevistj
@Gnevistj Жыл бұрын
Результатом работы функции ReadAD10 является WORD в диапазоне от 0 до 1023, и 16 его значащих бит загружаются в младшее слово переменной Xx, старшее слово не изменяется =)))
@vernnms78
@vernnms78 Жыл бұрын
@@Gnevistj Эх, Семен Семеныч!.. Теперь ясно, что умножением просто "перекидываем" в старшие разряды? Правильно понял?
@Gnevistj
@Gnevistj Жыл бұрын
Именно! Чтобы оставить место для " х десятых после запятой" который возникнет в результате вычислений. Десятичное значение окажется в "целых" разрядах, с которыми умеет работать машина =)) А мы потом его оттуда выковыряем =))))) Если бы мы хотели показать точность до сотых (два знака после запятой) - умножали бы на сотню =)))
@vernnms78
@vernnms78 Жыл бұрын
@@Gnevistj Спасибо за объяснение! :-) Возьму это на вооружение.
@Barmotolog
@Barmotolog Жыл бұрын
В ардуине команда "maps" )
@SaihoS1
@SaihoS1 Жыл бұрын
Отлично! Спасибо! Но до оргазма малёха не хватает ((( Не ну правда, если уж играть с фиксированной точкой и врукопашную использовать дополнительный код, но при этом не провести элементарной оптимизации вычислений это как-то странновато. Если б я вот так вот влоб сделал четыре сложения, два умножения и, ёрш его налево, деление вместо одного сложения и одного умножения... да меня б выгнали без выходного пособия ))) Гневисть, не гневитесь пожалуйста. Просто до последнего момента ждал когда вы скажете "Ну мы то знаем как раскрывать скобки и заменять деление умножением! Смотри народ как одной только ловкостью рук мы превращаем жуткую формулу в пару операций!" И ощущение теперь как будто облом испытал ))) Конечно это учебный материал и тема другая и всё охватить невозможно... Всё так конечно. Но всё же очень жаль. Такая была возможность красиво закончить!
@Gnevistj
@Gnevistj Жыл бұрын
Спасибо за столь развернутый комментарий, очень рад что вам понравилось =)) В свою защиту скажу - что моя цель в этом видео была показать работу формулы линейной интерполяции, и именно поэтому я ее вводил без всяческих преобразований - для наглядности =))) И уж в своих дорогих зрителях я уверен, что раскрыть скобки и выполнить часть действий вручную, перед записью их в программу, они сумеют и без моей помощи =)))) З.Ы. как хорошо, что вы не видели программы от моих французских коллег, там даже я за валидол хватаюсь, хотя сам тот еще лентяй по части математики =))))))))) И ничего, все работает, все довольны, и никого не выгоняют =)))))))
@SaihoS1
@SaihoS1 Жыл бұрын
@@Gnevistj Ну понятно, понятно ))) Я на самом деле прекрасно понимаю что без сучка и задоринки с первого раза не сделать такой материал. Всегда есть что улучшить. Пусть моим конструктивным вкладом будет эта формула (с учётом замены 1024 на 1023): 0,244379277*X-100 Только не пугайтесь что коэффициент при X имеет много знаков после запятой. Это он так несуразно выглядит без округления в десятичной системе, а в двоичной сущие пустяки: 0,001111101 Всего-то 9 двоичных разрядов после запятой. Так что представления LONG хватает с запасом для вашей задачи. А ещё дорогое умножение на этот коэффициент следует заменить на несколько дешёвых действия (2 сложения, 2 сдвига, инверсию и инкремент). Ну и конечно в двоичной системе работать приятнее ибо деление на степени двойки это сдвиг - работа с фиксированной точкой просто песня. Получается что в основных вычислениях нам даже аппаратное умножение не нужно! Этим приемам и впрямь можно отдельный выпуск посвятить. Всё просто, но не очевидно, как все любят )))
@Gnevistj
@Gnevistj Жыл бұрын
Вот кстати хорошая идея! Подумаю, и сделаю выпуск по части оптимизации математики. Но, сразу - из опыта скажу - если программа пишется на один раз, или исходники остаются только "у себя", то конечно можно поковыряться и как следует оптимизировать ее; но если исходные коды отдаются клиенту, который имеет свою собственную службу АСУ - то мое глубокое ИМХО, что лучше формулы вводить "как есть", пускай машина сама все скобки раскрывает - люди потом спасибо скажут, и не раз, ибо им и так в чужом коде разобраться не всегда легко, а тут еще киш-миш с авторской методикой умножения =))))))
@mj-maks
@mj-maks 10 ай бұрын
почему защитник виндовс ругается на предложений вами basic?
@Gnevistj
@Gnevistj 10 ай бұрын
Вопрос этот скорее к разработчикам, я лишь пользователь этой среды. Кстати, у меня не ругался, вы точно с sourceforge качали?🙃
@mj-maks
@mj-maks 10 ай бұрын
@@Gnevistj да, по вашей ссылке, а какой Виндоус вы пользуетесь и какая разрядность?
@Gnevistj
@Gnevistj 10 ай бұрын
@@mj-maks , на данный момент 10ка 64 бита, но без единого обновления. По опыту, если антивирус ругается на любой компилятор - это норма, потому как компилятор обладает основным признаком вируса - создает исполняемый код =))) Не знаю насколько мой опыт будет полезен - с sourceforge я все ставил без доп проверок, ибо у них довольно жесткие проверки на самом сервере. Но, осторожность никогда не бывает излишней, я возможно несколько легкомысленно подхожу к этому вопросу =)
@mj-maks
@mj-maks 10 ай бұрын
@Gnevistj спасибо, а ардуино также на бейсике? сильно отличается?
@Gnevistj
@Gnevistj 10 ай бұрын
@@mj-maks , у ардуино свой язык; но учитывая что они все (если память мне не изменяет) построены на контроллерах авр, то не вижу проблем писать и под них на гцбейсике. Я готовлю выпуск и об этом =)
@Nito4kin
@Nito4kin 10 ай бұрын
+
@user-fg9sp9sy7f
@user-fg9sp9sy7f Жыл бұрын
4-20мА тоже мериется через делитель.
@ionelywolf3286
@ionelywolf3286 Жыл бұрын
"умная коробочка" выдаёт только ac или может и dc ,какая частота выхода , или это мини генератор сигналов 😁👍👍
@Gnevistj
@Gnevistj Жыл бұрын
Умная коробочка выдает то, что установлено на ее дисплее при помощи крутилки =)))) Т.е. любое значение сигнала в диапазоне от 0 до 10В, или 0 до 20мА, причем с точностью до третьего знака после запятой. Умеет также выдавать треугольный сигнал - с настраиваемыми значениями нуля и максимума (в тех же диапазонах), и периодом изменения в секундах и долях секунд. Как-нибудь сделаю обзорчик =)
@ecstasy3701
@ecstasy3701 4 ай бұрын
В каких участках их ДНК находится ошибка!)))) Ору просто, красавчик! (Я не про внешность если что)
@user-ul6iu3nu7i
@user-ul6iu3nu7i Жыл бұрын
При рассказе про миллиамперы у меня флешбеки - Ебаная пожарка, как она вынесла мозг на работе, с такими токами эти особенные люди линию на скрутках собирают)
@user-hd7hq4lf4y
@user-hd7hq4lf4y Жыл бұрын
13:49 Нуууу... не совсем.. Только в том случае, если величина будет меняться линейно. (а если по сложной кривой, парабола, гипербола и т.п.) Поправьте, если в чем-то не прав.
@andreimedeisha5692
@andreimedeisha5692 Жыл бұрын
Уж если кто спасет мир от необдуманного использования датчика, то только Чак Норрис. 🤣
@werew03
@werew03 Жыл бұрын
SPS УВАЖУХА
@wandemeir4394
@wandemeir4394 Жыл бұрын
Странно что все комментарии положительные, видео трут, видимо и этот сотрут. В плане ПЛК возможно такие подходы и норм, но микроконтроллеры уже так как лет 20 не программируют. Любой контроллер поддерживает знаковые числа, вы никогда не задумывались почему перевод из знаковых в беззнаковые делается так, а не скажем добавление единицы слева? А это для того чтобы знаковые и беззнаковые числа считались на одном алу. Так что это только лень разработчиков языка, на си все ВСЕГДА поддерживается. Также уже тонна контроллеров аппаратно считает float и даже double, например stm32H7. И опять же в С/С++ это прекрасно поддерживается потому что это базовые фичи компилятора. Вообщем соболезную не окрепшим умам которые решат изучать программирование микроконтроллеров использую данные подходы и данные методы.
@futuriones
@futuriones Жыл бұрын
"Здравствуйте, кстати" более уместно звучало бы где-нибудь на 5-той минуте )
@artemdavinci
@artemdavinci Жыл бұрын
Есть два вопроса. - Почему используется 1024, а не 1023? - Не совсем ясно как происходит математика с отрицательным числом. Т. е. как получить отрицательное число это понятно. Но ведь МК все равно "не знает", что это число отрицательное, он же "думает", что там записано 4 294 966 796, а не -500.
@SaihoS1
@SaihoS1 Жыл бұрын
1024 это косяк, а что МК думает про содержимое переменной это не важно. Главное мы знаем как он обрабатывает переполнение при сложении и пользуемся этим. Дополнительный код для того и придуман чтобы пользуясь переполнением реализовать вычитание с помощью сложения.
@Gnevistj
@Gnevistj Жыл бұрын
@Артем Полянчук , да, 1024 - это мой косяк, зарапортовался вначале, так и пошло-поехало сквозь все видео - до самого момента загрузки видео на ютуб не сообразил. Такие ошибки свойственны не только новичкам, но и старичкам, как видите =)))) Естественно, везде нужно читать 0-1023. По поводу отрицательных чисел - все правильно сказал @SaihoS1 , рекомендую пересмотреть мой выпуск про память ЭВМ, в нем довольно подробно рассмотрен механизм работы с отрицательными числами =)
@artemdavinci
@artemdavinci Жыл бұрын
@@Gnevistj Благодарю ;)
@artemdavinci
@artemdavinci Жыл бұрын
@@Gnevistj Да, пересмотрел и вспомнил. Действительно все очень просто))
@r_h1030
@r_h1030 3 ай бұрын
Я блин часа два понимал , а все дело в 4( условный ноль ) , и шкалировонии
@drone_tales
@drone_tales 11 ай бұрын
Xmax (да и вообще максимальное значение по АЦП), в данном случае, должно быть 1023. Да, у вас 1024 значения (состояния), но максимальное числовое - 1023. Вы никогда не получите на входе 1024 (ну или 256 для 8 бит). Так вы теряете в точности. Такая ошибка есть в 99.9% случаев работы с АЦП.
@mikesaiganov4535
@mikesaiganov4535 Жыл бұрын
Коты не грызут кАбели??? Ещё как грызут!!! Особо, когда у них зубы меняются. Мой- все шнуры от зарядок погрыз! Теперь все шнурки в разноцветных термоусадках. Чиненые - паянные😅
@Gnevistj
@Gnevistj Жыл бұрын
В прокатном цеху моего родного завода было довольно много котов - их все подкармливали, и суровые ребята с линии, и веселые девчонки из ОТК. В один прекрасный день, начальник цеха (видимо встав не с той ноги), потребовал безобразиЁ прекратить, котов с территории выдворить. Узнав об этом приказе электрослужба цеха напряглась. Коты же удалились, так как их перестали кормить, и начали гонять; но самый шухер, ожидаемо, начался пару-тройку недель спустя - длительные простои то на одном, то на другом прокатном стане - обнаглевшие крысы повадились грызть кабеля в неслыханных масштабах - и компьютерные сети АСУ, и прочие контрольники, избегая неведомым образом силовые кабели. После недельного шухера негласным приказом коты были возвращены на территорию цеха, прикормлены, и погрызание кабелей резко прекратилось =))))
@mikesaiganov4535
@mikesaiganov4535 Жыл бұрын
@@Gnevistj Из двух зол выбрали меньшее 😄👍
@deniskhakimov
@deniskhakimov 11 ай бұрын
Мой британец несколько раз перегрызал кабель от любимой клавиатуры. А всё потому, что когда он был мелким, часто с ним играл "хвостом" от компьютерной мышки или кабелем для наушников. Каждый раз из-за этого у меня стопорилась работа. Представьте себе: вам - менеджеру проектов из мск - в обед звонит _погроммист_ и сообщает, что сегодня ещё даже не принимался за работу, т.к. "кот прогрыз кабель от клавиатуры" 😆
@TriFid249
@TriFid249 Жыл бұрын
В институте бы также объясняли!!! А то на лекции быстрее в сон загонит, чем чему то научишься)))
@Gnevistj
@Gnevistj Жыл бұрын
На лекциях главное - не храпеть =))))))) Все зависит от преподавателя. Видел и таких, кто настолько увлекательно рассказывает с примерами из жизни, что даже придя к нему на лекцию после ночной смены слушаешь затаив дыхание, и сна как не бывало; а бывают что монотонно прочел конспект сонной аудитории, и усе =))))
@LookThroughTheButt
@LookThroughTheButt 11 ай бұрын
Нууукааанешна! Не грызут коты кабели, ага...
@Gnevistj
@Gnevistj 11 ай бұрын
Коты грызут кабели на производстве только в индивидуальном порядке, и строго согласно наряду-допуску! =)))) А вот крысы - грызут в промышленных масштабах, без смс и регистрации =))))))))
@LookThroughTheButt
@LookThroughTheButt 11 ай бұрын
@@Gnevistj я так полагаю, что наряд-допуск для кота - это пределы терпения его хозяев? )))
@RogovAB
@RogovAB Жыл бұрын
Это в каком МК АЦП дает 0-1024? 11 битное ацп? ай-яй-яй!
@Gnevistj
@Gnevistj Жыл бұрын
Где-то здесь же в комментариях я уже извинялся за эту неточность =)) Так бывает, когда снимаешь и монтируешь видео по ночам =))))))
@clora1136
@clora1136 Жыл бұрын
Стабилитрон это уже саботаж. При делителе 10к удачи вам с компенсацией тока утечки в стабилитроне. Нарисовали бы bat54s (утечка при 5в 100 нА) сбросив излишки на шины питая как собственно и положено. "Никакой погрешности не внесут" ))))))))))). типовой стабилитрон на 5,1в 10мка при 1в обратный ток. при 2,5 уже 100мка. подумаешь +1в на 1/2 FSR. (испытанно на своей шкуре после вот таких "решений" по защите аналоговых входов). Не надо так.
@alexnet8943
@alexnet8943 Жыл бұрын
🙂👍🇺🇦
@alexorlovecky6662
@alexorlovecky6662 Жыл бұрын
Формула для маленьких детей увлёкшимся ардуинкой.. Но если уже говорите о промышленных датчиках, то практически никто в здравом уме, линейной интерполяцией пользоваться не будет. Большие дяди юзают експоненту, так как прямые линии еллектронные компоненты рисуют лишь в мурзилке.
@Gnevistj
@Gnevistj Жыл бұрын
Нда, я удивлен. Вроде взрослый уже дядя, а экспоненту применял всего несколько раз в жизни =))) На прошлой неделе подключал весовой преобразователь к ПЛК по аналогу 0-10В, и о чудо - сошкалировав его в двух точках он оказался абсолютно линейным (ради интереса шкалировал при 20% и 70% от полного веса); так и ниже рекомых 20%, и выше 70% - чистая линия. И да, именно по этой формуле работает линеаризация в моей программе, т.к. штатный LIN_TRAFO ругается, когда выходишь за нижнюю/верхнюю точку диапазона. Суть в чем - если производитель преобразователя/датчика сказал что он линеен - значит он линеен, мерь хоть вдоль, хоть поперек. Пользуйте качественные датчики! =)))) Или вы о схемотехническом косяке Сименса в его аналоговых модулях 6ES7-331-..., когда "зарезали" часть диапазона, и вместо шкалы от минус 32767 до плюс 32767, имеют шкалу -27649 до 27649? А, это дааа, маркетинг гениальный без сомнения - тщательно задокументировать свой косяк, и выдавать за преимущество - мол вот, у всех "загибается по экспоненте, а у нас есть специальное срэдство!" =)))) Но главный прикол в том, что у всех ничего не загибается, и для проверки сего чуда хватит обычного поцика, тестера, и небольшой программки, с той самой формулой линейной интерполяции =)))))
@alexorlovecky6662
@alexorlovecky6662 Жыл бұрын
@@Gnevistj Пользуемся более чем "нормальными" датчиками, но все которые мне попадались - от датчиков глубокого вакуума, расхода газа и тд, до показаний выходной мощности различных ВЧ генераторов - все имеют экспоненту. На самых крутых, даже есть "линеаризаторы" - подстройка офсета нуля, коэффициент(крутизна) и та самая экспонента. Последняя типа настроенна с завода и с пломбой, пломбу срываешь - гарантия слетает. А иной раз, сам датчик может выдавать высокую точность, но производитель в паспорте её специально занижает - на случай если криворукий настраивал. Крутить нельзя - гарантия снимется, по гарантии менять тоже, потому что для производителя всё в допуске.
@alexorlovecky6662
@alexorlovecky6662 Жыл бұрын
@@Gnevistj Да что далеко ходить, элементарно смотрим на таблицу ходовых хромель-алюмель тип К термопар: температура 0 по Цельсию - 0в, температура 100 4.096в. Используем линейную интерполяцию и считаем 50 градусов: получаем 2.048в. А потом идём и сверяем с таблицей, а там херак 2.023 вольт.
@Gnevistj
@Gnevistj Жыл бұрын
@@alexorlovecky6662 , вы не совсем внимательно просмотрели выпуск - термином "датчик" я назвал законченное устройство со стандартным сигналом на выходе; если говорить о термопарах, и о любви людей сэкономить на "спичках", то да, приводим на входной блок ПЛК сигнал напрямую с термопары, а дальше мучимся и пишем все ручками, в т.ч. компенсацию холодного спая с термостатированием блока ПЛК =))) Кстати, в линеаризации нелинейных датчиков (сорри за микротавтологию =))) прекрасно работает эта же формула - пример показан в этом же видео =)
@user-ne4bd3ry1n
@user-ne4bd3ry1n Жыл бұрын
местами истеричные эмоции, пугает.
@Gnevistj
@Gnevistj Жыл бұрын
Не пугайтесь! =))))
@valerab5687
@valerab5687 Жыл бұрын
К чёрту условности!!! К чёрту схемы, формулы и красные стрелочки!!! Объясняй в Алкашах и бутылках Водки на квадратный дюйм!!!! Так гораздо доходчивей )))))))))))))))
@chsnchsn564
@chsnchsn564 Жыл бұрын
уколотый молодец.😊
@nilstriamera4016
@nilstriamera4016 Жыл бұрын
Как автор создаёт такую уютную атмосферу? Харизма + немного магии?
@Gnevistj
@Gnevistj Жыл бұрын
Только тссс! Никому! Ведь магия вне Хогвартса запрещена =))))))
@alexnik3884
@alexnik3884 Жыл бұрын
Подскажи пожалуйста. Не могу допереть, как сделать следующее. На порту во время разговора меняется состояние, 1 разговора нет, 0 разговор есть и нужно если в течение скажем 15 сек разговора нет, т.е. на порту лог.1, завершить работу программы. Контроль переключения порта в бесконечном цикле это понятно. Но не могу понять как написать, чтобы не хватала у меня первое состояние лог. 1, т.е. короткой паузы при разговоре и контролировало наличие этой единицы 15 сек, а если лог.1 был меньше этого времени, то сбрасывало время и программа продолжала работать, покуда лог. 1 именно будет на порту присутствовать 15 сек, а не цеплялась за первую же паузу.
How many pencils can hold me up?
00:40
A4
Рет қаралды 19 МЛН
когда достали одноклассники!
00:49
БРУНО
Рет қаралды 4,1 МЛН
Why You Should Always Help Others ❤️
00:40
Alan Chikin Chow
Рет қаралды 34 МЛН
Как работают АНТЕННЫ? Самое понятное объяснение!
11:00
Hi Dev! – Электроника
Рет қаралды 783 М.
7. Подключение Modbus-модулей к шине RS-485
20:52
LCD1602 - это очень просто!
22:19
Гневисть
Рет қаралды 138 М.
Xiaomi Note 13 Pro по безумной цене в России
0:43
Простые Технологии
Рет қаралды 2,1 МЛН
iPhone 15 Pro vs Samsung s24🤣 #shorts
0:10
Tech Tonics
Рет қаралды 10 МЛН
ПК с Авито за 3000р
0:58
ЖЕЛЕЗНЫЙ КОРОЛЬ
Рет қаралды 1,9 МЛН