Что бы еще такого сделать?... Предлагайте! Обсудим все!!!
Ответить

Реально ли зделать ШИМ из LPT?

Вс авг 20, 2006 03:57:48

Если да подкажите плиз...

Вс авг 20, 2006 22:31:52

вопрос - на какой частоте?
В принципе, почему бы и нет, можно ведь порт заставить дергать ногой по определенному закону.

Пн авг 21, 2006 00:11:04

Короче она мне нужна для управления электродвагателя!
Я написал прогу которая видаёт определённой частоты импулсы. Можно менять частоту, но при низких частотах двигатель работает ривками, а при высоких крутится медленно но мало силы! так как оно вообше работает ШИМ? Как выглядит графически? Тоетсть какие там импульсы? Я просто не понимаю как управляется двигатель на CDROM-е, который позиционирует лазер? У меня стоит на CDROM обычный двигатель не шаговы! Так как он так точно ходит? К стате я этот движок подключал к LPT через транзистор мп38 и резюк на базу с ножки LPT на 200 Ом.
Вот он и работет не понятно как:( на высоких медленно едет но не чётко и мало силы! А на низких пригает! :( Объясните как оно работет на CDROM-е какя там частота?
И ещё как можно с лпт получить разного рода импульсы? Там же просто или есть напряжение или нету? А форму как придать? Не врубаюсь, без дополнительных микросхем....

Пн авг 21, 2006 01:18:00

Значит так, я проверил какие импульсы выдаёт моя прога и вот что показал осцилограф.
Как я понел ШИМ импульсы должны быть прямоугольные! а у меня совсем другие:(
не знаю можно ли верить этой проге-осцилографу но она показала совсем не прямоугольные импульсы:(
Вот посмотрите jpg
Чем поможете?:)
Вложения
oscilo.gif
(18.56 KiB) Скачиваний: 755

Пн авг 21, 2006 03:50:37

Плохи дела :(
Я тут понаблюдал как работает порт.. и вот что обнаружил:
когда подаю лог.1 на порт, то на выходе получается странная штука.
В место того чтоб сразу возникало наприжение стабильное и пога не подаш лог.0 оно не дёргалось, на выходе получаю сначала резки скачок напряжения "+" и потом плавно опускается до определённого уровня и течет более ли мене стабильно! Но при подаче лог.0 происходит тоже самое только уже не "+" а "-" напряжение! При подаче лог.0 напряжение резко понижается до "-" yВольт и потом плавно поднимается до нуля!
Да! Очень странно и не приятно! смотрите рисунок там показано всё

Господа! Давайте договоримся схемы, графики и прочие чертежи, где используется не более 256 различных цветов и оттенков, паковать в ГИФ. Смари, твой график в JPG весил 37 кБ. Теперь он весит 3,7 кБ. Есть разница? А качество не ухудшилось ничуть! :)
Serega
Вложения
LPT.gif
(3.89 KiB) Скачиваний: 888

Вт авг 22, 2006 08:59:06

осциллограммы порта приведены для его работы в холостом режиме, или под нагрузкой?
ШИМ - это ШИРОТНО-импульсная модуляция, в этом случае, в отличие от ЧИМ, частота неизменна, а меняется скважность импульсов.
Двигатель от сидюка простым ШИМом не заведешь. там есть несколько обмоток, на них поочередно надо подавать сдвинутые по фазе импульсы...

Вт авг 22, 2006 13:55:41

Какие там несколько обмоток! Я же написал что двигатель не шаговый! А самый простойб от батарейки работает даже!
Я ещё написал что этот двигатель у меня крутится! И написал как он ведёт себа на разных частотах! Просто надо вниательнее читать...
А осцилограмма без нагрузки

Вт авг 22, 2006 18:17:41

В качестве осциллографа используется звуковая карта? Тогда понятно, почему так выглядят импульсы- отсутствует постояннотоковая составляющая, входа звуковой карты подключены через конденсаторы. Шим- модуляцию сделать очень просто- программно меняете длительность импульса.

Вт авг 22, 2006 22:54:06

при описанной работе двигателя можно смело считать, что он "не крутится".
А что с ним надо делать - я тоже уже написал.

Вт авг 22, 2006 23:09:45

Сэр Мурр писал(а):В качестве осциллографа используется звуковая карта? Тогда понятно, почему так выглядят импульсы- отсутствует постояннотоковая составляющая, входа звуковой карты подключены через конденсаторы. Шим- модуляцию сделать очень просто- программно меняете длительность импульса.


Менять длительность импульса? Это как?
вот пример проги:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
ButtonPin5;
end;

Так вот тут Timer1 задаёт длительность, но он делает это так: скажем если лог.1 длится 10мс то потом лог.0 длится тоже 10мс. Тоесть они должни длиться одинаковое время или разное? Скажем лог.1 должно длится 10мс а лог.0 5мс? Или как? Обясните пожалуйста! Если одинаковое время то так я и зделал и это не похоже на ШИМ:)

Да ещё, значит осйилограмма не правильная у меня рас я через Sound поключал?
И какя на самом деле она, осцилограмма? Не пилообразная значит?
Пожалуйста помогите понять:)

Ср авг 23, 2006 03:00:44

Вроде бы всё!

procedure TForm1.Timer1Timer(Sender: TObject);
var ms:integer;
begin
ms:=StrToInt(Edit3.Text);
Lpt.WritePort(LPT2, 0, 8);
Sleep(ms);
Lpt.WritePort(LPT2, 0, 0);
end;

LPT2 - это $378
0 - это регистры данных
8 - это... наверно понятно! :)

Скорость Timer1 можное менять ползунком от 1 до 1000мс, как и скорость задержки (sleep)! Оптимальной суоростю для Timer оказалось 50мс, а Sleep я меняю и тем самым регулирую скорость! Круто!
Это и есть ШИМ?
Не знаю что это но оно делает то что я хотел:)
Спасибо за помощ! особенно Сэр Мурр!!!! Вы направили меня на правильны путь, сказав что надо менять длительность импульса!

Реально ли сделать ШИМ из LPT?

Ср авг 23, 2006 05:58:31

Поздравляю с успешно решённой проблемой! :))
А импульсы на самом деле должны быть прямоугольными.

Ср авг 23, 2006 14:46:18

А они разве не прямоугольные?
Вы же сказали что осцилограмма не правильная потому что так на звуковхе через кандёр...?

Re: Реально ли сделать ШИМ из LPT?

Ср авг 23, 2006 19:16:20

Сэр Мурр писал(а): А импульсы на самом деле должны быть прямоугольными.

Так это на осциллографе с открытым входом, который показывает постояннотоковую составляющую. :wink:
ШИМ- это когда частота повторения импульсов постоянна, а меняется длительность импульса, иначе говоря- коэфф. заполнения импульса.

Re: Реально ли сделать ШИМ из LPT?

Чт авг 24, 2006 00:55:18

Сэр Мурр писал(а):
Сэр Мурр писал(а): А импульсы на самом деле должны быть прямоугольными.

Так это на осциллографе с открытым входом, который показывает постояннотоковую составляющую. :wink:
ШИМ- это когда частота повторения импульсов постоянна, а меняется длительность импульса, иначе говоря- коэфф. заполнения импульса.


Так это и делает моя прога:) Я люблю LPT порт и Object Pascal:) Да будет ШИМ:)
Простите за офтоп, но вы мне однажды помогли со схемой для двигателя... у меня маленькая проблема:( просмотрите плиз http://www.radiokot.ru/forum/viewtopic.php?t=1365

И огромное вам СПАСИБО!
Ответить