Управление шим ручкой газа с датчиком холла. Прошу помощи!
- Войдите на сайт для отправки комментариев
Чт, 06/02/2020 - 15:01
Попался мне на работе китайский шим регулятор для коллекторного двигателя с умершим контроллером, решил его для себя оживить с помощью arduino nano. Написал небольшой скетч для управления шим с помощью потенциометра - плата ожила для моих целей функции свои выполняет, но с одной оговоркой - хочется управлять ШИМом с ручки газа от электровелосипеда, а с нее на оналоговый вход постоянно приходит примерно 1 вольт - сама ардуинка видит уровень 176-180. Подскажите как задать условный минимум для начала генерации импульсов?
void loop (){
pwm = analogRead(0); // А0
pwm = map(pwm, -50, 1023, 0, 255); //
pwm = constrain(pwm, 0, 255); //
analogWrite(3, pwm);
а -50 тута нахуа?
а с нее на оналоговый вход постоянно...
опятЪ ойфоны?
По теме: сдвинь 1023 вправо два раза, будет 255. Сделай таблицу из значений 0-255=соответствие ШИМ. Всё.
а 50 тут случайно - 0, 1023, у меня
и код скетча )))
спасибо, значит не все я понял из того что причитал. прям как аудио самоучитель по китайскому - первые три урока прям песня, а дальше начинают шпарить сложными предложениями. :)
По теме: сдвинь 1023 вправо два раза, будет 255. Сделай таблицу из значений 0-255=соответствие ШИМ. Всё.
что-то я не понял, зачем тут еще таблицы, если значения АЦП уже сдвинуты в диапазон 0-255
точно, таблицы то зачем?
В таких устройствах график "кручения" ручки и выходная характеристика ШИМ не является линейной. Как правило выходная характеристика очень похожа на экспоненту, т.о. начало у "ручки" плавное с быстрым приращением в области >50% . Поэтому в блоках управления (ЭБУ) находятся даже по нескольку таких таблиц, в зависимости от "навороченности" блока. В вашем случае можно "сдурдуинить" - я не возражаю.
Блок был совсем не навороченный, с потенциометра на аналоговый вход контроллера приходил управляющий сигнал, а с контроллера почему-то через ne555 уже жарил ШИМ. С ручкой на датчике холла вел себя так-же, как сейчас на ардуинке (подаём питание и двигатель стартует - дальше с ручки скорость вращения поднимается до максимума и понижается, но полностью не останавливается), ввиду того что график на выходе больше похож на пораболу линейности и не ожидалось. Хочется сделать плавную регулировку от стоячего мотора до максимума и обратно до полной остановки.