Измерение скорости автомобиля по штатному датчику

Обсуждаем контроллеры компании Atmel.
Ответить
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Понятно,но откуда 88888 до запятой? мистика!
Реклама
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

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

 while (1) 
    {
		ignition_check();// Проверяем замок зажигания
		
		if (ignit && !ign_tmp )// Если включили зажигание, делаем однократные манипуляции
		{
                      probeg=EEPROM_float_read(16);// Читаем из EEPROM записанный последний раз пробег с адреса 16
                     ign_tmp=1;	
                 }

if (!ignit && ign_tmp) // Если выключили зажигание
		{
                                                   // Записываем накопленный пробег в EEPROM. Запись будем производить по выключению 
			                              // зажигания, чтобы не насиловать ресурс EEPROM
			EEPROM_float_write(16, probeg);
                   ign_tmp=0;
                 }
}
Добавлено after 1 minute 1 second:
int main(void)
{
EEPROM_float_write(16,888888.0);
}

Добавлено after 1 minute 15 seconds:
Я в майне пишу 888888. Однократно. Это не суть. С момента включения зажигания в процессе езды оно должно меняться.
Реклама
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

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

хм... есть риск много потерять. Лучше тогда по таймеру, раз в сколько-то минут и сколько-то тысяч импульсов. Ресурс EEPROM сложно изнасиловать, во-первых, надо разбросать равномерно по ячейкам, во-вторых, он большой обычно. Очень. В даташитах гарантированное число циклов, а фактически может быть ещё больше.
Последний раз редактировалось Martian Пн сен 04, 2023 18:31:31, всего редактировалось 1 раз.
Контактная информация:
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

Это отладочный режим. Но пока включено зажигание, все должно инкрементироваться и отображаться. После выключения опять все заново.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

А потом помеха прилетела, через 500 км пробега, перезагрузка и ага....
Контактная информация:
Реклама
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

Питание всегда, зажигание отдельный вход. При пропадании основного питания уже ничего не не поможет. Ну это моя логика... Я ж не программист.
Реклама
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

я немного неправильно выразился...
сделать временно так-

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

ISR(INT0_vect)
{
   // 1000/imp - это расстояние, пройденное за 1 импульс в метрах. 1000 метров/на 4073 импульса =0,24551 метра за 1 импульс.
   cnt_pobeg++; // счетчик пришедших спадов
   probeg=probeg+1; // увеличиваем пробег с каждым импульсом (в км)
   
}
и проехав километр посмотреть сколько натикало,без всяких еепромов,пересчетов в километры и т д,надо понять точно ли 4073 импульса на километр
других вариантов не вижу... (зачем сразу в лоб, не разобравшись, приписывать восьмерки ,читать писать в еепром?)
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

Я понял. Сначала, по ошибке я инкрементировал на 0.245... Т.е у меня считало каждый пульс +0ю245 км. И оно работало. Но потом я понял, что тупанул, и умножил это 0ю245 на 0.001. Ну типа пробег же к км, ну и буду к нему с каждым пульсом прибавлять в км. И фиаско меня постигло)))

Добавлено after 3 minutes 25 seconds:
Восьмерки писал, т.к. была не стандартная spirntf функция, а суррогатная для экономии памяти. И она криво выводила числа от 333333 и выше. Потом применил sprintf и для проверки вбил 888888 и так и оставил

Добавлено after 1 minute:
Завтра сделаю +1 и проверю.

Добавлено after 2 minutes 56 seconds:
У меня по пробегу все в отладке, поэтому просто вывожу то, что легко запомнить изначально. И смотреть изменения. Можно хоть 000000 вывести. Не принципиально.

Добавлено after 2 minutes 44 seconds:
Возможно дело в том, что приоритет внешнего прерывания выше приоритета прерывания таймера. И пока оно дождется своей обработки, счетчик импульсов натикает лишнего. Просто предположение.
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

[uquote="a_b_r_a",url="/forum/viewtopic.php?p=4472832#p4472832"]Я ж не программист.[/uquote] А тут не программирование как раз, а разработка электроники для автомобиля. Автомобиль - источник помех, и это надо учитывать. Устройство, спроектированное без учёта всяких автомобильных бяк, может не только перегрузиться внезапно, но и вообще крякнуться. Вот что может твориться в автомобиле:
Изображение
https://www.diodes.com/design/support/t ... utomotive/

Но даже после того, как Вы спроектируете надёжную схему, всё равно есть риск, что что-то пойдёт не так. Сработает ватчдог и ага, километраж потерян. Ценная информация должна сохраняться максимально часто.
Контактная информация:
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

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

Добавлено after 5 minutes 19 seconds:
Может быть вы не в курсе, но были такие магнитолы на ауди. Концерты, симфони. Так вот там для удобства юзера настройки громкости, тембра и др. сохранялись в еепром проца моторолла при каждом изменении. Чтобы скинув и накинув клемму акб ничего не терялось. И память эта дохла лет через 8 или раньше. Как ручки часто крутить. Не думаю, что с тех пор что-то координально с еепром изменилось независимо от камня.

Добавлено after 1 minute 10 seconds:
Тем более на атмеге, почти ровеснику этой мотороллы
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Изображение
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

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

Добавлено after 6 minutes 46 seconds:
Вы просто поймите, что пробег - это не самое важное. Важное в моменте - это обороты, температура, напряжение и т.д. Ошибки наверно. Проект начат из-за отсутствия тахометра на панели приборов. Вместо него огромные куранты) Ну и как следствие - аппетит приходит во время еды))). Захотелось большего. Как говорится: у самурая нет цели, есть только путь)).
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

Ну, ни кто ж не знает, что важно... ТЗ известно только Вам.
Контактная информация:
Поставщик валерьянки для Кота
Сообщения: 1916
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

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

... Может быть вы не в курсе, но были такие магнитолы на ауди. Концерты, симфони. Так вот там для удобства юзера настройки громкости, тембра и др. ...
a_b_r_a, не путайте устройства и их способы записи. Есть устройства с записью 1М до 10М, есть с High Endurance 10^12 .. 10^14 Read/Writes, а ваше устройство 100k. В действительности оно может быть в несколько раз больше, в зависимости от температуры и питания. В машине он будет близок к заявленному значению. Просто измените способ и/или место для сохранения данных. В контроллере 328? EEPROM не предназначен для лог.

Ввидел устройства с поврежденным ЕЕПРОМ. Хорошо, что они носят лишь информационный характер, а не для принятие решений о посл. действия.
Последний раз редактировалось veso74 Пн сен 04, 2023 19:40:07, всего редактировалось 1 раз.
Контактная информация:
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

А бортовик получается хороший,мне понравилось!
(только дисплей метковат,и в темное время суток будет ослеплять,туда бы GMG12864,но автор-барин)
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

[uquote="a_b_r_a",url="/forum/viewtopic.php?p=4472861#p4472861"]И память эта дохла лет через 8 или раньше. Как ручки часто крутить. Не думаю, что с тех пор что-то координально с еепром изменилось независимо от камня.[/uquote] Очень сильно изменилось. И потом, эту магнитолу могли с ошибкой сделать, там тоже люди. Писали в один адрес и каждое прерывание, а не через 5 секунд после последнего изменения и привет - одну ячейку износили, а вся остальная память цела... И 8 лет - это очень большой срок службы, больше срока современного авто.
Но, давайте посчитаем:
Имеем самую плохонькую ЕЕ, 100 тыщ циклов. Предположим, что она маленькая и забита полностью, то есть, мы не можем сделать запись по кругу, равномерно изнашивая ячейки и требуется эксплуатация в течение 10 лет.:
10 тысяч циклов в год или 27 циклов в день или один раз каждые 53 минуты. Маловероятно, что автомобиль эксплуатируется круглосуточно 365 дней в году, полагаю, можно смело поделить на два.
Итого: в самом худшем варианте можно смело записывать каждые 26 минут. Если места в еепромке хватит, чтобы записать в 26 раз больше информации, то можно записывать раз в минуту.
Последний раз редактировалось Martian Пн сен 04, 2023 19:43:27, всего редактировалось 1 раз.
Контактная информация:
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

Ок. На текущий момент мне важно реальные показания текущей скорости автомобиля для получения данных о расходе топлива на 100 км пути. Как побочка, если я знаю путь, хочу его тоже вывести. Суммарный. Далее хочу сделать типа подменю, такое, теневое. Где каждый новый обладатель(сборщик, юзер, кто угодно) может вбить свои показания на приборках имп.км, производительность форсунки моновпрыска, зафиксировать мин бака, макс бака, узнать его вместительность. Забить текущий пробег на одометре в память еепром и много чего...) И все используя одну кнопку. ))) Вот так хочу

Добавлено after 1 minute 59 seconds:
[uquote="Novice user",url="/forum/viewtopic.php?p=4472897#p4472897"]А бортовик получается хороший,мне понравилось!
(только дисплей метковат,и в темное время суток будет ослеплять,туда бы GMG12864,но автор-барин)[/uquote]
Спасибо. Не знаю, можно ли сейчас цитировать. Меня последний раз Старичок за это банил.

Добавлено after 2 minutes 22 seconds:
Да, мелковат. Но его можно встроить в приборку. Красно-морковный светофильтр и датчик освещенности думаю помогут сделать аля- родной))
Друг Кота
Сообщения: 12867
Зарегистрирован: Сб дек 18, 2021 19:25:32

Сообщение Martian »

Цитировать можно, нельзя лишь полностью, оставляется только суть. Вот так:
a_b_r_a писал(а):можно ли сейчас цитировать
Контактная информация:
Открыл глаза
Сообщения: 57
Зарегистрирован: Ср янв 27, 2010 21:53:52

Сообщение a_b_r_a »

Ок, спасибо. Понял.
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Сообщение Novice user »

Я так понял у вас там атмега и дисплей SSD1306,их можно в сон уводить,у меня часики атмега+SSD1306+DS3231 во время сна менее 10 мкА потребляют (нажал кнопоку-включились часы,через 3 секунды снова уходят в сон)
Ответить

Вернуться в «AVR»