Например TDA7294

Форум РадиоКот :: Просмотр темы - Цифровой спидометр
Форум РадиоКот
https://radiokot.ru/forum/

Цифровой спидометр
https://radiokot.ru/forum/viewtopic.php?f=25&t=19240
Страница 3 из 35

Автор:  GP1 [ Сб ноя 07, 2009 18:09:04 ]
Заголовок сообщения: 

в си я тебе не помошник :oops:
у меня скорость считается так:
0,6 сек = 600000 мкс
в регистрах ICR1H:ICR1L период повторения в мкс импульсов от датчика скорости.
просто делю 600000 на ICR1H:ICR1L в результате получается однобайтовая скорость. При скорости <10 км/ч наступает переполнение, здесь два пути:
1. не обрабатывать скорости <10 км/ч
2. заморачиваться с подсчетом числа переполнений
у меня реализован 2 способ, но практика показала что это совсем не нужно. с такими скоростями двигаешся только в пробке а тут не на спидометр смотрет надо а на стопы впереди себя :)

Автор:  Twilo [ Сб ноя 07, 2009 19:45:33 ]
Заголовок сообщения: 

а как посчитать период, пусть даже на асме?

Автор:  GP1 [ Вс ноя 08, 2009 13:56:51 ]
Заголовок сообщения: 

период не считается, он получается при заполнении интервала между импульсами от ДСА образцовой частотой, в данном случае Т1 работает в режиме ICR и заполняет интервал между двумя импульсами частотой 1 МГц, что соответствует 1 мкс, в результате в ICR1H:ICR1L получаем период повторения в мкс.

вот накидал схемку, напоминаю что будет работать только с индикаторами с ОА, но прошивку надо использовать от ОК, так как сигналы проинвертированы.
номиналы резисторов и тип транзисторов не указываю по одной причине - в железе не собирал, и считать нужно исходя из того что будет под рукой.
Ограничения: для VT5-VT8 Ikmax>0,7A

Вложения:
s16-2.GIF [14.92 KiB]
Скачиваний: 2030

Автор:  Twilo [ Вс ноя 08, 2009 15:48:40 ]
Заголовок сообщения: 

т.е. настраиваем таймер на 1 МГц, используя предделитель на 8, и каждый тик увеличиваем значение ICR1, правильно?
А когда надумаем вывести скорость, то делим 600000 на ICR1

Автор:  GP1 [ Вс ноя 08, 2009 18:13:32 ]
Заголовок сообщения: 

так и есть.

Автор:  Twilo [ Вс ноя 08, 2009 19:44:03 ]
Заголовок сообщения: 

Разобрался! спасибо GP1.
вдруг кому интерсно:
при инициализации нам надо будет в TCCR1B записать 0x42 или же 0b01000010, этим мы настраиваем его на 1 МГц при тактовой частоте в 8 МГц, и TIMSK заносим 0x24 или же 0b00100100, это разрешает прерывания по переполнению и по захвату по восходящему фронту. В прерывании по захвату обнуляем TCNT1H и TCNT1L, а потом считаем сколько будет 600000/(ICR1L+(ICR1H<<8 )); это и есть наша скорость

Автор:  Twilo [ Вт ноя 10, 2009 12:33:22 ]
Заголовок сообщения: 

GP1, а как определить что во внешнюю EEPROM записано все что надо, и после этого отключить поддержку питания? По работе с самим EEPROM все понятно. спасибо

Автор:  GP1 [ Вт ноя 10, 2009 12:55:41 ]
Заголовок сообщения: 

Определить окончание записи вряд ли получится, косвенно можно судить по освобождению шины, но это не является гарантией.
Можно прочитать данные из EEPROM и сравнить с тем что хранится в ОЗУ, и после этого отключать.
У меня сделано по упрощенной схеме, просто перед отключение делается пауза больше времени необходимого для завершения цикла записи.
при старте программы на PD4 выставляется 1, в конце каждого цикла проверяется наличие сигнала с DA1 (1 на PD5) если 1 (зажигание выключено) то запускается п/п записи в EEPROM, после которой идет задержка, минимум 20..30 мс (у меня что-то около 0.6с), после которой на выводе PD4 устанавливается 0, что приводит к отключению ключа на VT5,TV6 и полному отключению спидометра

Автор:  Twilo [ Ср ноя 18, 2009 23:51:18 ]
Заголовок сообщения: 

Хочу спросить вас еще по преобразователю напряжения. Схема как я вижу точно из даташита, включая номиналы элементов. у меня точно как у вас на схеме. проблема в том что напряжение скачет. тестером не заметно, но на работе АЦП сказывается очень сильно. у меня опорное напряжение для АЦП берется с AVCC. так вот при непрерывном считывании значение спокойно меняется в пределах +-10. При питании от програматора все идеально. Хотелось бы знать в чем может быть проблема

Автор:  GP1 [ Чт ноя 19, 2009 08:46:37 ]
Заголовок сообщения: 

+-10 - это хорошо :) , обычно +-150..200, дело в уровне импульсных помех создаваемых преобразователем, поэтому нужен хороший фильтр, я на AVcc ставил дросель 100-300 мкГн, электролит 100 мкФ и керамику 0.1 мкФ. AVref - через керамику 0.1 на корпус, ну и конечно разводка проводников на ПП.
А для чего вам ацп, если для ШИМ-подсветки, то это не страшно, там вообще достаточно 16 или 32 уровня регулировки.

Автор:  Twilo [ Чт ноя 19, 2009 21:35:05 ]
Заголовок сообщения: 

Дело в том что при определенных положениях регулятора яркости видно неворуженным глазом как изменяется яркость подсветки, сама по себе (.
А если дроссель 100-300 мкГн, это что на нем должно быть написано? У меня АVCC подключен через дроссель, так на нем 101 написано, это 100 мкГн или 100 мГн?

Автор:  GP1 [ Чт ноя 19, 2009 23:33:59 ]
Заголовок сообщения: 

это надо смотреть первоисточник (ДШ) производителя.
я использовал ЕС24 на нем только полоски.
а мерцание возможно из-за плохого контакта в переменнике.

Автор:  Twilo [ Пт ноя 20, 2009 00:57:26 ]
Заголовок сообщения: 

Переменник не фонтан, но купил новый. Делаю все так:
вывожу на сегментники значение OCR0. При питании от програматора, а аноды индикаторов от блока питания 12В, значение OCR0 изменяется +-1. OCR0 у нас постоянно равно adc_data[2]. Т.е. что считали с переменника то и вывели. Вот а если питать всю схему от блока питания , ну и тем самым +5В от преобразователя, то 2 последних разряда одни "8", т.е. там постоянно меняется значение, иногда конечно второй разряд удается прочитать. Поэтому плохой контакт исключаем. На AVCC дросель и у меня стоял, поставил еще электролит на 100,0. 0.1 керамика тоже стоял, стало немного лучше, ну совсем не много. Представляю что было бы если б АЦП в 10 битном режиме работал :cry: - точно генератор случайных чисел. А как вы думаете что будет если AVCC подключить через 7805, или ТЛ431?
Кста у меня вроде дросель на 100 мкГн и есть, непонятно почему точка жирная перед 101

Автор:  GP1 [ Пт ноя 20, 2009 08:44:01 ]
Заголовок сообщения: 

есть еще вариант.
выравнивать результат влево и обнулить мл. 2-4 разряда, это даст 16-64 ступени регулировки яркости.
можно попробовать на подвижный контакт переменника подцепить конденсатор и заземлить его корпус (если возможно)

зы: не помню как но у мняу АЦП в 10-битном режиме работало и грешило не более 5 единиц.

Автор:  GP1 [ Ср ноя 25, 2009 19:45:20 ]
Заголовок сообщения: 

Ну вот, сегодня тестовая плата намотала первый килобайт километров :)
за прошедшее время установлено:
при скорости 80км/ч врет на +3км/ч, показометр показывал 85, гаишник прдъявил 82 :)))
одометр врет на -2.3км на 1000км(сравнивалось со штатным) :roll:, со списание бензина будут проблемы :)

вот пока все.
до встречи в эфире!

Автор:  Twilo [ Чт дек 03, 2009 00:14:29 ]
Заголовок сообщения: 

У меня при скорости 100 км/ч по навигатору (есть основания доверять ему) показывал 107 км/ч. Уже исправил.
Хочу спрсить у Вас, GP1, как настроить таймер2 на 0,6 сек? Дело в том что у меня статическая индикация, хочу обновлять показания скорости раз в 0.6 сек. Предполагаю что нужно использовать таймер.
Просветите пожалуйста

Автор:  GP1 [ Чт дек 03, 2009 09:33:27 ]
Заголовок сообщения: 

1. настроить таймер с параметрами Fo/1024
TCCR2=0b00000111
при это Т2 бедет переполняться примерно через 33мс
в T2OVF организуете счетчик до 20 получится 0,654с
как счетчик досчитал до 20 обновляете значение переменных выводимых на индикатор.

зы: показания скорости зависят от многих факторов:
размера резины, давления в колесах, и с увеличением скорости показания любого спидометра уходят в область "+" это нормально, я бы даже сказал по ГОСТу +7 -4 %,
у меня тоже показывает выше.

Автор:  Twilo [ Чт дек 03, 2009 13:23:37 ]
Заголовок сообщения: 

списибо, сам не додумался. Догадывался что прямым образом так как Т1, например, не получится. Буду пробовать. потом поделюсь с вами результатами

Автор:  GP1 [ Пт мар 26, 2010 21:31:19 ]
Заголовок сообщения:  Re: Цифровой спидометр

Ну вот не дождавшись пока админы исправят исходную статью, выкладываю измененную схему, прошивку и исходники от нового спидометра.
Что нового:
1. В схему добавлена ULN2003A, за счет чего увеличен мгновенный ток до 70...75 мА через сегмент, для увеличения средней яркости индикатора.
2. Исключена микросхема внешней памяти 24C04В, показания одометров пишутся во встроенную EEPROM.
3. Устранен глюк с периодическим появлением случайного значения скорости.
4. Изменен метод усреднения значения скорости, отдельное спасибо ARV
5. Вывод Vo ЖКИ индикатора подключен на массу. Попутно замечу, что ЖКИ МТ-08S2A прекрасно работал при -27оС, при больших морозах испытать не удалось – морозов не было.

Mega16 – прошивка
Mega16-OA v2.00 – файлы исходников
Рис.1 новый – измененная схема.

Вложения:
РИС.1новый.rar [16.89 KiB]
Скачиваний: 2274
mega16-OA v2.00.rar [11.49 KiB]
Скачиваний: 1073
mega16.rar [2.18 KiB]
Скачиваний: 1138

Автор:  lumber [ Пт мар 26, 2010 22:59:29 ]
Заголовок сообщения:  Re: Цифровой спидометр

Помогите понять алгоритм работы спидометра. Интересует конечно только способ подсчёта числа или частоты импульсов и последующий перевод этих величин в км/ч. Собираюсь реализовать на Си...

Страница 3 из 35 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/