Контроллер для кордовых электричек
Хорошая мысля приходит опосля. Мы в Вас верим!
да все оно на мегах )), я и сам много лет Меги программировал и горя не знал,
а крайние лет шесть пересел на STM32, на которых в плане отладки все просто “в шоколаде” ))
потому и говорю, к хорошему быстро привыкаешь.
конкретный пример, есть Нано, которая должна получить или передать по UART данные,
как узнать, что она передавала или получала ?
когда в проекте UART свободен, можно “выкинуть” в него полученные данные и посмотреть в проге Терминал,
а если занят ? на STM32 простая реализация, я в режиме отладчика останавливаю программу и смотрю все буферы и переменные )
или в реал-тайм, вывожу в консольную строку.
но решение есть, подключу библиотеку SoftSerial, прицеплю USB-UART и буду в терминале смотреть ))
что касается решения UART на программаторе, на UNO UART разведен, но не распаян,
И при таком способе монтажа разъема, даже не мешает внизу ),
недостаток - четыре штыря и питание в середине, надо искать удлинитель с четырьмя проводами
У меня даже подходящий провод от ST-Link завалялся и при подключении к МИНИ провода переставлять не придется
Хорошая мысля приходит опосля. Мы в Вас верим!
да уже придумал, что поменять, для увеличения стабильности и контроля данных.
это реализовать было значительно сложнее
Настроил вывод данных с таймера, в роли которого Ардуинка-Нано, в Soft’овый последовательный порт,
завтра начну “кропать” новую версию чтения/записи данных в таймер с программатора.
Алгоритм на бумаге уже накидал, понял в чем были глобальные ошибки ).
На программаторе тестовые данные при необходимости буду выводить на экран, тут проще.
В итоге прикрутил контрольную сумму на пакет с данными и все стало значительно проще.
Обмен со стороны программатора отлажен с “эмулятором”.
Осталось перенести обмен из “эмулятора” в программу таймера, по сути заменить заглушки на подпрограммы.
Завтра после работы думаю закончить )
Все что хорошо работало на эмуляторе, в таймере работать отказалось,
пол дня убил, уже сломал всю голову, куда пропадают данные, в общем релиз сегодня не состоится, пойду спать.
Утро вечера мудренее, завтра продолжу изыскания ((, печалька.
Завтра прикручу в таймере и программаторе отзеркаливание в софтсериал всей информации отправляемой и получаемой через UART
и буду смотреть, другие варианты уже все перебрал.
“дело было не в бобине дхххххб сидел в кабине”(с) народная мудрость.
сегодня с утра девайсы отказались коннектится, совсем отказались.
и тут пришла в голову “мудрая мысля” - “а может стоит глянуть на TX/RX с помощью осциллографа”(с)
вывод, я больше недели убил оптимизируя код, изобретая проверки данных,
а надо было всего навсего, выкинуть на хрен китайские провода с разъемами,
которые тупо “звенели” и вносили помехи в данные, причем неисправность плавающая,
чуть тронул проводок, пакет прошел, двинул в другую сторону, пакет не пришел.
а я с “большого ума” сегодня с утра начал в очередной раз переписывать обмен.
я это сделал,
- обмен данными
- изменение настроек
- сохранение настроек в EEPROM таймера работает
через пару часов закончится гран-при Ф1 и выложу актуальные версии программ.
Timer+Programmer.zip
дальше только исправлять ошибки,
при “холодном” старте все работает штатно, но если случился сбой и в буфере “зависли” данные,
нарушается логика обмена, лечится ресетом обоих девайсов.
в следующей версии добавлю стартовый байт, что бы “зависшие” данные и разный “мусор” в канале не мешали.
через пару часов закончится гран-при Ф1 и выложу актуальные версии программ.
[off top] Рассел всю малину испоганил…[/off top]
это тоже оффтоп
мостик Феррари всю малину испоганил, могли дубль сделать.
если бы в самом начале Сайнс пропустил Леклера, тогда на пит-стопе Леклер не потерял бы уйму мест.
а во время VSC у Леклера была возможность бесплатного пит-стопа.
короче Феррари как всегда тупили.
а потом, если вдруг Сайнс второй, а Леклер первый, поменяли местами, что бы Карлуше не было обидно
кто нибудь попробовал ?
Пока нет, немного не хватает времени, работа завал, но пристально слежу ща темой.
я к выходным попробую “выкатить” для тестирования упрощенную версию таймера, без шасси.
я просто не помню, v5 рабочая была или находилась в стадии переработки,
я в то время как раз начал переделывать программу в расчете на реализацию программатора и не закончил ).
Постараюсь выделить минутку, погонять скетчи. Железки все достал из-за кромов, надо только время, потестировать…
Прошу прощенья за долгое молчание,
у меня есть модуль GY521, но судя по данным, которые он выдает, он уже умер,
на неподвижном устройстве углы скачут ±90 градусов, а иногда и больше,
заказал с Али aliexpress.ru/item/1005005253863327.html?spm=a2g2w… такой модуль,
рассчитываю, что к концу месяца я его получу,
параллельно рисую плату, правда с голым Atmega328 и голым MPU6050,
переносятся с помощью фена.
Расположение гироскопа и таймера на одной плате, не лучший вариант.
Проблема установки гироскопа в центре тяжести модели, и влияние вибраций от мотора.
Лучше все же продумать реализацию гуверненра на таймере с гироскопом, что позволит использовать регуляторы без функции гувернера.
К тому же, уж если браться за фен, то тогда можно уйти от ардуино совсем…
Прелесть ардуино, только в одном, купил, залил и полетел. Дальше много минусов, цена, вес, программатор и. Т. Д.
Это пока вариант без фена )
плата получается компактная 2,5х5смвыносить гироскоп (ИМХО) нет никакого смысла,
учитывая, что паять ноги на Про Мини надо далеко не все, вес будет маленький, думаю в 10 грамм можно уложится.
Гувернеру тоже нужно от чего то плясать, скорость нарастания оборотов при снижении
и их падения при подъеме будет меняться с задержкой, от гувернера эффекта будет больше при падении напряжения на батарейке.
Именно падение нвпряжения и хотелось бы компенсировать, тогда реакция на гироскоп будет более предсказуема.
Вероятнее всего завтра, а может быть через часок, после прогулки с собакой,
попробую посмотреть, что можно вытащить с одной фазы относительно земли,
или все таки придется паяться к двум проводам с регулятора,
и можно ли эти данные использовать для регулировки оборотов.
Осциллограф есть, регулятор с мотором тоже ).