[image]

Электронное оборудование ракет - БРЭО,часть XIV

 
1 238 239 240 241 242 253
RU Svuvich #22.11.2018 22:22  @prohor-nastya#11.11.2018 17:13
+
-
edit
 

Svuvich

новичок
prohor-nastya> Здравствуйте, уважаемые все!
prohor-nastya> Подскажите пожалуйста, программу для нарисования и проверки электронных схем.
prohor-nastya> Задумался над БРЭО и думаю такая программа будет полезна... в интернете много, я попробовал 2, одна слишком примитивная для детей, вторая какая-то не понятная.
prohor-nastya> Я конечно поищу еще, но времени жалко, да и вирусы боюсь цапануть.
prohor-nastya> Может у кого архивчик есть, или ссылка есть на рабочую прогу, или хотяб название.
prohor-nastya> Благодарен буду любой подсказке.
prohor-nastya> Заранее спасибо!!!

Работаю в easyeda и другим советую)
Веб-приложение от китайского завода печатных плат jlcpcb. Сделал там свою первую работу (не связанную с ракетами), и в принципе работать реально удобно. Фото прилагается.
Ну а чтобы сделать рабочую схему - лучше накупить модулей/деталей нужных, отладочную плату микроконтроллера и сделать на макетке для начала. Если при запуске ничего не сгорело, то гугли схемы используемых модулей, собирай их в программе в одну убирая ненужные детали (кучу 5-3.3в преобразователей которые на большей части модулей например, оставить только один).
Может не тру инженерия и не самое изящное решение, но рабочий дивайс собрать можно.
Прикреплённые файлы:
_yD2kZRhba0[1].jpg (скачать) [960x1280, 343 кБ]
 
U3hx54kjIIE[1].jpg (скачать) [1280x960, 276 кБ]
 
 
   64.0.3282.14064.0.3282.140
CN Beyond Ch #24.12.2018 12:29  @Svuvich#22.11.2018 22:22
+
-
edit
 

Beyond Ch

новичок
Здравствуйте, уважаемые все!

Подскажите пожалуйста, программу для нарисования и проверки электронных схем.
Задумался над БРЭО и думаю такая программа будет полезна... в интернете много, я попробовал 2, одна слишком примитивная для детей, вторая какая-то не понятная.
Я конечно поищу еще, но времени жалко, да и вирусы боюсь цапануть.
Может у кого архивчик есть, или ссылка есть на рабочую прогу, или хотяб название.
Благодарен буду любой подсказке.
Заранее спасибо!!!
   71.0.3578.8071.0.3578.80
RU Massaraksh #25.12.2018 03:46  @Beyond Ch#24.12.2018 12:29
+
-
edit
 

Massaraksh

аксакал
★☆
B.C.> Подскажите пожалуйста, программу для нарисования и проверки электронных схем.
B.C.> Благодарен буду любой подсказке.
Для рисования схем - SPlan
Для проектирования печатных плат - Spring Layout
   64.064.0
+
-
edit
 

Mihail66
mihail66

аксакал

Фейковый Duracell 9V.
Решил выдернуть контактную ламельку из старой батарейки для использования в качестве ответной части. Но до кучи, вместо 6 тонких щелочных "мизинцев" обнаружил солевой моноблок из 6 гальванобанок.
Прикреплённые файлы:
DSCF4820.JPG (скачать) [1868x1298, 709 кБ]
 
DSCF4821.JPG (скачать) [3002x2005, 867 кБ]
 
 
   71.0.3578.9871.0.3578.98

RLAN

старожил

Есть трехосевой датчик ускорения до 100Ж
Он 12ти битный со знаком, но значение сдвинуто в старшие разряды.
И визуально значения в покое скачут, как хотят.
Но, возможно, это все иллюзия, у него не слишком высокая точность, и в зоне нуля скачки от максимума до минимума вполне понятны, плюс младшие разряды убрать, может график будет приличный.
Но я уже забыл, хоть 30 лет назад это преподавал.
Отрицательное число в обратном коде?
Как это втянуть в Эксел, как получить десятичное со знаком, убрать незначащие разделив на 16?

Подумал, хоть и не хотел :)
Скорее там не обратный код, а дополнительный, ведь FFFF это не 0, а -1.
Соответственно переводим число в десятичный и вычитаем 65536.
Делим на 16 (или 8?)
   1818
Это сообщение редактировалось 31.12.2018 в 12:52
RU Бывший генералиссимус #31.12.2018 13:55  @RLAN#31.12.2018 12:32
+
-
edit
 
RLAN> Скорее там не обратный код, а дополнительный, ведь FFFF это не 0, а -1.
RLAN> Соответственно переводим число в десятичный и вычитаем 65536.
=IF (A1 > 32767; A1-65536; A1)

RLAN> Делим на 16 (или 8?)
На 16, но зачем? сразу переводим в нужные "же"

А, вообще, без сглаживания (хотя бы треугольного окна) обычно не обойтись.
   71.0.3578.9871.0.3578.98
+
-
edit
 

Massaraksh

аксакал
★☆
RLAN> Как это втянуть в Эксел, как получить десятичное со знаком, убрать незначащие разделив на 16?

=ЕСЛИ(A1>32767;ОКРУГЛВНИЗ((A1-65536)/16;0);ОКРУГЛВНИЗ(A1/16;0))
   64.064.0
RU Бывший генералиссимус #01.01.2019 20:57  @Massaraksh#31.12.2018 17:20
+
-
edit
 
RLAN>> Как это втянуть в Эксел, как получить десятичное со знаком, убрать незначащие разделив на 16?
=ЕСЛИ(A1>>32767;ОКРУГЛВНИЗ((A1-65536)/16;0);ОКРУГЛВНИЗ(A1/16;0))

а зачем округлять вниз? число по умолчанию делится на 16 без остатка, в младших разрядах у него нули.
Другое дело, что мы забыли Вадиму сказать про функцию HEX2DEC (в русском экселе ШЕСТ.В.ДЕС), которая понадобится, чтобы сконвертировать импортированные шестнадцатеричные значения.

и ещё. Если конвертировать только средствами экселя, то нужно перед шестнадцатиричным числом поставить апостроф - заменить 5678 на '5678
Иначе 5е90 будет интерпретировано, как 5*1090

Поэтому я обычно конвертирую шестнадцатиричный ввод в десятичные числа простейшей самописной программой.
   71.0.3578.9871.0.3578.98
CA pinko #01.01.2019 22:02  @Бывший генералиссимус#31.12.2018 13:55
+
-
edit
 

pinko

опытный

RLAN>> Делим на 16 (или 8?)
Б.г.> На 16, но зачем? сразу переводим в нужные "же"

Он отметил, что данные выровнены слева. Переменная 16-битная, но данные 12-битные двоичное дополнение то есть 2048 и знак. Поэтому надо сдвиг вправо на 4 бита то есть делению на 24=16

=IF(A1>32767,(A1-65536)/16,A1/16)

Кстати в Екселе есть функция BITRSHIFT(number, shift_amount) которая применима непосредственно к десятичному числу, но не знаю как она будет обрабатывать двоичное дополнение так как функция доступна только в Office 2013 или новее, а у меня нет.
   64.064.0
Это сообщение редактировалось 01.01.2019 в 22:24
RU Бывший генералиссимус #01.01.2019 22:40  @pinko#01.01.2019 22:02
+
-
edit
 
RLAN>>> Делим на 16 (или 8?)
Б.г.>> На 16, но зачем? сразу переводим в нужные "же"
pinko> Он отметил, что данные выровнены слева. Переменная 16-битная, но данные 12-битные двоичное дополнение то есть 2048 и знак. Поэтому надо сдвиг вправо на 4 бита то есть делению на 24=16
=IF(A1>>32767,(A1-65536)/16,A1/16)

Это-то понятно. Но это, получается, всё равно, не конечный результат, а промежуточный, потом нужно ещё раз множить на 9,81. Может, посчитать одну константу =9,81/16? и множить сразу на неё?

pinko> Кстати в Екселе есть функция BITRSHIFT(number, shift_amount) которая применима непосредственно к десятичному числу, но не знаю как она будет обрабатывать двоичное дополнение так как функция доступна только в Office 2013 или новее, а у меня нет.

У меня тоже 2010, но дело даже не в этом. Просто, в силу особенностей экселя и объектного программирования, целочисленные операции нисколько не быстрее, поэтому выгоднее все операции, которые можно редуцировать (например, последовательные умножения и деления на разные константы) свернуть в одну.

Именно потому я и спрашиваю, зачем отдельно делить на 16.
   71.0.3578.9871.0.3578.98
CA pinko #01.01.2019 23:04  @Бывший генералиссимус#01.01.2019 22:40
+
-
edit
 

pinko

опытный

Б.г.> Но это, получается, всё равно, не конечный результат, а промежуточный, потом нужно ещё раз множить на 9,81. Может, посчитать одну константу =9,81/16? и множить сразу на неё?

Теперь я понимаю, что ты имел в виду - конечно разница не будет.

Б.г.> У меня тоже 2010, но дело даже не в этом. Просто, в силу особенностей экселя и объектного программирования...

Между датчиком и интерфейсом есть микроконтроллер и я бы предпочел, чтобы там делалось преобразованием и сдвиг, но это личное предпочтение в случае.
   64.064.0
RU Massaraksh #02.01.2019 01:32  @Бывший генералиссимус#01.01.2019 20:57
+
-
edit
 

Massaraksh

аксакал
★☆
Б.г.>в младших разрядах у него нули.
Где это сказано?
Там вполне может быть мусор.
   64.064.0
+
-
edit
 

pinko

опытный

Б.г.>>в младших разрядах у него нули.
Massaraksh> Где это сказано?
Massaraksh> Там вполне может быть мусор.

pinko:
Он отметил, что данные выровнены слева. Переменная 16-битная, но данные 12-битные двоичное дополнение то есть 2048 и знак. Поэтому надо сдвиг вправо на 4 бита то есть делению на 24=16
 


n бита сдвиг слева ето умножение с 2^n - таким образом, каждое значение будет кратно 16 и когда делаем деление на 16 получается только целые числа - следовательно, нет необходимости округлять.
   64.064.0
+
-
edit
 

Massaraksh

аксакал
★☆
pinko> n бита сдвиг слева ето умножение с 2^n - таким образом, каждое значение будет кратно 16 и когда делаем деление на 16 получается только целые числа - следовательно, нет необходимости округлять.
Я привёл формулу для Excel, деление на 16 для него не эквивалентно сдвигу на 4 разряда.

Файл из Облака Mail.Ru

Облако Mail.Ru - это ваше персональное надежное хранилище в интернете. Все нужные файлы всегда под рукой, доступны в любой точке мира с компьютера или смартфона. //  cloud.mail.ru
 

Файл из Облака Mail.Ru

Облако Mail.Ru - это ваше персональное надежное хранилище в интернете. Все нужные файлы всегда под рукой, доступны в любой точке мира с компьютера или смартфона. //  cloud.mail.ru
 
   64.064.0
+
-
edit
 

pinko

опытный

pinko>> n бита сдвиг слева ето умножение с 2^n - таким образом, каждое значение будет кратно 16 и когда делаем деление на 16 получается только целые числа - следовательно, нет необходимости округлять.
Massaraksh> Я привёл формулу для Excel, деление на 16 для него не эквивалентно сдвигу на 4 разряда.

Понял что имееш ввиду, но дело в том, что исходное значение датчика является целым числом из АЦП - то есть 12-битные двоичное дополнение (или 2048 и знак) которое помещается в 16-битную переменную и выравнивается по левому краю.

Например:
Реальный 12 бит выход АЦП = 1981x10 = 011110111101x2
Будет записано в реестре как = 31696x10 = 0111101111010000x2

Например:
Реальный 12 бит выход АЦП = -2045x10 = 100000000011x2
Будет записано в реестре как = -32720x10 = 1000000000110000x2

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

В етом случае возможные значения от реестре датчика (до сдвига вправо) только которы кратны 16 - поетому при деление на 16 не будет дробного остатка. Таким образом, значение 123 (до сдвига вправо) в твоем примере не является действительным выходным сигналом из реестре датчика.
   64.064.0
Это сообщение редактировалось 02.01.2019 в 03:50
+
-
edit
 

Massaraksh

аксакал
★☆
pinko> Понял что имееш ввиду, но дело в том, что исходное значение датчика является целым числом из АЦП - то есть 12-битные двоичное дополнение (или 2048 и знак) которое помещается в 16-битную переменную и выравнивается по левому краю.
Ты всё правильно говоришь, конечно, но хорошим тоном в программировании считается отсекать потенциальные проблемы, которые хотя бы теоретически могут возникнуть.
   64.064.0
+
-
edit
 

pinko

опытный

Massaraksh> Ты всё правильно говоришь, конечно, но хорошим тоном в программировании считается отсекать потенциальные проблемы, которые хотя бы теоретически могут возникнуть.

Если это является целью округления, я бы просто отбросил любое значение не кратное 16 как недействительное, поскольку не можно быть уверен в каком именно бите была ошибка.
   64.064.0

Sandro
AXT

инженер вольнодумец
★☆
pinko> Если это является целью округления, я бы просто отбросил любое значение не кратное 16 как недействительное, поскольку не можно быть уверен в каком именно бите была ошибка.

Я бы ещё отбрасывал любое значение, которое сильно отличается от среднего арифметического между предыдущим и последующим. Ибо это физически нереально.
   52.952.9

RLAN

старожил

С Новым Годом !!! :)

Для тех, кому лень пить :)

Вот это формат данных в этой строке.
Первые 3 позиции незначащие.
Дальше выглчдит так побайтно

2 Метка времени от старта (цена 250ms)
1+1 Состояния контроллера + Digital входы/выходы
2 Absolute Pressure Sensor  14bit
2 Gage Pressure Sensor  14bit
2 Temperature  11bit 
2 High-g  digital accelerometer   X-axis  12bit
2 High-g  digital accelerometer   Y-axis  12bit
2 High-g  digital accelerometer   Z-axis  12bit
2 digital accelerometer   X-axis  12bit
2 digital accelerometer   Y-axis  12bit
2 digital accelerometer   Z-axis  12bit
2 digital geomagnetic sensor  X-axis 12bit
2 digital geomagnetic sensor  Y-axis 12bit
2 digital geomagnetic sensor  Z-axis 14bit

Данные меньшего акселерометра - в младших разрядах, большего - в старших.
Если кому не лень - вот текстовый исходник, из которого убраны GPSные строки.
Я смогу с этим поработать только вечером.
Датчики поворачивал в 6 положений. Старался соосно с их осями.
Прикреплённые файлы:
 
   1818
Это сообщение редактировалось 02.01.2019 в 16:14

pinko

опытный

RLAN> Если кому не лень - вот текстовый исходник, из которого убраны GPSные строки.

Я мог бы взглянуть, но мне нужна больше информации о датчиках.

Кстати, я не смог найти цифровых ±100g 3D 12-битные датчики в каталогах. Я нашел только H3LISхххDL серии, которые либо 16-битные, либо 8-битные. Есть пара 3D цифровых датчиков ±200g, но они тоже 16-битные.
   64.064.0
Это сообщение редактировалось 02.01.2019 в 19:29

RLAN

старожил

Датчики там такие. BMC150 и H3LIS331DL
Но если с первым относительно понятно, то со вторым что то не слишком.
Вот картинка из моего файла.
Для первого кривенько, но как и ддолжно быть.
Со второго только неслабый шум, или что?
Прикреплённые файлы:
Ж1.jpg (скачать) [1247x877, 233 кБ]
 
Ж2.jpg (скачать) [1254x871, 330 кБ]
 
 
   1818
Это сообщение редактировалось 02.01.2019 в 21:05

RLAN

старожил

Что то я картинок своих не вижу.
   1818

pinko

опытный

RLAN> H3LIS331DL

В данные, которые дал, выглядят есть слишком высокая амплитуда чтобы быть шумом - смотри есть ли ошибки в инициализацию или протокол связи?
   64.064.0
+
-
edit
 

Mihail66
mihail66

аксакал

pinko> ...
pinko, я тебе вопрос на Е-почту отправил. Посмотри пожалуйста.
   71.0.3578.9871.0.3578.98
+
-
edit
 

pinko

опытный

pinko>> ...
Mihail66> pinko, я тебе вопрос на Е-почту отправил. Посмотри пожалуйста.

Ответил
   64.064.0
1 238 239 240 241 242 253

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