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

Покритикуйте трассировку и саму схему, пожалуйста

Добрый день.

 

Разрабатываю схему. Цель - сбор информации с датчиков, в зависимости от данных - вращать шаговые двигатели, а также обрабатывать данные и передавать по bluetooth. В качестве контроллеров используется Arduino Nano, извините.

 

Всё работает достаточно хорошо. Но иногда возникают помехи. Или изредка вообще всё перестает работать, помогает только включение и выключение.

 

Может быть надо что-то изменить в трассировке? Как правильнее взаимно расположить чувствительные датчики, каналы от них и контроллеры шаговых двигателей?

 

Схема:

 

FbFYmN9.png

 

Трассировка верх:

 

nSQoiUs.png

 

Трассировка низ:

 

ZiCqV9V.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё работает достаточно хорошо. Но иногда возникают помехи. Или изредка вообще всё перестает работать, помогает только включение и выключение.

"Хорошая работа" теперь так выглядит? Интересно :laughing: Но плату текущую можете однозначно выкидывать и начать читать гайды по разводке- самые первые ссылки из гугла. В самую первую очередь про разводку земли и питания.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Хорошая работа" теперь так выглядит? Интересно :laughing: Но плату текущую можете однозначно выкидывать и начать читать гайды по разводке- самые первые ссылки из гугла. В самую первую очередь про разводку земли и питания.

 

Ссылку можете дать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ссылку можете дать?

А просто вбиваете в гугле "pcb design guideline" и на самой первой странице чекаете пдфы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может быть надо что-то изменить в трассировке? Как правильнее взаимно расположить чувствительные датчики, каналы от них и контроллеры шаговых двигателей?

 

 

На схеме верхней платы показаны датчики по I2C, которых на плате нет.

Что за датчики? Гироскопы-акселерометры?

 

Дело скорее всего в подвисаниях I2C.

Вставьте для начала резисторы в I2C между верхней и нижней платами, должно все исправиться.

 

Но возможно и чисто программный баг. Программу пишите сами?

 

Трассировка тут имеет наименьшее значение.

Ардуинки сами по себе хорошо страссированы и микроконтроллеры у них достоточно непробиваемые.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дело скорее всего в подвисаниях I2C.

+1

а лучше - вообще отказаться от i2c через скользящие контакты в пользу интерфейса, не зависящего от подтягивающих резисторов и сопротивления линии, например, RS-232.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На схеме верхней платы показаны датчики по I2C, которых на плате нет.

 

Да, акселерометр. Их действительно нет на плате, они вставляются в разъемы. На схеме это тоже разъёмы. Может не понятно нарисовано, извините.

 

Вставьте для начала резисторы в I2C между верхней и нижней платами, должно все исправиться.

 

Так уже пробовал. Просто перестает работать связь. Может, номинал не тот? Ставил 1КОм и 10КОм.

 

Дело скорее всего в подвисаниях I2C.

 

Возможно, но этот датчик не критичен. Самое важное, это что иногда возникают проблемы с UART-датчиком (разъем к нему слева вверху) и с Bluetooth.

 

Но возможно и чисто программный баг. Программу пишите сами?

 

Нет, я профессиональный программист. Без ложной скромности. Программа наоборот компенсирует всякие проблемы схемы.

 

Ардуинки сами по себе хорошо страссированы и микроконтроллеры у них достоточно непробиваемые.

 

Тут есть нюанс - Arduino UNO действительно работает очень хорошо. И когда она стояла в прототипе, помех почти не было. Но когда поставил Arduino Nano, начались проблемы.

 

 

А просто вбиваете в гугле "pcb design guideline" и на самой первой странице чекаете пдфы.

 

К сожалению, так можно пол-интернета прочитать, а эффекта не достигнуть.

 

Насчет того, что надо как-то экранировать питание и контроллер двигателя - я согласен, но как именно?

 

+1

а лучше - вообще отказаться от i2c через скользящие контакты в пользу интерфейса, не зависящего от подтягивающих резисторов и сопротивления линии, например, RS-232.

 

Спасибо, я подумаю о такой переделке.

 

Но тоже нюанс - сейчас больше всего глючат именно RS232 датчики и Bluetooth, который тоже RS232.

Изменено пользователем SergeyIv1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Трассировка тут имеет наименьшее значение.

Ну конечно- ведь подвисания I2C оказываются умеют вешать всю плату, ага. А разводка платы это типа "соединить А и Б дорожкой", ага. Хотел уже и тут гайд предложить читать, но потом вспомнил ваши "платы" и наваждение прошло :laughing:

 

Еще раз- основная и главная проблема этой платы с которой нужно начинать это земля и питание. Именно в такой последовательности. Пока оно не станет нормальным говорить о чем-либо дальше нет смысла.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Подвисания" I2C могут решаться программным образом, даже при плохой земле. Хотя это не всегда полезно. Так как в ответственный момент двигатель не работает из-за устранения "подвисания". Если устранение идет быстро-- может и не страшно, но кто даст гарантии?

глючат именно RS232 датчики и Bluetooth

Земля (питание) батенька. Тут они никакие. Их вообще нет

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

"Подвисания" I2C могут решаться программным образом, даже при плохой земле.

Можно, да- но это если "решающая" часть не зависла, в связи с чем очень быстро можно скатиться к проблеме курицы и яйца. Поскольку сказано что:

Или изредка вообще всё перестает работать, помогает только включение и выключение.

то явно проблемы надо искать не в I2C а в

Земля (питание) батенька. Тут они никакие. Их вообще нет

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ясно, питание переделаю. (Хотя от примера бы не отказался).

 

А насчет экранирования блоков можете что-то подсказать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или изредка вообще всё перестает работать, помогает только включение и выключение.

как вариант - возникновение "тиристорного эффекта" в КМОП микросхеме из-за пропадания и восстановления контакта земли или питания на фоне подачи входного сигнала. Обычно это сопровождается существенным увеличением потребляемого тока. Обратновключенные в нормальном режиме диоды Шоттки между сигнальными цепями и цепями питания могут помочь, но гарантий не дают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ясно, питание переделаю. (Хотя от примера бы не отказался).

 

А насчет экранирования блоков можете что-то подсказать?

 

У вас не плата, а ребус какой-то.

В упор не разглядел где на плате нижнего блока КРЕН5 стоит.

Самое важное, это где находятся выводы контактного кольца. Тоже не вижу.

 

В I2C надо врезать не более 100 Ом. Этого хватит.

 

Экранирование здесь абсолютно ничего не даст.

Отрежьте ноги питания от ULN2003 и присоедините их проводами напрямую к разъему POWER.

В остальном трассировка сносная.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добавил земляной полигон:

 

7jEKPBo.png

 

Ваше мнение?

 

В упор не разглядел где на плате нижнего блока КРЕН5 стоит.

 

КРЕН временно убран, т.к. не было толку (извините, сразу не написал). Вверху - полная схема, как хотелось бы. Трассировка - уже с учетом реалий.

Также убраны 2 сопротивления 10К, подключающиеся к I2C.

 

Самое важное, это где находятся выводы контактного кольца. Тоже не вижу.

 

Разъем вверху нижней платы.

 

В I2C надо врезать не более 100 Ом. Этого хватит.

 

В оба контакта вставить по 100 Ом?

 

 

Обратновключенные в нормальном режиме диоды Шоттки между сигнальными цепями и цепями питания

 

Покажите пример такого подключения, пожалуйста.

Изменено пользователем SergeyIv1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Еще раз- основная и главная проблема этой платы с которой нужно начинать это земля и питание. Именно в такой последовательности. Пока оно не станет нормальным говорить о чем-либо дальше нет смысла.

 

+1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...