БАНо

МаркАнтоний

Валерий. Проверил два Ваших варианта. оба не работают!😦

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

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

Валерий. Проверил два Ваших варианта. оба не работают!

Гляньте мой, если не трудно, самому интересно!!!
rcopen.com/forum/f8/topic144500/228

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

Гляньте мой, если не трудно, самому интересно!!!
rcopen.com/forum/f8/topic144500/228

Андрей, работает и без бага. Спасибо за помощь! Буду чистить.

Только в Вашем проекте прерывания с обоих каналов работают на поворотники. А так всё замечательно!

valera_o

Работает? Ну и славненько! 😉
Попробовал в железе. Работает мой сегодняшний вариант от 15.55 и вариант Андрея, но подача сигнала на В0 и В1 подвешивает прогу Андрея.

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

Андрей, работает и без бага. Спасибо за помощь! Буду чистить.

Рад что удалось помочь!!! В свое время (тогда с БАНО) наигрался и таймерами и прерываниями по самое… горло 😃 Хотя должен признать, что использовал идеи Валерия частично - просто взял в теме последнее, что было:)

А что почистить надо? Или вы про код?

valera_o:

Работает? Ну и славненько!

Ага, общими усилиями добили таки 😃

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

А что почистить надо? Или вы про код?

Ну да, хочу добавить ещё несколько режимов! Надо Прописать режимы включения фар. И добавить типа “аварийки” когда сигнал приёмника пропадает, только пока нет никаких мыслей по этому поводу!

А ещё может кто сможет объяснить как работают магазинные блоки света что народ на машинки покупает. Которые работают от канала газа и поворота. Там же вроде и стопы загараются. Может кто в курсе?

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

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

Ну да, хочу добавить ещё несколько режимов!

Опишите их здесь или в личке, сейчас гости, ночью или с утра посижу, потренирую свой ЦПУ 😃

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

И добавить типа “аварийки” когда сигнал приёмника пропадает, только пока нет никаких мыслей по этому поводу!

Это у меня реализовано, так что перенесу в ваш проэкт, не вопрос!

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

Опишите их здесь или в личке, сейчас гости, ночью или с утра посижу, потренирую свой ЦПУ

С режимами фар и всем таким я и сам разберусь.

Catsw:

Это у меня реализовано, так что перенесу в ваш проэкт, не вопрос!

Я пока не придумал как реализовать детектирование потери канального импульса. Может подскажите? Буду примного благодарен!!!

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

Я пока не придумал как реализовать детектирование потери канального импульса. Может подскажите? Буду примного благодарен!!!

Блин, проще перенести, чем описать 😃 Она у меня тут есть, в последней версии, возьмите оттуда. Или выложите свою, я туда её имплантирую:)

Реализация: при прерывании запускается второй таймер, с бОльшим коэф деления, и при каждом следующем прерывании его регистр обнуляется, а при переполнении срабатывает на индикацию “аварийного” состояния. Можно не заморачиватся с переполнением, а в “Майне” проверять его значение, при заведомо бОльшем = стоп таймера и индикация, первый же импульс ППМ вызовет прерывание, которое регистр таймера опять обнулит и запустит таймер снова.

Catsw

Ну вот, гости ушли, пиво осталось 😃 Под пиво оно как то всё и написалось 😃 Выкладываю законченный вариант, логика должна соответствовать вашему посту rcopen.com/forum/f8/topic144500/216

На выводы порта Д4 и Д5 вывел соответственно “габариты” и “фары”, длительности там подправите под свои нужды, можете на другие выводы привязать, и логику вкл/выкл всего проверить. Аварийка то же работает, по крайней мере в симуляторе, в общем - прошейте в железо и проверьте, если в 2 ночи косяков не оставил - должно работать…

Авто2_2.rar

МаркАнтоний

Мысль конечно хорошая. Прошил Вашу прошивку. Аварийка моргает сразу. Включаешь поворотник, он начинает моргать, аварийка не работает. Крутишь ручку свет, он включается, но аварийка моргат.
Видимо таймера Т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 милисекунды