Телескопы покупают здесь


A A A A Автор Тема: Контроллер КФ.  (Прочитано 104685 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Суворов Владимир

  • Гость
Контроллер КФ.
« : 23 Ноя 2006 [09:02:35] »
Вот сделал, правда пока на бумаге. Хотелось бы услышать мнение товарищей по делу.

Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #1 : 23 Ноя 2006 [09:04:47] »
Монтажка получилась вот такая.

Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #2 : 23 Ноя 2006 [09:07:26] »
Исходник:

#include <pic.h>

__CONFIG(0x03F70);

#define DELAY 500

#define SWEEP 50

#define NUMSTEPS 4

volatile unsigned int RTC = 0;

volatile unsigned char ButtonPress = 0;

char step[] = {160, 96, 80,   144}; /* RB4, RB5, RB6, RB7 */

char stepPos = 0;

void interrupt tmr0_int(void)

 {
    if (T0IF) {           
           
               T0IF = 0;   
               RTC++;

              if(!RA4) ButtonPress = 10;
                     else       
 
              if(!RA3) ButtonPress = 20;
                     else   ButtonPress = 30;         
    }

}

void Dlay(unsigned int msecs)
{
unsigned int DlayEnd;

DlayEnd = RTC + msecs + 1;

while(DlayEnd != RTC);
}

/* pulse the motor with the current coil setting
 * and then wait for delay mS
 */
void pulseMotor(char delay) {
  PORTB = step[stepPos];
  Dlay(delay);
}

/* Advance the coil settings forward by one step
 * stepPos is left pointing to the *next* code to output to move forward
 */
void stepMotorForw(void) {
    stepPos++;
    if(stepPos == NUMSTEPS)
      stepPos = 0;
}
 
/* Advance the motor backward by one step
 * stepPos is left pointing to the *next* code to output to move backward
 */
void stepMotorBack(void) {
  /* advance stepPos to before where we were */
  /* do wrap around */
  if(stepPos == 0) {
    stepPos = NUMSTEPS-1;
  } else {
    stepPos--;
  }
}


void
main(void)
{
char i;
   OPTION = 0x0D1;       
   TMR0 = 0;
   T0IE = 1;
   GIE =  1;
   CMCON = 0x007;
   PORTA = 0x018;
   TRISA1 = 0x0EF;
   PORTB = 0x000;
   TRISB = 0x00F;

while(1){
             
 switch(ButtonPress){
       
        case 10:
                 for(i=0; i < SWEEP; i++) {
                 pulseMotor(DELAY);
                 stepMotorForw();
                 }
                 break;

        case 20:
                 for(i=0; i < SWEEP; i++) {
                 stepMotorBack();
                 pulseMotor(DELAY);
                 }
               break;

        case 30:
           default:
                 break;

        }         

  }
}



« Последнее редактирование: 13 Дек 2006 [01:38:21] от Суворов Владимир »

Оффлайн Владимир Николаевич

  • *****
  • Сообщений: 24 036
  • Благодарностей: 434
  • Takahashi Россия и QHYCCD Poccия
    • Skype - gromozeka12    вайбер +7 903 610-62-15
    • Сообщения от Владимир Николаевич
Re: Контроллер КФ.
« Ответ #3 : 23 Ноя 2006 [09:10:35] »
Володь! А теперь по русски - что зачем какие функции. Я лишь догадываюсь ;) что это долгожданный мной КОНТРОЛЛЕР ФОКУСЕРА :-* ???
Клевцов 470мм - 2экз, МАК Сантел 420 1\8 на передержке,  Доб 355мм SS, Доб 254, МАК Сантел 230мм, АПО 180мм на Losmandy Titan, подзорная труба 102\900ED SW,  бино 70ED, 70 Non-ED, 10х42ED, 10х50ED.

Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #4 : 23 Ноя 2006 [09:14:09] »
Двигатель - 200 шагов на оборот. Поворачивает ровно на 90 гр вправо и влево при нажатии соответствующих кнопок.
Есть сомнения, где-то ошибся я. Пока платку не спаяю, не буду уверен до конца, что это так и есть.


Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #5 : 23 Ноя 2006 [09:15:59] »
Володь! А теперь по русски - что зачем какие функции. Я лишь догадываюсь ;) что это долгожданный мной КОНТРОЛЛЕР ФОКУСЕРА :-* ???

На твой переделать не сложно, сейчас ребята проверят и если получится, то сделаю.

Оффлайн Александр Л.

  • *****
  • Сообщений: 3 681
  • Благодарностей: 48
  • Мне нравится этот форум!
    • Сообщения от Александр Л.
Re: Контроллер КФ.
« Ответ #6 : 23 Ноя 2006 [09:16:12] »
   При указанных на схеме номиналах резисторов R4, светодиоды никогда светится не будут. Не знаю, каким образом устроен выходной каскад однокристалки, но часто выходной ток по единице таких микросхем мал, поэтому надо отследить хватит ли выходного тока по единице для раскачки ULN2803. Причем ULN2803 это составной транзистор и на его входе установлен резистор ограничивающий ток базы, это надо учесть. Т.Е. на выходы однокристалки напрашиваются резистивные нагрузки.

Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #7 : 23 Ноя 2006 [09:21:35] »
Я в схемах не силен, но обязательно это учту. Спасибо.

Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #8 : 23 Ноя 2006 [09:26:44] »
У меня вопрос следующий:

char step[] = {80, 144, 160, 96}; /* RB4, RB5, RB6, RB7 */

Это так?

Кое что я взял у M a r k   C r o s b i e. :)
http://www.mastincrosbie.com/mark/electronics/pic/stepper.html

Оффлайн Денис Никитин

  • *****
  • Сообщений: 3 762
  • Благодарностей: 74
  • Keep your eyes open!
    • Skype - n.dennis
    • Сообщения от Денис Никитин
Re: Контроллер КФ.
« Ответ #9 : 23 Ноя 2006 [09:49:17] »
Володя, если сомневаешься не пиши десятичные цифры. Пиши явно двоичные:

0b01010000
0b10010000
0b10100000
0b01100000

Оффлайн Un4given

  • ***
  • Сообщений: 156
  • Благодарностей: 2
    • Сообщения от Un4given
Re: Контроллер КФ.
« Ответ #10 : 23 Ноя 2006 [10:10:22] »
А роль светодиодов какая? Если так уж их хочется, повесьте их отдельные порты. Кнопки я бы повесил на RB4-RB7, можно будет сделать прерывание по нажатию. Выходы на движок - на RB0-RB3, светодиоды - RA0-RA1. Генератор заменил бы на нормальный кварц с двумя кондёрами на 27 пФ, бо это трёхногое чудо на практике оказывается сильно чувствительно к температуре/фазе луны и ещё чёрт знает чему (заводятся один раз из пяти).
« Последнее редактирование: 23 Ноя 2006 [10:38:19] от Un4given »

Оффлайн serzg

  • *****
  • Сообщений: 2 828
  • Благодарностей: 21
    • Сообщения от serzg
Re: Контроллер КФ.
« Ответ #11 : 23 Ноя 2006 [10:54:14] »
Володя, извиняюсь за бестактный вопрос, а зачем все это? :-\  Ведь есть неоднократно испытанная схема Александра Л, тем более у тебя есть это http://www.microsmc.com/index.php?page=usmc-usb/review&product=usmc-usb.
Сергей Шарипов

Оффлайн Владимир Николаевич

  • *****
  • Сообщений: 24 036
  • Благодарностей: 434
  • Takahashi Россия и QHYCCD Poccия
    • Skype - gromozeka12    вайбер +7 903 610-62-15
    • Сообщения от Владимир Николаевич
Re: Контроллер КФ.
« Ответ #12 : 23 Ноя 2006 [11:01:53] »
Сереж! Скажи по секрету зачем в контроллере колеса фильтров микрошаг или полушаг и компьютер? Речь об автономном контроллере с прошивкой за 25$ круг и пультике к нему все со спичечный коробок. 
Клевцов 470мм - 2экз, МАК Сантел 420 1\8 на передержке,  Доб 355мм SS, Доб 254, МАК Сантел 230мм, АПО 180мм на Losmandy Titan, подзорная труба 102\900ED SW,  бино 70ED, 70 Non-ED, 10х42ED, 10х50ED.

Оффлайн serzg

  • *****
  • Сообщений: 2 828
  • Благодарностей: 21
    • Сообщения от serzg
Re: Контроллер КФ.
« Ответ #13 : 23 Ноя 2006 [11:21:40] »
Так потому и сприсил. ;)  Не знал тайного смысла сокращения "КФ".
Сергей Шарипов

Оффлайн Александр Л.

  • *****
  • Сообщений: 3 681
  • Благодарностей: 48
  • Мне нравится этот форум!
    • Сообщения от Александр Л.
Re: Контроллер КФ.
« Ответ #14 : 23 Ноя 2006 [12:26:20] »
     Если это контроллер колеса фильтров, то необходимы датчики положения колеса, датчик нулевого положения и датчик указывающий, что любой фильтр находиться в рабочем положении. Можно обойтись одним, но будет лишний геморой при написании микропрограмм и использовании. Как установить датчики можно посмотреть например в описании на IFW - http://www.optecinc.com/ifw_technical_manual.pdf .

Суворов Владимир

  • Гость
Re: Контроллер КФ.
« Ответ #15 : 23 Ноя 2006 [16:10:20] »
Это обязательно будет, но пока немножко пошагаем.

Оффлайн Дядя Вова

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Контроллер КФ.
« Ответ #16 : 23 Ноя 2006 [16:16:12] »
Убиться можно! Только на 13-м сообщении стало ясно о чем идет речь!
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

Оффлайн Дядя Вова

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Контроллер КФ.
« Ответ #17 : 23 Ноя 2006 [16:23:06] »
Слушайте, а я вот, оказывается, что не понимаю: а как узнать какой фильтр в текущий момент установлен?
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE

Оффлайн serzg

  • *****
  • Сообщений: 2 828
  • Благодарностей: 21
    • Сообщения от serzg
Re: Контроллер КФ.
« Ответ #18 : 23 Ноя 2006 [18:59:47] »
Слушайте, а я вот, оказывается, что не понимаю: а как узнать какой фильтр в текущий момент установлен?
У меня лампочки разноцветные загораются. ;)
Сергей Шарипов

Оффлайн Дядя Вова

  • *****
  • Сообщений: 8 083
  • Благодарностей: 95
    • Сообщения от Дядя Вова
Re: Контроллер КФ.
« Ответ #19 : 23 Ноя 2006 [19:18:44] »
Слушайте, а я вот, оказывается, что не понимаю: а как узнать какой фильтр в текущий момент установлен?
У меня лампочки разноцветные загораются. ;)
Продолжишь или надо фантазировать?  ;)
(Vixen ED80+Canon300Da, 9x50+QHY5)+EQ6upg
Meade ETX-90PE