Реклама на сайте DatasheetsDatasheets

KAZUS.RUN - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Книги и журналы
FAQ по электронике

  Datasheets
Поиск SMD
Онлайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Схемы и проекты
Принципиальные схемы
  Программы
Каталог сайтов
Калькуляторы
  Форумы по электронике
Помощь проекту


 
Опции темы

Тахометр, нужна помощь.

Непрочитано 13.12.2022, 16:34  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от Signalshik2 Посмотреть сообщение
Тип и название переменной нужно в одну строку писать. Просто volatile; и точка с запятой - это нужно удалить, это бред.
Бред удалил, оставил строку:
Код:
...
volatile bit start;
...
Работает.
Реклама:
ew3ds вне форума  
Непрочитано 13.12.2022, 16:49  
mike-y-k
Модератор
 
Регистрация: 04.08.2010
Адрес: Москва СЗАО/МО
Сообщений: 12,274
Сказал спасибо: 11,856
Сказали Спасибо 4,157 раз(а) в 3,175 сообщении(ях)
mike-y-k на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

ew3ds, заодно удалите из кода все неверные вариации, которые были закоментарены "//"
__________________
rtfm forever должно быть основой для каждого. Альтернатива грустна, поскольку метод слепого щенка успешно работает при весьма малом числе вариантов…
mike-y-k вне форума  
Сказали "Спасибо" mike-y-k
ew3ds (13.12.2022)
Непрочитано 13.12.2022, 17:34  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от mike-y-k Посмотреть сообщение
ew3ds, заодно удалите из кода все неверные вариации, которые были закоментарены "//"
Удалим. У меня попутно вопрос, в файле прошивки коменты остаются, или компилятор их не учитывает?
ew3ds вне форума  
Непрочитано 13.12.2022, 18:04  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

компилятор их не учитывает
baiderin вне форума  
Эти 2 пользователя(ей) сказали Спасибо baiderin за это сообщение:
ew3ds (13.12.2022), mike-y-k (13.12.2022)
Непрочитано 17.12.2022, 13:06  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Попутно возник еще вопрос. Как сдвинуть индикацию в разрядах в сторону увеличения оборотов, т.е. чтобы на индикаторе шло отображение выше 10 тыс.об.(без индикации десятков оборотов). Это удобно для регулировки бензопил, бензокос и др. подобного оборудования на максимально допустимые обороты.
ew3ds вне форума  
Непрочитано 17.12.2022, 13:36  
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 409
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Вы выложите свой проект и прокомментируйте что там к чему. Кстати, какой там принцип действия? Также нужно указать максимальное число оборотов.

Последний раз редактировалось Signalshik2; 17.12.2022 в 15:27.
Signalshik2 вне форума  
Непрочитано 17.12.2022, 17:47  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от Signalshik2 Посмотреть сообщение
Вы выложите свой проект и прокомментируйте что там к чему.
#1 Это чужой проект.

Сообщение от Signalshik2 Посмотреть сообщение
Также нужно указать максимальное число оборотов.
15 тыс.
Сообщение от Signalshik2 Посмотреть сообщение
Кстати, какой там принцип действия?
Вот все что было к данному проекту:
Цитата:
Разрешите предложить свой вариант прошивки для данного устройства. Все та же прошивка, но просто я добавил несколько строк помехоустойчивости, путем замера 3 импульсов подряд и проверкой их корректности. Также, ниже 600 оборотов показывает прочерки, сигнализируя о не работающем двигателе. Обновление дисплея сделал не по таймеру, а по условию разности 2 последовательных замеров и при отличии больше чем на 50 - обновление! Сделал также шаг в 50 оборотов чтобы показания меньше мелькали перед глазами.
Я понимаю, что в основе изначально лежал этот исходный код (в архиве).
Вложения:
Тип файла: rar исходный код.rar (5.0 Кб, 0 просмотров)

Последний раз редактировалось ew3ds; 17.12.2022 в 18:58. Причина: Добавил архив
ew3ds вне форума  
Непрочитано 18.12.2022, 14:59  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от ew3ds Посмотреть сообщение
Как сдвинуть индикацию в разрядах в сторону увеличения оборотов, т.е. чтобы на индикаторе шло отображение выше 10 тыс.об.(без индикации десятков оборотов).
Индикацию удалось сдвинуть изменив в файле 7seg.c этот код:
Код:
... for(i=0; i‹4; i++)
      {
       number[3-i]=rpm%10;...
на этот:
Код:
... for(i=0; i‹5; i++)
      {
       number[4-i]=rpm%10;...
Но есть одно но, если в разряде должен быть ноль,то он не отображается.
ew3ds вне форума  
Непрочитано 18.12.2022, 15:55  
j-Roger
Гражданин KAZUS.RUN
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 838
Сказал спасибо: 379
Сказали Спасибо 942 раз(а) в 451 сообщении(ях)
j-Roger на пути к лучшему
По умолчанию Re: Тахометр, нужна помощь.

Сообщение от ew3ds Посмотреть сообщение
Но есть одно но, если в разряде должен быть ноль,то он не отображается.

Если буфер индикатора теперь рассчитан на 5 знакомест вместо 4-х, то видимо в функцию RefreshDisplay() нужно внести изменения:

Код:
void RefreshDisplay()
{
	CHR_PORT=ch[number[0]]; // ch[number[1]]
	CBI(NUM_PORT,NUM_1);
	_delay_us(LED_delay);
	SBI(NUM_PORT,NUM_1);
	
	CHR_PORT=ch[number[1]]; //  ch[number[2]]
	CBI(NUM_PORT,NUM_2);
	_delay_us(LED_delay);
	SBI(NUM_PORT,NUM_2);
	
	CHR_PORT=ch[number[2]]; // ch[number[3]]
	CBI(NUM_PORT,NUM_3);
	_delay_us(LED_delay);
	SBI(NUM_PORT,NUM_3);
	
	CHR_PORT=ch[number[3]]; // ch[number[4]]
	CBI(NUM_PORT,NUM_4);
	_delay_us(LED_delay);
	SBI(NUM_PORT,NUM_4);
}
Дополнительный старший разряд из буфера number не отображается, т.к. индикатор 4-разрядный. Кстати, и буфер нужно объявить number[5].

P.S. Еще нужно изменить в функции инициализации initdev() строку MCUCR=0x00 на MCUCR=0x02 или, что то же, на MCUCR=(1‹‹ ISC01) | (0‹‹ ISC00), т.е. прерывание должно срабатывать по спаду входного импульса, а не по низкому уровню. Иначе МК из прерывания не будет вылазить, пока на входе низкий уровень. Тут задача - измерение периода входного импульса.

Если я ничего не напутал
j-Roger вне форума  
Сказали "Спасибо" j-Roger
ew3ds (18.12.2022)
Непрочитано 18.12.2022, 18:54  
ew3ds
Временная регистрация
 
Регистрация: 03.03.2005
Сообщений: 52
Сказал спасибо: 9
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
ew3ds на пути к лучшему
По умолчанию

j-Roger, спасибо большое за запощь. Пришлось еще дополнительно назначить свободный порт контроллера и убрать подчеркивания _delay...(программа ругалась "Error:....7seg.c(33): undefined symbol '_delay_us'") и все заработало.

Сообщение от j-Roger Посмотреть сообщение
nitdev() строку MCUCR=0x00 на MCUCR=0x02 или, что то же, на MCUCR=(1‹‹ ISC01) | (0‹‹ ISC00),
Вот тут заработал первый вариант (MCUCR=0x02). На второй программа ругнулась: "Error:......main.c(22): ')' expected, but '‹' found"

j-Roger, извиняюсь по поводу MCUCR=(1‹‹ ISC01) | (0‹‹ ISC00) - работает.
Это моя оплошность, я скопировал из сообщения, а нужно было прописать вручную.

Последний раз редактировалось mike-y-k; 18.12.2022 в 21:12. Причина: 6.6
ew3ds вне форума  
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Люди, у кого есть АС MICROLAB H 600 или H 500,пожалуйста отзовитесь, нужна помощь Lesha2222 Аудиотехника 1 30.01.2014 21:44
Hantek 3064A ремонт (нужна помощь) Kulibin1234 Измерительное оборудование 0 21.10.2013 14:16
Нужна помощь в ремонте инвертора 373niko Источники питания и свет 10 06.09.2009 21:13
Нужна помощь!!! ШД -> UNL2003A -> PIC16F84A xxxmonejall Микроконтроллеры, АЦП, память и т.д 10 04.08.2009 00:02
Нужна помощь профессионала! romstal Аудиотехника 7 23.02.2009 15:19


Часовой пояс GMT +4, время: 10:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.