МАРСОХОД

Open Source Hardware Project

Проекты Altera Quartus II для платы Марсоход

Лазерный проектор

Лазерный проектор в работе

Для изготовления лазерного проектора кроме нашей платки Марсоход нужны:

  • винчестер
  • четыре лазерных указки
  • фототранзистор

Далее...

От винчестера оставляем только платформу и двигатель, а из самого жёсткого диска нужно сделать зеркало:

Зеркало для лазерного проектора

и закрепить его на двигателе

Мотор и зеркало лазерного проектора

Из лазерных указок нужно достать сами модули и отпаять от них
все лишнее, оставив только ограничивающий резистор ( 68ом ):

Лазер для проектора

Далее  закрепляем кусочек монтажной платы и марсоход на платформу.
К пинам pt_left и gnd подключаем фототранзистор.
На монтажной платке устанавливаем четыре лазера:

Лазеры для проектора

Хочу заметить, что на корпусе у лазера "+" , поэтому нам проще использовать
обратную логику. Соединяем все корпуса вместе и подключаем их к питанию, а на другие концы, для зажигания лазера, буде подавать "0".
Самый правый  (на фото ) лазер подключаем к пину key(3), остальные к F5, F4  и F3.
Зашиваем проект (icon Лазерный проектор (86.23 Кбайт)) и приступаем к самой сложной части работы - регулировке.

1.Проверка работоспособности и предварительная ориентация.
Подключаем по очереди все лазерчеки к пину GND и  направляем лучи в
середину зеркала.

2. Регулировка зеркала.
Подключаем к GND самый правый (на фото ) лазер (это у нас будут две нижние строки), направляем отражённый от зеркала луч на экран и отмечаем его положение. Затем направляем на экран луч от противоположной стороны зеркала.
Если зеркало установлено абсолютно вертикально, то лучи, отраженные
от разных сторон зеркала будут точно совпадать по вертикали.
Нам-же нужно чтобы они немного отличались (это будет расстояние между
соседними строками).

3. Регулировка фототранзистора.
Его нужно установить на такой высоте, чтобы через него проходил отраженный от
зеркала луч первого ( нижнего ) лазера, причем от обоих сторон зеркала. При этом
должен загораться led[0].

4.Регулировка растра по вертикали.
После нажатия key(0) должен запустится двигатель и на экране будут
видны две горизонтальные линии. Далее подключаем к GND следующий
по порядку лазер и регулируя его по вертикали добиваемся, чтобы все четыре
строки были на одинаковом расстоянии и т.д. В итоге мы должны получить
восемь горизонтальных строк с одинаковым межстрочным расстоянием.

5.Регулировка растра по горизонтали.
Нажав key(1) останавливаем двигатель, отключаем от GND все лазерчики
и подключаем только один на свое место (key(3)). Теперь после запуска
двигателя вместо двух сплошных линий должны отображаться два бита
из константы "text.v" . Далее подключаем к пину F5 следующий лазер.
Поскольку наши лазеры разнесены в горизонтальной плоскости, то и
изображение от второго лазера  будет довольно сильно сдвинуто в сторону.
Для корректировки этого сдвига в проекте предусмотрена константа inst28
(а для следующих лазеров inst41 и inst61) Исправляя эту константу и перешивая
проект нужно добиться максимально возможного совпадения пар строк
между собой. И так для всех остальных лазеров.

Нюансы: К сожалению мощность наших лазеров оказалась не очень большой,
поэтому днем изображение хорошо видно только на небольшом расстоянии - 0.5 - 1м.

В изображении могут быть перепутаны четные и нечетные строки.
Для выхода из этой ситуации в проекте предусмотрено их переключение
по нажатию key(2).

 

Комментарии  

0 #11 Ю р и й 16.06.2014 06:14
Цитирую FPGA:
[quote name="Ю р и й"][quote name="serhio"]У мя еще вопросик :oops:

Попробовал запустить проект на Quartus II v10.0sp1

А компилятор выдаёт ошибки:
Error: Can't save or open file ///JAM32EF.jam
Error: Quartus II Assembler was unsuccessful. 1 error, 0 warnings
Error: Peak virtual memory: 180 megabytes
Error: Processing ended: Sun Jun 15 00:28:57 2014
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 3 errors, 31 warnings
=================
ошибки постом ниже были - исправил, появились вот такие

Зайдите в меню "Assignments/De vice/Device And Pin Options/Program ming Files" и убрите
галочку с "JEDEC STAPL Format File (.jam)"
И , на всякий случай, проверьте, нет ли где в путях к проекту русских букв. Квартус их не любит. :sad:
0 #10 FPGA 14.06.2014 21:40
[quote name="Ю р и й"][quote name="serhio"]У мя еще вопросик :oops:

Попробовал запустить проект на Quartus II v10.0sp1

А компилятор выдаёт ошибки:
Error: Can't save or open file ///JAM32EF.jam
Error: Quartus II Assembler was unsuccessful. 1 error, 0 warnings
Error: Peak virtual memory: 180 megabytes
Error: Processing ended: Sun Jun 15 00:28:57 2014
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 3 errors, 31 warnings
=================
ошибки постом ниже были - исправил, появились вот такие
0 #9 serhio 08.07.2011 09:56
Спасиб от компелировалось :D .Теперь можно начать шаманить над железом :roll:
+1 #8 Ю р и й 08.07.2011 09:31
Цитирую serhio:
У мя еще вопросик :oops:

Попробовал запустить проект на Quartus II v11.0

А компилятор выдаёт ошибки:
Error: Inconsistent I/O type for element "key"
Error: Can't elaborate top-level user hierarchy
Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 1 warning
Error: Peak virtual memory: 245 megabytes
Error: Processing ended: Fri Jul 08 10:58:19 2011
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 1 warning

Как можно их исправить?

Последовательно сть действий следующая:
Найдите и удалите примитив "Output" с названием "key[3]"
Дайте проводочку, который к нему подходил , имя "key[3]"
Найдите и удалите примитив "Input" с названием "key[2..0]"
Установите примитив "Bidir" с названием "key[3..0]"
0 #7 serhio 08.07.2011 08:07
У мя еще вопросик :oops:

Попробовал запустить проект на Quartus II v11.0

А компилятор выдаёт ошибки:
Error: Inconsistent I/O type for element "key"
Error: Can't elaborate top-level user hierarchy
Error: Quartus II Analysis & Synthesis was unsuccessful. 2 errors, 1 warning
Error: Peak virtual memory: 245 megabytes
Error: Processing ended: Fri Jul 08 10:58:19 2011
Error: Elapsed time: 00:00:01
Error: Total CPU time (on all processors): 00:00:01
Error: Quartus II Full Compilation was unsuccessful. 4 errors, 1 warning

Как можно их исправить?
+1 #6 Ю р и й 08.07.2011 07:51
Цитирую serhio:
А к каким выходам "Марсохода" подключается двигатель от винчестера или он отдельно запитывается???

Двигатель подключается к пинам F0, F1 и F2
0 #5 serhio 08.07.2011 07:33
А к каким выходам "Марсохода" подключается двигатель от винчестера или он отдельно запитывается???
0 #4 Ю р и й 10.02.2011 05:58
Цитирую Ал-р:
занимательная вещь !
а для чего прорези и отверстия на зеркале ?

Прорези и отверстия нужны для того, чтобы поверхность
зеркала не искривлялась при затягивании винтов.
0 #3 Ал-р 09.02.2011 12:00
занимательная вещь !
а для чего прорези и отверстия на зеркале ?
0 #2 Александр 27.01.2011 09:45
А можно у вас в сборе приобрести этот девайс?
0 #1 Илюс 13.12.2010 17:52
Я тоже примерно по такому же принципу начал делать такую хрень, правда я купил 8 лазеров, т.к. хочу использовать пик контроллер. Шина у него 8-ми битная и хочу всю ее пустить на лазеры. так скажем. Составляю на VB программу, при помощи которой рисую картинку, или текст или бегущую строку простым набором текста, а прога будет сохранять результат как файл PBP а там останется просто компилировать и зашить. Прога также полезна пр создании круговой развертки на светодиодах. До Нового года врядле все будет готово но первые результаты потом где-нибудб выложу

Добавить комментарий


Защитный код
Обновить


GitHub YouTube Twitter
Вы здесь: Начало Проекты Проект Марсоход Лазерный проектор