моя идея заключается в следующем, составить список фигур/оборотов двигателей, и собрать контроллер который сможет переключать фигуры задавая те или иные обороты. интересно, можно ли подобное реализовать на обычных (не шаговых) движках? ..вроде биос как то измеряет обороты кулеров, может это пригодится? в общем кто что думает?
Теоретически, если использовать качественные кулеры с датчиками Холла, то можно организовать ШИМ на AVR'ке + слежение за оборотами, а в контроллер зашить таблицу оборотов и программу смены пресетов где есть стабильные эффекты. Но ИМХО не стоит возни, проще проектор на гальванометрах от хардов сделать.
Ну да, на 3-хвыводных кулерах можно мерить частоту вращения, управлять можно через ШИМ. В принципе, мерить даже не обязательно просто записать на каких уровнях ШИМ есть стабильные картинки, потом только их включать. Табличку можно в еепром записывать, допустим, подстройкой нашёл картинку, нажал кнопку - настройка сохранилась. Только зачем? В образовательных, так сказать, целях конечно можно сделать, просто чтобы что-то сделать.
Да нет, стабилизировать обороты нужно обязательно. Даже когда я игрался, картинки расстраивались довольно быстро. транзисторы грелись, рабочая точка смещалась. Да и смотреть на одну и ту же фигуру надоедает, надо менять фигуры. а как их менять? ручками? нет уж. Короче на каждый моторчик по магнитику и датчику холла(Свет в каждый дом ) и на три шима повесить. причем сигнал с датчиков хз как обрабатывать. на три счетчика заводить и пиком считывать через коммутатор? гемор. Мне кажется стабилизировать обороты надо аналогово, а мк просто уровни задавать будет.
Датчики пороговые должны быть, тогда их на цифровой вход контроллера цепляешь и время между изменением уровней мериешь (на кулерах так и сделано).
А как ты эти изменения ловить будешь? опрашивать постоянно? Хотя таймер наверно можно использовать.. с внешней остановкой.
Таймер можно использовать, только это нужен контроллер с тремя внешними прерываниями, я с Атмегой 8 экспериментил, так у нее только два. Программу можно представить так: Основной цикл таймера -> прерывание 1 сработка, запись в первую переменную значение таймера для первого и т.д. для всех. Вот только как это дело к ШИМу привязать не знаю...
А дальше условие, если значение таймера больше ххх, то значение в шим +1(10,100) смотря какая дискретность нужна.
Там без обратной связи, просто через ШИМ скорость задаётся, и если она начнёт плавать, картинка уйдёт. Если движки будут нормально скорость держать, или тебе не нужны стабильные картинки (например хочешь просто постоянно её менять автоматом), тогда пожалуйста.
вариан проще: к каждому моторчику транзистор и на базу сигнал от звукового фильтра, ну как в в цвектомузыкальных схемах по частоте поделить. тогда картинка всегда разной будет. естественно подобрать среднюю скорость без входа и всё.