Блоки питания, преобразователи напряжения, UPS'ы - это здесь :)
Ответить

Решил самостоятельно сделать свой частотник.

Сб июн 09, 2018 17:59:37

Всем привет !
Решил самостоятельно сделать свой частотник. Программу пишу самостоятельно. В моем случае я использую ATtiny 2313, синус формирую с отставанием на 60 градусов.
Для того чтоб формировать частоты до 400 Герц пришлось сильно оптимизировать код программы. Нумерация транзисторов 135 верх 462 низ, так более правильно. Теперь если полупериод 1 то 2 отстает на 60 градусов третий от второго на 60 градусов и.т.д
Как я построил синус и где была оптимизация кода.
Пример синуса
0 0 0 0 13 13
2 0 0 0 12 14
3 0 0 0 11 14
5 0 0 0 10 15
6 0 0 0 9 15
8 0 0 0 8 15
9 0 0 0 6 15
10 0 0 0 5 15
11 0 0 0 3 14
12 0 0 0 2 14
13 0 0 0 0 13
14 2 0 0 0 12
14 3 0 0 0 11
15 5 0 0 0 10
15 6 0 0 0 9
15 8 0 0 0 8
15 9 0 0 0 6
15 10 0 0 0 5
14 11 0 0 0 3
14 12 0 0 0 2
13 13 0 0 0 0
12 14 2 0 0 0
11 14 3 0 0 0
10 15 5 0 0 0
9 15 6 0 0 0
8 15 8 0 0 0
6 15 9 0 0 0
5 15 10 0 0 0
3 14 11 0 0 0
2 14 12 0 0 0
0 13 13 0 0 0
0 12 14 2 0 0
0 11 14 3 0 0
0 10 15 5 0 0
0 9 15 6 0 0
0 8 15 8 0 0
0 6 15 9 0 0
0 5 15 10 0 0
0 3 14 11 0 0
0 2 14 12 0 0
0 0 13 13 0 0
0 0 12 14 2 0
0 0 11 14 3 0
0 0 10 15 5 0
0 0 9 15 6 0
0 0 8 15 8 0
0 0 6 15 9 0
0 0 5 15 10 0
0 0 3 14 11 0
0 0 2 14 12 0
0 0 0 13 13 0
0 0 0 12 14 2
0 0 0 11 14 3
0 0 0 10 15 5
0 0 0 9 15 6
0 0 0 8 15 8
0 0 0 6 15 9
0 0 0 5 15 10
0 0 0 3 14 11
0 0 0 2 14 12


далее переводим все в нули и единицы

привожу только часть , сразу оговарюсь что 3 и 4 выход использую для тормоза и регулятора напряжения (значение порта инверсное! 1 столбик для 1 транзистора ,второй для второго и соответственно шестой для шестого , нумерацию транзисторов приводил выше)
0 0 0 0 1 1 63 8
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63 5
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 0 0 255 2
0 0 0 0 0 0 255
1 0 0 0 1 1 62 2
1 0 0 0 1 1 62
0 0 0 0 1 1 63 8
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63 2
0 0 0 0 1 1 63
0 0 0 0 0 1 127 2
0 0 0 0 0 1 127
0 0 0 0 0 0 255 1
1 0 0 0 1 1 62 3
1 0 0 0 1 1 62
1 0 0 0 1 1 62
0 0 0 0 1 1 63 8
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 1 1 63
0 0 0 0 0 1 127 3
0 0 0 0 0 1 127
0 0 0 0 0 1 127
0 0 0 0 0 0 255 1


Теперь где закономерность, самое главное. Если посмотреть на цифру с права то это значение порта в данный момент времени. Следующая цифра это количество раз какое нужно вывести эту цифру в порт. А теперь как осуществляется компрессия, вариантов цифр у меня получилось всего 19 вот они

0 31
1 62
2 63
3 124
4 126
5 127
6 155
7 159
8 191
9 217
10 219
11 223
12 248
13 249
14 251
15 252
16 253
17 254
18 255

а количество выводов сделал до 8 таким образом можно закодировать в одном байте 5 бит под номер числа и три бита под количество которое нужно его вывести включая 0, получается 8 значений, то есть 0 выводим 1 раз, 1 два, 7 восемь раз ну и ноль в значении порта соответствует 31 а 18 соответствует 255 получаем таблицу из чисел в сжатом формате для данной таблицы получилось всего 266 значений. Таким образом на обработку одного тика у меня получилось тратить 92 машинных цикла и соответственно с синусом 12 амплитуда и 12 длинна я с легкостью укладывался на 16 мегагерцах генерировать 400 герц. Надеюсь я понятно объяснил. Да еще вывод числа я вешаю на прерывание. Ну и соответственно чем реже я его вызываю тем меньше частота итогового сигнала.
P.S. Кодировка первого числа 00010111 = 23 или 02 значение порта 00010(переводим по таблице в 63) и вывести его 8 раз 111

Re: Частотный преобразователь

Вс июн 10, 2018 13:38:46

piskora писал(а):Решил самостоятельно сделать свой частотник
Похвально, отчаянный шаг :write: :solder:
Сразу напомню важное предостережение - "Не зная броду, не суйся в воду."
Более конструктивно было-бы, если бы Вы создали свою тему и поделились в ней схемкой с прошивкой, а лучше сразу проектом в Протеус. Так можно сразу видеть результат генерации. Если в синусах 0 - это = выключенный транзистор, то алгоритм некорректный и нормально работать не будет.

Re: Частотный преобразователь

Вс июн 10, 2018 15:26:07

Похвально, отчаянный шаг :write: :solder:
Сразу напомню важное предостережение - "Не зная броду, не суйся в воду."


Драйвера оптические, открываются открытым коллектором. Ноль это транзистор открыт.Сделано это для защиты, при ошибке убирается пять вольт со входа драйверов и они автоматически закрываются. Схемы конкретной нет, просто пробую и экспериментирую.
Двигатель разгонял до приличных оборотов. Если поделитесь опытом буду только благодарен.

Re: Частотный преобразователь

Вс июн 10, 2018 16:28:11

Большинство информации изложено в настоящей теме + по ссылкам в моей подписи.
piskora писал(а):Двигатель разгонял до приличных оборотов
разогнать ещё не всё. Чтоб оценить работоспособность вашей модуляции, нужна модель. Нарисуйте схему в симуляторе, чтобы запустить и видеть сигнал

Re: Решил самостоятельно сделать свой частотник.

Ср июл 18, 2018 20:07:07

В общем сегодня память ATtiny 2313 была окончательно заполнена)
Что сейчас работает:
Быстрый старт, плавный разгон до заданной частоты, реверс, тормоз, кнопка экстренной остановки,ограничение максимальной скорости, регулировка напряжения ШИМ до 50 Гц (таблица 124 значения для диапазонов частот), все настройки передаются по 485 интерфейсу (специально не делал в данном контроллере индикацию и кнопки чтоб контроллер был занят только двигателем) частота от 1 до 400 Гц.

Re: Решил самостоятельно сделать свой частотник.

Чт июл 26, 2018 20:08:42

Вот что в итоге получилось https://youtu.be/4T7XUuYbifY

Re: Решил самостоятельно сделать свой частотник.

Пт июл 27, 2018 10:57:42

а зависимость напряжения от частоты какая?

Re: Решил самостоятельно сделать свой частотник.

Пт июл 27, 2018 12:27:07

а зависимость напряжения от частоты какая?
высчитывается по таблице ЕЕPROM , до 50 Гц 125 значений напряжения.

Re: Решил самостоятельно сделать свой частотник.

Пт авг 03, 2018 06:07:13

Собрал новую схему для управления драйверами. На транзисторах пока не испытывал. Напряжение питания 20 Вольт. Испытывал на 100 кГц.http://img.radiokot.ru/files/82975/medi ... 3blt77.jpg
Вложения
Осциллограмма.png
(23.91 KiB) Скачиваний: 233

Re: Решил самостоятельно сделать свой частотник.

Пт авг 03, 2018 18:20:12

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

расскажите что у вас нарезает ШИМ. это нужно 6 выходов контроллера верно?

Re: Решил самостоятельно сделать свой частотник.

Пт авг 03, 2018 19:49:35

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

расскажите что у вас нарезает ШИМ. это нужно 6 выходов контроллера верно?
Да правильно 6 выводов. Только я пошел проще. Регулировку напряжения я делаю отдельным транзистором. Так что форма шима синуса у меня постоянная. А вот напряжение меняется. Снижение напряжения нужно на частотах ниже 50 Гц. В промышленных частотниках эта регулировка делается основным шимом. Ну и один транзистор я использую для тормоза. Итого у меня восемь транзисторов.

Re: Решил самостоятельно сделать свой частотник.

Вс авг 05, 2018 12:00:04

Представьте схему, хотя-бы силовой части :dont_know: . С вашего понимания это проще (возможно управление как-бы проще), а так наличие дополнительных силовых элементов - это усложнение и имеет много минусов.
100кГц слишком большая частота для работы с двигателями, до 22кГц и с использованием du/dt фильтров

Re: Решил самостоятельно сделать свой частотник.

Чт апр 04, 2019 08:04:23

https://drive.google.com/open?id=1wVNTN ... DjCs32L1Dz Ссылка для скачивания проекта, программа управления, краткая схема, прошивка микроконтроллера.
Ответить