Обявления

Для полноценной работы рекомендуется пройти регистрацию.

Рекламные сообщения будут удаляться вместе с пользователем. Что есть реклама - буду решать я.

Тахометр на ATtiny2313

Здесь только проекты на ATtiny

Re: Тахометр на ATtiny2313

Сообщение goodtrix » 09 фев 2012 19:29

Скетч точно не при чем. Ардуина виснет, как только приходит сигнал с катушки. Что то видимо не так с сопряжением, буду разбираться.
goodtrix
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 07 фев 2012 19:23

Re: Тахометр на ATtiny2313

Сообщение quakebass » 10 фев 2012 10:33

Всем доброго времени суток!
Подскажите, а как можно сделать округление до 100об.мин?

Добавлено спустя 1 час 53 минуты 33 секунды:
Я так понимаю что тут что то изменить нужно. Можете подправить? Чтоб обороты округлялись до сотен. Неприятно что обороты вечно пляшут туда-сюда в десятках...
_____________________________________
if (byDisplay[3] > 4) //округляем
{
wRpm++;
R += 10;
}

byDisplay[3] = 0;
_____________________________________
quakebass
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 09 фев 2012 22:50

Re: Тахометр на ATtiny2313

Сообщение hardlock » 10 фев 2012 21:00

goodtrix писал(а):который из них надо пробовать менять? На базе или на коллекторе?

пробуйте их вообще убрать, а потом подбирать оба...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение quakebass » 11 фев 2012 01:56

Где рыть хоть подскажите - как округлить до сотен. В какой части прошивки?
quakebass
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 09 фев 2012 22:50

Re: Тахометр на ATtiny2313

Сообщение hardlock » 11 фев 2012 14:52

quakebass писал(а):как округлить до сотен. В какой части прошивки?

там, где идёт преобразование (функция зовётся как-то PrepareData_чего-то_там). там же есть округление до 10.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение quakebass » 11 фев 2012 15:45

Hardlock, вот кусок исходника который отвечает за округление?
void PrepareRpmData(WORD wRpm)
{
BYTE i;
WORD R;

R = wRpm;

byDisplay[3] = wRpm % 10;
wRpm /= 10;

if (byDisplay[3] > 4) //округляем
{
wRpm++;
R += 10;
}

byDisplay[3] = 0;

Можете подредактировать чтоб до сотен округлял?
quakebass
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 09 фев 2012 22:50

Re: Тахометр на ATtiny2313

Сообщение hardlock » 11 фев 2012 20:33

Попробуйте, не уверен в некоторых моментах.
Код: Выделить всё
void PrepareRpmData(WORD wRpm)
{
    BYTE i;
    WORD R;
   
    R = wRpm;       
   
    // Первые 4 цифр - обороты двигателя
    for(i=0; i<4; i++)
    {
       byDisplay[3-i] = wRpm % 10;
       wRpm /= 10;
    }
             
    if (byDisplay[3] > 4)  //округляем до десятков
    {
      byDisplay[2]++;
      R += 10;
    }       
   
    if (byDisplay[2] > 4)  //округляем до сотен
    {
      byDisplay[1]++;
      R += 100;
    }
   
    byDisplay[3] = 0;
    byDisplay[2] = 0;   
   
    if (R < 10)
    {
      byDisplay[0] = 10;
      byDisplay[1] = 10;
      byDisplay[2] = 10;           
      goto exit;
    }   
    if ((R >= 10) & (R <100))
    {
      byDisplay[0] = 10;
      byDisplay[1] = 10;
      goto exit;
    }
    if ((R >= 100) & (R <1000))
    {
      byDisplay[0] = 10;
      goto exit;
    }           

exit:
}
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение quakebass » 11 фев 2012 23:47

Работает, но не совсем как надо - при 1900 об "9" вообще не светиться, 3000 об. - не светится второй ноль. Давайте доработаем... :drink: до 1900 работает хорошо!
quakebass
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 09 фев 2012 22:50

Re: Тахометр на ATtiny2313

Сообщение hardlock » 11 фев 2012 23:57

теперь должно работать.
Код: Выделить всё
void PrepareRpmData(WORD wRpm)
{
    BYTE i;
    WORD R;
   
    R = wRpm;       
   
    // Первые 4 цифр - обороты двигателя
    for(i=0; i<4; i++)
    {
       byDisplay[3-i] = wRpm % 10;
       wRpm /= 10;
    }
             
    if (byDisplay[3] > 4)  //округляем до десятков
    {
      byDisplay[2]++;
      R += 10;
    }       
   
    if (byDisplay[2] > 4)  //округляем до сотен
    {
      byDisplay[1]++;
      if (byDisplay[1] > 9)
      {
        byDisplay[0]++;
        byDisplay[1] = 0;
      }
      R += 100;
    }
   
    byDisplay[3] = 0;
    byDisplay[2] = 0;   
   
    if (R < 10)
    {
      byDisplay[0] = 10;
      byDisplay[1] = 10;
      byDisplay[2] = 10;           
      goto exit;
    }   
    if ((R >= 10) & (R <100))
    {
      byDisplay[0] = 10;
      byDisplay[1] = 10;
      goto exit;
    }
    if ((R >= 100) & (R <1000))
    {
      byDisplay[0] = 10;
      goto exit;
    }           

exit:
}
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение quakebass » 12 фев 2012 00:07

Как округляется до 10 я кажется разобрался - алгоритм такой: обороты двигателя делятся на 10. потом берется остаток от деления, если он больше 4 тогда высвечивается 10. если меньше 0. Верно?
quakebass
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 09 фев 2012 22:50

Re: Тахометр на ATtiny2313

Сообщение hardlock » 12 фев 2012 00:08

quakebass, верно.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение quakebass » 12 фев 2012 01:38

Спасибо за оперативность! Утром отпишусь. Девайс уже поставл в авто, залил "скоростную" прошивку. Стало как то живее. Реакция индикатора почти не отстает от педали газа. ;) Завтра все это скрестим! :drink:

Добавлено спустя 9 часов 8 минут 32 секунды:
Спасибо! :drink: (это кофе - еще утро :) ) Установил! Заработало! Прошивку скомпилированую выложить? Может кому пригодиться? Хочу разобраться дальше с алгоритмом этой части проги. Теперь же 2 разряда ненужны - можно просто писать 0.9 .. 1,0 .. 2,5 ..

Добавлено спустя 15 минут 59 секунд:
hardlock, зачем в "шапке" программы указано BYTE byDisplay[4]; // буфер данных, для вывода на экран - почему 4? Трех недостаточно? Нумерация в массиве с начинается с "0"?
quakebass
Пробегал мимо
 
Сообщения: 7
Зарегистрирован: 09 фев 2012 22:50

Re: Тахометр на ATtiny2313

Сообщение hardlock » 12 фев 2012 15:21

quakebass писал(а):Прошивку скомпилированую выложить?

можно проект целиком.
quakebass писал(а):Теперь же 2 разряда ненужны - можно просто писать 0.9 .. 1,0 .. 2,5 ..

кому как удобнее.
quakebass писал(а):зачем в "шапке" программы указано BYTE byDisplay[4]; // буфер данных, для вывода на экран - почему 4?

ну цифры то 4, вот и буфер на 4 разряда
quakebass писал(а):Нумерация в массиве с начинается с "0"?

Это Си - тут массив начинается с "0".

Можно оствить две цифры, сдвинуть их и включить точку. А можно не сдвигать, а убрать младшие 2 разряда и включить точку между двумя старшими.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение popilsjawa » 15 фев 2012 22:08

Здравствуйте) У меня вопрос такого плана: когда на делитель не подаются импульсы с катушки, то должны все нули светится? У меня только последний светится :dontknow:

Добавлено спустя 8 минут 58 секунд:
И ещё вопрос: а какой амплитуды туда импульсы подавать и какой формы?
popilsjawa
Пробегал мимо
 
Сообщения: 9
Зарегистрирован: 15 фев 2012 22:00
Откуда: Хмельницкий, Украина

Re: Тахометр на ATtiny2313

Сообщение hardlock » 16 фев 2012 08:36

popilsjawa писал(а):то должны все нули светится? У меня только последний светится

правильно светится.
popilsjawa писал(а):какой амплитуды туда импульсы подавать и какой формы?

на катушке прямоугольные импульсы 12 вольт с выбросами до 400 В. А подавать можно хоть синус - дэвайсу пофик.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение popilsjawa » 18 фев 2012 12:57

А для чего для мотоцыкла делить на 4???
У меня Ява, там за один оборот коленвала искра проскакивает в двух цылиндрах, так как это двотактный двигатель) С катушки мы берем одной, значит каждый оборот двигателя соответствует импульсу подаваемому на вход) тогда берётся количество импульсов и умножается на 60 секунд, а зачем делить на 4? :dontknow:
если число оборотов за мин. 1000 на холостых, делим на 60, получается 16,6 оборотов за секунду) я подавал на вход импульсы с генератора на вход с частотой 17Гц, но на индикаторе показывает не 1000, а гдето 250, так как оно делит на 4) :(
popilsjawa
Пробегал мимо
 
Сообщения: 9
Зарегистрирован: 15 фев 2012 22:00
Откуда: Хмельницкий, Украина

Re: Тахометр на ATtiny2313

Сообщение hardlock » 18 фев 2012 13:16

popilsjawa, а чё парится? проверьте на мотике.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение popilsjawa » 18 фев 2012 13:53

Да я б с радостью, но недома я, просто такие теоретические сображения пришли, а дома нет чем шить МК, если работать небудет) Попробую на следующие выходные)
Немогли бы Вы подсказать мне какой нибудь програматор для новичка, чтобы тини и меги шились, потому что в програмировании я баран) Ато одни програматоры тини не шьют некоторые
popilsjawa
Пробегал мимо
 
Сообщения: 9
Зарегистрирован: 15 фев 2012 22:00
Откуда: Хмельницкий, Украина

Re: Тахометр на ATtiny2313

Сообщение proclan » 18 фев 2012 19:06

господа, не могли бы вы мне помочь?
я не очень силён в языках программирования...
помогите модернизировать программу так чтобы она показывала частоту в графическом виде на линейке из светодиодов.
тоесть от 0 до 1000 оборотов в минуту - 1 горит, от 1001 до 2000 оборотов - 2 горит, от 2001 до 3000 - 3 и т.д.

схема собственно останется та же, достаточно вместо числового индикатора подключить линейный, "столбик"
proclan
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 18 фев 2012 18:41
Откуда: Россия

Re: Тахометр на ATtiny2313

Сообщение hardlock » 18 фев 2012 22:18

popilsjawa, STK 200/300 - проще не придумаешь.

proclan, ага, значит до форума уже тоже добрались? В мыло не могу всем отвечать. Теперь по теме. Зачем такой неточный тахометр? Ведь всего 10 светодиодов от 0 до 10000 оборотов...
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение proclan » 19 фев 2012 09:48

да я в мыло вроде не писал никому...

нужно не столько для измерения сколько для подсветки секторов на обычном тахометре.
обычно сзади горит лампочка (несколько) которая подсвечивает всю шкалу сразу.
но если расположить сзади несколько светодиодов ярких по окружности, то подсвечиваться будет только та часть шкалы где сейчас находится стрелка.
получится что куда направлена стрелка там и подсвечивается.
proclan
Пробегал мимо
 
Сообщения: 2
Зарегистрирован: 18 фев 2012 18:41
Откуда: Россия

Re: Тахометр на ATtiny2313

Сообщение hardlock » 19 фев 2012 22:25

proclan писал(а):да я в мыло вроде не писал никому...

мне тут просто днём ранее пришло письмо, решил, что Вы же...
nicezevs писал(а):Из соображений недоступности дисплеев хотелось бы чтобы в индикации учавствовали 10-15 светодиодов столбиком. Привлекает именно цифровая схема из за гибкости параметров.

Дело в том что я не знаком с языком Си и с МК вобщем-то не работал, поэтому сам не справлюсь с тем чтобы перевести индикацию с дисплея на отдельные светодиоды, хотя исходник скачал и попытался вникнуть, но потому как до этого работал только в дэлфи, честно говоря затруднился.

Не могли бы вы мне с этим помочь?
Не спорю, я бы мог плотно взяться за изучение МК и сделать все сам, но дело в том что это будет длительный процесс, собственно в дальнейшем я так и поступлю, но тахометр хотелось бы как можно быстрее собрать а не к следующей осени =)

Заранее спасибо, ответ напишите в любом случае.


А так как на вопросы по конструкциям в мыло не отвечаю, то отвечу тут:
Создавайте новую тему, рисуйте схему, разводите ПП, прошивку думаю подправим.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение guitm9762 » 20 фев 2012 16:48

мне тут просто днём ранее пришло письмо, решил, что Вы же...


Это я писал :oops:
Просто не додумался глянуть как надо и решил что тема очень старая, поэтому в мыло черканул.

В общем моя суть проблемы схожа с описаной proclan'ом.
Только мне нужна более точная индикация.
Хотелось бы наверное 15 светодиодов, только я как понимаю у 2313 не будет столько свободных ног.. Или я что то не так понял?

В общем данные такие. Максимальные отображаемые, обороты 5500. Если раскрутятся больше то просто будут гореть все диоды и больше ничего, мне важно начало шкалы :)
Исходя из этого нужно создать столбик с более менее приличной точностью, хотя наверное тут не менее 500 об\мин цена деления выйдет?

В общем вот.. суть проблемы изложил. если выразился непонятно, прошу извинить, если нужно выражу мысли более точнее.. :sorry:
guitm9762
Пробегал мимо
 
Сообщения: 15
Зарегистрирован: 20 фев 2012 16:24
Откуда: Преведдск

Re: Тахометр на ATtiny2313

Сообщение hardlock » 21 фев 2012 11:26

guitm9762 писал(а):Хотелось бы наверное 15 светодиодов, только я как понимаю у 2313 не будет столько свободных ног.. Или я что то не так понял?

индикация будет динамическая, как и сейчас, т.е. светодиоды буду объеденены в массивы, как в динамическом индикаторе. Для простоты переделки - по 8 штук в массиве.
guitm9762 писал(а):В общем вот.. суть проблемы изложил. если выразился непонятно, прошу извинить, если нужно выражу мысли более точнее..

так надо не только суть проблемы изложить, а схемку с печаткой набросать, бо я всё не успею. А уже под печатку и схему сделаю прошивку, причём 2 варианта - горит весь столбик и только один светик.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3362
Зарегистрирован: 21 янв 2009 15:48
Откуда: zp.ua

Re: Тахометр на ATtiny2313

Сообщение guitm9762 » 21 фев 2012 17:01

индикация будет динамическая, как и сейчас, т.е. светодиоды буду объеденены в массивы, как в динамическом индикаторе. Для простоты переделки - по 8 штук в массиве.


Я не совсем представил это применительно к светодиодам :oops:
Можно подробнее? :)
И тогда я очевидно смогу перерисовать схему, а печатку хотел бы сделать позже, ибо мне там к месту надо прикинуть.
Или нужно сразу все?
ладно, вы мне объясните насчет динамической индикации, а то что-то не хватает познаний чтобы понять как это, и дальше я начну шевелиться

А насчет двух вариантов.. вполне бы хватило всего столбика, но вобщем то если вас не затруднит, то отдельный светодиод тоже неплохо, вдруг это кому-то пригодится (а это точно пригодится :) )
guitm9762
Пробегал мимо
 
Сообщения: 15
Зарегистрирован: 20 фев 2012 16:24
Откуда: Преведдск

Пред.След.

Вернуться в ATtiny



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8