Ну сорри, я не хотел обидеть (просто жалко, что вы не дождались исправленной версии). Зато теперь вам придется помнить, что программатор (и, в перспективе УАРТ) должен быть трехвольтовый.pin1000 писал(а):Уточнил бы, не любитель бежать, а не любитель, сидеть без дела.
"зависит на 90% от качества фоторезиста" - может попробуйте лазерный утюг ? У китайцев есть даже бумага для термопереноса.
Я сейчас только ею и печатаю. Раньше печатал на факс-бумаге, тоже очень пристойный результат....
А теперь - будем надеяться, что уже финальный релиз платы второй версии TouchClock.
=================
По сравнению с предыдущей версией схемы добавилась толерантность к пятивольтовым программаторам и опциональная возможность развязывать 5 вольт от блока питания и от программатора - на плате место под 2 Шоттки диода и 2 напаиваемые перемычки Bypass под этими диодами. Перемычки не замкнуты.
Внимание! На новой схеме измениласть нумерация компонентов. Ибо некрасиво, когда возле R2 торчит R23, а R3 тусуется с R15-R17
Поехали.
Список деталей (BOM):
Спойлер
Код: Выделить всё
Value Qty Parts Package Device Description
22u 3 C1, C3, C11 SMC_B CPOL-EUSMCB POLARIZED CAPACITOR
1u0 3 C13, C15, C16 SMC_B CPOL-EUSMCB POLARIZED CAPACITOR
4u7 1 C17 SMC_B CPOL-EUSMCB POLARIZED CAPACITOR
220u 1 C19 CPOL-0605 CPOL-0605 POLARIZED CAPACITOR
0u1 11 C2, C4, C5, C6, C7, C10, C12, C14, C18, C20, C21 0805 C-EU_0805 CAPACITOR
27p 2 C8, C9 0805 C-EU_0805 CAPACITOR
SS12 2 D1, D3 SMA(214AC) SS_XXX SS12 -13 -14 -15 -16 -18 -19 -100
3v3 3 D2, D7, D8 SMB(214AA) ZENER-DIODESMB Z-Diode
3v3 1 D4 SOD80-R ZENER-DIODESOD80C Z-Diode
1N4148 6 D5, D6, D9, D10, D11, D12 SOD80-R 1N4148SMD DIODE
CR2032 1 GB1 CH224-2032 CR2032_HOLDER/CH224 CR2032 Holder
LCD_RGB_ILI9341_240320/3.2" 1 HG1 3,2" 32_320*240_ILI9341" DISPLAY
1117-3.3 1 IC1 SOT223 1117-3v3 Low drop positive voltage regulator
MEGA128-A 1 IC2 TQFP64 MEGA128-A MICROCONTROLLER
DS3231S 1 IC3 SO16W DS3231S TCXO Clock
MC34119 1 IC4 SO08 MC34119D Low Power Audio Amplifier Motorola
Ext.pwr 1 JP1 HOLES CONN1X2/R HOLES
Photo 1 JP2 HOLES CONN1X2/R HOLES
Sens.UART 1 JP3 PLS-R CONN1X5(1+3)R90 PIN HEADER
ISP+ 1 JP4 PLS-R CONN1X7(2+4)/R90 PIN HEADER
DS18B20_1 1 JP5 PLS-R CONN1X4(1+2)/R90 PIN HEADER
DS18B20_2 1 JP6 PLS-R CONN1X4(1+2)/R90 PIN HEADER
Ant 1 JP7 PLS-R CONN1X1/R90 PIN HEADER
GPO 1 JP8 HOLES CONN2X4/R HOLES
Spkr 1 JP9 PLS-R CONN1X2/R90 PIN HEADER
100uH 2 L1, L2 1812 L-EU_1812 INDUCTOR
BME280 1 MODULE1 BM(P|E)280_MODULE BM(P|E)280_I2C/4 MODULE
RDA5807 1 MODULE2 RDA5807_MODULE_PADS RDA5807M MODULE
16MHz 1 Q1 SM49 CRYSTALSM49 CRYSTAL
2N7002 6 Q2, Q3, Q4, Q5, Q6, Q7 SOT23 2N7002 Small signal N-Ch MOSFET
390 1 R1 0805 R-EU_0805 RESISTOR
100k 4 R13, R14, R15, R16 0805 R-EU_0805 RESISTOR
3k3 1 R19 0805 R-EU_0805 RESISTOR
120 2 R2, R5 0805 R-EU_0805 RESISTOR
100k* 1 R20 0805 R-EU_0805 RESISTOR
16k 1 R21 0805 R-EU_0805 RESISTOR
47k 1 R22 0805 R-EU_0805 RESISTOR
4k7 11 R3, R7, R8, R9, R10, R11, R12, R17, R18, R23, R24 0805 R-EU_0805 RESISTOR
10k 2 R4, R6 0805 R-EU_0805 RESISTOR
SMD solder JUMPER 2 SJ1, SJ3 SJ SJ/NS SMD solder JUMPER
SMD solder JUMPER 1 SJ2, SJ4, SJ5 SJ_2 SJ2W SMD solder JUMPER
POWER 1 U1 USB-MICRO-SMD USB5" USB AB connector
Спойлер
Мозги - 128 мега.Питание - от 5 вольт. Наружу торчит MicroUSB-разъем U1. Так же на плату (позиция JP1) можно впаять либо коннектор PLS-R, либо провода от источника питания 5 вольт.
На схеме предусмотрена развязка питания диодами D1,D3. Что бы при одновременно подключенных блоке питания 5 вольт и программатора со своим 5 вольт питанием никому не поплохело от конкуренции питания. Пойдут любые Шоттки в SMA корпусе. Под диодами разведены напаиваемые перемычки SJ1, SJ3. Это для тех, кто не планирует подключать одновременно блок питания и программатор. Т.е. запаиваются или диоды, или сопли-перемычки.
Далее 5 вольт стабилизируются LDO-стабилизатором 1117-3.3 до 3.3 вольт, от которых питаются все цифровые элементы схемы, а так же модуль FM-приемника. Усилитель мощности питается напрямую от 5 вольт.
По питанию FM-приемника и усилителя стоят фильтрующие индуктивности.
Внутрисхемное программирование. Осуществляетсч через разъем JP4. На разъем выведены Reset, SCK, RX0/PDI, TX0/PDO, земля и вход питания 5 вольт, которые подаются на LDO IC1 через диод или перемычку (см.выше, про развязку питания).
У 128 меги прошивка выполняется по SPI-интерфейсу, но MOSI/MISO для прошивки не совпадают с интерфейсом SPI, а выведены на RX-TX USART0. Т.е. в основном режиме работы на JP4 выведен USART, который можно будет использовать, например, для связи с ПК. Предусмотрен диодно-резисторный преобразователь уровней сигналов от пятивльтового программатора к трехвольтовым уровням микроконтроллера.
Дисплей. Любой на контроллере ILI9341, разрешением 320*240 и параллельным интерфейсом, выведенным на 34 пиновый интерфейс с резистивным тачем на контроллере, совместимом с XPT2046. Такие дисплеи есть в диагоналях от 2.4" до 3.5".
В принципе, если дисплей будет на другом контроллере, но так же выведен на 34-пиновый параллельный интерфейс - переписать драйвер и инициализацию - будет несложно.
Звук. Выход FM-приемника заведен на усилитель мощности на MC34119. Туда же, через делитель R20-R21 заведен сигнал будильника. Возможно, придется подобрать значение резистора R20 для получения удовлетворительной громкости звука.
Выход усилителя выведен на разъем JP9. Согласно документации на ИМС усилителя, минимальное сопротивление динамической головки - 8 Ом.
Часы реального времени - на DS3231, тут всё типовое.
Датчик освещения. К JP2 можно подключить фоторезистор (можно впаять на проводочках либо подключать через гвозди PLS-R).
Фоторезистор в освещенном состоянии должен иметь сопротивление в районе 4-10 кОм.
Управление внешними устройствами.
В планах будильнки должны будут уметь управлять четырьмя внешними устройствами.
Для этого на дырки под кодовым названием JP8 выведены 4 стока полевых транзисторов Q4-Q7. И 4 земли. Не смотря на то, что обратный диод встроен в сам MOSFET технологически, я на всякий случай предусмотрел место под защитные диоды D9-D12. Коммутируемые напряжения и токи - согласно характеристик транзисторов. R13-R16 - подтяжка затвора к земле. Если управление внешними устройствами не планируется, элементы R13-R16, Q4-Q7 (и D9-D12) можно не устанавливать.
Датчики температуры. Предусмотрено подключение 2 датчиков DS18B20 по трехпроводной схеме. Питание датчиков - от шины 3.3в. Линии данных датчика защищены стабилитронами на 3.3-3.6-3.9 вольт. На всякий случай, если датчик будет выноситься из корпуса на проводах (и на разъеме), что бы защитить вход контроллера хотя бы от мелких наводок/помех/статики. В случае расположения датчиков внутри корпуса - стабилитроны не нужны.
Если же хочется более серьезной защиты - то можно поставить супрессоры (TVS-диоды) с напряжением пробоя 3.3-3.6 вольта.
Например, SMBJ3V3-E3/52 от VISHAY или SMLVT3V3 от ST. Это однонаправленные супрессоры в корпусе SMB на 3.3 вольта. Якобы могут поглотить импульс до 600 Вт.
Внутренний датчик давления/влажности/температуры ВМЕ280.
Данные датчики китайцы массово продают уже напаянные на переходные платы.
Причем в двух вариантах:
- питание 1.8 - 3.3 вольта и интерфейсы SPI и i2c
- питание до 5 вольт, со встроенным LDO для датчика и интерфейс i2c с преобразованием уровней.
На плате предусмотрено место для подключения обоих вариантов датчика. При этом можно перемычкой SJ4 выбрать нужное питание - от шины 3.3в или от 5в.
Датчик может быть вынесен на боковую или заднюю поверхность корпуса (помним , что i2c не любит длинных линий). Либо датчик можно установить с обратной стороны платы, приподняв над платой (хотя бы на той же PLS-гребенке), а в задней стенке сделать вырез. Высоту приподнимания датчика нужно подобрать так, что бы он был вровень с задней стенкой корпуса. Так же можно внутри корпуса вокруг датчика сделать изолирующую рамку из пористого материала, что бы внутренний микроклимат (и нагрев LDO 1117) меньше влияли на показания датчика.
Внешний датчик температуры/влажности/давления.
Поскольку i2c - шина внутренняя, не предназначенная для длинных линий, общение с внешним датчиком будет реализовано на основе последовательного порта USART1 нашего контроллера.
В этом случае внешний датчик/датчики обслуживаются какой нибудь тинькой.
Для связи с внешним датчиком можно попробовать применить модули - беспроводные удлинители последовательного порта.
Тогда к внешнему датчику вообще не будет проводов.
(В перспективе такой датчик появится отдельной конструкцией, в этой или в отдельной теме). Из прикидок - на 45/85 тиньке можно сделать 2 сенсора - BME280 и DS18B20, управление питанием передатчика (для беспроводного решения), выбор скорости передачи 1200/9600 по UART и контроль напряжения батарейки.
USART1 выведен на JP3.
Для увеличения помехозащищенности линии выход контроллера внешнего датчика должен быть типа открытый сток/открытый коллектор.
Этот выход нагружен на резистор R1. При этом в линии будет протекать ток порядка 3,3/390=~8мА. На входе предусмотрен стабилитрон на 3.3-3.9 вольта. Его так же можно заменить на TVS-диод (см.выше).
Питание для внешнего датчика так же можно выбрать перемычкой SJ2 - 3.3 или 5 вольт.
Изначально планировался только прием данных от внешнего датчика.
Но на всякий случай на разъем JP3 выведен и Tx, тоже вида Открытый сток.
На данный момент передача данных не планируется, соответственно, элементы Q2, Q3, R4, R6 можно не устанавливать.
Если внешний датчик будет подключаться через модули-радиоудлинители - резистор R1 можно увеличить до 1кОм, а диод D2 не устанавливать. Нужно только помнить, что на входе Tx микроконтроллера напряжение не должно превышшать 3.3 вольта.
Перемычка SJ5 отвечает за скорость приема данных от датчика - 1200 или 9600 бод.
Спойлер

Спойлер
Мега128А - 5 штук, по $1.12Дисплей раз
Дисплей два
Модуль приемника RDA5807
Датчик давления/влажности/температуры ВМЕ280, по ссылке 2 варианта с разным питанием
Телескопическая антенна, 2 шт, длина сложенной до шарнира - около 10.5 см, полная длина 38 см
Динамики, 1Вт, 16 Ом, 36 мм диаметр, высота 5 мм, 2 шт
DS3231 модуль - донор держалки для батарейки CR2032 и сама DS3231
МикроЮСБ-гнездо на отдельной платке (для возможности вынести в отдельный угол корпуса)
Спойлер
Все, что было в первой версии:- Часы, календарь
- Листание календаря
- 5 будильников (разные мелодии, выбор громкости, выбро дней недели)
- отображение температуры по двум датчикам DS18B20 *
- Три языка интерфейса
- 7 цветовых схем (переключение вручную или по рандому)
- 7 уровней яркости подсветки
*отображение температур уйдет в метео блок
Во второй версии в планах:
- FM - приемник RDA5807, с возможностью его использования в качестве будильника
- Связь по uart с ПК для задания сетки частот и названия радиостанций **
- поддержка фотодатчика для переключения подсветки день/ночь
- отдельный блок отображения метеоданных (при наличии хотя бы одного датчика)
- История метеоданных **
- поддержка датчика температуры/давления/влажности ВМЕ280
- возможность подключения датчика ВМЕ280 как напрямую по i2c, так и с выносом в отдельный модуль со связью через uart
- несколько выходов типа "открытый сток", управляемых из будильников
**опционально, если хватит места и желания





