
NM27C512 Dumper
IlyaBOT/LunarView3
Отдельная двухслойная плата программатора параллельных EPROM, 150×105 мм. USB и CH340 расположены слева, ATmega328P — в центре, регистры адреса и DIP-28 — справа; дополнительная силовая часть находится снизу.

Отдельная двухслойная плата программатора параллельных EPROM, 150×105 мм. USB и CH340 расположены слева, ATmega328P — в центре, регистры адреса и DIP-28 — справа; дополнительная силовая часть находится снизу.
Lunar Writer is an open-source printed circuit board by IlyaBOT, from the IlyaBOT/LunarView3 repository on GitHub. It is a 2-layer board of 150 × 105 mm with 179 parts on 137 nets, routed with 2,795 tracks and 250 vias.
It is built around the ATMEGA328P-AU, CH340C and 74HC595D, with the BAT54S, MMBT3906 and MMBT3904 among its other parts. Its parts include 61 resistors, 31 capacitors, 27 diodes, 12 ICs and 7 transistors. It belongs with the AVR (ATmega, ATtiny) boards of this library.
Отдельная двухслойная плата программатора параллельных EPROM, 150×105 мм. USB и CH340 расположены слева, ATmega328P — в центре, регистры адреса и DIP-28 — справа; дополнительная силовая часть находится снизу. Питание программирования подключается к винтовой клемме J4, 12–24 В DC. USB отдельно питает логику напряжением 5 В. Земля общая.
Проверено KiCad 10.0.6: ERC — 0; DRC — 0; неразведённых соединений — 0; расхождений платы со схемой — 0. На плате 175 электрических компонентов, четыре крепёжных отверстия M3, 250 переходов и два заполненных полигона GND. Локальные библиотеки включены в проект; нужны штатные библиотеки KiCad 10. Изменённые посадочные места сохранены в ProjectFootprints.pretty, без исключений DRC для различий с библиотекой.
Это результат CAD-проверки. Собранная плата, устойчивость преобразователя, нагрев, контакты реле и импульсы VPP на настоящей EPROM не испытывались.
| Узел | Подключение / назначение |
|---|---|
| J1 MicroUSB | 5 В для ATmega, CH340, логики, буфера и катушки реле |
| J4, контакт 1, квадратная площадка | Плюс внешнего стабилизированного источника 12–24 В |
| J4, контакт 2 | Минус внешнего источника, GND |
| J2 AVR ISP | Прошивка ATmega328P; не включать одновременно два источника питания 5 В |
| U6 DIP-28 | Прямое подключение NM27C512; выемка/вывод 1 сверху |
| J5 | Шина для будущих проверенных адаптеров; используется один ROM, U6 или адаптер |
| JP1, перемычка 1–2 | Регулируемая линия VPP 12,75 В для NM27C512 |
| JP1, перемычка 2–3 | Отдельная линия HIGH, регулируемая под конкретную EPROM, обычно 21 или 25 В |
| JP1 без перемычки | VPP_IN отключена от регуляторов; R77 разряжает её |
На JP1 устанавливается одна перемычка. Переставлять её следует при отключённых USB и J4. Для NM27C512 используется только положение 1–2: HIGH не подаётся непосредственно в её сокет.
Внешние 12–24 В не соединены с USB VBUS или шиной +5 В. Напряжение из клеммы сначала проходит предохранитель и защитный диод; U11 формирует около 30 В. U12/U13 получают из этой линии выбранное напряжение VPP. U7 формирует 6,25 В VCC непосредственно из защищённого входного питания, чтобы снизить нагрев.
При RESET аппаратные логические элементы запрещают включение обоих ключей VPP, а реле K1 возвращает сокет к обычному чтению при 5 В. На VPP_SW нет большого накопительного конденсатора. D6 показывает наличие высокого напряжения; это дополнительная индикация, а не измерительный прибор.
| Обозначения | Выбранные детали / требования |
|---|---|
| J4 | Phoenix MKDS-1,5-2 или механически совпадающая винтовая клемма, шаг 5,00 мм, два контакта |
| F2 | Bourns MF-R090, 0,9 А hold при 23 °C, 60 В, шаг 5,1 мм; при 50 °C hold 0,65 А |
| D40 / D42 | SS36, Schottky, 3 А / 60 В, SMA; защита от переполюсовки / выпрямитель boost |
| D41 | SMBJ24A, однополярный TVS, SMB; standoff 24 В, максимальный указанный clamp 38,9 В |
| U11 | LM2577T-ADJ, TO-220-5: VIN рабочее до 40 В, абсолютный предел 45 В; SW рабочее до 60 В |
| L1 | SRR1210A-101M, 100 мкГн ±20%, Irms 2,5 А, Isat 2,2 А; корпус 12×12 мм |
| C30 | 220 мкФ / 50 В, low ESR, диаметр до 10 мм, шаг 5 мм |
| C32 | 680 мкФ / 50 В, low ESR, ESR ≤0,2 Ом, допустимый ток пульсаций ≥0,2 А, диаметр до 12,5 мм, шаг 5 мм; пример: Chemi-Con EKYC500ELL681MK20S, 12,5×20 мм |
| C31 / C33 / C35 / C36 | X7R, 50 В; для 1 мкФ учитывать снижение ёмкости под постоянным напряжением |
| R70 / R71 | 47 кОм / 2 кОм, 1%; nominal BOOST = 30,135 В |
| R72 / C34 | 470 Ом / 47 мкФ 16 В, компенсация U11; C34 — электролит, плюс к BOOST_COMP_RC |
| U7 / U12 / U13 | LM317T; отдельные изолированные радиаторы, металлическая площадка соединена с OUT |
| D43 / D44 | M7 / 1N4007-SMD, SMA; обычная выводная 1N4007 сюда не подходит |
| Q3 / Q4 / Q6 / Q7 | IRF9540N 100 В / MMBT5551 160 В / MMBT5551 160 В / MMBT5401 150 В |
| R31 / R63 | 2,2 кОм, 0,5 Вт, 2010; рассчитаны на повышенное напряжение и ток управления |
| R37 | 10 кОм, 0,25 Вт, 1206; разряд VPP_SW |
Расчётная нагрузка — до 100 мА на линии boost 30 В и до 100 мА нагрузки целевого VCC. Для консервативного расчёта приняты защищённый вход 10,5 В и КПД 75%: потребление внешнего источника получается примерно 0,49 А, включая нагрузку VCC и её обратную связь. Это оценка, а не измеренный КПД. Внешний источник 12–24 В / 1 А даёт запас; реальный ток и температуру нужно проверить при наладке. Клемма и предохранитель не увеличивают допустимый ток EPROM.
Из этих 100 мА boost оба регулятора VPP вместе потребляют около 21 мА на собственные делители. Для целевой EPROM на VPP принят предел 75 мА, оставляющий резерв; это выше типичной расчётной нагрузки NM27C512, но не универсальный ток для любых микросхем.
По формулам 8–10 из документа TI получены Rc(max) ≈618 Ом, Cout(min) ≈17,7 мкФ и Cc(min) ≈15,6 мкФ при выбранном Cout=680 мкФ. Номиналы 470 Ом / 680 мкФ / 47 мкФ проходят также проверку с допусками резистора и электролитов. Оценка пика тока L1 с минимальными L и частотой — около 1,50 А, ниже Isat=2,2 А. Расчёт компенсации не заменяет измерение реакции на скачок нагрузки.
С учётом тока обратной связи U7 может рассеивать около 1,96 Вт при 24 В и нагрузке VCC 100 мА. U12 при 30,135→12,75 В и нагрузке 100 мА — около 1,92 Вт. Для каждого нужен радиатор ориентировочно ≤20 К/Вт, с проверкой температуры корпуса. Между соседними регуляторами шаг около 13 мм: выбирать узкие вертикальные радиаторы, проверять их габариты перед заказом. Радиаторы в 3D отсутствуют; их механическая совместимость UNVERIFIED. Общий неизолированный радиатор замкнёт разные выходные напряжения.
USB питает также катушку стандартного Omron G5V-2-DC5, около 100 мА. С учётом логики и целевой EPROM предусмотреть бюджет до примерно 350 мА на 5 В и проверить фактический ток. Допустимый ток выбранного USB-источника и USB-описателя CH340 проверяются отдельно; схема не выполняет USB-PD-согласование.
TVS подавляет краткие импульсы в пределах своих параметров. Максимум входа устройства остаётся 24 В DC; TVS не является стабилизатором длительного перенапряжения. Не повышать напряжение клеммы ради получения 25 В VPP — это делает boost.
Проверки VPP в прошивке через ADC не обнаруживают все короткие выбросы. Перенос силовой схемы на новую плату требует измерений даже при успешном ERC/DRC.
Lunar Dumper использует firmware/lite, 115200 бод и строковый протокол LITE2. Lunar Writer использует firmware/main.c, три регистра адреса/статуса, 57600 бод и прежний протокол Stage 2 v1 с бинарными данными и CRC. Это разные прошивки.
Сборка Writer: powershell -File firmware/build.ps1. Получается firmware/writer_safe.hex, идентификатор INFO — device=Lunar_Writer revision=1 firmware=1.0.0, WRITE заблокирована. Имя, ревизия и версия задаются DEFINE в firmware/config.h. В текущей сборке 4598 байт Flash и 241 байт SRAM.
Существующий алгоритм записи реализован для National NM27C512: 6,25 В VCC, 12,75 В VPP, импульсы CE/PGM 100 мкс, проверка после импульса, максимум 25 попыток. Физическая запись новой платой пока не проверена. Общие 27C512 и другие производители не получают этот алгоритм автоматически.
После наладки возможна сборка -Commissioned, но само компилирование не является подтверждением исправности платы. В репозитории могли остаться старые HEX Stage 2; для нового имени использовать результат текущего build.ps1.
LunarView 3 версии 1.2 пересобран с новыми названиями. Сейчас он подключается к Lunar Dumper; поддержку протокола Writer и запись ещё нужно добавить. Для уже существующего протокола Writer использовать tools/eprom_tool.py, Python 3.10+ и pyserial:
python tools/eprom_tool.py info --port COM3
python tools/eprom_tool.py read --port COM3 --device NM27C512 --out dump.binПриложение не подключает Writer по несовместимому протоколу. Существующий адаптер КР573РФ5 рассчитан на чтение, его линия VPP соединена с 5 В; через него нельзя программировать КР573РФ5. Обеспечение 21/25 В на новой плате не добавляет алгоритмы и не меняет допустимые напряжения этого адаптера. Стирание УФ EPROM выполняется внешним УФ-источником; электронной функции стирания здесь нет.
Готовые Gerber/drill относятся к двухслойной плате толщиной 1,6 мм, медь 35 мкм. Сигнальные дорожки преимущественно 0,25 мм, силовые 0,6 мм, локальные короткие выходы питания MCU/USB 0,25 мм, обычные переходы 0,8/0,4 мм. Верхняя и нижняя земли заполнены, изолированные острова удаляются. Для домашнего изготовления это достаточно сложная плата: 250 переходов, каждый требует надёжного контакта с обеих сторон; соединения под корпусами выполнять до их установки. Тонкая медная проволока подходит при пайке с обеих сторон; просто вставленная проволока не заменяет металлизацию. Полные рекомендации — руководство по фоторезисту.
Плата 150×105 мм не помещается целиком в поле 80×80 мм, указанное производителем для близкой модели Carverall K4Pro. Точная ревизия вашего K4-3W не подтверждена; его реальное поле нужно измерить. Для Writer использовать печатные фотошаблоны, изготовление на заказ или станок с достаточным полем. Масштабировать рисунок для уменьшения платы нельзя. Разделённая лазерная экспозиция требует отдельной разработки точного совмещения и здесь не подготовлена.
production/Lunar_Writer_PCB.pdf содержит отдельные слои в масштабе 1:1, но это не готовый негативный фотошаблон: для МФП-ВЩ нужны правильно инвертированные/ориентированные изображения и технологическая проба. Не использовать настройки экспозиции без калибровки своего материала и лазера.
В 3D установлен SMD RGB 5050; альтернативный THT скрыт. Для L1 и F2 включены созданные по габаритам даташитов условные 3D-оболочки, не заводские модели. Они не подтверждают механическую совместимость конкретной поставки. Остальные модели основаны на библиотеках KiCad и ранее добавленных моделях проекта. Лицензии исходных моделей сохранены в 3DModels.
Исходные медные слои пользовательского Dumper сохранены. У него изменены названия в надписях, схеме, идентификаторе прошивки и описании LunarView; старые имена файлов сохранены для совместимости путей.
Трассировка выполнена локально Freerouting 2.2.4; окончательная проверка — в KiCad. Изменённые посадочные места, узкие выходы питания и оставшиеся соединения доведены в нативной плате. Не запускать заново генерацию размещения поверх отредактированной платы.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 25 | 1k | Resistor_SMD:R_0603_1608Metric | R4, R5, R10, R11, R12, R13, R14, R15, R16, R17, R20, R21, R22, R25, R26, R32 +9 |
| 16 | BAT54S | Package_TO_SOT_SMD:SOT-23 | D10, D11, D12, D13, D14, D15, D16, D17, D20, D21, D22, D23, D24, D25, D26, D27 |
| 12 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C3, C4, C5, C6, C7, C8, C10, C14, C21, C26, C27 |
| 6 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R23, R24, R43, R44, R65 |
| 4 | M3 | MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 100nF / 50V | Capacitor_SMD:C_0603_1608Metric | C20, C23, C28 |
| 3 | 120R / 1% | Resistor_SMD:R_0603_1608Metric | R40, R73, R75 |
| 3 | 74HC595D | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U2, U3, U4 |
| 2 | 100k bleed | Resistor_SMD:R_0603_1608Metric | R61, R77 |
| 2 | 100nF / 50V X7R | Capacitor_SMD:C_0805_2012Metric | C31, C33 |
| 2 | 10k / 1% | Resistor_SMD:R_0603_1608Metric | R45, R46 |
| 2 | 10nF | Capacitor_SMD:C_0603_1608Metric | C22, C25 |
| 2 | 1uF / 50V X7R | Capacitor_SMD:C_1206_3216Metric | C35, C36 |
| 2 | 2.2k / 0.5W | Resistor_SMD:R_2010_5025Metric | R31, R63 |
| 2 | 22pF | Capacitor_SMD:C_0603_1608Metric | C11, C12 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R38, R39 |
| 2 | M7 / 1N4007-SMD / 1A 1000V | Diode_SMD:D_SMA | D43, D44 |
| 2 | MMBT3906 | Package_TO_SOT_SMD:SOT-23 | Q1, Q2 |
| 2 | MMBT5551 / 160V NPN | Package_TO_SOT_SMD:SOT-23 | Q4, Q6 |
| 1 | 1.8k / 1% | Resistor_SMD:R_0603_1608Metric | R76 |
| 1 | 100R multi-turn | ProjectFootprints:Writer_RV1_Potentiometer_Bourns_3296W_Vertical | RV1 |
| 1 | 100nF / 16V | Capacitor_SMD:C_0603_1608Metric | C9 |
| 1 | 100nF auto-reset | Capacitor_SMD:C_0603_1608Metric | C13 |
| 1 | 100uH / SRR1210A-101M / Isat 2.2A | ProjectFootprints:Writer_L1_L_Bourns_SRR1210A | L1 |
| 1 | 10k CE pull-up | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 10k LATCH pull-down | Resistor_SMD:R_0603_1608Metric | R7 |
| 1 | 10k OE pull-up | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 10k PGM pull-up | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 10k VPP_EN pull-down | Resistor_SMD:R_0603_1608Metric | R34 |
| 1 | 10k arm pull-down | Resistor_SMD:R_0603_1608Metric | R60 |
| 1 | 10k base pull-down | Resistor_SMD:R_0603_1608Metric | R33 |
| 1 | 10k base-emitter | Resistor_SMD:R_0603_1608Metric | R62 |
| 1 | 10k bleed / 0.25W | Resistor_SMD:R_1206_3216Metric | R37 |
| 1 | 10uF / 10V | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | 10uF / 16V | Capacitor_SMD:C_0805_2012Metric | C15 |
| 1 | 10uF / 16V | Capacitor_SMD:C_1206_3216Metric | C24 |
| 1 | 12-24V DC IN (+ / GND) | ProjectFootprints:Writer_J4_TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_Horizontal | J4 |
| 1 | 120k / 1% | Resistor_SMD:R_0603_1608Metric | R35 |
| 1 | 16MHz, CL ~18pF | ProjectFootprints:Writer_Y1_Crystal_HC49-4H_Vertical | Y1 |
| 1 | 1N4007 output protection | ProjectFootprints:Writer_D7_D_DO-41_SOD81_P10.16mm_Horizontal | D7 |
| 1 | 1N4148WS flyback | Diode_SMD:D_SOD-323 | D8 |
| 1 | 1k / 1% | Resistor_SMD:R_0603_1608Metric | R74 |
| 1 | 1k multi-turn | ProjectFootprints:Writer_RV3_Potentiometer_Bourns_3296W_Vertical | RV3 |
| 1 | 200R multi-turn | ProjectFootprints:Writer_RV2_Potentiometer_Bourns_3296W_Vertical | RV2 |
| 1 | 220uF / 50V low ESR | ProjectFootprints:Writer_C30_CP_Radial_D10.0mm_P5.00mm | C30 |
| 1 | 22k / 1% | Resistor_SMD:R_0603_1608Metric | R36 |
| 1 | 2k / 1% | Resistor_SMD:R_0603_1608Metric | R71 |
| 1 | 430R / 1% | Resistor_SMD:R_0603_1608Metric | R41 |
| 1 | 470R compensation | Resistor_SMD:R_0603_1608Metric | R72 |
| 1 | 470R relay drive | Resistor_SMD:R_0603_1608Metric | R42 |
| 1 | 47k / 1% | Resistor_SMD:R_0603_1608Metric | R70 |
| 1 | 47k gate-source | Resistor_SMD:R_0603_1608Metric | R30 |
| 1 | 47uF / 16V compensation | ProjectFootprints:Writer_C34_CP_Radial_D5.0mm_P2.00mm | C34 |
| 1 | 500mA hold | Fuse:Fuse_1812_4532Metric | F1 |
| 1 | 680uF / 50V low ESR | ProjectFootprints:Writer_C32_CP_Radial_D12.5mm_P5.00mm | C32 |
| 1 | 74LVC1G08 / arm interlock | Package_TO_SOT_SMD:SOT-23-5 | U10 |
| 1 | 74LVC1G08 / pulse interlock | Package_TO_SOT_SMD:SOT-23-5 | U8 |
| 1 | ADC6 BAT54S clamp | Package_TO_SOT_SMD:SOT-23 | D30 |
| 1 | ADC7 BAT54S clamp | Package_TO_SOT_SMD:SOT-23 | D31 |
| 1 | ATmega328P-AU | Package_QFP:TQFP-32_7x7mm_P0.8mm | U1 |
| 1 | AVR ISP | ProjectFootprints:Writer_J2_PinHeader_2x03_P2.54mm_Vertical | J2 |
| 1 | BAT54WS RESET clamp | Diode_SMD:D_SOD-323 | D9 |
| 1 | BOOST_30V | TestPoint:TestPoint_Pad_D1.5mm | TP15 |
| 1 | BZT52C10 / 10V | Diode_SMD:D_SOD-123 | D5 |
| 1 | CH340C | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U5 |
| 1 | G5V-2-DC5 (100mA coil) | ProjectFootprints:Writer_K1_Relay_DPDT_Omron_G5V-2 | K1 |
| 1 | IRF9540N / 100V PMOS | ProjectFootprints:Writer_Q3_TO-220-3_Vertical | Q3 |
| 1 | J_TARGET / 40-pin | ProjectFootprints:Writer_J5_PinHeader_2x20_P2.54mm_Vertical | J5 |
| 1 | LM2577T-ADJ / 40V input, 60V switch | ProjectFootprints:LM2577T_TO2205 | U11 |
| 1 | LM317T / 12.75V / heatsink | ProjectFootprints:Writer_U12_TO-220-3_Vertical | U12 |
| 1 | LM317T / 21...25V / heatsink | ProjectFootprints:Writer_U13_TO-220-3_Vertical | U13 |
| 1 | LM317T: calibrate 6.250 V | ProjectFootprints:Writer_U7_TO-220-3_Vertical | U7 |
| 1 | MF-R090 / 0.9A hold / 60V | ProjectFootprints:PTC_MF_R090 | F2 |
| 1 | MMBT3904 | Package_TO_SOT_SMD:SOT-23 | Q5 |
| 1 | MMBT5401 / 150V PNP | Package_TO_SOT_SMD:SOT-23 | Q7 |
| 1 | NM27C512Q SOCKET | ProjectFootprints:Writer_U6_DIP-28_W15.24mm_Socket_LongPads | U6 |
| 1 | RESET | ProjectFootprints:Writer_SW1_SW_PUSH_6mm | SW1 |
| 1 | RGB CA / 5050 OR THT5 | ProjectFootprints:Writer_D2_RGB_CA_5050_or_THT5 | D2 |
| 1 | RX BLUE | LED_SMD:LED_0603_1608Metric | D3 |
| 1 | SMBJ24A / TVS | Diode_SMD:D_SMB | D41 |
The 155 most common of 179 parts.

IlyaBOT/LunarView3
Отдельная двухслойная плата программатора параллельных EPROM, 150×105 мм. USB и CH340 расположены слева, ATmega328P — в центре, регистры адреса и DIP-28 — справа; дополнительная силовая часть находится снизу.

IlyaBOT/LunarView3
Отдельная двухслойная плата программатора параллельных EPROM, 150×105 мм. USB и CH340 расположены слева, ATmega328P — в центре, регистры адреса и DIP-28 — справа; дополнительная силовая часть находится снизу.

IlyaBOT/LunarView3
Отдельная двухслойная плата программатора параллельных EPROM, 150×105 мм. USB и CH340 расположены слева, ATmega328P — в центре, регистры адреса и DIP-28 — справа; дополнительная силовая часть находится снизу.

alorcs/Irrigation-System-v2
The external footprints used can be found in the Imports folder.




danhmanu/PLC-STM32F407VET6
Mạch nguyên lý KiCad 10 cho bộ PLC: điều khiển qua LAN bằng Modbus TCP (module W5500 Lite), nạp code qua USB‑C (CH340C), 16 ngõ ra transistor cách ly quang, 10 ngõ vào analog 4–20mA.


FRC-1721/AccidentCounter
A digital sign hung in the build space advertising days without incident

It measures 150 × 105 mm and has 2 copper layers, 1.6 mm thick.
179 parts, built around the ATMEGA328P-AU, CH340C, 74HC595D and BAT54S. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
From the IlyaBOT/LunarView3 repository on GitHub, at the commit this page was made from: the board is Lunar-Writer/Lunar_Writer.kicad_pcb and its schematic Adapter-KR573RF5/KR573RF5_Adapter.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask IlyaBOT before reusing the design.