Santy
Участник-
Постов
51 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Santy
-
Звание
Участник
Посетители профиля
1 004 просмотра профиля
-
Причина может быть не в микроконтроллер, а в плате, обвязке, пайке, флюсе и т.д.
-
1. 1кОм резисторы ( возможно в вашем случае будет лучше 0,5кОм) для подключения выводов к резистору подтяжки(10кОм). 2. К выводу Reset можно рекомендовать например CDSOD323-T05(при напряжении программатора 5В) и CDSOD323-T03(при напряжении программатора 3,3В). Если внутрисхемное программирование не применяете, то CDSOD323-T03. 3. Можно рекомендовать например CDSOD323-T03C.
-
В схеме не все предусмотрено (см. AVR040 и т.д) . 1) Подтяжки сделать резисторами 10кОм. Выводы AVR(SDA, SCKP, WAKE_UP) подключить через резисторы 1кОм и к выводам подключить стабилитроны. 2) Выводы ESP(SDA, SCK, WAKE_UP) подключить через резисторы 1кОм. 3) Параллельно резисторам R5, R9 подключить диоды. 4) К кнопке S1 подключить супрессор. Так же необходимо при программировании тщательно разобраться с фьюзами.
-
В таких случаях частенько бывает, что проблема даже не в плате, а в датчиках , ключе управления двигателем и т.д.
-
Спасибо за помощь и критику. Внесу изменения и учту в дальнейшем.
-
На 100% БП исправен да и контроллер тоже. На двух устройствах одно и то же происходит. То, что я привел кодом то считать нельзя так несколько строчек. Задержки все выдержаны правильно. Длина сети 10м. Все контакты надёжно подключены, подключал подтяжку в конце сети (разные номиналы) при 200 Ом сеть работает, но изредка сбоит.
-
При работе с сетью у меня все прерывания запрещены. Для приёма и передачи использую 1 и тот же пин не UART (хотя возможно лучше использовать 2 пина и транзистор, один из пинов включает и выключает ключ, а другой работает на приём), причём этот пин всегда включен на выход. Приём и передача бита в соответствии с datasheet. Приём: PRIEM_BIT_CIKL: rcall ZA60MKS cbi PORTE,0 rcall ZA2MKS sbi PORTE,0 rcall ZA2MKS PROV_BIT: sbic PINE,0; rjmp BIT_1;ВЫПОЛНИТЬ КОМАНДУ ПЕРЕХОДА ЕСЛИ ПРИНИМАЕМЫЙ БИТ=1 rjmp BIT_0 Передача: UST1_BIT_CIKL: dec vspom_reg lsr bait cbi PORTE,0 rcall ZA5MKS sbi PORTE,0 rcall ZA60MKS rjmp PEREDACHA_BIT_CIKL UST0_BIT_CIKL: dec vspom_reg lsr bait cbi PORTE,0 rcall ZA60MKS sbi PORTE,0 rcall ZA5MKS Пришёл к выводу , что влияют паразитные ёмкости да и кабель имеет значение. Заменил FTP кабель на телефонную лапшу так даже хуже стало.
-
Т.е Вы хотите сказать, что данный экранированный кабель излучает и принимает? Экран соединён с GRND (в одной точке). Один из датчиков подключен на самый конец кабеля, а другой посредине с помощью проводов длиной 1см. Как только отключаю работающий датчик, то сразу же начинает работать тот , который не работал. Несколько увеличил временные задержки, но картина не изменилась. Попробую использовать обычную телефонную лапшу. Если же не поможет придётся осциллографом импульсы смотреть.
-
В литературе и статьях 1-wire хвалят. Реализация протокола сделана у меня в соответствии с datasheet. Попробую там где можно увеличу временные задержки. Когда в сети работает 1 датчик, то проблем нет (проверял на 10м). На датчиках DS18B20, которые я применяю на корпусе написано Dallas. Производитель видимо Mахim. Есть ли DS18B20 производства TI?
-
Здравствуйте. Реализовал на AVR небольшую сеть(10м) из датчиков DS18B20 (все условия протокола соблюдены и тщательно проверены, схема подключения стандартная 3-х проводная с подтяжкой 4,7 кОм). Кабель витая пара FTP (даже ПВС 3х1 пробывал, но нечего не изменилось). Сеть работает, когда датчики подключены на общий клемник ( т.е в непосредственной близости друг от друга). Проблема возникает когда расстояние между датчиками более 0,5м. Причём один из датчиков работает нормально (даже если его поменять местом подключения с неработающим), а при работе с другим возникает авария контрольных сумм. Датчики все новые. Всё повторяется на других экземплярах датчиков. Место где находится сеть обычное, без серьёзных помех. Подскажите пожалуйста в чём может быть проблема?
-
микроконтроллер ATmega16
Santy ответил Vasil16 тема в Предлагаю работу
Напишите электронный адрес. -
Как часто при этом появляется признак, что устройство не настроено?
-
Например, число читаемое из EEPROM.
-
Может быть подпрограмма для записи в EEPROM, которую можно вызвать только 1 раз.
-
Рекомендуется хранить константы во FLASH- памяти, если они не меняются во время работы программы. Меры предосторожности при работе с EEPROM хорошо написаны например в книге А.В. Евстефеев "Микроконтроллеры AVR семейств Tiny и Mega фирмы Atmel" см. стр 41.