Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: Москва
В данной теме я хочу выслушать мнение форумчан по прибору, описанному ниже. Готов выслушивать советы, критику, учесть пожелания к функционалу и изготовить несколько экземпляров (1 для меня и несколько для форумчан), помощь приветствуется.
Проэксплуатировав свою прошлую игрушку примерно год, смог сформировать для себя ТЗ на разработку нового прибора. Итак цель — разработка прибора, способного управлять 5-ю вентиляторами (FAN); тип сигнала — программно управляемый Step-Down Voltage Regulator 1А, измерение скорости вращения вентиляторов (подсчет выходных импульсов); один канал для управления помпой, тип сигнала - программно управляемый Step-Down Voltage Regulator 3А; пять каналов измерения температуры, диапазон -10...+60С, тип сигнала и датчиков определю в ходе работы; интерфейс для подключения к компьютеру : USB; дисплей ; размер — два отсека 5,25`.
Аппаратная начинка : микроконтроллер — NXP LPC2478 (ARM7;Single-chip 16-bit/32-bit micro; 512 kB flash, Ethernet, CAN, LCD, USB 2.0 device/host/OTG, external memory interface www.nxp.com), корпус : LQFP 208; дисплей - POWERTIP TECH 3,5` TFT with T\P SPF-PH320240T-006-IP1Q; интерфейсы для подключения к компьютеру : 2хUSB Device. первый– native USB device, класс устройства — виртуальный com порт, второй через чип — переходник FTDI FT232BM что тоже com порт; сохранение уставок — внешняя SPI Data Flash от 32 кБ; тип разъемов для подключения вентиляторов и датчиков определю в ходе разработки.
Конструктив : «бутерброд» из 3х частей : печатной платы, дисплея и лицевой панели. На печатной плате будут установлены бонки, на которые «ляжет» дисплей, сверху прижму лицевой панелью. К лицевой панели по бокам будут прикреплены салазки для закрепления в корпусе компьютера.
Программирование микроконтроллера (прошивка) : Eclipse + gcc +gdb+JTAG (openOCD)
Программа для компьютера : Eclipse + SUN JAVA + Qt + Интергратор Qt в Eclipse +MiniGW + GDB;
Черчеж лицевой панели : nanoCAD СПДС, формат DXF.
Документация : Open Office 3x
Мне больше нравится продукция фирмы ATMEL но у них пока нет в продаже микроконтроллера с TFT контроллером, а маленький дисплей брать не хочу. Два USB device это избыточно, но с другой стороны работа с com портом очень проста и позволяет «быстро» подключить прибор к компьютеру, сэкономив на время на разработку программного обеспечения+можно использовать режим ISP для обновления прошивки контроллера.
Этапы и сроки (все с сегодняшнего дня) проведения работы : 1. Разработка принципиальной электрической схемы 1-2 недели + 1 неделя на обсуждение; 2. трассировка печатной платы : 1-2 недели + 1 неделя на обсуждение; запайка опытного образца : неделя; 3 Разработка программного обеспечения : от 4х недель.
Как я вижу проведение работы : я делаю какую — то часть работы, результат выкладываю на персональной странице : схемы в PDF, разводка в GERBER+NC_DRLL; архивы прошивок и программ. Все вопросы обсуждаем здесь.
По цене вопроса : по прикидкам размер печатной платы будет составлять 138,5х82мм, что есть 1,57 дм2, 4 слоя. Подготовка к производству стоит 2500р. , цена за дм2 700р. Т.е. примерно плата будет стоить 1100р без учета стоимости подготовки. Лицевую панель есть возможность изготовить на станке с ЧПУ бесплатно (материал свой). Дисплей 1100р (пара у меня уже есть), микроконтроллер 400р (пара уже у меня есть), вся рассыпуха — 500р. Примерно на круг 3100 рублей, скорее всего сумма увеличится. Учтите что это единичное производство, для единичных экземпляров с возможностью получить ту функциональность которую хочешь это безумно дешево.
Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: Москва
Сегодня прикинул схему программно управляемого источника напряжения, http://cp.people.overclockers.ru/cgi-bi ... _DC_1A.pdf Накладные расходы на подключение одного вентилятора : 1 канал PWM ; 1 канал АЦП. Для подсчета скорости вращения нужно будет использовать таймер счетчик MAT.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
Рассасывать на резисторы - плохая идея.
По синхронному варианту .... там что, ток в 10А? Идея красивая, то вряд-ли стоит забивать гвозди микроскопом.
Если делать 'так', то достаточно поставить что-то типа MP2307, а управляющее напряжение получить дельта-модуляцией через RC фильтр. Частота высокая, дроссель маленький, требуется керамический конденсатор в 10uF на выход - т.е. схема весьма компактна. Ток 3А, вряд-ли существуют кулеры с бОльшим током.
В идеале хотелось бы видеть устройство:
- канал управления помпой - сухой контакт (реле, коммутация ~220В 0,5А)
- 8-12 каналов управления вентиляторами
- 12 каналов измерения температуры
Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: Москва
serj Схема великолепна в своей простоте и стандартности. На ток в 1А она вполне прокачает, все будет холодное. В данном случае резисторы не "рассасывающие" а токоограничивающие. А главное : цена на два канала (BSS123 2х2р, IRF7104 20р, SM5819 2x5р, емкости 20р, сопротивления 1р, индуктивности 2х10р) 75р, что есть 37,5р на канал. Вы правы, кулер на 3А найти нельзя, а вот помпу - пожалуйста, я рассчитываю на Laing DDC. "управляющее напряжение получить дельта-модуляцией через RC фильтр" ссылку или схему можно?
a_prol LM5104 - дешево и доступно, более одного канала не нужно, причина - чуть выше.
Naisho 220 на переднюю панель тащить вообще не хочется, лучше транзистор для управления внешним реле, которе повесить прямо на помпу.Честно, я с трудом могу представить 12 пропелеров в корпусе и 12 источников температуры. Перечислите? А потом каждый дополнительный канал - это место на плате и дополнительные провода в системном блоке. Для водянной системы достаточно : температура окружения, воды на входе в радиатор и на выходе + 3 вентилятора на радиаторе. Я не против добавить каналы, это не сложно и на плате они поместятся.
Общие пояснения к схемам :
1. К сожалению на LPC2478 доступно только 8 каналов АЦП. Баланс : 6 на каналы регулирования вентиляторов, и 2 на Touch Screen.
2. В качестве датчиков я решил применить Platinum Resistance Temperature Detector Heraeus SMD 0805 (V) http://cp.people.overclockers.ru/cgi-bi ... 05_V_e.pdf - точность 0,1С без калибровки
- цена (в Москве) 2,8 $ шт
- схема (лист 6) обеспечивает измерения в диапазоне -40 +80
3. Решил добавить SDRAM ( из расчета хранения экрана в памяти)
4. Добавил DATA Flash для хранения уставок
5.Добавил мост FT232BM - для ускорения разработки программного обеспечения, по большому счету это "костыль" но если я хочу начать работать мне он нужен.
Пронумеровал элементы, обрисовал печатную плату, добавил элементы на плату. Перечень элементов будет уточняться, по мере работы над печатной платой.
Теперь по листам :
1. TOP Level - на ней размещены остальные листы в виде "квадратиков", по ней можно отдельно говорить о всем устройстве.
2. LPC_2478 - процессор
3. SDRAM_DataFlash - память
4. TFT_LCD - разъем для подключения дисплея и схема управления подсветкой
5. 2хUSBDev - схема подключения к шине USB
6. Thermometry - схема подключения датчиков температуры
7. BUCK_DC_DC_1A - преобразователь на 1А
8. Synchronous _Buck_3A - преобразователь на 3А
Более подробно опишу все завтра, поясню причины выбора комплектующих и функционала.
Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: Москва
Kill Я не против цифровых датчиков, агрументируйте свою позицию. Чем они лучше?
Я решил сделать 2 «мощных» канала, один для помы, второй для 3х вентиляторов включенных параллельно ( установленных на радиаторе).
Мне не нравится идея использовать цифровые 1-wire датчики, тут несколько причин, главная — не хочу программировать интерфейс 1-wire, потом уже медленно, низкая точность. Для подключения к шине 1-wire декларируется что нужен «всего» 1 свободный пин микроконтроллера, но для того чтобы с ними было удобно работать нужно иметь возможность формировать интервалы и считать время — функциональность выводов MAT и CAP (в терминал LPC). А если на одну шину подключать несколько датчиков то встает вопрос в программном обеспечении о закреплении датчика за источником. Все свободные ресурсы для подсчета частоты (CAP их всего 4 канала) я отдал на подсчет частоты вращения вентиляторов, и то их не хватило придется программно переключать пины и считать частоту с разделение каналов по времени. Предложенная мной схема позволяет решить все вопросы : хорошая точность (0,1С) , нормально по деньгам (8$ на плате + 2,8$ за каждый чувствительный элемент), доступно, повторяемо (не требуется калибровка), просто в программировании (формулу я привел на листе), широкий диапазон (-40+80).
Нужно уже думать в сторону программного обеспечения.
1.Главный вопрос, это GUI — графическая библиотека для вывода примитивов на дисплей. Желательно, открытый проект.
2.Принцип регулирования. В «прошлом» проекте я измерял три температуры : окружения, теплоносителя на входе в радиатор и на выходе из радиатор. Существенную роль играет место установки датчика температуры окружения, градиент изменения температуры в системном блоке может достигать от низа до верха 2-3 градусов. Нужно применять ПИД регулятор но встает вопрос его настройки в конкретной системе (уставки, полученные в одной системе не будут подходить к другой).
В базовой версии программного обеспечения я считаю нужно сделать следующее : запустить все устройства (управление вентиляторами, подсчет частоты вращения вентиляторов, измерения температуры), наладить связь прибор-компьютер через мост и написать простенький регулятор. На компьютере сделать программу позволяющую просматривать текущие параметры функционирования системы и позволяющую изменять уставки регулятора.
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
ivan1180, для справки - терморезисторы априори обладают кошмарной нелинейностью. Если хотите использовать линейный датчик - юзайте диод. Его характеристики гарантированно линейны от 0 до 80 градусов, тепловой коэф-т ровно -2mV/C при неизменном токе и не зависит от диода.
Member
Статус: Не в сети Регистрация: 11.12.2005 Откуда: Москва
serj Я не просто так привел документацию на чувствительный элемент, они не просто так стоят 2,8$ шт. Прежде чем так сурово отвечать было бы неплохо чтобы вы изучили мат часть. Это не просто термосопротивление, это Platinum Resistance Temperature Detector в простонародье "платина 1000". Этот элемент имеет ЛИНЕЙНУЮ характеристику изменения сопротивления от температуры с коэффициентом в 3850 ppm\C (3,85 Ома\С), более того на каждом пакетике с этими элементами пишутся для партии сопротивление в 0С и температрурный коэффициент для того если вы хотите измерять с точность 0,01С и лучше.
А диодами другая история - их нужно каждый пол-года калибровать, имеет свойство уход p-n перехода.
Добавлено спустя 5 минут, 34 секунды
Сопротивление чувствительного элемента в зависимости от температуры определяется по формуле :
Rt = R0(1 + AT + BT2 - 100CT3 + CT4)
Rt = Resistance in Ohms at temperature T in °C
R0 = Resistance in Ohms at 0°C
T = Temperature in °C
C = 0 for T ³ 0°C
For 1000 W RTD: A = 3.85 x 10-3, B = -6.02 x 10-7, C = -6.02 x 10-12
Второй и третий многочлены практически не влияет на точность, поэтому их в расчете я не учитываю.
Member
Статус: Не в сети Регистрация: 16.04.2008 Откуда: Москва
serj АГа, сопротивление платины не линейно))). У меня в муфеле оно при темпах -10 - +1350 градусов линейно (правда от 800 гр начинается небольшой увод и при максимальной темпе точность 5гр-странная ситуация).
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения