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

Аппаратная платформа Arduino для автоматизации наших процессов

Форум самогонщиков Автоматика
1 ... 60 61 62 63 64 63
m16 Модератор Тамбов 1.9K 1K
Отв.1240  16 Мая 19, 11:18
вот тебе формула
rms.png
Rms. Аппаратная платформа Arduino для автоматизации наших процессов. Автоматика.

    спич в том что расчёт по этой формуле займёт у процессора много времени но это не проблема. я , когда строил свой РМ, по этой формуле построил таблицу зависимости выходного напряжения  РМ с шагом в 1 вольт от угла открытия триака. результат  оказался плачевный - в диапазоне  80-200в  напряжение на тэне  поддерживалось с точностью 1-8в. естественно меня это не утроило , долго ковырялся, перепроверял пока не сунул  щуп осциллографа в сеть. нет там синуса, точнее изуродованный  синус. в этом как раз  и  крылась  причина хреновой  работы  РМ. эта  формула  справедлива  для  чистого синуса, а в сети мы  имеем то что  имеем.
    в  результате  реализовал  следящий  алгоритм [сообщение #12691149]  , напряжение  на тэнах  поддерживается  с точностью 1в , трёхфазный  РМ  пашет третий год.
 
Sonologist Профессор Москва 2.5K 875
Отв.1241  16 Мая 19, 12:52
Вот как раз из-за "драной" синусоиды в сети мне померещилось, что данная таблица поможет хоть как-то приблизиться к желаемому результату без лишних пересчетов градусов  в радианы и отрезки времени: все уже дано и можно напрямую оперировать с micros(). Однако попытка вывести формулу в экселе потерпела неудачу. В принципе, можно тем же свитч-кэйс перебрать сотню позиций и сделать нужный пересчет, просто показалось, что с формулой получится изящней. Касательно обратной связи - думаю не изгаляться с многократыми измерениями с последующим пересчетом в среднеквадратичное значение. На мой взгляд проще на ТЭН повесить или LTC196x (реальное напряжение) или сразу ADE7754ARZ (реальная мощность) и от их показаний плясать - дальше арифметика уже простая (главное отловить дельту между детектором нуля и самим нулем). Или я тут что-то опять напутал?
m16 Модератор Тамбов 1.9K 1K
Отв.1242  16 Мая 19, 13:27, через 36 мин
В принципе, можно тем же свитч-кэйс перебрать сотню позиций и сделать нужный пересчет, просто показалось, что с формулой получится изящней.Sonologist, 16 Мая 19, 12:52
время от времени кривизна синусоиды  в сети  меняется , и какой  формулой это можно описать?
изящно это двадесятка строк на асме - и весь регулятор

Скрытый текст
//*****************************************************************************//
// вычисление напряжения стабилизации
// if U_ctrl = U_rms  TOP_T0 = TOP_T0
// if U_ctrl < U_rms  TOP_T0 = TOP_T0 + step_fase
// if U_ctrl > U_rms  TOP_T0 = TOP_T0 - step_fase
//*****************************************************************************//
      sbrc      psw, m_pw_zero   // nriac not onn if power < 5%
      rjmp   ml2
.........................................
      dec      D0l
      cp      D0l, U_rms   //  E0 - ctrl  B0 - rms
                  //  U_ctrl - U_rms

      breq   equal         //  U_ctrl = U_rms
      brcc   ctrl_over
.........................................
ctrl_under:   adi_w      DELTA, step_fase   //  U_ctrl < U_rms

      cp_w      DELTA, Z

      breq   equal
      brcs   equal

      mov_w      DELTA, Z

      rjmp   equal
.........................................
ctrl_over:   subi_w      DELTA, step_fase   //  U_ctrl > U_rms
      tst_w      DELTA

      breq   equal
      brpl   equal

      clr_w      DELTA   
.......................
equal:      mov      tmpA, U_rms
      sub      tmpA, U_ctrl

      brmi   neg_delta
      cpi      tmpA, 10
.......................
positiv_delta:   brcs   error_not
.......................
error_yes:   error_on
//      rjmp   ml2
//*****************************************************************************//


На мой взгляд проще на ТЭН повесить или LTC196x (реальное напряжение) или сразу ADE7754ARZ (реальная мощность) и от их показаний плясатьSonologist, 16 Мая 19, 12:52
можно конечно и так, но у меня одна tiny13a  со всем этим справляется
Sonologist Профессор Москва 2.5K 875
Отв.1243  16 Мая 19, 14:04, через 37 мин
Про формулу, безуспешно пытающуюся описать деформированную синусоиду - понятно. Речь шла о другом: есть таблица (доля мощности и время открытия триака), хотел найти формулу зависимости второго от первого. Дальше - простая арифметика. Но эксель выдал белиберду.
За код спасибо, но в нем не разобраться... ассемблер для меня - совершенно черный ящик. Даже не знаю, как к нему подходить. Можно ли повторить то же самое на "недобитом" ардуиновском С? Или скетч выйдет намного длиннее и неизящнее? "Рожа" - как я понимаю, - это "D"?
Tomat7 Магистр Черноморская губинния 235 138
Отв.1244  16 Мая 19, 14:34, через 31 мин
Играюсь с Ардуиной на предмет создания стабилизатора мощностиSonologist, 16 Мая 19, 09:58
Чо там играться, тема изъедена вдоль и поперек - [Регулятор напряжения и тока на Arduino Pro Mini]
Бери да делай.
Sonologist Профессор Москва 2.5K 875
Отв.1245  16 Мая 19, 15:02, через 28 мин
Чо там играться, тема изъедена вдоль и поперекTomat7, 16 Мая 19, 14:34
Неужели пришло в голову, что я это не читал? И почему обязательно надо брать да делать? Есть желание сделать самому. Криминал?
m16 Модератор Тамбов 1.9K 1K
Отв.1246  16 Мая 19, 15:06, через 5 мин
делать не обязательно, а почитать чтобы на грабли не наступать оно того стоит.
Tomat7 Магистр Черноморская губинния 235 138
Отв.1247  16 Мая 19, 15:16, через 10 мин
Неужели пришло в голову, что я это не читал?Sonologist, 16 Мая 19, 15:02
Хмм... Неоптимальность расчета по таблице в той теме обсуждалась несколько месяцев и единогласно была отвергнута.
Хочется пройти по "своим" граблям?  ;D  Знакомо...  ;)
Sonologist Профессор Москва 2.5K 875
Отв.1248  16 Мая 19, 15:19, через 4 мин
почитать чтобы на грабли не наступатьm16, 16 Мая 19, 15:06
Да уж по второму кругу пошел Улыбающийся К сожалению, не все ухватываю, ибо не спец. А разобраться хочется.
Gurrd Доктор наук Курган 792 390
Отв.1249  21 Мая 19, 14:29
Подставляю ее в столбец "D" и получаю какую-то хрень. В математике я совсем не силён, очевидно, что хрень из этого и проистекает. Но что я сделал неправильно?Sonologist, 16 Мая 19, 09:58
В математике тоже не очень силен, поэтому может чего-то недопонял... Но в экселе можно увеличить точность (в смысле разрядность) коэффициентов полинома.
Выставив 16 знаков после запятой, твоя формула превращается в "y = 0,0000000000000002x6 - 0,0000045736282693x5 + 0,0011434070609377x4 - 0,1121341871353250x3 + 5,3860574789918600x2 - 192,2446563592120000x + 9 446,8272127805000000". Точность значительно возрастает.
Правда для ардуины это не очень подходит, т.к. у нее точность 6 или 7 знаков после запятой. Могу ошибаться, ибо не очень (или "очень не" ) ардуинщик)))
surami56 Магистр СПб 202 71
Отв.1250  21 Мая 19, 20:06
Правда для ардуины это не очень подходит, т.к. у нее точность 6 или 7 знаков после запятой.Gurrd, 21 Мая 19, 14:29
Есть и 32 разрядные данные.
Типы данных в Ардуино:
boolean (8 бит) - простое логическое true/false (правда/ложь)
byte (8 бит) - unsigned число в диапазоне от 0-255
char (8 бит) - signed число в диапазоне от -128 до 127. В некоторых случаях компилятор будет интерпретировать этот тип данных как символ, что может привести к неожиданным результатам.
unsigned char (8 бит) - то же что и ‘byte’; для ясности кода рекомендуется вместо этого типа данных использовать ‘byte’.
word (16 бит) - unsigned число в диапазоне от 0 до 65535
unsigned int (16 бит)- то же, что и ‘word’. Рекомендуется заменять типом данных ‘word’ для сокращения кода и ясности
int (16 бит) - signed число в диапазоне от -32768 до 32767. Один из самых распространенных типов данных, который очень часто используется для объявления переменных в скетчах-примерах для Arduino, встроенных в Arduino IDE
unsigned long (32 бита) - unsigned число в диапазоне от 0-4,294,967,295. Чаще всего этот тип данных используется для хранения результатов функции millis( ), которая возвращает количество миллисекунд, на протяжении которого работал ваш код.
long (32 бита) - signed число в диапазоне от -2,147,483,648 до 2,147,483,647
float (32 бита) - signed число в диапазоне от -3.4028235E38 до 3.4028235E38.
Gurrd Доктор наук Курган 792 390
Отв.1251  22 Мая 19, 08:30
Есть и 32 разрядные данные.surami56, 21 Мая 19, 20:06
Дело не в разрядности (кол-во бит), а в точности (кол-во знаков после запятой).
Вот про точность ардуины (мысля, не моя а копипаст):
Точность дробных чисел типа float составляет 6-7 десятичных знаков. Здесь имеется ввиду общее количество цифр, а не количество знаков после запятой. В отличие от других платформ, где более высокой точности можно добиться за счет использования типа double (до 15 знаков), в Ардуино тип double имеет такую же размерность, как и float.
m16 Модератор Тамбов 1.9K 1K
Отв.1252  22 Мая 19, 10:04
ерундой занимаетесь товарищи, в целочисленке  считать нужно , в целочисленке.
Sonologist Профессор Москва 2.5K 875
Отв.1253  24 Мая 19, 17:54
Короче, народ мне помог справиться. Формула не понадобилась. Программа ([Маленький скетч для управления триаком Ардуиной.]) исправно и быстро работает с таблицей. Как будет выглядеть в железе - посмотрим: до него руки никак не дойдут Грустный.
PS: Кстати, работа исключительно с целочисленкой.
Шмель161 Студент Каменск-Шахтинский 49 21
Отв.1254  19 Марта 20, 12:32
KD, подскажите, пожалуйста, а в ардуино уно можно затолкать этот скетч? И где можно глянуть список компонентов?
gxtkjdjl Профессор архангельск 6.4K 1.7K
Отв.1255  19 Марта 20, 14:48
коллеги а не кто, известную на другом форуме, автоматику Спиртогон на один термодатчик не переделывал? штука простая, даже я собрал и прошил с первого раза, но у меня царга короткая по дельте между датчиками стабилизации нет.
Soberman Новичок Москва 9 1
Отв.1256  28 Июля 20, 21:38
Дробного дня, коллеги.
Не знаю в каком разделе спросить, спрошу тут, так как тема наиболее схожая.

Есть ли ветка , в которой обсуждается проект с сайта homesamogon точка ru ?
Не реклама ни чего такого. Просто понравился проект. Но так как в ардуино не шарю пока, то хотелось бы пообщаться с теми, кто уже собирал такое... Автор же сам, как то на контакт не выходит.
Спасибо за внимание.
Gurrd Доктор наук Курган 792 390
Отв.1257  29 Июля 20, 07:07
Soberman, ветки такой тут вроде нет, могу поделиться собственным опытом. По этому проекту я собирал себе автоматику. Немного не устраивала функциональность, решил подправить под себя код. Толи автор свой код обфусцирует, толи просто так кодит, но в итоге под его аппаратную платформу мне пришлось написать свой скетч. Более сырой конечно, решающий более узкие задачи (чисто под себя). Были планы расширять его дальше, но наткнулся на проект лакибокса. Посмотрел и в итоге пересобрал свою автоматику и переехал на лакибокс. Советую обратить внимание на него. Аппаратно не сильно отличается от хоумсамогон. Функционал гораздо шире.
При этом проект более чем живой - постоянно выходят новые версии (в ближайшее время обещают вообще облачную версию выпустить), есть форум, где пасутся и пользователи (в т.ч. собирающие его самостоятельно) и разрабы, на форуме куча инфы и по самостоятельной сборке и по эксплуатации.
Soberman Новичок Москва 9 1
Отв.1258  29 Июля 20, 12:02
обфусцируетGurrd, 29 Июля 20, 07:07

Чтож , спасибо за ответ. Попробую присмотреться. )) За одно и слово новое узнал))
saniaxxx Кандидат наук Кострома 421 63
Отв.1259  29 Июля 20, 12:37, через 35 мин
Попробую присмотретьсяSoberman, 29 Июля 20, 12:02
Могу посоветовать присмотреться к малинке и проекту craftbeerpi, я пользуюсь уже несколько лет, даже тему создавал, постоянно добавляю новый функционал.
В отличии от ардуины производительность малинки гораздо выше, цена выше но приемлимая, можно использовать языки высокого уровня, например пайтон - соотвественно и код писать проще (порог входа ниже), есть документация и возможность писать свои плагины. Добавил плагин - добавилась функциональность, ничего прошивать не надо. Есть конечно свои ограничения, но собрать все можно на коленке за пару вечеров