Ага, а для развязки надо где-то 5 вольт брать. Тут - то всего 5 м. Я бы попробовал триггер шмитта, с RC фильтром, у контроллера. Мое ИМХО Добавлено: Thu Nov 19, 2020 11:38 pm |
Проще програмно помехи фидьтрануть если что. На цапы меги заводил сигнал с аналоговых резистивных датчиков через 30 метров неэкранированной витухи по соседству с 5квт двигаит с частотниками. Ну полвольта помехи было. Хер с ней. Пограмно усреднял. От помех просто резики подтяжки поменьше и всего делов. 10 ком какаято подтяжка детская. Стараюсь тчнуть все килоомниками. Даже ds18b20 на неэкоагированном кабеле в помехах на 20 метрах работают норм с килоомом подтяжки. На развязку забить. Там нечего развязывать. Частота следования импульсов с энкодера ниочем. Это не 1wire, который к слову норм работает на длинных линиях. Все пропуски и ложные сработки от слабых подтяжек. Уменьшить резики по макмимуму и все ок. 5ма тока будет самое то. Добавлено: Thu Nov 19, 2020 11:42 pm |
Ок, в общем резисторы подтяжки воткнуть на килоом и не париться. Попробую и так и сяк. В программировании слаб, в flprog рисую все алгоритмы логикой и модулями. Добавлено: Thu Nov 19, 2020 11:47 pm |
StyX, может просто проверить, подпаять этот китайский модуль к витой паре 5м? И уже если будет не очень, уменьшать резисторы подтяжки, делать фильтры аппаратные или программные? Добавлено: Thu Nov 19, 2020 11:48 pm |
Да наверно так и надо сделать и не парить мозг раньше времени. Хз, по неопытности как то страшно оттаскивать энкодер на несколько метров от самой ардуинки. Все нежным кажется. Методом тыка тогда определюсь. Ремонт делаю, проводку меняю, штукатурю. Заодно и со светом решил выпендриться, к высоким технологиям и удобствам приобщиться. Закладываю к выключателям и люстрам еще и витую пару на будущие проекты. Добавлено: Thu Nov 19, 2020 11:52 pm |
StyX писал(а): Закладываю к выключателям и люстрам еще и витую пару на будущие проекты. Это очень правильно, закладывать потенциал для дальнейшего развития. Можно потом датчики поставить, того же движения, что бы в прихожей например свет включался когда заходишь. Добавлено: Thu Nov 19, 2020 11:58 pm |
Есть вариант - у каждого энкодера и тд приделать мелкий мк и дальше всех повесить на 485 например. тогда всё будет расширяемое и конфигурируемое. на одну квартиру наверно можно будет обойтись без развязок (ну только по питанию) Добавлено: Fri Nov 20, 2020 11:42 am |
Да. 485 норм. Проводов меньше. Обвящал все одним шлейфом и красота Добавлено: Fri Nov 20, 2020 11:58 am |
Можно как в пробышленных энкодерах: просто два 485 передатчика. На десятки метров лупить будет, а с хор. кабелем сотни ) am26ls31 и am26ls32 Добавлено: Fri Nov 20, 2020 12:12 pm |
Народ, есть у меня Coocox, но грузит простой проект он минуты полторы... Как ускорить его загрузку, каким образом отрубить возможные ненужные проверки? Винда с момента нажатия на кнопку грузится тридцать секунд. Добавлено: Fri Jan 01, 2021 6:05 pm |
Я тоже пробовал Coocox, но потом перешел на STM32cubeIDE. Мне он показался намного удобнее. Добавлено: Sat Jan 02, 2021 2:23 pm |
Заметил одну вещь. Простая программа под Cortex-M3 написана чисто на С. Бинарник 2,78 кб. Если включить поддержку С++ при сборке - размер увеличивается до 4,19 кб. Отрубаем "саппорт С++" - бинарник снова 2,78 кб. Компилятор - gcc, оптимизация - Os. Почему? Добавлено: Sat Jan 02, 2021 9:15 pm |
Подозреваю, дело в каких-нибудь генерируемых по умолчанию классах (ООП, все дела...). А если в обоих случаях -O0 сделать? Добавлено: Sat Jan 02, 2021 11:13 pm |
При -О0 5,07 кб, с поддержкой С++ 6,48кб. -О2 3,02/4,42кб. -Os 2,79/4,20кб. -О3 3,44/4,84кб. Везде поддержка С++ увеличивает размер бинарника. Компилировалась одна и та же прога, но чуть подправленная - проверял порты. Операция вывода в порт четыре такта Добавлено: Sun Jan 03, 2021 12:18 am |
А механизм поддержки исключений и всякие менеджеры кучи и т.п. может сверху добавляются? Добавлено: Sun Jan 03, 2021 10:49 am |
Эээ у меня не используются кучи. Программа простейшая, прерывания только от таймеров. Вообще ХЗ, в программировании я чайникъ. Если поставить галку "Support C++" то появляются доп параметры компиляции -fno-exceptions; -fno-rtti; Добавлено: Sun Jan 03, 2021 11:08 am |
А чего бы не сгенерировать листинг там и там и сравнить? Или дизассемблером ткнуть... Добавлено: Sun Jan 03, 2021 1:19 pm |
Народ, как на Си сделать пустой цикл с проверкой условия? У меня есть переменная, которая уменьшается в процедуре обработки прерывания от таймера до нуля. В основном цикле надо задержку. Можно ли сделать пустой цикл с проверкой этой переменной и как? Добавлено: Mon Jan 04, 2021 6:19 pm |
While (a==b) {asm("nop");} Такая конструкция с nop чтобы оптимизация не выкинула цикл посчитав его ненужным. Добавлено: Mon Jan 04, 2021 6:35 pm |
Николай писал(а): While (a==b) {asm("nop");} Такая конструкция с nop чтобы оптимизация не выкинула цикл посчитав его ненужным. Работает, но только при -О0 Добавлено: Mon Jan 04, 2021 7:10 pm |
Сорри что уточняю очевидное, но переменная объявлена как volatile? Добавлено: Mon Jan 04, 2021 7:37 pm |
Николай, Кейс, благодарю! Добавлено: Thu Feb 04, 2021 8:23 pm |
Странный то ли отказ, то ли вообще ХЗ что... Миландр 1886ВЕ6. Работал-работал, а после очередного программирования перестал. Кварцевый генератор работает. Программатором видится, прога пишется и считывается. Однако сам МК будто бы не работает - на входные сигналы не реагирует, выходные сигналы не выдаёт. Шозанах? Такое вообще возможно? На MCLR 5 В, на TEST 0 В. Питание 5 В в порядке, приходит на все выводы питания. Добавлено: Fri Feb 26, 2021 11:28 pm |
Vcoder, микросхема видимо в "защищённом режиме". У меня с К1886ВЕ2 как-то раз был такой глюк, что микросхема переставала работать. Нужно отдельной операцией стереть микросхему. Потом отключить опцию защиты. И только потом прошивать. Иначе программатор будет только изображать прошивку микроконтроллера. Ядро в 1886ВЕх одно и то же, аналог PIC17. А почему восьмибитки 1886ВЕх, а не миландрокортекс 1986ВЕ9х? Кроме того, что в 1986ВЕ9х не имеют защиты от считывания прошивки? Добавлено: Sat Feb 27, 2021 9:14 am |
Электромонтёр писал(а): микросхема видимо в "защищённом режиме" Думал об этом. Но при каждом программировании последовательно выполняются три операции: 1. Стирание; 2. Программирование; 3. Верификация. При этом в настройках программатора выбирается "Микроконтроллер", а не "Защищённый микроконтроллер". Тактовый генератор "XT", WDT и BOD "Выкл". Полагаю, если однажды и поставили случайно "Защищённый микроконтроллер", то при следующей операции программирования этот статус был сброшен. Электромонтёр писал(а): А почему восьмибитки 1886ВЕх, а не миландрокортекс 1986ВЕ9х? 1986 излишен в это устройство. И когда выбирали МК, у него не было варианта в компактном корпусе. Добавлено: Sat Feb 27, 2021 11:56 am |
Лицензионное соглашение (c)Flyback.org.ru Российское общество любителей высоких напряжений. Использование материалов с данного сайта и форума возможно только с разрешения администрации. |