Форум обсуждения систем  

Вернуться   Форум обсуждения систем "Умный дом", проектов Ардуино, OpenWRT и других DIY устройств > Форум умного дома > Сделай сам > Устройства на ARM процессорах

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.01.2015, 23:53   #1
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Maple Mini

Цитата:
Сообщение от HiddenPilot Посмотреть сообщение
Конечно пошустрее. Мало того, для этих целей можно задействовать один из продвинутых таймеров. Таймер привязанный к нужной ноге в момент импульса будет записывать в регистр текущее значение таймера. Далее, в прерывании(или в цикле) можем сравнивать с предыдущим значением таймера, и вычислять период. С помощью делителя можем заставить тикать таймер практически с любой частотой. К примеру загружаем в пределитель значение 72, получаем получаем 1.000.000 отсчетов в сек. Записываем 36000 получаем 2000 отсчетов за 1 сек.

Подобным образом можно определять значение шима, практически не нагружая проц.

Если пойти дальше, то к таймеру, можно прикрутить DMA. Тогда модуль ДМА сам(без участия процессора), по событию будет инкриментированно складывать значения таймера прямо в память(как в массив, т.е. каждое значение в следующую ячейку массива). Таким образом мы еще больше высвобождаем ресурсы процессора.

Так же ДМА можно запустить по циклу размером к примеру 16. Тогда в массиве у вас всегда будет лежать последние 16 значений периодов тактов. Тогда простым усреднением всех значений массива, мы можем получать усредненное значение оборотов(периода м/у тактами).

подобным образом можно считывать инкриментный энкодер или датчик холла. Не нагружая процессор.

Вот пример на вскидку практически под ваши потребности
http://robocraft.ru/blog/ARM/739.html
Единственное, данный пример использует SPL бибилиотеку. А она мне не нравится(много ошибок, и генерить много байтов в прошике). Нужно переписать инициализацию на CMSIS cинтаксис. По сути прямая инициализация через регистры.
Вообще, с STM32 потихоньку начинаешь отвыкать от праграммирвоания в режиме простого ногодрыга, на максимальное использование всех встроенных модулей микроконтроллера. Таймеры у STM32 простоуникум, можно запрограммировать таймер на режим полумостового PUSH-PULL c заданным Dead-Time чтобы исключить сквозного пробоя ключей.

Cамая моя любимая реализация максимального задействования всех прелестей ARM, это Индикация сегментнтного дисплея с использованием только таймеров и ДМА.
http://kazus.ru/forums/showpost.php?...95&postcount=8

Но высший пилотаж это подключение HD44780 с использованием 2х каскадированных таймеров и одного канала ДМА!
Процессор занят только тем что заполняет массив информацией которая должна попасть на экран. Все остальное делает железо, не нагружая сам процессор.
http://kazus.ru/forums/showthread.ph...545#post713545
в них кстати используется CMSIS cинтаксис при инициализации.

Тут небольшое обсуждение
http://www.microchip.su/showthread.php?t=16822
Сильно! С таким подходом и из ардуины можно выжать много. Ладно, придёт плата, начну изучение. Может не всё так страшно как себе представляю.
Sirocco вне форума   Ответить с цитированием
Старый 19.01.2015, 11:13   #2
gnom537
Member
 
Регистрация: 07.08.2014
Сообщений: 37
Вес репутации: 0
gnom537 is an unknown quantity at this point
По умолчанию Re: Maple Mini

"реле, которая будет размыкать искру, так сказать отсечка."
правильнее отключать подачу топлива!!!!!
gnom537 вне форума   Ответить с цитированием
Старый 19.01.2015, 11:27   #3
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Maple Mini

Цитата:
Сообщение от gnom537 Посмотреть сообщение
правильнее отключать подачу топлива!!!!!
Согласен. Но это китайский эндуро, а у классического карбюраторного двигаеля перекрыть мгновенно подачу топлива невозможно, ну или почти не возможно. А делаю это ради... да просто так.
Вот сделал на атмега328, отсечка должна быть на 6000. Но точность вообще ниочем, проверял осцилографом, ардуинка может врать примерно на 600 оборотов, тоесть +/- 300. Часто получается, что отсечка начинает срабатывать при реальных оборотах 6300, а выключается при 5700, и опять уже при 5750 может снова включится... Вобщем такая херь происходит... Нет такого красивого четкого звука, как при нормальных отсечках. Думаю, что дело в точности определения оборотов, а другими словами в быстродействии контроллера, а ведь ему ещё выводить данные на дисплей... Вот и думаю, наверное на этой stm по чётче получится. Во всяком случае заказал у китайцев только что за 312р, придёт попробую.
P.S. А может алгоритм не верный... Нужно работать с этим...

Последний раз редактировалось Sirocco; 19.01.2015 в 11:32.
Sirocco вне форума   Ответить с цитированием
Старый 19.01.2015, 13:54   #4
Mastar
Junior Member
 
Регистрация: 31.03.2014
Сообщений: 19
Вес репутации: 0
Mastar is an unknown quantity at this point
По умолчанию Re: Maple Mini

Так выкладываем скетчь и станет ясно в чем ошибка.
Mastar вне форума   Ответить с цитированием
Старый 19.01.2015, 20:58   #5
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

судя по этому сайту, в ближайшем обозримом будущем нас ждет засилие копеечных китаеклонов STM32

http://www.gigadevice.com/product-category/11.html

Есть даже варианты в корпусе TSSOP20 с кучей железа на борту, в том числе и DAC
А так же 3Мб флэша в корпусе LQFP64


ADD: А я то думаю, почему в последнее время появилось так много недорогих плат на базе STM32F103C8T6 , а оно оказывается оно чЁ:
http://www.aliexpress.com/item/GD32F...045341751.html
Маркировку стереть, так от "папы" и не отличить

Последний раз редактировалось HiddenPilot; 19.01.2015 в 21:11.
HiddenPilot вне форума   Ответить с цитированием
Старый 19.01.2015, 21:24   #6
HiddenPilot
Member
 
Регистрация: 07.03.2013
Сообщений: 75
Вес репутации: 0
HiddenPilot is an unknown quantity at this point
По умолчанию Re: Maple Mini

И еще к слову о переходе от ногодрыга к максимальному использованию потенциала железа

вот тут подключили мой экранчик к SPI с использованием ДМА(правда на Due SPI может работать на 84мгц, против 18 у STM32)


для контраста все та же Арду
HiddenPilot вне форума   Ответить с цитированием
Старый 20.01.2015, 20:36   #7
Mastar
Junior Member
 
Регистрация: 31.03.2014
Сообщений: 19
Вес репутации: 0
Mastar is an unknown quantity at this point
По умолчанию Re: Maple Mini

Нашел может и не ошибку, но нигде не описано.
Под MapleIDE analogWrite() - 16 битный, а на ArduinoIDE analogWrite() - 8 битный.
А вот pwmWrite(), работает нормально.
Под MapleIDE pwmWrite() - 16 битный и на ArduinoIDE pwmWrite() - 16 битный.

Последний раз редактировалось Mastar; 20.01.2015 в 21:18.
Mastar вне форума   Ответить с цитированием
Старый 27.02.2015, 23:07   #8
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Maple Mini

Кто объяснит что это всё означает, и что нужно выбрать для мапл мини 3?


Цитата:
Сообщение от HiddenPilot Посмотреть сообщение
9. Кстати! На счет отладки, наконец-то программу можно заливать прямо в RAM минуя Flash. А значит можно сколько угодно раз заливать прошивку в контроллер, без опасения запортить флеш по ограничению количества перезаписей. При обесточивании, MAPLE очистит все что мы на творили в RAM. да и запись проекта в рам должна проходить быстрее.
Эта возможность только для этого нужна, чтоб пока отлаживаешь прогу не тратить ресурс флеш?

Последний раз редактировалось Sirocco; 28.02.2015 в 10:36.
Sirocco вне форума   Ответить с цитированием
Старый 28.02.2015, 12:39   #9
Admin
Administrator
 
Аватар для Admin
 
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,616
Вес репутации: 9821
Admin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant futureAdmin has a brilliant future
По умолчанию Re: Maple Mini

Цитата:
Кто объяснит что это всё означает, и что нужно выбрать для мапл мини 3?
Maple rev 3

Цитата:
Эта возможность только для этого нужна, чтоб пока отлаживаешь прогу не тратить ресурс флеш?
Да
Admin вне форума   Ответить с цитированием
Старый 28.02.2015, 17:05   #10
Sirocco
Senior Member
 
Регистрация: 12.10.2012
Адрес: Moscow-Voronezg
Сообщений: 272
Вес репутации: 0
Sirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant futureSirocco has a brilliant future
По умолчанию Re: Maple Mini

А как узнать ревизию? Я тут покупал: http://www.ebay.com/itm/141404280807...%3AMEBIDX%3AIT
Если выбираю Rev3 to RAM - работает. Если выбираю Rev 3 to Flash - не работает скеч, хотя успешно грузится. Если выбираю любой вариант Rev 2 - работает.
Sirocco вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

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

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

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


Текущее время: 15:17. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Яндекс.Метрика