Страница 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
Но все же проще выводить все разряды, чем занимать время чтобы считать либо умножать цифры в уме. Мотоцикл - не авто, сдесь каждая секунда важна.