Например TDA7294

Форум РадиоКот • Просмотр темы - Программирование ESC регулятора
Форум РадиоКот
Здесь можно немножко помяукать :)



Текущее время: Пт май 24, 2019 02:27:42

Часовой пояс: UTC + 3 часа [ Летнее время ]


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Программирование ESC регулятора
СообщениеДобавлено: Чт апр 14, 2016 22:48:16 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс фев 10, 2013 00:00:23
Сообщений: 183
Рейтинг сообщения: 0
Прочитал "Программирование ESC регулятора". ОК, задача выполнена, устройство запрограммировано. Но хочу высказать некоторые соображения.
Использование магических временнЫх констатнт требует их подгонки под конкретное устройство и не особо надежно. Это проходит для RS232 когда передается всего 8 бит. Если же бит много, то надо синхронизироваться как можно чаще. Более корректная программа должна отлавливать переходы 0 в 1 и обратно и каждый раз начинать считать время от перехода.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Программирование ESC регулятора
СообщениеДобавлено: Вт апр 19, 2016 23:44:26 
Встал на лапы
Аватар пользователя

Карма: 17
Рейтинг сообщений: 67
Зарегистрирован: Пт апр 16, 2010 13:00:19
Сообщений: 119
Откуда: КМВ
Рейтинг сообщения: 0
alexf58 писал(а):
... хочу высказать некоторые соображения.
Использование магических временнЫх констатнт требует их подгонки под конкретное устройство и не особо надежно. Это проходит для RS232 когда передается всего 8 бит. Если же бит много, то надо синхронизироваться как можно чаще. Более корректная программа должна отлавливать переходы 0 в 1 и обратно и каждый раз начинать считать время от перехода.

Замечание верное по сути, но, только не к данной работе. Задача была понять протокол обмена программатора <> регулятора двигателя и его эмулировать "подручными" средствами.
В изученном протоколе нет синхронизации, поэтому пришлось исходить из минимальной длительности импульса. Для бОльшей надежности можно было-бы считывать три раза состояние порта за длительность импульса и применять мажоритарное определение ....однако, для 150 бит это слишком избыточно. Импульс "широкий" и просто ничего не успевает поплыть для однократного измерения в середине импульса.
Отлавливать переходы 1 в 0 ... в данном случае невозможно.
Последовательность , допустим, пяти единиц передается просто удержанием "1" в течение 5*tImp.
Как её получать? ведь за эти пять тактов нет ни одного перепада из 0 в 1 или наоборот.
Это в других протоколах так реализовано. Например RC-5 ИК пультов. Там действительно "1" передается перепадом 1>0, а "0" перепадом 0>1. Тут и надо применять прерывание по изменению состояния порта.


Вернуться наверх
 
JLCPCB, всего $2 за 10 ПП любого цвета!

Более 600 000 заказчиков по всему миру! Более 10 000 заказов в день!

Скидка до $20 на доставку для первого заказа:https://jlcpcb.com/quote

Не в сети
 Заголовок сообщения: Re: Программирование ESC регулятора
СообщениеДобавлено: Чт апр 21, 2016 07:14:25 
Нашел транзистор. Понюхал.

Зарегистрирован: Вс фев 10, 2013 00:00:23
Сообщений: 183
Рейтинг сообщения: 0
Не понятно почему "Отлавливать переходы 1 в 0 ... в данном случае невозможно."
Понятно, что при передаче 5 единиц подряд переходов нет, но что мешает отловить следующий переход, поделить время, пока сигнал был в "1" на примерное время одного импульса. Допустим получится 5. Дальше начать отсчет от этого перехода и, за одно, уточнить время одного импульса поделив этот интервал на 5.

Еще раз: раз у Вас все получилось, то и слава богу. Но Вы же писали что пришлось задержку подбирать.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $88 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay
Не в сети
 Заголовок сообщения: Re: Программирование ESC регулятора
СообщениеДобавлено: Вс апр 24, 2016 16:48:58 
Встал на лапы
Аватар пользователя

Карма: 17
Рейтинг сообщений: 67
Зарегистрирован: Пт апр 16, 2010 13:00:19
Сообщений: 119
Откуда: КМВ
Рейтинг сообщения: 0
alexf58 писал(а):
....Но Вы же писали что пришлось задержку подбирать.

Не ради флэйма отвечаю - задержку пришлось подбирать из-за особенностей компилятора Ардуино, а не алгоритма кодирования.
В этой среде время выполнения даже простой команды может быть в разы больше, чем команда на "чистом" С или ассемблере.
Поэтому паузу через delay пришлось уменьшить, чтобы идущие за ней команды "дотянули" импульс до требуемого.


Вернуться наверх
 
Вебинар «Платформа SimpleLink — беспроводные системы-на-кристалле компании TI» (05.06.2019)

Компэл совместно с Texas Instruments приглашает 5 июня на вебинар, посвященный беспроводным системам-на-кристалле TI.
Вебинар проводит инженер по продвижению беспроводных технологий Эрлинг Сименсен, который расскажет(дублированный перевод с английского), как создать на одной микросхеме современную беспроводную систему, которая не устареет в ближайшие 10 лет.
Компания Texas Instruments постоянно предлагает все более совершенные и функциональные системы-на-кристалле, модули и ПО, позволяющие заказчикам в кратчайшие сроки создавать современные устройства беспроводной связи.
Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на форуме

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


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

Найти:
Перейти:  
cron


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y