Перейти к содержанию
    

поднять USB на Olimex STM32-H103

Здравствуйте.

Запустил FreeRTOS на STM32-H103.

хочу поднять USB, чтение и запись делать через очереди в двух задачах Tx/Rx.

 

читал апноут по поставляемой st библиотеке - добился того что девайс заработал, дескрипторы читаюются, могу записать блок с писи в девайс, немогу считать, непойму как инициировать передачу блока данных с девайса :( . Далее как указал выше хочу все в две задачи прикрутить.

использую на писи библиотеку порт libusb

научите как это сделать. примеров в либе как это сделать для custom dev BULK нету :(

 

нy еще вопрос, из этой платы задумал сделать САУ для авиамодели - подсоеденить через уарт Zigbee модемчик для обмена, 12 каналов таймеров использовать для ШИМ на 6 электродвигатели приводов, 6 каналов ацп на обратную связь по положению привода, посередине PID фильтр, 6 какнала ацп на 3 акселерометра и 3 гироскопа. хочу упоковать с использованием FreeRTOS - архитектурно удобно. как думаете во что уперется можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

u menia VCOM primer rabotaet na stm32h103 pod Ubuntu. Sozdaet /dev/ttyACM0 descriptor kotorii ya pol'zuyu cherez minicom

tak chto mozhete posmotret' v kod sootvetstvuyuschego draivera. VCOM pol'zuet BULK transfer

 

Alex

 

Здравствуйте.

Запустил FreeRTOS на STM32-H103.

хочу поднять USB, чтение и запись делать через очереди в двух задачах Tx/Rx.

 

читал апноут по поставляемой st библиотеке - добился того что девайс заработал, дескрипторы читаюются, могу записать блок с писи в девайс, немогу считать, непойму как инициировать передачу блока данных с девайса :( . Далее как указал выше хочу все в две задачи прикрутить.

использую на писи библиотеку порт libusb

научите как это сделать. примеров в либе как это сделать для custom dev BULK нету :(

 

нy еще вопрос, из этой платы задумал сделать САУ для авиамодели - подсоеденить через уарт Zigbee модемчик для обмена, 12 каналов таймеров использовать для ШИМ на 6 электродвигатели приводов, 6 каналов ацп на обратную связь по положению привода, посередине PID фильтр, 6 какнала ацп на 3 акселерометра и 3 гироскопа. хочу упоковать с использованием FreeRTOS - архитектурно удобно. как думаете во что уперется можно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

u menia VCOM primer rabotaet na stm32h103 pod Ubuntu. Sozdaet /dev/ttyACM0 descriptor kotorii ya pol'zuyu cherez minicom

tak chto mozhete posmotret' v kod sootvetstvuyuschego draivera. VCOM pol'zuet BULK transfer

 

Alex

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

положению привода, посередине PID фильтр, 6 какнала ацп на 3 акселерометра и 3 гироскопа. хочу упоковать с использованием FreeRTOS - архитектурно удобно. как думаете во что уперется можно?

 

Не в тему, а гироскопы в авиамодельках вроде бы представляют собой керамические пластины с интеграторами. Если будут стоять акселерометры то зачем гироскопы? Кроме того, если я правильно понимаю, стабилизировать нужно очень быстрые возмущения, а траекторией полета должен рулить все таки пилот.

 

И еще мне кажется, что акселерометров д.б. 3*2=6 штук включенных по диференциальной схеме для стабилизации вращательных возмущений.

 

А где есть форумы по конструированию систем управления/стабилизации авиамоделей? Интересно было бы на досуге почитать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не в тему, а гироскопы в авиамодельках вроде бы представляют собой керамические пластины с интеграторами. Если будут стоять акселерометры то зачем гироскопы? Кроме того, если я правильно понимаю, стабилизировать нужно очень быстрые возмущения, а траекторией полета должен рулить все таки пилот.

 

И еще мне кажется, что акселерометров д.б. 3*2=6 штук включенных по диференциальной схеме для стабилизации вращательных возмущений.

 

А где есть форумы по конструированию систем управления/стабилизации авиамоделей? Интересно было бы на досуге почитать.

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

 

гироскопы нужны чтоб воспользоватся акселерометрами - они мерят проекцию суммы вектора инерционного ускорения и вектора G на оси чуствительности , чтоб отделить собсна сами перегрузки от ветктор G, с помощью гироскопов определяется направление G в системе координат связанной с измерительной платформой.

 

кстате гироскопы тоже еще то гавно - дрейф до нескольких градусов в минуту, поэтому их нада постоянно корректировать - этот момент самое интересное !!!

 

по диф схеме нужно не 6 а 4 гироскопа - получится по два в двух осях , в третей будет 4. Это конечно будет работать для измерения угловых скоростей, а перегрузки как мерить? всеравно нужны гироскопы. Или нада отказатся от автоматического управления и оставить только прастранственную стабилизацию.

 

по моделям книг таких нет, есть по САУ самолетов и ракет :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

по диф схеме нужно не 6 а 4 гироскопа - получится по два в двух осях , в третей будет 4. Это конечно будет работать для измерения угловых скоростей, а перегрузки как мерить? всеравно нужны гироскопы. Или нада отказатся от автоматического управления и оставить только прастранственную стабилизацию.

Собственно я это и хотел уяснить. С моей точки зрения проще(возможно правильнее) было бы на акселерометрах сделать пространственную стабилизацию, а курсом управлять с помощью пилота, либо по GPS. Этим двоим достаточно будет оценивать положение в пространстве и направление скорости полета. Замкнув обратную связь получим автопилот с человеком внутри или без онного.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тема закрыта.

 

поднял USB на за запись и чтение через BULK и CONTROL точки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тема закрыта.

поднял USB на за запись и чтение через BULK и CONTROL точки.

Как вы добились работы bulk передачи ?

У меня задача аналогичная вашей: работать через libusb запросами bulk in и bulk out (дальше будет свой драйвер под линукс).

На основе On-The-Go host and device library реализую vendor specific class.

Сейчас проходит енумерацию, работает bulk out. Bulk in не работает.

Bulk in делаю по аналогии с cdc из библиотеки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...