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

artos5

Moderators
  • Постов

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

  • Посещение

  • Победитель дней

    7

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

  1. 16 выборок на период может быть и избыточно . Достаточно 22кГц * 4..5 выборок . Но пусть возьмём с запасом . 16 всего выборок . 14 выборок из важного входа АЦП , а две оставшиеся выборки из вспомогательных входов . Вспомогательные входы поместить в начало и конец , чтобы лучше анализировать потом синусоидальный сигнал.
  2. Я знаю что этот камень не подходит. Но поставлена задача под имеющееся железо сделать прошивку . Я бы взял МК stm32f205/207. Но этого сделать не могу
  3. Спасибо за пример ! Через 2-3 дня попробую как с командировки приеду . Ещё вопросик : Если я выберу 1.5 цикл преобразования , какая будет реальная частота работы АЦП при максимальной тактовой? В МК ещё при этом запущено пару таймеров и ЦАП два канала через DMA.
  4. Во , это вроде подходит, а может и нет... Можете пример инициализации скинуть? Мне нужно за период меандра как можно больше сэмплов выполнять. Короче говоря нужно в дальнейшем выполнять над данными ЦОС. Нужно минимальное искажение меандра и минимальная нестабильность точек оцифровки .
  5. Ребята , кто подскажет, можно так сделать? Нормально работать будет? : есть один важный вход АЦП и есть два не сильно важных входа. Идея , инициализировать его (важный) , настроив его работу через DMA. Потом через секунду или две, остановить и настроить преобразование двух других каналов , выполнить измерение и копирование данных . После снова остановить преобразование тех двух каналов и настроить новое преобразование с первого канала . И так по кругу. Идея просто раз в 2 секунды измерять низко приоритетные входы АЦП. А две секунды измерять высокоприоритетный вход.
  6. При помощи аппаратного модуля ШИМ формируется меандр. Прямоугольные импульсы одинаковой скважностью и длительностью.
  7. А можете пример дать? Мне вообще надо генерировать меандр и через равные промежутки оцифровывать 1 канал АЦП (он очень важен) , но есть проблема... Используется ещё 2 канала АЦП . Они менее преоритетны , но они сильно мешают чёткому измерению в равные промежутки и сильно замедляют скорость работы одного важного канала. Меандр может формироваться до 20кгц , а измерять аналоговый сигнал нужно через равные интервалы времени и с максимально возможной частотой . Чем больше тем лучше . Например 16 семплов за период ШИМ . То есть этот 1 канал должен оцифровывать с частотой 320кГц . Мне видится вариант пдп + таймер . И все три канала оцифровывать с частотой в три раза выше требуемой . Но тогда сильно грузится шина , что приводит к замедлению работы другой периферии ..
  8. Добрый день уважаемые ! Необходимо решить одну задачу , максимально аппаратно : Нужно одним таймером формировать меандр , частота которого меняется в регистре предделителя . А вторым таймером на большей частоте в 8 - 16 раз нужно измерять сигнал и оцифровывать при помощи АЦП через DMA . Формирование меандра и точки измерения сигнала должны быть синхронизированы . Как это решить? Сейчас сделал программно так: в прерывании по переполнению таймера я инкрементирую переменную и когда она достигнет 8 - 16 , инвертирую бит для формирования меандра . Этим же таймером в связке с dma выполняется оцифровка сигнала на входе АЦП . Входов АЦП 3 , что дополнительно усложняет задачу.. Все было бы хорошо , но не устраивает великоватый джиттер меандра. диапазон частот формируемого меандра 500-22000Гц (чем выше тем лучше). Количество точек оцифровки тоже чем выше тем лучше . пример кода могу позже показать , когда свет появится ..
  9. Отпишусь тут о результатах знакомства с человеком. Очень адекватный и умный человек ! Я от него получил много работы , и сейчас получаю! Я рад что познакомился с Юрием ! Пс: прошу прощения , с телефона не могу нормально спойлер открыть , пришлось через скрытый текст , и то коряво вышло
  10. Я вообще не писал на асме ) только некоторые команды . Недавно для пика нужно было простой кусок кода написать. Был удивлен когда выяснилось что в среде микроси про. Код откомпилированный не работал в МК , а когда его же собрал в мплаб , все завелось. Что ещё интересно в протеусе работал и тот и другой код )) Есть подозрение что новые чипы от микрочип изменили внутреннюю структуру , что и привело к этому. Микроконтроллер pic18f1320.
  11. Нашел свой проект под PIC18F1320. Лови код: uint16_t ADC_read(void){ uint16_t adval=0; ADCON0 = 0x01; ADCON1 = 0xEE; ADCON2 = 0x1D; delay_ms(1); ADCON0 |= 0x02; while(ADCON0 == 0x02); adval = (ADRESH << 8) + ADRESL; return adval; } void PWM_set(uint16_t pwm_set) { uint16_t pwm_reg=0; uint16_t pwm_reg2=0; pwm_reg = pwm_set; pwm_reg2=pwm_reg<<6; pwm_reg2=pwm_reg2>>2; CCP1CON &= 0b11001100; CCP1CON |= pwm_reg2; CCPR1L=pwm_reg>>2; } Все очень просто ! Потом вот в вечном цикле мы подгружаем данные с АЦП в модуль ШИМ: while(1){ PWM_set((ADC_read()/80)); delay_ms(50); }
  12. Так я выше вам почти весь пример привел. PWM загружаете в регистр ШИМ , и все будет работать. Там есть нюанс : нужно маску накладывать на регистр и вычитывать только два бита . Потом эти два бита поместить в переменную 16бит и сдвинуть на 8. Второй регистр 8 бит просто скопировать в эту переменную , не трогая те два бита. Я точно не помню , но по моему это с АЦП такой прикол. Код тот дома в компе.
  13. Можно понизить разрядность ШИМ , тем самым получив большую частоту . Например сделать от 0 до 100 ШИМ , и также программно понизить разрядность АЦП . Например : uint32_t ADC = Adc_read(); PWM = ADC*100 / 1024; А вообще мелкие пики убогие в плане производительности ..
  14. Ну так вы путаете программный ШИМ с аппаратным . Аппаратный ШИМ будем работать!
  15. Конечно программный ШИМ работать не будет. Примените аппаратный .
  16. Да какой литр?! Я платы постоянно мою. 100мл. чистого спирта хватает на 3 месяца , а это плат 200 точно Я делаю отверстие в пробке , и получается хороший дозатор который экономит расход спирта .
  17. Я ему это ещё две страницы назад писал Видимо жалко литр спирта портить на такие мелочи )))
  18. Платы лучше сделать с питателем lm2621/2623 , и установив параллельно АКБ питать устройство . И также программно отключать питание при снижении напряжения до 3В . Также , средствами этого же МК можно заряжать эти АКБ . Поставив dc-dc MC33063 можно в пределах +9...+32В применять источник для зарядки АКБ . Пример: https://easyeda.com/Artos5/rs232-rs485
  19. Почти сделал Обработку аналоговых сигналов , и заодно получилось повысить быстродействие меню.
  20. Для Квазара не очень подходит . Лучше что-то с spi. Дело в том что чем больше задействует аналоговых входов , тем медленнее АЦП. Так как модуль АЦП в f100c8 один.
  21. Так если ставить акселерометр и гироскоп, то он будет по i2c и его нужно постоянно обрабатывать . Гораздо эффективнее задействовать аппаратный i2c.
  22. Так цос на МК , а остальные вещи на Плис . Но это справедливо для данного МК . Если взять другой МК , то ничего подобного не нужно . Да, это однозначно так . Поэтому , можно предусмотреть прицепной вариант , на диэлектрических крепежах. Но тут не хочется на такой связке делать даже . Нужно брать минимум stm32f105-107 , он к сожалению только с 64 пинов начинается . F100 в 48-ми пиновом корпусе в нынешнее время как то не серьезно для МД ). Реально куча ограничений . Даже тот же АЦП модуль один. Из-за того что опрашивать нужно три канала , нужно скорость повышать в три раза , или ещё ухищрения делать. От этого падает производительность ... В общем один гемор. Ещё программный i2c ... Это вообще капут. Зачем так делать?:) Он будет тормозить меню и т.д.
  23. DSP тоже есть + древний ARM7 от атмел . И Плис вроде была.
  24. В квазаре слабоват проц для хорошего дискрима . Все остальное он может выполнять на отлично . Тут нужно либо дорабатывать схему , либо делать уже не квазар )) ,и это будет уже совсем другое устройство. К примеру , сейчас можно применить stm32f407 , который сможет очень детализировано оцифровать и потом обработать данные. Но тут этого нет , и реализовать нельзя так как требуется совместимость с платой. Поэтому приходится довольствоваться тем что есть Вот я ремонтировал прибор x terra705, скажу очень качественная железка в плане мозгов! В нем реализована обработка на Плис + МК .
×
×
  • Создать...