Вот решил на каникулах немного поразвлечься и попробовать поуправлять приводом головок HDD (буржуйское название VCM - voice coil motor) от уже отжившего свое старенького винта, лежавшего в загашнике как раз для такого случая. Пораскидав мозгами и погуглив удивился, что не так много народу пыталось найти ему хорошее применение. В основном на буржуйских сайтах его стараются применить студенты как генератор тока (кому интересно можно натравить гугл на слово windbelt).
Но мне это неинтересно, хочется управлять всем миром, ха-ха-ха!!!
Максимально, что удалось нагуглить это вот:
http://ele-tech.com/html/diy-swing-led- ... esign.html - часы, сделанные на приводе от блока головок, но даже по скринам видно, что стоят резиновые демпферы и актуатор просто со всей дури мечется и лупит хвостом по этим демпферам. Скучно и грустно. Оригинал с исходниками и на оригинальном языке
Второе, что интересного удалось нарыть это вот: http://www.headfuzz.co.uk/3HrHDHack - довольно забавный индикатор загрузки процессора, памяти ПК. Однако разработчик не объясняет, каким образом он управляет положением актуатора.
В итоге, не могу понять, как отвести актуатор в нужное положение. Госпожа Википедия довольно скупа на эту тематику и говорит лишь
Я понимаю, что нужно подавать ток с определенной полярностью и определенной силы и впадаю в ступор.Принцип работы двигателя заключается в следующем: обмотка находится внутри статора (обычно два неподвижных магнита), ток, подаваемый с различной силой и полярностью, заставляет её точно позиционировать кронштейн (коромысло) с головками по радиальной траектории.
Уточню, что для этих целей использую ATTiny2313 и драйвер L293, это, что под рукой оказалось. Не врублюсь, как можно регулировать ток это раз, а во вторых, даже если отведу актуатор в нужное положение, как его там фиксировать?
Попробовал использовать ШИМ + RC цепочку для сглаживания. ШИМ генерирует два инверсных сигнала на две ноги, соответственно на драйвере L293 используется два канала. Два инверсных канала использовал как раз для того, чтобы удерживать блок в нужном положении. Предположил, что меняя скважность сигнала можно гонять актуатор туда-сюда. Фиг! При минимальной скважности головки прижаты к одному краю, плавно меняем, в один прекрасный момент головки просто перестают реагировать и их можно двигать в любое положение пальцем, при дальнейшем изменении головки отщелкиваются в другое крайнее положение.
Попытался думать как HDD, чтобы понять, как можно гонять свои магнитные головки туда-сюда. Понял, что скорее всего винт использует обратную связь отталкиваясь от текущих данных снятых с магнитных головок и корректируя, таким образом, положение головок. Что подтвердилось на нескольких зарубежных форумах. Но если я правильно понимаю, то всё-таки подав нужное напряжение (а скорее всего ток, т.к. он выполняет работу) можно отклонить головки на n-ый угол и зависимость эта должна быть линейна.
Что думают участники форума?
Спасибо за внимание.


