Перейти к содержанию

Подсчет имупульсов/оборотов двигателя ВАЗ инжектор с помощью ATMEGA8 и C


Рекомендуемые сообщения

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для корректной работы литий-железофосфатных (LiFePO4) аккумуляторов

 Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ, также как и для других, очень важен контроль процесса заряда и разряда, а специализированных микросхем для этого вида аккумуляторов не так много. Инженеры КОМПЭЛ подготовили список имеющихся микросхем и возможных решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Только что, Alex сказал:

Это же просто периодичный вывод пустоты и информации.

Да, но почему то не получается вывести "пустоту", может плохо стараюсь, буду пробовать сейчас еще

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Alex сказал:

Дак пустота - это тот же символ,

Получилось, однако сейчас надо думать как без delay_ms удерживать какое-то время пустоту на экране. Видимо тоже через таймер.

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

В том же таймере счетчик завести. Плюс оставь в таймере только вывод массива на дисплей, а массив задавай в любом месте программы

Изменено пользователем BARS_
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, BARS_ сказал:

а массив задавай в любом месте программы

Прерывание таймера сейчас вот так выглядит:

ISR (TIMER0_OVF_vect)
{
  TCNT = 0x45;
  LED_string(symbol[i], i<<i); //Функция построчного вывода массива
  if (i==6) i=0;
  else i++;
}

 

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Расчет оборотов и вывод динамической индикации можно сделать на одном таймере Т1.

Заведи выход на тахометр от ЭБУ на вход ICR таймера и по каждому сигналу на тахометр в прерывании таймера по захвату, т.е. каждые полоборота коленвала, у тебя будут данные оборотов, хочешь рассчитывай обороты, хочешь просто значение таймера используй как критерий 3000 об/мин, а по другому прерыванию, например сравнения или переполнения, вывод индикации. И точность будет более чем достаточная.

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, BARS_ сказал:

Тогда вообще не пойму проблему. Будет мигать

Выводится цифра;

Вывел пустоту;

//как лучше здесь организовать задержку чтобы пустота повисела хоть полсекунды?

Выводится цифра;

 

 

4 минуты назад, donec сказал:

Расчет оборотов и вывод динамической индикации можно сделать на одном таймере Т1.

Буду пробовать! Благодарю за подробные разъяснения!

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Только что, -=FISHER=- сказал:

пустота повисела хоть полсекунды

лучше всего завести в прерывании счетчик. Проще всего через delay в главном цикле

Ссылка на комментарий
Поделиться на другие сайты

5 минут назад, donec сказал:

 

3 минуты назад, BARS_ сказал:

Проще всего через delay в главном цикле

Но это не грамотно и нехорошо?

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, -=FISHER=- сказал:

Но это не грамотно и нехорошо?

Кто это сказал ?
Если delay в основном цикле ничему не мешает, то почему бы его не использовать ?

Вообще проблем не вижу. Заполняем массив символов в основном цикле, там же и проверка на превышение оборотов. Там же и мигание. ...

Ссылка на комментарий
Поделиться на другие сайты

57 минут назад, Alex сказал:


Если delay в основном цикле ничему не мешает, то почему бы его не использовать ?

Я где-то слышал что delay останавливает и cpu и всё всё всё. Типа контроллер не делает вообще ничего, будет ли он тикать таймера?

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Если delay стоит не в прерывании, то останавливается только цикл. Прерывания продолжают работать. Ну и наоборот, поставишь в прерывание, на время задержки останется работать только цикл.

Изменено пользователем BARS_
Ссылка на комментарий
Поделиться на другие сайты

@BARS_ А быть может Вы ещё дадите мне дельный совет, как грамотнее отследить произошло ли нажатие ещё какой-нибудь кнопки, кроме требуемой, если учитывать что опрос кнопок идет в цикле while(1) путем проверки условия

#define GEAR1 0
#define GEAR2 1  
#define GEAR3 2
#define GEAR4 3
#define GEAR5 5 //цифра 4 пропущена, так как на PD4 будет приходить сигнал от ЭБУ авто

if (!(PIND&(1<<GEAR1))
    {
	}

if (!(PIND&(1<<GEAR2))
    {
	}
    
if (!(PIND&(1<<GEAR3))
    {
	}
    
if (!(PIND&(1<<GEAR4))
    {
	}
    
if (!(PIND&(1<<GEAR5))
    {
	}
    

 

Изменено пользователем -=FISHER=-

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Да, братцы, Си не красит мыслительные процессы, он их губит в зародыше.:)

Какая частота обновления динамики? 200ГЦ? Хватит такой частоты на опрос кнопок?

Ссылка на комментарий
Поделиться на другие сайты

Я собирал частотомер и брал за основу код из сети. Этот код мог определять частоту, период и ещё какой-то параметр один, не помню какой. Сигнал поступал на вход внешнего прирывания. Время отсчитывал таймер 1. Таймер 0 опрашивал 6 кнопок. И ко всему этому я выводил параметры на дисплей Нокия 3310 с кривой библиотекой. Все это при тактовой 8МГц. Максимальная измеряемая частота около 2МГц. 

А у вас 7сегментов и одна кнопка при входящей частоте максимум 200Гц. Хватит страдать фигней, там ресурсов ещё на 2 самолета и комбайн хватит

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

В 11/25/2016 в 23:34, Геннадий сказал:

Какая частота обновления динамики? 200ГЦ? Хватит такой частоты на опрос кнопок?

Ду хватит по-любому. Это Вы к тому что опросом кнопок должен заняться таймер?

В 11/25/2016 в 23:34, Геннадий сказал:

Да, братцы, Си не красит мыслительные процессы, он их губит в зародыше.:)

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

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Не, если честно то 200Гц для кнопок многовато, это получается каждые 5 миллисекунд. Нужномаксимум 30-40Гц на опрос 

Не знаеш как? Спроси у Google'а !!!

Ссылка на комментарий
Поделиться на другие сайты

В 11/26/2016 в 00:07, Viktor26 сказал:

А у вас 7сегментов и одна кнопка

У меня светодиодная матрица 5х7 и 6 кнопок

Мы все учились по-немногу, чему-нибудь и как-нибудь...

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы публикуете как гость. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Сендя таки сделал  это в модели  включение и авто выключение  , все чин нарём , но  таки подаю четкий  1000 гц ,то  коль разряды младшие в нулях , а сигнал идёт . Полюбому  вырвубается  через заданное время  ...  Ну ладно запомню и если  что буду  иметь виду что коль разряды в нулях , то жди отключения  по заданной программе 
    • О, это очень просто. Тебе понадобятся: сушёная лягушачья лапка - 3 штуки; крылья комара - десять штук; фекалии вомбата - тридцать штук. Ингридиенты высушить, перетереть в порошок и размешать в слизи дождевого червя. Полученной смесью обмазать входящие данные и прочитать заклинание. Ну и конечно - и самое главное - не забыть поставить реле.
    • Я бы с удовольствием, но там проблемс. Сопротивление самих отводов на платах потенциометров деградировало до 130-150 Ком, вместо Ноля. Поясню: От ножек для пайки до дорожек идут тоководы с низким сопротивлением. Они был на полимерной основе и осыпались. В двух резисторах. Я пробовал восстановить насыпкой графита, с припайкой на ножку тонкой пластинки над графитом, но результат меня не очень порадовал. Да, стало 10 Ком, но на целых тоководах чёткий ноль!  Какбе, хотелось заменить. К сожалению, фото платы с ремонтом сделать не догадался, сфотал уже собранный резистор - на нём видно пайку накладки  у первой ножки (накладка - просто сплюснул в тисочках жилку 0,4 мм,  насыпал графит, прижал, припаял, смазал "суперклеем",  вроде неплохо, но не айс - надо менять)    
    • Всем привет ! заимел такой монитор Aquarius TF1910W  проблемка такая нет звука на наушники и на колонки . может дело в драйверах? кто подскажет в остальном монитор работает исправно .по характеристикам встроенные колонки есть в нём но глухо .сам монитор не вскрывал ещё .
    • Добрый день всем! Есть необходимость сделать сквозной тракт USB HOST > UART , как на прием так и на передачу. На прием по UART и передача в USB HOST работает +/- нормально. Но вот прием из USB HOST и передача в UART не работает вообще. Такое ощущение что не возникают прерывания по USB HOST и принимаются одни нули. За основу взял код из видео: Этот код у меня корректно не работает. У кого есть примеры работы с USB хост HAL ?  Обработка приема и передачи: Вызов обработчика:     Обработка прерывания по UART:   void USART2_IRQHandler(void) { /* USER CODE BEGIN USART2_IRQn 0 */ NVIC_DisableIRQ(OTG_FS_IRQn); if (USART2->SR & USART_SR_RXNE) { CDC_TX_Buffer[rx_wr_index1++]=USART2->DR; if (rx_wr_index1 == RX_BUFF_SIZE) rx_wr_index1=0; timer=0; } NVIC_EnableIRQ(OTG_FS_IRQn); NVIC_SetPriority(OTG_FS_IRQn, 1); /* USER CODE END USART2_IRQn 0 */ HAL_UART_IRQHandler(&huart2); /* USER CODE BEGIN USART2_IRQn 1 */ /* USER CODE END USART2_IRQn 1 */ }  
    • Почитай описание функции, к тому, что там написано я не знаю, что еще добавить
×
×
  • Создать...