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

ARV

Свой
  • Постов

    1 257
  • Зарегистрирован

Весь контент ARV


  1. у меня вечно какие-то проблемы с новыми сборками... во-первых, я привык к понятию апгрейда, т.е. накатыванию свежего поверх старого с получением плюшек. в случае avr-gcc это не прокатывает: старый код перестает компилироваться (хоть и по банальным причинам, но все-таки), куда-то что-то пропадает и т.п. во-вторых, по неизвестным причинам некоторые вещи меняются крайне радикально и в не удобную сторону. например, avr-size вдруг начинает выводить информацию вообще каким-то странным форматом, что не только сналету не понятно, какой объем кода получился, но и после детального анализа вопросы остаются... в третьих, Eclipse... я установил в него плагин AVR и успешно им пользуюсь с WinAVR. после установки новой версии компилятора у меня вечно проблемы с интеграцией в Eclipse с существующими плагинами... не могли бы вы как-то помочь мне "обновиться", чтобы при этом вышеупомянутые проблемы были решены "малой кровью"? я ж не профессионал, многих вещей не знаю, методом тыка все освоил... но современные продукты становятся слишком сложными, чтобы метод тыка давал хорошие результаты в разумное время...
  2. код вполне адекватный, просто при отладке в протеусе невозможно просмотреть состояние переменных, если они локальные для функции. поэтому пришлось простейшее выражение разбивать на отдельные этапы вычисления, чтобы понять, в какой момент возникают чудеса. причина чудес все равно остается неизвестной...
  3. Может ли кто-нибудь человеческим языком пояснить, что такое oOmph и другие "инструменты", которые присутствуют в Eclipse? Настройки компилятора, редактора, отладки - все мне очевидно и понятно, но вот oOmph, Mylyn, RPM - что это и с чем его едят?
  4. уважаемые профессионалы! помогите понять, что происходит. есть такой код (это уже извраты в процессе отладки, не обращайте внимание на volatile и прочие несуразности): volatile static int16_t arg; volatile static float argf; int16_t get_temp(uint8_t chanel); int16_t get_temperature(uint8_t chanel){ arg = get_temp(chanel); argf = arg; // уже на этом операторе argf получает дикое значение, если arg == 92. argf = argf - config.offset[chanel]; argf = argf * config.gain[chanel]; argf = argf / 1000; return argf; } config.offset и config.gain имеют тип float казалось бы все нормально... ан нет! если get_temp возвращает 82, то на выходе имеем нормальное значение 16. если же get_temp возвращает 92, то argf получает значение с 9 нулями!!! разумеется, функция возвращает какую-то ересь... самое смешное заключается в том, что если get_temp вернет число, например, 100, то результат снова имеет разумный вид... собираю проект в WinAVR 20100110. раньше доверял этой версии, как самому себе... отлаживаю в протеусе... может, я где-то туплю по-черному?! P.S. похоже, разобрался... ступил. если подключить библиотеку математики (опция -lm) глюки пропадают. при этом очень заметно сокращается объем прошивки! но не понятно, почему никаких ошибок и варнингов на отсутствие библиотеки...
  5. Если дорогую колбасу есть невозможно, это скорее всего говорит о том, что ваш работодатель жулик и платит вам слишком мало :))) Я прочитал всю тему и... и решил высказаться, хотя не считаю себя крутым профессионалом в разработке электроники и программ. 1. Если проект был настолько прост, насколько это видно из здешнего описания, зачем искали аж двух "спецов"? Как правило, для поделок такой сложности всегда можно найти специалиста "два в одном", который и нарисует плату, и прошивку разработает. И на выхлопе будет лучший результат, и кивать не на кого за проблемы будет... 2. Читал про звериный оскал ISO9001 и чуть не плакал... Вт уж где он скалится, так это в моей организации... Как-то забывается, что планирование и отчетность работают и помогают только там, где план является обязательным, а отчетность как-то используется для корректировки... У нас же 100% проектов (увы, электроника с программированием в наших проектах едва ли до 20% дотягивает, но суть-то не меняется) "планируется" в стиле "закончить надо будет вчера, при этом стоить это должно десять рублей в оптовых партиях", а отчеты пишутся только так, чтобы понравились вышестоящему руководству... Вот вам и ISO...
  6. во-первых, я не понимаю, чем это будет отличаться от использования "стандартных" макросов, уже определенных во-вторых, фишка задумывалась такая: пользователь в заголовочнике-конфиге выбирает для себя наименее загруженный полезными делами источник прерываний, и остальной код "самоподгоняется" уже под это, в т.ч. инициализирует соответствующую периферию. в случае с нестандартными определениями векторов смысл в этом пропадает, т.к. чем нагружать пользователя дополнительными инструкциями по использованию дополнительных макросов, лучше уж вообще этим не заниматься...
  7. В общем, получается, что взять один из предопределенных макросов и использовать его, как селектор вариантов собственного кода, я не могу... Очень это огорчительно... и не понятно.
  8. хм... Получается, __vector_12 для компилятора такой же ноль, как и __vector_11? как же тогда разные вектора прерываний получаются? ISR(__vector_12) совсем не совпадает с ISR(__vector_11)... что-то я не понимаю...
  9. Вы правы - попался! Но КАК?! :blink: Векторы прерываний определены в "стандартных" для avr-gcc заголовках, в проект включается самый "главный" avr/io.h, который уже подтягивает остальные нужные. Макрос ISR отлично "видит" и ADC_vect и любой иной... как в простом if-е эти макросы вдруг оказываются неопределеными?!
  10. Уважаемые знатоки GCC! Захотел сделать "гибкий" код (для AVR), в котором бы можно было гибко варьировать обработчики прерываний. Как-то так: #define MY_INTERRUPT TIMER0_OVF_vect ... ISR(MY_INTERRUPT){ ... } Разумеется, это работает. Теперь вторая хотелка: по значению константы-макроса MY_INTERRUPT делать ту или иную инициализацию периферии, вот примерно так: #if MY_INTERRUPT == TIMER0_OVF_vect // тут инициализация таймера 0 #elif MY_INTERRUPT == ADC_vect // тут инициализация АЦП #elif MY_INTERRUPT == RXC_vect // тут инициализация USART // и т.д. #endif И вот это не работает: ВСЕГДА срабатывает первый #if, какой бы вектор не был присвоен MY_INTERRUPT! Что я делаю не так? Как надо?
  11. Плату с FPGA я вытащил, ОЗУ поставил 2Г и с USB-флешки загрузил какой-то клон линукса. Работает. БИОС был даже не запаролен - ничего там интересного нет. Данные на встроенном CompactFlash повредились, пришлось форматнуть. В целом, если добавить нормальный винт, получится вполне "офисный" тонкий клиент, но очень шумный - 6 маленьких вентиляторов воют, как боинг на взлете. Как использовать 6 независимых сетевых карт в "быту" - я не могу даже представить. Скорее всего пойдет в мусорку. Всем спасибо, тема более не актуальна.
  12. Вообще-то "торгаш" - это я. Привычка не верить людям - хорошая привычка, но ужасно оскорбительная для некоторых. Диповские силабсы я заказывал для собственной работы (для макетирования) - уже не помню точно, когда, лет 7 назад, наверное. Думал делать миниатюрные частотники на них. В ту далекую пору они казались очень производительными и недорогими. Собственно, и все остальные "неликвиды" оттуда проистекают - силовые диоды, IGBT и прочее. Начинаю жалеть, что все это затеял: заработаю (если заработаю) пару тысяч, а позору огребу на 10 следующих лет :(
  13. Подскажите пожалуйста, возможно ли сделать из этой штуковины нечто вроде домашнего сервера? Или как-то иначе применить с пользой для дома и семьи? Внутри винта нет, при загрузке мелькает текст "Celeron 1.70 GHz", под память 2 слота, но занят только один. На материнке есть 2 IDE разъема. После включения выводит какой-то диалоговый интерефейс, который ждет касания iButton-ом, потом пропадает и начинается загрузка FreeBSD. Пока клавиатура с PS/2 отсутствует, потому больше ничего не знаю... Хотелось бы иметь бездисплейный сервер на Ububntu, который бы просто сидел в локалке, качал торренты и расшаривал винты, а так же принтеры. Сейчас для этой цели стоит полноразмерный системник на Athlon x64, но он большой и гудит...
  14. На сайте не нашел описания условий "Free", "Medium" и т.п. Здесь тоже нет. Это что, секрет?
  15. Я себе представляю все это еще слабее... Я - электротехник, для меня измерить - это взять прибор и снять показания. Сборка установки из усилителей и т.п. - вариант, но для целей сертификации не подходящий, ибо все должно быть из госреестра средств измерений или как минимум иметь аттестат вспомогательного оборудования. маловероятно аттестовать музыкальный усилитель, как средство измерений или испытательное оборудование... что касается справедливого вопроса о том, что надо измерять сопротивление в разных режимах электровоза - я так и думал первоначально, и продолжаю так думать сейчас. однако у "экспертов" мнение иное - потому я и писал, что в шоке. в настоящее время иду по пути наименьшего сопротивления: рассматриваю использование LCR-7819. опять есть вопросы: тестовый сигнал всего 1,25В - насколько адекватными будут показания этого прибора, если один провод прицепить к рельсу, а второй - на крыше электровоза к токосъёмнику? я бы был больше спокоен, если бы тестовый сигнал был вольт 30...
  16. для измерения токов и напряжений датчики LEM мы применяем давно и успешно - проблема именно в возбуждении токов. заодно в целесообразности, успешности и достоверности этого метода... правда, начинают поступать "экспертные" мнения, что слишком умным быть не надо - надо просто мостом переменного тока померить сопротивление, и все. я в шоке.
  17. ничего странного. всеобщая деградация не могла обойти и разработчиков ГОСТов. к своему несчастью приходится иметь дело с такими "нормативными" документами, что были бы волосы - встали бы дыбом. ГОСТ Р 55364-2012, п. 5.25 - это то самое, о чем я веду речь. никаких методов там нет и близко. в настоящее время выпущено огромное количество "определяющих" ГОСТов, абсолютно не подкрепленных "методическими" ГОСТами, поэтому вопрос сертификации соответствия тому или иному ГОСТу стоит очень остро: необходимо доказать, что требование выполняется, а метод доказательства официально не узаконен. в итоге все в конечном итоге сводится к "мнению эксперта" - посчитает доказательства достаточными или нет. коррупционная какая-то система :rolleyes: по поводу трансов - да, была подобная мысль. однако, любые измерения должны вестись измерительными средствами, внесенными в госреестр, т.е. как минимум они должны быть "не самопальными". а готовых трансформаторов тока и напряжения, рассчитанных на частоту "от 17 Гц" я не знаю. создавать свою собственную установку и затем ее аттестовывать для госреестра - это вряд ли возможно.
  18. Характер сопротивления играет роль по отношению к цепям рельсовой сигнализации - АЛСН, СЦБ и т.п. Я так понимаю, необходимо обеспечить высокое сопротивление электровоза именно по отношению к частотам этих систем. Естественно, сигнализация есть и на железной дороге с постоянным током. Поэтому я в смятении - при питании электровоза тремя киловольтами с током под 3000 ампер определить его сопротивление каким-то жалким десяткам ампер переменки с частотой 17 или более герц - КАК?! ЧЕМ?! 1% погрешности измерения уже может положить крест на ловле этих блох... Не забывайте, что подавляющее большинство наших электровозов имеют тяговые двигатели постоянного тока, так что индуктивности в тяговых цепях не слабые, это очевидно. Но как это инструментально доказать? А для тех электровозов, где применяется асинхронный тяговый привод, используется большое количество всяких преобразователей, включая 4QS-выпрямители (для переменного тока), и индуктивный характер электровоза вообще под вопросом, ведь коэффициент мощности стремятся довести до единицы... Поэтому и стоит вопрос инструментального определения характера сопротивления - не дай бог, окажется для какой-то частоты более 17 Гц ёмкостным...
  19. В соответствии с требованиями одного из ГОСТов "входные цепи электровозов со стороны контактной сети должны иметь индуктивный характер сопротивления для частот от 17 Гц и выше". Формулировку слегка упростил, т.к. ее точность особой роли не играет. Проблем две: 1. Сопротивление электровоза меняется в зависимости от режима его работы, т.к. могут подключаться/отключаться/менять режим различные его составные узлы и системы. Поэтому "подать сигнал с генератора на токоприемник и измерить сопротивление" никак невозможно. 2. Электровозы бывают и постоянного тока, при этом требование к их сопротивлению то же самое. Не могу придумать метод определения характера входного сопротивления. Допустим, для электровоза переменного тока можно при помощи АЦП снять сигналы напряжения и тока в цепи электровоза при работающем в том или ином режиме электровозе, применить FFT, получить комплексные значения гармоник тока и напряжения, по которым и вычислить характер сопротивления на нужных частотах. Однако, этот метод не подходит для электровозов постоянного тока - пульсации тока и напряжения в контактной сети разлагать в ряды Фурье - мне кажется это несерьезным, т.к. маловероятно, что эти пульсации будут значительными (на фоне 3,5 кВ постоянной составляющей), т.е. амплитуды гармоник будут слишком малы для достоверной интерпретации результатов... Может, я блуждаю в трех соснах? Может, кому-то известны другие (правильные) методы решения моих проблем? Подкиньте, пожалуйста, идею, что ли... Может кто знает какие-то готовые комплексы, способные измерять реактанс в цепях переменного тока с напряжением 25-27 кВ и постоянного с напряжением 3,5 кВ?
  20. Не новый, но рабочий, состояние приличное, фото по запросу. В комплекте нет щупов, есть: термопара, проводок заземления, сетевой шнур, ручка для переноски матерчатая. Нужен кому? Стартовая цена 10000р (включая пересылку), торг уместен. Если заинтересовало - пишите в личку.
  21. тему пора переименовывать в свежак KGP win64/linux64/arm, GNU tools chain
  22. [DELETED] AVR-филы требуют уважения своих прав!!!
  23. я заканчивал НПИ в свое время. электронику читал у нас завкафедры по фамилии Лачин. я сдал электронику на 4, потому что дважды уличил его в некомпетентности: первый раз на практических занятиях продемонстрировал, что срисованная им с тетрадочки диаграмма работы D-триггера не соответствует реальному поведению, а второй раз, когда защищал диплом и посмел вслух удивиться тому, что завкафедры электроники не имеет представления о серии К1533... в общем, такое вот качество преподавания было в 1989 году... нынешние выпускники НПИ (который после многократных переименований теперь даже не знаю, как правильно называется) не имеют ни малейшего понятия в чем разница между диодом и стабилитроном, как на практике использовать закон Ома (вопрос по расчету балластного резистора для светодиода - это капут полный)... а упоминавшееся ранее "ВУЗ научит вас решать проблемы самостоятельно" на практике означает "все ответы знает гугл". молодой специалист-выпускник НПИ, отлученный от интернета, представляет собой жалкое зрелище... что касается попыткам учиться на старости лет, то на своем примере скажу, что крайне сложно это... пока пытаешься не сломать остатки зубов о что-то новое для себя, оно успевает стать старым... сколько я б ни пытался освоить Java или C# - ничего не выходит, новые технологии и методы разработки появляются быстрее, чем я успеваю просто узнать об их существовании... то же самое и с электроникой: я еще не успел как следует разобраться с аналоговыми схемами (ОУ, ВЧ), а дискретные решения уже чуть ли не отстой - практически на каждую задачу есть своя ИМС, в типовом включении реализующая все, включая блэкджек и шл..х поэтому я бросил учиться, и начал поучать других :)))
  24. да, полноценный публичный файлообменник был бы предпочтительным. но я готов предложить место и на своем сайте, если объем архивов не очень огромный (пару гигабайт вполне выдеру).
×
×
  • Создать...