Перейти к публикации

Рекомендованные сообщения

Опубликовано: (изменено)
3 минуты назад, zippoa сказал:

Сейчас на работе, а pdf дома могу только сгенерить. Хотя попробую сейчас саму альтимувскую схему скинуть если есть на чем ее открыть


Я даже больше хочу на PCB взглянуть, чтобы отсечь возможные неточности по УГО и футпринтам (не принимай только на личный счет, я просто хочу точно убедиться)

Изменено пользователем WG_Magners
Опубликовано: (изменено)
1 час назад, zippoa сказал:

PCBшка

Да вроде всё ок.. Странно, я собрал ровно в твоем конфиге и у меня работает.

Питание не проседает? Может светодиоды много жрут и LDOшка не справляется на PluePill

UPD. А светодиоды то от 5В.. Да и регистры тоже.. Хм

Изменено пользователем WG_Magners
  • Поддерживаю! 1
Опубликовано:

Да, светодиоды и регистры от своего питания +5. Вот и я о том же что странно. Попробую вечером опять поковырять.

Опубликовано:
Только что, zippoa сказал:

Да, светодиоды и регистры от своего питания +5. Вот и я о том же что странно. Попробую вечером опять поковырять.

Если есть возможность тыкнись осциллографом в клок регистров на ардуине и на стм32. Может у меня частота великовата и на твоей большой плате это уже влияет (хотя там дай бог пара мегагерц)

Опубликовано:
Только что, WG_Magners сказал:

Если есть возможность тыкнись осциллографом в клок регистров на ардуине и на стм32. Может у меня частота великовата и на твоей большой плате это уже влияет (хотя там дай бог пара мегагерц)

Хехе, осцилла нет. И так вон паяльную станцию прикупил под это дело :)  А как насчет возможности добавить в конфигуратор задавать частоту SCLK которая идет на регистры? Или на нее многое завязано?

Опубликовано: (изменено)
6 минут назад, zippoa сказал:

Хехе, осцилла нет. И так вон паяльную станцию прикупил под это дело :)  А как насчет возможности добавить в конфигуратор задавать частоту SCLK которая идет на регистры? Или на нее многое завязано?


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

К сожалению регистры нельзя вешать на железную шину SPI, так как выход не переходит в состояние Hi-Z и блочит линию. Так бы опрашивал без участия ядра контроллера в фоновом режиме

Изменено пользователем WG_Magners
Опубликовано:
10 минут назад, WG_Magners сказал:

К сожалению регистры нельзя вешать на железную шину SPI

Имеется ввиду линия данных и CS для загрузки регистров? Частота же вроде от аппаратного генератора SCK1 идет 

Опубликовано:
Только что, zippoa сказал:

Частота же вроде от аппаратного генератора SCK1 идет 


От ноги, которую использует аппаратный SPI. Во время опроса регистров ее дергает программа (это сделано для того чтоб на одну линию все клоки периферии можно было вешать).
Имеется в виду что если у регистра поднять сигнал СE (CLE_INH), то QH не будет находиться в состоянии Hi-Z, и будь он на линии MISO на которой есть другие устройства, то этим устройствам он мешал бы.

Опубликовано: (изменено)
17 часов назад, zippoa сказал:

Плюс USBDeview показывает наличие двух джойстиков


Попробуй удалить оба этих устройства (и вообще всё что связано с фриджоем, скорее всего оно имеет VID 0x0483) из системы с помощью того же USBDeview. У меня не получается эту проблему воспроизвести

Изменено пользователем WG_Magners
Опубликовано:

Значит докладываю. Поудалял устройства, сделал новый чистый конфиг и залил через конфигуратор. Две отдельные кнопки (B4 и B6) работают. А вот из регистров всё равно отрабатывают только один - последний выход которого подключен к контроллеру

Опубликовано: (изменено)

Проверил дополнительно всё мультиметром, контакты все на месте и цепочка передачи данных регистров тоже цела. Линии загрузки и такта на регистрах имеют напряжение 3.3 В

Изменено пользователем zippoa
Опубликовано:

В общем регистры нужно подключать к питанию 3.3В, либо делать согласование уровней. Кто бы мог подумать :)
 

Скрытый текст

fadca943c7a4.png


695ef150e600.png


Думаю это важно упомянуть в инструкции

Опубликовано:
57 минут назад, WG_Magners сказал:

Думаю это важно упомянуть в инструкции

В инструкции я писал, что регистры подключаются к линии 3.3В. 

А как делается согласование уроаней? 

Опубликовано:
18 минут назад, Johnet сказал:

А как делается согласование уроаней? 

Есть много разных вариантов. Самый простой - использовать микросхему преобразователя уровней.

Но подключить к 3.3В ещё проще)

Опубликовано:

Можно еще полевой транзистор ставить, затвором к линиям CLK/DATA/LATCH

Опубликовано:

Стоит это описывать в инструкции? (Преобразование уровней). По моему уже сложно )))

  • Спасибо! 1
Опубликовано:
1 минуту назад, Johnet сказал:

Стоит это описывать в инструкции? (Преобразование уровней). По моему уже сложно )))


Я считаю, что лишнее. Проще сказать, что подключать нужно к 3.3В и не плодить неразбериху)

  • Поддерживаю! 2
Опубликовано:
23 минуты назад, Johnet сказал:

Стоит это описывать в инструкции? (Преобразование уровней). По моему уже сложно )))

Спасибо тебе за работу!

Опубликовано:
4 минуты назад, =M=PiloT сказал:

Спасибо тебе за работу!

Да ладно... Все мы делаем то что умеем )))

Опубликовано:
1 час назад, WG_Magners сказал:


Я считаю, что лишнее. Проще сказать, что подключать нужно к 3.3В и не плодить неразбериху)

Чем проще и меньше всяких наворотов, тем лучше.

Опубликовано: (изменено)
1 час назад, =SOVA=Teiger сказал:

Чем проще и меньше всяких наворотов, тем лучше.

Все хотят чтоб была возможность настроить всё, но желательно одной кнопкой ))

Изменено пользователем WG_Magners
  • Нравится 1
  • ХА-ХА 1
Опубликовано:

Версия v1.4.1

 

Конфигуратор
Прошивка

 

Изменения:

  • Добавлена динамическая мертвая зона
  • Добавлены "секвентальные" кнопки (несколько логических назначаются на одну физическую и переключаются последовательно)
  • Уменьшено влияние работы периферии контроллера на качество преобразований АЦП (особенно при использовании одновременно TLE501x и аналоговых осей)
  • Улучшены тайминги для сдвиговых регистров
  • Более гибко настроены фильтры осей (7 уровней фильтрации)
  • Добавлена возможность делать смещение оси (смещение магнита) на заданный угол с шагом 15 градусов
  • Добавлено 3 настраиваемых канала ШИМ для подключения подсветки
  • Добавлена поддержка подключения до 24 светодиодов управляемых от состояния логических кнопок
  • Улучшено отображение конфигуратора на маленьких широкоформатных экранах
  • Сохраняемому конфигу по умолчанию присваивается имя подключенного устройства
  • Добавлена предупреждающая индикация при превышении максимально разрешенного количества кнопок/осей/светодиодов

В целом эта прошивка должна несколько улучшить качество аналоговых осей, и в ней на уровне кода уже заложены возможности для добавления внешних АЦП и еще пары приятностей. 
Принцип работы динамической мертвой зоны состоит в том, что контроллер детектирует наличие движения по оси и при его отсутствии фиксирует ось. Порог удержания оси регулируется в довольно большом диапазоне.

3 канала ШИМ позволяют делать подсветку на RGB светодиодах для настраиваемого цвета. Рекомендуется подключение светодиодов подсветки через транзисторные ключи во избежание выхода из строя ног контроллера. В будущем возможно появится поддержка адресуемых светодиодов для подсветки.

Назначаемые на состояния кнопок светодиоды пока что подключаются только как одиночные или как светодиодная матрица. Поддержка сдвиговых регистров планируется позднее.

 

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

Можно взять здесь: https://yadi.sk/i/fUOwMec-hj_HxA

  • Нравится 3
  • Спасибо! 7
Опубликовано:

попробуем прошить через конфигуратор

Опубликовано:
58 минут назад, WG_Magners сказал:

Рекомендуется подключение светодиодов подсветки через транзисторные ключи во избежание выхода из строя ног контроллера.

Марку транзисторов какую использовать? Для не искушенных может принципиалочку накидаете?

Опубликовано: (изменено)
26 минут назад, Johnet сказал:

Марку транзисторов какую использовать? Для не искушенных может принципиалочку накидаете?

Вот схема из инструкции на гитхабе:

Скрытый текст

led_transistor.png.ed2b347c04c98a812f53a290a38df783.png


В случае биполярных транзисторов подойдут практически любые попсовые NPN: BC817, BC547, 2Nxxx (там много разных). Нужно только сопротивление между пином и базой выбрать такое, чтоб ток базы был достаточный (обычно около 10мА)

Изменено пользователем WG_Magners
  • Нравится 1
Опубликовано: (изменено)

По поводу аналоговых осей. Сейчас имеем вот такую картину:

Скрытый текст

2020-03-06_15-40-40.thumb.png.2f0f786a6a26d8077f08eb6af390d7ca.png

 

Полный диапазон оси от -32767 до 32767, т.е. 16 бит. Серым сырой вход с переменного резистрора, синим - отфильтрованный фильтром первого уровня (его невозможно почувствовать, если вы не слышите ультразвук и не видите в инфракрасном спектре). 
Получается, что для сырого входа имеем эффективное разрешение чуть менее 8 бит, для входа с фильтрацией первого уровня - 9 бит. 

 

На всякий случай переходная характеристика для фильтра первого уровня (шкала времени в секундах):

Скрытый текст

2020-02-29_17-05-19.thumb.png.3773f168375ed4edb3aa521d67df9713.png

 

Изменено пользователем WG_Magners
  • Спасибо! 1
Опубликовано:
1 час назад, WG_Magners сказал:

Получается, что для сырого входа имеем эффективное разрешение чуть менее 8 бит, для входа с фильтрацией первого уровня - 9 бит. 

 

А вот это уже полностью совпадает с моими эксперементами. Ато заладили на каждом углу 12бит, 12бит...

 

1 час назад, WG_Magners сказал:

На всякий случай переходная характеристика для фильтра первого уровня (шкала времени в секундах):

 

25мс время установления? эээ...

эээээ!

1 час назад, WG_Magners сказал:

Получается

 

Можно переходить к оконным компаратарам. Мало кто поймет в чем обман. Много кто даже одобрит!

Опубликовано: (изменено)
5 минут назад, l3VGV сказал:

Ато заладили на каждом углу 12бит

Ну это так же как и с 16 бит на внешних АЦП) Если кто-то будет говорить 12 эффективного разрешения, то кидайте в него этим картинками

5 минут назад, l3VGV сказал:

25мс время установления? эээ...

эээээ!

мм?

Изменено пользователем WG_Magners
Опубликовано:

объясните тупому сколько сырых отсчетов выдает аналоговая ось на полном размахе?

Опубликовано:
4 минуты назад, WG_Magners сказал:

Если кто-то будет говорить 12 эффективного разрешения

 

да даже если и 10. Всёравно без хитрости никак.

Опубликовано:
4 минуты назад, =VCC=Ghash34 сказал:

сколько сырых отсчетов выдает аналоговая ось на полном размахе

 

200-220. примерно такое число честных бесшумных отсчетов

Опубликовано:
3 минуты назад, =VCC=Ghash34 сказал:

объясните тупому сколько сырых отсчетов выдает аналоговая ось на полном размахе?

Давай я тебе проще скажу - я сидел и думал, что юзать холл или ТЛЕ, поверь мне запросы у меня не кислые. А так же - если датчик под АЦП будет отрабатывать хотя бы 2 вольта из 3.3 ты будешь доволен результатом для любой важности оси. И еще, я повешу на одну ось (У) два датчика одновременно ТЛЕ и ХОЛЛ и выложу результат в видео видео снятый с DIView. Ток руки дойдут...

1 минуту назад, WG_Magners сказал:

 

200-220. примерно такое число честных бесшумных отсчетов

У тебя эти цифры что значат? Ок, для сравнения ТЛЕ на 40 градусов сколько даст этих же цифр?

Опубликовано: (изменено)
23 минуты назад, l3VGV сказал:

Можно переходить к оконным компаратарам. Мало кто поймет в чем обман. Много кто даже одобрит!

 

Программное снижение разрешения уже есть, по сути оно почти тот же результат даёт

7 минут назад, =M=PiloT сказал:

Ок, для сравнения ТЛЕ на 40 градусов сколько даст этих же цифр?

 

Измерять надо) Через пару часов сделаю

7 минут назад, =M=PiloT сказал:

У тебя эти цифры что значат?

 

Что спросили) количество сырых (не отфильтрованных) отсчетов на полном размахе( 0В - 3.3В). Имеются в виду отсчеты которые не прыгают вообще, то есть если всю ось разбить на такое количество частей, то фильтры не будут нужны, так как отсчеты не колышатся по умолчанию

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

Изменено пользователем WG_Magners
  • Нравится 1
Опубликовано: (изменено)

Вот график для TLE:

Скрытый текст

2020-03-06_18-06-54.thumb.png.9e4162d3c813d4fea57db0a3e37906b9.png

 

Выходит около 13000 честных отсчетов или около 14 бит эффективного разрешения на полном размахе 360 градусов

 

P.S. Я кстати приятно удивлен, думал хуже будет

Изменено пользователем WG_Magners
Опубликовано:
20 минут назад, WG_Magners сказал:

честных отсчетов

А вот реальность без попугаев, угадайте какой из них тле.

 

  • Нравится 2

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...