Программирование PIC16F84A в программе Realizer Gold
Это всё мы проходили. БК моторы на модели то же ставили, регулятор и аккум были на модели, но управление шло с ручки. На ручке был генератор канального импульса (серво-тестер), который изменялся переменным резистором, и по кордам канальный импульс шёл к модели, корды то же должны быть изолированны, но по ним уже не шёл большой ток, и их сечение не важно. Короче, регулируется газ с ручки.
Вам можно так же сделать. Только с таймером. И опять же таймер тут не нужен, зачем усложнять жизнь. Когда захотел тогда и убрал газ, а не ждать когда на модели время выйдет. Вдруг что то произойдёт, и газ не уберёшь.
Я когда, в детстве, занимался кордовыми моделями, то у меня всегда было желание регулировать газ с ручки, но тогда двигатели были без этой возможности и по кордам было сложно передать информацию о уровне газа.
А таймер нужен, чтоб не разрядить да конца аккумулятор, чтоб ограничить время, кто-то может 10 мин полетать, кому-то и 3 для начала достаточно. Соответственно и регулятор мощности.
Аккум до конца всё ровно не разрядишь, т.к. на регуляторе отческа есть и ниже чем 2,85В на банку не разрядится.
Так вот, я говорю, нет смысла в таймере, если управления газом будет с ручки, так ещё проще, если у пилота голова закружилась, то он убирает газ и садит, когда захочет, а не ждёт когда время выйдет.
На ручке достаточно сделать сервотестер, на то же 555. Питание от 9В (Крона), прямо на ручке. Ниже схема.
Всё очень просто, вы зря усложняете жизнь себе и другим.
И вообще, если писать программы, то не наким способом что у вас, нужен хотя бы PIC Basic, там всё точно с выдержками времени. А лучше АСМ, но там думать много нада…
Вот это другое дело, конечно регулировать газ на ручке - это здорово. Конечно тогда отпадет и необходимость в таймере (хотя он-то и работает, а не работает регулятор хода).
Что Вы использовали в качестве корд? На большой длине корд сигнал нормально доходит? Никакого усилителя дополнительно не делали?
Ранее, в качестве корд, использовался тросик 0,55 мм из 11жил, очень мягкий, допускает до 10 скруток.
Кроме того, если бы получился мой вариант, то хочется его использовать для таймерных моделей (с другими временами конечно).
Что Вы использовали в качестве корд? На большой длине корд сигнал нормально доходит? Никакого усилителя дополнительно не делали?
Сигналл доходит нормально, это проверенная схема. В качестве корд, тот же медный провод в эмалевой изоляции, диаметром 0,5мм.
Схем сервотестеров в инете, море.
Кроме того, если бы получился мой вариант, то хочется его использовать для таймерных моделей (с другими временами конечно).
В качестве корд, тот же медный провод в эмалевой изоляции, диаметром 0,5мм.
При натяжении до 10 кг, этот проводок не выдержит.
При натяжении до 10 кг, этот проводок не выдержит.
Нужно проверять. У нас не рвалось. Можно взять чуть толще. Или что то другое, в изоляции.
Возьми и подвесь груз на те корды которые будешь использовать и проверь.
если писать программы, то не наким способом что у вас, нужен хотя бы PIC Basic, там всё точно с выдержками времени. А лучше АСМ
Ассемблер не потяну, а на бейсике я что-то когда-то программировал, попробую его посмотреть, спасибо за подсказку.
Вот сайт: www.picbasic.ru
Скачай книгу автор Чак Хелибайк, там были примеры, для работы с серво-механизмом. Всё очень просто и работает!
Например: вывод канального импульса длительностью 1,5мс.
Puls: 'Метка Puls
PULSOUT PORTA.0, 150 'Вывод импульса длительностью 1,5мс на порт А.0
PSUSEUS 20000 'Пауза 20 мс
GOTO Puls 'Возврат на метку Puls
Спасибо огромное, вроде смотрится просто, это уже радует. (ассемблер меня просто пугает).
Сейчас поищу книгу и буду пробовать. Надеюсь получится.
Я на этом языке написал программу реверсивного регулятора хода для автомоделей, и для судомоделей есть с раздраем. ШИМ формировал, аппаратным ШИМ-модулятором, есть не во всех процах, я использовал те процы где он есть.
Если заинтерисуешься помогу написать программу.
Да, думаю буду осваивать, сейчас немного полистал книгу, написано, что минимально возможная выдержка с кварцем 4 МГц - 24 мкс, уже приемлемо.
За помощью обращусь, только надо сначала мне почитать книгу, чтоб предметно о чем-то спрашивать. Еще раз спасибо большое. Все же надо осваивать программирование микросхем, уже не раз была необходимость. Не паять же на дискретных элементах.
…(ассемблер меня просто пугает).
Преодолейте этот страх - не пожалеете!
У ассемблера PIC16F84 всего 35(!) команд… Для написания большинства программ вряд-ли потребуется даже половина из них… Бейсик не намного “интеллектуальнее” ассемблера - если логическое мышление позволяет писать на Бейсике, то на ассемблере справитесь без проблем… Я учился по циклу статей в “Радио” за 2001 год с №8 и далее…
А если уж учиться писать на языке высокого уровня - то лучше сразу на “С” - время не зря потрачено будет…
Кроме всего прочего, времени не хватает. Что-то сложное освоить хорошо, надо много времени потратить. Потому сначала и обратился к программе Realizer Gold, быстро разобрался для конкретной задачи, но правда все в пустую…
А почему в пустую то? Если в ней программу написали, то берите получившийся хекс файл и в любой программатор. Делов то!
За помощью обращусь, только надо сначала мне почитать книгу, чтоб предметно о чем-то спрашивать. Еще раз спасибо большое. Все же надо осваивать программирование микросхем, уже не раз была необходимость. Не паять же на дискретных элементах.
Используйте Proteus для отладки программ, очень удобно.
Я вот подсел на Бейсик с самого детства, ещё на ZX Spektrum программы писал, и сейчас узнал что есть для PICов Бейсик так попробовал, и не могу слезть, пересилить себя что бы AVR и СИ изучать. Если ставлю задачу, то решаю её на Бейсике, пока нет задачь для которых не хватило бы Бейсика. Иногда приходиться применять мощные и дорогие процы, в которых есть нужные мне аппаратные средства, когда как если писать на АСМе то можно обойтись любым дешёвым процом. Только есть разница, что на АСМе программу пришлось бы писать месяц, а на Бейсике максимум несколько дней. Это я для сравнения.
Если срочно нужно написать типа таймера, с выходом канального импульса, то проще на Бейсике, время займёт, максимум 1 час.
А почему в пустую то? Если в ней программу написали, то берите получившийся хекс файл и в любой программатор. Делов то!
Запрограммировал, таймер работает, вообще все работает но не правильно, длительность импульсов для регулятора меняется с дискретностью 1 мс и меньше не позволяет программа, а надо 100мкс (в начале писал)
Я вот подсел на Бейсик с самого детства, ещё на ZX Spektrum программы писал.
Я тоже на нем тренировался, только не в детстве, а постарше.
Если срочно нужно написать типа таймера, с выходом канального импульса, то проще на Бейсике, время займёт, максимум 1 час.
Может уделите мне часик? Хотя я так и не освою это дело. Или если у меня не получится к новому году, то уделите мне часик? Книгу начал читать, программу установил.
Может уделите мне часик?
Завтра попробую, набросать что ни будь.
Кстати, а резисторы подтягивающие до 5В обязательны?
Обязательны. Есть процы у которых есть возможность, включить внутренние поддтягивающие резисторы, у этого нет.
…у этого нет
Есть!
Для Yuriy: На вход MCLR (4) припаяйте конденсатор на землю 0,1 мкФ… Правильнее будет…
Кстати, могу подарить идею… Тут Вам уже советовали вместо таймера сделать управление газом с ручки по изолированным кордам, но Вас это вроде не вдохновило по нежеланию применять изолированные корды… Предлагаю Вам сделать все-таки управление газом с ручки, но… по инфракрасному каналу - в ручке разместить излучатель в сторону модели, на модели ИК-приемник на соответствующем боку… Начинку можно “выковырять” из дешевой китайской игрушки… Поскольку излучатель и приемник при любых эволюциях модели всегда направлены друг на друга, управление должно быть устойчивым даже на улице…
Мне кажется, это будет удобнее таймера при сопоставимых материальных и трудозатратах…
Правильнее будет…
PICу это не нужно.
управление должно быть устойчивым даже на улице…
Не факт. В пасмурную погоду хорошо будет работать, а при ярком солнце будет глюк, т.к. у солнца очень широкий диапазон излучения, и игрушки на ИК управлении на солнце не работают, я проверял.
Хотя идея хорошая, если бы не солнце.
В общем вот набросал. На прогу действительно ушло 1 час 15 мин.
S1 - у меня в программе как кнопка без фиксации. Т.е. нажал, отжал пошло время и двиг работает. Опять нажал, отжал, остановилось время и двиг выключился.
Так же сделал плавное нарастание газа перед стартом таймера.
Единственно с выдержками времени может быть не точно, примерно +/- 1-2 сек.
В протеусе рабоатет с тормозами, по этому нужно в железе точно время проверять. В протеусе получается вместо 2 мин, где то 2,5мин. Видимо из-за работы виртуального осциллографа.
Да, быстро Вы сделали. Спасибо огромное за помощь. Все-таки буду осваивать Бейсик, еще не раз пригодится.
Сегодня вечером попробую, что получилось.
Для Pav_13: насчет управления по ИК порту, мы уже обсуждали с руководителем кружка, что можно даже использовать простейшую аппаратуру р/у для управления каналом газа. Но хочет он таймер и все. Идея у него использовать еще для свободнолетающих таймерных моделей, только время у таймера другое будет и все.
Просмотрел программу, красиво то как…😃