Контроллер для кордовых электричек

Маркс
VitalikV:

на xiao ble

я так понимаю, что кроме самой платы размером 21х17,5 мм должна быть вторая плата с гироскопом ?
опять же, а у них гувернер есть?
я просто не видел ее живьем ))

сейчас размер определяется размером кросс-платы, ее можно обрезать, убрав лишний текстолит ))
тогда она станет размером 35х22 мм
сейчас используются резисторы с конденсаторами 0805,
я могу 0402 паять паяльником, но не хочу )), слишком много трудностей, а выгода 1 грамм на круг.
опять же под такой размер плату “гаражным” методом ЛУТ очень сложно хорошо сделать.
если задаться целью сделать моноблок, заказав изготовление платы в Китае,
то получится уже значительно дороже )

У меня лежит модуль ESP32C3, он очень маленький

на ней я WEB морду уже делал, но пока все это отложено, надо что то одно делать

Маркс

кстати да, можно пока поразвлекаться с ESP32, посмотреть, а как на ней будет работать гувернер ))

VitalikV
Маркс:

я так понимаю, что кроме самой платы размером 21х17,5 мм должна быть вторая плата с гироскопом ?

Да, все так же как и на ардуино, надо делать кроссплату. Под xiao ble, есть готовый проект, называется climb and dive. Не успеваю купить акселерометр на али, появляется и быстро исчезает(((

VitalikV
Маркс:

У меня лежит модуль ESP32C3, он очень маленький

Xiao ble, тот же размер, но чип только с блютус, без вайфай. Nrf52840.

На есп будет перспективнее, в плане того что сама плата стоит копейки.

Маркс

точно, я с него “срисовал” фильтры помех ))

VitalikV:

Не успеваю купить акселерометр на али, появляется и быстро исчезает(((

amperkot.ru/products/…/40164557.html
Вам в Москве проще у них забрать на месте и дешевле чем на Али получится

Маркс
VitalikV:

Xiao ble, тот же размер, но чип только с блютус, без вайфай.

я решил пока остановится на “бюджетном” варианте с Ардуино
потом программу портировать на ESP32 будет не трудно

Маркс

Попробовал себя в пайке “волос”. Расстояние примерно 7,5 мм.
Толщина “волоса” … хз, но очень тонкий.

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

Маркс

Завтра в городе надо купит светодиод и пару резисторов и тогда можно убудет закончить изгоовление прототипа )

VitalikV
Маркс:

Вам в Москве проще у них забрать на месте и дешевле чем на Али получится

Там акселерометр, только чип нужен, попросил знакомого отрисовать плату. Ждемс

Маркс
VitalikV:

climb and dive

так у них даже Gerber файлы лежат на Гитхабе ? если я не ошибаюсь
и если я правильно помню, там как раз MPU6050 распаян.

Маркс

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

Маркс

"задним умом все крепки"©
надо было просто перекусить ножки под гироскопом, а не пытаться его отпаять ((

VitalikV
Маркс:

понять бы как они интерпретируют данные с акселя.

Так там файл с программой на гитхабе лежит, code.py. В блокноте можно посмотреть.

Маркс
VitalikV:

Так там файл с программой на гитхабе лежит, code.py. В блокноте можно посмотреть.

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

повесил волосок на пин питания, прицепил гироскоп на “соплях” к Ардуинке.

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

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

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

Собственно говоря, сейчас глянул шапку, а там

// изменения v2:
// - добавлена функция boolean Engine_Proc (int, int)
// параметры 
// - требуемое положение газа
// - условная задержка (в циклах программы)
// возвращает
// true - при достижении требуемого значения
// изменения v3
// - убрал процедуру таймера, вся обработка в одном цикле.
// изменения v4
// - расчет углов только на основании данных акселерометра
// изменения v5
// - добавляем программатор черех ГФК с помощью Arduino Uno + LCD Key shield
// - попробую другую библиотеку для MPU6050
// изменения v6
// - пробую добавлен гувернер
// - гироскоп пока отключил
// изменения v6.2
// - добавлена обработка данных с гироскопа MPU6050, пока с выводом результатов в SoftSerial без влияния на обороты мотора 

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

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

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

Почитать можно тут

Собственно говоря, нет никаких противопоказаний к использованию разных вариантов,
схема конечного устройства от этого вообще не поменяется

Маркс

спалил usb-uart и испортил кросс-плату, завтра буду травить новую, сегодня уже нет желания.
и надо думать, как прошивать Pro-Mini другого usb-uart у меня нет ((

RandomJ

Через другую ардуино, уно или нано. Или через дата-кабель от старого телефона.

Маркс

не все так просто ), я это уже проходил.
или подключение в варианте Arduino as ISP,
или снимать с платы микро контроллер
если как советуют RESET на землю, то все равно нужна кнопка ресет на прошке ))
при этом пин DTR использовать не получится,
а кроме того, на прошках достаточно часто пин DTR на ногу RESET заведен без кондера,
а тогда RESET на массу на нанке или унке автоматом сбрасывает прошку)

Маркс

Но все не так страшно как казалось,
на USB-UART умер порт дергающий DTR, прошка тоже не пострадала,.
А с ручным ресетом не получалось потому как DTR на массе сидел )
В общем завтра все соберу, кнопку ресет вытащу наружу,
дорожки на кросс-плате отремонтирую “соплями”,
опыт уже есть ))
И все у меня получится, по крайней мере на столе все по отдельности работает,
правда при прошивке приходится нажимать RESET на прошке.

Маркс

Прошка пострадала сильнее чем казалось
Решил проверить с внешним питанием, не от USB-UART,
а прошка не заводится и с/д не светится, взял лупу и стал смотреть.
дорожка от ноги RAW на стабилизатор 5В сгорела
Итого, результат "семь раз отрежь, а потом подумай"©
четыре дорожки на плате таймера, две дорожки на прошке,
со второй проще, временно перекину сигнал с ноги D4 на D6.

Да и по Ардуинке на данный момент решение есть,
на таймере поставлю перемычку RAW -> 5V, благо регулятор выдает 4,8В, а не 6В.

14 days later
Маркс

две недели бился над таймером, не хочет зараза прошиваться и работать с Pro Mini
и только сегодня додумался проверить напряжение питания процессора,
я был в полной уверенности, что получил из Китая 5В/16МГц, в итоге имею 3,3В/8МГц.
измерил напряжение питания процессора и был сильно удивлен, там 3,3В.
я всю голову сломал, циклы рвутся, программа дурит, а всего на всего тактовая в два раза ниже.

Маркс

завтра заберу кучка про мини на 5В и 16МГц и буду в очередной раз собирать прототип.
кста, поставил в частоту 8МГц в настройках IDE и выяснил,
что USB-UART тоже в добром здравии.
вот такие дела, доверяй Китайцам, но проверяй.

Маркс

Забрал “Прошки”, опять оказались 3,3В/8Мгц, у меня просто нет слов.
Сделал очередной заказ, теперь уже на Авито в Омске, продавец клялся, что они у него на 5В,
посылка уже приехала на Казанский вокзал, так что еще пару дней ожидания.

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

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

Канал радио реализован на NRF24L01.

Сама ардуина разместилась в батарейном отсеке.

Очень удобно при необходимости прошить ).
Ну и "взгляд внутрь"©

Индикатор заряда можно наблюдать через отверстие в ручке ) (очень бюджетное решение)

Приемник пока в варианте

завтра планирую его довести до ума.

А что самое удивительное, все прекрасно работает.

Маркс

Так же пользуясь случаем и наличием “лишних” Прошек3,3,
довел до ума “долгострой”

Восемь пропорциональных каналов

  • одна хатка полностью
  • вторая хатка два канала (не получается припаяться к двум выводам)
  • два курка под пальцами
    и ЕМНИП шесть или восемь дискретных (надо посчитать, но шесть есть точно со второго по седьмой)
    У проши всего 14 цифровых выводов
  • два UART их я не трогал
  • пять нужны для NRF24L01
  • ЕМНИП один использую для индикации (но могу ошибаться)
VitalikV

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