Аппаратный счетчик импульсов на I2C для Ардуино.

Обсуждаем контроллеры компании Atmel.
Ответить
Родился
Сообщения: 7
Зарегистрирован: Чт ноя 29, 2018 21:52:42

Сообщение Tehnikr »

Хочу собрать автомобильный компьютер на Ардуине. Среди функций: часы, GPS логгер, возможность вводить и запоминать данные о заправке с клавиатуры, считывать уровень топлива с штатного датчика и т.д. Как часть алгоритма, нужно получать данные с датчика скорости, т.е. счетчик импульсов. Т.к. нагрузка на контроллер большая, то, вероятно, программные варианты будут пропускать импульсы. По этому хотелось бы счетчик выполнить аппаратно, чтобы считывать с него данные в любое удобное время. Как вариант I2c или что-то подобное. Какие варианты можно рассмотреть?
Реклама
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

PCF8583/PCF8563
Смысл микрухи в том, что она может считать импульсы по осциляторному входу.
В режиме счетчика можно вытаскивать насчитанное по I2C с защелкиванием результата из всех регистров при чтении первого.
Реклама
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина

Сообщение vanyap1 »

DS1672 вот спецмикросхема.
Контактная информация:
Родился
Сообщения: 7
Зарегистрирован: Чт ноя 29, 2018 21:52:42

Сообщение Tehnikr »

Ок, спасибо, буду изучать.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

не знаю, есть ли это в ардуине, но в мегах точно есть:
1) завести сигнал на ногу прерывания, можно даже само прерывание не включать, а только флаг его иногда проверять (с частотой не ниже частоты максимальной скорости) и сбрасывать.
2) можно один из таймеров под счетчик отдать...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Родился
Сообщения: 7
Зарегистрирован: Чт ноя 29, 2018 21:52:42

Сообщение Tehnikr »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=3541338#p3541338"]не знаю, есть ли это в ардуине, но в мегах точно есть:
1) завести сигнал на ногу прерывания, можно даже само прерывание не включать, а только флаг его иногда проверять (с частотой не ниже частоты максимальной скорости) и сбрасывать.
2) можно один из таймеров под счетчик отдать...[/uquote]

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

Добавлено after 2 minutes 21 second:
Насчет тех двух таймеров. Посмотрел даташиты. Судя по ним, это часы. Счетчики кварца с декодерами под дату и время. Как перевести их в режим просто счета я не нашел... :( К тому же DS1672 только под 3.3 вольта, там еще питание надо отдельно городить. Может я что-то недочитал?
Реклама
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

neo-m8 - часы, GPS и горизонтальная скорость.
Электрический кот
Сообщения: 1048
Зарегистрирован: Пт июл 30, 2010 11:49:03
Откуда: Украина

Сообщение vanyap1 »

Питание отдельно городить нет необходимости. Там два пина питания . Основной и бекап батарея с возможностью зарядки.
Счетчик 32 битный. Может работать автономно и только по требованию можно проверить что он там насчитал и сбросить.
Что мешает завести сигнал для счета на OSCIN.
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Tehnikr писал(а):Т.к. нагрузка на контроллер большая, то, вероятно, программные варианты будут пропускать импульсы.
Почему не выбрали более мощный контроллер?
Они разные есть. И с аппаратным подсчетом импульсов и с частотой тактирования 400 МГц и больше.
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Сообщение AndTer »

[uquote="Мурик",url="/forum/viewtopic.php?p=3541623#p3541623"]Почему не выбрали более мощный контроллер?[/uquote]
Потому что адурина. Для более мощного надо самому хоть что то уметь делать...
Глупый не задает вопросы. Глупый и так все знает.
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

На ардуине все само делается?
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

[uquote="AndTer",url="/forum/viewtopic.php?p=3541750#p3541750"]Потому что адурина...[/uquote] потому и не хватает ресурсов.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

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

Добавлено after 23 minutes 4 seconds:
т.к. аппаратный PWM у тебя не задействован, то и таймеры (кроме того, что миллис считает) скорее всего свободны, почитай про таймер 1, (попробуй обратиться к его регистрам напрямую, как к переменным) прикинь, на какую ногу ардуины выведен его счетный вход. этот таймер 16 битный, а потому даже при частоте импульсов 1кГц его можно раз.в минуту опрашивать. таймер считает покругу, это значит что его можно не сбрасывать, а просто вычитать старые показания из новых (если при этом разность ляжет в 16 битную переменную,ито и в случае переполнения таймера ошибки не будет).
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 15599
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Адуринки тоже РАЗНЫЕ бывают.
Соответственно и задачи под соответствующие платформы.
В принципе подход верный - обработчик периферийными задачами реального времени заниматься не дложен - дело "головы" считать и команды выдавать (даже не интерфейсом пользователя заниматься - на то своя "видеокарта" должна бысть по-максимуму).
Только вот для подобных конструкций...
Знание только адуринки явно маловато будет...
Ибо периферию надо также САМОМУ творить из разношерстных подручных МК ВСЕХ типовых семейств (то, что наиболее удобно из имеющегося в доступности) да предпочтительно под ассемблером...
8)
А такой вариант даже Мурик вряд-ли решится сделать.
:tea:
:wink:
Родился
Сообщения: 7
Зарегистрирован: Чт ноя 29, 2018 21:52:42

Сообщение Tehnikr »

Вообще, тут да, скорее принципиальный вопрос. Задачи реального времени - независимая аппаратная реализация. А насчет мощности, мне кажется ее тут за глаза, при правильной реализации. Запросил значение десятка датчиков, отправил их на экран, точнее.2 экрана и скинул на SD карту.

Добавлено after 1 minute 31 second:
Про таймеры почитаю, про счетчик тоже.
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

BOB51 писал(а):Ибо периферию надо также САМОМУ творить из разношерстных подручных МК ВСЕХ типовых семейств
Периферия (по отношению к процессорному ядру) аппаратная и находится внутри МК, а не программная. Речь не про внешние микросхемы по отношению к МК.
BOB51 писал(а):да предпочтительно под ассемблером...
Медленно (разработка) и не переносимо между МК с разными ядрами.
Поставщик валерьянки для Кота
Сообщения: 2089
Зарегистрирован: Вс июн 19, 2016 09:32:03

Сообщение Reflector »

[uquote="Tehnikr",url="/forum/viewtopic.php?p=3542174#p3542174"]А насчет мощности, мне кажется ее тут за глаза, при правильной реализации. Запросил значение десятка датчиков, отправил их на экран, точнее.2 экрана и скинул на SD карту.[/uquote]
А что уже работает? Просто в начале еще говорилось про часы, GPS, клавиатуру, шансы все это реализовать начинающему, не важно на чем, меньше 1%.
Родился
Сообщения: 7
Зарегистрирован: Чт ноя 29, 2018 21:52:42

Сообщение Tehnikr »

Часы работают и макетка датчика уровня топлива. GPS - там тоже просто, сам модуль дорогой, еще не купил. В ближайших планах сд карта и отдельный экран под часы, жду модули.

Добавлено after 5 minutes 9 seconds:
Вообще, основная задача - gps логер + точный датчик скорости + рассчет реального расхода топлива. Скорость + пробег будут считаться на совместных данных gps и датчика пробега.
Это не хвост, это антенна
Сообщения: 1480
Зарегистрирован: Ср июн 25, 2008 15:19:44

Сообщение Demiurg »

Ардуина не панацея. Меня забавляет такое отношение. Типа ардуина палочка выручалочка. Этакая замена диспетчеров, RTOS, алгоритма. Можно ничего не знать, не изучать. Воткнул и забыл. А вот хренушки.
Хочешь создать нормальный рабочий девайс, изволь изучать азы. Конструктор любой собрать может. А вот эксклюзив...
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

у ардуины есть преимущество, которое особо ценят новички: куча ( и доступность) библиотек под всякую периферию и настраиваются они довольно просто...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Ответить

Вернуться в «AVR»