Форум самогонщиков Сайт Барахолка Магазин Помощь солдатам

Регулятор напряжения и тока на Arduino Pro Mini

Форум самогонщиков Автоматика
1 ... 17 18 19 20 21 22 23 ... 57 20
m16 Модератор Тамбов 1.9K 1K
Отв.380  25 Апр. 17, 22:39
woddy, совет без граблей - если измерение тока , то непосредственно с шунта, если измерение напряжения,  то непосредственно с делителя напряжения (и пох что одна полуволна , точность приемлема).  гальваническую развязку организовать по цепи управления.  ацп запускать в режиме непрерывного преобразования с частотой не более 200кГц (13kSps на 10bit), sin-таблицы выкинуть нах,  ту да же и ПИД.
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.381  26 Апр. 17, 08:18
ацп запускать в режиме непрерывного преобразования с частотой не более 200кГцm16, 25 Апр. 17, 22:39
А почему 250Кгц не подойдет?
mak Модератор Екатеринбург 6.3K 1.8K
Отв.382  26 Апр. 17, 08:33, через 16 мин
By default, the successive approximation circuitry requires an input clock frequency between 50kHz and
200kHz to get maximum resolution. If a lower resolution than 10 bits is needed, the input clock frequency
to the ADC can be higher than 200kHz to get a higher sample rate.
woddy Доцент Новосиб 1.3K 489
Отв.383  26 Апр. 17, 08:33, через 1 мин
гальваническую развязку организовать по цепи управления.m16, 25 Апр. 17, 22:39
Или не развязывать. Устройство если не предполагает внешней связи.
Следующая итерация будет всё-таки на hlw8012))))
mak Модератор Екатеринбург 6.3K 1.8K
Отв.384  26 Апр. 17, 08:49, через 16 мин
итерация будет всё-таки на hlw8012woddy, 26 Апр. 17, 08:33
Я использую ADE7753, чем китайская поделка интереснее?
woddy Доцент Новосиб 1.3K 489
Отв.385  26 Апр. 17, 08:53, через 4 мин
думаю ничем, кроме наличия в ящике стола
mak Модератор Екатеринбург 6.3K 1.8K
Отв.386  26 Апр. 17, 09:02, через 9 мин
она данные как передаёт? хм, датчика температуры нет, даташита внятного не увидел, переход через 0 сама не ловит..
woddy Доцент Новосиб 1.3K 489
Отв.387  26 Апр. 17, 09:06, через 5 мин
она данные как передаёт?mak, 26 Апр. 17, 09:02
частотой. 12ватт = 1гц, 120ватт = 10гц (зависит от выбора шунта)

не обратил внимания что у твоей еще zero cross есть. это плюс
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.388  26 Апр. 17, 09:07, через 1 мин
выкинуть нах,  ту да же и ПИД.m16, 25 Апр. 17, 22:39
А вот это не получится, ведь предложенная тобой схема это вырожденный ПИД, а точнее И-регулятор Улыбающийся
sevpro Доктор наук Worldwide 769 281
Отв.389  26 Апр. 17, 09:12, через 6 мин
И-регуляторmsg31, 26 Апр. 17, 09:07
А такие существуют?
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.390  26 Апр. 17, 09:21, через 9 мин
А такие существуют?sevpro, 26 Апр. 17, 09:12
Точно, нету таких.
m16 Модератор Тамбов 1.9K 1K
Отв.391  26 Апр. 17, 19:40
   кто не помнит я РМ сделал на tiny13 и попал на грабли связанные с частотой внутреннего генератора которая варьировалась от 7,8 до 9,6мгц и как следствие - РМ не работал т.к  максимальное значение ТОР для счётчика было фиксированным для паспортной частоты 9,6мгц. поначалу корректировал частоту внутреннего осциллятора , но это муторно оказалось. сделал крайнюю доработку прошивки простым алгоритмом в результате которого вычисляются три временных параметра привязанных к тактовой частоте проца : t_delay - время задержки запуска таймера относительно прихода синхроимпульса от сети (zero),
  t_gate - длительность импульса включения симмистора,   TOP - максимальное значение таймера .

rm.jpg
Rm. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.



алгоритм стартует при включении контроллера и формирует для дальнейшей работы вышеперечисленные переменные.
- переменная t_sync = 0
- опрашиваем порт INT0 ждём лог. 1
- ---//---  ждём лог. 0
- инкремент t_sync , опрашиваем порт INT0 ждём лог. 1 (в цикле)
- переменная t_sync  имеет значение пропорциональное ширине импульса синхронизации. делим пополам двумя сдвигами вправо- t_delay = t_sync >> 2
- инициализация прерывания
- в цикле ждём прихода второго прерывания после инициализации - флаг Т

- по приходу первого прерывания запускаем таймер в режиме счёта
- по приходу второго прерывания останавливаем таймер сохраняем его значение в переменной ТОР_10ms, устанавливаем флаг Т

- далее простая арифметика сдвигами TOP = ТОР_10ms - (ТОР_10ms >> 4) ( что соответствует 9,375 ms ) 
- t_gate = t_off = ТОР_10ms >> 5 ( что соответствует 312,5 us )

всё это безобразие занимает чуть больше сотни байт .

сообщения удалены (10)
SA1348 Профессор Саратов 3.3K 1.5K
Отв.392  03 Мая 17, 13:58
Так на будущее может кому пригодится. Способ временной переделки кнопочного узла, аналога кнопок LCD Shield
Значит я подпаиваю провод к кнопке LEFT, предварительно отпаяв резистор 1 ком. Это провод кидаю на PIN8. Провод который шёл на A0,к нему напрямую подсоединена кнопка RIGHT кидаю на PIN9, GND остается на месте, а VCC просто убираю с питания и временно изолирую.
сообщения удалены (17)
gikrus Кандидат наук Пермь 382 398
Отв.393  23 Мая 17, 12:51
Сильно не пинайте, дайте аргументированный ответ.
Почему мы используем понижающий трансформатор?
Почему нельзя подать сетевое на диодный мост с запасом по напряжению, например на MB10S (максимальное обратное напряжение 1000 вольт), и с него на сопротивление например 160 кОм и переменник 1 кОм? Параллельно аналоговому входу поставить стабилитрон для защиты от перенапряжения. Просто трансформаторы то разные по качеству. И чем меньше его габариты, тем больше искажения. Опять же из за падения напряжения на диодном мосту порядка 0,5 Вольт получаем искажение в виде плоской крыши у полупериода. Кто то пробовал напрямую делать?
сообщения удалены (2)
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.394  23 Мая 17, 13:32, через 41 мин
Почему мы используем понижающий трансформатор?
Почему нельзя подать сетевое на диодный мост с запасом по напряжению, например на MB10S (максимальноеgikrus, 23 Мая 17, 12:51
Это чтобы пользователю не спалить комп и током не ударило при отладке и сборке.
сообщения удалены (3)
msg31 Научный сотрудник Барнаул 4.6K 2.5K
Отв.395  23 Мая 17, 13:48, через 17 мин
этот аргумент?gikrus, 23 Мая 17, 13:38
Да, это основано на моей разработке, а я только из за этого так сделал.
qwest_ans Бакалавр Самара 63 4
Отв.396  23 Мая 17, 13:52, через 5 мин
К стати о трансформаторах, из старого принтера выковырял измерительный тр-р с коэф-том трансформации около 250, т.е. при входном 250 вольт на выходе 1 вольт, на х.х. такой подойдёт?
m16 Модератор Тамбов 1.9K 1K
Отв.397  23 Мая 17, 14:46, через 54 мин
Почему нельзя подать сетевое на диодный мостgikrus, 23 Мая 17, 12:51
не советую. мост вносит большую нелинейность ,помыкавшись, я отказался от этого в пользу резистивного  делителя обсчитывая одну полуволну
сообщения удалены (25)
m16 Модератор Тамбов 1.9K 1K
Отв.398  14 Июня 17, 10:04
Собрал 2 устройства на датчиках тока. Оба дают вспышки в случайном порядке.Chatterbox, 13 Июня 17, 22:42
причина "вспышек" - симистор не запирается до прихода импульса от детектора ноля при условии что последний работает исправно.
баги:
- неправильно рассчитан ТОР таймера (завышен)
- напряжение с моськи  нужно снимать не менее чем за 200мкС до прихода ноля сетевого напряжения
moc.jpg
Moc. Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.

- у авра нет полноценной системы приоритетов прерываний посему эту проблему нужно разруливать ручками.  у ADC должен быть самый низкий приоритет, т.е. по приходу прерывания от ADC нужно считать данные из ADCL ,ADCH и тут же разрешать прерывания  дабы не тормозить процедуры прерываний от таймера и INT0
Это проблема в китайском энкодере. Заказывал 5 шт, и только один из них работает более-менее. попытался решить проблему программно, но результат все равно не стопроцентный.Chatterbox, 13 Июня 17, 22:42
проблема программная - 100%. сам наступал на эти грабли. более десятка китайских энкодеров и 12-ти и 24-х тактовых работают без сбоев.
сообщения удалены (23)
woddy Доцент Новосиб 1.3K 489
Отв.399  17 Июля 17, 19:30
собрал детектор нуля по схеме от sevpro
[сообщение #13011692]
сравнил что на выходе

1) обычная схема с резистором на 75к
2) схема от sevpro на одном транзисторе (c1 1мкф , R3 120ком)

Ширина импульса одинаково плохая. относительно "настоящего" нуля смещены в разную сторону.
Замена стабилитрона с 24в на 12в позволяет уменьшить импульс с 750 до 500мкс

На третей картинке напряжение на стабилитроне


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

UPD2
получается самая годная схема детектора - на двух транзисторах
[сообщение #11844138]
[сообщение #12835706]
но её я ещё не испытывал
Заморачиваться с однотранзисторной схемой стоит только ради снижения нагрева, что редко нужно
IMG_20170717_231514.jpg
IMG_20170717_231514.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.
IMG_20170717_223323.jpg
IMG_20170717_223323.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.
IMG_20170717_223809.jpg
IMG_20170717_223809.jpg Регулятор напряжения и тока на Arduino Pro Mini. Автоматика.