Здравствуйте Уважаемые форумчане.
Тестирование ШД с ULN2003 показало свою не эффективность, так как мотор греется примерно раза в 2 больше, чем с драйвером L298N.
По мере того как проект приближается к своему завершению, у меня появился ещё один не моловажный вопрос ( думаю отдельную тему создавать не придётся).
На форуме самогонщиков подсмотрел решение, но они там пользуются С++, а я в этом пока ВООБЩЕ не могу разобраться. Процитирую:
Частота электросети - это полный цикл колебаний за секунду времени. Секунда - 1000 мс, 1000/50 - время полного периода, следовательно полупериод равен 10 мс, следовательно именно с таким минимальным интервалом можно управлять тэном. Но это минимальный интервал и на мой взгляд незачем так часто дергать ТЭН. Интервалы 200-900 мс очень даже приемлемы. Если выделить отдельно с шагом 100 мс 7 значений на нагрев и столько же на паузы, то получится 49 вариантов нагрева.
Определим режимы работы тена по увеличению соотношения нагрев/пауза, больше соотношение - больше нагрев:
2/5=0.4
3/7=0.43
2/4=0.5
4/7=0.57
3/5=0.6
2/3=0.6(6)333331
3/4=0.75
4/5=0.8
2/2=1
4/3=1.3(3)
3/2=1.5
4/2=2
Составляем два массива соответствия значения нагрева/паузы к величине режима нагрева:
WarmUp {2,3,2,4,3,2,3,4,2,4,3,4}
WarmDown {5,7,4,7,5,3,4,5,2,3,2,2}
Время нагрева/паузы в программе будем получать так:
Если tU - время нагрева, tD - время паузы, а WarmMode - режим нагрева ( значение от 0 до 11):
tU=WarmUp[WarmMode]
tD= WarmDown[WarmMode]
Помогите пожалуйста это решение применить в FLProg. Я знаю, что здесь нужны блоки компаратора, генератора и т.п. С этим проблем нет, а вот эти цифры
2/5=0.4
3/7=0.43
2/4=0.5
4/7=0.57
3/5=0.6
2/3=0.6(6)333331
3/4=0.75
4/5=0.8
2/2=1
4/3=1.3(3)
3/2=1.5
4/2=2
Составляем два массива соответствия значения нагрева/паузы к величине режима нагрева:
WarmUp {2,3,2,4,3,2,3,4,2,4,3,4}
WarmDown {5,7,4,7,5,3,4,5,2,3,2,2}
это соотношение в блоке генератора, но в чём, в каких единицах (микросекунды,миллисекунды или же секунды)?