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

Маркс

да все оно на мегах )), я и сам много лет Меги программировал и горя не знал,
а крайние лет шесть пересел на STM32, на которых в плане отладки все просто “в шоколаде” ))
потому и говорю, к хорошему быстро привыкаешь.

конкретный пример, есть Нано, которая должна получить или передать по UART данные,
как узнать, что она передавала или получала ?
когда в проекте UART свободен, можно “выкинуть” в него полученные данные и посмотреть в проге Терминал,
а если занят ? на STM32 простая реализация, я в режиме отладчика останавливаю программу и смотрю все буферы и переменные )
или в реал-тайм, вывожу в консольную строку.

но решение есть, подключу библиотеку SoftSerial, прицеплю USB-UART и буду в терминале смотреть ))

что касается решения UART на программаторе, на UNO UART разведен, но не распаян,

И при таком способе монтажа разъема, даже не мешает внизу ),
недостаток - четыре штыря и питание в середине, надо искать удлинитель с четырьмя проводами

У меня даже подходящий провод от ST-Link завалялся и при подключении к МИНИ провода переставлять не придется

Маркс

Настроил вывод данных с таймера, в роли которого Ардуинка-Нано, в Soft’овый последовательный порт,
завтра начну “кропать” новую версию чтения/записи данных в таймер с программатора.
Алгоритм на бумаге уже накидал, понял в чем были глобальные ошибки ).
На программаторе тестовые данные при необходимости буду выводить на экран, тут проще.

Маркс

В итоге прикрутил контрольную сумму на пакет с данными и все стало значительно проще.
Обмен со стороны программатора отлажен с “эмулятором”.
Осталось перенести обмен из “эмулятора” в программу таймера, по сути заменить заглушки на подпрограммы.
Завтра после работы думаю закончить )

Маркс

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

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

Маркс

“дело было не в бобине дхххххб сидел в кабине”(с) народная мудрость.
сегодня с утра девайсы отказались коннектится, совсем отказались.
и тут пришла в голову “мудрая мысля” - “а может стоит глянуть на TX/RX с помощью осциллографа”(с)
вывод, я больше недели убил оптимизируя код, изобретая проверки данных,
а надо было всего навсего, выкинуть на хрен китайские провода с разъемами,
которые тупо “звенели” и вносили помехи в данные, причем неисправность плавающая,
чуть тронул проводок, пакет прошел, двинул в другую сторону, пакет не пришел.

а я с “большого ума” сегодня с утра начал в очередной раз переписывать обмен.

Маркс

я это сделал,

  • обмен данными
  • изменение настроек
  • сохранение настроек в EEPROM таймера работает

через пару часов закончится гран-при Ф1 и выложу актуальные версии программ.

Маркс

Timer+Programmer.zip
дальше только исправлять ошибки,
при “холодном” старте все работает штатно, но если случился сбой и в буфере “зависли” данные,
нарушается логика обмена, лечится ресетом обоих девайсов.
в следующей версии добавлю стартовый байт, что бы “зависшие” данные и разный “мусор” в канале не мешали.

RandomJ
Маркс:

через пару часов закончится гран-при Ф1 и выложу актуальные версии программ.

[off top] Рассел всю малину испоганил…[/off top]

Гена_Большой

это тоже оффтоп

мостик Феррари всю малину испоганил, могли дубль сделать.
если бы в самом начале Сайнс пропустил Леклера, тогда на пит-стопе Леклер не потерял бы уйму мест.
а во время VSC у Леклера была возможность бесплатного пит-стопа.
короче Феррари как всегда тупили.

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

VitalikV

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

Маркс

я к выходным попробую “выкатить” для тестирования упрощенную версию таймера, без шасси.
я просто не помню, v5 рабочая была или находилась в стадии переработки,
я в то время как раз начал переделывать программу в расчете на реализацию программатора и не закончил ).

VitalikV

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

25 days later
Маркс

Прошу прощенья за долгое молчание,
у меня есть модуль GY521, но судя по данным, которые он выдает, он уже умер,
на неподвижном устройстве углы скачут ±90 градусов, а иногда и больше,
заказал с Али aliexpress.ru/item/1005005253863327.html?spm=a2g2w… такой модуль,
рассчитываю, что к концу месяца я его получу,
параллельно рисую плату, правда с голым Atmega328 и голым MPU6050,
переносятся с помощью фена.

Маркс

а пока родил вариант платы с использованием модулей Ардуино Про Мини и Gy-521

две клетки 5мм

VitalikV

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

Проблема установки гироскопа в центре тяжести модели, и влияние вибраций от мотора.

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

К тому же, уж если браться за фен, то тогда можно уйти от ардуино совсем…

Прелесть ардуино, только в одном, купил, залил и полетел. Дальше много минусов, цена, вес, программатор и. Т. Д.

Маркс

Это пока вариант без фена )
плата получается компактная 2,5х5смвыносить гироскоп (ИМХО) нет никакого смысла,
учитывая, что паять ноги на Про Мини надо далеко не все, вес будет маленький, думаю в 10 грамм можно уложится.
Гувернеру тоже нужно от чего то плясать, скорость нарастания оборотов при снижении
и их падения при подъеме будет меняться с задержкой, от гувернера эффекта будет больше при падении напряжения на батарейке.

VitalikV

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

Маркс

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