надо только драйверы заказать будет для экспериментовmak, 02 Марта 15, 15:08Если на столе лежат 2 устройства - даже драйверов не надо. Могу схему нарисовать для "макетирования" на столе.
Стабилизированный регулятор мощности с внешним управлением
V_B
Академик
Таганрог
2.7K 939

Отв.420 02 Марта 15, 15:10
mak
Модератор
Екатеринбург
6.3K 1.8K

Отв.421 02 Марта 15, 15:12 (через 3 мин)
не, если делать - то сразу нормально, это не спешно
сейчас озадачился выбором драйверов. Ты с какими работал?
Что то подобное подойдет?
SN65HVD1050D CAN 1Mbps Silent 5V (Texas Instruments)
или
TJA1042T
сейчас озадачился выбором драйверов. Ты с какими работал?
Что то подобное подойдет?
SN65HVD1050D CAN 1Mbps Silent 5V (Texas Instruments)
или
TJA1042T
slony
Магистр
Сочи
246 63

Отв.422 02 Марта 15, 15:15 (через 3 мин)
а если типа такого решения bigbarrel.ru/virtualwire-arduino-example/ дешево и сердито ?
V_B
Академик
Таганрог
2.7K 939

Отв.423 02 Марта 15, 15:20 (через 6 мин)
SN65HVD1050D CAN 1Mbps Silent 5V (Texas Instruments)mak, 02 Марта 15, 15:12Это если делать с оптоизоляцией.
Вот пример использования в одном блоке:
mak
Модератор
Екатеринбург
6.3K 1.8K

Отв.424 02 Марта 15, 15:25 (через 6 мин)
slony, дешево но не сердито
довольно расточительное использование пинов, нужна развязка - иначе легко убить всю сеть
ну и программная реализация протокола имеет свои проблемы, связаны обычно они с прерываниями
довольно расточительное использование пинов, нужна развязка - иначе легко убить всю сеть
ну и программная реализация протокола имеет свои проблемы, связаны обычно они с прерываниями
mak
Модератор
Екатеринбург
6.3K 1.8K

Отв.425 02 Марта 15, 15:35 (через 10 мин)
Это если делать с оптоизоляцией.V_B, 02 Марта 15, 17:20ISO1050DUB 180р в рознице, 100 с копейкой из Китая
TJA1050T 50р в рознице
Вспомнил что у меня лежала посылка из AD в которой как раз прислали изоляторы гальванические, можно будет задействовать
дорогие изоляторы, собаки
а в случае с LIN как я понимаю развязка не нужна?
P.S. Судя по описанию не нужна
12 вольт дать не проблема - основное питание как раз 12 вольт используется
А разница получается в итоге по стоимости раза в 3
V_B
Академик
Таганрог
2.7K 939

Отв.426 02 Марта 15, 15:52 (через 17 мин)
а в случае с LIN как я понимаю развязка не нужна?mak, 02 Марта 15, 15:35Обычно это в пределах небольшого расстояния. Мы не применяли на LIN сетях изоляцию.
Добавлено через 2мин.:
Вспомнил что у меня лежала посылка из AD в которой как раз прислали изоляторы гальваническиеmak, 02 Марта 15, 15:35Это что-то из серии ADuM?
kazu
Кандидат наук
Харьков
374 74
Отв.427 02 Марта 15, 15:54 (через 3 мин)
Поддерживаю V_B про 485. Шина простая, изучена вдоль и поперек (промышленный стандарт и все такое), драйвер стоит копейки и есть в каждом первом радиоларьке, а для контроллера это почти что просто уарт. А поверх 485 можно и модбас пустить если так хочется сложностей.

mak
Модератор
Екатеринбург
6.3K 1.8K

Отв.428 02 Марта 15, 15:58 (через 4 мин)
Обычно это в пределах небольшого расстоянияV_B, 02 Марта 15, 17:52До 40 метров по спецификации
Давай подумаем логически
Есть у нас центральный контроллер и есть 2 исполнителя
перистальтический насос и регулятор мощности
насосу нужно сообщать скорость и еще какую-нибудь информацию не чаще раза в секунду (или на край пол-секунды) - 4-8 байт и CRC
принимать от него состояние (один два байта)
То же самое с регулятором мощности
(про датчики вообще молчу)
по сути в этой задаче LIN хватает и даже с охрененным запасом
Это что-то из серии ADuM?V_B, 02 Марта 15, 17:52да, пробники приходили, как раз чтобы развязать ADE7753
V_B
Академик
Таганрог
2.7K 939

Отв.429 02 Марта 15, 16:17 (через 19 мин)
по сути в этой задаче LIN хватает и даже с охрененным запасомmak, 02 Марта 15, 15:58LIN имеет стандартную скорость 19200. Но для его реализации надо иметь в контроллере UART, поддерживающий его (там времянка отличается от простого UARTa).
А для 485-го пойдет обычный UART.
Если выбирать между ними - я бы сделал на 485-м.
Хотя если не поддерживать протокол LIN на уровне времянок, а просто использовать его драйвер для соединения UART-UART - это будет еще лучше (в 485-м необходимо шину переводить из режима передачи в режим приема после окончания посылки). А у LINа не надо.
ys1797
Доцент
Санкт-Петербург
1K 339
Отв.430 02 Марта 15, 16:47 (через 30 мин)
Насколько я понимаю 485 вообще чисто физического уровня, там даже нет ни приоритетов ни контроля занятости шины, как, например, в can.
По мне дак, если промышленный или полупромышленный вариант - то тут или can, в случае проводов или ZigBee/Xbee2 в случае их отсутствия.
V_B
Академик
Таганрог
2.7K 939

Отв.431 02 Марта 15, 16:51 (через 5 мин)
Насколько я понимаю 485 вообще чисто физического уровня, там даже нет ни приоритетов ни контроля занятости шины, как, например, в can.ys1797, 02 Марта 15, 16:47Именно так.
Поэтому и применил у себя CAN.
slony
Магистр
Сочи
246 63

Отв.432 02 Марта 15, 17:22 (через 31 мин)
В нашем случае вроде планируется один мастер ? Можно обойтись без контроля занятости, только устройства придется постоянно опрашивать.
mak
Модератор
Екатеринбург
6.3K 1.8K

Отв.433 05 Марта 15, 12:11
Заказал на пробу несколько образцов как для CAN так и для LIN шины
Интересным показался ADM3053BRWZ CAN трансивер, там еще DC-DC изолятор на борту сразу
Интересным показался ADM3053BRWZ CAN трансивер, там еще DC-DC изолятор на борту сразу

Отв.434 06 Марта 15, 17:05
алгоритм:
- измеряем среднеквадратичный ток через нагрузку
- т.к. мощность нагрузки известна вычисляем текущую мощность
- текущую мощность ПИД регулнилятор сравнивает с заданной и вводит коррекцию угла открытия симистора через таблицу (мой предыдущий пост)m16, 27 Дек. 14, 19:11
m16, несколько вопросов, я так понимаю ты уже применил данный метод на практике.
1. за сколько полупериодов сглаживаются скачки напряжения на практике? т.е. какое время стабилизации обеспечивает данный метод? (из описания уже понятно, что этот метод имеет большее быстродействие, чем измерение напряжения на входе скользящим окном типа РМ-2)
2. я так понимаю, что ток измеряется либо датчиком тока, либо трансформатором тока? есть технико-экономические обоснования выбора?
3. доступны ли для общественности детали проекта? ну или хотя бы теоретическая часть (параметры пид-регулятора, а может и код)?
m16
Модератор
Тамбов
1.9K 1K

Отв.435 06 Марта 15, 23:46
1. выбранная мной постоянная времени интегрирования = 1С. это и есть время реакции на возмущения. но этот вопрос скорее всего к правильности настройки пид-регулятора. при неправильно подобранных i и d коэффициентах время стабилизации может достигать неск. секунд.
2. датчик тока - ACS712 (30А). экономика-по барабану. техника- гальваническая развязка, передача формы тока без искажений (чем грешат индукционные датчики тока)
3. о деталях : процик-мега16 , датчик тока-ACS712, ион-ref198. код написан на макроассемблере , могу привести, не жалко. но ты с асмом не работаешь. скажу лишь что применена 16-ти и 32-х разрядная целочисленная арифметика.
сам пид считаю по формулам:
коэффициенты пока привести не смогу - девайс в гараже.
что непонятно спрашивай.
2. датчик тока - ACS712 (30А). экономика-по барабану. техника- гальваническая развязка, передача формы тока без искажений (чем грешат индукционные датчики тока)
3. о деталях : процик-мега16 , датчик тока-ACS712, ион-ref198. код написан на макроассемблере , могу привести, не жалко. но ты с асмом не работаешь. скажу лишь что применена 16-ти и 32-х разрядная целочисленная арифметика.
сам пид считаю по формулам:
;******************************************************************************
;*
;* new_err = Ps_r - Pv ;вычисляем новую ошибку
;*
;*
;* It = It + ki_r * new_err ;считаем интегральную составляющую
;*
;* if ( It < 0.0 ) It = 0.0 ;если интегральная отрицательна то присваиваем ей ноль
;* else if( It > Sc_r ) It = Sc_r ;если интегральная превысит установленный предел то присваиваем значение предела
;*
;* Dt = kd_r * ( new_err - old_err ) ;считаем дифференциальную
;*
;* Ut = ( new_err*10 + It + Dt ) / Sc_r ;вычисляем % от максимальной мощности
;*
;* if ( Ut < 0.0 ) Ut = 0.0
;* else if ( Ut > 100 ) Ut = 100
;*
;* old_err = new_err ;присваиваем значению новой ошибке предыдущую
;******************************************************************************
где
Ps_r - мощность установленная
Pv - мощность измеренная
new_err- новая ошибка рассогласования
old_err- предыдущая ошибка рассогласования
Sc_r - максимальное накопление интегральной составляющей
It - интегральная
ki_r - коэф. интегральной
Dt - дифю составляющая
kd_r - коэф. дифференциальной
Ut - % от макс. мощности
коэффициенты пока привести не смогу - девайс в гараже.
что непонятно спрашивай.

Отв.436 07 Марта 15, 09:02
код не надо, алгоритм понятен, асмом владею в принципе, даже было дело вирус писал на на асме под дос)))
еще вопрос, с какой частотой ты снимаешь данные с датчика?
еще вопрос, с какой частотой ты снимаешь данные с датчика?
m16
Модератор
Тамбов
1.9K 1K

Отв.437 07 Марта 15, 09:24 (через 23 мин)
266 отсчётов за период (20мС) при тактовой ацп 172 КГц. тактовая проца 11,059 МГц.

Отв.438 07 Марта 15, 09:45 (через 21 мин)
тактовая проца 11,059 МГц.m16, 07 Марта 15, 09:24хитрая частота какая-то...
m16
Модератор
Тамбов
1.9K 1K

Отв.439 07 Марта 15, 10:36 (через 52 мин)
исходя из того что макс тактовая частота ацп авра 200кгц , для получения максимального количества отсчётов 307 за 20мс была посчитана тактовая проца - 12,6 мгц. собственно был поставлен кварц ближайший по частоте из имеющихся. скажем для 16мгц количество отсчётов будет 192.