Недовольным. Супер Дуня. Есть желающие принять участие?

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Хм...кикад...я пробовал eаgle и diptrace, последний понравился больше.

switch
Offline
Зарегистрирован: 07.12.2015

Хорошая серия статей по EAGLE:

http://microsin.ru/content/view/1203/43/

http://microsin.ru/content/category/4/23/43/

кстати я этого дядьку пересадил на EAGLE ;)  Вроде ему понравилось 

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Спасибо, поизучаю) Пора бы уже переходить на что-нибудь со Sprint-Layout'a.

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:
.. наверное вручную запаял бы макетку быстрее, чем убитые вчера 3 часа своего  времени.

Использование линукса может быть абсолютно комфортным только в одном случае -- если вы собираетесь жить вечно и вам некуда спешить.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Пока не очень.

Вчера до пол пятого утра просидел (часов 7), пока перечитал всё что нашел по kicad, eagle и пр. бесплатным кадам в Линукс .. понял, что засады кругом, поэтому продолжил изучение и освоение kicad.

Наконец-то, нашел почто он матерится и КАК это преодолевается .. но разводка - пичалька. Многого, что когда-то давно делал в P-cad он не умеет "по жизни".. ну и .. почти развел плату 64Кх8 (DIP-28 х 2 + TSOP20 х 1 + разъем) для Мега2560 вручную, получается в габарит 45х49мм очень плотный монтаж шагом 0.635мм .. и в самом конце убедился что развел "зеркально" .. плата будет торчать из Меги.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ну вот. Таки доразвел плату на 64 килобайта под свою Мегу. Получилось примерно так:

Разводка вручную, практически в 1 слой. Проводники второго слоя можно пропаять перемычками и ничего не сверлить. Пробовал печатать - на лазернике печатается легко. Скомпиляли (на пару) freeroute с гитхабами, пробовали разводить в нем. Разводит, но тоже "не очень" - в такой размер платы 50х45мм в один слой не разводит примерно половину проводников, а в 2 слоя получается как-то много переходных отверстий и ну .. не понравилось, в общем. Встроенный "разводчик" - не разводит даже в 2 слоя вовсе.

На след. неделе буду осваивать ЛУТ. :)

P.S. Номиналы микросхем - какие нашел похожести в библиотеке. На самом деле в наличии есть:

U1 - регистр-защелка 74VHC373 (5нсек) в корпусе SO20, но можно и любой другой их много с такой цоколевкой;

U2, U3 - SRAM 32k x 8 в DIP-28. Их очень много разных производителей, цоколевка практически у всех одинакова в одних и тех же корпусах. У меня в наличии такие EM51256-20P (типа 20нсек).

Разъем нашел в библиотеке только PIN_ARRAY_2X20, а нужен 2х18 .. поэтому и вылазит снизу за плату. :)

Электрическая схема. Пришлось поизвращаться с переназначением проводников шин адреса и данных, пока подобрать расстановку микросхем для разводки. Номера битов защелкиваемого адреса (как и данных) далеко не соответствуют обозначениям на микросхеме (благо что SRAM с произвольным доступом):

Клапауций 322
Offline
Зарегистрирован: 31.12.2015

Arhat109-2 пишет:

Получилось примерно так:

дорожки между ногами - плохая идея: вероятность 80% что не сможешь вытравить дороги такой толщины.

корпуса U2, U3 можно друг на друга запаять, судя по разводке.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ну и ещё. Перечитывая даташит на X-bus интерфейс, появилась идея как можно сделать расширенную память на регистровом файле 74F410 без использования доп. ножек (кроме 19-и интерфейсных) от слова "совсем". Ай, да молодцы ATmel-овцы .. а ведь можно! :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

практически можно. Отличие только в ноге CS. Но, плата разведена в расчете на то, что она будет "кверх ногами" - микросхемы "внизу" .. как-бы внутри Меги, а туда пара друг на друге - не влезет точно. Почему и хотелось в один слой - это как-бы "крышка". :)

a5021
Offline
Зарегистрирован: 07.07.2013

Клапауций 322 пишет:
дорожки между ногами - плохая идея: вероятность 80% что не сможешь вытравить дороги такой толщины.

Это насколько стараться будет. Не далее, как сегодня травил по две дороги между площадками с шагом 2.54мм

Утюг, руки, никакого мошенничества.

Вот чтобы дырки на полигонах были ровные и все одинаковые, вот это, да, сложно. :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Пасибки.

Кстати, нашел почему макетка не заработала: оказывается сигнал RW искал не на той ноге дуньки. :)

Maverik
Offline
Зарегистрирован: 12.09.2012
Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Попробовал сегодня перенести рисунок платы методом утюга. В наличии была офисная бумага, глянцевая для лазерной печати 160гр/м2 и ломонд матовая фотобумага для струйников 200гр/м2 и МФУ Canon какой-то .. Увы. Нормально перенести рисунок не удалось. Результаты попыток:

1. Офисная бумага прижигается, не отковыривается нормально, проводники получаются откровенно блеклые с сильными просветами;

2. С фотобумагой Ломонд - примерно тоже самое, разве что отстает заметно лучше. Но рисунок ещё более блеклый.

3. Глянец показал наилучшие результаты в нескольких вариациях:

а) сильный прижим - поверх тонера прижигается "белый налет" (меловка?) и расплывается так, что рисунок слипается.

б) при сокращении времени прогрева и прижима - частично остается меловка, а там где она не пристала - проводники тоже блеклые, с просветами.

Как понимаю, современный МФУ сильно "экономит" тонер. Или тонер "не тот". Сам по себе, рисунок тонером - очень четкий и ровный. Можно и 2 дороги между ногами DIP-28 протащить.

В доступе есть ещё старый HP-1000 - он может оказаться предпочтительней?

И ещё. почему-то отпечаток рисунка "по краю платы" - прилипает заметно хуже чем к середине. Рисовал на большом куске гетинакса "в угол", так вот речь про наружные края этого угла. Особенно заметно, когда обрезаешь бумагу "в размер платы" и складываешь на угол. Если отступаешь на 1см - уже практически "нет разницы". Неравномерный прогрев?

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

лучше hp и отключи экономию тонера

налет это нормлаьно, совершенно не мешает, не пытайся целиком его снять

я пользуюсь фотобумагой. остатки бумаги чищу зубной щеткой. попробуй

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Попробуйте на фольге! Пока не перешёл на резист, платы делал именно так. Печатаю на матовый слой фольги, закреплённой на бумаге кусочком изоленты - главное, чтобы фольгу не помяло. Прикатваю как бумагу. Пихаю в травилку, было 2 раствора - для фольги и для меди, фольга быстро сажает раствор. Стравил фольгу - посмотрел на (ах какую хорошую) плату, перекинул во второй раствор и  дотравил.

Если душа всё же лежит к бумаге, печатайте на бумаге из-под самоклейки,прочих наклеек, на глянцевую сторону, к которой наклейки и приклеивались. Не с первого раза нормально на неё печатается, зато, если припечаталось - 90%, что нормально на медь перейдёт. Прижарить как бумагу, подождать и снять бумагу, не отмачивая. Вуаля!

P.S. А может всё-таки фоторезист?) Актуальные цены - 650 руб/рулон 30см*5м, 200 руб - сотня UV-светодиодов, 100 руб - три стабилизатора тока A705 на 250мА, 50 руб/кг кальцинированная сода. Если надо, могу скинуть свои фотки получившегося устройства для засветки. 

P.P.S Расход резиста минимален! Максимум сантиметров 30 рулона потратил за 3 месяца.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Пасибки, завтра буду пробовать старый, добрый HP-1000. На фольгу пробовали коллеги на работе: мнет её только так. Пробовали приклеивать 2-х сторонним скотчем верхний край - пофиг, все равно мнет. Из 5-и попыток, одна более-менее удачная. Как понимаю, там лист проходит 3 сильных изгиба из-за экономии габаритов - вот и "съезжает" фольга. Насчет изоленты - боюсь её прижгет к печке и .. кирдык "супержелезке". :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Насчет фоторезиста .. эт вы мне предлагаете раскошелиться на 1000руб из-за изгтовления "пробной платы" на предмет полезна дополнительная память дуньке? Тогда мне проще отправить китайцам файл и пусть сделают готовую с запаянными детальками .. :)

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Логично...
Фольгу клеил и изолентой, и просто наклейками-стикерами к бумаге. Если плата Уже, чем ролики на выходе из принтера - не очень мнёт, вполне получается. На вкус и цвет фломастеры разные.
P.S. Ввиду отнюдь не преклонного возраста, можно на "ты")

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

учти. температура плавления тонера у hp около 160-165 градусов. меньше не будет липнуть, больше будет размазываться. но еще конечная важна сила и равномерность нажатия

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

...сегодня здесь собрались джедаи утюга и бумаги...)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

О как! Фольгу лепили на весь А4 .. оказывается надо смотреть где ролики бегают .. подскажу, может поможет. Пасибки.

P.S. Не, не джедай. Это ваще моя первая поделка ЛУТом. Давно-давно делал платы "дедовским методом": рейсфедер + нитрокраска + чертежный кульман. :)

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Всегда замечают, странно - как бы кто ни делал платы, всегда печатают на весь лист. Копят десяток плат, чтобы занять большую часть листа плёнки для фотошаблонов, фольгу вот весь лист лепят...я отрещаю небольшой кусочек по размеру платы, печатаются первый раз просто по бумаге с экономией тонера, потом клею поверх плёнку, печатаются уже в неэконом режиме с разрешением 1200точек на дюйм.

a5021
Offline
Зарегистрирован: 07.07.2013

Да все получится. Надо просто маленько попрактиковаться. Не Бог весть какое искусство.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Согласен. Сегодняшние попытки, печать на другом принтере, итоги:

1. Тонер другой, его значительно больше, липнет лучше.

2. Бумагу надо не отдирать, а сильно размачивая скатывать от середины к краям платы! Скатывать аккуратно до тонкого, прозрачного слоя можно обычной тряпкой, но лучше это делать под водой или под краном. Вчера отдирал.

3. Тонкий слой прекрасно снимается также под водой зубной щеткой.

4. Офисная бумага оставляет лохмотья, которые плохо снимаются и могут слезать вместе с дорожками. Глянцевая бумага куда приятнее и не оставляет лохмотьев.

5. Дорожки тут можно и потолще. Посадочные площадки тоже.

6. Почему-то по краям платы наблюдается "непрожиг" .. похоже "утюг кривой". Или руки. :)

Буду делать ещё одну попытку, после утолщения рисунка платы. В целом "забрезжил свет в конце тоннеля".

a5021
Offline
Зарегистрирован: 07.07.2013

Arhat109-2 пишет:

6. Почему-то по краям платы наблюдается "непрожиг" .. похоже "утюг кривой". Или руки. :)

Кривизна платы или заусенцы на краях. Я обычно с этим борюсь путем наложения салфетки потолще, выставлением температуры повыше и прижимаю посильнее. Толстая (без фанатизма) салфетка равномернее распределяет давление, даже если плата кривая.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Процесс "пошел", в смысле травится. Получилось перенести рисунок, увеличив толщину проводников до 0.4мм и ограничив зазоры в 0.25мм. Перенеслось что называется "с первого разу". (если не считать 12 вчерашних и 3 сегодняшние попытки) :)

bwn
Онлайн
Зарегистрирован: 25.08.2014

У меня лучше всего обычная факсовая пошла, отдирается легко, пальцем почти ничего скатывать не надо. С краями платы, обычно мм на 7-10 делаю заготовку больше, после травления припуск отрезаю.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Снимать тонер пока не стал, уже завтра буду смотреть чего там получилось. С виду - протравилось все просто "на ура". Чисто, ровно и кузяво. Можно считать что процесс переноса рисунка на плату освоен успешно. Кстати, слой тонера получился достаточным, чтобы его толщину было хорошо заметно моим сильно близоруким глазом .. примерно 0.15-0.2мм всяко есть. Не ожидал.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вот эту отдирать вообще не надо. Как остыла просто снимаешь её безо всяких усилий и гемороя. Весь тонер на меди - бумага снимается чистой.

a5021
Offline
Зарегистрирован: 07.07.2013

Как все трожественно у вас. Смыв тонера намечен на завтра. Ожидается прибытие высоких гостей. :)

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Так я этим занимаюсь у знакомых на работе. Не дома же хлорное железо юзать. :)

Вот то, что получилось в итоге. Есть 2 залипа, но не смертельных. Спасибо всем участникам за тему про ЛУТ, очень помогло.

bwn
Онлайн
Зарегистрирован: 25.08.2014

Для первого раза, очень даже гут. А зачем дорогой хлоркой грязь разводить? Перекись, лимонка, соль. Раствор одноразовый, пятен нет.

Yarik.Yar
Offline
Зарегистрирован: 07.09.2014

Хороший результат) мои первые платы выглядели, мягко говоря, отвратно. Перекись + лимонка - ничего так состав, но, по-моему, он не нравится фоторезисту.

a5021
Offline
Зарегистрирован: 07.07.2013

Чет я не понял -- это ЛУТ в негативе?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Нет. Это протравленная и уже зачищенная плата от тонера, но ещё не залуженная. Просто освещение "так легло".

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

это текстолит такой темный или это тонер впитался в текстолит когда ацетоном тонер снимал?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Это похоже плохо отмыл тонер и освещение было "специфическим" - сильно "фиволетовое" - светодиоды + люминесцентка.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ну как и пообещался, в связи с выпадением снега отдых был отменен .. и таки допаял свой контроллер внешней памяти на 64 килобайта. Оставалось запаять разъем, его и доделал.

К сожалению, "оно не заработало". Поначалу обнаружилось несколько "залипов", в т.ч. вход с регистра-защелки на его выход (мультиплескируемая часть адреса), а потом несколько непропаев разъема, в т.ч и сигнал записи. В общем когда я наконец-то все прозвонил и убедился что оно верно собрано - оно не заработало. При этом, старшая тетрада приходящего байта строго соответствует старшей тетраде младшего байта адреса. Такое можно наблюдать, если включить xbus и ничего не повешать на шину: приходит тупо младший байт адреса. Младшая тетрада идет "как попало" .. программа теста скомпилялась вполне корректно, смотрел вывод ассемблера.

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

Скетч, которым проверял:

#include "arhat.h"

uint32_t test_start, test_end;
uint8_t  pattern;

void printResult(uint8_t isOk)
{
  Serial.print("Pattern=");
  Serial.print(pattern, DEC);
  Serial.print(isOk? ": ok" : ": error");
  Serial.print(", time=");
  Serial.print(test_end - test_start, DEC);
  Serial.println("mcsec.");
}

/**
 * test memory with pattern
 */
uint8_t memTest(uint8_t pattern)
{
  volatile uint8_t * mem = (volatile uint8_t *)0x2200;
  uint8_t   res;
  uint8_t   isGood = 1;

  Serial.print(", p="); Serial.print( pattern, 10);
  Serial.print(", A0="); Serial.print( (uint16_t)mem, 10);

  test_start = micros();
  do{
    *mem = pattern;
    Serial.println(":"); Serial.print( (res=*mem), 16);
    Serial.print(":"); Serial.print( (uint16_t)mem, 16);
  //  if( res != pattern ) isGood = 0;
  }while( (uint16_t)(++mem) < 0xFFFF );
  test_end = micros();
  return isGood;
}

void setup()
{
//  DDRA = 0xFF;  // pullup AD0..7
//  PORTA = 0xFF;
//  DDRA = 0;

//  DDRC = 0xFF;  // pullup A8..15
//  PORTC = 0xFF;
//  DDRC = 0;

  //   SRE(7)=0x80 - enable Xbus
  // , SRL0,1,2(6,5,4)=0 - banks [0x10..0x70]=[0x2200,0x4000..0xE000]: [0,0x10] -- start upper bank only!
  // , SRW11(3),SRW10(2) = [0x0,0x04,0x08,0x0c] upper sector: 0,1,2,2+1 wait cycles
  // , SRW01(1),SRW00(0) = [0x0,0x01,0x02,0x03] for lower sector wait states
  XMCRA = 0x80 | 0x00 | 0x00 | 0x00;
  // XMBK(7) = 0x80 -- bus keeper AD0..AD7
  // , XMM(2,1,0) -- Xbus address mask 0 - full 64k, 1 - not A15 .. 7 - not portC as address!
//  XMCRB = 0x80;

  Serial.begin(115200);

  printResult(
    memTest(pattern=0x55) // and calc test_start, test_end too!
  );
/*
  printResult(
    memTest(pattern=0x55) // and calc test_start, test_end too!
  );
  printResult(
    memTest(pattern=0xAA) // and calc test_start, test_end too!
  );
  printResult(
    memTest(pattern=0) // and calc test_start, test_end too!
  );
*/
  XMCRA = 0; // close Xbus
}

void loop() {
}

Пробовал разные режимы, задержки, подтяжки .. пофиг. Результат несколько меняется, но не существенно. Это на чем закончил мучить плату.

a5021
Offline
Зарегистрирован: 07.07.2013

Отрицательный результат -- тоже результат. Но интереснее было бы послушать о том, как оно заработает.

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Так я что там сложного в работе с таким объемом? В примере функция memTest() внаглую прописывает все адреса внешней памяти и читает из них. Чтобы оптимизатор не выкинул "бесполезное" чтение сразу после записи, пришлось указать volatile .. поначалу радовался "как шустро все работает" .. поскольку он не только чтение выкинул, но и бесполезную запись тоже! :)

В пределах 64к, работа с внешнй памятью не представляет никакой сложности и можно задействовать несколько способов:

1. Указать в описании платы, что у неё "последний адрес" 65535 и наслаждаться тем, как компилятор сам распределяет ваши переменные, стек и кучу по всему прострынству. Потеря - 8200 (для мега2560) байт, экранируемых встроенной памятью. В общем-то "пофиг".

2. Там же, в описании платы (константы компиляции), указать точку начала стека в родной памяти, а начало кучи - во внешней. И наслаждаться быстрой работой со стеком, локалами и иметь несколько сниженную скорость для динамически создаваемых объектов. Ползено для буферизации большими объемами.

3. Указывать маску старшего разряда адреса так, чтобы в верхних 32к была вся логическая адресация внешней памяти, а физический доступ к банкам делать по ручному управлению старшим битом адреса шины. В этом случае имеем свои 8200 байт и плюсом 2 блока по 32 кила внешней памяти .. то есть имеем 73736 байт суммарно.

Последний способ можно расширить на больший объем памяти, введя функции "переключения банков памяти" ..

idxi
Offline
Зарегистрирован: 14.03.2016

Arhat109-2,

как успехи с доводкой ОЗУ 64К?

Прочитал тему, проект с ОЗУ - нужный! Ех времена ZX.. я понимаю, что вы хотите до народа довести..

Как и чем поддержать:?

diakin
diakin аватар
Offline
Зарегистрирован: 04.06.2016

А почему не взять Due?

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Мой проект не стратовал в силу того что указанный тут вариант не заработал. Пока считаю что неопознанные микросхемы памяти разведены неверно. А вот в общем разделе есть тема на базе ATmega128A к которой Valera19701 таки прикрутил дополнительную память и она пашет успешно. Советую перебазироваться туда.

В целом, как и ожидалось, ничего супер сложного не оказалось. Но, я этот проект пока забросил как в силу несколько иных сейчас интересов, так и в силу того, что расширенная память куда как актуальнее на МК с каналами DMA для перекачки данных на экраны или (от)куда ишо. В этом плане, пока засматриваюсь на ATxmega128a1, тем более что её выводы вроде как толерантны к 5 вольтам, а по цене она вполне сопоставима с ATmega2560, которая есть "в наличии". Да и по моще она вполне может состроить конкуренцию разным STM32.. в силу лучшей организации периферии.

DUE - очень интересная платка и камень там вполне вменяемый .. но уж больно дорога зараза. :)

diakin
diakin аватар
Offline
Зарегистрирован: 04.06.2016

Arhat109-2 пишет:
[...]
DUE - очень интересная платка и камень там вполне вменяемый .. но уж больно дорога зараза. :)

Ну как дорога.. 850 руб. на али. На днях 2 шт. получил.. работают )
Во, еще дешевле  Ali Arduino Due Общая стоимость: 790 руб.

У наших брал
1 Плата DUE CH на ARM-процессоре AT91SAM3X8E шт. 1500.00
 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Ну как-то так вот: ATmega128A - 40-80руб./шт., ATxmega128A1 в районе 200руб/шт. :)

А, ну раз уж готовые платы, то ATmega2560 R3 можно найти за 400руб, а то и дешевше. :)

diakin
diakin аватар
Offline
Зарегистрирован: 04.06.2016

Речь же шла о разработке самодельной платы с раширенным ОЗУ и др.  Будет ли такая плата стоить дешевле дуе?

И вот еще есть. Правда уже не ардуино )

STM32F103C8T6 ARM STM32 - 123,30 руб.

Характеристики:

  • Модель: STM32F103C8T6.
  • Ядро: ARM 32 Cortex-M3.
  • Режим отладки: swd.
  • Рабочая частота: 72 мГц.
  • Память программ: 64 К
  • Память данных: 20 К
  • Напряжение питания: 2.0-3.6 В
  • Кварцевый резонатор: 8 мГц и 32768 кГц
  • Разъемы: мини USB для питания платы и для связи с компьютером. Не для программирования.
  • Размер: 5.3 см x 2.2 см.

 

Arhat109-2
Offline
Зарегистрирован: 24.09.2015

Обсуждали эту фигню тут уже несколько раз. К классу рассматриваемых выше плат (и задач) оно не относится. Впрочем как и к этому сайту в целом. А так, в мире полно похожих поделок и лучше и дешевле и мощнее .. что называется "выберите 2 из трех" :)