Страница 1 из 2
Тахометр
Добавлено: Пн мар 30, 2009 14:10:40
gonzales06
Есть желание собрать устройство по схеме
http://radiokot.ru/circuit/digital/measure/13/. Есть вопросы:
- какой частоты был использован МК 8 или 6 МГц
- какой сегминарный индикатор был использован
- И как переделать чтобы вместо 1оборот-4 импульса было 1 оборот-1 импульс
Re: Тахометр
Добавлено: Пн мар 30, 2009 15:24:21
Spider
1. -DF_CPU=8000000UL
2. KingBright содранный с PostCode какой-то материнки (2 раза)
3. Пересчитать формулу tmp=((31250U/_taho_speed)*60U);
Где 60U это 60 сек в минуте
31250U/_taho_speed - оборотов в секунду
_taho_speed содержит в себе среднее значение таймера.
Таймер считатет время между импульсами. Это я так для общего развития.
Получается изменив формулу на что-то типа :
tmp=((31250U/(_taho_speed/4))*60U);
Мы молучим ожидаемый результат. Ну это так... На скорую руку как говорится.
Добавлено: Пн мар 30, 2009 18:08:49
gonzales06
Спасибо. Буду пробывать о результатах доложу.
Добавлено: Чт май 28, 2009 12:13:12
Dimonoz
Здравствуйте. Начал собирать тахометр по этой схеме, появились вопросы, какие индикаторы можно использовать, с общим анодом или с общим катодом? Какие фьюзы нужно поставить в PoniProg чтобы установить частоту меги 8мГц?
Заранее спасибо за ответы.
Добавлено: Чт май 28, 2009 13:31:40
Spider
С общим минусом... Катодом получается...
8MHz CKSEL3..0 = 0100
Добавлено: Чт май 28, 2009 14:02:12
Dimonoz
А можно переделать прошивку под индикаторы с общим анодом, есть только такие? Если можно, то как это сделать?
Добавлено: Чт май 28, 2009 14:13:55
Dimonoz
Опять профьюзы. Какие именно галочки надо выставлять в PoniProg?
Добавлено: Чт май 28, 2009 14:22:02
Spider
заменить SetValue() на:
Код: Выделить всё
void SetValue(uint16_t value){
disp[0]=digits[value%10];
disp[1]=digits[(value/10)%10];
disp[2]=digits[(value/100)%10];
disp[3]=digits[(value/1000)%10];
}
заменить OffDigs() на:
Код: Выделить всё
void OffDigs() {
PORTD |= _BV(PD5) | _BV(PD6);
PORTC |= _BV(PC4) | _BV(PC5);
}
заменить LightDig() на:
Код: Выделить всё
void LightDig() {
switch (cur_d) {
case 0: PORTD &= ~_BV(PD6);
break;
case 1: PORTD &= ~_BV(PD5);
break;
case 2: PORTC &= ~_BV(PC4);
break;
case 3: PORTC &= ~_BV(PC5);
break;
default:
break;
}
}
Добавлено: Чт май 28, 2009 15:06:10
gonzales06
Не могу разобраться какой Т1 (транзистор) надо поставить
Добавлено: Чт май 28, 2009 15:07:04
Spider
любой BC847 к примеру
Добавлено: Чт май 28, 2009 15:28:20
gonzales06
Сейчас побегу в магаз, и еще какой кондер электролитический поставить С1-2-6
Добавлено: Чт май 28, 2009 15:39:27
Spider
C1 1uF
C2 ~47uF 6V,16V...
C3 1uF
C5 10uF 25V,50V...
C6 100uF 6V,16V...
Добавлено: Чт май 28, 2009 18:40:48
gonzales06
Не работает.
Делал первый вариант. При подключении к питанию, молчит потом через секунд 10 показывает 0 постепенно в каждой секции и цикл повторяется. Фьюз поставил как в выше сказано. Жаль после прошивки МК не читается и не шьется.
Добавлено: Пт май 29, 2009 05:40:11
Spider
gonzales06 писал(а):Не работает.
Делал первый вариант. При подключении к питанию, молчит потом через секунд 10 показывает 0 постепенно в каждой секции и цикл повторяется. Фьюз поставил как в выше сказано. Жаль после прошивки МК не читается и не шьется.
Выглядит так, буд-то не те фьюзы в частоту проца выставил.
например частая ошибка что ты вместо 0100 запрограммировал 1011, что означает внешний кварц 0.4 - 0.9 MHz. Попробуй прицепить такой кварц и запрограммировать снова.
Добавлено: Пт май 29, 2009 10:38:50
gonzales06
Пойду сегодня в магазин куплю еще одну мегу. Какие фьюзы надо выставить. А те меги восстановлю у знакомого на параллельном программаторе, или можно восстановить самому. Я программировал на USB-программаторе собранном по схеме выложенной на сайте в программе CVAVR. Поставил галочку на фьюзе CKSEL3.
Добавлено: Пт май 29, 2009 13:02:35
Dimonoz
С фьюзами тоже долго парился.
Галочки во фьюзах нужно ставить наоборот, т.е. 0 это когда галочка стоит(фьюз запрограммирован), а 1 это когда ее нет.
Добавлено: Пт май 29, 2009 13:06:36
Spider
Там это еслди что написано, и уже не раз обжёвывалось.
Добавлено: Вс июн 07, 2009 08:34:44
SunriseMoto
Вот такой вопрос, а возможно ли переделать эту схему под мотоциклетный тахометр?
Нужно чтобы было 5 разрядов, т.к. у меня двигатель оборотистый до 17000об\мин. Двигатель двухцилиндровый, четырёхтактный. Естественно схема может принимать только по одному импульсу с каждой катушки по очереди.
Прошу помощи!
Добавлено: Вс июн 07, 2009 12:48:36
Spider
Ты всё равно не увидишь младшего разряда никогда. Проще считать, что цифра тут в 10 раз мешьне

Добавлено: Вс июн 07, 2009 13:46:51
SunriseMoto
Но все же проще выводить все разряды, чем занимать время чтобы считать либо умножать цифры в уме. Мотоцикл - не авто, сдесь каждая секунда важна.