Обявления

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

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

Тахометр на ATtiny2313

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

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

Сообщение mikitenko » 24 янв 2017 15:27

чи лижі не їдуть, чи я .... спасибо hardlock, на Вашей скомпилированной прошивке с общим анодом, и значением 1 тахометр стал показывать то что и должен. Вы компилировали с проекта, который выложен в шапке темы? может у Вас проект другой? я ведь тоже самое делаю, жму shift+F9, и полученный hex записываю. может действительно изменения, что я вношу, просто не применяются.. хотя я же сохраняю проект с изменениями, открываю его, и они там есть. в любом случае спасибо!

изменения применяются, так как скомпилированные прошивки отличаются

Добавлено спустя 21 час 12 минут 41 секунду:
можете скинуть проект, с которого Вы компилите прошивки, может в шапке темы он не рабочий.. и какая версия codevision у вас
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение hardlock » 28 янв 2017 06:57

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

Сообщение mikitenko » 30 янв 2017 19:40

Хорошо, буду ждать
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение hardlock » 30 янв 2017 21:34

Выкладываю.
Новое имя константы "коэфициента" - byDivider в 39й строке.

строки 32-35 - ОА, ОК, или с транзистором.
Код: Выделить всё
#define Anode         //для индикатора с ОА
//#define AnodePNP        //для индикатора с ОА и pnp транзисторами
//#define Cathode       //для индикатора с ОК
//#define CathodeNPN    //для индикатора с ОК и npn транзисторами
Вложения
tach_v1.1.rar
(5.73 КБ) Скачиваний: 131
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3604
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение mikitenko » 02 фев 2017 12:46

спасибо. завтра буду пробовать

Да, с этого проэкта всё отлично работает и перенастраивается, спасибо.
и еще такой вопрос, в строке 41
#define UpCount 4 // +1 = количество пропусков (0,1S) до обновления
что это означает? то что каждые 0.4секунды тахометр выводит на дисплей новые показания оборотов?
и еще в программе есть
// 3 раза в секунду перерисовываем дисплей,
// независимо от обстоятельств.
Я просто хочу добиться более быстрой работы тахометра, при изменении стоки 41 вместо 4 если поставлю 2? или всё равно чаще чем раз в 0.3сек он обновляться всё равно не будет
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение mikitenko » 24 фев 2017 10:47

у меня есть такое предложение, но для тех, кто шарит в написании программ. на этом микроконтроллере не используется порт 0А. точнее используется, но он там абсолютно не нужен, так как это точка на семисегментном индикаторе. что если доработать проект так, чтоб повесить на этот порт кнопку изменения параметра "byDivider" (количества импульсов, равных одному обороту двигателя). можно даже чтоб не выводил он этот параметр на индикатор, просто изменял значение и записывал в память, чтоб при выключении тахометра этот параметр не сбивался.
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение hardlock » 25 фев 2017 11:46

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

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

Сообщение mikitenko » 28 фев 2017 16:46

hardlock писал(а):mikitenko, хорошее предложение )

как я это вижу (своим не опытным взглядом):
1. объявить переменную
2. записать ее в eeprom
3. подставить эту переменную в byDivider
4. при нажатии на кнопку, приплюсовывать к этой переменной "1".

вот только опыта в программировании нет и оценить правильность моих суждений я не могу, собственно как и реализовать это(

Добавлено спустя 20 часов 36 минут 25 секунд:
убрал строку #define byDevider 1

в строку 333 ввел переменную int k=1; //переменная, определяющая количество импульсов равных одному обороту двигателя

часть формул оставил без изменений
lTmp = (62500L * 60L * (long)wFlashCnt);
lTmp /= ((wTimerOvfCnt << 8) + TCNT0);

изменил знак умножения на знак деления
lTmp /= k; //поделил полученные обороты на переменную( количество импульсов =1 обороту двигателя)
wRpm = lTmp;

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

Добавлено спустя 4 часа 23 минуты 22 секунды:
еще немного поэкспериметнировал.
lTmp /= k;
wRpm = lTmp;
if (! PINB.2) //вставил условие нажатой кнопки (замыкание на минус) порта B2, там где раньше была точка
{
k=k+1; //прибавил к переменной единицу, чтоб увеличить количество импульсов на 1 оборот двигателя
delay_ms(1000); //сделал паузу 1 секунда, чтоб не было ложных срабатываний кнопки, так как цикл повторяется каждые 0.3сек, и если не разжать кнопку, то просуммирует еще один раз
}

осталась задача записи переменной к в eeprom, и так же хочется сделать вывод на протяжении паузы delay_ms(1000) значение переменной к
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

Сообщение mikitenko » 02 мар 2017 21:39

Хух, наконец закончил. Написать всё не смогу, очень много всего изменил, кому нужно, могу скинуть проект на почту. От себя добавил: ввёл функции работы с eeprom(перед компиляцией нужно включить в cvavr), нашёл в пдф к Тини. Выделил место под переменную, ввёл условие если переменная больше 7 то пнировнять к 1. Ввёл условие суммирования переменной ++ при нажатой кнопке pb2. При к==5 выполнять ещё и деление на 10 (это при 1 импульсе на 2 оборота). При к>=6 к=1. при изменении переменной кнопкой - запись переменной в eeprom. Так же ввёл переменную задержки времени, и на эту задержку времени, которая начинается после нажатия кнопки, на 3 разряд дисплея сделал вывод переменой "к"
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение hardlock » 03 мар 2017 12:27

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

Сообщение mikitenko » 05 мар 2017 08:05

А как его выложить(прикрепить)? Могу вам на почту скинуть, а вы выложите.
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение hardlock » 05 мар 2017 12:41

mikitenko, нажимайте "Стандартный ответ", внизу будет добавить вложения. Прикрепляете архив и всё. Ну или мыло выслал в ЛС.
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3604
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение mikitenko » 05 мар 2017 15:23

Вот предпоследняя версия. С этим проэктом на ногу pb2 припаять кнопку, второй выход кнопки припаять на корпус. Резистор на неё впаивать не нужно, ножку с индикатора тоже убрать с неё (это точка на индикаторе). С этим проэктом при нажатии на кнопку на дисплей выводится изменение количества импульсов на 1 оборот двигателя. От одного до пяти. 5 (в программе это 0.5) означает что 1 импульс равен 2 оборотам двигателя. Этот параметр сохраняется в память eeprom, тоесть после выключения зажигания параметр не сбивается.

В последней версии добавил flash light, тоесть светодиод при достижении определённого количества оборотов (к примеру 5000 и выше), ну и кнопку перевесил на ножку pd3(она вообще свободная). Но этот проэкт на работе
Вложения
tach_v1.1mod.rar
(66.5 КБ) Скачиваний: 89
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение mikitenko » 10 мар 2017 12:44

чуть не забыл! обязательно в проекте, что я выложил, нужно изменить параметр
PORTA=0b00000011;
DDRA= 0b00000011;

PORTB=0b00000000;
DDRB= 0b11111111;

там где PORTB=0b00000000; нужно написать PORTB=0b00000100; //этой единичкой мы повеслили подтягивающий резистор на порт В2
а где DDRB= 0b11111111; нужно написать DDRB= 0b11111011; //этим ноликом мы порт В2 настроили на вход

в принципе на первое время и так сошло бы, но при частом нажатии кнопки может вылететь порт В2, а с этим изменением будет всё ОК
mikitenko
Пробегал мимо
 
Сообщения: 13
Зарегистрирован: 23 янв 2017 17:17
Откуда: Украина

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

Сообщение Gvido » 28 мар 2017 04:32

Здравствуйте очень понравилась ваша версия проекта. :good: Я собрал его прототип без ваших доработок. Но все дело что у меня скут 4х тактный 1 цил. То есть, на 2 оборота 1 импульс... Может вам не сложно было бы выслать схемку, прошивку или проект я сам как бы в програмировании не очень, только начал заниматься МК.
Gvido
Пробегал мимо
 
Сообщения: 5
Зарегистрирован: 27 мар 2017 18:13

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

Сообщение hardlock » 31 мар 2017 09:42

Gvido, если начали заниматься МК, то будет полезно выполнить доработку прошивки самому, тем более что для этого нужно только внимательно прочитать 1й пост и исправить всего одно значение в программе. Ну и в теме уже неоднократно встречались прошивки с разными коэфициентами - не ленитесь, читайте!
Аватара пользователя
hardlock
Администратор
 
Сообщения: 3604
Зарегистрирован: 21 янв 2009 15:48
Откуда: Minsk - zp.ua

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

Сообщение Gvido » 03 апр 2017 03:33

hardlock, Если вы про 17 строку, то не одно значение мне не подходит. На 2 оборота 1 импульс нужен. И вообще не могу добиться что бы на скуте хоть какие то значения запрыгали. Подключил энкодер на вход работает. Манипуляции с R220k и кондером на входе не помогли пока.
Осцилографа нет. Что там выходит на катушку.. Ну буду еще пробывать.
Gvido
Пробегал мимо
 
Сообщения: 5
Зарегистрирован: 27 мар 2017 18:13

Сообщение maksim_tverdohlb » 03 апр 2017 08:46

Как измерять обороты эл двигателя на станке? Как сделать оптодатчик ???На шкив белой краской метку сделал и на нее направить датчик с ик диодом и ик приемником....)))Или на щелевой оптопаре)))Незнаю как это реализовать....
maksim_tverdohlb
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 03 апр 2017 08:34

Re:

Сообщение IYra » 03 апр 2017 09:03

maksim_tverdohlb писал(а):Как измерять обороты эл двигателя на станке? Как сделать оптодатчик ???На шкив белой краской метку сделал и на нее направить датчик с ик диодом и ик приемником....)))Или на щелевой оптопаре)))Незнаю как это реализовать....

Можно еще датчик Холла попробовать

Добавлено спустя 3 минуты 23 секунды:
Re: Тахометр на ATtiny2313
Gvido писал(а):hardlock, Если вы про 17 строку, то не одно значение мне не подходит. На 2 оборота 1 импульс нужен.

подправить
Код: Выделить всё
lTmp /= byBladeCnt;

на
Код: Выделить всё
lTmp *= 2;


Gvido писал(а): И вообще не могу добиться что бы на скуте хоть какие то значения запрыгали. Подключил энкодер на вход работает. Манипуляции с R220k и кондером на входе не помогли пока.
Осцилографа нет. Что там выходит на катушку.. Ну буду еще пробывать.

Уменьшать R220k
IYra
Живу тут
 
Сообщения: 626
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Сообщение Gvido » 03 апр 2017 10:03

Уменьшал пока только до 10к и кондер 100n. Буду пробыватьеще. Ещё вопрос прошивать обязательно с внешним кварцем?
Gvido
Пробегал мимо
 
Сообщения: 5
Зарегистрирован: 27 мар 2017 18:13

Re:

Сообщение IYra » 03 апр 2017 11:01

Gvido писал(а):Уменьшал пока только до 10к и кондер 100n. Буду пробыватьеще.

А куда подсоединен вход тахометра ?
Gvido писал(а):Ещё вопрос прошивать обязательно с внешним кварцем?

Обязательно
IYra
Живу тут
 
Сообщения: 626
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение maksim_tverdohlb » 03 апр 2017 16:16

кто шарит)))Пожалуйста)))Скомпилируйте прошивку с оа для мк AT90S2313))))Прошивка заливается но не чего не показывает)))))резисторы на индикатор поставил 300 ом
maksim_tverdohlb
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 03 апр 2017 08:34

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

Сообщение IYra » 03 апр 2017 17:30

maksim_tverdohlb писал(а):Скомпилируйте прошивку с оа для мк AT90S2313

Вот попробуй
Вложения
tach2_OA.rar
(1.69 КБ) Скачиваний: 46
IYra
Живу тут
 
Сообщения: 626
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

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

Сообщение maksim_tverdohlb » 03 апр 2017 17:44

ноль в правом углу поевился)))а сколько в этой прошивке импульсов на оборот? Если я подключу переменку 50 гц то сколько покажит тахометр?
maksim_tverdohlb
Пробегал мимо
 
Сообщения: 3
Зарегистрирован: 03 апр 2017 08:34

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

Сообщение IYra » 03 апр 2017 18:29

maksim_tverdohlb писал(а):ноль в правом углу поевился)))а сколько в этой прошивке импульсов на оборот? Если я подключу переменку 50 гц то сколько покажит тахометр?


#define byBladeCnt 2 //1- две катушки, 2 - одна катушка, 4 - мотоцикл..

На переменке 50 гц должно показать 1500
IYra
Живу тут
 
Сообщения: 626
Зарегистрирован: 01 фев 2012 19:36
Откуда: Санкт-Петербург

Пред.След.

Вернуться в ATtiny



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

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