Спирограф! Рисуем фигуры лазером!

Тема в разделе 'Спирографы', создана пользователем Artemka, 11 сен 2008.

  1. Inspiron

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

    Итак, новая, переписанная с нуля прошивка на дешёвом и простом контроллере с программным ШИМом, режимом модуляции лазера и энергонезависимой памятью на 30 фигур (модуляция тоже запоминается).
    Полное описание и схема девайса в архиве.
    Ловим баги, и сообщаем о результатах здесь.
     

    Вложения:

  2. Sparker

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

    А на три двигателя одновременно? ;) А если еще наложить на контроллер вывод информации на индикатор, и скажем, считывание кнопок? Хотя одно из двух можно и на прерывание по таймеру раз в 0.5сек сделать, например. Наверное я еще не слишком разобрался в ассемблере, и наверное, плохо представляю, как правильно организовать такой жирный ряд проверок/вывода информации и т.д. Но как Вам подобная идея? Вроде бы должна работать.
     
  3. Inspiron

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

    Sparker
    У меня на 3 двигателя шим сделан.
    Опрашиваются 2 кнопки и мигают 2 лампочки :)
    Писал на чистом C++, накосячил только в одном месте, там где происходит запоминание в EEPROM и одновременно мигание, хотя и так более менее работает. И всё это при работе на 8 мегагерцах от встроенного генератора.
     
  4. SviMik

    SviMik Новичок

    Пример: программный ШИМ на 8 (хотя на самом деле 4, просто зеркально отражено) светодиодов.
    [youtube:1gsb57jj]http://www.youtube.com/watch?v=W2Bcs-bQlxY[/youtube:1gsb57jj]
     
  5. Sparker

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

    Спасибо. Меня смущало то, что прийдется одновременно выполнять увеличение счетчика и различные проверки аж 3 раза. Одновременно! Но, кажется, теперь понимаю.
    Вы так и не ответили на вопрос: работоспособен ли мой вариант регулировки оборотов двигателя?
     
  6. Kvadro85

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

    Inspiron завтра поутру сделаю, поздно уже...
    И все же, так как я не часто прошиваю контроллеры, можно пояснить некоторые моменты: зачем три файла, что каждый из них прошивает? в прошлый раз я прошил только hex и всё работало, а теперь я не понимаю...
     
  7. Inspiron

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

    Sparker Одновременно две вещи не может делать даже человек, это доказано учёными. А МК уж тем более. Но если грамотно всё раскидать по прерываниям то МК будет выполнять команды в квазипараллельном режиме. Нужно только подумать над логикой работы устройства.
    Kvadro85 Прошивка hex и заодно файл для прошивки eeprom, только качайте с самого последнего сообщения, я там ещё кое что поправил
     
  8. Sparker

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

    Пожалуйста ответьте на мой вопрос, работоспособна ли идея управления скоростью двигателя, опубликованная на предыдущей странице?
     
  9. Inspiron

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

    не думаю что ваш вариант будет работать. если хотите использовать несколько ножек, то посмотрите в инете цап на резисторах. и сделайте по аналогии. сейчас не могу кинуть ссылку. так как в поезде еду и пишу с телефона
     
  10. Sparker

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

    Да, надо к ножкам МК подключить транзисторы, а уже к транзисторам - резисторы. Иначе при лог.0 ток будет втекать в порты, а это не нужно.
    Пожалуйста, обоснуйте свое мнение. Меня очень заинтересовала подобная реализация управления скоростью, меня интересует мнение остальных пользователей. Да и вроде бы все в порядке - ведь чем у большего разряда лог.1 тем больший ток потечет через базу транзистора, а при включении младших разрядов вместе со старшими в лог.1 ток будет постепенно возрастать. Правда может возникнуть проблема с линейностью, надо хитро подобрать сопротивление резисторов, чтобы общий ток, вытекающий из цепочки рос более-менее линейно.
    Спасибо за совет, попробую поискать по поводу ЦАП.
     
  11. SviMik

    SviMik Новичок

    У выходов есть ещё одно состояние - выключенное :) Тогда они не влияют на сигнал.
     
  12. Sparker

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

    Hi-Z что-ли? А, ну да, точно. Ненужные можно перевести в Hi-Z. Ну так что, SviMik, скажете по этому поводу?
     
  13. Inspiron

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

    дак вы попробуйте, поэкспериментируйте. потом отпишите о результатах на форуме :)
     
  14. Sparker

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

    Хорошо. Как-нибудь попробую.
     
  15. SviMik

    SviMik Новичок

    Работать будет. Хотя ШИМ будет не сложнее. И КПД выше - транзистор греться не будет.
     
  16. Sparker

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

    Да, при использовании ШИМ будет чем-то лучше, чем-то хуже. Например, при реализации ШИМ программным путем сильно грузится контроллер. А тут - вывел 1 раз информацию и можно заниматься другими делами - анализом кнопок, выводом еще какой-то информации, мало ли, вдруг контроллеру надо руководить захватом мира а мы его еще заставляем работать таймером под двигатели. :) Но в плане выделения температуры, конечно, лучше ШИМ.
     
  17. Kvadro85

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

    Inspiron прошился. Мне кажется что с модуляцией плохая идея. А какой сейчас диапазон пауз, длин импульсов? И какой алгоритм работы в режиме модуляции?

    ps а при сохранении фигур, так и должно быть, что двигателя включаются на повышенные обороты на секунду?
     
  18. Inspiron

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

    Мне модуляция тоже не понравилась, просто на 8 мегагерцах контроллер не справляется с выводом всего что надо. поэтому я оставлю только авторежим и режим работы из памяти. (импульсы и паузы генерируются в диапазоне от 0.001 до 0.02 сек. ). А при сохранении так не должно быть, но там видимо слишком большая пауза получается, поэтому и двигатели мотают на полную. вообщем надо поправить :)
     
  19. Sparker

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

    Сделал в экселе табличку, берущую сопротивления резисторов из нескольких ячеек (всего 4 резистора) и вычисляющую общий ток, вытекающий из всех резисторов. Вот что вышло:
    [​IMG]
    Я думаю, это очень даже линейно. Идея имеет право на существование. Как вам?
    P.S. Сопротивления резисторов 30,20,10,5
     
  20. vaaalex

    vaaalex Новичок

    Может можете выложить скрин окна фузов (PonyProg) для спирографа по схеме Inspiron :) Сомневаюсь, что я их правильно выставил, неохото испортить МК.
    Спасибо.
     

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