Перейти к содержанию

Преобразование массива в код (Си)


-=FISHER=-

Рекомендуемые сообщения

@Alex @ARV Мне кажется Вы просто не осознали что устройство подключается параллельно штатной проводки авто. То есть входы и выходы это одни и те же провода. Мы сначала ловим 1 на одном входе и туда же посылаем единицу. Чуть позже я выложу красивую картинку и таблицу состояний.

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Только что, -=FISHER=- сказал:

сначала ловим 1 на одном входе и туда же посылаем единицу

Я это осознал. По этому и задался вопросом о ложной автоблокировке.

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Осознать-то я осознал, а понять - не понял :)

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

1 час назад, -=FISHER=- сказал:

Мы сначала ловим 1 на одном входе и туда же посылаем единицу

Дык, это не единица, а питание для лампочек поворотов. И если подрулевой рычаг кратковременно замкнули-разомкнули, то после размыкания питание на лампочки не будет подаваться.

Значит блокирующий транзистор должен иметь собственную линию питания от аккумулятора и обеспечить загорание лампочек в обход рычага. И при этом, должен вырабатывать свою последовательность моргания с какой-то частотой.

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

Если напряжение на линии пропало через 0.2 секунды, значит - кратковременное включение. Тогда заводим внутренний генератор моргания и начинаем блокирующим транзистором моргать правым поворотом, например 3 раза. После переходим в исходное состояние.

Если напряжение на линии длится дольше, чем 0.2 секунды, это означает длительное нажатие рычага, тогда просто игнорим и ничего не делаем, т.к. моргает штатное реле поворотов.

Тоже самое для левого поворота.

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Yurkin2015 сказал:

Если напряжение на линии пропало через 0.2 секунды, значит - кратковременное включение.

Знаете как это будет выглядеть на практике? Будет короткая вспышка, щелчек реле, и только потом начнет реле моргать реле.

1 час назад, Yurkin2015 сказал:

Значит блокирующий транзистор должен иметь собственную линию питания от аккумулятора и обеспечить загорание лампочек в обход рычага. И при этом, должен вырабатывать свою последовательность моргания с какой-то частотой.

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

Изменено пользователем -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, -=FISHER=- сказал:

как это будет выглядеть на практике?

За одну миллисекунду система определит, что напряжение пропало и через следующую миллисекунду включит транзистор для зажигания лампочек. За эти 2мс нить накала даже не успеет остыть, лампочки будут гореть ровно, и никакого моргания не заметите.

Ссылка на комментарий
Поделиться на другие сайты

@Alex @ARV В общем вот таблица состояний, которую я себе представляю.

5a315a2251ca6_.jpg.38d3a56ed2faa622ef58d1128329dde5.jpg

Изменено пользователем -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

5 состояние - не аварийка ли это? Если да, то рассматривать "спасибо" и "задний ход" отдельно смысла нет - тоже отдельные состояния.

Но вообще-то граф состояний делается по действиям, т.е. состояние - это действие. Например: мигание левым - это состояние. Все выключено - это состояние. Мигание обоими - это состояние. Как-то так...

Боюсь, я вас окончательно запутал :blush:

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

16 минут назад, ARV сказал:

Но вообще-то граф состояний делается по действиям, т.е. состояние - это действие. Например: мигание левым - это состояние. Все выключено - это состояние. Мигание обоими - это состояние. Как-то так...

А то что я в таблицу свел, как это можно назвать? Я думал что это все возможные состояния ножек МК в зависимости от изменений состояния подрулевого переключателя и т д

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Только что, -=FISHER=- сказал:

А то что я в таблицу свел, как это можно назвать?

Вспомогательная таблица :)

 

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Только что, ARV сказал:

Вспомогательная таблица :)

Состояние - действие. Это в каком времени чтоли вы имеете ввиду? Ну вот например режим два это вполне себе действие - это моргание поворотником...

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, -=FISHER=- сказал:

Ну вот например режим два это вполне себе действие - это моргание поворотником...

Ага, так и есть - моргание это действие, т.е. состояние. Только в вашей таблице это не действие, а статическое состояние - моргание по вашей таблице состоит из двух строчек - горение и не_горение, т.е. строки 2 и 4

Изменено пользователем ARV

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, ARV сказал:

Ага, так и есть - моргание это действие, т.е. состояние.

Если у меня некая вспомогательная таблица, а не граф состояний. Могли бы Вы привести наиболее яркий пример графа состояний, таким какой он должен быть? То есть что мне нужно составить.

Изменено пользователем -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

5a315da58ba00_Untitled8.jpg.b2823218e797c539c71b3b51a298199a.jpg

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

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Каждый кружочек-состояние - это отдельный case в switch, причем каждое состояние тоже в свою очередь может иметь свой граф внутренних состояний со своим switch-ем...

Каждая стрелочка - это оператор присваивания нового значения переменной состояния. Надпись над стрелочкой - if или аналогичный оператор выбора...

как-то так

 

Изменено пользователем ARV

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Как-нибудь так, что-ли...

2017-12-13_20-11-44.thumb.png.03acb4da38e75de2fb70860e9f0b516c.png
Чтобы было понятно, какое было состояние, какое произошло событие и что делаем по этому событию.

Нарисовав такую таблицу состояний, будет уже намного проще составить по ней программу. Нужно будет только сделать регистратор событий и их обработку.
Программа превратится всего в пару десятков строк кода.

Ссылка на комментарий
Поделиться на другие сайты

В 13.12.2017 в 19:25, -=FISHER=- сказал:

вот таблица состояний, которую я себе представляю

Вобщем, этот сигнал СОМ и даром не нужно учитывать в таблице, это просто питание на лампочки.

Всё просто. Добавляем пару транзисторов, которые управляются с помощью двух выходов процессора. Ещё два входа используем для наблюдения за напряжениями на левых и правых лампочках.

Про алгоритм я уже писал. Во время работы, если появился короткий импульс с какой-то стороны - включаем нужный транзистор, который шунтирует переключатель на 3 вспышки, и потом отпускает. Количество вспышек считаем по тем же линиям.

Изменено пользователем Alex
Ссылка на комментарий
Поделиться на другие сайты

4 минуты назад, Yurkin2015 сказал:

Количество вспышек считаем по тем же линиям.

Если считать количество вспышек по сигналу СОМ, то можно реализовать именно тот алгоритм, который и был задуман: если рычаг переключателя возвращен в нейтральное положение до первой вспышки, то делать ТРИ вспышки, а если после хотя бы одной вспышки, то уже не делать...

@Yurkin2015 , вот что значит нормально нарисованная схема - как-то и алгоритм сразу стал ясен... Плюс вам.

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

18 часов назад, ARV сказал:

если рычаг переключателя возвращен в нейтральное положение до первой вспышки

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

18 часов назад, ARV сказал:

вот что значит нормально нарисованная схема

Схема действительно красивая и лаконичная, но ведь по ней не получится моргать поворотником МЕНЬШЕ запрограммированного, или я ошибаюсь?

@ARV @Yurkin2015 @Alex Простите что немногословен, весь день в разъездах никак не могу добраться до компьютера больше чем на 5 минут.

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Мне кажется, что пока вы не изолируете исполнительную часть (реле поворотников) от переключателя, таким образом включив МК с обвязкой в разрыв, ничего толкового у вас не выйдет. Т.е. команды с переключателя должны идти ТОЛЬКО на МК, а тот в свою очередь уже будет исполнять все ваши задумки, дергая исполнительное реле.

Кусок схемы авто, относящийся к поворотникам и аварийке, можете выложить?

Изменено пользователем Zhuk72
Ссылка на комментарий
Поделиться на другие сайты

44 минуты назад, -=FISHER=- сказал:

МЕНЬШЕ запрограммированного

Если самый первый импульс длиннее 0.2сек, то контроллер считает, что нажатие длинное и игнорирует всю последовательность, т. е. не включает транзисторы совсем,  и всё управление от штатного реле. Можете хоть один раз моргнуть, хоть два. 

Ссылка на комментарий
Поделиться на другие сайты

0.2 сек - это мало. Даже кнопку тяжело щёлкнуть пальцем с такой скоростью, не говоря уж о переключении  рычага туда-сюда.
Хотя, все эти временные рамки подбираются уже на реальном устройстве.

Ссылка на комментарий
Поделиться на другие сайты

 

2 часа назад, Alex сказал:

уже на реальном устройстве

 

Тут такое дело, вносить изменения в систему сигнализации автомобиля запрещено. И это - правильно.

Вот, летит Фишер по главной, впереди перекрёсток со второстепенной, там стоит авто и ждёт, пока Фишер проедет. А тут проц возьми и глюкни - включил правый поворотник сам по себе, типа, помеху словил и среагировал. Ну, и что, тот водитель на второстепенной подумает, что Фишер поворачивать собрался, и на-тебе, выезжает на перекрёсток. А Фишер и не думал поворачивать, это процессор так решил. И влетает Фишер со всей дури в бок этому второстепенному. И что имеем? Ребёнок на заднем сиденье травмирован, Фишеру - срок за самоделку, а нам всем - несмываемый позор до конца дней ...

Давайте, уж, так. С "преобразованием массива в код (Си)" разобрались, и - хорош на этом. Только в учебных целях. А Фишера отговорим от этого проекта. Лучше, вон, пусть новогоднюю гирлянду сделает ...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...