Jump to content

FreeJoy. OpenSource контроллер на STM32


Recommended Posts

Baskervil

Есть еще вопрос. Со светодиодами кто замарачивался? Пробовал подключить одноцветные по схеме "матрица" (как в описании Wiki). Подвязал к кнопкам. Но ниодин светодиод из 12 не зажегся при срабатывании кнопки. Такой же результат и со светодиодами, подвязанными к оси. Сколько вольт выдает контроллер на светодиод при его включении?

Link to comment
Share on other sites

27 минут назад, Baskervil сказал:

Сколько вольт выдает контроллер на светодиод при его включении?

3,3 В. А одинарный светодиод работает?

Link to comment
Share on other sites

Baskervil
46 минут назад, Baskervil сказал:

Есть еще вопрос. Со светодиодами кто замарачивался? Пробовал подключить одноцветные по схеме "матрица" (как в описании Wiki). Подвязал к кнопкам. Но ниодин светодиод из 12 не зажегся при срабатывании кнопки. Такой же результат и со светодиодами, подвязанными к оси. Сколько вольт выдает контроллер на светодиод при его включении?

да, загорелся, выход 3.3В

Вот моя плата850212473_.thumb.jpg.d43e79a6aa2f81a372a2a826863a7865.jpg

В конфигураторе я вижу, что зеленым подсвечивается строка с подвязанным к кнопке светодиодом.1945838986_.thumb.jpg.ccdc3d09240fada2bc82912f7b8ad588.jpg

  • Upvote 1
Link to comment
Share on other sites

8 часов назад, Baskervil сказал:

Со светодиодами кто замарачивался?

Я подключал как однарные (для своих поделий) и для эксперимента собирал маленькую матрицу  3*1. Работало.

Мог светодиоды перевернуть (переполюсовка) или неправильно настроить (тогда хотелось бы конфиг в студию).

 

Link to comment
Share on other sites

Baskervil
3 часа назад, Johnet сказал:

Я подключал как одинарные (для своих поделий) и для эксперимента собирал маленькую матрицу  3*1. Работало.

Мог светодиоды перевернуть (переполюсовка) или неправильно настроить (тогда хотелось бы конфиг в студию).

 

Пробовал светодиоды и так и этак подключать- не горит, не хватало питания для них. На нескольких выходах видел около 0,9В. По остальным - 0В. Конфиг приложил.

 1373059468_.jpg.e0299b7486dd682ec2292e12021dee8e.jpg

Link to comment
Share on other sites

23 минуты назад, Baskervil сказал:

Конфиг приложил.

Слева кнопочка Save config to file и сюда получившийся файлик.

Без резистора пробовал подключить одиночный светодиод? Ток не большой не должно сгореть.

Какой светодиод, номинал токоограничивающего резистора?

Edited by Johnet
Link to comment
Share on other sites

17 часов назад, Baskervil сказал:

Есть еще вопрос. Со светодиодами кто замарачивался? Пробовал подключить одноцветные по схеме "матрица"

12 штук работают как часики.

Link to comment
Share on other sites

=VCC=Ghash34

подключал вот такие светики 12 штук. все работает

50-2x3x4-2x5x7.jpg

 

  • Like 1
Link to comment
Share on other sites

24.11.2021 в 14:28, Milit сказал:

ВашужМашу! Так это Фриджой хулиганит? А я клаву апстол фигачу :( Только у меня симптомы немножко другие:

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

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

У меня почти всё время лампочки загораются все. Потом живут своей жизнью. Зависимость не проверял, т.к. впадлу и не мешает)
Я уже и по питанию менял схему, и кабеля менял... Видимо на программном уровне чёт клинит. Осталось только беспроводную подтыкнуть и проверить на ней влияние.

Link to comment
Share on other sites

Baskervil
9 часов назад, Johnet сказал:

Слева кнопочка Save config to file и сюда получившийся файлик.

Без резистора пробовал подключить одиночный светодиод? Ток не большой не должно сгореть.

Какой светодиод, номинал токоограничивающего резистора?

FreeJoySettings.zip

Диоды АЛ307, 20мА, 2-3В прямое напряжение. Резисторы 200 Ом (3,3В/200 Ом=0,0165А). Да я и без этих цепочек создавал матрицу 1х3 прибором становился по всем выходам. Ну нет ни где 3,3В

Link to comment
Share on other sites

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

Link to comment
Share on other sites

Baskervil
6 минут назад, Baskervil сказал:

FreeJoySettings.zip 946 \u0411 · 0 скачиваний

Диоды АЛ307, 20мА, 2-3В прямое напряжение. Резисторы 200 Ом (3,3В/200 Ом=0,0165А). Да я и без этих цепочек создавал матрицу 1х3 прибором становился по всем выходам. Ну нет ни где 3,3В

Провел еще доп исследование. Убрал все выхода светодиодов. Назначил LedColum-A8, LedRow- B11, B10, B1. Подвязал на входа 5,6,7. Даю 5 вход. В конфигураторе вижу его сработку , во вкладке лед - пятый выход. Становлюсь прибором на А8 и по очереди на  B11, B10, B1. Только на А8-В1 появилось 0,9В. И это без нагрузки в виде светодиода. Конечно гореть не будет. А вот одиночный светодиод горит нормально. 

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

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

Ну тут же нет транзисторов

L1

 

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

Провел еще доп исследование. Убрал все выхода светодиодов. Назначил LedColum-A8, LedRow- B11, B10, B1. Подвязал на входа 5,6,7. Даю 5 вход. В конфигураторе вижу его сработку , во вкладке лед - пятый выход. Становлюсь прибором на А8 и по очереди на  B11, B10, B1. Только на А8-В1 появилось 0,9В. И это без нагрузки в виде светодиода. Конечно гореть не будет. А вот одиночный светодиод горит нормально. 

Ну тут же нет транзисторов

L1

 

с транзисторами таже фигня. Не хватает им напряжения для открытия

 

Link to comment
Share on other sites

11 минут назад, Baskervil сказал:

Ну тут же нет транзисторов

 

 

Так там и токи не по 20мА(надеюсь). Давно я не видел живых АЛ307, не помню параметров.

 

Для диода у которого прямое 2-3В(нечоси разброс!) считать нужно так. (3.3В на ноге - падение) / резистор. Будет ток. Считаем для среднего случая 2.5В.

 

3.3-2.5 = 0,8В

0,8В / 200 = 4мА. Что явно не 20. И возможно он просто не способен ярко загореться.

 

Это если приведенные параметры корректны. А может и ещё в чемто дело(превышением токов уничтожен вход/выход).

 

***

 

Вобщемто, осуждаю картинку без транзисторов. Ну ладно народ может их боиться, хотя в данном случае какраз они и нужны, ну поставить unl2003, причем сразу на +USB, чтобы не перегружать регулятор м.к.

 

***

 

Совсем правильное зажигание светового диода выглядит следующим образом(ищется в гугле как bjt current source)

 

где uc это нога м.к., R current set это резистор установки тока светодиода, а +V это напряжение питания, не более чем выдержит транзистор. Опятьже рекомендую совать прямо на V_USB

R расчитывается просто. (Напряжение ноги - 0.7)/R = Ток через диод.

иными словами

R = (Напряжение ноги - 0.7) / желаемый ток через диод

 

 

Неважно сколько у вас диодов и сколько на них падает, неважно какое напряжение питания. И даже какой транзистор - тоже неважно(кт315 - подойдет). Любой мелкий распространенный.

(ну до маразма не доводите, конечно напряжения должно быть побольше чем сумма прямых падений на всей включенной цепи)

 

Расчитаем резистор для нашего м.к. и светодиода с током 5мА

 

3.3 - 0.7 = 2.6

2,6/0,005 = 520Ом

 

 

Даже на ногу м.к. резистор вешать не нужно, и так нормально будет.

 

 

Эстеты могут применить мосфетики, типа 7000, там расчет тотже, только напряжение открытия возьмите из даташита. Оно значительно больше чем у биполярника, и это сильно сужает диапазон.

Untitled.thumb.png.4477ed14a16f44e2101e19fc9301faef.png

Edited by l3VGV
Link to comment
Share on other sites

Baskervil

А на контроллере есть зеленый светодиод РС13. Что он сигнализирует кроме перезагрузки ? Иногда он в полнакала светится, иногда постоянно горит, но может и не гореть. На одну кнопку нажмешь- не горит. На вторую может заморгать

Link to comment
Share on other sites

Сейчас существует огромное количество дешевых сверхъярких светодиодов, которым 5 мА хватит за глаза (а для многих можно ток еще ограничить). В этом смысле использование АЛ307, который и при 20 мА светится так себе- не самый удачный вариант. Но если он нормально светится в одиночном режиме, но не хочет в матрице- что-то не так с подключением матрицы. Сейчас ради интереса достану макетный FreeJoy, попробую.

  • Upvote 2
Link to comment
Share on other sites

2 часа назад, Baskervil сказал:

Назначил LedColum-A8, LedRow- B11, B10, B1.

Назначил матрицу на A8 и B13-B15, подключил кнопку на B9. Светодиод на B13 нормально отрабатывает, как и ожидалось.

Link to comment
Share on other sites

10 часов назад, l3VGV сказал:

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

Подразумевается, что строки загораются последовательно. Поэтому перегрузка на цепи не возникает из за наличия резистора на колонке матрицы. (Кстати WG_Magners включал без резисторов. Все работало. Но я на схеме их оставил.)

Я человек ленивый, резисторы считать лень. Пользуюсь вот этим: https://cxem.net/calc/ledcalc.php

10 часов назад, Baskervil сказал:

с транзисторами таже фигня. Не хватает им напряжения для открытия

С транзисторами схема абсолютно рабочая один в один как в Вики. Делал посадочно-пилотажный прибор на транзисторах. Все работает.

 

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

 

Link to comment
Share on other sites

WG_Magners
17 часов назад, Baskervil сказал:

Только на А8-В1 появилось 0,9В.

Мультиметром смотрите?

Матрица это динамическая индикация же, 3.3В там можно осциллографом увидеть, мультиметр усредняет значение

LedSingle работает же?

 

Link to comment
Share on other sites

WG_Magners
10 часов назад, Johnet сказал:

Кстати WG_Magners включал без резисторов. Все работало

Не принимать за рекомендацию, это я хулиганил)

  • Haha 1
Link to comment
Share on other sites

Вот любопытная схема для матриц диодиков, возможно немного пересчитать R

Зачем вверху транзисторы а внизу UNL? Затрудяюсь понять. Можно и вниз транзисторы(колектором к тому месту где OUT, и эмитером на землю. между базой и мк поставить сопротивление, скажем 1к)

0272.scheme_5F00_01.png

Edited by l3VGV
  • Like 1
Link to comment
Share on other sites

Baskervil
8 часов назад, WG_Magners сказал:

Мультиметром смотрите?

Матрица это динамическая индикация же, 3.3В там можно осциллографом увидеть

Да смотрел сначала мультиметром, потом подключил осциллограф. Действительно идет вроде как ШИМ. Поставил ограничительные сопротивления по 50 Ом. Увидел при сработке по входу, загорался назначенный светодиод. Но проблема , что он моргает, а не светится постоянно. Все же надо химичить через транзисторы. Через транзисторы получилось классно. 

Link to comment
Share on other sites

У меня с кнопками похожая фигня была! Кнопки с подсветкой, все светодиоды подключены параллельно каждый со своим токоограничивающим резистором через транзистор. При снижении скважности шим яркость свечения уменьшалась не плавно, а в какой то момемнт светодиоды начинали мигать, и при дальнейшем уменьшении гасли. 

Edited by Johnet
Link to comment
Share on other sites

Куда у нас тут феачуре реквесты постить? Ябы хотел вернуться к вопросу нескольких мертвых зон для выбранной оси.

 

  

06.10.2021 в 21:23, WG_Magners сказал:

Если без мертвых зон на границах участков, то это и сейчас можно сделать, если поколдовать с механикой/электроникой.
Кривые загруза в прошивке присутствуют, но поделены на 10 участков через строго определенные одинаковые промежутки. Если механику сделать так, чтобы можно было границы участков поместить в узлы кривых, то всё получится настроить. Но с механикой гемор конечно) В конфигураторе получится что-то такое:
 

  Показать содержимое

image.thumb.png.a6e16de152ce2a057c950305f85da96b.png


Более сложный путь - это сделать в прошивке возможность движения узлов кривых по горизонтали. Мы такую возможность обсуждали, но отказались, решив, что не особо надо. Видимо, поспешно)
С точки зрения прошивки изменение не очень сложное (изменится математика просчета кривых, раздуется размер конфига, возможно какие-то изменения в процедуре обмена конфигом с конфигуратором) С точки зрения конфигуратора я не могу сказать точно, но думаю, что тоже решаемо.
Тут же можно пойти дальше и дать возможность кривую "разрывать", чтобы добавить мертвые зоны. Соответственно, еще некоторое количество работы)
В общем, всё возможно)

 

 

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

 

Давайте для простоты скажем, что количество этих м.з. будет не более 6 на ось(не вижу нужды в переменном количестве), нам для газа нужно сколько? Рулежка, полет, климб, бой, форсаж? Ну и одна запсная, которой можно не пользоваться.

 

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

 

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

"положение центра на логической оси", та точка где пользовать нажал кнопку "установить текущее..."

"размер", в процентах от размера оси, 5%, 10% и т.п.

"сообщаемое значение", то значение которое идёт в репорт пока логическая ось не вышла за предел м.з.

 

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

 

Тут становится понятно что список должен сам сортироваться по "положению" при каждом захвате/редактированию, и сообщать контроллеру уже отсортированный(да и список там не нужен, можно забить намертво в массив[6] структур).

 

 

Как это делать в QT пока совершенно не представляю :) этож нам не дельфи или сишарп.

 

 

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

 

 

 

Но вобщем это пока просто проверить, есть ли интерес к такой фиче.

Link to comment
Share on other sites

12 часов назад, l3VGV сказал:

Давайте для простоты скажем, что количество этих м.з. будет не более 6 на ось(не вижу нужды в переменном количестве), нам для газа нужно сколько? Рулежка, полет, климб, бой, форсаж?

Рулежка, полет, климб, бой производятся с переменной тягой. 1 мз надо: положение малый газ, когда двигатели заводишь в начале шкалы и между нормальным газом и форсажем. Не знаю есть ли детенд на положении "чрезвычайный форсаж" у су-33

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...