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

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

  1. Inspiron

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

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

    Вложения:

  2. Sparker

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

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

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

    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    16
    Пол:
    Мужской
    Адрес:
    Санкт-Петербург, Россия
    Sparker
    У меня на 3 двигателя шим сделан.
    Опрашиваются 2 кнопки и мигают 2 лампочки :)
    Писал на чистом C++, накосячил только в одном месте, там где происходит запоминание в EEPROM и одновременно мигание, хотя и так более менее работает. И всё это при работе на 8 мегагерцах от встроенного генератора.
     
  4. SviMik

    SviMik Новичок

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

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

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

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

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

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

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

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

    Сообщения:
    806
    Симпатии:
    1
    Баллы:
    16
    Адрес:
    Мос. обл, г.Черноголовка
    Пожалуйста ответьте на мой вопрос, работоспособна ли идея управления скоростью двигателя, опубликованная на предыдущей странице?
     
  9. Inspiron

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

    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    16
    Пол:
    Мужской
    Адрес:
    Санкт-Петербург, Россия
    не думаю что ваш вариант будет работать. если хотите использовать несколько ножек, то посмотрите в инете цап на резисторах. и сделайте по аналогии. сейчас не могу кинуть ссылку. так как в поезде еду и пишу с телефона
     
  10. Sparker

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

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

    SviMik Новичок

    Сообщения:
    1.133
    Симпатии:
    0
    Баллы:
    0
    Адрес:
    Tallinn, Estonia
    У выходов есть ещё одно состояние - выключенное :) Тогда они не влияют на сигнал.
     
  12. Sparker

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

    Сообщения:
    806
    Симпатии:
    1
    Баллы:
    16
    Адрес:
    Мос. обл, г.Черноголовка
    Hi-Z что-ли? А, ну да, точно. Ненужные можно перевести в Hi-Z. Ну так что, SviMik, скажете по этому поводу?
     
  13. Inspiron

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

    Сообщения:
    179
    Симпатии:
    0
    Баллы:
    16
    Пол:
    Мужской
    Адрес:
    Санкт-Петербург, Россия
    дак вы попробуйте, поэкспериментируйте. потом отпишите о результатах на форуме :)
     
  14. Sparker

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

    Сообщения:
    806
    Симпатии:
    1
    Баллы:
    16
    Адрес:
    Мос. обл, г.Черноголовка
    Хорошо. Как-нибудь попробую.
     
  15. SviMik

    SviMik Новичок

    Сообщения:
    1.133
    Симпатии:
    0
    Баллы:
    0
    Адрес:
    Tallinn, Estonia
    Работать будет. Хотя ШИМ будет не сложнее. И КПД выше - транзистор греться не будет.
     
  16. Sparker

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

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

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

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

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

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

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

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

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

    vaaalex Новичок

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

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