Управление скоростью вращения шагового двигателя кнопками.

Labu559
Лейтенант
Сообщения: 359
Зарегистрирован: 25 янв 2018, 22:23
Откуда: Bukovyna
Имя: Василий

Управление скоростью вращения шагового двигателя кнопками.

Сообщение Labu559 »

rw6cm писал(а): 27 янв 2019, 00:06но когда понял что блок 1637 вносит только задержки, а вешает нулевая скорость ШД, лишнее отбросил.
Вот и чудесненько. А я понял это ещё с первого сообщения автора.
Matafon писал(а): 20 янв 2019, 19:30Пробовал исключать индикатор вовсе, либо данные наблюдал в serial port, не помогает.
и с 6-го
Matafon писал(а): 21 янв 2019, 18:57 Исключал показометр из схемы. Но он ни как не влияет.
rw6cm писал(а): 27 янв 2019, 00:06Могу дополнить в свое первое обращение к Вам:
[spoiler title=Могу парировать]
HOLD_TM1637.png
[/spoiler]
rw6cm писал(а): 27 янв 2019, 00:06Мне не получится объяснить доходчиво, т.к не владею терминологией языка Си.
А не нужна терминология. Вы пытаетесь мне объяснить свою, точку зрения с которой я изначально согласен. Я по рисунках, чертежах, графиках, диаграммах лучше ориентируюсь, чем по словесным описаниям. А выложеные проекты предоставляют достачно информации для однозначной трактовки. У меня тоже не получилось. Не смотря на правку предыдущего моего сообщения более десятка раз, и письма Вам в личку, так и не смог донести свою точку зрения. Я не обсуждаю Ваш проект, я пытаюсь объяснить почему, как автор не рекомендую такое применение моего блока в Вашем проекте. И если Вы добились приемлемой роботы проекта в целом не совсем корректно применив его (не удивлён, ведь описания в нем нет), расстратив при этом лишние ресурсы на борьбу с последствиями этого, то честь Вам и хвала.
rw6cm писал(а): 27 янв 2019, 00:06А там сами решайте...
Я решил и я согласился с
rw6cm писал(а): 26 янв 2019, 11:32Есть понятие "цикл" и есть девайсы сильно от него зависящие, и ШД как раз к ним относится, и есть девайсы, которые программно, или своей инертностью, увеличивают этот цикл, (UART, I2C, ModBus, использование delay, итд), и 1637 не исключение. Так вот такие девайсы надо развязывать работой в циклах, иначе не чего хорошего не выйдет.
Согласился и дополняю. Развязывать работой в циклах- это создать счётчик циклов ф-и Loop() и разделить весь код "тяжелого" блока на отдельные операции, которые будут выполняться в разных циклах согласно номеру счётчика, старясь избегать при этом перерыва сесий приема-передачи UART, I2C, ModBus учитывая плохую помехозащищённость (несоблюдения правил построения) линий связи и подтяжку к питанию, избегать в этот момент или распределить прерывания если они есть. А дальше учесть специфику ф-и millis(); micros() а значит и таймеров, которые и так летят из-за переполнения раз в 50 дней/70 минут. Я молчу уже по функциях типа tone(), pulseIn() или работу с регистрами сдвига без защёлкивания данных.
Но у нас ведь блочный способ представления кода. Мы хотели неразборные, в отличии от понятных непрограммистам блоков на LAD или FBD, блоки Си на все вообразимые дивайсы, хотели работу по таймеру и с прерываниями основного цикла, получили. А теперь ... :smile37: Вся жизнь- баланс компромиссных решений.
Желаю всем удачи, никого пытался не обидеть, извините, если это получилось!
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Управление скоростью вращения шагового двигателя кнопками.

Сообщение rw6cm »

Labu559 писал(а): 31 янв 2019, 00:27Могу парировать
[spoiler]
Не буду утверждать (нет девайса чтоб проверить) но по логике En должен выключать блок а не замораживать,
а отключения платы по условию как раз таки замораживает. Но если Вы это сделали в блоке то и назовите вход "HOLD"
В остальном с Вами согласен, и уж тем более ни каких обид )
Мы уже отклонились от темы,
Желаю удачи и творчества!
[/spoiler]
Win10-64, FLProg (portable)
Ответить

Вернуться в «Помогите, а то я "нимагу"»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость