БАНо

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

Последнюю, 2,9 прошил, но не работает! Так же аварийка моргает!

Странно… Либо кристалл кривой (как у меня было 😃 ) либо АБ глючный…

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

Попробуйте на своём кристале, может мне нужно пойти и новый купить!

Да уж… Но эт только завтра, сегодня дел по горло 😦 И завтра у меня под руками будут и три сервотестера, и приёмник 😃 Главное - откопал таки в барахле у себя нулёвую 2313, так что есть на чём опыты ставить 😃

V_Alex:

Респект Вам, мужики. Каждый день жду продолжения .

😃 Хоть кто то смотрит, уже приятно 😃 Может доведённый до ума проэкт кому то и пригодится!

V_Alex:

Лучше сперва найти знакомого с любым осциллографом,

Лучше тогда за 50 енотов купить с ебея нормальный карманный осциллограф с памятью, в формфакторе мобильника - и всё сразу на своих местах будет 😃

V_Alex:

Если есть фэйл-сейф, то импульсы будут идти, но с увеличенной синхропаузой между ними.

Да ХЗ, у каждого разработчика дешифратора ППМ в приёмыше своё видение ФС, могут и не менять длину пакета, в общем - как кто видит, так и реализовывают - кЭтай 😃

V_Alex:

При наличии фэйл-сейфа нормально заставить работать аварийку не получится по определению.

Ну почему? Если есть исходники, можно по 2 каналам проверку длинны точнее сделать - и заработает, но это уже тогда каждый под себя подстраивать будет, хотя повесить кнопку (благо ног хватает) и ей в ЕЕПРОМ писать значения при ФС - то же не так много труда, примерно такое я реализовывал в другом (не авиа) проэкте - работает отлично, только после первой записи в ЕЕПРОМ 😃 Но этим точно на досуге займусь, не сейчас… Хотя может это и есть выход в борьбе с аварийкой? Надо покурить и подумать 😃

МаркАнтоний

Взял сегодня на работе осцилограф. Померил канальный импульс, и всё стало на свои места! Период импульсов равен 20 мс. И убедился что на моих приёмниках никакого ФС нет (передатчик выключил, импульсы пропали)!
Видимо поэтому всё становится на свои места. На таймере Т0 нам реализовать не получится, нужен 16-ти битный таймер.

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

На таймере Т0 нам реализовать не получится, нужен 16-ти битный таймер

Извиняюсь, что лезу не изучив вашу прошивку, но пропажу импульсов можно и просто по прерываниям считать (не знаю какие и как у вас настроены), и даже совсем без них, совершенно отдельно от замера длинны импульса, так что на разрядности таймера свет клином не сошёлся 😉

Иван

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

МаркАнтоний

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

Catsw
Иван:

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

Можно и так, на вкус 😃 В реале это экономит код и быстродействие, просто в основном цикле так нельзя делать - там надо изменения фиксировать, поэтому и переменная введена - и перезаписывается она только при завершении нового измерения импульса, до этого она константа.

Иван:

и не совсем понятно - после остановки таймера 0 зачем в его счётный регистр вписывать 220?

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

Иван:

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

Да там в принципе коллизий быть не должно, нарушается основной принцип декодирования ППМа с помощью простейшего счётчика и элемента И.

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

Поборол таки я его! Вроде получилось!

Поздравляю!!!

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

Теперь буду наблюдать, может ещё какой баг появится!

Ну не знаю, уже и так вилизывали, хотя…куда без них 😃

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

Это так сказать для народа, кому интересно как получилось отследить потерю сигнала.

Да уж, оригинально 😃 Инкриментировать Аларм при переполнении… ну что сказать - раз работает, значит и не трогаем! 😃 Можно было частоту тактирования уменьшить, но раз так работает - то так тому и быть!

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

Поборол таки я его! Вроде получилось!

Мои осторожные поздравления 😁

МаркАнтоний

Ну почти работает. Есть ещё такая ошибка: Почему то подмаргивают поворотники, когда ничего не трогаешь. Определённой зависимости нет, моргают когда хотят.

На видео видно. 33-38 секунда видео левый поворотник, 44-48 секунда правый поворотник. Всё остальное время какаято помеха, за исключение начала и конца, там сама аварийка.

Это последняя прошивка что я выкладывал, которая 3_0.
А что самое интересное. Удаляю Настройщик прерываний для переполнения таймера Т0 и эта помеха пропадает, обсалютно нормально работает, возвращаю всё обратно и снова эта помеха появляется.

valera_o

“fara” когда-нибудь включается? Везде в нее помещается “1”…
Вот еще натырка. При входе во все обработчики надо сохранять в стеке регистр sreg, а по выходе - возвращать. Да и r16,r17 неплохо бы в стеке сохранять(АБ это автоматически не делает). Несохранение первого даёт ошибки при сравнении, поскольку могут потеряться биты знаков, переполнеия и т.д., а вторые используются прогой как временные регистры при действиях с 16-ти битными переменными, регистрами ввода-вывода, макросами и т.д., так уж заведено автором АБ.
матчасть будем когда-нибудь учить? 😉

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

“fara” когда-нибудь включается? Везде в нее помещается “1”…

В моей последней прошивке “fara” и “fara1” зажигается и гасится стиком.

valera_o:

Вот еще натырка. При входе во все обработчики надо сохранять в стеке регистр sreg, а по выходе - возвращать. Да и r16,r17 неплохо бы в стеке сохранять(АБ это автоматически не делает). Несохранение первого даёт ошибки при сравнении, поскольку могут потеряться биты знаков, переполнеия и т.д., а вторые используются прогой как временные регистры при действиях с 16-ти битными переменными, регистрами ввода-вывода, макросами и т.д., так уж заведено автором АБ

Буду пробовать. Может поможет!

valera_o:

матчасть будем когда-нибудь учить?

😒

Валерий, попробовал сохронять, но всё равно неправильно работает. “Не выходит чаша каменная” (С)

valera_o

Антон, не нашел где в бит “фара” записывается “0”, почему-то.
отработка по период1 будет только при наличии “период” в пределах нормальных длительностей, т.е. при пропадании сигнала на ноге Д2 будет отрабатываться последняя поступившая длительность импульса, а если длительность сигнала выйдет за пределы 900-2200мкс, на ногу Д3 реакции не будет. Никакой. т.е. прерывание-то будет, но в теле маин действий не будет.
В симе отлично видно, что sreg до входа в обработчик и по выходе из него совершенно разные имеет значения.
Такой вариант.

МаркАнтоний

Валерий, не поверите, делал всё то что сделали и Вы. Ваша прошивка работает, моя нет! Буду разбираться что я неправильно сделал. Как Вы считаете, от того что не в правильной последовательности в стек сохранял и выводил из стека могло не работать?

valera_o:

Антон, не нашел где в бит “фара” записывается “0”, почему-то.

это не столь важно, наверное пропустил. Я же написал что это не окончательная версия.

Огромное спасибо Вам за помощь!!!

valera_o:

отработка по период1 будет только при наличии “период” в пределах нормальных длительностей, т.е. при пропадании сигнала на ноге Д2, или длительность сигнала выйдет за пределы 900-2200мкс, на ногу Д3 реакции не будет. Никакой. т.е. прерывание-то будет, но в теле маин действий не будет.

Это видимо в старых версиях, в 3_0 такого нет. Там в любом слусчае период1 будет сравниваться после период.

Расставил сохранения в стек как у Вас и моя прошивка тоже заработала! Век живи, век учись!

valera_o

Сохранять в стек и выводить надо в последовательности " первый вошел - последний вышел".
Об отработке по период1 говорил на основании 3_0 версии. В 3_1 несколько переделано.
Ну вот и хорошо! 😉

МаркАнтоний

Всем доброго времени суток! Наконец таки у меня дошли руки чтоб дописать прошивку, нарисовать схему и снять видео.
На схеме вроде всё понятно, но если вдруг будут какие вопросы, то с удовольствием отвечу!!!
Работает следующим образом: Канал свет поворачиваем на 1/3 загораются четыре габарита, ещё на 1/3 габариты продолжают гореть и загораются две фары. Гаснет всё в обратном порядке. Канал поворотники: поворотники начинают работать при перемещении стика на 1/2 от центра в право и влево.
Аварийка: При пропадании канальных импульсов Гаснут габариты, фары и начинают моргать все поворотники.

Avto 4_0.rar

МаркАнтоний

Ginta, просто меня попросили сделать огни для авто именно с поворотниками. Поэтому получилось вот так. А расскажите пожалуйста словами, какие огни в какой момент загораются. А то видео очень тёмное и не понятно что Вы крутите и куда нажимаете в какой момент. Буду очень признателен!
А я ведь спрашивал, кто как представляет работу такова устройства, но никто мне ничего не ответил.

Gintas

После включения передатчика, загораются габариты (сзади 2 красных, спереди 2 белые)
Нажать вперёд - дальний свет с задержкой на выключение
Назад/тормоз - стоп сигналы
Руль не реагирует! (канал отсутствует)
Аварыйка включается через некоторое время если канал газа в нейтрали.
Гаснет всё, если передатчик выключить! (для 2.4гц не страшно)
По моему прикольно?

belyay

Всем привет, народ можете помочь. Мне нужен простой бано для авто. Подойдет на Tiny13, на аппе есть переключатель на три положения -120 0 120 вот хотелось что бы, так работало
-120 все по “0”
0 на 5 ноге “1”
120 на 5 и 6 ноге “1”.

Catsw
belyay:

Всем привет, народ можете помочь. Мне нужен простой бано для авто. Подойдет на Tiny13, на аппе есть переключатель на три положения -120 0 120 вот хотелось что бы, так работало
-120 все по “0”
0 на 5 ноге “1”
120 на 5 и 6 ноге “1”.

Пробуйте, сигнал управления подать через резисторы на РВ2 - 7ю ногу.

Avto1.rar

belyay
Catsw:

Пробуйте, сигнал управления подать через резисторы на РВ2 - 7ю ногу.

Огромное С П А С И Б О !!! все работает.