Цифровой спидометр

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


dreamernf
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт мар 29, 2012 13:07:27

Re: Цифровой спидометр

Сообщение dreamernf »

Итак, пример кода на C (Code Vision):
определение переменных:

volatile unsigned char timer1_ovf_counter=0; // Cколько раз переполнялся таймер1 счёта импульсов
unsigned char timer1_ovf_counter_summ=0; // Cколько раз переполнялся таймер1 счёта импульсов - результирующее значение
unsigned char timer2_clock=0; // Необходимо для отсчёта времени 1 сек таймером 2


unsigned char timer1_counterH; // Старший байт таймера счёта по окончанию 1 сек
unsigned char timer1_counterL; // Младший байт таймера счёта по окончанию 1 сек

unsigned int frequency_tmp; // промежуточная переменная для расчета частоты

инициализация таймеров:
// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 7.813 kHz
// Mode: CTC top=OCR0
// OC0 output: Disconnected
TCCR0=0x0D;
TCNT0=0x00;
OCR0=0x9C;


// Timer/Counter 1 initialization
// Clock source: T1 pin Rising Edge
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer1 Overflow Interrupt: On
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x07;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;


// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: 7,813 kHz
// Mode: CTC top=OCR2
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x0F;
TCNT2=0x00;
OCR2=0x9C;


// Timer(s)/Counter(s) Interrupt(s) initialization
//TIMSK=0x02;
//TIMSK=0x06;
TIMSK=0x86;

функции прерываний:

// Timer2 отсчитывает 1 сек интервал и сохраняет значения счетчиков для расчета скорости
interrupt [TIM2_COMP] void timer2_comp_isr(void)
{
timer2_clock++;
//если значение счетчика равно 50 (20 мсек*50 = 1 сек) то запоминаем значения счетчиков таймеров
if (timer2_clock == FRQ_CLOCK){
timer1_counterL=TCNT1L;
timer1_counterH=TCNT1H;
TCNT1H=0x00;
TCNT1L=0x00;
timer1_ovf_counter_summ=timer1_ovf_counter;
timer1_ovf_counter=0;
timer2_clock=0;
// Расчет числа импульсов прошедших за период таймера2 с входа T1 таймера1
frequency=timer1_ovf_counter_summ;
frequency=frequency << 16;
frequency_tmp=timer1_counterH;
frequency_tmp=frequency_tmp << 8;
frequency_tmp=frequency_tmp+timer1_counterL;
frequency=frequency+frequency_tmp;
///получили текущую скорость и выполнили суммирование
avg_speed = ceil(frequency*SPEED_SENSOR_TYPE);

}
}


// Timer1 - вызов прерывания переполнения с каждым импульсом с датчика скорости
interrupt [TIM1_OVF] void timer1_ovf_isr(void)
{
timer1_ovf_counter++;
}

и после этого в основном цикле выводим значение avg_speed:
sprintf(lcd_buffer,"%u км/ч ",avg_speed);
lcd_gotoxy(0,0);
lcd_puts(lcd_buffer);
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

нифига не понял :shock:
к чему это здесь?
Чем дальше, тем больше становлюсь занудой...
Изображение
dreamernf
Встал на лапы
Сообщения: 106
Зарегистрирован: Чт мар 29, 2012 13:07:27

Re: Цифровой спидометр

Сообщение dreamernf »

GP1 писал(а):нифига не понял :shock:
к чему это здесь?
мой вариант расчета скорости на C (Codevision AVR), может кому то пригодится
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

При включении все в норме, а если подключаю генератор (от GP1 на 555), появляется такое:
Фото-0003.jpg
(81.2 КБ) 721 скачивание

Подскажите, какая самая стабильная прошивка, именно по начальной схеме (без тахометров и т.п.) Я заливал
эти http://www.radiokot.ru/forum/viewtopic.php?p=470225#p470225 http://radiokot.ru/forum/viewtopic.php?p=524865#p524865
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

Крайние варианты прошивок лежат на стр.22
у тебя вариант не совсем по начальной схеме, судя по фото стоит ULN2003 и нет внешней памяти.
да и скорость 521, как-то многовато будет, у меня он считает до 255 км/ч, однобайтовая переменная.
Чем дальше, тем больше становлюсь занудой...
Изображение
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

GP1Ты имеешь ввиду вот эту "mega16-OA v23-03-2012.zip"? Просто боюсь ошибиться, первый раз залил не то, а тут уже линейки, тахометры. И можно ли малой кровью подправить прошивку под свои начальные значения пробега?
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

Чтобы ответить на твой вопрос мне надо знать по какой схеме собран девайс
перекомпилить прошивку не проблема вообще, надо только знать нужна линейка или нет
начальные значения пишутся в ЕЕPROM либо во встроенную, либо во внешнюю, но порядок ячеек одинаков
Чем дальше, тем больше становлюсь занудой...
Изображение
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

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

схема вот эта http://radiokot.ru/forum/download/file.php?id=34401
со встроенным EEP, хотя расстроился, прочитав твое замечание по поводу 100000 циклов перезаписи, но это меркнет, перед радостью заработавшего девайса :music:
Наивно думал открыть в hex-редакторе и подправить байты, ан нет - перекомпиляция. Мое начальное 413124 км. И спасибо за полезную вещь.
зы: без линеек. Если получится, скинь в личку, чтоб народ не вводить в заблуждение
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

Хорошо, вечером сделаю
Чем дальше, тем больше становлюсь занудой...
Изображение
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

Интересно, насколько дольше проживет внешняя EEPROM? И как узнать, что внутренняя сдыхает, чтобы успеть сохранить EEP в файл и прошить на другую мегу?
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

GP1
Спасибо, вот такая солянка получилась, осталось испытать на машине
0001.jpg
(175.01 КБ) 892 скачивания
Аватара пользователя
GeparD
Вымогатель припоя
Сообщения: 538
Зарегистрирован: Сб июн 27, 2009 23:34:18
Откуда: Украина
Контактная информация:

Re: Цифровой спидометр

Сообщение GeparD »

Как поправить прошивку под 4 и под 5 импульсов?? что нужно делать чтоб ее подправить???Обьясните пожалуйста
Голова - это прибор для создания голограмм
Хелбой, Халк и Аватар - отличное наглядное представление модели RGB
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

bkost писал(а):GP1
Спасибо, вот такая солянка получилась, осталось испытать на машине
0001.jpg

мне ещё в прошлый раз показалось что индикатор "задом-на-перед" индицирует.
поменяй местами крайние аноды :wink:
Чем дальше, тем больше становлюсь занудой...
Изображение
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

GeparD писал(а):Как поправить прошивку под 4 и под 5 импульсов?? что нужно делать чтоб ее подправить???Обьясните пожалуйста

скорость пересчитать не проблема, просто поменять константу (см.описание eeprom на 22 стр), а вот с пробегом...
там у меня такого набыдлокодено, :oops: что и сам не вспомню. :dont_know:
Чем дальше, тем больше становлюсь занудой...
Изображение
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

Да, лоханулся :) , KEM5631, даташит не нашел, решил, что все стандартно - 1 = 12 нога, ан нет
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

Как можно регулировать яркость семисегментников? Поставил вечерком в авто, жуть, как ярко
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

на схеме есть переменный резистор - это и есть регулятор яркости.
Чем дальше, тем больше становлюсь занудой...
Изображение
bkost
Встал на лапы
Сообщения: 117
Зарегистрирован: Чт мар 04, 2010 16:27:39

Re: Цифровой спидометр

Сообщение bkost »

R7 22kOm? Вот я дятел, я посчитал, что он относится к ЖКИ и не ставил. И меня вылечат! :))
Аватара пользователя
Andrew71
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Чт авг 09, 2012 15:58:21

Re: Цифровой спидометр

Сообщение Andrew71 »

GP1 писал(а):
GeparD писал(а):Как поправить прошивку под 4 и под 5 импульсов?? что нужно делать чтоб ее подправить???Обьясните пожалуйста

скорость пересчитать не проблема, просто поменять константу (см.описание eeprom на 22 стр), а вот с пробегом...
там у меня такого набыдлокодено, :oops: что и сам не вспомню. :dont_know:

Уважаемый GP1 как же быть? Хотел собрать и установить на мотоцикл "Урал", датчик планирую использовать 6ти импульсный, но у мотоцикла изменено соотношение передачи главной пары заднего моста и поэтому придётся подбирать количество импульсов на километр? :(
Аватара пользователя
GP1
Поставщик валерьянки для Кота
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград
Контактная информация:

Re: Цифровой спидометр

Сообщение GP1 »

вопрос конечно интересный :tea:
считай импульсы :)
Чем дальше, тем больше становлюсь занудой...
Изображение
Ответить

Вернуться в «Статьи»