Попал мне в руки проект с ИК датчиком приближения на attiny13. Суть в том, что я хочу внести изменения в программу и понять принцип работы. НО, она написана не в AVR или Atmel студии, а в графическом виде при помощи Algorithm builder. Мне не понятно как это представить в классическом виде, кодом, а не рисунками в программе которая к тому же не может собрать проект воедино. Меня в частности интересуют три части программы: Настройка 0-го таймера, пакеты которые формируются, как принимаются пакеты. Программу для работы можно найти тут: Спойлерhttp://www.getchip.net/posts/sreda-programmirovaniya-algorithm-builder/ Снимки экрана из программы: Спойлерпервая часть вторая часть В общем я хочу сделать ИК датчик приближения с применением приемника TSOP1738 или его аналоге. Это приемник демодулятор. Нужно передать модулированный сигнал и принять его же, как это сделать мне не до конца понятно. В интернете я смотрел многое, вариант на ассемблере мне точно не подходит, этого ЯП не знаю, все остальные проекты просто готовый HEX файл. А тк же прошерстил всего радиокота но не нашел по ключевым словам, если ткнете мордой в миску буду благодарен. Источники моего вдохновения: Спойлерhttp://www.getchip.net/posts/094-datchik-priblizheniya-na-ik-luchakh-attiny13/ тут же взял проект в билдере https://simple-devices.ru/prj/6-automat ... -ir-sensor из полезного только схема, никаких не скомпилированных проектов.
PS если будете открывать проект в редакторе то файл .alp является главным файлом проекта.
Заголовок сообщения: Re: Помогите понять проект написанный в AlgorithmBuilder
Добавлено: Вт май 10, 2022 18:08:50
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18798 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Там памяти-то всего 1 кбайт (≈500 инструкций). Если никак с дизассемблированием, может с нуля написать?
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Суть в том, что я хочу внести изменения в программу
Какие, если не секрет?
Цитата:
Меня в частности интересуют три части программы: Настройка 0-го таймера
Таймер0 тактируется без предделителя, на тактовой частоте МК (9,6 МГц). Режим работы Normal (WGM0 = 0). В регистр OCR0B записывается десятичное значение 150. Прерывания по таймеру в регистре (TIMSK) настроено : одно - по переполнению регистра TCNT0.
Формирование пачек импульсов, формирование сообщений, формирование пауз между сообщениями, производится в прерывании по совпадению. Если без подробностей, то в данном прерывании производится включение светодиода, а в прерывании по переполнению этот светодиод выключается.
Цитата:
как принимаются пакеты
Принимаются пакеты по внешнему прерыванию (INT0) с контролем перехода с 1 в 0 от TSOP. Принятый пакет сравнивается с кодом записанным в EEPROM. Если он совпадает дважды подряд (если я не ошибся), то производится управление выводами МК (РВ0 и РВ2).
Цитата:
В общем я хочу сделать ИК датчик приближения с применением приемника TSOP1738 или его аналоге. Это приемник демодулятор.
А что мешает его применить в данном датчике? Думаю он вполне подойдёт для приведённой конструкции датчика.
Цитата:
Нужно передать модулированный сигнал и принять его же, как это сделать мне не до конца понятно.
Данный алгоритм как раз этим и занимается… по умолчанию в EEPROM загружается константа (некая последовательность импульсов). Но в алгоритме предусмотрено при желании записать свою индивидуальную посылку, на которую в дальнейшем будет отрабатывать датчик. Всё это (как это делается) описано в статье блога автора. http://www.getchip.net/posts/094-datchi ... -attiny13/
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Если никак с дизассемблированием, может с нуля написать?
Я это и хочу сделать, мне нужно понять как отправлять пачки импульсов на таймере и потом обрабатывать входящий сигнал (прерыванием). я подозреваю, что просто запустив генерацию на 38кГц +-5% я не получу какой либо сигнал. В любом случае жду заказанные детали, что бы приступить к мучениям в живую.
Надо не проект понимать, а как работать с TSOP. В интернете полно примеров. Достаточно забить в поисковик. Например: так
спасибо за направление. но смогу ли я одновременно и передавать и принимать тот же сигнал? Свет он быстрый, отражаться миллисекунду не будет, а практически сразу приходить.
Суть в том, что я хочу внести изменения в программу
Какие, если не секрет?
я хочу избавиться от триггера автора, уменьшить время срабатывания, добавить свои индикаторы выхода. и в целом понять как написать эту программу. ваше объяснение очень подробно и поможет мне добиться результата. спасибо. слегка торможу, поскольку до этого использовал таймеры атмеги8 максимум для 7seg индикаторов и генерации PWM различных конфигураций. PS смог управлять адресной LED лентой с написанным собой для нее "драйвером". На атмега 8, без ардуиновских библиотек. Там скучно, 2 клика и все работает.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
я подозреваю, что просто запустив генерацию на 38кГц +-5% я не получу какой либо сигнал.
почему не получите? получите непрерывный сигнал вам нужно его промодулировать, а это делается включением и выключением таймера. длительность включенного и выключенного состояния можно отсчитывать как самим таймером (или другим), так и "тупыми" задержками - для сигналов ДУ и такой вариант приемлем.
[quote="PE4ENbKA_173"]длительность включенного и выключенного состояния можно отсчитывать как самим таймером (или другим), так и "тупыми" задержками - для сигналов ДУ и такой вариант приемлем.
только я на аттини13 делаю, там всего 1 таймер как я понял. сильно не разгуляться.
советую изучить (хоть немного) АлгоритмБилдер (это не сложно и если что - русская справка вызывается по F1) если не работали с ассемблером - скорее всего узнаете про АВР много нового (как и я в свое время... только мне проект позабористей попался, с диспетчером задач и с чтением флешек под тини2313, ничего - за неделю одолел (в основном сложности возникали как-раз с проектом, а не с АБ, который оказался интуитивно понятен) и внес необходимые мне правки, теперь часто сам к АБ прибегаю на проектах под тини)
только я на аттини13 делаю, там всего 1 таймер как я понял. сильно не разгуляться.
так и 1 таймер можно использовать сразу в нескольких целях - и для генерации импульсов и для отсчета времени...
_________________ Просто не учи физику в школе, и вся твоя жизнь будет наполнена чудесами и волшебством Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Ну это просто, закомментировать управление данным выводом и всё.
Цитата:
уменьшить время срабатывания,
Тут не совсем понял. 1 Задержка на срабатывание? 2 Или сигнал удержания срабатывания? Если первое, то там и так всё на минимуме (как я полагаю)… это некий фильтр от ложных срабатываний, некая защита для надёжной работы… Если второе, то выход статус работает как индикатор – если датчик видит препятствие, то светодиод светится, как только перестал уверенно видеть, светодиод погас. Что тут ещё можно придумать?
Цитата:
добавить свои индикаторы выхода.
По подробнее...
Цитата:
но смогу ли я одновременно и передавать и принимать тот же сигнал? Свет он быстрый, отражаться миллисекунду не будет, а практически сразу приходить.
Тут всё просто… работа алгоритма организована в прерываниях… в основном цикле алгоритма нет – просто ожидание очередного прерывания. Вот как пример из этого алгоритма: В прерывании по сравнению включаем ИК светодиод, а в прерывании по переполнению отключаем его. Импульсы работы светодиода видит TSOP и прижимает свой выход к земле. А внешнее прерывание отслеживает этот сигал и реагирует на него… Конечно там ещё имеется куча нюансов, которые необходимо анализировать, но суть примерно такая.
Тут не совсем понял. 1 Задержка на срабатывание? 2 Или сигнал удержания срабатывания?
Цитата:
добавить свои индикаторы выхода.
По подробнее...
Про задержки срабатывания/отпускания да все верно вы поняли, просто защита от помех.
Индикаторы - срабатывание детектора и отдельно статус реле. С реле понятно, "параллельно" нему светодиод сделать со своей землей. А срабатывание детекторв другой вопрос, т.е. некоторая задержка до включения реле, что бы можно было понимать что препятствие есть но не включать сразу же реле в это время. как это сделать без второго счетчика который бы тики считал я не очень понимаю. Но это не столь важная фича. Важнее что бы более менее точно срабатывал на объект. Буду собирать и тогда уже на реальном железе посмотрю осциллографом как и что работает. Инфы у меня сейчас очень много, сижу перевариваю.
Буду собирать и тогда уже на реальном железе посмотрю осциллографом как и что работает.
То есть на макетке вы датчик не собирали и как он работает по факту вы не видели? А откуда тогда претензии к задержке? В начале необходимо проверить в железе, а уже затем принимать решения, что необходимо добавить, а что оставить как есть. Я его в своё время проверял в железе данный алгоритм, претензий не возникало.
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
ну вы меня убиваете - хот бы прочтите, что ваши антивирус пишут: обращение https, но сертификат недействителен, т.к. из-за санкций все бесплатные сертификаты, которые раздавали всем желающим, перестали работать, а на платные, судя по всему, денег у хозяина сайта нет... вот оно и пишет, что соединение не шифрованное, хотя как бы должно быть... не надо бояться, ничего страшного там нет
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Буду собирать и тогда уже на реальном железе посмотрю осциллографом как и что работает.
То есть на макетке вы датчик не собирали и как он работает по факту вы не видели? А откуда тогда претензии к задержке? В начале необходимо проверить в железе, а уже затем принимать решения, что необходимо добавить, а что оставить как есть. Я его в своё время проверял в железе данный алгоритм, претензий не возникало.
Смотрел в видео на канале автора. Макетка едет, скоро буду на ней реальные тесты делать.
ну вы меня убиваете - хот бы прочтите, что ваши антивирус пишут: обращение https, но сертификат недействителен, т.к. из-за санкций все бесплатные сертификаты, которые раздавали всем желающим, перестали работать, а на платные, судя по всему, денег у хозяина сайта нет... вот оно и пишет, что соединение не шифрованное, хотя как бы должно быть... не надо бояться, ничего страшного там нет
Товарищи, тут не проблемы антивируса решаются. У меня вообще стоит аваст и ему плевать на вирусы.
У меня вообще стоит аваст и ему плевать на вирусы.
Как то... неоднозначно. Может снести его раз так ?
Может стоит реализовать на более жирном мк, а потом уже оптимизировать если прям очень надо в 13 ?
_________________ "Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл / "Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Сейчас этот форум просматривают: metan и гости: 16
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения