Blue-Violet Laser, 405 nm.

Тема в разделе 'Эксклюзивные лазеры', создана пользователем Витёк, 1 май 2010.

  1. Витёк

    Витёк Модератор Staff Member

    ПРОДАН!

    Итак. сделал я таки наконец себе фиолетовый лазер.
    Основные характеристики:
    - Используется повышающий драйвер на ZXSC400.
    - Драйвер работает в режиме источника тока.
    - Ток корректируется в зависимости от около-диодной температуры.
    - Li-Po аккумулятор 18650, 3.7V, 2.8Ah.
    - Индикация состояния заряда аккумулятора. Микроконтроллер ПЛИС EPM3064.
    - Управление работой драйвера в зависимости от заряда аккумулятора.
    - Используется просветлённая оптика от Aixiz на 405 нм.
    - Самодельный коллиматор (дюраль + латунь).
    - Диод выдран из 6x Blu Ray GGWH20L Sled.
    - Схема драйвера, сам драйвер, программы для ПЛИС, чертёж коллиматора и сам коллиматор - делались вручную мной.

    Чертежи коллиматора выложил тут.

    Схема драйвера:
    [attachment=18:3573gk9o]Schema.jpg[/attachment:3573gk9o]

    График зависимости тока через диод от температуры. Крестиками отмечены точки, рассчитанные по даташиту, красной линией - расчётная зависимость, чёрными точками - реальные показания, снятые осциллографом.
    [attachment=17:3573gk9o]termo-compinsation-resultgraph.jpg[/attachment:3573gk9o]

    Ну и фотки. No comments.
    [attachment=16:3573gk9o]P1060980.JPG[/attachment:3573gk9o]
    [attachment=15:3573gk9o]P1060983.JPG[/attachment:3573gk9o]
    [attachment=14:3573gk9o]P1060984.JPG[/attachment:3573gk9o]
    [attachment=13:3573gk9o]P1060985.JPG[/attachment:3573gk9o]
    [attachment=12:3573gk9o]P1060987.JPG[/attachment:3573gk9o]
    Решил подкрасить. Красил в 3 слоя матовой краской.
    [attachment=11:3573gk9o]P1060989.JPG[/attachment:3573gk9o]
    Диод собственной персоной:
    [attachment=10:3573gk9o]P1060990.JPG[/attachment:3573gk9o]
    [attachment=9:3573gk9o]P1060991.JPG[/attachment:3573gk9o]
    [attachment=8:3573gk9o]P1060993.JPG[/attachment:3573gk9o]

    Все в сборе. Скотч не несёт никакой нагрузки, он нужен только для того, чтобы всё собрать. Без него не удобно :)
    [attachment=7:3573gk9o]P1060994.JPG[/attachment:3573gk9o]
    [attachment=6:3573gk9o]P1060995.JPG[/attachment:3573gk9o]

    Собрал
    [attachment=5:3573gk9o]P1060997.JPG[/attachment:3573gk9o]
    [attachment=4:3573gk9o]P1060999.JPG[/attachment:3573gk9o]

    Далее. Лазер выглядит как-то скучно. Нужны пугающие и внушительные наклейки. Поглядел вокруг, нашёл прозрачную бумагу, остатки белой краски, клей момент, принтер, фотошоп.
    Нарисовал такие "наклейки"
    [attachment=3:3573gk9o]P1070005.JPG[/attachment:3573gk9o]

    Причём сам рисунок - с той же стороны, с которой и клей. В итоге - картинка защищена от воды и царапин. Отличные наклейки! И лазер стал выглядеть по-серьёзнее:
    [attachment=2:3573gk9o]P1070010.JPG[/attachment:3573gk9o]

    Он очень яркий. Достаточно оценить его яркость по этой фотографии (танцев с выдержкой не выполнялось, режим "auto")
    [attachment=1:3573gk9o]P1070014.JPG[/attachment:3573gk9o]

    Видео работы индикации:
    [youtube:3573gk9o]http://www.youtube.com/watch?v=1FzQnaeq7RY[/youtube:3573gk9o]
    No Comments:
    [youtube:3573gk9o]http://www.youtube.com/watch?v=S8JGnX7xSJM[/youtube:3573gk9o]
    Пиу-Пиу:
    [attachment=0:3573gk9o]P1070025.JPG[/attachment:3573gk9o]
     

    Вложения:

    • Schema.jpg
      Schema.jpg
      Размер файла:
      345,8 КБ
      Просмотров:
      2.995
    • termo-compinsation-resultgraph.jpg
      termo-compinsation-resultgraph.jpg
      Размер файла:
      716,2 КБ
      Просмотров:
      3.022
    • P1060980.JPG
      P1060980.JPG
      Размер файла:
      140,7 КБ
      Просмотров:
      3.057
    • P1060983.JPG
      P1060983.JPG
      Размер файла:
      270,3 КБ
      Просмотров:
      3.028
    • P1060984.JPG
      P1060984.JPG
      Размер файла:
      217,6 КБ
      Просмотров:
      2.961
    • P1060985.JPG
      P1060985.JPG
      Размер файла:
      374,6 КБ
      Просмотров:
      2.988
    • P1060987.JPG
      P1060987.JPG
      Размер файла:
      604,6 КБ
      Просмотров:
      3.009
    • P1060989.JPG
      P1060989.JPG
      Размер файла:
      207,9 КБ
      Просмотров:
      2.698
    • P1060990.JPG
      P1060990.JPG
      Размер файла:
      145,2 КБ
      Просмотров:
      2.856
    • P1060991.JPG
      P1060991.JPG
      Размер файла:
      151,6 КБ
      Просмотров:
      3.008
    • P1060993.JPG
      P1060993.JPG
      Размер файла:
      127 КБ
      Просмотров:
      3.000
    • P1060994.JPG
      P1060994.JPG
      Размер файла:
      116,5 КБ
      Просмотров:
      2.970
    • P1060995.JPG
      P1060995.JPG
      Размер файла:
      120,3 КБ
      Просмотров:
      2.887
    • P1060997.JPG
      P1060997.JPG
      Размер файла:
      143,7 КБ
      Просмотров:
      3.015
    • P1060999.JPG
      P1060999.JPG
      Размер файла:
      137,9 КБ
      Просмотров:
      2.865
    • P1070005.JPG
      P1070005.JPG
      Размер файла:
      217,2 КБ
      Просмотров:
      3.018
    • P1070010.JPG
      P1070010.JPG
      Размер файла:
      122,7 КБ
      Просмотров:
      3.037
    • P1070014.JPG
      P1070014.JPG
      Размер файла:
      60,9 КБ
      Просмотров:
      3.088
    • P1070025.JPG
      P1070025.JPG
      Размер файла:
      217,6 КБ
      Просмотров:
      2.721
    Romik$, NymVetamin, Dm.76 и ещё 1-му нравится это.
  2. Fonarik

    Fonarik Пользователь

    серьёзная штука.... респект... корпус класный. это под аккумулятор 18650? а какой ток на диоде?
     
  3. B.E.S.

    B.E.S. Модератор Staff Member

    Основательная,качественная и продуманная конструкция.Эксклюзив!
     
  4. ECCOsea

    ECCOsea Пользователь

    Да точняк эксклюзив! Респект! Все очень аккуратно и продуманно! :)
     
  5. 4eef

    4eef Пользователь

    Серъёзный подход, серъёзный девайс. Как всегда молодец, лови плюс. Но в конструкцию коллиматора я внёс бы изменение... Регулируемый фокус.
    Если не секрет, сколько денюх ушло на него?
     
  6. ECCOsea

    ECCOsea Пользователь

    А у тебя там что ли еще термодатчик есть такой на проводках черный? :?
     
  7. Fonarik

    Fonarik Пользователь

    спасибо капитан очевидность...
     
  8. Sparker

    Sparker Пользователь

    Здорово! Особенно индикаторы разряда понравились.
     
  9. chem_kot

    chem_kot Модератор Staff Member

    Красота...лови плюсег :)
     
  10. ArtDen

    ArtDen Пользователь

    Я прихожу в ужас, когда вижу в такой маленькой плате микросхему с таким большим количеством выводов :))
     
  11. suslox

    suslox Пушистикс Staff Member

    :) молодец!точно в экслюзив! серьезная конструкция как и в прошлый раз на плис)
    опиши подробнее логику работы плис и функции ей выполняемые :) :?:
    просто артден прав - огромная микра в маленьком лазере)
     
  12. Витёк

    Витёк Модератор Staff Member

    Дело всё в том, что BD4724 (датчики напряжения) не совсем хорошо работают.
    Если на входе этой микры 2.6 вольт - на выходе тока нет, всё зашибись.
    Если на входе микры 2.4 - 2.5 вольт - на выходе она начинает генерить прямоугольные импульсы. Это не связано с тем, что аккумулятор успевает отдохнуть и напряжение поднимается. Просто это промежуточное положение и микра начинает генерить.
    Ну и если 2.4 вольта - то она открывает транзистор, ток начинает теч.

    Задача ПЛИС - чётко подать сигнал, либо вкл, либо выкл на ZXSC.
    Выводов от неё используется не много, с этой задачей и другая бы микра справилась.
    Логика такая:
    У микры есть 3 состояния.
    1 состояние - мигает синий.
    2 - мигает синий и красный.
    3 - мигает красный.

    Есть 2 контроллера напряжения на BD4724.
    первый следит за точкой 3.6-3.7 вольта, второй - 3.3-3.4 вольта.
    если напряжение выше заданного - на выходе датчика логическая "1".
    ПЛИС переходит из первого во второе состояние и из второго в третье. обратный переход невозможен без выключения питания.
    Переход из первого во второй произойдет, если было замечено 127 тактов (это примерно 0.5 секунды) логического нуля у первого датчика.
    Переход из второго в третье - если было замечено 127 тактов логического нуля у второго датчика.

    Согласен, это можно было сделать простыми триггерами. Я планирую вшить несколько другую логику, но пока и эта устраивает.
    Самая главная задача микры - регулирование яркости диодов индикации. Чтобы мигание было аккуратным, красивым. "Мягкое" мигание создаётся за счёт ШИМ сигнала.

    Можно было бы использовать любую другую микросхему для этих целей, с меньшим количеством ножек, но я умею программить только для ПЛИС Altera :p

    Кто сечёт в VHDL, может посмотреть исходный текст программы:
    [spoiler:2t6ip0r9]LIBRARY IEEE;
    USE IEEE.std_logic_1164.all;
    USE IEEE.std_logic_unsigned.all;
    USE IEEE.std_logic_arith.all;

    entity driver is
    port
    (
    v30, v35: in std_logic;
    gen1,gen3,genout: out std_logic;
    gen2: in std_logic;
    red_led, blue_led, on_off_signal: out std_logic
    );
    end driver;


    architecture cristall of driver is
    shared variable a1: integer range 0 to 1;
    shared variable t1: integer range 0 to 255;
    shared variable t2: integer range 0 to 255;
    shared variable drv: integer range 0 to 1;
    signal clk: std_logic;
    signal g: std_logic;
    signal ns: std_logic;
    signal nr: std_logic;
    signal q: std_logic;
    signal nq: std_logic;
    shared variable led_signal: integer range 0 to 1;
    shared variable dv30: integer range 0 to 127;
    shared variable dv35: integer range 0 to 127;
    begin
    q <= not gen2;
    g <= not q;
    gen1 <= g;
    gen3 <= not g;

    clk <= q;
    genout <= clk;

    red_led <= '1' when ((led_signal=1) and (dv35=127)) else '0';
    blue_led <= '1' when ((led_signal=0) and (dv30<127)) else '0';
    on_off_signal <= '1' when (dv30<127) else '0';

    process
    begin
    wait until clk='1';
    if (t1 > t2) then led_signal:=0;
    else led_signal:=1;
    end if;
    if (v30='0') and (dv30 < 127) then dv30:=dv30+1; end if;
    if (v35='0') and (dv35 < 127) then dv35:=dv35+1; end if;
    end process;

    process
    begin
    wait until clk='1';
    t1:=t1+1;
    end process;

    process
    begin
    wait until t1=255;
    if drv=0 then
    if t2=255 then
    drv:=drv+1;
    else
    t2:=t2+1;
    end if;
    end if;
    if drv=1 then
    if t2=0 then
    drv:=drv+1;
    else
    t2:=t2-1;
    end if;
    end if;
    end process;
    end cristall;[/spoiler:2t6ip0r9]
     
  13. suslox

    suslox Пушистикс Staff Member

    :) а схемной модели структуры плис нету?
     
  14. Витёк

    Витёк Модератор Staff Member

  15. suslox

    suslox Пушистикс Staff Member

    :) жаль...тогда ответь: сложно это все на логике реализовать было бы и на оу вместо супервизоров?

    R14С4 - это что за цепочка?
     
  16. Витёк

    Витёк Модератор Staff Member

    нет, не сложно. но места на плате займёт больше.
    да и триггеров в SMD корпусах я не видел
    + лампочки будут мигать "жёстко"

    Эта цепочка задаёт частоту внутренних часов.
     
  17. suslox

    suslox Пушистикс Staff Member

    :) ого....серьезно)а какой резистор на схеме - термо?
     
  18. Витёк

    Витёк Модератор Staff Member

    RT1 - термо.
    R2,R3,R4 задают вид кривой. можно сделать экспоненту, обратную экспоненту, прямую, дико-хитрую как x^3... короче какую угодно )
     
  19. Lum1noFor

    Lum1noFor Пользователь

    Молодец, очень красиво! Особенно понравился дизайн драйвера
     
  20. Мартин

    Мартин Пользователь

    Это ты так на бумаге лучем или перетяжкой?
     

Поделиться этой страницей