Перейти к содержанию
    

Gogan

Участник
  • Постов

    83
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Gogan


  1. сделал вот это

    но оно не работает, что не так

    А как ты проверяешь работоспособность? Если ты подаешь 1 на один вход и ждешь что двигатель будет вращаться, тогда это не правильно. Потому что бутстрепный конденсатор (у тебя 22мкФ) верхнего плеча разрядится на затвор транзистора (если это ижбт) и транзистор закроется. Попробуй подавать именно шим, причем скважность 100% не должна быть, максимум 95 или больше/меньшне, определить опытным путем, смотреть осциллографом напряжение на этом конденсаторе и медленно увеличивать ШИМ.

  2. а так лучше?

     

    while((TIFR1 & (1<<TOV1))&(i<240))

    Тут ошибка, нужно while((TIFR1 & (1<<TOV1))&&(i<240)) (второе И логическое а не побитное)

    Вобщем, если ничего более выполнять не нужно, либо оно выполняется в других прерываниях, тогда ваш вариант решения сойдет, да и проще чем через прерывания.

  3. while(TIFR1 & (1<<TOV1))

    я бы это заменил на if, так как при первом же проходе устанавливается регистр так, чтобы след. раз условие не выполнялось... и наглядней.

    Хотя не понятно зачем считывать флаг прерываний вместо того, чтобы использовать само прерывание.

    Можно либо разрешить прерывание по переполнению и в нем выполнять

    TCNT1H = 0xF8;

    TCNT1L = 0x5F;

    i++;

    PORTA^=0b00000100;

    где i должна быть глобальной

    либо запустить режим сброса таймера по сравнению (CTC mode), чтобы он считал от 0 до сравнения (например до OCR1A=0xFFFF - 0xF85F=0x7A0), затем в прерывании по сравнению делать тоже кроме обновления счетчика.

  4. Я так понимаю дросель для уменьшения пульсаций тока, но он должен быть 12А?

    Все верно, на 12А или больше. Дросель выбирать исходя из требований пульсации тока, создаваемых помех, шума (если частота шим в звуковом диапазоне).

    Дело в том, что для уменьшения потерь я иногда занижаю частоту шим до 8 или даже до 4 кГц, а чтобы уменьшить пульсации - ставлю дроссель... нужно смотреть постоянную времени L/R с учетом сопротивлений ключей и т.д.

    Если требования не жесткие, тогда долой дроссель, частота побольше, ключи с запасом и гоняй :yeah:

  5. Но какую элементную базу использовать???

    Какие ключи подойдут?

     

    Хочется 10 бит 32 кГц ШИМ, достаточно ли этого для вышеописанного управления.

    Я бы сделал так: 220В, обычный мост (25 либо 50А), емкость, 4 транзистора IGBT например IRG4BC30KD (GEN4 ULTFST 600V 31A IGBT 10-75 kHz TO-247AC) по ~2$, причем максимальная скважность ШИМ 40% для 120В, два драйвера для них ir2101, оптроны подобрать быстрые для гальванической развязки (по входу драйвера) если нужно. Последовательно с якорем двигателя - дросель порядка 2мГн (без емкостей!).

  6. У двигателей с ПЯ низкая индуктивность

    Что означает "с ПЯ"?

     

    Механическая характеристика ДПТ.

    Эти характеристики - для включения доп. сопротивления в цепи якоря. Для шим - будут параллельные характеристики.

     

    Решение - звено постоянного тока - далее 2 варианта

    1. управляемый мост (инвертор).

    2. один транзистор, а направление менять с помощью реле - тут уже смотреть - что дешевле и часто ли нужно реверсировать. Управлять с помощью ШИМ, чем больше индуктивность обмотки якоря, тем меньшую частоту ШИМ можно выбрать.

  7. Зря так думаете.

    ...

    например, контактор будет иметь ресурс 20 лет при трехсменной работе.

    Согласен. Тогда оставляем этот вариант. Я не знаю цены на хорошие пускатели/контакторы, только что открыл пару ссылок, немецкий контактора на 40А порядка 100$, получится дороже чем на симисторах/тиристорах, но зато дубовый вариант, и схема управления проще.

  8. ну..ну...и как вы будете проектировать управляемый выпрямитель на тиристорах...говорите...мне интересно...

    ...

    ...ибо на примере мальЧега...ступившего и не знающего того что проц может зависнуть...и что...высыпался тиристорный модуль...это что опыт...это что знания...знания того что такое критические секции в программе....в ПРОГРАММЕ...с большой буквы...а не НАПИСАЛ ПРОГРАМКУ...и требует исчо денег....писатели блин...

    Согласен со всем, что вы сказали! Но все-равно, не интересно. Сейчас - да, я уже знаю, что не простое дело управляемый выпрямитель на тиристорах и т.д., но без опыта, который я уже получил, я бы этого не знал, я бы не пошел к вам работать. Ремонт оборудования для меня - это сидишь с огромнейшей схемой устройства, платой, и тестером тыкаешься - проверяешь где что вылетело. А если сгорело не в силовой части, тогда еще и включаешь, и опять же тестером либо осциллографом. Ужас :)

     

    итак...ищем толкового парня...поможем стать на ноги...если ТЫ на ТЫ с паяльником....звони...приходи...у меня для тебя приготовлен целый атракцион кровавых развлечений...

    вот так интересней!

  9. А то, что хотелось сделать, следует записывать как

    a + ( b << 8 );

    Ухты, был уверен что приоритеты по другому стоят. Спасибо за разъяснение!

     

    p.s. Не понимаю, как можно пользоваться компилятором, настолько не соответствующим стандарту...

    Или он позиционируется как "компилятор С-подобного языка программирования" ???

     

    Вот из хелпа:

    It is important to note that if the Project|Configure|C Compiler|Code Generation|Promote char to int option isn't checked or the #pragma promotechar+ isn't used, the char, respectively unsigned char, type operands are not automatically promoted to int , respectively unsigned int, as in compilers targeted for 16 or 32 bit CPUs.

     

    This helps writing more size and speed efficient code for an 8 bit CPU like the AVR.

     

    To prevent overflow on 8 bit addition or multiplication, casting may be required.

     

    The compiler issues warnings in these situations.

    Т.е. опцию привидения к int можно включить (это я уже потом понял). Я пишу я для 8-битного авр...

  10. А что МОП транзистор туда вообще нельзя применить?

    Можно, только так не делают. Чтобы поставить моп - нужно выпрямить напряжение, затем ставить транзистор (скорее всего придеться набирать их много в параллель), причем на такой ток и напряжение - будет дороже симистора. Если транзистор. тогда уже не моп, а IGBT либо мощный биполярный (если есть такие мощности), у них потери пропорциональны току, тогда как в моп-ах - квадрату тока.

    Интересно почему?

    Мехнический контакт. Какой бы хороший он не был, он рассчитан на ограниченное число коммутаций (причем чем больше нагрузка, тем быстрее контакты сгорают). А поскольку идет регуллирование температуры, то их будет много, вот он и проживет соотв... Плюс ко всему - огромнейшие электро-магнитные помехи, клацать громко будет :) По габаритам будет не меньше, а то и больше...

     

    Если напруга переменная - активная нагрузка, симистор, либо пара тиристоров (либо оптотиристоров/симисторов, не суть важно) - оптимальный вариант.

     

    Вот еще это почитайте, как коммутировать чтобы не делать плохо для сети:

    http://www.spetspribor.ru/support/articles...pow/br-pow.html

  11. Огромное спасибо за ответы! Теперь уяснил. Сегодня писал программу, так вот дебагил одни ошибки из-за преобразований типов, потратил много времени.

     

    Если кому еще интересна эта тема, вот такое еще было:

     

    eeprom unsigned char edata[20][8]={{90,0,...},{}...};

    unsigned int a;

     

    далее в тексте

    a=edata[0][0]+edata[0][1]<<8;

     

    т.е. интегер хранится в двух первых байтах, сначала младший потом старший. Компилер выдал, что edata[0][1]<<8 получится в любом случае 0. Я переписал

    a=(int)edata[0][0]+edata[0][1]<<8;

     

    опять неправильно. Компилер не ругался, но результат был 90х256=23040. Правильным вариантом оказалось:

    a=edata[0][0]+(int)edata[0][1]<<8;

  12. Мдяя.. 100 Ампер - не шутка..

    У меня два стоящих варианта:

    1. Магнитный пускатель - не нужны радиаторы, охлаждение и т.д.

    Недолго такой пускатель проживет, имхо.

     

    2. Оптотиристор (думаю не составит найти труда) - пока управление "светит" на p-n переход - оптотиристор открыт, перестали светить - закрылся. Хотя интересно: при падении напряжения на переходе в 2 Вольта получится 100*2=200 Ватт мощности!!! (лучше вариант №1)

    Падение на BTA41-600BRG http://www.ortodoxism.ro/datasheets2/a/0s7...z9oauqsfdwy.pdf симисторе 1.55В для 60А и 25 С температуре кристала. При меньшем токе и большей температуре и того меньше. получаем порядка 65Вт на каждого, можно по обычному компьютерному кулеру, который 100 Вт отбирает, либо радиатор порядка 38х120х60 мм ребристый с обдувом большим кулером. Вообще то если идет регулирование температуры, подразумевается что нагрузка будет подключена не постоянно. Если выход на режим идет не более 10-15 мин, то можно рассчитывать на меньшую мощность... Управлять нужно с включением симистора при переходе напряжения через ноль, поскольку нагрузка чисто активная, то и снабберов не нужно. Один такой симистор 4$.

     

    И использовать 380В 3 фазы. И еще, можно купить регулятор, какой нибудь ТМР пр-ва "Овен" - будет много дешевле, чем делать самому.

    не думаю. Сам сделал похожую вещь на этих же симисторах, регуллирую 4.2 кВт, правда на 3х фазах, симисторы на радиаторе - он еле теплый (50-60 градусов без обдува).

  13. По симистору на каждый наргеватель, а отпирать его можно, например, moc3061 http://www.ortodoxism.ro/datasheets/motorola/MOC3061.pdf

    Симистор нужно брать з запасом, чтобы не подводить водное охлаждение =), если по 10квт на 220В - это порядка 45А, тогда симистор выбирать на 80-100 А, в любом случае нужно тепловой расчет проводить.

  14. Электроприводы переменного тока с частотным регулированием, Г. Г. Соколовский, 2006

     

    страница 90-98 :

    Преобразователь частоты с автономным инвертором напряжения и векторной широтно-импульсной модуляцией.

     

    Почитайте, все делается на одном таймере и двух сравнениях (именно так !) для генерации трех фаз переменной частоты и амплитуды. Если не найдете - пишите, выложу картинками, у меня djvu целая книга 2.5мб.

  15. Есть вот такой проргамный код для АВР(например):

     

    unsigned char a = 100;

    float b = 20;

     

    далее в программе

     

    if( b < -a ){...}

     

    так вот оказывается, в таком случаее условие выполняется.

    Если кастовать вот так :

     

    if( b < - (int) a ) {...}

     

    тогда все ок. Объясните почему? Я не могу понять, что с чем сравнивается, если не кастовать, и почему так происходит?

  16. подходим...не толпимся...записываемся...

    ни одного звонка...блин...

    так а кто же ремонтировать хочет пойти, еще и студент без опыта? В чужом Г разбираться? (ремонт и восстановление радиоаппаратуры) когда своего еще ничего не сделал и не отстреливаешь ни капли. Толковые студенты (как я :) ) идут на "проэктирование систем автоматизации" что означает слепил контроллер, написал програмку и управляешь, и все свое.

     

    Я закончил 5 лет КПИ (фэа), начал заниматься радиоэлектронникой - оказалось почти с нуля. Все забыл, и как тиристор открывать, и что такое полевой, биполярный и т.д., что проходили на втором-третьем курсе. Опыта пока что 1 год, по трудовой - пол года. Получаю 400 этих. Набираюсь опыта, он очень важен.

  17. Все верно. Только постоянные магниты не на роторе, как у синхронного, а на статоре в роли возбуждения, в то время как на роторе - якорная обмотка с коллектором и щетками, все как положено, почти уверен что так и есть. По поводу цены, вы совершенно правы - не похожа на щеточный =) более похоже на очень дорогой щеточный. Фактическая стоимость этого двигателя выяснилась - 270 евро, если пересчитать по курсу, плюс доставка, почти 400$, так что этот вариант пока отложили в сторону. Рассматриваем вариант с асинхронным двигателем, ищем что где почем в Киеве можно достать. Рассчитываем за 400-500 грн взять АД порядка 250, 370 Вт.

  18. Да, на самом деле, про щетки там ничего не написано, но и о том, что он без щеток (brushless dc motor) либо что он синхронный с постоянными магнитами - тоже ничего. Спасибо за ссылку на приводы, почитал - похоже что это обычные приводы для двигателей постоянного тока - регуллирование скорости напряжением с обратной связью по скорости либо без нее, на разные мощности. На мою мощность я делаю привод сам.

     

    Поправьте меня, если я не прав.

  19. Я, конечно, проявляю наглость :) Но в проекте на телесистемах указана в качестве примера пара контроллер-драйвер L297 и L298N. Не существуют ли более современные аналоги? Или тогда раз уж драйвер ставить, наверное, стоит перейти на биполярный двигатель... И на драйвер к нему.

    в принципе, если вы согласны крутить не более 20-30 шагов/сек, то думаю ваша схема покатит. резисторы вместо 100ком поставьте 100 ом, диоды к обмоткам приставьте и ок. а лучше (не сильно изменяя схему) взять 5 В питание и по той же схеме, только средние выводы двигателя подключить через резисторы 1 Ом (5 ватные) либо 2 ом - 2хватные (но тогда ток будет меньше).

    5 В необходимо для гарантированног отпирания транзисторов, чтобы уменьшить потери в них, да и скорость нарастания тока в обмотках двигателя будет побольше. Причем, не забывайте, что источник питания должен тянуть до 1.5 А, т.е. простой кренкой не отделаться =)

     

    п.с. И еще, где то здесь было про импульс в 50мкс - или ошибка, или слишком мало. Импульс должен подаваться все время, пока протекает ток, это же не тиристор/симистор...

  20. ДПТ 200 Вт, 24В, Это коллекторный чтоли? Не в моде они нынче, щетки быстро кончаются. А если бесколлекторный, то схема управления будет дороже чем для асинхронного.

    Двигатель постоянного тока фирмы Lenze

    http://www.lenze.net.ua/?inc=Lenze_small_drive

    т.е. буржуйские, будем надеяться, что щеток хватит подольше, посмотрим.

    Недешевый, 200вт стоит 230у.е. (3000 об/мин, 0.64 Н*м)

  21. я покупал специально лпт кабель, с одной стороны его обрезал и спаял программатор. Но после того, как пытался прошить этим программатором контроллер, который был запитан без развязки от сети, и спалил тем самым контроллер (взорвался), материнскую плату, видеокарту, может и процессор (не проверял), тогда собрал себе avr910 usb программатор, который собирается на контроллере atmega - его я прошивал бластером. пользуюсь до сих пор, программится напрямую с CodeVision, правда с авр-студии сначала программил, потом перестал.

    смотри http://prottoss.com/projects/AVR910.usb.pr..._programmer.htm

  22. Что такое lcd_putsf()?

    Сам хочу приступить к работе с LCD

    вывести строку, которая хранится в памяти программ (флеш) на лсд.

    По поводу приступить к работе - вперед, в codevision есть готовая библиотека для работы с этими экранами, только инитить и выводить.

     

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

×
×
  • Создать...