БАНо

МаркАнтоний

Мысль конечно хорошая. Прошил Вашу прошивку. Аварийка моргает сразу. Включаешь поворотник, он начинает моргать, аварийка не работает. Крутишь ручку свет, он включается, но аварийка моргат.
Видимо таймера Т0 не хватает для этих целей.

Catsw
МаркАнтоний:

Мысль конечно хорошая. Прошил Вашу прошивку. Аварийка моргает сразу. Включаешь поворотник, он начинает моргать, аварийка не работает. Крутишь ручку свет, он включается, но аварийка моргат.
Видимо таймера Т0 не хватает для этих целей.

Всё должно хватать… Странно… Попробуйте подать питание без ППМ, ничего не должно включится… Через часик смогу внимательно просмотреть ещё раз, опишите, где что не так, исправлю, не вопрос!

Catsw

Новая версия… Постарайтесь описать, что именно не так сработало…😃

Авто2_3.rar

Catsw
Catsw:

Новая версия…

Дежавю…

Исправил глюк со светом, проверил ещё раз работу таймера аварийки - ЛЮБОЙ импульс, приходящий на ЛЮБОЙ вход, его сбрасывает!

Версия 2.5 - переделал логику таймера аварийки, теперь он более “правильно” работает, может сбои были из за его переполнения, хотя оно в принципе не могло быть достигнуто, но теперь для гарантии таймер останавливается при пропадании сигналов на входах, включает аварийку и не запустится до их следующего появления.

Предыдущая версия (2.4) оставлена то же, мало ли что 😃

Avto2_4.rarAvto2_5.rar

МаркАнтоний

Андрей, спасибо за Ваши старания!!! Вчера плохо себя чувствовал, ничего не делал. Пробовать буду сегодня.

Catsw
МаркАнтоний:

Андрей, спасибо за Ваши старания!!!

Не за что, рад помочь, чем могу 😃

МаркАнтоний:

Вчера плохо себя чувствовал, ничего не делал

Надеюсь ничего серьёзного…

МаркАнтоний:

Пробовать буду сегодня.

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

МаркАнтоний

Андрей, не работает. Я уже не знаю что делать! А Вы на тини 24 не можите попробовать этот принцип?

Вот видео как не работает.

Я вот что думаю. Переполнеие таймера Т0 происходт через 32 милисекуеды. Частота канальных импульсов 20 милисекунд. Получается что от конца импульса по каналу 1 до начала импульса по каналу 2 пройдёт минимум 18 милисекунд. А я использую 1 и 3 каналы. Это уже получается 38 милисекунд. А всего у меня в приёмнике 6 каналов. И получается что между концом импульса по 3 каналу и началом по 1 каналу пройдёт уже 78 милисекунд. Если я всё правильно понимаю и не ошибаюсь в цифрах. Может именно в этом и есть проблема?

Catsw
МаркАнтоний:

Может именно в этом и есть проблема?

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

Или просто в МАИН вырежете первое условие - аварийки, что бы здесь не выкладывать ХЗ что 😃

Да не в этом проблема - длительность ППМ 20…22мс, не должен он доходить до 32х, разве что прерывание не чётко отрабатывают - проверьте пожалуйста от 3х вольт питания, может ему "1"цы не хватает? И тогда можете ещё “фюзами” поставить не 8мь, а 4ре Мгца тактовой, тогда все значения по таймерам уменьшаться вдвое, только коэффициенты по основному таймеру подправить надо будет…

МаркАнтоний:

Частота канальных импульсов 20 милисекунд.

Нет, это частота ВСЕГО (8мь каналов) пакета ППМ - т.е. за 20мс проходят импульсы по всем каналам.

Иван

всем доброго времени суток, есть предположение - что приёмник выдаёт синхронно импульсы на каналы… тогда много чего будет не так как хочется.
плюс для подсчёта длительности управляющего импульса я бы использовал по таймеру.
реализовать алгоритм определения потери сигнала приёмником, думаю, надо как то на базе файл сейфа(если не ошибаюсь а у Антона умный приёмник приёмник? и при потере передатчика выдаёт предустановленные управляющие сигналы?)
вот такие мысли по поводу:)

МаркАнтоний
Catsw:

Блин, сейчас подумаю… Давайте сброшу без аварийки, проверите работу 2х каналов, а я аварийкой пока займусь, ок? Или просто в МАИН вырежете первое условие - аварийки, что бы здесь не выкладывать ХЗ что

Два канала обрабатываются нормально, когда аварийку отключаю. Это я делал.

Catsw:

Нет, это частота ВСЕГО (8мь каналов) пакета ППМ - т.е. за 20мс проходят импульсы по всем каналам.

А я думал что именно частота канального импульса 20 милисекунд а длительность максимум 2,2 милисекунды

Catsw
Иван:

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

Интересная мысль, но дело то в том, что таймер аварийки должен сбрасываться на ноль при любом импульсе на любом входе, если за 32 мс импульсов нет - тогда БЕДА 😃 а она у него мигает постоянно… Либо я накосячил жутко, либо симулятор врёт…

МаркАнтоний
Иван:

если не ошибаюсь а у Антона умный приёмник приёмник? и при потере передатчика выдаёт предустановленные управляющие сигналы?

Да нет вроде. Обычный приёмник. Это от аппаратуры E_sky 2.4Ггц А пульт я переделывал в цыфровой. Поэтому я не уверен что в нем есть файл сайф. И если чесно, то я не знаю что это такое.

Catsw:

Либо я накосячил жутко, либо симулятор врёт…

Андрей, нет, в симуляторе всё нормально работает, я сам смотрел. А в железе касяк какойто. И мне остаётся думать, что частота каждого из каналов 20милисекудн. Другово ответа нет.

Catsw
МаркАнтоний:

И мне остаётся думать, что частота каждого из каналов 20милисекудн. Другово ответа нет.

Не может быть… Ну измените фюзы на деление на 4ре, и удвойте ваши сравнения по “рабочему” таймеру, но мне кажется, что не все сигналы на входах вызывают срабатывание прерывания, при использовании 16ти битного таймера там есть грабли. Попробуйте аварийку вообще отключить, проверьте логику, и тогда бум знать от чего плясать. Если не пойдёт - завтра не поленюсь раскопать/найти 2313 и проверить всё в живую в железе…

Иван

2,4 это уже серьёзно, уверен на 99% что потерю сигнала просто по переполнению не поймать.
нужно простонькое написать что-то, чтобы удостовериться в том что железо видит сигнал с приёмыша и адекватно отрабатывает прервание.

МаркАнтоний
Catsw:

Попробуйте аварийку вообще отключить, проверьте логику, и тогда бум знать от чего плясать

Я же уже писал. Что без аварийки всё работает!

Например вот. Полностью правильно работает на два канала. Только когда аварийку начинаешь вводить, ерунда твориться!

Рабочая без аварийки.rar

Catsw
МаркАнтоний:

Я же уже писал. Что без аварийки всё работает!

Ок, беру тайм аут до завтра, завтра со свежей головой покапаю… Просто так таймер дальше не отодвинешь, НО - в моём проэкте БАНО аварийка включалась только при пропадании сигнала, НИКОГДА раньше не включалась… Бум копать, завтра расскажу…

Catsw

Изменил логику работы таймера аварийки, теперь он так же останавливается и стартует от прерываний, а не просто обнуляется, опять таки, в симуляторе всё идеально, проверьте в железе…
П.С. Проверьте так же работу 2313 от 3х вольт питания, по возможности посмотрите осциллографом размах (а заодно и период увидите) канального импульса.

LostSignal2_7.rar

МаркАнтоний
Catsw:

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

Прошил. Приёмник подключён, аппаратура выключена: ничего не горит. Аппаратуру включил, приёмник поймал сигнал: заморгала аварийка и одна из фар(зависит от положения стика). Аппаратуру выключил: фара горит постоянно, аварийка продолжает моргать. А Вы не сможите на каком нибудь своём кристале в железе попробовать? Может это у меня приёмник какойнить кривой?

Catsw:

П.С. Проверьте так же работу 2313 от 3х вольт питания, по возможности посмотрите осциллографом размах (а заодно и период увидите) канального импульса.

От ртёх вольт работает точно так же. Только яркость свечения упала, ну это правильно. Померить нет возможности.

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

Catsw
МаркАнтоний:

Прошил. Приёмник подключён, аппаратура выключена: ничего не горит.

Логично.

МаркАнтоний:

Аппаратуру включил, приёмник поймал сигнал: заморгала аварийка и одна из фар(зависит от положения стика)

Аварийка… Очень странно, у меня 90% уверенность, что по какой то причине кристалл НЕ обрабатывает все приходящие прерывания. Было у меня такое как то, причину так и не нашёл, ИМХО либо глюк АБ, либо что то с кристаллом не так…
Сейчас гляну, фары одна за другой должны включатся, или по очереди?

МаркАнтоний:

А Вы не сможите на каком нибудь своём кристале в железе попробовать? Может это у меня приёмник какойнить кривой?

Ок, после обеда буду искать, вроде где то должна валятся 2313.

МаркАнтоний:

От ртёх вольт работает точно так же. Только яркость свечения упала, ну это правильно.

Значит проблема не в уровне сигнала…

МаркАнтоний:

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

Дык вот, проблема есс-но с прерываниями, ХЗ почему в железе они по другому работают, искал в инете - ничего подобного не нашёл…

МаркАнтоний:

А ещё пока моргает один из поворотников, аварийка не работает, как только стик поворотников оказывается в среденм положении начинает моргать аварийка.

Тем более удивительно, она проверяется первой, и если таймер её сработал - то только она и будет мигать, что бы вывести её из этого состояния, нужно прерывание, а оно почему то не проходит 😦

МаркАнтоний

Андрей, если нет тини 2313 то может на 24 попробуете?

А ещё такой вопрос: Резисторы нужно припаивать на входы D.3 D.2 или можно напрямую провода из приёмника припаять? У меня напрямую.

Catsw
МаркАнтоний:

Андрей, если нет тини 2313 то может на 24 попробуете?

Не вопрос, просто сейчас на пару часов по работе надо отвлечься…

МаркАнтоний:

Резисторы нужно припаивать на входы D.3 D.2 или можно напрямую провода из приёмника припаять? У меня напрямую.

Кстати, вообще то как раз нужно…

Изменил логику работы сигналов, ХЗ, это уже на уровне шаманства 😃 И в отладчике включил два генератора на выводы, увидите, заодно посмотрите на форму ППМ в канале 😃 на аварийке стоит брекпоинт, и в симуляторе туда она не попадает, работает всё идеально… Попробуйте резисторы поставить…

П,С, Сейчас ещё порты гляну, может там шалят…

П.П,С Работа чуть отодвинулась, а с портами лажа, ИМХО тут и покопалась собака! Ща поправим 😃 2,8 пока не ставьте.

Всё, теперь в портах порядок, а то чёр те чё бегало, а симулятор помехи ловить не обучен 😃

LostSignal2_8.rarLostSignal2_9.rar