Привет всем! Заказ на скетч. Основной алгоритм: По фронту или спаду (должно меняться программно в зависимости от применяемого типа датчика: прямой\инверсный) приходящего на дискретный вход Ардуино UNO импульса должен появляться прямоугольный импульс на дискретном выходе, длительность которого зависит от напряжения на аналоговом входе (от движка потенциометра). Диапазон рабочей частоты 20-100 Гц. Зависимость линейная, но диапазон длительности выходного импульса начинается не от нуля, и положения потенциометра могут быть не крайними. В принципе, рабочая область является отрезком прямой y=kx+b, область значений отрезка ограничена, при выходе за пределы присваивается граничное значение (типа constrain, если не ошибаюсь). y=kx+b, где y- длительность выходного импульса, мсек (ориентировочно от 2 до 10) k- коэффициент угла наклона x- напряжение на аналоговом входе (ориентировочно от 0,5 до 4,8 Вольт) b- коэффициент Дополнительно двумя отдельными переключателями (подают логическую единицу на дискретные входы) можно менять заранее прописанные в программе значения коэффициента k. Например: не включены- начальный коэффициент, включили один переключатель- коэффициент увеличился на 5%, включили второй и выключили первый- увеличился на 10%, включили оба- уменьшился на 5% от начального (конкретные цифры будут подбираться при наладке). Дополнительные функции: При отсутствии входных импульсов более 3 секунд, на одном из свободных дискретных выходов должен установиться уровень логического нуля, при наличии импульсов, возобновлении импульсов и первые 5 секунд после подачи питания, всегда единица (выход на ключ MOSFET). Дополнительные требования: Корректировка должна осуществляться вводом понятных цифровых значений в программный код без выполнения каких либо калибровочных запоминающих действий. Возможность замены уравнения. Инструкция и подробное пошаговое описание скетча для понимания пользователем низкого уровня. Требуется простое решение без всяких прерываний, запоминаний, ожиданий или еще чего для стабильной и безглюковой работы. Цена вопроса и нужно ли будет менять скетч для использования на Ардуино Нано?
находится в противоречии с Впрочем, если реализация на arduino ide - принципиальное требование, то могу сделать и на аrduino ide. Пишите ydom@mail.ru решим вопрос.
Немного уточню: По фронту приходящего на дискретный вход Ардуино UNO импульса должен появляться прямоугольный импульс на дискретном выходе, длительность которого зависит от напряжения на аналоговом входе. Диапазон рабочей Частоты 20-100 Гц. Рабочая область является отрезком прямой y=6x+2000 (коэффициенты могут меняться при наладке). Область значений отрезка ограничена, при выходе за пределы присваивается граничное значение (пока изначально Y не может быть менее 2000 и более 10000 мксек, но понадобится корректировка при наладке). x- напряжение на аналоговом входе ориентировочно от 100 до 980 (от 0,5 до 4,8 Вольт), но тоже может понадобиться корректировка). Дополнительные функции: 1. Подачей высокого уровня на один из дискретных входов, коэффициент при Х меняется с 6 на другой (таких входов надо парочку для наглядности экспериментов при наладке). 2. При отсутствии входных импульсов более 5 секунд, на одном из дискретных выходов должен установиться уровень логического нуля, при наличии импульсов, возобновлении импульсов и первые 5 секунд после подачи питания, всегда единица (выход на ключ MOSFET). Подробное пошаговое описание скетча для понимания при сборке схемы и наладке (распиновка, смена коэффициентов, границы значений, замена уравнения). Нужен только скетч. Планируемый бюджет 2000 рублей.
Есть таксисты аэропортовские и есть те, с которыми люди реально ездят, так что не отвлекайтесь, а то очередной рейс прозеваете.) И не бюджет, а планируемый бюджет, который кстати больше средней зарплаты по нашему региону за один рабочий день. Или Вам неделя потребуется на такую программулину?
Работы тут на час или два, как пойдет. Настраивается прерывание по таймеру и один регистр регулируется в зависимости от аналогового сигнала. Ну, плюс дополнительные хотелки, еще минут 10. Больше времени уйдет на тестирование и настройку, корректировку как вы ее называете. Причем, все равно придется это делать вам, так как подгонять нужно под конкретный потенциометр, да и у того показания будут плавать на несколько единиц даже если его не трогать.
Я поэтому и прошу описание, чтобы самому оптимальный режим коэффициентами подобрать, возможно даже уравнение заменить придется. Плавание показаний на несколько единиц не существенно. Мне просто нужен скетч и понимание, как он работает. Железо, сборку и наладку буду делать сам.
Частота на входе постоянно меняется, и выходной импульс должен всегда появляться по фронту входного без пропусков, плюс/минус небольшое время на обработку. Прерывание по таймеру где не читал, не пойму, как работает, и кто там кого ждет, т.е. не ясен ход выполнения.
По таймеру прерывание может осуществляться двумя путями: по сравнению, когда значение специального регистра сравняется с регистром счетчика и по переполнению, когда регистр счетчика перевалит через максимум. По результатам разницы никакой, кому что нравится больше. Мне - первый вариант. Давайте может сделаю, если никто не взялся еще. Просто не могу обещать сверхскорость, так как: