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

adnega

Свой
  • Постов

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

  • Посещение

  • Победитель дней

    3

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


  1. А в чем тогда смысл? Статусы "самый первый" и "over9000" в реальности ничего не дают. Это как бабушки в воспитании младенцев: умышленно считают современные подгузники вредными и настаивают на бесконечной стирке марли, как этот подвиг совершали они... А кто-то считает, что кнопкодавство - это очень просто, а тру-разработка - это простой карандаш и миллиметровка. Говорят, один Абрахам, наблюдая за успешными людьми, придумал пирамиду ценностей. Просто, сейчас в основном все встали на ступеньку выше, где мерилом успеха считается не пот и мозоли (деятельность/имитация деятельности), а результат, вне зависимости от того как легко он получен.
  2. Это по 2.5 программы в месяц на протяжении 30 лет (без отпусков и больничных)? Либо "изучение" - слишком громкое определение, либо вы с нулями ошиблись, либо вы ничем, кроме изучения программ не занимались.
  3. Есть Общероссийский классификатор профессий. Чтобы не было холивара, может вместо слова "инженер" использовать код профессии? Например, "Инженер-радиофизик" код 22836. Только что это меняет? Рука рынка все расставляет по местам: корочки и прочие регалии, ценимые во времена комсомола, сейчас ничего не значат, а требуется винтик в машине переработки потребностей в деньги. Насчет рабочих мест и кандидатур - все "годные" уже нашли свое место.
  4. Да, но на токоизмерительном резисторе без дросселя и другой обвязки у вас не будет плавного изменения тока, и микросхема будет включаться на минимально-возможный интервал, а затем тут же отключаться. В итоге средний ток будет нулевой, а не заказанные 4А. То, что вы нарисовали работоспособно лишь в LDO-варианте, когда транзистор приоткрыт настолько, чтоб на токоизмеритольном резисторе было напряжение, соответствующее 4А. Нужно делать так: питание-> (дроссель + нагрузка) || (диод) -> ключ -> токоизмерительный резистор -> земля. Микросхема (а их много) открывает ключ пока ток не достигнет порога, затем ключ отключается, а запасенная дросселем энергия через диод тратится в нагрузку. Процесс повторяется с заданной частотой. Нужно насчитать индуктивность, чтоб за время включения в ней запаслось нужная порция энергии, а за время выключения эта энергия частично (в зависимости от допустимой пульсации) перекачалась в нагрузку. Нужно учесть, что через нагрузку, дроссель и диод постоянно будет течь примерно 4А. По мне так проще ключик @ ШИМ = f(средний/максимальный ток через токоизмерительный резистор).
  5. Т.е. вам нужен линейный источник тока? Навряд ли. Можете сделать на МК: - открыли ключ; - замерили ток; - установили скважность для ключа.
  6. Я учился как раз в одном из ярославских ВУЗов. Где-то на 3 курсе предложили с другом (за зачет по основам электроники) переделать несколько стендов в лаборатории. Препод с улыбкой отказался, мол, я вас знаю - вы сделаете, что все будет работать отлично, а я потом ни одного дополнительного вопроса задать не смогу :)) Бедные американские студенты, привыкшие работать на исправном оборудовании, поведение которого строго совпадает с теорией из книжки - шаг влево, шаг вправо от нормального поведения и они в тупике )) Я очень доволен тем местом, где учился - 5 лет пролетели незаметно. Были очень хорошие преподаватели, но некоторых уже нет.
  7. А каким образом? Не присылать же исполнимый код... От клонов может спасти: 1. у каждого устройства уникальный id (может даже не UID96, а UID+ODATA). 2. с каждым id на сервере связана маленькая таблица чисел. 3. эти же числа должен хранить контроллер у себя. 4. при инициализации связи контроллера сервер сверяет числа контроллера со своей копией и если числа в какой-то степени совпадают, то одно из чисел заменяется на случайное число и на сервере, и в контроллере, при этом работа разрешается. 5. если копии чисел сильно расходятся, то id блокируется, а вопрос решается с клиентом в ручном режиме, т.е. устанавливается оригинальность устройства по накладным отгрузки, чекам и т.п. после этого id у контроллера меняется и назначается новый набор чисел.
  8. Как в пословице: сделал велик - сделай и нипель. Если все так наколеночно-изобретательски, то попробуйте снять с мегаомного выводного резистора изоляцию, пропитать в концентрированном соляном растворе, высушить и после калибровки поиметь на какой-то срок влаго-зависимый радиоэлемент. Но это если ваше время очень дешево стоит. Иначе можно поискать хороший датчик, а такие существуют. Например, у меня увлажнитель воздуха работает 5 лет без остановок - в нем и влаги, и пыли хватает, но он без обслуживания продолжает показывать годные проценты влажности. Хорошие датчики стоят дорого. DHT11 показывает ерунду, а не влажность. До 500 руб я бы посоветовал BME280, но он I2C, кроме влажности выдает температуру и давление с приличной точностью.
  9. Компилятор и линкер все сделают с необходимыми адресами. Перед вызовом main делается инициализация переменных (data и bss). В этот момент подготовленный для ОЗУ код скопируется из flash по нужным адресам ОЗУ. Для этого в скрипте линкера дополняем секцию data .data : AT ( _sidata ) { . = ALIGN(4); _sdata = .; *(.data) *(.data.*) *(.ramfunc) . = ALIGN(4); _edata = .; } >RAM А ОЗУ-шные функции описываем так (для gcc) void ram_table_save(void) __attribute__(( section(".ramfunc") ));
  10. А у вас прошивка в свободном доступе находится что ли? Я делаю загрузчик, лочу МК, а для обновлений пользуюсь зашифрованной прошивкой, передающейся по открытому каналу. Загрузчик держу в секрете. Протокол и шифрованная прошивка - открыты. Шифрованная прошивка подписана, т.е. левую не загрузишь.
  11. Я сделал вместо механического концевика Z - оптический. Один раз настроил стол, чтоб он был в плоскости (нужно делать на горячем принтере). Максимум что сейчас делаю, так это в процессе печати первого слоя рукой проворачиваю один из ходовых винтов Z, на глазок выбирая оптимальную толщину. Итого: 1. Есть возможность не крутить винты постоянно (один-два раза в год). 2. Электронная подвеска сделает все только хуже (возрастает инертная масса, нужно точно фиксировать высоту после настройки т.п.) 3. Вроде есть приспособа (с 25:00) для принтера по типу электронного толщиномера (перед печатью принтер сканирует поверхность по Z, затем вносит поправки в G-код, чтоб печатающая головка стелилась по поверхности). Удовольствие не дешевое ($5), но гораздо дешевле вашей затеи.
  12. Про Кейл точно не знаю. Посмотрел демо-проект. Там так.
  13. Нужно добавить проекту дефайнов. Примерно таких USE_STDPERIPH_DRIVER,STM32F051,USE_STM320518_EVAL,USE_DEFAULT_TIMEOUT_CALLBACK
  14. Мысль ушла далеко за пределы топика)). К счастью, таких как ТС в последнее время стало много - время волшебникам собирать ништяки ;)). Есть "кто", а есть "что". Я не говорю про спецов, которые сделают все как надо ("кто"), а обратил внимание, что нужно в принципе задуматься о процессах ("что"), об их необходимости, а затем исполнитель для разработки процесса разработки изделия найдется, ровно как и исполнители по разработке непосредственно изделия. Типа программы, которая пишет программы. Хорошо, если так. Мне показалось, что упоминался винтик с левой резьбой дюймового диаметра с метрическим шагом под шестигранник с пупырышком внутри... хромированный, на котором все держится механически и он еще является проводником сигнала "AIN4" для нижней части печатной платы. Так оно и есть. Правда, "БАЦ" это порядка 2 лет. Если что - я не считаю себя руководителем. Чаще всего у меня роль разработчика с лимитом 10 000 строк исключительно для МК. В большие задачки не ввязывался и пока не хочу, ибо предвижу ломку существующих выстраданных процессов. Взгляд на вещи меняется в зависимости от того, где пылится трудовая книжка)) У кого-то она валяется где-то в тумбочке...
  15. Нисколько не умаляя труда разработчика, осмелюсь не согласиться с таким категоричным утверждением. Мне кажется годный разработчик должен сам стремиться к документированию процессов, чтоб работу можно было передать другому винтику. Мне не важно содержимое черного ящика, мне главное - чтоб он выполнял свою функцию. Т.е. в разработке крупных проектов нужно стремиться не только к грамотной реализации черных ящиков (функций), но и связям между ящиками на уровне ящиков (архитектура). Да, для мелких и средних проектов (до 10 000 строк) можно и в одиночку все сделать (причем эффективнее), и любой дополнительный помощник или прослойка будет только снижать эффективность. Но для крупнячка, можно смириться с экстремумом эффективности и применить иной шаблон разработки, когда эффективнее будет проект более независимый от разработчика/исполнителя. Итого: ценностью могут быть не только работники, но и процессы. Оптимум можно найти только определив критерии оптимальности, в которых могут с высоким весом выступать, например, "независимость от разработчика, сопровождаемость, масштабируемость и т.п." Практика показывает, что можно разработать изделие, которое живет без разработчика; можно разработать исходники, которые Заказчик может частично адаптировать под себя; можно разработать непротиворечивую документацию, достаточную для ответов на вопросы в рамках "необходимо и достаточно".
  16. Конечно. У кроватки с дитем есть своя резонансная частота. Качать нужно именно с этой частотой, а не жестко, как при использовании "автодворника". Иначе будет не укачивание, а аттракцион из парка развлечений.
  17. Попробовал в потоке портить каждый 5000 байт (теряю 4 бита). Дисплей промаргивает, но продолжает работать, т.е. синхронизация на границе байта работает. Скорее всего, за счет сигнала RS, т.к. передаю не только данные, но и управляющие коды.
  18. Ваш ник намекает, что с багами встречаетесь часто)) Кста, данные могут не только потеряться, но и исказиться уже внутри дисплея - пролетит частица и изменится битик в управляющем регистре. Вероятность потери данных в вашем случае из-за аппаратных проблем во много раз ниже, чем из-за программных. За время, когда вероятность станет ощутима устройство много раз будет перезагружено. А какие проблемы проверить поведение при потере 4 бит?
  19. Не всегда: пропустите управляющую команду - и получите непоймичто навсегда. По уму нужно не только данные освежать, но и конфигурацию. Скорее всего, 4-битный режим увидит, что половинки относятся не к одной команде, а к команде и данным и как-то разрулит это.
  20. Не стартует STM32F405

    Может, попробовать как-то переформулировать вопрос и отказаться от нетехнической терминологии? Будто вы описываете процесс загрузки кода в ОЗУ, и МК соответствующим образом себя ведет. Пока проблема не видна и не понятна.
  21. У STM много AN на тему улучшения показаний АЦП. Советую ознакомиться. Следование рекомендациям очень сильно помогает (я бодался, правда, на F4xx). Но и про Котельникова не забываем. Кста, если память не изменяет, то про PA0 частенько писали в ES в части АЦП.
  22. Там СБИС применена. Кое-что полезное тут.
  23. А что не так? SMS могут ходить как угодно, ничего обратного нигде не гарантируется. SMS могут вообще не придти, могут придти со значительной задержкой, может даже пачка SMS (повторных) придти, а уж про порядок SMS вообще молчу... Но это все редкие события. Насколько часто у вас проявляется?
×
×
  • Создать...