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

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

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

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

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

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


 
Опции темы
Непрочитано 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
Адрес: Москва СЗАО
Сообщений: 11,257
Сказал спасибо: 11,169
Сказали Спасибо 3,858 раз(а) в 2,928 сообщении(ях)
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.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,729
Сказал спасибо: 2,435
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
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
Сообщений: 408
Сказал спасибо: 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.RU
 
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 709
Сказал спасибо: 363
Сказали Спасибо 795 раз(а) в 370 сообщении(ях)
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, время: 16:01.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot