Page 1 of 55

Тахометр на ATtiny2313

Posted: 01 Feb 2009 00:10
by hardlock
Данная конструкция стала продолжением проекта Термометр. Как там упоминалось, хотелось универсальности схемы. Вообще без переделок платы удалось сделать термостат, ну а немного подумав и изменив слегка печатную плату получил неплохой тахометр для автомобиля или мотоцикла! Предел измерений 100 - 9990 об/мин. Точность измерения - ± 3 об/мин. Но для лучшего восприятия данные округляются. Данный прибор стоял у меня на авто - Таврия. Также устанавливалась на Chevrolet Cavalier, ВАЗ-2109, мотоцикл ЯВА-350 12-ти вольтовый, скутер Honda Lead 90.

Собственно схема изменилась не сильно, по сравнению с термометром: (12.11.2009 привёл названия сегментов в соответствии с даташитом на индикатор.)
Схема
Схема
Присутствуют две входных цепи:
  • вывод 6 (PD2) - вход прерывания INT0. Этот вход используется для измерения количества оборотов двигателя.
  • вывод 11 (PD6). Этот вход используется для уменьшения яркости индикаторов при включении габаритов на авто.
В схеме применён кварцевый резонатор на частоту 8MHz для большей точности и стабильности измерений.

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

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

Печатная плата:
Печатная плата
Печатная плата
pcb.gif (10.15 KiB) Viewed 95132 times
резистор 10к и конденсатор 10nF во входном фильтре размещаются на ПП бутербродом, т.к. не осталось свободного места. В формате Sprint-Layout 5.0 можно скачать тут.

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

Прошивка для случая индикатора с ОА (+) и ОК (-) - в HEX формате, проект под CodeVisionAVR. Прошивки под систему зажигания с распределителем.

FUSES выставлены в проекте, но если кто-то шьёт не из CodeVisionAVR, то повторю их тут:
fuses.gif
fuses.gif (1.78 KiB) Viewed 95132 times

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

В проекте в 17-й строке есть следующее определение:

Code: Select all

#define byBladeCnt 2 //1- две катушки, 2 - одна катушка, 4 - мотоцикл...
Для советских автомобилей и авто с распределительной системой зажигания этот параметр будет 2. Для систем зажигания с двумя катушками (как в ВАЗ-2110) - 1. На мотоцикле и мопеде (2-х тактная система зажигания) этот параметр равен 4.
Casper_pro wrote:p=f*60/t, где
f - частота импульсов подаваемых на вход
t - коофициент установленный в прошивке
p - количество оборотов показываемые девайсом

Устройство работает уже более двух лет без каких либо проблем на моей машине, да и остальные не жалуются...

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

Re: Тахометр

Posted: 04 Feb 2009 00:42
by peilis
привет hardlock нашёл твой тахометр решил зделать себе его.
скинул я деталки на макетку запрогромировал ATtiny2313 наставил FUSES как ты показал
у меня индикаторы с общим катодом АЛС320г, прошивка ОК (-)
и :dontknow: никакого результата.
ну думал ATtiny2313 плохой, взял другую и тоже самое.
признатьса могу что в софте слабоват.
может мог подсказать что может быть? :oops:

Re: Тахометр

Posted: 04 Feb 2009 06:47
by dovjik1
Если на дисплее все нули значит надо подать сигнал.Я подавал с осцилографа не работал,а если после делителя то все нормально.Я переделывал плату под ДИП (не было тогда у меня СМД)-заработало.

Re: Тахометр

Posted: 04 Feb 2009 09:19
by hardlock
peilis wrote:может мог подскозать что может быть :oops:
Попробуйте убрать биты BODLEVEL0 и BODLEVEL1 и прошить новую конфигурацию.
Если не заработало, то посмотрите осциллографом наличие импульсов на выводах 2, 3, 8, 9, 11-19 (выход на индикатор) там должы увидеть хоть какие-то сигналы... Если нет, то либо прошивка не залита, либо кварц не работает...

Re: Тахометр

Posted: 04 Feb 2009 21:51
by dovjik1
Прочитал свое же писание-чуть не упал.Сигнал подавал не с осцилографа,а с генератора.Извините.

Re: Тахометр

Posted: 04 Feb 2009 21:58
by hardlock
Ну и в осциллографе бывают генераторы...

Re: Тахометр

Posted: 04 Feb 2009 22:30
by dovjik1
Да бывают ,но я точно подавал с генератора а не с осцилографа.Еще заминка была ,уровня генератора не хватало для сработки контроллера.Случайно подал после делителя-заработал.Тепер уже рабочий тахометр,на ЗАЗ-968 не установили.Напарник ждет тепла.

Re: Тахометр

Posted: 05 Feb 2009 01:35
by peilis
:good: ну вот и у меня роботает
осталось в машинку поставить
дорогои hardlock а есть исчё возможность волтметр добавить ?
ну примерно вот так как я красным намалевал или хватет памети у чипа

Re: Тахометр

Posted: 05 Feb 2009 10:02
by hardlock
Ну во первых 1-я нога - сброс, но это не самое главное - у ATtiny2313 нету АЦП... Поэтому на существующей элементной базе ничего не получится.

Re: Тахометр

Posted: 06 Feb 2009 11:21
by hardlock
peilis, так в чём была проблема? Может другим пригодиться? :?:

Re: Тахометр

Posted: 06 Feb 2009 18:34
by peilis
у меня питание было с LM317 вот сней и была проблема.
ну я ищё непробовал обратно fuses переставить.
щас у меня fuses стоят так, как подсказал последний вариант.
слушай hardlock на АТтини2313 ножка ресет не толко ножка ресета а и рот PA2
ну да АЦП у него нет
а немог ты ходь виртуално (ну в смысле написать софт) попробывать скинуть тотже самый тахометр проктично по такои схеме толко добавить волтьметр :scratch:

Re: Тахометр

Posted: 06 Feb 2009 23:11
by hardlock
peilis wrote:слушай hardlock на АТтини2313 ножка ресет не толко ножка ресета а и порт PA2
Ногу Ресет можно использовать как вход-выход только при параллельном HV программировании, а у меня только последовательный программатор.
peilis wrote:а немог ты ходь виртуално (ну в смысле написать софт) попробывать скинуть тотже самый тахометр проктично по такои схеме толко добавить волтьметр
а чего там писать - возьмите из проекта БП исходники и посмотрите - там всего 10 строк.
Ну что-то типа: (для U опорного = 2,56 Вольта; U вх = 0,0 - 20,48 Вольта; Для ATmega8)

Code: Select all

U = read_adc(0) * 2;
PrepareData(U);
RefreshDisplay();
Пока в планах создания такого дэвайся небыло :(

ЗЫ: пишите пожалуйста грамотнее, а то тяжело разбирать... :evil:

Re: Тахометр

Posted: 07 Feb 2009 16:03
by peilis
извени за ошибки я не рускй я из Литвы сколко умею столко :)
а за етот ответ спосибо :good:

Re: Тахометр

Posted: 07 Feb 2009 18:25
by hardlock
peilis, тогда я извиняюсь. :oops:

Re: Тахометр

Posted: 05 Mar 2009 16:52
by sheva_s
Всем привет, есть необходимость использовать тахометер на дизельном двигателе. На двигателе стоит датчик который выдает 168 импульсов за 1 оборот, можно ли немного подправить программу для того что бы она работала с этим датчиком или прийдеться полностью переделывать алгоритм.

Re: Тахометр

Posted: 05 Mar 2009 17:01
by hardlock
sheva_s wrote:можно ли немного подправить программу
Можно - пробуйте играться с параметром описанном в статье. Он отвечает за коефициент деления. Если = 1 то 1 импульс = 1 обороту.
Правда больше 4 я его не пробовал ставить - может быть не будет работать....

Re: Тахометр

Posted: 05 Mar 2009 17:04
by sheva_s
Понятно попробую смоделировать в протеусе если что подкажу. Я так понял подсчет идет по количеству импульсов за еденицу времени ?

Re: Тахометр

Posted: 05 Mar 2009 17:06
by hardlock
sheva_s wrote:Я так понял подсчет идет по количеству импульсов за еденицу времени ?
я уже не помню :oops: ... давно это было... Да и кромсал я это из разных исходников....

Re: Тахометр

Posted: 24 Mar 2009 20:54
by how_eee
Привет! Расскажи пожалуйста из чего и как делаешь такие корпуса, как на этом тахометре! :good:

Re: Тахометр

Posted: 25 Mar 2009 09:25
by hardlock
how_eee wrote:из чего и как делаешь такие корпуса
нет ничего проще! иду и покупаю в магазине или на радиорынке! :-)

Re: Тахометр

Posted: 27 Mar 2009 19:35
by SLIMka
Подскажите плиз, какова частот обновления показаний и не будет ли глючить контроллер из-за наводок от высоковольтной части зажигания... (Спрашиваю из-за того, что велокомпьютер на мопеде сходит с ума)
Заранее спасибо.

Re: Тахометр

Posted: 30 Mar 2009 09:14
by hardlock
SLIMka wrote:какова частот обновления показаний
База - 0,3 секунды. Можно увеличить....

Code: Select all

#define UpCount 4  // +1 = количество пропусков (0,1S) до обновления
SLIMka wrote:не будет ли глючить контроллер из-за наводок от высоковольтной части зажигания...
Ну как показала практика - работает без глюков. Даже пробовал в непосредственной близости от катушки зажигания. Обычно глюки происходят от некачественного или повреждённого провода зажигания.

Re: Тахометр

Posted: 30 Mar 2009 17:58
by SLIMka
Спасибо за ответ, будем попробовать :-)

Re: Тахометр

Posted: 20 Apr 2009 21:53
by CFIF
Здравствуйте hardlock собрал я тахометр по вашей схеме ток у меня он неработает. Должныли при подаче питания (на столе) на индикаторах светиться нули или надо обязательно подключать к авто на рабочий двигатель?
Осциллографа сейчас под рукой нет, я померял мультиметром напряжение на выводах 2, 3, 8, 9, 11-19 там везде около 2-2,5 вольт. Индикаторы у меня 3лс 324б1 с ОА
Шил понипрогом, прошилось все нормально, пробовал убирать BODLEVEL0 и BODLEVEL1 толку ноль
Можт что подскажете?
П. С. вот прошивка какую я заливал

Re: Тахометр

Posted: 20 Apr 2009 22:00
by hardlock
CFIF wrote:у меня он неработает
неудивительно. Где вы взяли эту прошивку? там какая-то билеберда, а но HEX файл. Скачайте заново с сайта.
пример HEX Файла (попробуйте открыть в блокноте):

Code: Select all

:0A0000001CC0E8C0FDCFFCCFC0C05B
:10000A00FACF4CC1F8CFF7CFF6CFF5CFF4CFF3CF75
:10001A00F2CFF1CFF0CFEFCFEECFEDCFFA82B9AB7F
:10002A00C36B7BA2FBEB00010C00B40026000000AE

ну и так далее....