РЕШЕНО Помогите поправить код

Тема в разделе "Флудилка", создана пользователем Ariadna-on-Line, 16 апр 2025.

  1. ИгорьК

    ИгорьК Гуру

    А кто тут и что выдумал новое?
     
  2. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Проверил (операциями << >> ) сколько бит дрыгается. Оказалось аж 6. Подключил 220мкФ к референсу - Стало - 3. Так что насчет бесполезности аппаратных фильтров был неправ. Стало возможно делать шаг установки 10 единиц. Так что задача почти решена. Теперь можно мудрить с программными фильтрами.
    Всех с праздником Святой Пасхи !!!
     
  3. Asper Daffy

    Asper Daffy Иксперд

    Совершенно не так. Есть принципиальная разница. Закон Мэрфи, он о девиациях, т.е. о тех ситуациях, когда что-то идет неправильно («Anything that can go wrong will go wrong»). Ошибки же в программах = это не девиация, а норма, т.е. здесь всё идёт правильно - никакого «wrong».
    Это много. Этот АЦП способен выдавать два и этого надо добиваться до фильтров. Проверьте, всё ли Вы сделали из перечисленного, если чего-то нет, сделайте и не успокаивайтесь, пока не получите 10 бит стабильных и только два гуляющих.
    1. Фильтрующие конденсаторы по питанию (цифровому - Vcc)
    2. Дроссель и конденсатор в цепи аналогового питания (AVcc)
    3. Конденсатор на пине Aref
    4. Запуск АЦП в режиме подавления шумов (Noise Reduction)
    Если всё это сделать аккуратно, то гулять будут только два младших бита. Их можно либо игнорировать, либо давить фильтром.
     
    Ariadna-on-Line нравится это.
  4. parovoZZ

    parovoZZ Гуру

    к этому выводу надо цеплять ВЧ керамику, а не НЧ электролиты с монструозными емкостями
    в дурине это невозможно

    последний бит - это всегда шум. Предпоследний бит - это нелинейность преобразования. Её можно скомпенсировать, но проще переключиться в восьми битный режим.
     
  5. Asper Daffy

    Asper Daffy Иксперд

    Поспорить решили? Не надо. Лучше расскажите это авторам даташита на 328p, а то мужики-то и не знают :(
    Вы про какой МК говорите? Или праздник хорошо отметили?
     
  6. parovoZZ

    parovoZZ Гуру

    И какой же инструкцией на языке вайринг такое осуществляется?
     
  7. parovoZZ

    parovoZZ Гуру

    Про всю линейку avr с ядром mega.
    В xmega вроде тоже встречается, в серии da так точно.
     
  8. Asper Daffy

    Asper Daffy Иксперд

    Это Вам виднее, я ничего не знаю о существовании языка вайринг.
     
  9. Ariadna-on-Line

    Ariadna-on-Line Гуру

    Ну переключим на 8-разрядный АЦП - исчезнут bit8, bit9. Но bit0, bit1 - так и будут дрыгаться. Или вы предлагаете каждую 10-разрядную оцифровку сдвигать вправо на 2 бита, отправляя в небытиё дрыгливые биты ?
     
    Последнее редактирование: 21 апр 2025
  10. Asper Daffy

    Asper Daffy Иксперд

    То, что он называет "переключением" это и есть примерно то, что Вы написали - просто игнорирование младших битов (всё сдвигается влево, чтобы заполнить старший байт, а два младших бита пропадают).

    Так что это можно делать, но, для начала, надо добиться, чтобы дрыгались только младших два бита, а не три как у Вас. Как этого добиться я написал выше.
     
    Последнее редактирование: 21 апр 2025
    Ariadna-on-Line нравится это.
  11. ИгорьК

    ИгорьК Гуру

    Так проблемы множатся (умножаются), а не биты игнорируются, ИМХО.
     
  12. parovoZZ

    parovoZZ Гуру

    нет. Отвалятся младшие (шумящие) биты. Где-то на breadboard я показывал работу аж с двумя потенциометрами на какой-то тиньке (у неё даже выхода aref наружу нет, не говоря уж про отдельное аналоговое питание), но с грамотной организацией процесса. Никакого дрожания нет.
    Мало того, всё на той же тиньке я здесь выкладывал осциллограммы оцифровки звука с микрофона. Никаких шумов и в помине нет.
    вайринг - это и есть дурина. А в ней нет ничего, кроме АЦП.read. Поэтому я и пишу, что на дурине гибко работать с АЦП не получится. А если код пишется на обращениях к регистрам, то на кой чёрт эта дурина с её бесполезным кодом почти на килобайт?
     
  13. Asper Daffy

    Asper Daffy Иксперд

    Я не знаю в чём у Вас проблемы, ADLAR - штатное средств, которое производитель чипа рекомендует использовать, когда 8-битов достаточно. В регистре ADMUX для этого специальный конфигурационный бит есть. Но, если этот бит создаёт кому-то проблемы, то да, лучше не пользоваться.
     
  14. Asper Daffy

    Asper Daffy Иксперд

    Ну, может он и дурина, но не язык - точно. Хотя, Вам виднее. Мне это неинтересно, так что давайте заканчивать.
     
  15. Bott

    Bott Гик

    Не,не,не! Продолжайте господа! Какой чюдесный флуд!
     
  16. Asper Daffy

    Asper Daffy Иксперд

    $19.99US за сообщение, устроит? Тогда можно и продолжить.
     
    Ariadna-on-Line нравится это.
  17. Bott

    Bott Гик

    Продолжайте!Сдачи ненадо!
    [​IMG]
     
  18. parovoZZ

    parovoZZ Гуру

    Понятия не имею. Но производитель утверждает, что
    Написано в первом абзаце здесь:
    https://www.arduino.cc/en/Guide/Introduction/
     
  19. Asper Daffy

    Asper Daffy Иксперд

    Мне пох в каком абзаце написан этот бред.
     
    DetSimen нравится это.