Программирование PIC16F84A в программе Realizer Gold
Вы придержеваесь той точки зрения , что для того , чтобы поесть супу, нужно вырастить овощи, вскормить и убить животное, долго изучать кулинарную книгу, а потом два месяца бодаться со всеми на форуме!
Вы не поверите, но кто то и так делает и ему это нравится ))
Вам покупателям, не надоело лезть в топики по самоделкам и говорить что проще купить ?
Это тоже хобби, и самоделные контроллеры и радиоуправление, Я летаю на самодельных регулях и двигателях из СД приводов, и поверте не потому что мне тяжко это купить, мне интересно самому сделать.
А купить каждый может )))
Так есть таймер уже готовый для самоходных судомоделей.
Спасибо сергей, подобное делал. Там ситуация при пуске в бассейне - при прохождении ворот уменьшить скорость, необязательно плавно, и тихонько доехать до стенки. А управление машинкой для копий подводных лодок. Сам не копиист, строю по просьбе руководителей детей.
Спасибо сергей, подобное делал. Там ситуация при пуске в бассейне - при прохождении ворот уменьшить скорость, необязательно плавно, и тихонько доехать до стенки. А управление машинкой для копий подводных лодок. Сам не копиист, строю по просьбе руководителей детей.
Давайте по подробнее, не понятно что вам нужно.
Давайте по подробнее, не понятно что вам нужно.
Попытаюсь изложить то что от меня просят на примере запуска прямоходной копии подводной лодки:
по правилам соревнований модель нужно запустить в плавание со стартового мостика, в определенном квадрате она доложна погрузиться (отработала серва на руль глубины на погружение и через установленное время встала в нейтраль), пройти под водой определенное расстояние затем всплыть в нужном квадрате (отработала серва на руль глубины на всплытие и через определенное время встала в нейтраль) и пройти ворота, после ворот сбавить скорость и подойти к стенке бассейна где предположительно ее выловит спортсмен.Если это просто копия:то после прохождения ворот модель сбавляет скорость и медленно подходит к стенке бассейна. В идеальном варианте нужно чтобы после сбавления скорости тоже срабатывал таймер, то есть двигатель поработав на малом газу определенное время, останавливался. Угол отработки серв сделать соответственно 1,0 - 1,5 - 2,0мс.
Это уже сложно. Это нужно несколько выдеожек времеин устанваливать, для погружения, для прохода под водой, и для всплытия, а потом ещё малый газ то же должен работать определённое время, что бы не врубиться в стенку бассейна. Тут можно расчитывать что спортсмен выловит, не так важно.
И как вы себе предстваляете схему? Тут как минмум двух недельная разработка схемы и программы на проц.
Это уже сложно.
Да понимаю я что сложно…😦 Попробую сделать на промышленном таймере ZEN фирмы OMRON. Просто посмотреть что и как. Спасибо Сергей, что неотказали в помощи.
Я на этом языке написал программу реверсивного регулятора хода для автомоделей, и для судомоделей есть с раздраем. ШИМ формировал, аппаратным ШИМ-модулятором, есть не во всех процах, я использовал те процы где он есть.
Если заинтерисуешься помогу написать программу.
Сергей!
Хочу у Вас спросить совета.
Для кордовой копии необходимо реализовать следующие функции, - пропорциональное управление одной сервой (регулировка газа ДВСа) и передача нескольких дискретных команд (уборка-выпуск шасси, уборка выпуск посадочных щитков и т.д.). Передавать можно только по кордам (корды изолированные).
Каким образом это всё реализовать на микроконтроллере? Может, где-то есть готовые схемы?
Заранее спасибо!
Гляньте протокол 1Wire или RS485 (дайвер - MAX485 например) - вполне подойдет, только реализовывать программно придется если PIC16f84 использовать. Если нужно пропорционально менять значения - обратитесь к МК с АЦП.
для smy:
Решение видится не слишком сложное для PICa - весь цикл управления разбить на временные уставки, которые будут храниться в EPROM (их там можно потом менять).
Далее для для каждой уставки задаем соответственно положение рулей и обороты двигателя (для простоты реализации можно использовать внешний ESC)
Запускаем таймер с заданной уставкой. Рули и двиг выходят на соотв. режим.
Как уставка закончится - берем следующую и меняем режим и.т.д.
Циклограмма следущая - количество уставок по количеству участков бассейна. Каждая уставка характеризуется тремя параметрами:
длительность (TMR0)
положение рулей (программный ШИМ 1-2ms)
обороты двигателя(программный ШИМ 1-2ms).
ШИМ для серв можно программный написать (2 цикла всего)
Таймер смены уставок нехай по прерыванию срабатывает или просто проверять на переполнение в цикле.
Для крутизны можно прикрутить протокол RS232 для прграммирования всего девайса.
гляньте сайт bknd.com там для компилятора есть софтовая реализация RS232/
В принципе, все, что здесь написано можно реализовать на PIC12f629-675 всего 8 ног и со встроенным генератором))
Для кордовой копии необходимо реализовать следующие функции, - пропорциональное управление одной сервой (регулировка газа ДВСа) и передача нескольких дискретных команд (уборка-выпуск шасси, уборка выпуск посадочных щитков и т.д.). Передавать можно только по кордам (корды изолированные).
Каким образом это всё реализовать на микроконтроллере? Может, где-то есть готовые схемы?
Я делал год назад подобный проект, как раз для копии. Но там нет регулировки газа, т.к. газ должен передаваться по ещё одной отдельной корде. Я эту схему сделал, и её так и не применили. Под ваши нужны её нужно переделывать почти полностью. По кордам я передавал обычный РРМ который формировал программно. Но я тогда ещё не знал как передавать 1wire протокол. Оказалось в PIC Basic есть готовые команды, можно применить его. Но это для вас будет сложно. У меня сейчас нет времени, писать вам прогу, много работы, давайте сами. Заходите на форум picbasic.ru, и задавайте там вопросы, там много примеров. Вот посмотрите проект ниже, там передаётся 4 команды, три дискретные, и одна для выпуска шасси, с замедлением. Программу можно изменить добавить вместо одно дискретной, пропорциональный канал для регулятора хода. На кодере использовать АЦП, и его значение трансформировать в канальный импульс от 1 до 2 мс. Ничего сложного нужно только подумать, и почитать как пользоваться АЦП. На впоросы могу отвечать.
RS485 попроще будет в реализации. На МК используется стандартный UART и микросхема MAX485. можно и изолированную поставить - так ИМХО правильнее… протокол то промышленный и помехозащищенный относительно. Хотя ту наверное вопрос привычки)))
Сделал таймер! Класс, работает отлично! спасибо авторам разработки. Есть один вопрос по поводу прошивки- не очень хочется что б на плате стоял кварц, кабы не вылетал при падениях. Насколько трудно переделать программу под pic16f628й?
Насколько трудно переделать программу под pic16f628й?
Какую программу? Которая в 23 посту?
Да, к этой.
Щас в доводке еще один вариант есть, на тини25 и с потенциометром на газ, чуть позже выложу материалы.
Легко!
Вот для 16F628A
Кварц не нужно, работет внутренний генератор 4 мгц
Спасибо! Собрал, работает! Развел плату в pcad, мож кому пригодиться.
И еще выложу второй вариант таймера, разработка by valera_o, установка оборотов резистором, м/п attiny85(25).
Попытаюсь изложить то что от меня просят на примере запуска прямоходной копии подводной лодки:
по правилам соревнований модель нужно запустить в плавание со стартового мостика, в определенном квадрате она доложна погрузиться (отработала серва на руль глубины на погружение и через установленное время встала в нейтраль), пройти под водой определенное расстояние затем всплыть в нужном квадрате (отработала серва на руль глубины на всплытие и через определенное время встала в нейтраль) и пройти ворота, после ворот сбавить скорость и подойти к стенке бассейна где предположительно ее выловит спортсмен.
Выдерживать интервалы в контроллере не сложно, в С у AVR есть функция delay_ms, только встает вопрос вот как задержки регулировать.
Можно сделать как в схеме у KaptainKuk - задавать настройки переменными резисторами на плате, а считывать их показания (вольтаж) программно из АЦП. Правда это у Atmega, есть ли такое в PIC не знаю.
Правда это у Atmega, есть ли такое в PIC не знаю.
У PIc то же есть АЦП, и это реализовать то же можно. Но нужно учитаывать, что это всё бедет вводе, ну не всмысле погруженно в воду, а сырость всегда будет присутввовать, по этому контрукция должна быть максимально защищена от воды, переменники тут ставить нельзя. Тогда, регулировку интервалов времени нужно делать перемычками, а их получиться очень много, набор перемычек для каждого промежутка времени. Это габариты устройства, вес. очень хорошо было бы делать это программно с ноута например, через USB, или СОМ, которых сейчас уже не найдёшь на ноутах. Остаётся USB, а он требует спец микросхемы и сложного програмного обеспечения, т.е. цена вопроса для банальной подводной лодки не соизмерима. Наиболее дещёвый спомоб это много, много перемычек. Пока я ничего предложить не могу.
Остаётся USB, а он требует спец микросхемы и сложного програмного обеспечения,
Берешь старый усб шнурок для сотового - и вот тебе уарт(ттл)-усб конвертер. Софта сложного не надо - ведь по сути это тот же компорт. Аппаратный компорт - в большинстве микроконтроллеров есть (а где нет - можно и програмно). Не все так плохо, и уж совсем не все так трудно, как ты описал! Софт на компе - может быть вобще никчему. Вполне можно обойтись штатным гипертерминалом. Кстати, залив загрузчик - по этому же шнурочку и программировать потом чип можно. (насчет пиков не знаю, а с аврками проблем нет. Думаю с пиками - тоже)
Эххх))) гулять так гулять)))
www.terraelectronica.ru/catalog.php?ID=341&Search=…
Проверено - работает))
Загрузчики для PICов тоже существуют, провда в основном для средних и старших серий (16F873, 877)
ну не хочет Сергей с хидерами морочиться… Но уарт прост до безобразия. Для настройки пяти цифр - можно тупо терминал использовать. Дрова шнурка - стандартные. В общем то это проще.
Там дрова в комплекте… на ftdi.com … ниче придумывать не надо… Но если делать один эксклюзивный девайс, тогда да… да и шнурок можно купить - около 400р стоит везде))
Кстати, дрова на разные шнурки не всегда стандартные - все от чипа зависит