реклама на сайте
подробности

 
 
> STM32F0 + датчик Холла SCM Sunfab
arthedza
сообщение Dec 1 2014, 16:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-12-14
Пользователь №: 83 922



Доброго времени суток всем! Товарищи, нужна ваша помощь.
Буду краток. В универе проходил курс АВРок, настало время диплома. Диплом делаю на предприятии (и кураторы тоже от предприятия), в виду этого приходится на ходу осваивать STM32F0. Да и в универском курсе ни разу не сталкивался с датчиками. Пока имеется один вопрос, с остальным вроде разобрался. Он заключается в следующем: как мне подключать сей
датчик скорости на эффекте Холла к СТМке? В программе MicroXplorer есть такой пунктик интересный — XORED Inputs Hall Sensor Interface (3 ноги под это дело заводится, 3 канала таймера). Что, все три ноги датчика на таймер МК подавать? Или лучше просто задействовать один канал таймера в режиме input capture? Если нужна дополнительная инфа — пишите, я укажу все, что знаю. Вот что написано в инсайдерском руководстве:

Цитата
5.1.4.2.2. Интерфейс датчика Холла
Каждый из таймеров, в т.ч. и расширенный, разработан с учетом простоты
подключения к датчику Холла, предназначенного для измерения угловой частоты
вращения электродвигателя. Первые три вывода захвата каждого таймера можно связать
с каналом 1 через логический элемент "исключающее ИЛИ". В этом случае, по мере
вращения двигателя и прохождения возле каждого датчика, в канале будет
генерироваться событие захвата. Это приведет к копированию текущего состояния
таймера в регистр захвата канала, а также к сбросу таймера. Таким образом, значение
счетчика, которое окажется в регистре захвата, можно пересчитать в частоту вращения
электродвигателя.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Dec 2 2014, 08:34
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Ну тут достаточно применить смекалку:

у вас осталось 2 варианта

1. Определение мгновенной скорости, то есть измерение времени прошедшего между 2 зубцами
2. Подсчет числа зубцов прошедших мимо датчика за определенное время

Реализация этого может быть такие
1. Прерывание по импульсу от проходящего зубца. В прерывании вы считываете значение таймера, сбрасываете его и запускаете бежать вперед без остановок. Первый интервал после остановки будет определен криво, дальше все поедет как надо.
2. Завести таймер на определенный интервал, 1 секунда, например. Завести сигнал от датчика как клок другого таймера, каждый импульс таймер будет прибавлять по 1 в счетчик. Как пройдет секунда, по прерыванию можете считать сколько насчитал 2 таймер, и сбросить это число. Таким способом вас реже дергают в прерывание, и получается некая фильтрация по времени, но теряется оперативность.

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

А фрагменты не ищите, если понять задачу она реализуется за полдня, а если не понять то будет как в начале темы, заведете 2 сигнала на какие то ножки а потом выясниться что 1 сигнала нет, а ножки не совсем подходят потому что от датчика ждали другого.... Вообще на вопрос куда завести датчик Холла, я бы ответил на компаратор или АЦП, так что постановка и понимание задачи очень важно!
Go to the top of the page
 
+Quote Post
arthedza
сообщение Dec 2 2014, 09:23
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-12-14
Пользователь №: 83 922



Цитата(Golikov A. @ Dec 2 2014, 10:34) *
...


А к какому варианту посоветуете склониться лично мне, как начинающему? Естесственно, желательно "что полегче"

Цитата(arthedza @ Dec 2 2014, 11:04) *
А к какому варианту посоветуете склониться лично мне, как начинающему? Естесственно, желательно "что полегче"


Просмотрел внимательно ТЗ, опрос датчика скорости должен производиться с периодичностью в 5мс

Сообщение отредактировал IgorKossak - Dec 2 2014, 19:41
Причина редактирования: избыточное цитирование
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 3 2014, 08:03
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(arthedza @ Dec 2 2014, 13:23) *
Просмотрел внимательно ТЗ, опрос датчика скорости должен производиться с периодичностью в 5мс

Странное ТЗ. В ТЗ не нужно писать _как_делать, а нужно описать _что_делать_.

Формулировка в виде:
- Диапазон измеряемых скоростей от 5 зуб/с до 300 зуб/с.
- Время реакции на изменение скорости не более 1 с.
(цифры разумеется должны быть из вашей задачи).

сократит число вариантов решения и постов в этой теме)
Go to the top of the page
 
+Quote Post
arthedza
сообщение Dec 3 2014, 10:34
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-12-14
Пользователь №: 83 922



Цитата(adnega @ Dec 3 2014, 10:03) *
Странное ТЗ. В ТЗ не нужно писать _как_делать, а нужно описать _что_делать_.

Формулировка в виде:
- Диапазон измеряемых скоростей от 5 зуб/с до 300 зуб/с.
- Время реакции на изменение скорости не более 1 с.
(цифры разумеется должны быть из вашей задачи).

сократит число вариантов решения и постов в этой теме)


Частота вращения будет изменяться в диапазоне 0..5200с^-1. 1 оборот=30 зуб.
Хотя для объекта управления (гидроклапан) указана частота шим 100гц (10мс) с точки зрения обеспечения устойчивости такт решения задачи производительности гидросистемы необходимо сделать в 5мс. Т.е каждые 5 мс нужно обрабатывать частоту вращения и считать фильтры. Частота выдачи упр. сигнала должна соответствовать частоте ШИМ-сигнала. формировать значение упр. сигнала можно и каждые 5 мс но ШИМ будет менять свою скважность каждые 10мс. Т. е сигнал ШИМ с заданной скважностью должен пройти полностью

Цитата(Golikov A. @ Dec 3 2014, 10:49) *
периодичность опроса и время реакции системы также нормальные требования ТЗ, особенно если это ТЗ на блок, и оно учитывает общую загрузку системы...

написал выше
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 3 2014, 11:12
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(arthedza @ Dec 3 2014, 14:34) *
Частота вращения будет изменяться в диапазоне 0..5200с^-1. 1 оборот=30 зуб.
Хотя для объекта управления (гидроклапан) указана частота шим 100гц (10мс) с точки зрения обеспечения устойчивости такт решения задачи производительности гидросистемы необходимо сделать в 5мс. Т.е каждые 5 мс нужно обрабатывать частоту вращения и считать фильтры. Частота выдачи упр. сигнала должна соответствовать частоте ШИМ-сигнала. формировать значение упр. сигнала можно и каждые 5 мс но ШИМ будет менять свою скважность каждые 10мс. Т. е сигнал ШИМ с заданной скважностью должен пройти полностью

Считаем число импульсов от датчика за 5мс.
Имеем число от 0 до 780 импульсов. Разрешающая способность 6.(6) об/сек.
При времени реакции 5мс и скоростях ниже 6 об/сек имеем ситуацию, когда на выходе измерителя будет ШИМ:
5 мс скорость будет равна нулю, а в следующие 5 мс = 6.(6) об/сек.
На низких оборотах скорость нужно усреднять с большим интервалом.
Go to the top of the page
 
+Quote Post
arthedza
сообщение Dec 4 2014, 07:11
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-12-14
Пользователь №: 83 922



Цитата(adnega @ Dec 3 2014, 13:12) *
Считаем число импульсов от датчика за 5мс.
Имеем число от 0 до 780 импульсов. Разрешающая способность 6.(6) об/сек.
При времени реакции 5мс и скоростях ниже 6 об/сек имеем ситуацию, когда на выходе измерителя будет ШИМ:
5 мс скорость будет равна нулю, а в следующие 5 мс = 6.(6) об/сек.
На низких оборотах скорость нужно усреднять с большим интервалом.


Простите, не то написал. Обороты в минуту, а не в секунду. Выходит:
5200 об/мин * 30 = 156000 имп/мин
156000/60 = 2600 имп/сек
2600/1000*5 = 13 импульсов в 5 милисекунд при 5200 об/мин.

Сообщение отредактировал arthedza - Dec 4 2014, 07:19
Go to the top of the page
 
+Quote Post
adnega
сообщение Dec 4 2014, 07:15
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(arthedza @ Dec 4 2014, 11:11) *
Простите, не то написал. Обороты в минуту, а не в секунду. Выходит:
5200 об/мин * 30 = 156000 имп/мин
156000/60 = 2600 имп/сек
2600/1000*5 = 13 импульсов в 5 милисекунд.

Что ж - стало хуже ровно в 60 раз)
Go to the top of the page
 
+Quote Post
arthedza
сообщение Dec 4 2014, 07:25
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 25
Регистрация: 1-12-14
Пользователь №: 83 922



Цитата(adnega @ Dec 4 2014, 09:15) *
Что ж - стало хуже ровно в 60 раз)


Всего будет три режима работы:
V1 = 1800 об/мин = 4,5 имп/5мс
V2 = 3000 об/мин = 7,5 имп/5мс
V3 = 5200 об/мин = 13 имп/5мс

Делать мгновенные выборки через каждые 5 мс в несколько тактов, а потом усреднять? Или как?

Сообщение отредактировал arthedza - Dec 4 2014, 07:42
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- arthedza   STM32F0 + датчик Холла SCM Sunfab   Dec 1 2014, 16:57
- - Golikov A.   ну просто если брать мотор для которого положение ...   Dec 1 2014, 17:29
|- - arthedza   Цитата(Golikov A. @ Dec 1 2014, 19:29) ну...   Dec 1 2014, 18:01
|- - kovigor   Цитата(arthedza @ Dec 1 2014, 22:01) Напр...   Dec 1 2014, 18:05
- - kovigor   Цитата(arthedza @ Dec 1 2014, 20:57) Что,...   Dec 1 2014, 17:33
- - Golikov A.   ЦитатаС датчика идет 4 провода: питание, земля и д...   Dec 1 2014, 18:26
|- - arthedza   Цитата(Golikov A. @ Dec 1 2014, 20:24) по...   Dec 1 2014, 18:39
- - Golikov A.   Вот.... теперь вопрос в датчике стоят 2 магнита и ...   Dec 1 2014, 19:28
|- - arthedza   Цитата(Golikov A. @ Dec 1 2014, 21:28) Во...   Dec 1 2014, 19:51
||- - Сергей Борщ   Цитата(arthedza @ Dec 1 2014, 21:51) Дава...   Dec 2 2014, 07:27
||- - arthedza   Цитата(Сергей Борщ @ Dec 2 2014, 09:27) А...   Dec 2 2014, 07:39
|- - arthedza   Цитата(Golikov A. @ Dec 1 2014, 21:28) Во...   Dec 2 2014, 07:30
|- - Сергей Борщ   Цитата(arthedza @ Dec 2 2014, 09:30) кана...   Dec 2 2014, 07:34
|- - arthedza   Цитата(adnega @ Dec 3 2014, 13:12) Считае...   Dec 3 2014, 11:48
|- - adnega   Цитата(arthedza @ Dec 4 2014, 11:25) Или ...   Dec 4 2014, 08:13
|- - arthedza   Цитата(adnega @ Dec 4 2014, 10:13) Мотор ...   Dec 4 2014, 09:24
- - arthedza   Следовательно, подходит вариант второй: подсчет чи...   Dec 2 2014, 11:08
- - Golikov A.   ну строго говоря надо еще понять какого уровня изм...   Dec 2 2014, 19:24
- - Сергей Борщ   А еще обратите внимание на вот это сообщение: http...   Dec 2 2014, 21:00
- - Golikov A.   Спасибо, интересная тема. Правда пришлось нескольк...   Dec 2 2014, 23:31
- - Golikov A.   периодичность опроса и время реакции системы также...   Dec 3 2014, 08:49
- - Golikov A.   1000-1500 - это 150 - 225 импульсов в 5мСек 6.666...   Dec 3 2014, 13:05
|- - adnega   Цитата(Golikov A. @ Dec 3 2014, 17:05) Но...   Dec 3 2014, 14:16
- - Golikov A.   ну при такой частоте у вас ничего просто не выйдет...   Dec 4 2014, 09:55
|- - arthedza   Цитата(Golikov A. @ Dec 4 2014, 11:55) ну...   Dec 4 2014, 10:16
||- - KnightIgor   Цитата(arthedza @ Dec 4 2014, 12:16) Спас...   Dec 6 2014, 17:13
|- - arthedza   Цитата(Golikov A. @ Dec 4 2014, 11:55) Я ...   Dec 9 2014, 08:13
- - arthedza   Вот появился еще такой вопрос: как можно смоделиро...   Dec 6 2014, 18:01
- - Golikov A.   а чем симулятор то не годиться? в IAR, KEIL есть...   Dec 6 2014, 18:09
|- - arthedza   Цитата(Golikov A. @ Dec 6 2014, 20:09) а ...   Dec 6 2014, 18:15
- - Golikov A.   работайте вы скачайте триальную версию на 30 дней,...   Dec 6 2014, 18:22
|- - arthedza   Цитата(Golikov A. @ Dec 6 2014, 20:22) ра...   Dec 6 2014, 18:24
- - Golikov A.   кнопку тактовую и нажимайте рукой... или с одной ...   Dec 6 2014, 18:33
|- - arthedza   Цитата(Golikov A. @ Dec 6 2014, 20:33) кн...   Dec 6 2014, 18:36
- - Golikov A.   да я в терминал шлю. Раньше был гипертерминал, сей...   Dec 6 2014, 21:01
- - Golikov A.   проще временными воротами точнее методом захвата.....   Dec 9 2014, 09:06
|- - arthedza   Цитата(Golikov A. @ Dec 9 2014, 11:06) пр...   Dec 9 2014, 09:49
- - Golikov A.   ЦитатаПоговорил со своим куратором. Как я понял, н...   Dec 9 2014, 14:52
|- - arthedza   Цитата(Golikov A. @ Dec 9 2014, 16:52) на...   Dec 10 2014, 06:38
|- - arthedza   Цитата(Golikov A. @ Dec 9 2014, 16:52) Вс...   Dec 10 2014, 07:33
- - Golikov A.   да. в прерывании вы только определяете интервалы.....   Dec 10 2014, 07:16
- - Golikov A.   Ну наверное где-то должно быть деление, потому что...   Dec 10 2014, 11:33


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 23:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01484 секунд с 7
ELECTRONIX ©2004-2016