Duhas писал(а):не не не, это у меня так раньше было )
сейчас иначе. в общем как у меня получилось:
два канала таймера с комплементарными выходами подключены к драйверу моста, прямые выходы на верхние ключи, инверсные на нижние(если не изменяет память), в регистры сравнения каналов таймера записываются опять же комплементарные значения, т.е. есть на одном 1FF - на другом 000 (у меня получился диапазон 0-1FF). в итоге 000 и 1FF - максимальные ШИМ для разных направлений, а 100 - середина соответствующая нулевой ШИМ.
если на пальцах как оно в итоге работает:
допустим у нас задание ШИМ 1FF, то на одном канале в регистре сравнения 1FF, а на другом 000, таким образом первый канал включен весь период, второй выключен(или наоборот, не помню какой там уровень активен до и после совпадения), в общем значения различны и на одной "стойке" открыт верхний ключ, а на другой нижний. в обратном случае - наоборот.
в случае если задание 100, на другом, соответственно 0ff, то в первую половину периода - оба включены - и соответственно замыкают обе клеммы мотора на + линию, во второй половине - открыты оба нижних... лишь разница в такт может быть, и то ее можно погасить арифметикой.. ну и по скольку ШИМ в режиме phase correct - то это повторяется еще раз в обратном порядке ...
ну и промежуточное состояние - допустим задание 190, тогда в регистра - 190 и 06F, сначала в обеих "стойках" открыты верхние ключи, при достижении 06f закрывается верхний второй "стойки" и открывается нижний = ток потек через мотор слева на право, досчитал до 190 - переключились ключи первой "стойки" и мотор замкнут обоими клеммами на -, далее дойдя до вершины и вплоть до спуска до 190 клеммы мотора так и замкнуты на -.. опускаемся до 190 - переключаются ключи первой стойки - включается верхний ключ, опускаемся до 06f - переключаются ключи второй "стойки" и мотор теперь замкнут обоими клеммами снова на +...
Я вроде бы понял, но непонятно работает ли так в 4 квадрантах? как в оригинальной схеме?
Мой тест с разгоном и торможением можете провести? Сразу будет понятно.
Напомню, выясняем минимальное значение ШИМ при котором двигатель вращается, затем устанавливаем максимальное значение ШИМ и спустя какое то время резко сбрасываем до минимального значения, если скорость упадёт мгновенно и двигатель продолжит вращаться на минимальной скорости значит работает во всех 4 квадрантах. (никаких пид регуляторов быть не должно)
У меня один канал (два комплементарных сигнала) управляет одним H-мостом, 1в1 как в оригинальной схеме.
И по другому включить не получится, драйвер не позволяет.
В общем то удобно, два драйвера на одном таймере и ещё пара каналов таймера свободно,но при нулевом значении ШИМ у меня утюг.