
Dmitry
28.08.2016
20:10:29
хорошо, я повторю его ещ раз:
а почему регистры, на которые мапятся цифровые входы, группируют по функциям, а не по порядковым номерам?
ведь если взять устройство с большим количеством входов — все адреса поползут
я не спрашивал, как с этим бороться и что делать. я вообще не спрашивал про свои устройства, функции и прочие заморочки.
я спросил: почему. так. сделано.
не более.

Dmitry
28.08.2016
20:12:16
Что и как сделано? Цифровые входы никто и никоим образом не группирует. Задавай. Чётчё. Вопрос. Какой. Вопрос. Такой. И. Ответ.
У цифрового. входа. если. тебе. не. нужно. ничего. кроме. состояния. ровно. 1. функция. работы. -. это. 0x02. чтение. значений.

Dmitry
28.08.2016
20:20:22
во всех найденных картах регистров, они сгруппированы по функциональному назначению.
даже в твоеё пдфке
я бы предпочёл отсутствие ответа на непонятый вопрос, чем нерелевантные ответы, ведущие к обоюдной потере времени.

Google

Dmitry
28.08.2016
20:23:17

Cate
28.08.2016
20:30:45
Статью на Хабр попросила написать ребят.

Dmitry
28.08.2016
20:31:10
если смотреть чуть внимательнее, но на 7й странице видны группы регистров, связанных с этими входами:
* счетчики изменений на входе
* регистры для уменьшения счетчика на конкретную величину
* конфигурации счетчика
и т.д.
а где в вопросе привиделось ТЗ — я тоже ХЗ

Dmitry
28.08.2016
20:33:08
Ну да, и в чём проблемы? Идёт конфигурация посредством записи в Holding Registers. В чём проблема - тоже не вижу. Рядом они расположены - потому что удобно.

Dmitry
28.08.2016
20:33:57
хвала богам!
ради последних трёх слов пол часа времени
возвращаясь к вопросу.
при изменении количества входов — адреса этих групп поползут же

Dmitry
28.08.2016
20:34:47
И? Разумный максимум в любом случае есть.
Я вижу только слово "маппинг", а что и куда - ни слова. Вот и гадай.

Dmitry
28.08.2016
20:36:31
ну может я пока плохо в терминологии разбираюсь

Dmitry
28.08.2016
20:36:36
Так что просто прикинь, сколько у тебя всего может быть входов, возьми чуть побольше и зарезервируй в устройстве эти регистры

Dmitry
28.08.2016
20:40:44
но смотри. везде сделано функция - регистры
0x100 Fa [0:N]
0x200 Fb [0:N]
0x300 Fc [0:N]
почему не делают
0x100 Fa_1
0x110 Fb_1
0x120 Fc_1
…
0xM Fa_N
0xM+10 Fb_N
0xM+20 Fc_N
труднее описывать? зато на структуру красивее ложится.

Dmitry
28.08.2016
20:43:42

Google

Dmitry
28.08.2016
20:43:51
функций?

Dmitry
28.08.2016
20:45:20
Вообще хз, но первое выглядит как-то разумнее. Во втором случае у тебя a,b,c вперемешку вообще

Dmitry
28.08.2016
20:50:16
первое — просто привычнее, мне кажется.
да, логическое назначение типа «счетчик изменений», «конфигурация счетчика» итд идут вперемешку, но при этом входы будут идти по порядку.
все делают разные адреса у регистров но почему-то у всех, вообще у всех сделана группировка по логическому назначению (слово «функция», кажется, не очень правилна в этом контексте). т.е. эта какая-то общая закономерность составления карты регистров.
может оно вообще из спецификации растёт?


Dmitry
28.08.2016
20:51:58
первое — просто привычнее, мне кажется.
да, логическое назначение типа «счетчик изменений», «конфигурация счетчика» итд идут вперемешку, но при этом входы будут идти по порядку.
все делают разные адреса у регистров но почему-то у всех, вообще у всех сделана группировка по логическому назначению (слово «функция», кажется, не очень правилна в этом контексте). т.е. эта какая-то общая закономерность составления карты регистров.
может оно вообще из спецификации растёт?
Ноуп, модбас это не специфицирует. Тут дело в том, что тебе для конфигурации 1 настройки надо в 1 случае просто к начальному адресу добавить смещение, то есть номер входа(или что там у тебя). Во втором варианте сложнее и придётся выпендриваться немного.

Dmitry
28.08.2016
20:53:51
хм…
и в первом варианте можно безболезненно добавлять новые «функции» (при добавлении входа старые адреса ползут)
а во втором — проще добавлять входы (при добавлении «функции» адреса ползут)

Dmitry
28.08.2016
20:54:18

Dmitry
28.08.2016
20:54:55
Во втором варианте сложнее и придётся выпендриваться немного.
а вот не факт.
если блоки с группировкой имеют одинаковый размер, то добавляется то же самое смещение, но не на 16бит, а на размер блока

Dmitry
28.08.2016
20:55:25
Факт в том, что сложность первого варианта всё равно ниже
Забудь про размерность, мы про адреса регистров говорим))

Dmitry
28.08.2016
20:57:07

Dmitry
28.08.2016
20:57:28
Тут операция умножения добавляется, помимо сложения))
Ну, в общем, да, не суть важно. Но второй вариант масштабируется очень хреново

Dmitry
28.08.2016
21:02:29
по «функциям» масштабируется фигово. а по входам — наоборот хорошо.
а может тут играет роль то, что нужно чаще?
одна «функция» по всем ходам
или
полный статус одного входа (все «функции»)
?
такой результат можно одной коммандой получить

Dmitry
28.08.2016
21:03:17

Dmitry
28.08.2016
21:09:16
допустим, сечас нужны 4 «функции».
задаётся размер «функционального блока» в 8 регистров. вторые четыре — про запас.
допустим, входов не будет больше 128.
когда свободные места кончатся — следующая «страница» с «функциональными блоками» начнётся с со смещения 128.
м… вот собирать статус со всех этих страниц будет не очень удобно. но это может купироваться ещё одним уровнем абстракции! )
или не выпендриваться и сделать как у всех…

Dmitry
28.08.2016
21:10:53
А если запас по функциям кончится? :D

Dmitry
28.08.2016
21:11:05
следующая «страница»
в которой опять блоки из 8 регистров, но уже не с нулевого смещения, а со 128

Dmitry
28.08.2016
21:11:45
Ага, и голова распухнет во всём этом разбираться)

Dmitry
28.08.2016
21:13:36
разбираться — меньшее зло. один раз в библиотеке реализовал и забыл.
наверное, тут все-таки про производительность.
во втором варианте, чтобы собрать данные про одну «функцию» со всех 128 входов нужно 128 запросов.
а в стандартном варианте — один запрос.

IDDQD
29.08.2016
07:05:33
Парни, парни, нидхэлп

Google

IDDQD
29.08.2016
07:05:44
Мне шаговик нужно запустить
С прочтения чего начать?
Может быть есть готовые драйверы для управления?

Petr
29.08.2016
07:06:30
1000500
Конеш

Alexey
29.08.2016
07:10:57
Харктеристики двигателя под NDA?

IDDQD
29.08.2016
07:31:42

Alexey
29.08.2016
07:32:08
В зависимости от задачи можешь и l298n обойтись.
готовые модули с ним кругом. Правда это не совсем драйвер, это H-мост, рулежка которым - не самое приятное. Для большего удобства лучше взять уже драйвер, у которого входы - DIR и STEP.
Тут я конкретики не посоветую уже.

IDDQD
29.08.2016
07:34:32

Ibh
29.08.2016
07:38:12
для начала можно у ардуинщиков присмотреть http://www.schmalzhaus.com/EasyDriver/index.html на поиграться

Ibh
29.08.2016
07:39:51
или если мощность нужна средняя - http://www.instructables.com/id/Using-a-Single-Axis-TB6560-Stepper-Driver-With-GRB/ итд на TB6560. Если мощность большая нужна, то придётся на рассыпухе собирать.
(или купить готовый, благо не дорого стоят)

IDDQD
29.08.2016
07:47:30

Ibh
29.08.2016
07:50:46
готовый драйвер в который питание, сигналы STEP и DIR а к выходу моторчик цепляешь.
и настроечки в нём обычно - ток двигателя и режимы шагов

Эдуард
29.08.2016
07:57:11
Для l298 есть управляющая микра l293
Они раньше часто парой упоминались
Инфы по ним должно быть валом, так что можно и эту связку взять

Google

Эдуард
29.08.2016
07:57:57
Готовые модули наверняка есть

Petr
29.08.2016
08:13:49
от 3дпринтеров всякие драйверы еще
дешевые и для моторов принтерного размера

IDDQD
29.08.2016
08:23:34
Да, я вообще червяка от флопика хочу завести
У меня есть n-канальники
С шотки

Alexey
29.08.2016
08:52:23
Если чисто для развлечения и общей информации, можешь свой драйвер запилить на полевиках. Заодно и разберешься.

Ibh
29.08.2016
09:02:50
или на uln2003

IDDQD
29.08.2016
09:09:17
я понял что есть драйверы биполярных и униполярных
червяк биполярный. 4 провода

Admin
ERROR: S client not available

IDDQD
29.08.2016
09:09:41
uln2003 вроде как для него не подойдет
вот здесь читаю срачик
http://arduino.ru/forum/apparatnye-voprosy/upravlenie-shagovym-dvigatelem-cd-privoda

Petr
29.08.2016
09:31:15
лучше в эту раковальню не лезь, бгг

Alexey
29.08.2016
09:37:48
Ув. Di Halt описывает понятно
http://easyelectronics.ru/upravlenie-shagovym-dvigatelem.html

Petr
29.08.2016
09:42:31
https://vk.com/doc-43251960_366689535?dl=5b0ba1da54a92d9e5a стр 14
как дергать ногами там конеш не описано..

IDDQD
29.08.2016
09:44:07
http://www.trt.ru/products/nxp/images/biss/driver%20drive.jpeg

Petr
29.08.2016
09:46:06
ну, Аш-мост

Google

IDDQD
29.08.2016
09:47:55

Alexey
29.08.2016
09:53:08
С драйверами полевиков тогда.

IDDQD
29.08.2016
09:54:51

Alexey
29.08.2016
09:56:10
Ну тогда запаситесь радиаторами, желательно с подводом холодной жидкости.

Gregor
29.08.2016
09:57:48
Смотря насколько мощный двиг
Но конечно полевики открывать мкшкой — вообще не вариант

IDDQD
29.08.2016
10:07:37
Думаю мк как нибудь уже вкачает через 50 Ом резистор
IRLML0030TRPBF

Alexey
29.08.2016
10:09:17
На большой частоте переключения МК не сможет справляться с нормальным открытием полевика, и тогда он будет открывать не полностью, и тут встанет вопрос отвода образовавшегося тепла.

IDDQD
29.08.2016
10:10:46

Alexey
29.08.2016
10:11:34
Ну вот попробуйте зарядить туда ШИМ с максимально доступной частотой. И нагрузите его чем-нибудь.

IDDQD
29.08.2016
10:11:40
Возьму тогда сборку из буферов

Эдуард
29.08.2016
10:34:37
есть еще такой вариант: DRV8841
http://www.ti.com/lit/ds/slvsac0f/slvsac0f.pdf
два н-моста на фетах, встроенный драйвер
Вон даже в typical applications вынесли сразу:

Petr
29.08.2016
10:39:35
Или А4988

Эдуард
29.08.2016
10:48:52
Или А4988
он даже лучше. Купить можно в терре/компеле, QFN корпус
да и стоит вроде дешево
надо запомнить) спасибо

Petr
29.08.2016
10:49:54
Да готовые платки же есть уже