Проблема с высотомером: неправильные показания.

 
1 2 3 4 5 6 7 8 9
+
-
edit
 

kamenik

новичок
Кстати, если есть работающий экземпляр, положите его в один сосуд с нерабочим, сделайте запись прокачивая - и покажите оба файла. Так будет проще понять, где собака порылась...
 
+
-
edit
 

zyxman

опытный

zyxman>> Сразу уточнение: для анализа схемы нужны не метры а (милли)вольты, и все-таки чтобы они были на одном графике (хоть от руки дорисуй как должен выглядеть правильный график прямо на реальном графике - там непринципиально точность, а надо увидеть порядок величины помехи).
Serge77> Ещё один правильный график и данные к нему в текстовом файле.

Нужен также и неправильный график и данные к нему (а лучше несколько, по разным неправильным вариантам) - я хочу увидеть разницу в милливольтах и в отсчетах АЦП, между нормальным графиком и неправильным.
- Там уже Xan обратил внимание на явно неаналоговую природу одного графика, правда у него свое объяснение а у меня свое, но хорошо-бы и такой график поиметь.
Да, тут важный момент: если есть возможность, надо сделать статистику насколько часто вылезают каждый из видов неправильного графика.

zyxman>> Также нужно частота процессора, скорость передачи данных в флешку и частота АЦП.
Serge77> процессор 1.6 МГц
Serge77> АЦП 125 кГц
Serge77> флешка не знаю

Тогда и программа тоже нужна - чтобы прикинуть скорость работы с флешкой.

zyxman>> На фотках нужен масштаб
Serge77> Ширина дорожек 0.5 мм.

Померяй толщину фольги, например как разницу толщины текстолита и кусочка платы с стравленной фольгой. Также можно оторвать лоскут фольги скальпелем (как кожуру с лука сдирают - зацепляешь фольгу скальпелем, чуть задираешь и прижав пальцем тянешь к себе).
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
+
-
edit
 

kamenik

новичок
Нашел еще один косячок на плате на фото2: блокировочный конденсатор возле МК не выполняет свою задачу, т.к. подключен очень длинной петлей. Если плата все еще та же, исправьте, хотя бы так:
Прикреплённые файлы:
 
 
+
-
edit
 

Serge77

модератор

zyxman> Нужен также и неправильный график и данные к нему (а лучше несколько, по разным неправильным вариантам) - я хочу увидеть разницу в милливольтах и в отсчетах АЦП, между нормальным графиком и неправильным.

Этого пока сделать не могу, датчик отпаян.

zyxman> Да, тут важный момент: если есть возможность, надо сделать статистику насколько часто вылезают каждый из видов неправильного графика.

Трудно сказать, бывает подряд идут одного типа, потом меняются.

zyxman> Тогда и программа тоже нужна - чтобы прикинуть скорость работы с флешкой.

Программа в приложении.

Померил точнее текстолит - 0.7мм, фольга 0.030 мм.
Прикреплённые файлы:
 
+
-
edit
 

zyxman

опытный

zyxman>> Еще было-бы полезно тут-же выписать хотя-бы паспортные данные по потреблению микросхем (лучше конечно измерить), для датчика нагрузочная способность выводов или входной ток АЦП, ну и конечно лучше ссылки на даташиты чтоб не искать (даташиты можно на английском).

Ок. Я выписал данные по потреблениям:

mpx4115a
максимальное потребление 10мА, типичное 7мА, чуствительность 46мВ на кПа, макс выходной ток 0.1мА, масса 1.5Г
http://serge77.rocketworkshop.net/altimeter1/MPX4115A.pdf
attiny15
потребление max 3мА, Idle 1.2mA, входное сопротивление АЦП 100мОм, сопрот Ref 10КОм, время преобразования 65мкс (при 200кГц)
частота ядра 1.6МГц, частота АЦП 125КГц
http://www.atmel.com/dyn/resources/prod_documents/doc1187.pdf
24lc512
maximum write current 5mA, standby 100nA, макс время цикла записи 5мс
http://wulfden.org/downloads/datasheets/24LC512_21754E.pdf

Кстати для меня сюрприз что тинька потребляет существенно меньше всех ;)

zyxman>> PS Все хуже чем я думал - я рассчитывал что у тебя кроме процессора ничего цифрового нет
Serge77> Я схему не прятал.

Не прятал, правда. Просто она в таком виде что за память не цепляется.

Serge77> Цифрового там только контроллер и память. Я их проверял: вместо показаний с АЦП записывал в память фиксированные данные. Всё работало, в комп передавалось именно то, что записывалось в память.

Дело в том что у цифровой электроники часто очень большая разница между потреблением в standby и потреблением в рабочем режиме - вон у 24lc512 разница в 50 раз, что означает, что когда в ее пишешь данные, идет очень большой пик потребления, а у тебя аналоговая и цифровая земля/питание не разведены, и соответственно образуется очень мощный шум по питанию и этот шум при удачном стечении обстоятельств попадет в АЦП со всеми вытекающими.

Serge77>>> Припой обычный, с базара, толщина 1 мм с канифольным сердечником.

В смысле припой якобы местного производства? и кстати ты одним и тем-же куском паял обе платы?
- я как-то провентилировал вопрос, и выяснил, что на западе уже обычная натуральная канифоль практически не применяется, а идет чего-то синтетическое, мало того - они якобы еще и добавляют туда эпоксидку, чтобы остатки флюса на плате были не липким а затвердевал.. Это все некритично для типичных любительских задач, но когда речь идет о АЦП уже стоит купить высококачественный брендовый припой без флюса и отдельно высококачественный флюс и смывку и ультразвуковую ванну.

Serge77>>> паял канифолью, базарной, купил кусок у мужика, растворил в спирте.
Serge77> Спирт этиловый

Это плохо. Как показал опыт, этиловый реагирует с современной электронной химией и сейчас рекомендуют мыть платы изопропиловым.

zyxman>> Я так смотрю, после пайки плату не мыл?
Serge77> Какую?

Ну на фото видно что обе платы немытые (разводы канифоли итп), как я уже говорил, в данном случае стоит повозиться.

zyxman>> Впаяй вместо датчика резистивный эквивалент (чтобы потреблял примерно столько-же), вывод АЦП припаяй через резистор порядка выходного сопротивления вывода датчика сначала к земле потом к питалке, причем землю и питалку бери прямо где должны быть выводы датчика. Еще может быть интересно посмотреть чего намеряется через простой резистивный делитель (он-же может быть по совместительству и нагрузкой).
zyxman>> Ну и кстати заодно сними и показания чего оно там намеряет с эквивалентом.
Serge77> Это мне не понятно.
Serge77> Переменный резистор вместо датчика я впаивал, проблема та же.

В данном случае есть вобщем три источника помех: собственно шумы на проводе от вывода датчика до АЦП, то что пришло по питалке на собственный усилитель датчика и было им усилено примерно в 1000раз, и то что пришло по питалке на АЦП (это не считая собственных шумов усилителей и АЦП, которые вообще говоря очень малы). Так вот если ты посадишь АЦП на землю или на питание на ногах где вместо датчика резистивный эквивалент, ты избавишься от одного из источников шумов - от шумов питания усиленных усилителем датчика.
Собственно если ты правильно сделал подмену датчика переменным резистором (его сопротивление должно быть порядка 500Ом, а сопротивление выхода датчика порядка 50КОм) и соответствующие измерения, значит основную погоду делают не шумы питания, усиленные усилителем датчика, а что-то другое.
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
+
-
edit
 

Serge77

модератор

kamenik> Нашел еще один косячок на плате на фото2: блокировочный конденсатор возле МК не выполняет свою задачу,

Да, не получилось развести лучше. Но конденсатор возле датчика наверно работает и на МК.
+
-
edit
 

Serge77

модератор

zyxman> Дело в том что у цифровой электроники часто очень большая разница между потреблением в standby и потреблением в рабочем режиме - вон у 24lc512 разница в 50 раз, что означает, что когда в ее пишешь данные, идет очень большой пик потребления, а у тебя аналоговая и цифровая земля/питание не разведены, и соответственно образуется очень мощный шум по питанию и этот шум при удачном стечении обстоятельств попадет в АЦП со всеми вытекающими.

Во время записи в память показания АЦП не снимаются, АЦП не работает.

zyxman> В смысле припой якобы местного производства? и кстати ты одним и тем-же куском паял обе платы?

Припой польский.
Плату В1 паял не я.

zyxman> Это плохо. Как показал опыт, этиловый реагирует с современной электронной химией

Какой химией? Я никакой химии не использовал.

zyxman> Ну на фото видно что обе платы немытые (разводы канифоли итп), как я уже говорил, в данном случае стоит повозиться.

Первая немытая прекрасно работает, а вторая мытая два раза не работает.

zyxman> Собственно если ты правильно сделал подмену датчика переменным резистором (его сопротивление должно быть порядка 500Ом

Я ставил 1.5 МОм.
+
-
edit
 

zyxman

опытный

Serge77> Интересное наблюдение.
Serge77> В этом новом высотомере (В1 и В2) я не делал никакого дополнительного генератора шума, оказалось достаточно шума датчика или схемы, чтобы получить очень хорошее сглаживание.
Serge77> А в старом высотомере без постороннего шума никакого сглаживания добиться нельзя, даже если убрать RC цепочку между датчиком и АЦП, т.е. если соединить их напрямую, как в новом высотомере.
Serge77> Получается, что сам датчик шумит очень мало, а в новом высотомере шум создаёт именно схема. Причём в В1 этого шума достаточно для сглаживания, но недостаточно, чтобы испортить работу схемы, а в В2 шума слишком много. Как вам такая версия?

Все абсолютно правильно. Обычно так оно и бывает.
Но главная проблема что рисунок платы сильно отличается (в лучшую сторону с точки зрения наводок) от реальной платы, и разводка явно сделана без учета нюансов АЦП.

Кстати, реально только очень опытные электронщики (ну и конечно совсем неопытные), делают схемы использующие собственный шум, потому что ну очень высока вероятность что вообще не будет работать ;)
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
+
-
edit
 

Serge77

модератор

Serge77>> Получается, что сам датчик шумит очень мало, а в новом высотомере шум создаёт именно схема. Причём в В1 этого шума достаточно для сглаживания, но недостаточно, чтобы испортить работу схемы, а в В2 шума слишком много.

Кажется всё наоборот! В В2 шума меньше, поэтому его не хватает для сглаживания, вот и получаются ровные полки, точно как вот здесь в первых тестах:


А в первой схеме оказывается (только сейчас заметил!) фильтрующих конденсаторов всего два - один возле датчика, а второй "посреди поля" (см. фото), поэтому шума хватает.

Завтра поснимаю конденсаторы на В2, проверю мысль.
Прикреплённые файлы:
 
+
-
edit
 

zyxman

опытный

zyxman>> Дело в том что у цифровой электроники часто очень большая разница между потреблением в standby и потреблением в рабочем режиме - вон у 24lc512 разница в 50 раз, что означает, что когда в ее пишешь данные, идет очень большой пик потребления, а у тебя аналоговая и цифровая земля/питание не разведены, и соответственно образуется очень мощный шум по питанию и этот шум при удачном стечении обстоятельств попадет в АЦП со всеми вытекающими.
Serge77> Во время записи в память показания АЦП не снимаются, АЦП не работает.

Когда пишешь информацию в флешку, она сначала попадает в буферное ОЗУ а затем копируется в флеш - ты точно уверен что твоя прога дожидается окончания копирования в флеш и только затем читает АЦП?
Тут просто такой хитрый момент, что вообще строго говоря, сама передача данных по шине, тоже производит наводку, но любая микросхема памяти дает дичайшие пики по питанию именно во время производства самой записи, и эти пики дают намного бОльшую наводку чем любое шевеление цифровыми выводами.
Конкретно в данном случае отправка команды записи длится минимум 261мкс, но сама запись до 5мс.

zyxman>> В смысле припой якобы местного производства? и кстати ты одним и тем-же куском паял обе платы?
Serge77> Припой польский.
Serge77> Плату В1 паял не я.
zyxman>> Это плохо. Как показал опыт, этиловый реагирует с современной электронной химией
Serge77> Какой химией? Я никакой химии не использовал.

Припой польский = химия = у них вместо канифоли некий "нейтральный флюс" = результат зависит от конкретной попавшейся тебе партии = может все прекрасно работать без промывания а может вообще ничего не работать до промывания ультразвуковой ванной

zyxman>> Ну на фото видно что обе платы немытые (разводы канифоли итп), как я уже говорил, в данном случае стоит повозиться.
Serge77> Первая немытая прекрасно работает, а вторая мытая два раза не работает.

Почитай еще раз мой дисклаймер про флюсы.

zyxman>> Собственно если ты правильно сделал подмену датчика переменным резистором (его сопротивление должно быть порядка 500Ом
Serge77> Я ставил 1.5 МОм.

Совсем не в дугу..
Впрочем, сними данные и так - в таком случае АЦП будет мерять шумы собственного питания.
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
Это сообщение редактировалось 26.04.2009 в 01:21
+
-
edit
 

zyxman

опытный

Serge77> А в первой схеме оказывается (только сейчас заметил!) фильтрующих конденсаторов всего два - один возле датчика, а второй "посреди поля" (см. фото), поэтому шума хватает.
Вообще-то на В1 у тебя совсем коротенькая дорожка питания от стабилизатора до процессора и явно жирнее чем на В2 (и это правильно и очень хорошо с точки зрения наводок), и емкость у стабилизатора явно побольше, а также земля МК ближе к земле датчика, а земля и питание памяти далеко в стороне как от МК (и следовательно от АЦП), так и от датчика (что тоже весьма положительно).
Также я смотрю что у тебя там кажется земля к датчику подана проводом в обход (а не дорожкой) и это тоже плюс для уменьшения шумов.
Но попробуй конечно. Только пожалуйста, потщательнее запротоколируй результат - пусть другие тоже учатся ;)

Кстати вот комментарий: красные прямоугольники показывают положительные места, а зеленым я выделил элемент, который не смог идентифицировать - что это?
Прикреплённые файлы:
 
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
Это сообщение редактировалось 26.04.2009 в 01:58
+
-
edit
 

zyxman

опытный

Наконец-то у меня дошли руки посчитать сопротивления дорожек.
Для этого я загрузил рисунок платы в графическую программу xfig, подогнал масштаб чтобы дорожки были 0.5мм, нарисовал поверх цепей линии и померял их длину, а также посчитал сопротивление (без учета скин-эффекта) и прикинул падение напряжения при 20мА.
Вот чего у меня получилось:
фольга 0.03мм, ширина дорожек 0.5мм
удельное сопрот меди 0.01721 Ом*мм2/м

r=p*l/s
земля к контроллеру и датчику (длинная синяя) тянется 8.044см
0.08*0.0172/ (0.03*0.5) = 0.0917 Ом
0.0917*0.020 = 0.001834 В
питание к памяти (красная) 0.989см
0.00989*0.0172/ (0.03*0.5) = 0.01134 Ом
питание к датчику (красная точками) тянется 4.565см
0.0456*0.0172/ (0.03*0.5) = 0.052288 Ом
0.052288*0.020 = 0.00104576 В
питание от МК до датчика (красная штришками) 0.922см
0.00922*0.0172/ (0.03*0.5) = 0.01057 Ом

Хм, по-моему на что-то похоже. Там у нас вроде шаг АЦП как раз где-то такого порядка.
Для улучшения ситуации можно попробовать бросить перемычку проводом из точки PAD6 прямо на ножку GND процессора.
Прикреплённые файлы:
plata1.png (скачать) [19,3 кБ]
 
 
называть крепостное право рабством - это просто за пределами любой логики и здравого смысла (с) Fakir Если ничего не делать то точно ничего не будет, а если делать и искать, то что-то может получиться ;)  1.5.0.61.5.0.6
+
-
edit
 

Serge77

модератор

Serge77> Кажется всё наоборот! В В2 шума меньше, поэтому его не хватает для сглаживания, вот и получаются ровные полки, точно как вот здесь в первых тестах:

Блин, я прав!!!!!!!!!!!!!!!!!!!!
Три раза блин, как же я раньше не заметил очевидного!!!!!!!!!!!!!!!
Ведь я же эти ровные полки сколько раз видел, боролся с ними, а тут как будто мозги отключились.

Одно слегка утешает - я всё время чувствовал, что дело в чём-то совсем простом, а немытая плата, припой, сопротивление дорожек, разводка и т.д. совсем не при чём.

Подробности позже.
+
-
edit
 

Serge77

модератор

Впаял датчик в В2, конденсаторы не убирал, т.е. восстановил всё, как было, когда было "плохо".
Съездил на лифте с 9 этажа на 1 и обратно с двумя высотомерами В1 и В2.

График В1. Видно, что горизонтальных полок нет, хотя сглаживание не полное, есть участки с разным наклоном. А наклон должен быть одинаковый, потому что скорость лифта постоянная.
+
-
edit
 

Serge77

модератор

График В2. Видны горизонтальные полки, что значит, что шума меньше, чем в В1 и его недостаточно для сглаживания.

Буду постепенно выпаивать конденсаторы.
+
-
edit
 

Serge77

модератор

Отпаял конденсатор возле МК. Сглаживания незаметно.

Ckona

опытный
★☆
Уважаемый Zyxman !
Можно ли попросить тебя - дать объяснение причин появления "полок" при равномерном движении лифта ?

Возможно, тогда я смогу дотумкать, зачем нужен аддитивный шум ...
 
+
-
edit
 

Serge77

модератор

Отпаял конденсатор возле датчика. Сглаживание немного улучшилось.
+
-
edit
 

Serge77

модератор

Появление полок и я могу объяснить.
Дело в том, что АЦП 10-битное, т.е. разрешение 1024 точек. Для этого конкретного датчика это означает разрешающую способность 8 метров на бит. Поэтому без шума получаются ступеньки высотой по 8 метров, как здесь на первом графике:


Зачем нужен шум, написано там же, ближе к середине страницы.
+
-
edit
 

Serge77

модератор

Отпаял конденсатор возле памяти. Сглаживание ещё немного улучшилось.

Xan

координатор

Serge77> Зачем нужен шум, написано там же, ближе к середине страницы.

Вообще-то, сглаживание шумом не шибко полезно (делал его в двух проектах).
В одном из проектов мне действительно нужно было получить гладкость, так как там что-то вроде ПИДа было.

Разглядывал подробно результат и оказалось, что получающаяся гладкая кривая всё равно виляет от идеальной примерно на полбита. Только плавно. :)
То есть, точности сглаживание не добавляет, только делает визуальную красоту.
Что и следовало ожидать от АЦП с поразрядным уравновешиванием.

На мой взгляд, для высотомера лучше брать данные с АЦП "как есть", а плавную кривульку рисовать уже на компе.
При большом желании можно прокалиброваться и получить точное значение каждой ступеньки. И потом провести кривую с гораздо большей точностью, чем при "сглаживании".
 7.07.0
+
-
edit
 

Serge77

модератор

Отпаял конденсатор 0.1 мкФ возле стабилизатора питания. Практически ничего не изменилось.
+
-
edit
 

Serge77

модератор

Отпаял конденсатор 10 мкФ возле стабилизатора питания. Вот теперь есть изменения ;^))
Первый график - все полученные данные, виден какой-то странный скачок вниз на 800 метров.
Второй график - часть данных после скачка, видна поездка на лифте и слишком много шума. Ступеньки остались, даже стали больше.

Serge77

модератор

Xan> То есть, точности сглаживание не добавляет, только делает визуальную красоту.

Atmel пишет, что добавляет.

Xan> На мой взгляд, для высотомера лучше брать данные с АЦП "как есть", а плавную кривульку рисовать уже на компе.
Xan> При большом желании можно прокалиброваться и получить точное значение каждой ступеньки. И потом провести кривую с гораздо большей точностью, чем при "сглаживании".

Как можно из первого графика на этой странице получить последний на компьютере?

+
-
edit
 

Serge77

модератор

Итак, конденсатор 10 мкФ возле стабилизатора питания возвращаем.

Но схема В2 без остальных конденсаторов даёт меньшее сглаживание, чем В1. Почему? Особенности разводки? Или стабилизатор питания в SMD меньше шумит, чем выводной, который стоит в В1 ?

Какие мнения? Как улучшить В2?
1 2 3 4 5 6 7 8 9

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru