Программирование PIC16F84A в программе Realizer Gold

Enigm
авсенев:

Вы придержеваесь той точки зрения , что для того , чтобы поесть супу, нужно вырастить овощи, вскормить и убить животное, долго изучать кулинарную книгу, а потом два месяца бодаться со всеми на форуме!

Вы не поверите, но кто то и так делает и ему это нравится ))
Вам покупателям, не надоело лезть в топики по самоделкам и говорить что проще купить ?
Это тоже хобби, и самоделные контроллеры и радиоуправление, Я летаю на самодельных регулях и двигателях из СД приводов, и поверте не потому что мне тяжко это купить, мне интересно самому сделать.
А купить каждый может )))

smy
ubd:

Так есть таймер уже готовый для самоходных судомоделей.

Спасибо сергей, подобное делал. Там ситуация при пуске в бассейне - при прохождении ворот уменьшить скорость, необязательно плавно, и тихонько доехать до стенки. А управление машинкой для копий подводных лодок. Сам не копиист, строю по просьбе руководителей детей.

ubd

Спасибо сергей, подобное делал. Там ситуация при пуске в бассейне - при прохождении ворот уменьшить скорость, необязательно плавно, и тихонько доехать до стенки. А управление машинкой для копий подводных лодок. Сам не копиист, строю по просьбе руководителей детей.

Давайте по подробнее, не понятно что вам нужно.

smy
ubd:

Давайте по подробнее, не понятно что вам нужно.

Попытаюсь изложить то что от меня просят на примере запуска прямоходной копии подводной лодки:
по правилам соревнований модель нужно запустить в плавание со стартового мостика, в определенном квадрате она доложна погрузиться (отработала серва на руль глубины на погружение и через установленное время встала в нейтраль), пройти под водой определенное расстояние затем всплыть в нужном квадрате (отработала серва на руль глубины на всплытие и через определенное время встала в нейтраль) и пройти ворота, после ворот сбавить скорость и подойти к стенке бассейна где предположительно ее выловит спортсмен.Если это просто копия:то после прохождения ворот модель сбавляет скорость и медленно подходит к стенке бассейна. В идеальном варианте нужно чтобы после сбавления скорости тоже срабатывал таймер, то есть двигатель поработав на малом газу определенное время, останавливался. Угол отработки серв сделать соответственно 1,0 - 1,5 - 2,0мс.

ubd

Это уже сложно. Это нужно несколько выдеожек времеин устанваливать, для погружения, для прохода под водой, и для всплытия, а потом ещё малый газ то же должен работать определённое время, что бы не врубиться в стенку бассейна. Тут можно расчитывать что спортсмен выловит, не так важно.
И как вы себе предстваляете схему? Тут как минмум двух недельная разработка схемы и программы на проц.

smy
ubd:

Это уже сложно.

Да понимаю я что сложно…😦 Попробую сделать на промышленном таймере ZEN фирмы OMRON. Просто посмотреть что и как. Спасибо Сергей, что неотказали в помощи.

8 days later
urfin
ubd:

Я на этом языке написал программу реверсивного регулятора хода для автомоделей, и для судомоделей есть с раздраем. ШИМ формировал, аппаратным ШИМ-модулятором, есть не во всех процах, я использовал те процы где он есть.
Если заинтерисуешься помогу написать программу.

Сергей!
Хочу у Вас спросить совета.
Для кордовой копии необходимо реализовать следующие функции, - пропорциональное управление одной сервой (регулировка газа ДВСа) и передача нескольких дискретных команд (уборка-выпуск шасси, уборка выпуск посадочных щитков и т.д.). Передавать можно только по кордам (корды изолированные).
Каким образом это всё реализовать на микроконтроллере? Может, где-то есть готовые схемы?
Заранее спасибо!

mikki

Гляньте протокол 1Wire или RS485 (дайвер - MAX485 например) - вполне подойдет, только реализовывать программно придется если PIC16f84 использовать. Если нужно пропорционально менять значения - обратитесь к МК с АЦП.

для smy:
Решение видится не слишком сложное для PICa - весь цикл управления разбить на временные уставки, которые будут храниться в EPROM (их там можно потом менять).
Далее для для каждой уставки задаем соответственно положение рулей и обороты двигателя (для простоты реализации можно использовать внешний ESC)
Запускаем таймер с заданной уставкой. Рули и двиг выходят на соотв. режим.
Как уставка закончится - берем следующую и меняем режим и.т.д.
Циклограмма следущая - количество уставок по количеству участков бассейна. Каждая уставка характеризуется тремя параметрами:
длительность (TMR0)
положение рулей (программный ШИМ 1-2ms)
обороты двигателя(программный ШИМ 1-2ms).

ШИМ для серв можно программный написать (2 цикла всего)
Таймер смены уставок нехай по прерыванию срабатывает или просто проверять на переполнение в цикле.
Для крутизны можно прикрутить протокол RS232 для прграммирования всего девайса.
гляньте сайт bknd.com там для компилятора есть софтовая реализация RS232/
В принципе, все, что здесь написано можно реализовать на PIC12f629-675 всего 8 ног и со встроенным генератором))

ubd

Для кордовой копии необходимо реализовать следующие функции, - пропорциональное управление одной сервой (регулировка газа ДВСа) и передача нескольких дискретных команд (уборка-выпуск шасси, уборка выпуск посадочных щитков и т.д.). Передавать можно только по кордам (корды изолированные).
Каким образом это всё реализовать на микроконтроллере? Может, где-то есть готовые схемы?

Я делал год назад подобный проект, как раз для копии. Но там нет регулировки газа, т.к. газ должен передаваться по ещё одной отдельной корде. Я эту схему сделал, и её так и не применили. Под ваши нужны её нужно переделывать почти полностью. По кордам я передавал обычный РРМ который формировал программно. Но я тогда ещё не знал как передавать 1wire протокол. Оказалось в PIC Basic есть готовые команды, можно применить его. Но это для вас будет сложно. У меня сейчас нет времени, писать вам прогу, много работы, давайте сами. Заходите на форум picbasic.ru, и задавайте там вопросы, там много примеров. Вот посмотрите проект ниже, там передаётся 4 команды, три дискретные, и одна для выпуска шасси, с замедлением. Программу можно изменить добавить вместо одно дискретной, пропорциональный канал для регулятора хода. На кодере использовать АЦП, и его значение трансформировать в канальный импульс от 1 до 2 мс. Ничего сложного нужно только подумать, и почитать как пользоваться АЦП. На впоросы могу отвечать.

Кодер - Декодер_4Ch.rar

mikki

RS485 попроще будет в реализации. На МК используется стандартный UART и микросхема MAX485. можно и изолированную поставить - так ИМХО правильнее… протокол то промышленный и помехозащищенный относительно. Хотя ту наверное вопрос привычки)))

16 days later
olegtur77
Yuriy:

В таком случае, на всякий случай выложу схемку, т.к. уже сделана печатная плата. Чтоб выводы попали в нужное место.
Кстати, а резисторы подтягивающие до 5В обязательны?

Сделал таймер! Класс, работает отлично! спасибо авторам разработки. Есть один вопрос по поводу прошивки- не очень хочется что б на плате стоял кварц, кабы не вылетал при падениях. Насколько трудно переделать программу под pic16f628й?

ubd

Насколько трудно переделать программу под pic16f628й?

Какую программу? Которая в 23 посту?

olegtur77

Да, к этой.
Щас в доводке еще один вариант есть, на тини25 и с потенциометром на газ, чуть позже выложу материалы.

ubd

Легко!
Вот для 16F628A
Кварц не нужно, работет внутренний генератор 4 мгц

Timer_ESC.rar

olegtur77

Спасибо! Собрал, работает! Развел плату в pcad, мож кому пригодиться.
И еще выложу второй вариант таймера, разработка by valera_o, установка оборотов резистором, м/п attiny85(25).

DVE
smy:

Попытаюсь изложить то что от меня просят на примере запуска прямоходной копии подводной лодки:
по правилам соревнований модель нужно запустить в плавание со стартового мостика, в определенном квадрате она доложна погрузиться (отработала серва на руль глубины на погружение и через установленное время встала в нейтраль), пройти под водой определенное расстояние затем всплыть в нужном квадрате (отработала серва на руль глубины на всплытие и через определенное время встала в нейтраль) и пройти ворота, после ворот сбавить скорость и подойти к стенке бассейна где предположительно ее выловит спортсмен.

Выдерживать интервалы в контроллере не сложно, в С у AVR есть функция delay_ms, только встает вопрос вот как задержки регулировать.

Можно сделать как в схеме у KaptainKuk - задавать настройки переменными резисторами на плате, а считывать их показания (вольтаж) программно из АЦП. Правда это у Atmega, есть ли такое в PIC не знаю.

ubd

Правда это у Atmega, есть ли такое в PIC не знаю.

У PIc то же есть АЦП, и это реализовать то же можно. Но нужно учитаывать, что это всё бедет вводе, ну не всмысле погруженно в воду, а сырость всегда будет присутввовать, по этому контрукция должна быть максимально защищена от воды, переменники тут ставить нельзя. Тогда, регулировку интервалов времени нужно делать перемычками, а их получиться очень много, набор перемычек для каждого промежутка времени. Это габариты устройства, вес. очень хорошо было бы делать это программно с ноута например, через USB, или СОМ, которых сейчас уже не найдёшь на ноутах. Остаётся USB, а он требует спец микросхемы и сложного програмного обеспечения, т.е. цена вопроса для банальной подводной лодки не соизмерима. Наиболее дещёвый спомоб это много, много перемычек. Пока я ничего предложить не могу.

Aleksey_Gorelikov
ubd:

Остаётся USB, а он требует спец микросхемы и сложного програмного обеспечения,

Берешь старый усб шнурок для сотового - и вот тебе уарт(ттл)-усб конвертер. Софта сложного не надо - ведь по сути это тот же компорт. Аппаратный компорт - в большинстве микроконтроллеров есть (а где нет - можно и програмно). Не все так плохо, и уж совсем не все так трудно, как ты описал! Софт на компе - может быть вобще никчему. Вполне можно обойтись штатным гипертерминалом. Кстати, залив загрузчик - по этому же шнурочку и программировать потом чип можно. (насчет пиков не знаю, а с аврками проблем нет. Думаю с пиками - тоже)

Aleksey_Gorelikov

ну не хочет Сергей с хидерами морочиться… Но уарт прост до безобразия. Для настройки пяти цифр - можно тупо терминал использовать. Дрова шнурка - стандартные. В общем то это проще.

mikki

Там дрова в комплекте… на ftdi.com … ниче придумывать не надо… Но если делать один эксклюзивный девайс, тогда да… да и шнурок можно купить - около 400р стоит везде))
Кстати, дрова на разные шнурки не всегда стандартные - все от чипа зависит