Для желающих !

radioham

Снова поднимая тему о переключателе
1 - Задача - при изменении положения ручек включаются 4 ! дискретных устройства
Естественно при среднем - не включается ничего
Должно быть на PIC 12F629(675)
Дожно отрабатывать не только в приборе но и в PROTEUS
Нужен исходник с описаноем что и где необходимо менять для подстройки к реальным условиям

2 - расширение с 5 до 7-8 каналов существующего передатчика ( так же на 12 F 629(675))
с ТЕМИ ЖЕ УСЛОВИЯМИ
Работа оплачивается - после проверки HEX файлов

radioham

1 - РАЗ нет исходников - не устраивает алгоритм !
2 - ДВА - Вы пробовали то что предлагает Автор ? ( и не трудитесь )
ВСЕ ЧТО НАДО — НАПИСАНО !

dmitryu

Помощь ещё нужна, или желающих и так завались?

ubd

Я могу разработать такое устройство.

1 - Задача - при изменении положения ручек включаются 4 ! дискретных устройства

Сколько ручек будет задействованно? Не написано. И каких ручек? Дискретные каналы буду использоваться или пропорциональные.

Можно по подробнее.

В протеусе, то же можно.

Только беду делать на PICBasic. Для таких дел, он подходит превосходно!

ubd

А почему предложение от dmitryu, а не от radioham?

Так значит задание такое:

; Длительность:
; 1,0-1,2 мс - включен выход 1
; 1,2-1,4 мс - выход 2
; 1,4-1,6 мс - все выходы выключены
; 1,6-1,8 мс - выход 3
; 1,8-2,0 мс - выход 4
; длительность меньше 1 мс или больше 2 мс - все выходы выключены
;
; нужно сделать:
; задержку переключения состояния
; проверку длительности паузы

А что за задержка переключения состояния?
А зачем проверку длительности паузы делать?

ubd

А блин понял. Это dmitryu уже сделал… сообщения подряд идут и запутася.

ubd

Я хотел сделать с калибровкой. Но не хватает одного порта что бы светодиод вывести.

Калибровка - можно программировать с помощью кнопки и светодиода, точки срабатывания каналов. Если это делать то нужно другой проц выбрать, предлагаю PIC16F630(676). Если не устроит, то тогда фиксированные точки, на проце 12F675(629).

Надо калибровку?

dmitryu

Паузу нужно проверять, если требуется что-то делать при пропадании сигнала - сейчас устройство исполняет последнюю команду, пока сигнал не появится.
Задержка уже сделана - она нужна, если команды, например, движком подаются - при быстром перемещении из края в край, если нет задержки, по очереди включатся все устройства, а оно надо?

BALAL

…Я для гусеничной электромодели такой девайс замышлял - отклоняя “руль”, сначала реле вырубают двигатель, дальнейшее отклонение его реверсируют.

radioham

Вобщем все правильно
Естественно лучше с калибровкой и записью во заданным точкам срабатывания
Но на край можно и с фиксированными точками
Задержка надо

Длительность:
; 1,0-1,2 мс - включен выход 1
; 1,2-1,4 мс - выход 2
; 1,4-1,6 мс - все выходы выключены
; 1,6-1,8 мс - выход 3
; 1,8-2,0 мс - выход 4
; длительность меньше 1 мс или больше 2 мс - все выходы выключены
;
; нужно сделать:
; задержку переключения состояния
; проверку длительности паузы
Именно так!

Игорь_74

работает на tiny45 есть схема и прошивки из журнала практическая электроника(Анг) на pic84.

ubd

Попробуйте мой поект, с калибровкой. Фиксированных точек нет, их можно устанавливать на любой длительности импульса. Значения калибровки записываются в ЕЕПРОМ.
Применил проц 16F630, т.к. всё ровно у 12F629(675), не хватает одного порта, для кнопки калибровки. По этому решил установить по светодиоду на каждый канал управления, как индикатор вклчения канала. Это может быть удобно, видно будет какой канал включен. Тем более за калибровкой очень удобно следить. Если не устроит, можно один светодиод сделать.

Запускаем проект в протеусе. И пробуем калибровать.

Инструкция по калибровке:

  1. Нажимаем кнопку S1, удерживаем её и запускаем схему (подаём питание), и отпускаем кнопку. Светодиоды HL1, HL2, HL3, HL4 загорятся и погаснут четыре раза. Это значит программа вошла в режим калибровки.
  2. Далее начнёт часто мигать светодиод HL1, это значит что программа ждёт записи точки срабатывания канала 1. Устанавливаем ручку на передатчике (резисор RV2 в Протеусе) в то положение где должен срабатывать канал 1 и наживаем на кнопку S1. Светодиод HL1, загориться на 1 сек, значит запись точки произошла успешно.
  3. Далее начнёт часто мигать светодиод HL2, записываем следующую точку, срабатывания канала 2.
    И так далее все 4 точки.
    Как только четвёртая точка будет записана, сразу начинает работать основная программа, отслеживающая канальный импульс.
    Программе нет разницы, если левому положению будет соответствовать импульс 1 мс или 2мс.

Извините, но архив запаролен. Пароль выслан заказчику, личкой.