Страница 1 из 1
Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 18 май 2020, 15:07
AndrejK
Здравствуйте. Проблема:Симметричный с OnVal и несимметричный с константами работают, а вот несимметричный с OnVal и OffVal не работает.
Подскажите, что не так. Спасибо.
Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 18 май 2020, 21:42
AndrejK
Поменял "Poligon" на "Scale". При изменении значения после энкодера, на выходе "Scale" L1 и L2 число изменяется правильным образом. Но сигнал на 7 выходе, снятый осциллографом, неправильный. Длина паузы изменяется, а длина импульса на всем протяжении изменения переменной с энкодера - нет.
Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 18 май 2020, 22:03
Ingwar
Есть две проблемы...
Скале для паузы у Вас 57000 на выходе, а int от -32767 до 32767 по умолчанию.
Ну и самое главное - время выполнения всей программы должно быть меньше времени, желаемой длительности импульса.
Отправлено спустя 3 минуты 43 секунды:
Добавьте в программу схему, которая будет менять состояние тестового выхода в каждом цикле. Посмотрите сигнал осликом, взгрусните

и начинайте оптимизировать...
Отправлено спустя 3 минуты 37 секунд:
Или попробуйте более быстрый контроллер.
Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 18 май 2020, 22:12
rw6cm
[ref]AndrejK[/ref], С UARTом о микросекундах можно забыть, а Вы его еще в каждом цикле забубенили ))
[spoiler]
2020_05_18_22_03_03_Отправка_в_UART.png
[/spoiler]
Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 19 май 2020, 06:58
AndrejK
В скетче int я не нашел. Есть long и unsigned long. Подозреваю, что программа заменила. Тем более, что с паузой проблем нету.
Отправлено спустя 52 секунды:
...5 мин.
Отправлено спустя 13 минут 17 секунд:
Без УАРТ заработала. Всем спасибо. Значит буду мучить ESP32
Отправлено спустя 8 часов 28 минут 46 секунд:
Предполагаю, что стоит вернуться к проекту с участием блока "Poligon", потому как, с блоком "Poligon" счетчик не работает, даже с переделанным в "Poligon"е int.
Осциллограмма относится к сообщению: Без УАРТ заработала. Всем спасибо. Значит буду мучить ESP32

Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 19 май 2020, 09:28
Sancho
[ref]AndrejK[/ref], давайте оптимизируем Ваш проект.
Для начала определимся - выход 9:1, я так понял по полигонам.
Чтобы полигоны не "инвертировали" направление вращения, поменять пины энкодера в блоке, 2 и 3, наоборот.
Выход с энкодера умножить на 9 - получим время паузы.
Что-бы не высчитывать всё в каждом цикле, написать свой или взять блок энкодера от pan, дописать в него всю математику и пользовать.
Для особо ответственных случаев использовать аппаратный таймер - будет работать uart.
Как-то так.
Не работает несимметричный мультивибратор с OnVal и OffVal
Добавлено: 19 май 2020, 15:39
AndrejK
Дело в том, что выход 9:1 не есть константа. Это я так, грубо эмитирую работу индуктивного датчика дома на столе. Вижу, что Нано не потянет. Первый раз взял в руки ESP8266 ESP-12E. Blink из примеров грузится и выполняется, а вот скетч из #5, без энкодера с входной константой 500 на полигоны грузится, но после загрузки, модуль в постоянном ресете.