Ви не увійшли.
GENERATOR.zipПрошу помощи - при компиляции скетча пишет ошибка компиляции.
Перебрал все библиотеки , но не могу найти где ошибка .
Скрин прилагаю - может кто заметит где проблема.
Неактивний
Прошу помощи - при компиляции скетча пишет ошибка компиляции.
Для початку скопіюйте текст помилки і вставте у повідомлення текстом. Також бажано код вставити текстом, щоб було, зрозуміло де в коді який номер рядка.
Ще би бажано описати, яке призначення вашого коду, що ви намагаєтесь реалізувати.
Так більше шансів отримати допомогу.
Активний
Як би ви самі відповіли на ваше питання? Кинулися розпаковувати якісь архіви, встановлювати якісь бібліотеки.. Воно вам треба?
Сподіваюсь, намьок понятний?
ЗІ якщо текст помилки вставити в гуглопошук, можна отримати відповідь.
Это скетч для генератора на AD9850 c дисплеем OLED I2C
"exit status 1 ошибка компиляции для платы Arduino NANO"
больше ошибок не находит , было несколько но я нашел причину
GOOGLE- отвечает" Сообщение «exit status 1» при компиляции Arduino означает, что процесс компиляции завершился с ошибкой. Причин этому может быть огромное множество"
Далее- это появляется при проверке кода , значит порт и плата не подключена - но выбрана в инструментах правильно .
Как вставить код в тексте - подскажите
ссылка - https://github.com/sv1onw/VFO_9850_v4.3/blob/master/VFO_9850_v4.3.ino
вот что выходит:
Остання редакція vigor53 (2025-03-02 21:39:14)
Неактивний
"exit status 1 ошибка компиляции для платы Arduino NANO"
Ви користуєтесь Arduino IDE? Зайдіть у налаштування та увімкніть "Show verbose output during: compile". Я х.з. як воно в локалізованому варіанті, щось типу "Показывать подробный вывод при: компиляции".
Как вставить код в тексте - подскажите
Тег
[code]
[==C++==]
тут ваш код
[/code]
Активний
вот что выходит:https://forum.arduino.ua/img/members/373/oshibka-kompiljacii.png
Так схоже, що бібліотека з ADS9850 у вас не встановлена. Лінкер не знаходить, звідки брати ті функції. До компіляції це не має відношення.
Активний
Вывод при компиляции - включен , сейчас перепроверю ADS библиотеку.... Хотя - выпадала ощобка про "ADS9850.h"
я вставил файл который скачал с github - и она ушла .Проверю
Остання редакція vigor53 (2025-03-02 22:02:59)
Неактивний
як правило, коли бібліотека встановлена через менеджер бібліотек, всі необхідні файли копіюються куди треба.
Доброго всем здоровья!
Просветите пожалуйста строчка в коде что означает 4000000.0F#define resistorValue 4000000.0F // change this to whatever resistor value you are using
F - суфікс для константи типу float
https://en.wikipedia.org/wiki/C_data_types
Неактивний
Я что за величина ?
4 МОм
Ну так то дохрєніща. Виглядає як помилка.
Ну так то дохрєніща.
Ну так ні схеми ні коду. Хто його знає що то за резистор....
Це з Capacitance Meter Example - спроба вимірювати ємність за постійною часу.
Активний
1. Резисторів на 4 МОм не буває
2. To put it shortly, the ADC needs to see source impedance of 10 kilo-ohms or less for accurate results.
Якщо там в схемі немає операційного підсилювача - хз що воно там наміряє.
1. Резисторів на 4 МОм не буває
4.02 МОм, відхилення менше 1%. В ряді E48 можуть попадатись і практично точні 4 МОм.
Або 2×2 МОм послідовно.
2. To put it shortly, the ADC needs to see source impedance of 10 kilo-ohms or less for accurate results.
То трохи з іншої опери. Тут source - це сам конденсатор, його impedance в першому наближенні прямує до нуля. А вхідний опір піна у атмеги - порядка сотень МОм. Так що метод робочий, в межах точності таймера та АЦП.
Мене більше приколює, що вони привʼязались до рівня саме 63.2%, хоча можна брати будь-який поріг, наприклад 1/2.
Активний
Якщо не помиляюсь, adc там досить неочевидно влаштований, не схоже на ідеальний вимірювач напруги з безкінечним опором. А рівень порогу, скоріше за все, пов'язаний з тим що конденсатор розряджається не лінійно, чим далі, тим швидкість розряду менше і гірше точність.
Якщо не помиляюсь, adc там досить неочевидно влаштований, не схоже на ідеальний вимірювач напруги з безкінечним опором.
Ніякий практичний ADC не є ідеальним вимірювачем напруги з бескінечним опором. Там звичайний ADC послідовного наближення. Вимога до source impedance взята з даташиту, наприклад для Atmega328P в 23.6.1:
The ADC is optimized for analog signals with an output impedance of approximately 10kΩ or less. If such a source is used, the sampling time will be negligible. If a source with higher impedance is used, the sampling time will depend on how long time the source needs to charge the S/H capacitor, with can vary widely. The user is recommended to only use low impedance sources with slowly varying signals, since this minimizes the required charge transfer to the S/H capacitor.
S/H capacitor там намальований 14 pF, так що коли вимірювана ємність на пару порядків більше, то цей ефект практично не має впливати.
Взагалі замість АЦП можна було би і аналоговий компаратор використати.
А рівень порогу, скоріше за все, пов'язаний з тим що конденсатор розряджається не лінійно, чим далі, тим швидкість розряду менше і гірше точність.
Та впевнений, що вони тупо взяли визначення постійної часу і переписали формулу відносно C, не вникаючи, звідки ті 63.2% там взялись.
Остання редакція dimich (2025-03-08 01:35:13)
Активний
В тестері Маркуса, якщо не помиляюсь, резистор на порядок менший.
LC_Meter2_T.zipЗдравствуйте Уважаемые ! Извините сразу не мог отвечать...
Тестер LC взят из ютуба уже давно - но руки дошли только сейчас. Схема рабочая - прверил ...
только вот не совсем устраивает пределы показаний.
По поводу сопротивления - в одной из радакции скетча прописывется 1000000.0F - это правильно
Показания соответствуют реальности .
НО ! Менее чем 0.01 nf - прибор не меряет , после проб и ошибок нашел как умеьшть значения.
Только теперь есмкость "152" - он измеряет как 1-2 так и выдается на дисплей, то есть не 1,50
... А так прибор достаточно простой и надежный. Да вот еще - после некоторого времени работы
перестает измерять - приходтся перегружать, но это не критично.
Остання редакція vigor53 (2025-03-08 14:37:14)
Неактивний
По поводу сопротивления - в одной из радакции скетча прописывется 1000000.0F - это правильно
Показания соответствуют реальности .
НО ! Менее чем 0.01 nf - прибор не меряет
Так у вас час вимірюється з гранулярністю 1 мс. При опорі 1 МОм це відповідає ємності 1 нФ. Тобто якщо наміряли 1 мс, то ємність може бути десь від 0 до 2 нФ, якщо наміряли 2 мс, то ємність десь між 1 і 3 нФ.
Це якби в millis() не було джиттера. В 16МГц ардуіно millis() оновлюється з частотою ≈976 Гц, тобто спочатку відстає від реального, потім стрибком "наздоганяє". Крім того, час вимірювання АЦП також вносить похибку.
Такий метод дозволяє приблизно оцінити порядок величини ємності, але аж ніяк не вимірювати нанофаради.
после проб и ошибок нашел как умеьшть значения.
Збільшення опору резистора в 4 рази теоретично збільшує роздільну здатність в 4 рази. Але тільки теоретично. Дивіться коментар вище щодо sample and hold конденсатора в АЦП. Ні про які 0.01 нФ (10 пФ) не може бути мови.
Можна було би заміряти час за допомогою micros() із вимкненими перериваннями. Але все одно, на малих ємностях S/H конденсатор в АЦП уже впливатиме.
По-хорошому, потрібно використовувати capture event в TIMER1 і аналоговий компаратор.
Для великих ємностей, щоб не чекати кілька секунд, можна зробити магазин резисторів на різних пінах, і вмикати відповідний до діапазона.
А так прибор достаточно простой и надежный. Да вот еще - после некоторого времени работы
перестает измерять - приходтся перегружать, но это не критично.
Якась взаємовиключна характеристика Надійний прилад не перестає вимірювати після якогось часу роботи.
Щоби погратись і повчитись - звісно, ок. Якщо задача вимірювати ємності, то придбайте нормальний прилад.
Активний
Це точно один з варіантів тестера Маркуса (гуглиться, якщо що). Ми ж не очікуємо, що штука ціною в 4 бакси повністю еквівалентна штуці за 400 баксів?