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

bvn123

Свой
  • Постов

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

  • Посещение

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


  1. можно использовать посредственный (желательно стабильный) источник сигнала и образцовый измеритель параметра, по результатам параллельных измерений вашим счетчиком и образцовым измерителем пересчитываете коэффициенты для вашего счетчика, вносите их в память, снова сравниваете, вероятно, после того, как накатаете процесс, от второго сравнения можно будет отказаться. возможно этот вариант окажется дешевле. а по нюансам калибровки AD напишите в соотв. раздел на https://ez.analog.com/ или поищите службу поддержки - не помню, есть ли у них еще таковая или все через EngineerZone
  2. каким методом будете преобразовывать фазу для измерения с разрешением, линейностью, не говоря уже о погрешности, не хуже 1/100000 от шкалы, к тому же на частоте 300МГц? в какой сигнал, в напряжение, пропорциональное фазе, в число импульсов?
  3. при определенных условиях, требования к которым вы не указали, может прокатить и такой вариант: -USB-микроскоп -шкала с шагом 0,01мм сбоку платформы все это при условия: платформа - таки да, и она есть; движется по одной координате; не должно быть грязи/подтекающего масла и т.д. ничего не мешает разместить микроскоп рядом, а компьютер неподалеку: к шкале жесткие требования по температурному расширению, старению материала (менее 0,01мм (10мкм) на 1000мм); ваша возможность заказать/изготовить/оплатить такую шкалу - слышал, что делают штрихи и с шагом 1мкм на коротких шкалах, существуют прецизионные червяки - вдруг ваше устройство совсем легкое и можно сделать червяк с шагом, например, 2мм, 1/20 оборота - и движение на 0,01мм, а люфт на вашей совести. предлагаю назвать ваше устройство ССОНС - совершенно секретный объект низкой стоимости
  4. можно удешевить комплектацию, если собирать самому, на ebay прдлагают БУ лазеры, если под фазовый дальномер, можно найти двухчастотные (частота биений между двумя частотами лазера может быть порядка нескольких МГц, на этой частоте измерять фазу принимаемого сигнала относительно опорного) дешевле ли в итоге? неизвестно, в каком состоянии БУ лазеры, требуют ли восстановления, понадобится оптик, по электронике - кондиционирование аналоговых сигналов (в зависимости от расстояния и диапазона требования могут быть суровы), возможно, питание лазера, вычисление фазы - FPGA (PLD) + микроконтроллер + интерфейс для передачи в РС; программист - приложение для РС, программы FPGA, микроконтроллера, механика, оборудование; все это надо аттестовать...
  5. тогда рассмотрите возможность применения лазерного интерферометра.
  6. - что измерять, абсолютное расстояние или разницу расстояний, - допускается ли размещение излучателя и приемника рядом друг с другом и отражателя на объекте, до которого измеряется расстояние. -если дополнить экзотикой - можно ли тянуть механическую линейку (в виде шкалы, нанесенной на торец платформы, например)/вращать прецизионную червячную передачу и т.д. лазерный интерферометр измерит разницу расстояний, для абсолютного измерения нужна точка отсчета, разрешение в доли мкм по принципу лазерного дальномера (вычислять задержку) вряд ли: скорость света 3E8 м/с, при проходе до отражателя и обратно расстояние увеличивается вдвое, если разрешение (не точность) 0,015мм (для упрощения расчета), удвоенное значение 0,03мм или 3E-5м, требование к разрешению по времени 3Е-5 / 3Е8 = 1Е-13с или 0,1пикосекунда, у микросхем ACAM TDC режим повышенного разрешения 10пс что-то свое с заполнением 10ТГц или фазовый детектор с разрешением 0,1пс - интересно было бы взглянуть...
  7. проблему решил, осциллограф ходовой, тему просматривают, поэтому оставляю небольшой отчет. готовой ссылки не нашел и на трех форумах её не предложили, написал свое приложение. что предлагали на другом форуме: использовать возможность конвертирования файла osc в csv приложением Recorder оциллографа ISDS205, перегонять файлы, которые нужно сократить обрезкой, в csv, затем обрабатывать в другом приложении. что из этого вышло: файл размером 100М приложение Recorder конвертирует только целиком, время конвертирования на моем не новом компьютере 17 минут размер файла csv составил 2,7 Гигабйта (27:1) в написанном приложении файл osc осциллографа ISDS205 размером 100 Мегабайт открывается, обрабатывается и выводится в виде графика за 420мс, дальше на графике можно поставить пару меток, обозначающих фрагмент для сохранения в новый файл в родном формате osc, сохранение по времени обычное, от объема. пока скрины процесса для файла osc со временем открытия-построения графика здесь: http://accel.net23.net/ISDS205_osc_cut.html
  8. если есть возможность установить микросхему вместо термопары (физически <корпус 16-lead LFCSP> и по диапазону <−40°C to +150°C>) - посмотрите ADT7320, интерфейс SPI, разрешение 16-bit temperature resolution: 0.0078°C АЦП - с требованиями только к разрешению, вероятно, действительно любой, если поднять усиление для узкого диапазона температур и добавить смещение
  9. Добрый день, интересует обрезка файлов *.osc, создаваемых приложением Recorder USB-осциллографа INSTRUSTAR ISDS205. В идеале хотелось бы скачать приложение, способное открыть график на нем выделить фрагмент для сохранения и сохранить его в том же формате osc Может, попадалась на такое приложение ссылка? Приложение Recorder фрагмент сохраняет в виде картинок или файла csv. Не удобно хранить исходные файлы иногда по 100М, в которых иногда интересует короткая посылка, занимающая от силы 50К. (как написать приложение, знаю, если такое уже есть, хотелось бы скачать) Спасибо.
  10. спасибо, если будет неустойчиво работать, добавлю задержку
  11. нашел решение: попробовал подождать, не сбросятся ли флаги: чтобы не ждать повторно сброса флага ASSR.TCN2UB при записи в TCNT2 в обработчике Timer2_Ovf, можно -дать таймеру отсчитывать все 256 импульсов до переполнения, тогда в обработчике в него не потребуется что-либо записывать, а секундный или 2-секундный интервал выбирать Prescaler-ом - делить не на 1024, а на 64, например. -или работать с прерыванием по совпадению состояния таймера с заранее заданным (CTC) //===========Листинг:=========// #include <iom48PA.h> #include <ina90.h> #pragma vector=TIMER2_OVF_vect //KBD & Indication __interrupt void TIMER2_OVF(void) { SMCR=0; PIND=1<<PD4;} void main() { SP=RAMEND; DDRD=(1<<PD4); //Запрет работы WDT - без изменений из описания ATmega48PA _CLI(); _WDR(); MCUSR &= ~(1<<WDRF); WDTCSR |= (1<<WDCE) | (1<<WDE); WDTCSR = 0x00; //Инициализация Таймера2 TIMSK2=(1<<TOIE2); ASSR=(1<<AS2); //асинхронный режим: кварц 32768Гц на TOSC1,2 -> Таймер2 TCNT2=0; //при входной частоте Ftim2=32768 /64 = 512Гц и деление на 256 таймером2 - интервал 0.5с TCCR2B=(1<<CS22) | (0<<CS21) | (0<<CS20); // Pre2=64, Ftimer2 = 512 Гц while(ASSR & 0x11); _SEI(); while (1) { SMCR= (0<<SM2) | (1<<SM1) | (1<<SM0) | (1<<SE); // 0000 0111 Power Save sleep mode _SLEEP(); } } }
  12. может, у кого-нибудь есть работающий фрагмент с асинхронным тактированием таймера2 и Power Save sleep mode для ATmega48p/88p/168p? === об отладке: в отладчике IAR for AVR команда _SLEEP() не отрабатывается, в AVR Studio 4.19, после установки ASSR.AS2, команды записи в TCNT2 и TCCR2 не приводят к изменению состояний в соотв.окошках этих регистров в окне I/O View, но при этом устанавливаются биты, сигнализирующие о занятости этих регистров в ASSR: ASSR.TCN2UB и ASSR.TCR2BUB; запись в TIMSK2 вызывает нормальную установку соотв. флажка, перемещение команды установки ASSR.AS2 за блок команд инициализации TCNT2, TCCR2 и TIMSK2 приводит к установке соотв. флажков этих регистров в IO View, но не к нормальной работе, к тому же в писании сказано, что этого делать не следует: "When the value of AS2 is changed, the contents of TCNT2, OCR2A, OCR2B, TCCR2A and TCCR2B might be corrupted." в Atmel Studio 6.2 то же самое, но медленнее работает сомневаюсь, что астудио7 обеспечит корректную отладку: в шестой версии пропадали простые возможности отладки, которые работали в 4-й. И на сайте атмел страница, где можно задать вопрос, приглашает зайти позже.
  13. Здравствуйте, не получается вывести МК из спящего режима. ATmega48PA, Тактирование микроконтроллера выбрано установкой Fuses от внутреннего RC-генератора 8МГц (проверил, тактирование МК от 8МГц есть) кварц 32768Гц подключен к TOSC1,2 и тактирует Таймер2 в асинхронном режиме. Переполнение Таймера2 раз в 0,5с изменяет состояние на контакте МК, для индикации к контакту подключен светодиод. Если команда _SLEEP() заблокирована, Таймер2 в асинхронном режиме работает, светодиод мигает с расчетной частотой. МК не пробуждается Таймером2 в асинхронном режиме, если выполнена команда _SLEEP(). В то же время МК пробуждается, если заблокировать асинхронный режим (убрать команду ASSR=(1<<AS2)) - тогда светодиод мигает очень часто (на таймер2 поступает частота 8МГц/1024, кроме того, чтобы видеть мигание, приходится и в TCNT2 грузить 216 вместо 16-ти) Т.е., проблема возникает при одновременном использовании SLEEP и асинхронного режима Таймера2, можно сказать, отдельно они работают. То же написал на ассемблере в AVR Studio с тем же результатом. В чем ошибка? //===========Листинг:=========// #include <iom48PA.h> #include <ina90.h> #pragma vector=TIMER2_OVF_vect //KBD & Indication __interrupt void TIMER2_OVF(void) { SMCR=0; TCNT2=256-16; PIND=1<<PD4;} void main() { SP=RAMEND; DDRD=(1<<PD4); //Запрет работы WDT - без изменений из описания ATmega48PA _CLI(); _WDR(); MCUSR &= ~(1<<WDRF); WDTCSR |= (1<<WDCE) | (1<<WDE); WDTCSR = 0x00; //Инициализация Таймера2 ASSR=(1<<AS2); //асинхронный режим: кварц 32768Гц на TOSC1,2 -> Таймер2 TIMSK2=(1<<TOIE2); //прерывание переполнения Таймера2 разрешить TCNT2=256-16; //при Ftosc2=32768 /1024 = 32Гц это 0.5с срабатывания таймера TCCR2B=(1<<CS22) | (1<<CS21) | (1<<CS20); // Pre2=1024, Ftimer2 = 32 Гц _SEI(); //Разрешить прерывания while (1) { SMCR= (0<<SM2) | (1<<SM1) | (1<<SM0) | (1<<SE); // 0000 0111 - разрешить Power Save sleep mode _SLEEP(); //перевести МК в спящий режим } }
  14. Да, общение по UART с микроконтроллером и пока для отладки с компом - транзитом через микроконтроллер. Ответ действительно приходит не всегда, поэтому таймаут - крайний срок, когда его еще стоит ожидать - нужен. Задача неспешная, экономии питания не требует, проверка ответов по истечении таймаутов немного проще.
  15. turnon, спасибо, очень интересные решения пока не разыскал AT-команды для получения CRC файла с FTP-сервера, есть такая?
  16. Здравствуйте, управляемый микроконтроллером модуль SIM900D передает данные на ftp-сервер, для инициализации выполняется более десятка AT-команд. на большинство команд ответ "OK" приходит быстро (от модуля), три ответа - с задержкой в нескорлько секунд (команды-время ожидания ответа в конце) иногда ответ с первого раза не приходит. Подскажите, где посмотреть рекомендации - по выбору времени ожидания ответа на отдельные AT-команды (используемые команды ниже) - по выбору числа повторов при отсутствии ответа в течение выбранного времени - к какой команде возвращаться при сообщении "ERROR" или лучше дернуть PowerKey SIM900 и повторить всю последовательность - связано ли время ожидания отваета с параметром, получаемым при запросе качества сигнала (может, например, при параметре ниже 18 не стоит и передавать на ftp) - если ответ на передачу положительный, велика ли вероятность ошибки в созданном на ftp-сервере файле (интересуют не цифры, а практический опыт, к примеру, передавали с параметром качества сигнала 10, были ошибки, индицировались ли ошибки в ответе, полученном от SIM900) Или каждый все это нарабатывает опытным путем? Ниже последовательность интересующих команд, после большинства ответ приходит быстро, 2-секундного ожидания хватает с избытком, для 3-х команд с более длительным ожиданием ответа (вероятно, от оператора и от ftp-сервера) время указано: AT+SAPBR=3,1,"CONTYPE","GPRS" OK AT+SAPBR=3,1,"APN","<адрес точки доступа оператора связи>" OK AT+SAPBR=1,1 >>>>>>>>>>>>длительное ожидание, 4с OK AT+FTPSERV="<имя сервера>" OK AT+FTPUN="<имя пользователя>" OK AT+FTPPW="<пароль>" OK AT+FTPPUTNAME="u.bin" OK AT+FTPPUTPATH="/data/" OK AT+FTPTYPE="I" OK AT+FTPPUTOPT="APPE" OK AT+FTPPUT=1 OK >>>>>>>>>>>>длительное ожидание, 6с +FTPPUT:1,1,1300 AT+FTPPUT=2,9 +FTPPUT:2,9 <передать 9 байт> OK +FTPPUT:1,1,1300 AT+FTPPUT=2,25 +FTPPUT:2,25 <передать 25 байт> OK +FTPPUT:1,1,1300 AT+FTPPUT=2,0 >>>>>>>>>>>>длительное ожидание, 6с +FTPPUT:1,0 Спасибо
  17. Спасибо всем за ответы, думаю не декодировать все это в микроконтроллере, управляющем GSM-модемом, а только искать первую цифру после кавычки; начиная с этой цифры, брать фрагмент ответа о балансе так, чтобы он заполнил остаток места в собственном смс, передача от первой цифры даст экономию числа передаваемых символов, будет больше шансов, что остаток на счету попадет в одно сообщение. Более гибкое декодирование можно будет сделать на компе.
  18. Спасибо за ответы, похоже, особого смысла стремиться унифицировать ТОЛЬКО разбор ответа нет еще из-за того, что и номера для запроса баланса по операторам не одинаковы, уже вижу номера запросов *100#, *102#, *111# тему нашел: > Автоматическое определение баланса СИМ карточки, Выделение суммы из ответа на запрос USSD
  19. Здравствуйте, интересуют ответы разных операторов России, Украины, Белоруссии на запрос баланса счета ответ Киевстар и Beeline (Украина) +CUSD: 1,"Na rahunku 34.00 grn. Bonusy: *100# null" +CUSD: 1,"Na rahunku 26.30 grn. Nomer die do ... из этих ответов программно выделить баланс несложно - найти кавычку, после нее искать первую цифру, пока идут цифры или разделитель (точка, запятая) - считать это символами, относящимися к балансу. встречаются ли отличия в ответах ДРУГИХ операторов - цифры между кавычкой и первым числом баланса, запись баланса словами, а не цифрами, или, скажем, запись баланса в виде "34 rub. 00 kop" Спасибо.
  20. Проблему решил, добавив по 680 Ом с линии A на +5В, с линии B на общий.
  21. Здравствуйте, нормально работает комплект адаптер USB<>RS485 (в нем ADM3485 с терминальным резистором Rт=120 Ом) - кабель (5м) - плата (ADM3485 с Rт=120 Ом+микроконтроллер (питание 3,3В)), скорость передачи 460800 бит/с (с такой скорорстью тестировал и при 40м кабеле) понадобилось питать микроконтроллер от +5В, на плате микроконтроллера установил ADM485 (на 5В), идут сбои в обмене тестовыми данными; тестировал две платы с ADM485 - характер сбоев при работе с адаптером с ADM3485 одинаков ПО, скорость передачи изменять нет возможности, посмотреть осциллографом проблематично если кто-нибудь успешно цеплял на один кабель микросхемы RS485 с 3,3В и 5В питанием, то какие именно ИС, понадобились ли при использовании конкретных микросхем, например, подтягивающие резисторы в планах было использовать две платы с питанием 3,3В и две с 5В на один кабель, https://ez.analog.com/message/65441#65441 - здесь о каких-либо проблемах с таким подключением не упоминают http://www.analog.com/media/en/technical-d...otes/AN-960.pdf здесь предлагается расчет подтягивающих резисторов либо для 5В, либо для 3,3В, о возможности комбинирования не упоминают
  22. все-так проверил стирание при разных напряжениях - это сработало: для регулировки напряжения заменил на LM317 установленный на плату маломощный LDO с фиксированным напряжением 1,8В (тестер показывал 1,77В) -при напряжении 1,8В флеш Хмега уверенно стирается -при понижении напряжения до 1,7В программатор писал/стирал нормально, может, несколько медленнее в AVR Studio появлялся ответ "Erase OK" -следующая установка 1,62В - стирать перестал -поднял до 1,72В - не стирал -при 1,75В программатор начал стирать, но сообщение "Erase OK" появлялось с явной задержкой -при выходе на 1,8В и последующем понижении до 1,?В снова стирал нормально проверял с ADG3308 о MAX3002 автор пишет, что МАХ выбран из-за доступности по сравнению с GTL2003 - у нас ADG дешевле и в наличии да, МАХ по функциям и цоколевке тот же преобразователь уровня с автоопределением направления, спасибо за ссылку на программатор с MAX3002, у меня такое же подключение резисторов - оно действительно вызывало некоторые сомнения: не подключить ли две ячейки ADG отдельно, соединив их (резисторами?) со стороны программируемого МК Итог: Т.к. другие команды проходят и при 1,62В, причина в cамой Flash, вероятно, от одной хмега к другой напряжение стирания будет слегка изменяться На рабочую плату поставлю стабилизатор с подстройкой, буду выгонять чуть более 1,8В. При существовании фиксированных LDO на 1,8В это, хоть и небольшое, но неудобство. Спасибо за содействие.
  23. Ответ службы поддержки: "I tried with ATXmega32A4U device mounted in STK600 and tried to erase the flash at 1.8V and at 1.7V. I couldn't see any issue while erasing the flash at 1.8V and 1.7V." по поводу электрических и временных параметров при стирании ничего не сообщили == оригинальный AVRISP MKII последних версий по описанию программирует устройства с питанием 1,8В, значит, заказчик его приобретет == LDO для задачи рекомендуется малошумящий, AD производит их и с подстройкой, и на 1,8В == для отладки при программировании Мега по ISP-интерфейсу (а не ХМега по PDI), например, ATmega168, способного работать от 1.8В, проблем не вижу - LPT-программатор, к нему добавить согласователь уровней отладка своего приложения позволила бы видеть, что отвечает программируемый МК, где виснет но и необходимости не вижу - применение Меги в проекте не удобно не только из-за ее питания >=1,8В, ее линии под ISP-программирования SCK,MISO,MOSI идут и на управление другим устройством. писать же приложение для PDI-интерфейса с целью понять, как стереть при пониженном напряжении, хлопотно, разобраться в чужом, написанном под WinAVR, не могу
  24. Спасибо за помощь, у мега есть микросхемы с питанием 1,8..5,5В, у хмега 1,6...3,6В смысл использования хмега - не подбирать стабилизатор 1,8В и не делать его подстраиваемым, а использовать попавшийся - попался 1.77В с прогрммированием Мега при 1,8В по ISP-интерфейсу было бы проще - у меня свое ПО, можно было бы временнЫе параметры при необходимости менять, получить информацию в режиме отладки при программировании, к тому же в ISP нет двунаправленных линий времени на исследования программатора нет, разве что еще поищу информацию, на AVRFreaks ответили, что atxmega32a4u должна программироваться от 1,6В - она действительно программируется при 1,8В, но не стирается попросил ссылку на док ХМега о зависимости напряжения-тока-временных параметров при стирании в службе поддержки атмел - если пришлют, может, что-то прояснится
×
×
  • Создать...