Всем привет!
Прошло довольно много времени с последнего сообщения в этой теме, пришла пора поделиться достижениями
Напомню, целью является микрошаговый контроллер, обеспечивающий ведение монтировки с шагом не более 0.5 секунды дуги на микрошаг. Ручное наведение и гидирование с пульта по обеим осям. Возможно, подключение автогида. Вообщем - аналог известного контроллера Павла Бахтинова, с единственной разницей - работа в микрошаге.
При проектировании решил не искать простых путей, в виде специализированных микрошаговых драйверов. Решил строить из того, что под ногами: драйверы L298 и PIC-и 16-й серии
На данный момент смакетировал аппаратную часть, реализовал микрошаг 1/32 (6400 микрошагов на оборот) и постоянное ведение со звездной скоростью.
Идея (впрочем, весьма неоригинальная) в следующем: с помощью модулей CCP микроконтроллера, работающих в ШИМ-режиме, получаю два опорных напряжения, задающих токи в обмотках двигателя. Они подаются через RC-цепочки на неинвертирующие входы компараторов микроконтроллера. На инвертирующие входы - напряжения с токоизмерительных резисторов соответствующих обмоток, так же через RC-цепочки.
По таймеру считываю состояния компараторов (с частотой 30 с небольшим килогерц) и в соответствии с нмим включаю или выключаю ток в обмотках.
Меняя напряжение на выходе ШИМ-ов по синусоиде (со сдвигом в 90 градусов между ними) и переключая при переходе через 0 полярность обмоток, получаю микрошаг.
Долго боролся с тем, что при переходе между двумя из 4-х фаз вал заметно притормаживал. Убил кучу времени в экспериментах, пока не догадался промерять напряжения в по-микрошаговом режиме во всех точках. Оказалось, что в точке SENSA висела постоянная составляющая в районе 50 мВ. При подходе к 0 синусоиды компаратор срабатывал раньше и выключал ток в обмотке на три микрошага вместо одного. Дело оказалось в плохой разводке земли - перенес точку подключения конденсатора подальше от L298, и все заботало
Сейчас вращается плавно, без заметных рывков.
Сейчас займусь опросом пульта, разгоном/торможением/реверсом, и прочими приятными вещами
Единственная оставшаяся проблема (а может и не проблема вовсе) - звук, издаваемый двигателем. Он отчетливо "поскрипывает" в такт шагам - частота ШИМ получается где-то в районе 4-5 килогерц (а не 15, как я предполагал, задавая период таймера). Можно с этим как-то побороться? Может виновата низкая чувствительность встроенных компараторов (напряжение смещения у которых 5мВ), что вызывает большие (по амплитуде и по времени) изменения тока до очередного срабатывания?
В аттаче - схемка. Покритикуйте плиз, что можно изменить/улучшить?