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

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

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

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

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

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

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

Закрытая тема
Опции темы
Непрочитано 06.08.2016, 23:36   #91
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Сообщение от Alex9797 Посмотреть сообщение
А можно их перечислить, все четыре? И с описанием каждого. Пусть описания будут хоть краткими, но чтобы при этом понятно было, что там в них происходит.
Я их в течении месяца мучаю, и описать не смогу - мозг поплыл уже. Есть куски кода программы. Могу так привести пример...
1 пример это тот что сейчас.
2 пример - тот что раньше делал. я его тут раньше вылаживал на страницах 2-5 наверно... гдето так...
3 - я заводил на вход INT0 считал количество импульсов и потом вычислял.(этот способ само стабильно работал, но медленно) вот он ))
Сообщение от makakus Посмотреть сообщение
rpm=((tahom[0]*16)+(tahom[1]*16)+(tahom[2]*16)+(tahom[3]*16)+(tahom[4]*16)+(tahom[5]*16)+(tahom[6]*16)+(tahom[7]*16)+
(tahom[8]*16)+(tahom[9]*16)+(tahom[10]*16)+(tahom[11]*16)+(tahom[12]*16)+(tahom[13]*16)+(tahom[14]*16)+(tahom[15]*16)+
(tahom[16]*16)+(tahom[17]*16)+(tahom[18]*16)+(tahom[19]*16));
};
4 - он был на много раньше. Тоже заводил на вход INT0 и как то вычислял. Уже не помню....

Главное что если подаю частоту любую на вход - всё четко измеряет как на осциллографе. А на тахометре не хочет работать. Завтра точно проверю в гараже на осциллографе какой там сигнал...
Реклама:

Последний раз редактировалось miwutka; 07.08.2016 в 01:23.
miwutka вне форума  
Непрочитано 07.08.2016, 08:54   #92
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Сообщение от miwutka Посмотреть сообщение
Главное что если подаю частоту любую на вход - всё четко измеряет как на осциллографе. А на тахометре не хочет работать. Завтра точно проверю в гараже на осциллографе какой там сигнал...
Всем привет. Посмотрел я твой файл, miwutka, я вообще удивляюсь, как он работает. Ты всю программу со всеми функциями загнал в прерывания, а главный цикл пустой. Но,если от генератора частоты работает нормально, тогда попробуй включить подавление помех при захвате.
Установи в регистре TCCR1B бит ICNC1 вместо ICES1, он у тебя там установлен два раза. Тогда у тебя захват не произойдет, если в течении 4 тактов процессора на входе не будет установившегося высокого уровня.
И ты не представляешь, как трудно что-либо понять, когда даже в комментариях у меня "крякозяблы".
Лучше выложи картинку схемы подключения, тогда можно будет что-то другое думать.

Цитата:
почему то всё что пишу в основном цикле - не выполняется.....
Если честно, я бы удивился, если бы оно выполнилось. У тебя три прерывания и все они забиты не только макросами, но уже и функциями не считая обычных инструкций. Помнится makakus писал, что за такие прерывания надо жечь на медленном огне, так это и есть тот огонь который мозги плавит. А вообще-то старайся не копипастить, а что-то свое придумывать и стараться не прописывать код в портянку, а прописывать функциями и макросами. Разобрать по отдельности будет намного проще. И твоя программа будет читаться просто как книжка.

Последний раз редактировалось МВА; 07.08.2016 в 09:32.
МВА вне форума  
Эти 2 пользователя(ей) сказали Спасибо МВА за это сообщение:
Alex9797 (07.08.2016), miwutka (07.08.2016)
Непрочитано 07.08.2016, 12:15   #93
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Спидометр атмега 8

прерывания очистил ))
PHP код:
ISR(TIMER0_OVF_vect)
{
    
tim1_temp++;
        
};

ISR(TIMER1_OVF_vect)
{
    
        
N=0xFFFF;
        
speed_sr=0;
    
}

ISR(TIMER1_CAPT_vect)
{
    
ICR1;
    
TCNT1=0;
    
flag=1;
    
    
}

while(
1//в основном цикле так...
    
{
        if (
tim1_temp == ) {
            if (
OCR2 › 175OCR2--;
            
tim1_temp=0;
        }
        
V=Math(NT_clc_timeN_V);
        
LED_bar(V);//пока без интегрирования отображение
        
        
speed_temp+=V;//тут интегрируем
        
i_speed++;
        if (
i_speed == 10) {
            
i_speed=0;
            
            
speed_sr=speed_temp*0.1;  speed_temp=0;
            
        }
//LED_bar(speed_sr);//интегрированное значение
        
    

вот такие они стали. Чтобы зря дрова не палить, и печь не разжигать )) Всё остальное теперь в основном цикле работает. А ведь давно уже сталкивался с такой проблемой.... Я на начальной стадии постоянно вот так некрасиво пишу код, как попало... Но на стме изначально пишу покрасивее )) Теперь поеду проверять в гараже, если и после этого будет глючить....

Последний раз редактировалось miwutka; 07.08.2016 в 12:18.
miwutka вне форума  
Непрочитано 07.08.2016, 12:37   #94
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Ну, это уже лучше, только интегрирование в цикле у тебя будет выполнятся с одним значением. Заверни интегрирование в функцию, создай флаг типа bool, флаг устанавливай в прерывании по захвату, а сбрасывай внутри функции. А то у тебя сейчас в главном цикле будет усредняться одно значение скорости, так, как обновления не будет пока не произойдет захват. Кстати, функцию подсчета скорости, тоже можно запускать по этому флагу. Не зачем контроллеру пересчитывать все время одно и тоже. Только функцию подсчета писать выше функции интегрирования.

P.S. Да, сбрасывать флаг лучше не в функции, потому, что функцию можно сохранить в библиотеку и использовать в других местах, а внутри тела функции if(F), в которой будешь вызывать свои функции по флагу.

Последний раз редактировалось МВА; 07.08.2016 в 12:42.
МВА вне форума  
Непрочитано 07.08.2016, 12:53   #95
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Подправил. Всё на много стабильнее стало работать.....
Сейчас пойду проверю в машине. Благо вайфай достает до машины....
miwutka вне форума  
Непрочитано 07.08.2016, 13:31   #96
Signalshik2
Вид на жительство
 
Аватар для Signalshik2
 
Регистрация: 11.08.2015
Сообщений: 408
Сказал спасибо: 17
Сказали Спасибо 37 раз(а) в 28 сообщении(ях)
Signalshik2 на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Сообщение от miwutka Посмотреть сообщение
t=125000/z;
speed=t*0.6;
rpm=speed;
скажи, пожалуйста, что означает этот код.
Signalshik2 вне форума  
Непрочитано 07.08.2016, 14:03   #97
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Signalshik2, это я так скорость считал. Теперь надо переделывать. Так не буду использовать...

МВА, включил фильтр ICNC1 и интегрирование - всеравно индикация дергается также..... Любо надо осциллографом глянуть что там происходит с сигналом от катушки, либо нужен какойто фильтр хитрый... Потому что у автора который в ютубе делал всё отлично работает. Но у него динамическая индикация без рагистров сдвига, а я на регистрах решил сделать. Но думаю индикация погоды не строит....
Теперь буду думать что еще надо.....
miwutka вне форума  
Непрочитано 07.08.2016, 14:03   #98
МВА
Гражданин KAZUS.RU
 
Регистрация: 15.08.2010
Адрес: Днепр
Сообщений: 842
Сказал спасибо: 74
Сказали Спасибо 199 раз(а) в 174 сообщении(ях)
МВА на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Сообщение от Signalshik2 Посмотреть сообщение
скажи, пожалуйста, что означает этот код.
Я ему задавал этот вопрос в 76 посту он отвечал в 77-м.
Сейчас он вместо этого использует функцию Math(), которую я выложил в файле Tacho.

Цитата:
МВА, включил фильтр ICNC1 и интегрирование - всеравно индикация дергается также..... Любо надо осциллографом глянуть что там происходит с сигналом от катушки, либо нужен какойто фильтр
Сейчас посмотрю, на асме я точно делал фильтр, который работает стопудово, а на СИ не помню, если есть выложу, если нет наборсаю.

Последний раз редактировалось МВА; 07.08.2016 в 14:06.
МВА вне форума  
Непрочитано 07.08.2016, 14:22   #99
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Спидометр атмега 8

МВА, не думаю что чтото с железом может быть..... я сигнал с катушки подключил как тут http://avtoelectro.radioliga.com/dev...ch/an_tach.gif через транз, стабилитрон, только конденсатор С8 не подключал. Незна что он может дать..... Может в нем дело...?

Я делал трехфазный регулятор мощности на атмеге 8. И у меня он пропускал импульсы на управление которые шли. Поставил атмегу 328. Код скопипастил ничего не меняя. Ну только регистры подправил. И импульсы шли идеально.... Незнаю почему так по сей день ))) Ну не думаю что тут надо на 328-ую менять )))) Мне тогда проще наверно будет на стм32 платку маленькую сделать))) Но надо с этим разобраться.....

Кварц использую внутренный. Может ли быть из-за того что не внешний? Когда делал регулятор мощности 1-фазный там инпульсы не совсем стабильные были при внутреннем тактировании. Постави внешний кварц и стали как вкопаные...

Последний раз редактировалось miwutka; 07.08.2016 в 14:43.
miwutka вне форума  
Непрочитано 07.08.2016, 15:27   #100
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: Спидометр атмега 8

Сообщение от МВА Посмотреть сообщение
- сконфигурируй вход захвата, как выход
ножку ICP1 сделать выходом?

Сообщение от МВА Посмотреть сообщение
- подключи эту ножку к функции
эту ножку как вход сконфигурировать? Я выбрал PORTD.2
miwutka вне форума  
Закрытая тема

Закладки


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
атмега прошил другой прошивкой bass1981 AVR 17 28.05.2016 19:04
Тахометр и спидометр на Atmega8l GMVM Микроконтроллеры, АЦП, память и т.д 14 05.07.2010 16:29
Атмега 32а, не известно под какую частоту прошита. sae74 Микроконтроллеры, АЦП, память и т.д 1 10.04.2010 19:33
Добрый вечер,люди нужна схема корректора показаний спидометр MAICOM Электроника средств транспорта 5 10.02.2008 19:07
Электронный спидометр на Газель-33021 Gazel37 Информация по радиокомпонентам 1 12.05.2007 00:41


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


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