Ламповый спидометр на ИН-8Б

Обсуждаем электронику на колесах. Нужен увлажнитель воздуха для Камаза? Вам сюда.
Ответить
Открыл глаза
Сообщения: 66
Зарегистрирован: Чт авг 28, 2014 11:04:25

Сообщение Autosteam »

uldemir я посоветовался с человеком который мне набор на часы отправлял, он сказал что визуальные ефекты что на них есть (их там 3 разных) сделаны програмно, вот
Спойлер
[9:20:35] Autosave: евгений, здравствуйте. мне нужна ваша помощь, подскажите, как вы сделали плавное зажигание и затухание ламп в часах? мне сейчас помогат сделать спидометр на лампах и есть немного проблем с етим. вы б мне очень помогли если б обьяснили кратко как такой ефект сделали.
[9:20:49] Autosave: http://radiokot.ru/forum/viewtopic.php? ... 5#p2117775 вот тут темка обсуждается моя
[9:58:00] Евгений Сергеевич: Здравствуйте
К сожалению я тут не силен.
Я Я занимался только частью железа, программу мне писали.
[9:58:34] Autosave: тоесть там програмно записанны все еффекты?
[9:58:47] Евгений Сергеевич: Ну да =)
[9:59:33] Евгений Сергеевич: Вообще плавная смена, это шимировнаие высокго.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7372
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

Да знаю я! Просто не люблю, когда всё пытаются делать программно, хотя в микроконтроллерах теперь столько периферии запихивают, что там можно столько всего наворотить! А большинство этим не пользуется. Даже и пытаются. А еще и не используют прерывания. Стоит мне увидеть в каким исходнике в выводе на индикатор цепочку delay_ms(10); как меня сразу блевать тянет. И не забудьте, вам еще и скорость мерить надо.

p.s. У вас на клавиатуре отсутствует буква "э"? Одолжите у Остапа Бендера, у него, как помню, на печатной машинке не было "е", зато "э" была.
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк

Сообщение RoboC »

Если есть проблема написать кусок с дин индикацией,я бы присоветовал не обострять внимание на плавной смене, а заняться собственно дин.индикацией и расчетом скорости . Марафетить можно и потом...
Не понятно что там не получается?
В обработчике программы Вы ставите флаг что сработало прерывание.
В основной программе анализируете флаг:
при 1 срабатывании зажигаете 1 лампу, сбрасываете флаг, при втором -гасите ее сбрасываете флаг
при следующем зажигаете следующую лампу и так по кругу для 3 ламп:) .

Можете подсмотреть исходник в этих часах.
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7372
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

А зачем опрашивать флаг? Почему нельзя сразу по факту прерывания - вывалиться в прерывание, сделать дело и вернуться обратно в программу заниматься основным делом?
Вот мой обработчик из последнего проекта. Правда у меня анодные ключи управлялись через сдвиговый регистр (у меня копыт не хватало), причем загрузка этого регистра делалась тоже аппаратно (строчки связанные с USISR, USICNT). Опять же загрузка делалась для следующего цикла. Так сказать предзагрузка.

Код: Выделить всё

__interrupt void nextscan (void) {
  switch (__even_in_range(TAIV, 10)) {
  case TA0IV_NONE:
    break;

  case TA0IV_TAIFG: // TAIFG
    // управление дисплеем.
      P2OUT = videobuffer[vpos];

      TA0CCR2 = pwm_tab[(videobright[vpos])];
      P1OUT_LOAD = 1; // строб записи из сдвигового регистра.
      P1OUT_LOAD = 0;
      
      if (vpos++>10) vpos = 0;
      
      USISR  = gridsel[vpos];
      USICNT = USI16B | 11;
      break;

  case  TA0IV_TACCR2:
    P2OUT = 0; break;
  default:
      break;
  }
}
А в основном теле, можно крутить данные: что отображать, с какой яркостью.
Реклама
Эиком - электронные компоненты и радиодетали
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

RoboC писал(а):Можете подсмотреть исходник в этих часах.
этот исходник я уже давно приметил, уже разбираюсь с ним :)))
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1795
Зарегистрирован: Ср апр 04, 2012 09:55:53
Откуда: Северодонецк

Сообщение RoboC »

А зачем опрашивать флаг? Почему нельзя сразу по факту прерывания - вывалиться в прерывание,
uldemir, у пиков(как и у АВРов, думаю) вектор прерываний один и нет приоритетов , их можно организовывать в основном цикле=> надо сделать обработку прерывания как можно меньше.
Ели не успеваешь обрабатывать флаги, можно увеличить частоту кристала.
Тем более, им по прерыванию еще ловить импульсы с датчика скорости :)
У того, кто делает — получается редко. У того, кто не делает — не получается никогда.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7372
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

Сообщение uldemir »

У старых пиков - тоже. У приведённого фрагмента от MSP430, прерывание от таймера, тоже одно: там можно разглядеть case, который выбирает обрабатывать переполнение счетчика или событие совпадения с регистром сравнения. Так что никто нигде не опаздывает. Более того, я там кое-что еще и подсократил, чтобы не утомлять: в том же прерывании у меня еще запускается АЦП опрашивающий кнопки, декрементируются счетчики разных задержек и еще куча всего. И проблем с потерей прерывания или какой другой задержкой - нет.

А импульсы с датчика скорости надо ловить тоже аппаратно в другой счетчик, который с некоторым периодом надо считывать (что тоже можно и нужно делать аппаратно - есть же счетчики с capture регистрами) и вычислять скорость. Причем период тоже можно формировать аппаратно. Т.е. если подумать, получается просто и изящно. И совсем не надо страдать программазмом. Конечно, надо присмотреть не любимый микроконтроллер, а тот в котором есть необходимые аппаратные средства.
Открыл глаза
Сообщения: 66
Зарегистрирован: Чт авг 28, 2014 11:04:25

Сообщение Autosteam »

Mishany вам не будет проще если я датчик скорости вам отправлю? его можно подкрутить от дрели или шуруповерта для получения импульсов, возможно будет проще в настройке.
Друг Кота
Аватара пользователя
Сообщения: 44269
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

С датчика скорости идут импульсы с размахом 12 вольт (если я правильно помню)- 6 импульсов за один оборот.. их можно "смоделировать" обыкновенным 555 таймером
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

Небольшое отступление: все автомобильные датчики с электронной начинкой работают по минусу, т.е. у них есть питание 12В либо 5В и выход который подтянут к плюсу резистором как в датчике так и может в эбу, при работе датчика на его выходе появляется минус (земля).
Датчиков мне присылать ни каких не надо, у меня на работе их целая коробка на любой вкус :))) , а импульсы генерировать проще прибором который предназначен для таких целей. ТС, есть возможность установить датчик и посчитать количество импульсов на 1 км? счетчик можно на аттини13 сделать с использованием eeprom с парой кнопок и парой диодов, после замера слить eeprom и посмотреть что там за число... программу написать 5 мин, спаять на проводках навесным мин 15, если датчик будет работать от 5В то вообще замечательно будет.
Последний раз редактировалось Mishany Вс сен 07, 2014 23:02:25, всего редактировалось 1 раз.
Друг Кота
Аватара пользователя
Сообщения: 44269
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Mishany писал(а):. ТС, есть возможность установить датчик и посчитать количество импульсов на 1 км?
Я уже расчёты выкладывал:
Спойлер
Я тут немножко "прикинул"- посчитал, какой сигнал будет приходить от датчика скорости- в общем- если поставить автомобильный датчик скорости- (6 импульсов /оборот) то при скорости 10 км/ч и заданной ТС длине окружности колеса (2145мм) на выходе датчика скорости будет частота 15,4 Гц - при времени измерения 0,6435 секунды на индикацию прямо выведется скорость. Пробег 1 километр будет соответствовать 5594 импульсов.. Конечно, при малой скорости точность измерения будет низкой, но при скорости где- то больше 10 км/ч- вполне приемлемой..
ТС в самом первом сообщении "выдал" исходные данные..
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

а расчеты с учетом давления в колесе, и промятием резины на месте контакта с дорожным покрытием? :)))
Друг Кота
Аватара пользователя
Сообщения: 44269
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Mishany писал(а):а расчеты с учетом давления в колесе,
А ОНО НАДО?- для того, чтобы точно измерять скорость- есть спутниковый GPS или ГЛОНАСС, а при измерении скорости в авто и мото технике точность "плюс- минус километр" - нормальное явление- ни один автомобильный спидометр не показывает скорость ТОЧНО.. - у меня, например, спидометр показывает 80 км/ч, а навигатор- 75... Это как раз и есть РАЗУМНАЯ ДОСТАТОЧНОСТЬ- иначе пользователю придётся тарировать спидометр каждый раз, как он подкачает колесо или сменит резину.. - а как учитвать износ резины?- а он довольно значительный- например, с новой резиной показания спидометра будут точными, а при износе он начнёт завышать показания.. Так что- нет смысла- надо делать расчётные величины, а то, что при недокачанных колёсах или изношенной резине спидометр будет завышать показания- на это не стоит обращать внимания..
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

Еще вопросик к ТС: показания общего пробега не нада? только суточный? И как программа должна это понимать?
если суточный тогда он должен сбрасываться, вот только чем или кем? Геркон в корпус и магнитиком?
Друг Кота
Аватара пользователя
Сообщения: 44269
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Mishany писал(а):показания общего пробега не нада? только суточный? И как программа должна это понимать?
если суточный тогда он должен сбрасываться, вот только чем или кем?
Ну, ТС писал, что ОБЩИЙ пробег ему не нужен, а только суточный.. Ещё он собирался ставить какой- то "БОЛЬШОЙ ТУМБЛЕР" :))) в одном положении которого показывалась скорость, в другом- ПРОБЕГ.. В принципе, можно сделать так, что при положении тумблера "пробег" при выключении (или при включении) зажигания счётчик пробега обнулялся, а в положении "скорость"- не обнулялся..
Электрический кот
Аватара пользователя
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Сообщение Mishany »

Во вторник буду пробовать запустить на железе динамическую индикацию с плавной сменой циферок :)))
Еще просьба к ТС если уже есть датчик уровня топлива, замерить сопротивление датчика от пустого до полного бака с градацией в 1 литр.
Друг Кота
Аватара пользователя
Сообщения: 44269
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Mishany писал(а):Еще просьба к ТС если уже есть датчик уровня топлива, замерить сопротивление датчика от пустого до полного бака с градацией в 1 литр.
Не советую к такой точности стремиться- надо мерить в "полбаках"- как в автомобиле.. :))) И, судя по всему- ТС будет использовать датчик от автомобиля.. Скажем, от наших- они практически однотипные, основная разница в длине поплавка.. Вообще ТС, по- моему, больше всего подойдёт УАЗ- овский или Волговский/газовский датчик- типа такого: http://www.konsulavto.ru/cat/avtozapcha ... avtopribor (есть и более "длинные" варианты..)
As
Модератор
Аватара пользователя
Сообщения: 46773
Зарегистрирован: Пт янв 23, 2009 19:20:05

Сообщение As »

Для спидометра было бы интереснее считать не частоту импульсов с датчика, а период их повторения, меньше будет период обновления информации... И нужно небольшое усреднение показаний за некоторый период - что бы "стрелка не скакала"... :))
Открыл глаза
Сообщения: 66
Зарегистрирован: Чт авг 28, 2014 11:04:25

Сообщение Autosteam »

Mishany да, АлександрЛ все более менее правильно расписал. на деле у меня посчитать данные не получится, движок разобран до винтика и готовится к пескострую и координатно расточным работам :facepalm: и работы по нему если честно очень много, движок старый, будет много механических доработок по нему, плюс надо менять поршня с кольцами и все клапана и гнезда на них растачивать а-то ржавчиной взяло... ну в общем до зимы думаю управится.

Если можно то обнуление датчика сделать от нажатия кнопки, я выведу себе маленькую кнопочку гдето в незаметном месте под баком. Мот я для себя делаю, и исходя из алгоритма моих типичных действий - суточный пробег я использую скорее чтоб знать расход топлива на километраж или расстояние по городу от точки а до точки б и среднюю скорость с которой я перемещаюсь. как одометр - пользусь редко, только в дальних поездках
Друг Кота
Аватара пользователя
Сообщения: 44269
Зарегистрирован: Пн ноя 30, 2009 03:00:01
Откуда: Нерезиновая

Сообщение АлександрЛ »

Я же уже писал- на какие "константы" нужно опираться-
Спойлер
при скорости 10 км/ч и заданной ТС длине окружности колеса (2145мм) на выходе датчика скорости будет частота 15,4 Гц - при времени измерения 0,6435 секунды на индикацию прямо выведется скорость. Пробег 1 километр будет соответствовать 5594 импульсов..
То есть- берёте программу от какого- нибудь примитивного частотомера, только период счёта делаете- 643,5 Миллисекунды (644), а пробег- считатете же импульсы- как только насчитается 5594 - в счётчик пробега прибавляется единица..
Ответить

Вернуться в «АвтоМотоВело»