Перейти к содержанию
    

Pat

Свой
  • Постов

    427
  • Зарегистрирован

  • Посещение

Весь контент Pat


  1. Есть система освещения состоящая из 2 или 4 галогенных автомобильных ламп 55Вт 12В. Есть регулятор который управляет мощностью ламп ШИМ 100Гц. Задача определить короткое замыкание на это линии при включении. Вроде как все примитивно, но вот с определением КЗ есть сложности. Лампы включенные параллельно в холодном состоянии практически и есть КЗ. Схема управления следующая, ключевой транзистор используется в качестве шунта, с него снимаем сигнал и через операционник подключаем на компаратор МК. Этот компаратор воздействует на OCREF таймера, ЦАПа нету поэтому задать уровень срабатывания компаратора в широких пределах не получается. Там есть несколько вариантов. Измерения тока в момент включения происходит следующим образом. Запускаем ШИМ (запускаем таймер), открывается ключевой транзистор, ток начинает течь через лампочку и в какой то момент сработает компаратор. После чего выход таймера отключается, ключевой транзистор закрывается. Мы же фиксируем значение до которого досчитал таймер. Чем меньше досчитал таймер тем больше был у нас ток. Отсутствии КЗ ток лампочку будет разогревать и значения таймера увеличиваться, до момента когда ток уменьшиться настолько что перестанет срабатывать компаратор. С одной стороны это хорошо для лампочек они медленно разогревается. Но процесс этот не быстрый, выход на режим до 800 мс ( в зависимости сколько ламп подключено). В начальные момент значения таймера при 2 соседних включениях таймера ШИМ измениться очень мало 0 — 2 единицы. Мне нужно за несколько включений ( в идеале до 10) ключевого транзистора понять что на выходе лампы или КЗ. У меня же получается гарантированно где-то за 30 включений. При КЗ в начальные моменты картина очень похожа на поведение ламп. Может есть на этот случай какой либо математический алгоритм? Извините если не ясно описал свою проблему.
  2. STM32MP1 - bare metal

    Что то Вы как то плохо говорите. Не хочется верить в самое плохое. Может просто форум покинул, а так все нормально?
  3. Не знаю что за дистрибутив линуха - масдай Вы используете, ;) но под Windows ничего ковырять не нужно. Там все работает из коробки. Перечитал несколько раз, что то не понимаю о чем это Вы? Зачем там в коде ковыряться? Открыл файл, нужно прочитал, нужно поток создал. Короче бред пишите. Не вводите в заблуждение, в Qt реализована очень даже неплохая кросплатформенность. Многие вещи работают вообще великолепно. Например QSerialPort. Я в Windows сделал реализацию обмена с последовательным портом, эта реализация без каких либо переделок работает в ArmBian на Orange Pi, так же работает в LinuxCNC. Мне понадобилось для OrangePi написать приложение с интерфейсом пользователя. Пришлось собрать библиотеку Qt для работы с кроскомпиляций в Windows для ARM платформы. Это был некий геморрой, но для линуха обычно всегда так. Основное работу делал в Windows, собирал отлаживал причем, отлаживал GUI для железки которая висела на COM порте. Затем в Qt переключал компилирование проекта для ArmBian, собирал, заливал удаленно на ArmBian, подключал свою железку, к UART платы на OrangePi и все работало.
  4. Еще вопрос Что за циферки 1 вылазят вылазят в редакторе PCB. Они появляются при увеличении масштаба и исчезают если сделать Fit Document. Самое главное они никак не выделяться мышью и никак не могу удалить. Извиняюсь. Вопрос снимаю разобрался. Это почему то вылазят артефакты со спрятаного слоя механики. Я экспортировал модель с файла DFX, по ней хотел расставить разъемы, а потом спрятал его. Вот от туда эти 1 и вылазили при большом масштабе.
  5. Во как !!! Преогромное спасибо, Владимир. Так мучительно с PCAD2006 переходить на AD 19. Сижу ковыряюсь и внутри понимаю, что в PCAD уже плату бы развел, а тут со схемой не могу закончить. Еще вопрос следующего плана. Не пойму как с шиной правильно работать. Ситуация следующая. Нарисовал шину (Bus), подключаю к ней проводники от выводов. Но они как бы и не подключены получаются. Если к этой шине подключить проводники с другой стороны, то этот проводник может соединяться с тем что был нарисован ранее напротив. Я все с PCAD пытаюсь сравнивать там это не так. Может нужно как то Bus Entry использовать, я вообще не понял зачем он.
  6. Скажите, а как изменить размер листа A4 на A2 в схематике. Пробовал менять в Preferens->Schematic->General->Sheet Size, ничего не происходит. Потом вычитал, что это работает только для нового листа схемы.
  7. Причем тут в квартира. Я говорю за энергетику в целом. Система имеет 3 фазы и нужно чтобы распределение токов по фазам были одинаковыми. Перекосы по фазам это плохо, поэтому при проектировании энергоснабжения квартир и пытаются выронить эти токи. В подъезд заходит 3 фазы, а дальше их раскидывают по квартирам, в надежде, что средний ток по всем фазам будет одинаковый. Но на три фазы один возвратный провод со всеми вытекающими.
  8. Странные вопросы задаете. У нас что в энергетике однофазные системы распределения?
  9. Так дайте ссылку на ваш стартап, или он пока виртуальный. Где хоть находитесь?
  10. Понятно, что авторы форума хотят сделать, как лучше за что им большое спасибо. Но после стольких лет практически родного интерфейса, все поменялось. Все неудобно, не так, не привычно. Может таки не нужно ничего менять или есть какие-то вопросы технологий которые нельзя решить на старом движке. Голосую за старый интерфейс. Привычка жуткая вещь. Тот же, Скайп, как только попал в руки микрософт, таким неудобным просто жуть. Причем они меняют его на ходу. Только нашел нужные кнопочки, так они уже перенесли их в другую сторону.
  11. Тогда нужно искать.Проверьте откуда стартует программа в файле *.icf там же проверьте область векторов прерывания. Далее для проверок нужен свободный вывод микроконтроллера который будет ваши монитором(Можно светодиодом моргать) Его настраиваем как выход и пишем макросы что бы этим выводом можно было дергать.Еще нужен хотя бы осцил или простой логический анализатор тип Saleae Я не знаю какой тип процессора используете но подозреваю что на ядре Cortex-xx. Если так то первое, что нужно проверить это не влетает ли софт в исключения.Устанавливаем наш монитор в исключениях загружаем запускаем смотрит. Далее есть ли фаулты или нет алгоритм отладки примерно такой.Отключаем все модули оставляем один main.Последовательно подключаем модули, мониторим на предмет работоспособности. Где то так, но подозреваю что где то банально память переполняется и прога влетает в хард-фаулт. Часто так бывает под дебагером все работает самостоятельно нет.
  12. Просто интересно А при помощи чего снимают топологию, еще интересно чем растворяют?
  13. А Вы установили в Options->Debugger->Setup->Driver=J-Link/J-Trace ?просто легко можно код в симуляции запустить
  14. Спасибо очень интересно было посмотреть на ваши работы, почитал блог.Впечатлило но...У вас частенько проскальзывают фразы типа Неужели Вы и правда верите что реле == надежность.
  15. Товарищи торговцы в чем прикол вашей цены https://ru.aliexpress.com/store/product/Wav....44c94a5dpLZFeq Подозреваю затраты у вас огромные на драйвера на описание и тд. https://www.waveshare.com/wiki/7.5inch_e-Paper_HAT_(B)
  16. Посматриваю на эти дисплеи, но как то 4 сек. время полного обновления это не есть хорошо. Даже для электронной читалки 4 секунды ждать когда у тебя обновиться страница. Одним словом горячая финская читалка. Есть правда дисплеи у которых поменьше время обновления, но размер вроде как тоже меньше. Кто то использовал такое в серийном изделии?
  17. Много предварительных расчетов данных которые отдаю мастеру. Мастер не терпит растяжку линии SCL и тд. Софтверно все решил. Но хотел убедится что аппаратно не получится, вы и подтвердили мои изыскания. Ладно тему можно закрывать. Спасибо всем за участие.
  18. Хм что то не встречал такого поведения МАСТЕРА на I2C. Обычно СТАРТ СТОП всегда дублируют друг друга. Перечитал еще раз описание I2C кое где есть упоминание что может быть повторный СТАРТ. Ну да ладно пусть будет так, но моя проблема решается только флагом ADDR. Можно так же извратиться с использованием прерываний по EXTI фиксируя СТАРТ. Вот интересно почему в контроллере не реализовали прерывание на СТАРТ в slave.
  19. Это так и происходит, но это мастер читает из слейва. Там все ок и NACK есть и СТОП тоже генерируется. Это чтение из слейва, проблемы при записи в слейв. Как оно работает. Мастеру нужно получить какое то количество байт из слейва. Для этого он пишет в слейв команду (типа отдай данные из регистра в количестве хх байт). По протоколу после этого мастер должен выдать СТОП и потом начать чтение. Но мастер СТОП не генерит, а тихонько поднимает SDA SCL в 1 и выдает повторный СТАРТ. Дальше при чтение все как и положено в последнем байте NACK и СТОП. NACK я отлавливаю в прерывании тут все нормально работает.
  20. С подтверждением там все в порядке. Мастер передал последний байт. Слейв ему сказал ACK. Затем мастер делает следующее SCL = 0 SDA = 1 SCL = 1 SDA = 0 - это новый старт без стопа. С чтением как раз все ОК есть и NAK и СТОП. Прерывание ADDR использую, но оно приходит после передачи адреса (запроса чтения). В программе есть обработка данных их нужно успеть приготовить для мастера. Поэтому ищу как понять что мастер окончил передавать. Но получается что аппаратно никак.
  21. Здравствуйте, Уважаемые Друзья. Есть I2C МАСТЕР который передает и принимает данные. У меня реализован I2C подчиненный который принимает и отдает данные. Мастер ведет себя не совсем корректно по отношению к протоколу I2C. Он делает запрос чтения к моему устройству примерно так СТАРТ->АДРЕСС ЗАПИСИ->ДАННЫЕ, а потом при низком SCL переводит SDA в высокий уровень. Затем снова выдет СТАРТ->АДРЕСС ЧТЕНИЕ-> читает данные после чего выдает СТОП. Я по протоколу могу разобрать когда у меня закончится передача данных от мастера, но вопрос как это сделать аппаратно по прерыванию. Вот тут затыка. В режиме I2C слайв не работает прерывание SB (было сгенерированно условие СТАРТ). Есть еще флаг BERR (Bus error) но он не реагирует на что либо после передачи байта. Может кто сталкивался с подобным.
  22. Присоединяюсь к поздравлениям всех радио увлеченных. Когда то на ключе стучал, но уже давненько завязал с КВ.
  23. Смотрите в сторону Qt. Из QtCreator все это легко делается. Бонусом будет нормальная ИДЕ а не этот тормазнутый Еклипс.
  24. Спасибо. Правда уже переделал свою, уменьшил элементы, но не сильно все равно пока только ручная пайка светит. Спасибо всем за то что объяснили основные принципы построения посадочных мест под элементы. Не знал что есть проблемы с технологиями. Впрочем и в дальнейшим с моими партиями надобность в сборке на производстве не скоро (от слова вообще) понадобится. Вот другое волнует уже давно от ПИКАДА остается ностальгия. Надо что то другое, но если начать учиться все остальное зависнет, а раз зависнет денег не будет. Поставил Altium но начинать новое в нем страшно можно зависнуть недели на две. Отдельно Baser спасибо за советы. Но есть разночтение между Вами и EvilWrecker в принципов разводки кварца и земель под процессором. Основополагающие моменты двух мнений понятны, но вот к чему придти даже не знаю. Вообще то кто то проводил экскременты в этом направлении или только одна теория?
×
×
  • Создать...