Lihouzov

Реализация Графического Языка Программирования Для Avr Контроллеров.

267 сообщений в этой теме

optima    216
9 минут назад, Lihouzov сказал:

Критиковать- не создавать, знаний не надо.

В данной ситуации думаю знания получает только один человек это вы. Так как только вы разбираясь в  работе периферии МК получите какой то опыт!  Но ни как не пользователь вашей программы,  у которого мозгов не прибавится собирая программы из готовых кубиков.

Не в обиду, но я считаю что ваше дитя было рождено уже мертвым!  Так как использование  вашего  продукта на сегодняшний день это  движение назад в прошлое!  Критика  здесь  абсолютно не причем,  архитектура AVR морально устарела.

В 20.06.2018 в 22:41, Lihouzov сказал:

а потом и перенести на 32 битные

Пока вы разберетесь с АVR,  то за ARM вряд ли угонитесь. Все не так просто как обычно нам хочется. Советую не терять драгоценного времени, хотя это ваш крест вам и решать.  Это чисто мое мнение,  удачи.

52 минуты назад, Lihouzov сказал:

Сейчас десяток блоков влазит в килобайт.

Вопрос экономии драгоценных байтов сейчас практический уже не актуален.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    463
10 часов назад, optima сказал:

Пока вы разберетесь с АVR,  то за ARM вряд ли угонитесь.

Поэтому стоит генерировать код не на ассемблере, а на Си, т.е. максимально абстрагированно от архитектуры и аппаратуры. И, кажется, на "радиокоте" я это автору советовал...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    35
14 часа назад, Lihouzov сказал:

Сейчас десяток блоков влазит в килобайт. приемлемая производительность.

У вас в постановке задачи заметна некоторая деградация с 13-года (я специально в начало темы посмотрел),

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

Я не думаю что реализация такой примитивной логики требует визуальной среды разработки!

Потом, задержки прохождения сигналов (фронтов) ваша система позволяет оценить? Мне кажется нет, по крайней мере не вижу как! А это один из наиважнейших аспектов в проектировании-реализации логики, если этого нет - система проектирования не жизнеспособна (мягко говоря).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    261
5 часов назад, ARV сказал:

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

А можно воспользоваться наработками gcc или LLVM

2 часа назад, ruhi сказал:

Я не думаю что реализация такой примитивной логики требует визуальной среды разработки!

Никакая логика не требует визуальной среды.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
UTSource

Найдите миллионы труднодоступных

электронных компонентов

ARV    463
9 часов назад, ruhi сказал:

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

 

7 часов назад, COKPOWEHEU сказал:

Никакая логика не требует визуальной среды.

Думаю, что дело не в деградации разработчика, а в деградации "зрителей". С каждой "итерацией" в развитии средств программирования уровень понимания у начинающих все ниже и ниже, и объяснить принцип FBD сразу на примере какой-то реально полезной задачи становится все сложнее и сложнее. А задача визуальной среды именно облегчить использование сложного... Но, увы, сложное оказывается слишком сложным, и приходится его упрощать.

FBD - весьма перспективное направление в проектировании систем управления "домохозяйками", а точнее, инженерами-инсталляторами (т.е. людьми, способными по формальному словесному описанию заказчика нарисовать соответствующую картинку в графическом редакторе, но при этом они могут иметь весьма смутное представление о том, как "устроены" эти квадратики-стрелочки).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ruhi    35
15 часов назад, ARV сказал:

С каждой "итерацией" в развитии средств программирования ...

... перспективное направление в проектировании систем управления "домохозяйками"

А я думаю что "развитие средств программирования " в сторону "проектировании систем управления "домохозяйками"" 

есть не развитие, а деградация! И перспектив в этом не вижу!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    261
В 28.06.2018 в 20:19, ARV сказал:

FBD - весьма перспективное направление в проектировании систем управления "домохозяйками", а точнее, инженерами-инсталляторами

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lihouzov    11

Всем добрый день, комментариев много- отвечу коротко.

 

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

 

На предприятиях вы не столкнетесь с привычным Си, Pascal или ассемблером, там будет ST, FBD, .. итд, а специалисты со знанием этих языков будут востребованы. 

 

Для примера. Пару лет назад ко мне обратился знакомый радиолюбитель (мог писать код для микроконтроллера) с задачей автоматизации мелкого предприятия. Ему предложили хорошую подработку за автоматизацию, он разобрался в тех. процессе и перед ним встала задача реализации. Он решил сделать на микроконтроллере, но после разговора со мной выбрал промышленный контроллер. Первые несколько дней он ругался и плевался на эти языки, но спустя неделю освоил и с легкостью решил задачу и был доволен результатом.

 

Сделал оптимизацию кода:

 

Изменено пользователем Lihouzov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    261
16 часов назад, Lihouzov сказал:

На предприятиях вы не столкнетесь с привычным Си, Pascal или ассемблером, там будет ST, FBD, .. итд, а специалисты со знанием этих языков будут востребованы. 

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

А при автоматизации, создании из законченных приборов автоматизированной системы, настраиваемой не-программистами как раз используются графические "языки". Их преимущество именно в том, что не надо учить синтаксис, достаточно абы как соединить готовые кирпичики изолентой. Так вот, при _создании_ приборов на МК такой подход неэффективен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
optima    216

Я так думаю, если бы ваш знакомый действительно 

19 часов назад, Lihouzov сказал:

(мог писать код для микроконтроллера)

и на самом деле

19 часов назад, Lihouzov сказал:

Он решил сделать на микроконтроллере

То он бы сделал это без применения промышленного контроллера.  Скорее всего уровень его знаний в области МК был недостаточен. Да и цены на такие контроллеры не особо то привлекательны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    261

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lihouzov    11

Ядро обновил, тест производительности предыдущего и текущего ядра:

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lihouzov    11

Добрый день, 

можно ли получить доступ к портам ввода-вывода не используя asm команды IN? OUT?

Например я храню в регистре адрес порта, как используя значение регистра получить доступ к порту? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
COKPOWEHEU    261

команды ld / st. Адрес в любой из регистровых пар X, Y, Z. Результат записывается в r0-r31.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Lihouzov    11

ld / st работают, только необходимо адрес указанный в файле описания контроллера смещать на 0x20

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Похожие публикации

    • Автор: Alexey104
      Всем привет!
      Возникла следующая проблема:
       
      Есть две ардуины 'Mega2560'. По несчастливому стечению обстоятельств данные платы попали в руки одному чуваку, который, вернув их, заявил, что они перестали работать после того, как он "чисто ради интереса" поковырял на обеих некоторые фьюзы. Есть у меня такой китайский usbasp v2 программатор:
      Подключив данный девайс к ICSP-пинам первой платы, удалось без проблем восстановить на ней загрузчик через стандартную Arduino-IDE, после чего работоспособность платы полностью восстановилась. Но вот при попытке сделать то же самое со второй платой, получаю это:
      Такое же сообщение получаю при попытке зашить загрузчик в неподключенную к программатору ардуину, то есть программатор вообще не видит МК. Плата прекрасно работала до того, как вышеупомянутый товарищ покрутил настройки фьюзов.
       
      Что я пытался предпринять:
      Замыкал пины JP3 программатора, отвечающие за понижение скорости, подключал к ардуине 5V от внешнего источника при прошивке загрузчика, - не помогло.
       
      Поиском пользоваться умею, аналогичную тему тут находил, но там проблема была в том, что парень неверно подключал программатор к контроллеру. В моём же случае всё подключено верно, повторюсь, что загрузчик первой платы этим же программатором был восстановлен успешно.
      Буду рад любым советам касательно того, как восстановить работоспособность платы.
       
       
       
    • Автор: _qwerty
      Продам
      Мегаомметр Ф4102/2-1М. Состояние на фото.
      Измерители давления ПРОМА ИДМ-ДИ-160 (предел измерения 160кПа, 9шт). С хранения, в упаковке. Год выпуска 2012, последняя поверка 2013 год. Паспорт и руководство в комплекте.
      Пускатель э/м ПМЛ 1100-12 (2шт), новые
      Фотодатчик сигнализирующий ФДС-03-220. 1шт, состояние б/у
      Терморегулятор Ратар-03 двухканальный с универсальными входами. 6шт, с хранения, в упаковке.
      Просьба по вопросам и ценам писать в личку. Возможен торг,возможна отправка по России. При необходимости сделаю дополнительные фотографии


















    • Автор: Ru_s
      Здравствуйте. Подскажите пожалуйста, возможно ли на attiny13 реализовать такую штуку. Мне в процессе работы программы нужно поменять режим работы таймера/счетчика с fast PWM на обычный счёт, отсчитать длительный промежуток времени и опять вернутся в режим ШИМ. Т.е. я подаю на ногу сигнал ШИМ и когда он в максимальном значении, я его отключаю, и тупо подаю на ногу высокий лог. уровень. В это время Т/С по идее свободен, и мне надо посчитать время работы выхода на максимальном лог. уровне, при достижении какого-то значения времени нужно перевести т/с обратно в ШИМ. Возможно ли это? И как приблизительно это реализовать
    • Автор: ShimkoMax
      Здравствуйте. Требуется вывести данные температуры и влажности на экран. С LCD дисплеем разобрался, осталось разобраться с SHT21. Постоянно выводит 0 на дисплей:
      Main.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #include <stdio.h> #include <stdlib.h> #include "globals.h" #include "LCD_lib.h" #include "twi.h" // I2C #include "sht21.h" int main(void) { I2C_Init(); _delay_ms(100); LCD_init(); char buffer[20]; roomAdrInit(); SHT21_reset(); while(1) { SHT21_reset(); LCD_sendString(itoa((int)get_temperature(), buffer, 10), 4, 0, 0); _delay_ms(1000); } } twi.c:
      #include <avr/io.h> #include "twi.h" void I2C_Init(void) { TWSR = 0; TWBR = 0x20; TWCR = (1<<TWINT) | (1<<TWSTA) | (1<<TWEN); } void I2C_StartCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN); while(!(TWCR & (1<<TWINT))); } void I2C_StopCondition(void) { TWCR = (1<<TWINT)|(1<<TWSTO)|(1<<TWEN); } void I2C_SendByte(uint8_t data) { TWDR = data; TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); } unsigned char I2C_ReadByteAck(void) { TWCR = (1<<TWINT) | (1<<TWEN) | (1<<TWEA); while(!(TWCR & (1<<TWINT))); return TWDR; } unsigned char I2C_ReadByteNak(void) { TWCR = (1<<TWINT) | (1<<TWEN); while(!(TWCR & (1<<TWINT))); return TWDR; } sht21.c:
      #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #include <stdlib.h> #include <stdio.h> #include "twi.h" #include "sht21.h" void SHT21_reset() { unsigned char reg[1]; reg[0]=SHT21_reset_cmd; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); _delay_ms(100); } uint16_t checksum(unsigned char data[],uint8_t byte, uint8_t check) { uint8_t crc=0; uint8_t bytectr,bit; for (bytectr=0; bytectr<byte;bytectr++) { crc^=(data[bytectr]); for (bit=8;bit>0;bit--) { if(crc&0x80) { crc=(crc<<1)^polynomial; } else { crc=crc<<1; } } } if (crc!=check) { return 0; } else { return data; } } void write_user_register() { unsigned char reg[3]; reg[0]=user_register_write; reg[1]=0x44; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(*reg); I2C_StopCondition(); } uint16_t read_value(uint8_t reg) { char data[4],crc; uint16_t result; data[0]=reg; I2C_StartCondition(); I2C_SendByte(SHT21_i2c_write); I2C_SendByte(reg); I2C_StartCondition(); I2C_SendByte(SHT21_i2c_read); data[1] = I2C_ReadByteAck(); data[2] = I2C_ReadByteAck(); crc=I2C_ReadByteNak(); I2C_StopCondition(); result=(data[1]<<8) | data[2]; checksum(result,4,crc); result &= 0xFFFC; return result; } float get_humidity() { //char buffer2[4]; uint16_t hum_value = read_value(humidity_hold_mode); return -6 + 125.0 / 65536.0 * hum_value; //dtostrf(rh,5,2,buffer2); _delay_ms(100); } float get_temperature() { //char buffer1[4]; uint16_t temp_value = read_value(temperature_hold_mode); return -46.85 + 175.72 / 65536.0 * temp_value; //dtostrf(tc,5,2,buffer1); _delay_ms(100); }  
    • Автор: GeloMik
       
      Я новичок в программировании AVR контроллеров, хотя знаю +/- C++.
      Проблема заключается в том, что я не могу написать прошивку к своему маленькому проекту. Используемый мною контроллер - ATTiny45. У него на борту имеется 1 АЦП с выходом на 4 ноги. Нужно, чтобы фактически одновременно брался замер с 3, 4 и 5 порта по АЦП, и при появлении 1 на одном из них МК должен подать 5В на 1 или 2 порты. Источник АЦП AREF. 
      Сюда прикреплю схему самого робота, если кого не затруднит помочь написать прошивку, буду очень благодарен 

  • Сообщения

    • Поставьте сдвоенный переключатель: одна половина переключает резисторы, другая выбирает нужный цвет ленты.
    • ЦАП диерский, потому было бы неплохо добавить немного информации. Кстати, транспорт на картинке как называется?
    • А она и не должна греться. Просто в какой-то момент тихо умрёт и всё.
    • В настоящий момент: Nidec VA450DC 120х120х25мм можно сказать новые. Трехфазный двигатель ! 4 штуки в наличии. Цена 400 рублей за 1 шт. AVC DATA1551B8M 48 вольт 0,98 ампер. Старт 30 вольт. 170х150х50 мм. Вес 950 грамм. Можно сказать новые. В наличии 8 штук. Цена 700 рублей за 1 штуку.  Delta 24 вольта 2.3a 140x140x50mm Можно сказать новые. Старт 12 вольт. 8 штук в наличии. Цена 500 рублей за 1 шт. Delta 12 вольта 2.94 ампера Турбина,немного б/у. 4 штуки в наличии. Цена 300 рублей за 1 шт.  NMB-MAT 12 вольт 2,65 ампера Турбина, можно сказать новые. 16 штук в наличии. Цена 250 рублей за 1 шт. Delta 60х60 мм 12 вольт 1,2 ампера. 10 штук в наличии. Цена 150 рублей за 1 шт. COMAIR ROTRON 48 вольт 0,46 ампера. можно сказать новые. Старт 12 вольт. Диаметр 172 мм , высота 51 мм. 4 штуки в наличии. Цена 600 рублей за 1 шт. В комплекте 2 решетки. Delta 24v 1,8 ампера 200х200х70 мм. Вес 1400 грамм. можно сказать новые. Старт плавный, очень плавный, начинает работать с 17 вольт. Цена 700 рублей за 1 шт. В наличии 4 штуки. Очень мощные дельты 80х80х38мм 12 вольт 2,7 ампера  80х80х50мм 12 вольт 3,1 ампера. Можно сказать новые.  7 штук в наличии. Цена 300 рублей за 1 шт. (за сдвоенный 600 рублей) Это две части сдвоенного вентилятора.  Решетки для вентиляторов. 120 мм 50 рублей за 1 шт в наличии 8 штук.  40 мм 20 рублей за 1 шт в наличии 12 штук. Delta 40x40мм 12v 0.87a 12 шт. 100 рублей за 1 шт AVC 40x40мм 12v 1.14a 10 шт. 100 рублей за 1 шт
    • BC Components  33000 мкФ 100 вольт. Диаметр 75 мм. Высота 110 мм. Плюс 6 мм клеммы.
      В наличии 2 штуки. Цена 1000 рублей за 1 штуку. Оболочка заменена, в живую выглядит лучше, чем на фотографии. Маркировка была единтична ЭТОЙвключая дату выпуска. Емкость 33500 мкФ, ESR менее 0,01 Ома                                                                                                                                          Есть ещё 2 целеньких BC Components  33000 мкФ 100 вольт. Диаметр 75 мм. Высота 110 мм. Плюс 6 мм клеммы.
      Цена 1000 рублей за 1 штуку.  Всего их 4 штуки, 2 из которых с замененной оболочкой. Параметры у всех идеальные. Дата выпуска у всех одинаковая. Rifa PEH200PD4470M 4700 мкФ 100 вольт. Диаметр 36мм Высота 105мм. В наличии 28 штук. Цена 300 рублей за 1 штуку.  Rifa PEH169VU422BQ 2200мкФ 400 вольт Диаметр 75мм Высота 120мм. Плюс 6 ММ клеммы.В наличии 4 штуки. Цена 800 рублей за 1 штуку. 3 одинаковых как на первой и второй фотографии и один с бумажной маркировкой.  Все параметры в норме. Емкость 2500-2600, ESR 0,02 Ом Nichicon VZ (M) 2200 мкФ 63 вольта. Диаметр 18 мм Высота 30 мм. В наличии 100+ штук. Цена 40 рублей за 1 штуку при покупке до 16 штук включительно. 
      Более 16 штук, цена 30 рублей за 1 штуку. 
      Более 50 штук, цена 25 рублей за 1 штуку.
      Данные конденсаторы стояли в оборудовании компании Emerson производства США. Nichicon PW (M) 2200 мкФ 63 вольта. Диаметр 18 мм Высота 40 мм. В наличии 100+ штук. Цена 50 рублей за 1 штуку при покупке до 12 штук включительно. 
      Более 12 штук, цена 40 рублей за 1 штуку. 
      Более 50 штук, цена 35 рублей за 1 штуку.
      Более 100 штук, цена 30 рублей за 1 штуку. До 12 штук можно отправить заказной бандеролью, стоимость доставки составит 120 рублей. Данные конденсаторы стояли в разветвителе питания Huawei NIPPON CHEMI-CON U82F  2700 мкФ 450 вольт Диаметр 50мм Высота 105мм плюс 5 мм выводы. Цена 500 рублей за 1 штуку. В наличии 4 штуки NIPPON CHEMI-CON 36DY15320 4700 мкФ 75 вольт Диаметр 35мм Высота 67мм плюс 6 мм клеммы. Вес 80 грамм. Цена 120 рублей за 1 штуку. В наличии 38 штук. UNITED CHEMI-CON 36DY15320 4700 мкФ 75 вольт Диаметр 35мм Высота 67мм плюс 6 мм клеммы. Вес 80 грамм. Цена 90 рублей за 1 штуку. В наличии 6 штук. NIPPON CHEMI-CON 36DE 3900 мкФ 60 вольт Диаметр 35мм Высота 55мм плюс 6 мм клеммы. Вес 70 грамм. Цена 50 рублей за 1 штуку. В наличии 3 штуки. NIPPON CHEMI-CON LXA 2200 мкФ 100 вольт Диаметр 35мм Высота 90мм плюс 6 мм клеммы. Цена 130 рублей за 1 штуку. В наличии 27 штук. NIPPON CHEMI-CON 36DA 2200 мкФ 100 вольт Диаметр 35мм Высота 55мм плюс 3 мм клеммы. Вес 70 грамм. Цена 80 рублей за 1 штуку. В наличии 13 штук. NIPPON CHEMI-CON 36D11061 2200 мкФ 100 вольт Диаметр 35мм Высота 80мм плюс 6 мм клеммы. Цена 100 рублей за 1 штуку. В наличии 25 штук. Имеются незначительные следы от крепежа, характеристики у всех идеальные. NIPPON CHEMI-CON CE KW 4700 мкФ 63 вольта Диаметр 35мм Высота 80мм плюс 10 мм клеммы. Цена 130 рублей за 1 штуку. В наличии 2 штуки. ROE 2200 мкф 100 вольт Диаметр 35мм Высота 80мм. Плюс 6 мм клеммы. В наличии 4 штуки. Крепления в комплекте. Цена 250 рублей за 1 штуку Leclanche 2200 мкФ 100 вольт Диаметр 35мм Высота 80мм плюс 6 мм клеммы. Вес 80 грамм. Цена 100 рублей за 1 штуку. В наличии 20 штук. Cornell Dubilier 101122u075aa2a 1200 мкФ 75 вольт. Диаметр 35мм Высота 55 мм плюс 3 мм клеммы. Вес 60 грамм. Цена 60 рублей за 1 штуку. В наличии 4 штуки. Epcos B41564-A9478-Q 4700мкФ 100 вольт Диаметр 50мм Высота 100мм. В наличии 10 штук. Цена 200 рублей за 1 шт. Epcos B41564-A9228-Q Made in Germany 2200мкФ 100 вольт Диаметр 35мм Высота 80мм Плюс 6 мм клеммы. Вес 110 грамм. Цена 130 рублей за 1 штуку. В наличии 32 штуки. Epcos B41564-A9228-Q1 2200мкФ 100 вольт Диаметр 35мм Высота 80мм Плюс 6 мм клеммы. Вес 70 грамм Имеются небольшие вмятины на корпусе от крепежа, на характеристики не повлияло. Цена 80 рублей за 1 штуку. В наличии 16 штук. S.L.C.E 2200 мкФ 100 вольтДиаметр 35мм Высота 80мм плюс 6 мм клеммы. Вес 80 грамм. Цена 100 рублей за 1 штуку. В наличии 52 штуки. AERODEV emi FTC08-75A-B Мощный проходной фильтрующий конденсатор 270 вольт переменного напряжения. Ток 75 ампер. В наличии 2 штуки. Цена 300 рублей за 1 штуку. Eurofarad FC 8257W Мощный проходной фильтрующий конденсатор 250 вольт переменного напряжения, 450 вольт постоянного напряжения. 4 мкФ. Ток 75 ампер. Made in France. В наличии 4 штуки. Цена 300 рублей за 1 штуку.  Крепления для конденсаторов диаметром 35 мм
      Из двух половинок 40 штук. Цена 50 рублей за 1 шт.
      Цельнометаллические U образные 16 штук. Цена 25 руб за 1 шт.