Вопрос в механизме обработки битмапа. Если операция проводится сразу с массивом, то в буфере оказывается весь массив - и мы имеем сразу два битмапа в памяти (один - временный и в неявном виде). Если же определить его явно, то будет три битмапа в памяти - исходный, преобразованный и временный. Но тут надо смотреть на реализацию функций и настройки компилятора.SDimok писал(а):Зеркалирование, инвертирование, зуммирование все делается с рабочим битмапом.
Лазерная установка для засветки фоторезиста от AlphaCrow
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Прямого отношения к HLDI не имеет, но поделюсь: вдруг, кому пригодится.
При экспорте герберов из Orcad Layout, при установленной галочке "Keep drill holes open",
реперные отверстия не находятся.
Кстати, и реакция CAM350 тоже изменяется: при экспорте герберов из CAM350, если гербер с "Keep drill holes open", файлы CAM350 обзывает, как "Layer_1" и "Layer_2".
Если без галочки "Keep drill holes open", CAM350 файлы называет по названию проэкта.
При экспорте герберов из Orcad Layout, при установленной галочке "Keep drill holes open",
реперные отверстия не находятся.
Кстати, и реакция CAM350 тоже изменяется: при экспорте герберов из CAM350, если гербер с "Keep drill holes open", файлы CAM350 обзывает, как "Layer_1" и "Layer_2".
Если без галочки "Keep drill holes open", CAM350 файлы называет по названию проэкта.
- SDimok
- Мучитель микросхем
- Сообщения: 482
- Зарегистрирован: Сб фев 06, 2016 14:34:29
- Откуда: Саянск, Иркутская область
- Контактная информация:
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
[uquote="Forward",url="/forum/viewtopic.php?p=3195216#p3195216"]тут надо смотреть на реализацию функций и настройки компилятора.
[/uquote]
Масштабирование всего битмапа - при создании указываю значения DPI (SetResolution) - получаю масштаб.
Инвертирование - получаю указатель на данные рабочего битмапа в памяти.
В цикле пробегаю и инвертирую цвет.
Зеркалирование - практически то же, только преобразование через матрицу трансформации.
Зуммирование - перерисовка части битмапа в клиентскую область с масштабированием согласно выбранному коэффициенту.
(На этом этапе в принципе можно оператору показать, что все ровно и красиво, надо пробовать)
Масштабирование всего битмапа - при создании указываю значения DPI (SetResolution) - получаю масштаб.
Инвертирование - получаю указатель на данные рабочего битмапа в памяти.
В цикле пробегаю и инвертирую цвет.
Зеркалирование - практически то же, только преобразование через матрицу трансформации.
Зуммирование - перерисовка части битмапа в клиентскую область с масштабированием согласно выбранному коэффициенту.
(На этом этапе в принципе можно оператору показать, что все ровно и красиво, надо пробовать)
- SDimok
- Мучитель микросхем
- Сообщения: 482
- Зарегистрирован: Сб фев 06, 2016 14:34:29
- Откуда: Саянск, Иркутская область
- Контактная информация:
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Ruzik, Forward, смотрите что получается.
- Вложения
-
- HLDI_Host-16Z.rar
- (376.57 КБ) 348 скачиваний
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
SDimok
Если вручную вписать размер пикселя по Y при загруженном гербере, вылетает ошибка. Если список выпадает, наверно нужен запрет что то писать там.
Если поменять разрешение каретки, то чтобы изменился список пикселей по Y, нужно тыкнуть курсором в любое из верхних окошек разрешения портала, тогда список обновляется.
Если отключить питание (когда горит зеленый), то вылетает ошибка. Может и раньше так было, заметил только что.
Дальше не знаю.
Если вручную вписать размер пикселя по Y при загруженном гербере, вылетает ошибка. Если список выпадает, наверно нужен запрет что то писать там.
Если поменять разрешение каретки, то чтобы изменился список пикселей по Y, нужно тыкнуть курсором в любое из верхних окошек разрешения портала, тогда список обновляется.
Если отключить питание (когда горит зеленый), то вылетает ошибка. Может и раньше так было, заметил только что.
Дальше не знаю.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
SDimok
Получается неплохо.
Небольшая коррекция интерфейса, упомянутая Ruzik; может быть переименовать "размер пиксела" на "шаг портала" или еще как-нибудь.
И, если экспортировать преобразованный bmp, не мешало бы попытаться где-нибудь (например в названии) принудительно добавить полученное разрешение. Хотя, я надеюсь, эта промежуточная стадия в дальнейшем не будет востребована
Получается неплохо.
Небольшая коррекция интерфейса, упомянутая Ruzik; может быть переименовать "размер пиксела" на "шаг портала" или еще как-нибудь.
И, если экспортировать преобразованный bmp, не мешало бы попытаться где-нибудь (например в названии) принудительно добавить полученное разрешение. Хотя, я надеюсь, эта промежуточная стадия в дальнейшем не будет востребована
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Еще наверно размер пикселя каретки (кстати там орф. ошибка, пиксела или это не ошибка?) округлить до целого, зачем нам такая видимая точность?
Естественно при расчетах ни чего не округлять.
Добавлено after 32 minutes 36 seconds:
Может так, оставить множитель, а размер пикселя (округленный) будет меняться как разрешение в отдельной строке?
По X изменить на "шаг стола".

Я так понимаю размер пикселя по Х нужен для информативности, чтобы при выборе шага стола, было от чего отталкиваться?
Естественно при расчетах ни чего не округлять.
Добавлено after 32 minutes 36 seconds:
Может так, оставить множитель, а размер пикселя (округленный) будет меняться как разрешение в отдельной строке?
По X изменить на "шаг стола".

Я так понимаю размер пикселя по Х нужен для информативности, чтобы при выборе шага стола, было от чего отталкиваться?
- SDimok
- Мучитель микросхем
- Сообщения: 482
- Зарегистрирован: Сб фев 06, 2016 14:34:29
- Откуда: Саянск, Иркутская область
- Контактная информация:
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
[uquote="Ruzik",url="/forum/viewtopic.php?p=3196213#p3196213"]Может так, оставить множитель, а размер пикселя (округленный) будет меняться как разрешение в отдельной строке?[/uquote]
Сделал специально так же как и на портале, чтобы было однотипно
Пусть пока так.
Округлил до сотых.
Размер шага по Х отображается для визуального подбора разрешения.
Теперь нужно раскурить как работает экспонирование у AlphaCrow
Добавлено after 4 minutes:
[uquote="Forward",url="/forum/viewtopic.php?p=3196194#p3196194"]И, если экспортировать преобразованный bmp, не мешало бы попытаться где-нибудь (например в названии) принудительно добавить полученное разрешение. Хотя, я надеюсь, эта промежуточная стадия в дальнейшем не будет востребована
[/uquote]
При загрузке битмапа в окне сообщений высвечивается его реальное разрешение (при условии, что он создан в этой же программе).
Так не удобно?
Добавлено after 14 minutes 49 seconds:
[uquote="Ruzik",url="/forum/viewtopic.php?p=3196099#p3196099"]Если отключить питание (когда горит зеленый), то вылетает ошибка. Может и раньше так было, заметил только что.[/uquote]
Работу над ошибками потом будем делать
Запустить бы
Сделал специально так же как и на портале, чтобы было однотипно
Пусть пока так.
Округлил до сотых.
Размер шага по Х отображается для визуального подбора разрешения.
Теперь нужно раскурить как работает экспонирование у AlphaCrow
Добавлено after 4 minutes:
[uquote="Forward",url="/forum/viewtopic.php?p=3196194#p3196194"]И, если экспортировать преобразованный bmp, не мешало бы попытаться где-нибудь (например в названии) принудительно добавить полученное разрешение. Хотя, я надеюсь, эта промежуточная стадия в дальнейшем не будет востребована
При загрузке битмапа в окне сообщений высвечивается его реальное разрешение (при условии, что он создан в этой же программе).
Так не удобно?
Добавлено after 14 minutes 49 seconds:
[uquote="Ruzik",url="/forum/viewtopic.php?p=3196099#p3196099"]Если отключить питание (когда горит зеленый), то вылетает ошибка. Может и раньше так было, заметил только что.[/uquote]
Работу над ошибками потом будем делать
Запустить бы
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
SDimok
По поводу BMP, может при сохранении переоткрывать гербер, сохранить BMP с нормальным разрешением, затем опять переоткрыть гербер и перерисовать в программе?
Или при сохранение перерисовывать уже имеющийся рисунок в нормальные пропорции, сохранять, затем опять перерисовывать его, согласно настройкам.
Или при сохранении BMP, открывается окно, где вводим нужное разрешение и сохраняем.
Раз уже есть функция открытия и сохранения BMP, то хотелось бы, что бы работало правильно. Иначе при загрузке деформированного BMP, на его пропорции наложатся пропорции программы и будет не понятно что.
Но это потом (по возможности), сейчас главное конечно запустить.
Добавлено after 6 hours 47 minutes 1 second:
Еще заметил такую особенность. Если вручную двигать портал с зажатым Shift, то один из 4 шагов пропускается (стол не двигается).
Например первый шаг 10 мкм, второй +10 = 20 мкм, третий 20+10 = 30 мкм, четвертый стол не передвигается, но счетчик прибавляет +10 мкм, получаем 40 мкм. Со следующего шага все повторяется.
У автора тоже самое происходит.
Попробуйте с зажатым Shift подвигать портал, также?, пропуск есть?
Выходит что на 1000 строк 250 раз болтается в холостую, если при засветке происходит тоже самое.
По поводу BMP, может при сохранении переоткрывать гербер, сохранить BMP с нормальным разрешением, затем опять переоткрыть гербер и перерисовать в программе?
Или при сохранение перерисовывать уже имеющийся рисунок в нормальные пропорции, сохранять, затем опять перерисовывать его, согласно настройкам.
Или при сохранении BMP, открывается окно, где вводим нужное разрешение и сохраняем.
Раз уже есть функция открытия и сохранения BMP, то хотелось бы, что бы работало правильно. Иначе при загрузке деформированного BMP, на его пропорции наложатся пропорции программы и будет не понятно что.
Но это потом (по возможности), сейчас главное конечно запустить.
Для визуализации, тем более если это используется только для подбора разрешения и сотые там не нужны, достаточно целого.SDimok писал(а):Округлил до сотых.
Добавлено after 6 hours 47 minutes 1 second:
Еще заметил такую особенность. Если вручную двигать портал с зажатым Shift, то один из 4 шагов пропускается (стол не двигается).
Например первый шаг 10 мкм, второй +10 = 20 мкм, третий 20+10 = 30 мкм, четвертый стол не передвигается, но счетчик прибавляет +10 мкм, получаем 40 мкм. Со следующего шага все повторяется.
У автора тоже самое происходит.
Попробуйте с зажатым Shift подвигать портал, также?, пропуск есть?
Выходит что на 1000 строк 250 раз болтается в холостую, если при засветке происходит тоже самое.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Странно, у меня пропусков нет. Специально проверял с перестановкой драйвера, чтобы слышно было. Прошагал 200 шагов туда и обратно - все четко.Ruzik писал(а): Попробуйте с зажатым Shift подвигать портал, также?, пропуск есть?
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
На Ctrl шагает по 100 мкм без пропуска, а с Shift с пропуском 4 шага стабильно.
Куда копать, если не в проге дело?
Куда копать, если не в проге дело?
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Хороший вопрос.Ruzik писал(а):Куда копать, если не проге дело?
Но если система ведет себя одинаково и стабильно, то либо не проходит команда от ПК до контроллера (что вряд ли может быть стабильно), либо контроллер не отрабатывает команду (с зажатым Shift ШД должен вроде бы шагнуть на 4 шага) по какой-то причине.
- SDimok
- Мучитель микросхем
- Сообщения: 482
- Зарегистрирован: Сб фев 06, 2016 14:34:29
- Откуда: Саянск, Иркутская область
- Контактная информация:
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
[uquote="Ruzik",url="/forum/viewtopic.php?p=3196306#p3196306"]Еще заметил такую особенность. Если вручную двигать портал с зажатым Shift, то один из 4 шагов пропускается (стол не двигается).[/uquote]
Поставь advanced serial port monitor, запусти в режиме наблюдения за com портом.
Посылай команду и смотри, есть подтверждение или нет.
Узнаешь примерно где копать, в программе или в установке.
Добавлено after 12 minutes 48 seconds:
[uquote="Forward",url="/forum/viewtopic.php?p=3196663#p3196663"]с зажатым Shift ШД должен вроде бы шагнуть на 4 шага по какой-то причине.[/uquote]
У автора, судя по снифферу, так и передается по 4 шага.
Да и в инструкции у автора написано:
+Shift - перемещение каретки/стола на 1/4 шагов.
то есть
каретка на 1 шаг / стол на 4 шага (я так понял)
Я у себя так же пока сделал, хотя стол может шагать и по 1 шагу
Позже сделаю перемещение по количеству, которое выбрано в настройках разрешения.
Будет шагать соразмерно каретке.
Добавлено after 5 minutes 20 seconds:
[uquote="Ruzik",url="/forum/viewtopic.php?p=3196649#p3196649"]На Ctrl шагает по 100 мкм без пропуска, а с Shift с пропуском 4 шага стабильно.
[/uquote]
Ruzik, постой ! ты давишь не отпуская шифт и стрелку что ли?
Я подвожу с шифтом и стрелкой камеру - когда нужно точно, и то нажал, отпустил, шагами как бы.
Поставь advanced serial port monitor, запусти в режиме наблюдения за com портом.
Посылай команду и смотри, есть подтверждение или нет.
Узнаешь примерно где копать, в программе или в установке.
Добавлено after 12 minutes 48 seconds:
[uquote="Forward",url="/forum/viewtopic.php?p=3196663#p3196663"]с зажатым Shift ШД должен вроде бы шагнуть на 4 шага по какой-то причине.[/uquote]
У автора, судя по снифферу, так и передается по 4 шага.
Да и в инструкции у автора написано:
+Shift - перемещение каретки/стола на 1/4 шагов.
то есть
каретка на 1 шаг / стол на 4 шага (я так понял)
Я у себя так же пока сделал, хотя стол может шагать и по 1 шагу
Позже сделаю перемещение по количеству, которое выбрано в настройках разрешения.
Будет шагать соразмерно каретке.
Добавлено after 5 minutes 20 seconds:
[uquote="Ruzik",url="/forum/viewtopic.php?p=3196649#p3196649"]На Ctrl шагает по 100 мкм без пропуска, а с Shift с пропуском 4 шага стабильно.
Ruzik, постой ! ты давишь не отпуская шифт и стрелку что ли?
Я подвожу с шифтом и стрелкой камеру - когда нужно точно, и то нажал, отпустил, шагами как бы.
Последний раз редактировалось SDimok Пн окт 02, 2017 16:36:44, всего редактировалось 1 раз.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
[uquote="SDimok",url="/forum/viewtopic.php?p=3196665#p3196665"]Я у себя так же пока сделал, хотя стол может шагать и по 1 шагу
[/uquote]
Так тут нужно учитывать особенности каждой установки, вот если у тебя шаг 20 мкм, то на 4 шага - уже 80 плюс разные допуски - итого получили 0.1 мм при позиционировании - нехорошо. Если шаг 2,5 мкм - то 4 шага вполне нормально - допуск прицела меньше ошибки по Х.
Так тут нужно учитывать особенности каждой установки, вот если у тебя шаг 20 мкм, то на 4 шага - уже 80 плюс разные допуски - итого получили 0.1 мм при позиционировании - нехорошо. Если шаг 2,5 мкм - то 4 шага вполне нормально - допуск прицела меньше ошибки по Х.
- SDimok
- Мучитель микросхем
- Сообщения: 482
- Зарегистрирован: Сб фев 06, 2016 14:34:29
- Откуда: Саянск, Иркутская область
- Контактная информация:
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
[uquote="Forward",url="/forum/viewtopic.php?p=3196672#p3196672"]Так тут нужно учитывать особенности каждой установки, вот если у тебя шаг 20 мкм, то на 4 шага - уже 80 плюс разные допуски - итого получили 0.1 мм при позиционировании - нехорошо. Если шаг 2,5 мкм - то 4 шага вполне нормально - допуск прицела меньше ошибки по Х.
[/uquote]
Дописать не успел в прошлом сообщении
Позже сделаю перемещение по количеству, которое выбрано в настройках разрешения.
Будет шагать соразмерно каретке.
Ну или сделать выбор для ручного режима.
Дописать не успел в прошлом сообщении
Позже сделаю перемещение по количеству, которое выбрано в настройках разрешения.
Будет шагать соразмерно каретке.
Ну или сделать выбор для ручного режима.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Ну да, а как еще, зажатый шифт и нажимаю отпускаю стрелку.SDimok писал(а):Я подвожу с шифтом и стрелкой камеру - когда нужно точно, и то нажал, отпустил, шагами как бы.
Хотел смещение камеры настроить и смотрю что то "троит", начал считать, 4 шаг пропуск.
Поставил 1/8, разрешение портала поставил 200х1000. Вроде все устаканилось, но на 1/16 не хочет. Драйвер А4988 (пробовал менять), резистор выкрутил на макс.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Забавность ситуации заключается в том, что именно на таком драйвере (А4988), правда в режиме 1/4 я и проверял "пропуск шагов". С ним на слух можно хорошо ориентироваться, не то что с TMC2100Ruzik писал(а):Драйвер А4988 (пробовал менять), резистор выкрутил на макс.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Поставил еще один драйвер, от другого продавца, проблема ушла, на 1/16 заработало.
Forward
Вот эта неравномерная полосатость http://radiokot.ru/forum/viewtopic.php? ... 0#p3192410 наверно из за этого и была.
Forward
Вот эта неравномерная полосатость http://radiokot.ru/forum/viewtopic.php? ... 0#p3192410 наверно из за этого и была.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Можно было просто для надежности при микрошаге уменьшить в настройках скорость свободного перемещения стола.Ruzik писал(а):Вот эта неравномерная полосатость viewtopic.php?p=3192410#p3192410 наверно из за этого и была.
А полосатость - это скорее пропуск строк, а не шагов. При пропуске шага - наложение строк, а не пробел засветки.
Re: Лазерная установка для засветки фоторезиста от AlphaCrow
Попробуй на 1/16 и смотри по камере.Forward писал(а):Забавность ситуации заключается в том, что именно на таком драйвере (А4988), правда в режиме 1/4 я и проверял "пропуск шагов".