24 февраля 2022 года в 5 утра, без объявления войны, россия напала на Украину.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
![](https://hardlock.org.ua/download/file.php?id=7587&t=1)
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Они пришли "освобождать народ от нацистов и националистов".
С этого момента наша жизнь изменилась на "до" и "после".
Нас освобождают от наших домов, от наших любимых, от наших родителей и от наших детей....
Тут я не буду никого агитировать или переубеждать, разумный человек найдёт всю информацию
в интернете, а для зомби никакие доводы и факты не послужат аргументом.
Я не умею много писать, да и без мата тут сложно что-то написать.
Поэтому выражу все мои чувства одним фото.
«Спасибо дедушка путин за счастливое детство и мое освобождение». ©
Дополню словами уважаемого человека, широко известного в узких кругах:
тут путин не виноват, не он нажал на кнопку сброса,
- виноват пилот, который нажал на кнопку сброса, мог промахнуться. виноваты жена/мать/брат/друг пилота, которые не позвонили ему, и не сказали "нет войне",
- виноват тот, кто отдал приказ, и виноваты его жена/мать/брат/друг,
- виноват тот, кто цеплял бомбу, потому что он мог её обезвредить, "ну бывает, не сработала",
- виноват кладовщик, виноват водитель, который перевозил эту бомбу. виноваты жена...и т.д., потому что не позвонили и не сказали "нет войне, не вези бомбы",
- виноваты все журналисты оркостана, потому что они врут,
- виноваты недограждане, потому что не сказали журналистам "не врите",
- виноваты все... все 160 миллионов,
- а те 2, 3, 5 тысяч, которые вышли, и которых запаковали, это даже не десятая процента, это погрешность... случайно оказавшиеся в мордоре люди. ©
PS: За несколько часов до вторжения был атакован и взломан крупный интернет хостинг в Киеве, где и размещался мой сайт. Только 16 марта отважным админам удалось частично восстановить работу хостинга. Далеко не все сайты выжили, т.к. были повреждены даже бэкапы.
Нет, нет, я не жалуюсь, нет. В цифровом мире нет ничего ценного, материального...
Due to periodic DDoS attacks, the forum may not be available.
Тахометр на ATtiny2313
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Re: Тахометр на ATtiny2313
чи лижі не їдуть, чи я .... спасибо hardlock, на Вашей скомпилированной прошивке с общим анодом, и значением 1 тахометр стал показывать то что и должен. Вы компилировали с проекта, который выложен в шапке темы? может у Вас проект другой? я ведь тоже самое делаю, жму shift+F9, и полученный hex записываю. может действительно изменения, что я вношу, просто не применяются.. хотя я же сохраняю проект с изменениями, открываю его, и они там есть. в любом случае спасибо!
изменения применяются, так как скомпилированные прошивки отличаются
Добавлено спустя 21 час 12 минут 41 секунду:
можете скинуть проект, с которого Вы компилите прошивки, может в шапке темы он не рабочий.. и какая версия codevision у вас
изменения применяются, так как скомпилированные прошивки отличаются
Добавлено спустя 21 час 12 минут 41 секунду:
можете скинуть проект, с которого Вы компилите прошивки, может в шапке темы он не рабочий.. и какая версия codevision у вас
- hardlock
- Администратор
- Posts: 4011
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Тахометр на ATtiny2313
mikitenko, выложу в ближайшее время, как доберусь до ноута.
- hardlock
- Администратор
- Posts: 4011
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Тахометр на ATtiny2313
Выкладываю.
Новое имя константы "коэфициента" - byDivider в 39й строке.
строки 32-35 - ОА, ОК, или с транзистором.
Новое имя константы "коэфициента" - byDivider в 39й строке.
строки 32-35 - ОА, ОК, или с транзистором.
Code: Select all
#define Anode //для индикатора с ОА
//#define AnodePNP //для индикатора с ОА и pnp транзисторами
//#define Cathode //для индикатора с ОК
//#define CathodeNPN //для индикатора с ОК и npn транзисторами
- Attachments
-
- tach_v1.1.rar
- (5.73 KiB) Downloaded 594 times
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Re: Тахометр на ATtiny2313
спасибо. завтра буду пробовать
Да, с этого проэкта всё отлично работает и перенастраивается, спасибо.
и еще такой вопрос, в строке 41
#define UpCount 4 // +1 = количество пропусков (0,1S) до обновления
что это означает? то что каждые 0.4секунды тахометр выводит на дисплей новые показания оборотов?
и еще в программе есть
// 3 раза в секунду перерисовываем дисплей,
// независимо от обстоятельств.
Я просто хочу добиться более быстрой работы тахометра, при изменении стоки 41 вместо 4 если поставлю 2? или всё равно чаще чем раз в 0.3сек он обновляться всё равно не будет
Да, с этого проэкта всё отлично работает и перенастраивается, спасибо.
и еще такой вопрос, в строке 41
#define UpCount 4 // +1 = количество пропусков (0,1S) до обновления
что это означает? то что каждые 0.4секунды тахометр выводит на дисплей новые показания оборотов?
и еще в программе есть
// 3 раза в секунду перерисовываем дисплей,
// независимо от обстоятельств.
Я просто хочу добиться более быстрой работы тахометра, при изменении стоки 41 вместо 4 если поставлю 2? или всё равно чаще чем раз в 0.3сек он обновляться всё равно не будет
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Re: Тахометр на ATtiny2313
у меня есть такое предложение, но для тех, кто шарит в написании программ. на этом микроконтроллере не используется порт 0А. точнее используется, но он там абсолютно не нужен, так как это точка на семисегментном индикаторе. что если доработать проект так, чтоб повесить на этот порт кнопку изменения параметра "byDivider" (количества импульсов, равных одному обороту двигателя). можно даже чтоб не выводил он этот параметр на индикатор, просто изменял значение и записывал в память, чтоб при выключении тахометра этот параметр не сбивался.
- hardlock
- Администратор
- Posts: 4011
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Тахометр на ATtiny2313
mikitenko, хорошее предложение )
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Re: Тахометр на ATtiny2313
как я это вижу (своим не опытным взглядом):hardlock wrote: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) значение переменной к
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Хух, наконец закончил. Написать всё не смогу, очень много всего изменил, кому нужно, могу скинуть проект на почту. От себя добавил: ввёл функции работы с eeprom(перед компиляцией нужно включить в cvavr), нашёл в пдф к Тини. Выделил место под переменную, ввёл условие если переменная больше 7 то пнировнять к 1. Ввёл условие суммирования переменной ++ при нажатой кнопке pb2. При к==5 выполнять ещё и деление на 10 (это при 1 импульсе на 2 оборота). При к>=6 к=1. при изменении переменной кнопкой - запись переменной в eeprom. Так же ввёл переменную задержки времени, и на эту задержку времени, которая начинается после нажатия кнопки, на 3 разряд дисплея сделал вывод переменой "к"
- hardlock
- Администратор
- Posts: 4011
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Тахометр на ATtiny2313
mikitenko, а почему бы не поделиться тут со всеми?
- hardlock
- Администратор
- Posts: 4011
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Тахометр на ATtiny2313
mikitenko, нажимайте "Стандартный ответ", внизу будет добавить вложения. Прикрепляете архив и всё. Ну или мыло выслал в ЛС.
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Re: Тахометр на ATtiny2313
Вот предпоследняя версия. С этим проэктом на ногу pb2 припаять кнопку, второй выход кнопки припаять на корпус. Резистор на неё впаивать не нужно, ножку с индикатора тоже убрать с неё (это точка на индикаторе). С этим проэктом при нажатии на кнопку на дисплей выводится изменение количества импульсов на 1 оборот двигателя. От одного до пяти. 5 (в программе это 0.5) означает что 1 импульс равен 2 оборотам двигателя. Этот параметр сохраняется в память eeprom, тоесть после выключения зажигания параметр не сбивается.
В последней версии добавил flash light, тоесть светодиод при достижении определённого количества оборотов (к примеру 5000 и выше), ну и кнопку перевесил на ножку pd3(она вообще свободная). Но этот проэкт на работе
В последней версии добавил flash light, тоесть светодиод при достижении определённого количества оборотов (к примеру 5000 и выше), ну и кнопку перевесил на ножку pd3(она вообще свободная). Но этот проэкт на работе
- Attachments
-
- tach_v1.1mod.rar
- (66.5 KiB) Downloaded 430 times
-
- Пробегал мимо
- Posts: 13
- Joined: 23 Jan 2017 16:17
- Location: Украина
Re: Тахометр на ATtiny2313
чуть не забыл! обязательно в проекте, что я выложил, нужно изменить параметр
PORTA=0b00000011;
DDRA= 0b00000011;
PORTB=0b00000000;
DDRB= 0b11111111;
там где PORTB=0b00000000; нужно написать PORTB=0b00000100; //этой единичкой мы повеслили подтягивающий резистор на порт В2
а где DDRB= 0b11111111; нужно написать DDRB= 0b11111011; //этим ноликом мы порт В2 настроили на вход
в принципе на первое время и так сошло бы, но при частом нажатии кнопки может вылететь порт В2, а с этим изменением будет всё ОК
PORTA=0b00000011;
DDRA= 0b00000011;
PORTB=0b00000000;
DDRB= 0b11111111;
там где PORTB=0b00000000; нужно написать PORTB=0b00000100; //этой единичкой мы повеслили подтягивающий резистор на порт В2
а где DDRB= 0b11111111; нужно написать DDRB= 0b11111011; //этим ноликом мы порт В2 настроили на вход
в принципе на первое время и так сошло бы, но при частом нажатии кнопки может вылететь порт В2, а с этим изменением будет всё ОК
-
- Пробегал мимо
- Posts: 5
- Joined: 27 Mar 2017 18:13
Re: Тахометр на ATtiny2313
Здравствуйте очень понравилась ваша версия проекта.
Я собрал его прототип без ваших доработок. Но все дело что у меня скут 4х тактный 1 цил. То есть, на 2 оборота 1 импульс... Может вам не сложно было бы выслать схемку, прошивку или проект я сам как бы в програмировании не очень, только начал заниматься МК.
![:good: :good:](./images/smilies/good.gif)
- hardlock
- Администратор
- Posts: 4011
- Joined: 21 Jan 2009 14:48
- Location: Minsk - zp.ua
- Contact:
Re: Тахометр на ATtiny2313
Gvido, если начали заниматься МК, то будет полезно выполнить доработку прошивки самому, тем более что для этого нужно только внимательно прочитать 1й пост и исправить всего одно значение в программе. Ну и в теме уже неоднократно встречались прошивки с разными коэфициентами - не ленитесь, читайте!
-
- Пробегал мимо
- Posts: 5
- Joined: 27 Mar 2017 18:13
Re: Тахометр на ATtiny2313
hardlock, Если вы про 17 строку, то не одно значение мне не подходит. На 2 оборота 1 импульс нужен. И вообще не могу добиться что бы на скуте хоть какие то значения запрыгали. Подключил энкодер на вход работает. Манипуляции с R220k и кондером на входе не помогли пока.
Осцилографа нет. Что там выходит на катушку.. Ну буду еще пробывать.
Осцилографа нет. Что там выходит на катушку.. Ну буду еще пробывать.
-
- Пробегал мимо
- Posts: 13
- Joined: 03 Apr 2017 08:34
-
- Живу тут
- Posts: 712
- Joined: 01 Feb 2012 18:36
- Location: Санкт-Петербург
Re:
Можно еще датчик Холла попробоватьmaksim_tverdohlb wrote:Как измерять обороты эл двигателя на станке? Как сделать оптодатчик ???На шкив белой краской метку сделал и на нее направить датчик с ик диодом и ик приемником....)))Или на щелевой оптопаре)))Незнаю как это реализовать....
Добавлено спустя 3 минуты 23 секунды:
Re: Тахометр на ATtiny2313
подправитьGvido wrote:hardlock, Если вы про 17 строку, то не одно значение мне не подходит. На 2 оборота 1 импульс нужен.
Code: Select all
lTmp /= byBladeCnt;
Code: Select all
lTmp *= 2;
Уменьшать R220kGvido wrote: И вообще не могу добиться что бы на скуте хоть какие то значения запрыгали. Подключил энкодер на вход работает. Манипуляции с R220k и кондером на входе не помогли пока.
Осцилографа нет. Что там выходит на катушку.. Ну буду еще пробывать.
-
- Пробегал мимо
- Posts: 13
- Joined: 03 Apr 2017 08:34
Re: Тахометр на ATtiny2313
кто шарит)))Пожалуйста)))Скомпилируйте прошивку с оа для мк AT90S2313))))Прошивка заливается но не чего не показывает)))))резисторы на индикатор поставил 300 ом
-
- Живу тут
- Posts: 712
- Joined: 01 Feb 2012 18:36
- Location: Санкт-Петербург
Re: Тахометр на ATtiny2313
Вот попробуйmaksim_tverdohlb wrote:Скомпилируйте прошивку с оа для мк AT90S2313
- Attachments
-
- tach2_OA.rar
- (1.69 KiB) Downloaded 308 times
-
- Пробегал мимо
- Posts: 13
- Joined: 03 Apr 2017 08:34
Re: Тахометр на ATtiny2313
ноль в правом углу поевился)))а сколько в этой прошивке импульсов на оборот? Если я подключу переменку 50 гц то сколько покажит тахометр?
-
- Живу тут
- Posts: 712
- Joined: 01 Feb 2012 18:36
- Location: Санкт-Петербург
Re: Тахометр на ATtiny2313
#define byBladeCnt 2 //1- две катушки, 2 - одна катушка, 4 - мотоцикл..maksim_tverdohlb wrote:ноль в правом углу поевился)))а сколько в этой прошивке импульсов на оборот? Если я подключу переменку 50 гц то сколько покажит тахометр?
На переменке 50 гц должно показать 1500