Страница 1 из 2

Индикация коэффициента заполнения ШИМ

Добавлено: Пт сен 04, 2009 20:23:44
ZUB
Вобщем идея следующая: управление двумя каналами аппаратного шима с помощью энкодера, и вывод на индикатор величины заполнения в процентах. Но так как он "считается" до 255 естественно и на идикатор выводиться 255. Вопрос как сделать чтобы максимальное значение было 100?
Выкладываю исходник на Си.

Добавлено: Пт сен 04, 2009 20:59:05
GP1
раздели значение на 2,55 и получишь проценты :)))

Добавлено: Пт сен 04, 2009 21:05:30
ZUB
GP1 писал(а):раздели значение на 2,55 и получишь проценты :)))
Понятное дело...Только тогда один шаг энкодера не будет соответствовать одному проценту.

Добавлено: Пт сен 04, 2009 21:10:12
GP1
само сабой :)))
если надо что бы 1 имп. от энкодера = 1 % заполнения, тогда импульсы от ЭК умножай на 2,55

Добавлено: Пт сен 04, 2009 21:18:14
Meteor
Вы уж определитесь что хотите получить на индикаторе 100% или чтоб шаг был 1 имп=1%. И приращался только целочисленно.

Добавлено: Пт сен 04, 2009 21:20:54
OBIVAN
проще всего попеременно +2 +3 и чтоб совсем точно на каждом 20 шаге +1

Добавлено: Пт сен 04, 2009 21:23:40
asteroid7
ZUB писал(а):Понятное дело...Только тогда один шаг энкодера не будет соответствовать одному проценту.
Он и математически не будет соответствовать.

Вы определитесь, нужна пропорция или ШИМ считающий до 100.
Аппаратный ШИМ бывает 8-ми, 9-и, 10-и и т.д. битный. Т.е. считает соответственно до 255, 512, 1024 и т.д.
Хотите ШИМ до 100 - делайте программным со сбросом по переполнении или совпадении таймера.

Добавлено: Пт сен 04, 2009 21:27:58
Pooher
Можно табличный метод применить. А можно и программный ШИМ сделать, до 100.

Добавлено: Пт сен 04, 2009 22:02:45
ZUB
GP1 писал(а):само сабой :)))
если надо что бы 1 имп. от энкодера = 1 % заполнения, тогда импульсы от ЭК умножай на 2,55
Ага и число с плавающей точкой я буду заносить в OCR1))
Вобщем из всего написанного я понял, что данную задачу можно организовать только на програмном шим. жаль(

Добавлено: Пт сен 04, 2009 22:19:57
GP1
а чем табличный метод не устраивает, если не знаете как число до целого округлить?

Добавлено: Пт сен 04, 2009 22:33:13
Meteor
Автор толком сам не понял чего же ему надобно. Толи отображать толи заводить. Я б на месте автора разделил задачу на 2 ветки. На первой управлял ШИМом, а на второй - преобразовывал значение ШИМ в двоично-десятичный код размещаемый в 2-х байтах. Мелочь уж можно было бы просто отбрасывать, никто кроме автора не заметит подобного решения.

Добавлено: Пт сен 04, 2009 22:52:08
ZUB
GP1 писал(а):а чем табличный метод не устраивает, если не знаете как число до целого округлить?
Если я буду округлять, то один процент не будет соответствовать значению напряжения на выходе. например один процент (2.55) я взял целую часть т.е 2 и занес в регистр шима, но ведь это не будет соответствовать одному проценту, да и с табличным методом то же самое. Поправьте пожалуйста если я что-то не так понимаю, потому, что я в этом деле новичок.

Добавлено: Пт сен 04, 2009 23:04:57
GP1
да, любое округление изначально подразумевает погрешность.
в вашем случае погрешность не превысит 1/4 процента.
это в 99% вполне достаточно, если только вы не пытаетесь изготовить супер-пупер прецизионный девайс.
для каких целей этот сигнал будет использоваться?

Добавлено: Пт сен 04, 2009 23:07:21
ZUB
Meteor писал(а):Автор толком сам не понял чего же ему надобно. Толи отображать толи заводить. Я б на месте автора разделил задачу на 2 ветки. На первой управлял ШИМом, а на второй - преобразовывал значение ШИМ в двоично-десятичный код размещаемый в 2-х байтах. Мелочь уж можно было бы просто отбрасывать, никто кроме автора не заметит подобного решения.
Пожалуй так и сделаю. Чёрт с ней с этой точностью.

Добавлено: Пт сен 04, 2009 23:12:20
ZUB
GP1 писал(а):да, любое округление изначально подразумевает погрешность.
в вашем случае погрешность не превысит 1/4 процента.
это в 99% вполне достаточно, если только вы не пытаетесь изготовить супер-пупер прецизионный девайс.
для каких целей этот сигнал будет использоваться?
Вобще планировал сделать блок питания, например подал через полевик 50Ви и шимом призакрыл на 50% на выходе 25. Да и действительно для таких целей не сильно то и нужна такая точность.

Добавлено: Пт сен 04, 2009 23:19:13
GP1
в догонку:
разрешающая способность вашего ШИМа изначально будет где-то +/-0.5%
5В/255=0.0196В
1%=0.05В

Добавлено: Пт сен 04, 2009 23:22:11
GP1
ZUB писал(а):... подал через полевик 50Ви и шимом призакрыл на 50% на выходе 25. ...
китайским мултиметром вы погрешность округления даже обнаружить не сможете :)))

Добавлено: Пт сен 04, 2009 23:41:14
ZUB
GP1 писал(а):
ZUB писал(а):... подал через полевик 50Ви и шимом призакрыл на 50% на выходе 25. ...
китайским мултиметром вы погрешность округления даже обнаружить не сможете :)))
:lol: )) не спорю

Добавлено: Сб сен 05, 2009 10:23:38
sema
в OCR0A можно в качестве вершины счета задать 100 (0h64) и аппаратно будет генерить ШИМ с разрешением 100.
по поводу источника питания, при подключениинагрузки напряжение будет уменьшаться от расчетного

Добавлено: Сб сен 05, 2009 10:51:58
Pooher
Всё правильно. Без ОС не обойтись. Лучше по U. В 2313 это может быть не просто, АЦП то нет. Придётся мудрить или брать другой контроллер.