Собственно сабж..
Девайс состоит из attiny85 Digispark и INA226.
Иногда всё запускается при 19200 Бод, выше - вообще не катит..
При 9600 всё ок.
Скетч:
Работу I2C, или её отсутствие определяю осликом по присутствии/отсутствии импульсов на SDA/SCL.
Serial - по отсутствию импульсов на TXD. На RXD всё приходит в лучшем виде.
Вопрос - я слишком много захотел от attiny85, или что-то не так в софте?
Гм.. А как это сделать?
Я имею ввиду ГДЕ её можно измерить?
Кстати.. В IDE я выбираю Clock: 16 MHz (PLL).
И почему при “высокой” скорости Serial не стартует (или заходит в ступор) I2C ?
Не связана ли вся эта байда с процедурой калибровки шунта?
Я ответил, почему может не работать сериал вообще, без привязки к какому-то конкретному коду. Напишите отдельный код, только для проверки сериала.
Проверить тактовую частоту МК можно , к примеру, зажигая диод на определённый интервал, и, сверяя с часами, или , задав на пине сигнал определённой частоты - измерить ёё осциллографом, и сравнить фактическую с задуманной.
Код внимательно не смотрел - нет времени, увы.
Походу, я снова наступил на старые грабли с гальванической развязкой UART..
Только проблема, скорее всего другая - пока предполагаю, что велики (или малы ) номиналы резисторов (выделено красным), да и “жёлтые” тоже под вопросом.
Номиналы выбирал практически “от фонаря”..
Вероятно, на более высоких скоростях банально “не хватает тока”.
Попробовал подключить схему к компу без опт. развязки, через адаптер USB/TTL - 115200 без проблем!
И I2C не падает. Вот это, кстати, самое странное, что сбивало с толку..
Чему никакого объяснения у меня нет..
Вообщем, вечером поколдую с опт. развязкой.
Да уж как-то отложилось в мозгу, что здесь больше софтверные обсуждения.
А схемотехника в самую последнюю очередь. Вот и “оплошал”.
Ну если Вы готовы обсудить проект в целом, выкладываю схему модуля управления БП.
Силовая часть в данной схеме представлена БП 12V. В оригинале это высоковольтный БП (2KV).
Фрагмент схемы, выделенный пунктиром, находится на отдельной плате.
И в данный момент GND собственно БП с платой контроллера не соединён (там где “крестик”).
В процессе “дорисовки” схемы, появилась мыслЯ - а не тут ли причина проблемы?
В отсутствии соединения с GND БП.
Корпус разъёма DB9 гальванически соединён с “медью” платы, но в данный момент “висит в воздухе”..
Хотя эта “земля” и не выходит на другой конец кабеля (разъём RJ45), но вполне возможно соединена с “экраном” кабеля.
Не является ли, случаем, эта “недоработка” банальным источником помех?
Сейчас проверить нет возможности, вечером начну с этого “пункта”.
Возможно, проблемы с питанием или есть помеха.
При подключении USB подключается 5в от компьютера, поэтому ситуация улучшается
Проверьте источник +5в.
Добавьте по конденсатору, ~10uF, возле тиньки и возле модуля.(желательно low esr)
Резистор 2.2к (на RXD) увеличьте до 5- 10 кОм
2v это для примера, а так померить реальное падение напряжения на диоде и рассчитать резистор по номинальному току из даташита. Если у ТС работает ну и ладно.
тут ты немножко не прав, светодиод он же как стабилитрон работает значит надо (5 - Vстаб.(1.7) )/100 = 33ма (максимум)
по конкретно твоей оптопаре надо уточнить сколько там напряжение составляет, но выходить надо на эти 25 ма, о чём командир видимо и подсказывал
ну пин то не сгорит, а в импульсе твоя оптопара держит больше, ради эксперимента померь напряжение стабилизации, просто интересно инфракрасный там диод или нет, в сторону красного напряжение меньше, в сторону синего больше