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

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

Вобщем идея следующая: управление двумя каналами аппаратного шима с помощью энкодера, и вывод на индикатор величины заполнения в процентах. Но так как он "считается" до 255 естественно и на идикатор выводиться 255. Вопрос как сделать чтобы максимальное значение было 100?
Выкладываю исходник на Си.
Вложения
6.c
(4.31 КБ) 247 скачиваний
Контактная информация:
Реклама
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

раздели значение на 2,55 и получишь проценты :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

GP1 писал(а):раздели значение на 2,55 и получишь проценты :)))
Понятное дело...Только тогда один шаг энкодера не будет соответствовать одному проценту.
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

само сабой :)))
если надо что бы 1 имп. от энкодера = 1 % заполнения, тогда импульсы от ЭК умножай на 2,55
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Вы уж определитесь что хотите получить на индикаторе 100% или чтоб шаг был 1 имп=1%. И приращался только целочисленно.
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 84
Зарегистрирован: Вт ноя 25, 2008 18:56:41

Сообщение OBIVAN »

проще всего попеременно +2 +3 и чтоб совсем точно на каждом 20 шаге +1
Реклама
Опытный кот
Аватара пользователя
Сообщения: 703
Зарегистрирован: Вс янв 18, 2009 21:12:49

Сообщение asteroid7 »

ZUB писал(а):Понятное дело...Только тогда один шаг энкодера не будет соответствовать одному проценту.
Он и математически не будет соответствовать.

Вы определитесь, нужна пропорция или ШИМ считающий до 100.
Аппаратный ШИМ бывает 8-ми, 9-и, 10-и и т.д. битный. Т.е. считает соответственно до 255, 512, 1024 и т.д.
Хотите ШИМ до 100 - делайте программным со сбросом по переполнении или совпадении таймера.
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Можно табличный метод применить. А можно и программный ШИМ сделать, до 100.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

GP1 писал(а):само сабой :)))
если надо что бы 1 имп. от энкодера = 1 % заполнения, тогда импульсы от ЭК умножай на 2,55
Ага и число с плавающей точкой я буду заносить в OCR1))
Вобщем из всего написанного я понял, что данную задачу можно организовать только на програмном шим. жаль(
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

а чем табличный метод не устраивает, если не знаете как число до целого округлить?
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3961
Зарегистрирован: Пн июл 13, 2009 14:37:39
Откуда: Московская область, наукоград.....

Сообщение Meteor »

Автор толком сам не понял чего же ему надобно. Толи отображать толи заводить. Я б на месте автора разделил задачу на 2 ветки. На первой управлял ШИМом, а на второй - преобразовывал значение ШИМ в двоично-десятичный код размещаемый в 2-х байтах. Мелочь уж можно было бы просто отбрасывать, никто кроме автора не заметит подобного решения.
Контактная информация:
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

GP1 писал(а):а чем табличный метод не устраивает, если не знаете как число до целого округлить?
Если я буду округлять, то один процент не будет соответствовать значению напряжения на выходе. например один процент (2.55) я взял целую часть т.е 2 и занес в регистр шима, но ведь это не будет соответствовать одному проценту, да и с табличным методом то же самое. Поправьте пожалуйста если я что-то не так понимаю, потому, что я в этом деле новичок.
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

да, любое округление изначально подразумевает погрешность.
в вашем случае погрешность не превысит 1/4 процента.
это в 99% вполне достаточно, если только вы не пытаетесь изготовить супер-пупер прецизионный девайс.
для каких целей этот сигнал будет использоваться?
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

Meteor писал(а):Автор толком сам не понял чего же ему надобно. Толи отображать толи заводить. Я б на месте автора разделил задачу на 2 ветки. На первой управлял ШИМом, а на второй - преобразовывал значение ШИМ в двоично-десятичный код размещаемый в 2-х байтах. Мелочь уж можно было бы просто отбрасывать, никто кроме автора не заметит подобного решения.
Пожалуй так и сделаю. Чёрт с ней с этой точностью.
Контактная информация:
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

GP1 писал(а):да, любое округление изначально подразумевает погрешность.
в вашем случае погрешность не превысит 1/4 процента.
это в 99% вполне достаточно, если только вы не пытаетесь изготовить супер-пупер прецизионный девайс.
для каких целей этот сигнал будет использоваться?
Вобще планировал сделать блок питания, например подал через полевик 50Ви и шимом призакрыл на 50% на выходе 25. Да и действительно для таких целей не сильно то и нужна такая точность.
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

в догонку:
разрешающая способность вашего ШИМа изначально будет где-то +/-0.5%
5В/255=0.0196В
1%=0.05В
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
GP1
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2401
Зарегистрирован: Пт май 23, 2008 19:32:22
Откуда: Россия, Волгоград

Сообщение GP1 »

ZUB писал(а):... подал через полевик 50Ви и шимом призакрыл на 50% на выходе 25. ...
китайским мултиметром вы погрешность округления даже обнаружить не сможете :)))
Чем дальше, тем больше становлюсь занудой...
Изображение
Контактная информация:
ZUB
Открыл глаза
Сообщения: 66
Зарегистрирован: Пт сен 04, 2009 20:16:35
Откуда: Симферополь-Севастополь

Сообщение ZUB »

GP1 писал(а):
ZUB писал(а):... подал через полевик 50Ви и шимом призакрыл на 50% на выходе 25. ...
китайским мултиметром вы погрешность округления даже обнаружить не сможете :)))
:lol: )) не спорю
Контактная информация:
Мудрый кот
Аватара пользователя
Сообщения: 1708
Зарегистрирован: Ср апр 23, 2008 17:44:56
Откуда: Россия, г. Нижний Новгород

Сообщение sema »

в OCR0A можно в качестве вершины счета задать 100 (0h64) и аппаратно будет генерить ШИМ с разрешением 100.
по поводу источника питания, при подключениинагрузки напряжение будет уменьшаться от расчетного
абажаю мой KIA CEED [img]http://www.kolobok.us/smiles/madhouse/to_become_senile.gif[/img]
Пресекать нарушения закона мой долг и обязанность как гражданина моей страны
Контактная информация:
Мучитель микросхем
Аватара пользователя
Сообщения: 491
Зарегистрирован: Вс янв 07, 2007 01:45:48
Откуда: Российская Федерация, будь она неладна...

Сообщение Pooher »

Всё правильно. Без ОС не обойтись. Лучше по U. В 2313 это может быть не просто, АЦП то нет. Придётся мудрить или брать другой контроллер.
Научить нельзя, можно научиться. Пифагор.
Вставь недостающие буквы в слово *у*ня. Если у тебя получилось слово кухня, значит ты интеллигентный человек.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»