-
Постов
48 -
Зарегистрирован
-
Посещение
Тип контента
Профили
Форумы
Блоги
Сообщения, опубликованные Zerber
-
-
Не за что. Обращайся если что.
Вот схемка с максом http://mdubuc.freeshell.org/Jolt/BootloaderSchematics.jpg
Там только PIC18, но это не имеет никакого значения, ко всем остальным все точно также крепится.
Прога в архиве
0 -
Стоп, я разве сказал что это программатор? Сори если ввел в заблуждение, это не программатор (хотя прошивать свои программки через него можно), но! Сначала тебе надо будет найти настоящий программатор и зашить на нем в свой PIC программку, которая называется Bootloader (загрузчик. программа которая загружает и прошивает твой контроллер), только после этого для программирования тебе нужна будет только MAX232 и Com-порт. Сразу с помощью макса PIC не прошить. Схему подключения макса я тебе могу дать, да и ее найти не сложно, программу я тебе тоже могу дать. Но настоящим программатором все равно придется разок воспользоваться.
По поводу настоящего программатора вот здесь погляди - http://www.pcports.ru/articles/pic4.php (это очень простой, сделать самому не сложно). Кстати там есть статьи для начинающий, довольно хорошо написано.
Хотя для пиков лучше наверное купить PICKit2 (можно и самому собрать, но будет сложнее - http://electronix.ru/forum/index.php?showtopic=44125 ).
Max232 выложу чуть позже
0 -
чтобы сразу обойти все подводные камни.
Сразу обойти все подводные камни? Фиг два! Это ты погорячился. Как раз на таких камнях и учатся чаще всего.
А выбор МК это вообще не проблема... у вас вероятно была проблема выбрать контроллер который можно было бы применить где угодно и самый дешевый, только тогда появляется проблема выбора... Но так проектировать нельзя, надо начинать с задачи потом по характеристикам подбирать контроллер, желательно с запасом.Вот это совет дельный. Микроконтроллер никогда не выбирается по цене! PIC12F683-I/P PBF хороший выбор, но мое личное мнение лучше начать с PIC16F877A он чуть дороже, но более распространен в любительских и профессиональных поделках. А следовательно на него существует куча примеров и прошивок. К тому же на нем куча портов и все возможные модули начиная от ШИМ и кончая SPI. К тому же для него не нужен программатор, нужна только MAX232 и пара конденсаторов. Хотя лично я считаю на учебе не экономят! Из простых программаторов могу посоветовать PICKit 2. Если постараешься то соберешь его самостоятельно, исходники и все прочее в свободном распространении (смотри на сайте микрочипа). Кстати он внутрисхемный и его поддерживает MPLAB, можно прошивать и отлаживать прямо в нем. Для "Hello World" тебе нужна макетная плата, сам PIC, 10 резисторов, 10 светодиодов, 5 конденсаторов, 1 max232, COM-порт на компе или переходник с USB на COM, две-три кнопки и метр проводов (одножильных, они лучше подходят для макетной платы).
Если что то вспомню еще скажу
0 -
Понял, спасибо
Все таки лучше наверное за флагом следить, там еще куча всяких дел выполняется и эти данные очень важны для программы. Я делаю на этом пике сервоконтроллер для 18 сервомашинок и эти данные для этих серво. И эти данные для этих серво. Можно было бы подряд все 18 чисел передавать, но мне кажется это немного не подходящий выход. Если в данный момент изменяются координаты одной сервы, а не всех 18 то зачем передавать все 18?! Для этого и нужен адрес массива и собственно сам массив. Индекс изменяется от 0 до 18, а значения от 30 до 130.
Пока что я сделал так:
while(1) { if(pulse_2==6) { pulse_1=0; pulse_2=0; impuls_signal_1=massiv[pulse_2]; impuls_signal_2=massiv[pulse_2+6]; impuls_signal_3=massiv[pulse_2+12]; PORTA=servo_signal_1[pulse_2]; PORTB=servo_signal_2[pulse_2]; PORTD=servo_signal_3[pulse_2]; } if(pulse_1==166) { pulse_1=0; pulse_2++; impuls_signal_1=massiv[pulse_2]; impuls_signal_2=massiv[pulse_2+6]; impuls_signal_3=massiv[pulse_2+12]; PORTA=servo_signal_1[pulse_2]; PORTB=servo_signal_2[pulse_2]; PORTD=servo_signal_3[pulse_2]; } if(RCIF) { incom_data=RCREG; if(incom_data<18) index=incom_data; if(incom_data>30) massiv[index]=incom_data; TXREG=index; TXREG=massiv[index]; }
Проверил на железе. Все работает
Правда незнаю на сколько стабильно
Сервы правда начали немного дергаться... Пока незнаю почему.
0 -
Народ, наставьте на путь истинный. Никак не могу разобраться с USART.
Есть PIC16F877A, комп с com-портом, на компе программка, которая посылает PIC-у два char-а. PIC их принимает и записывает в одномерный массив определенным образом. Первый char - это индекс этого массива (от 0 до 17) по нему микроконтроллер определяет куда будет записан второй char. Второй char это и есть само значение массива. В даташите написано что буфер приемника USART двойной (два числа можно записать) и чтобы прочитать эти два значения нужно просто два раза обратиться к регистру RCREG.
Вот кусок программы:
#include <pic.h> __CONFIG(0x03F72); char massiv[18]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // массив char index=0; // адрес char pulse_1=0; char pulse_2=0; void interrupt IntFun(void) { if(T0IF) { // текст программы (к USART не имеет отношения) pulse++; TMR0=0xE7; } } void main(void) { SPBRG=129; // Скорость работы порта передачи (20МГц, 9600) TXEN=1; // Разрегение передачи - разрешен CREN=1; // Разрешение приема - разрешен SPEN=1; // Разрешение работы последовательного порта - открыт SYNC=0; // Режим работы USART - асинхронный BRGH=1; // Выбор высокоскоростного режима RCIE=1; // Разрешение прерывания от USART TMR0=0xE7; // задержка 20мкС OPTION=0b10000000; // прескалер 1:2 T0IE=1; GIE=1; TRISA=0b00000000; // Настройка режима регистра порта А - выход PORTA=0b00000000; // Логический уровень порта А TRISB=0b00000000; // Настройка режима регистра порта В - выход PORTB=0b00000000; // Логический уровень порта B TRISD=0b00000000; // Настройка режима регистра порта D - выход PORTD=0b00000000; // Логический уровень порта D // Цикл программы while(1) { // текст программы (к USART не имеет отношения) if(pulse_2==6) { pulse_1=0; pulse_2=0; } if(pulse_1==166) { pulse_1=0; pulse_2++; } // сам USART if(RCIF) { index=RCREG; // Читаю первый char (индех) massiv[index]=RCREG; // Читаю второй char (значение) TXREG=index; // Отсылаю эти значения назад просто для визуальной проверки правильности TXREG=massiv[index]; // Отсылаю эти значения назад просто для визуальной проверки правильности } } }
Так вот отсылаю три раз подряд такое значения: индекс - 12; значение - 50.
А PIC принимает какую то ерунду:
1 раз:
индекс - 12; значение - 12.
2 раз:
индекс - 50; значение - 12.
3 раз:
индекс - 12; значение - 50.
Потом все повторяется заново. Я только начал в этом разбираться и не исключено что что-то напутал, но что понять не могу. Подскажите как надо.
PS: И еще один вопросик, по таймеру. Каждые 20 микросекунд срабатывает прерывание где проходит инкрементирование счетчика pulse_1. Когда pulse_1 доходит до 166 то он сбрасывается в ноль и инкрементируется счетчик pulse_2. Когда pulse_2 доходит до 6 то все сбрасывается в ноль и начинается заново. По расчетам от начала инкрементирования счетчика pulse_2 до его сброса снова в ноль должно быть где то около 20 милисекунд, а по осцилографу в PROTEUS-е получается 15 милисекунд. Я где-то туплю?
0 -
Горячее выключение USB ничему не вредит (насколько мне помнится) это не LPT и не COM. Я свой PICKit2 уже миллион раз выдергивал так. А насчет того что прошивать... Вместе с программатором идет прошивка. Так же народ помнится говорил что прошивка для него есть на сайте микрочип. Но микруха ли это на самом деле?!
0 -
Дело в том что в прескалере накапливается некое значение, и если его не сбросить то...
Значит все таки лучше без прескалера... А как к этому значению обратиться и сбросить его, оно же ведь где то хранится?
И еще один вопрос (глупость может быть ну да ладно) для сервотестера на 20 серво машинок PIC16F877A пойдет или лучше взять PIC18? А то мой справляется что то плохо, как будто подвисает иногда.
0 -
Народ хотите прикол?
Преамбула...
Четвертый день подряд мучаюсь с таймером на PIC. Все даташиты излазил и ничего. Программу переписывал раз 10, вылизал ее так что была как котовы яйца. И тут увидел этот пост и решил сюда за советом обратиться, а заодно и подучиться. И вот что я собирался написать -
Хорошая тема! Я начинающий, хочу освоить PIC-и. В наличии: комп, MPLAB, макетная плата, PIC16F877A с вшитым бутлодером, кварц 20МГц и куча проводов. Прошиваю через COM-порт и MAX232. Купил недавно PICKit, но пока не разобрался, так что по старинке. Прошивки пишу на Си в HI-TECH PICC. Решил разобраться с TMR0. Написал программку, ШИМ. На порт B выдается сигнал: (объяснять долго, поэтому нарисую).
Просчитал вроде бы все правильно, все перепроверил, поставил задержку, но ничего не работает. Точнее работает, но сигнал толи больше толи меньше, в общем не тот который нужен.
Цвет изменил модератор Lexi, не надо выделять красным то что можно прочитать черным. Устное предупреждение.
Ну и собственно сам прикол...
Вставляю код своей программы и начинаю его кромсать (удаляю закоментированные строки, банальные коментарии, короче всякую ересь). А сам того не замечая правлю код. Там сям подправил и ЗАРАБОТАЛА Вот я болван
Можно сразу вопрос? Я слышал что таймер без прескалера точнее работает, а с прескалером надо поправку вносить. Это так или это глупость?
0 -
Мне кажется что для универсальности нужно делать не одну плату, а три - четыре. Тоесть вся конструкция (электроника) должна быть модульной, один большой главный модуль на котором будет центральный проц, скорее всего интерфейсы какие нибудь для связи с компом и программирования (USB, RS232,...), может быть радио связь или что то похожее, чтобы кучу проводов не таскать за собой. И куча модулей расширения: управление серводвигателями, управление простыми двигателями, датчики, камеры, модули для питания робота (стабилизаторы и прочее...). Наверное вот как то так...
0 -
А не проще будет набрать 6В из Ni-MH аккумуляторов, запитать напрямую от него сервы, а для электроники сделать стабилизатор на 5В с фильтром и прочим прочим и тоже цеплять его к этому же аккумулятору? Я понимаю прекрасно что лучше два питания, но ведь это утяжеляет конструкцию (li-po в расчет не берем. во-первых, у меня его нет, во-вторых, с зарядкой гемор и наконец, его фиг разберешь). Тут просто вот какой момент, я заметил то без сигнала мои сервы потребляют ток до 2А, что если вдруг питание электроники сдохнет, это тогда с какой силой сервы напрягут аккумулятор?! Или я что то путаю? А тут тогда получается что все выключится одновременно.
Да, еще попутный вопрос если брать Li-po и делать по аналогии как у этого мужика то какой аккумулятор лучше взять и какую зарядку к нему посоветуете? И стабилизатор?
Я смотрел вот эти:
http://www.hobbycity.com/hobbycity/store/u...?idProduct=6452
http://www.hobbycity.com/hobbycity/store/u...?idProduct=4319
http://www.hobbycity.com/hobbycity/store/u...?idProduct=6320
http://www.hobbycity.com/hobbycity/store/u...?idProduct=6233
http://www.hobbycity.com/hobbycity/store/u...?idProduct=7028
http://www.bruckversand.de/cgi-bin/lshop.c...ellenspannungen
http://www.hobbydirekt.de/Akkus/Lithium-Po...135::74469.html
0 -
На просторах инета набрел на форум http://www.lynxmotion.net/viewtopic.php?t=...c&start=270 где увидел похожего робота. Только я вот не пойму никак нафига ему было использовать два источника питания, сервы питать от Li-po, а элетронику от батарейки? Запитать от одного источника нельзя что ли? И на фига два регулятора? Толи я совсем дурак, то ли чего то немного не понимаю. Хотел у автора спросить, но там форум какой то долбанутый, все мои адреса почтовые забанил ни стого ни с сего
0 -
Понятно, ну тогда удачи
У меня тоже со временем напряженка, то одно то другое, то работа то личный фронт Если все будет пучком то на этой неделе возьмусь за плату
0 -
Клевые чертежики
Надо будет попробовать ченить собрать такое Вертолет я врятли осилю, а вот машинку забацаем
0 -
Раму для машинки лучше вырезать из алюминия, толщиной где-то 2-3мм (можно из профиля). Он легкий и прочный, и обрабатывается легко. На поворот лучше поставить сервомотор (так надежнее, проще и точнее будет, а главное легче). Конструкции можно поискать в инете. Вот например http://www.rcdesign.ru/articles/auto/hm_chassis помоему ничего шасси http://www.rchobby.ru/rchobby/old_news.html http://www.rcdesign.ru/articles/auto/monsters_intro http://forum.rcdesign.ru/index.php?automod...blogid=507& Чертежи подвески ты врятли где найдешь и даже на форумах по этому делу спрашивать бесполезно потому что там сидят одни умники которые ничего тебе не скажут, так что остается только смотреть по фоткам и по руководствам сборки http://www.hpieurope.com/instructions.php?lang=en. Так что дерзай
P.S. У меня где то завалялся архивчик с кучей фоток самодельных машинок и деталей для них. Могу выслать. Я бы и здесь выложил, но он весит 2 мега
0 -
Начало этой статьи уже о многом говорит - "Прежде всего - отбросьте мысли о самодельной аппаратуре! Даже если ваша фамилия - Маркони (Попов, Тесла, или Грюндиг), скорее всего вам не удастся создать приличный аппарат для авиамодели...".
Может все таки делать начинку для самой модели (камеры там всякие, передачу видеосигнала, управление сервами и тд и тп), а пульт управления купить готовый? Купить готовый пульт, купить экран и мучится с ними (мучений даже уже с готовыми будет более чем достаточно). К тому же мы так и не выяснили что за устройство это будет и для чего оно нужно. Вертолет? Отбросьте идею о самодельном радиоуправлении сразу, а об управлении по камере и на большом расстоянии забудьте и никогда не вспоминайте, потому что камера должна смотреть вперед всегда, а не за девками. И если это все на самом деле для подглядываний делается то забудьте о бензиновом моторе, если конечно только вы подглядывать собираетесь не с высоты птичьего полета.
P.S. К тому же с вертолета, с высоты, с фиговой камеры, на маленьком экране... Ну че там глядеть? Скажи ему лучше пусть девушку себе заведет
0 -
А алюминий в качестве материалла чем не угодил?
0 -
Да. Молодец
Только вот ещё совет - нужно будет сделать провода к сервам немного по другому. Там стоят такие провода которые согнёш 200 раз и кранты ему... Ну и самое главное - Мозг Уже есть планы?
Wowa, по поводу проводов что можешь посоветовать?
Кстати, как там твои успехи с черным листом пластика, ты вроде тоже собирался что-то делать? Сервы нашел?
0 -
Ты чего такой злой?
Какого робота ты хочешь строить, можно немного поконкретнее? И как ты собираешься обрабатывать материал? Для роботов подойдет любой материал (фанера, оргстекло, аллюминий, пвх-пластик,...).
0 -
Все по порядку
Короче материал для тела я использовал ПВХ. Только есть мягкий ПВХ он гнется и пилится фигово, а есть жесткий ПВХ - этот не гнется и обрабатывается на ура. Сразу оговорюсь что все делалось в ручную и вырезалось с помощью ножевки по металлу. Заранее запаситесь полотнами для ножевки И напильниками с наждачкой. Сервы я брал Tower Pro MG995, короче самые дешевые какие есть, попозже как все будет работать на ура поднакоплю денег и возьму получше сервы (если в этих разочаруюсь ). Все получилось классно, сам очень доволен, но есть одно НО! Конструкция не совсем идеальна потому как вал сервов вставлен внатяг прямо в пластик. Сейчас прорабатываю конструкцию с алюминиевыми качалками и телом уже из аллюминия (хочу попрочнее сделать и полегче). Аллюминий буду уже вырезать на координатном станке. Если есть какие советы или легкая критика буду рад выслушать. По поводу начинки. Планирую поставить на него вот это http://robozone.su/mrc28/32-modul-servokon...-otkrytyjj.html , но хочу заточить его под PIC (с атмелом пока не имел дела). Но это для сервов, а так хочу поставить на него еще один котроллер который и будет мозгом, тоесть один будет отвечать за сервы, а другой будет отвечать за расчеты и все остальное. На ноги думаю поставить датчики давления (если найду подходящие). Ну и завершением будет CMOS видео камера, для нее уже проектирую голову .
P.S. Если кому нужны чертежи пишите, поделюсь. Могу выслать по аське (номер аськи напишу только в личном сообщении, гопники и блондинки уже задолбали).
0 -
Долго я мучался и трудился и вот чего у меня получилось. Пока не бегает, но ногами уже дергает Правда в процессе конструирования открылись новые подробности и данная конструкция будет дорабатываться, так что сейчас я снова в творческом настроении и занят поиском подходящих деталей и денег для них.
P.S. Кое что уже заказал, скоро начну тюнинг
0 -
Почитал пост, стало жутко интересно чем все закончится
В вертолетах я к сожалению нифига не понимаю (ну если только принцип и то как управлять), сам я больше к роботам тяготею, особенно к шагающим. Я тут недавно наткнулся на интересную вещицу, некоторые ваши проблемы может решить
http://ru.youtube.com/watch?v=Y4jtguSF0n4&...feature=related
Немцы сварганили, называется - microdrone
Для подглядывания как раз самое оно
Но опять же без спомогательных узлов не обойтись (это как пить дать) и первым таким узлом будет гироскоп (стоит не дешево).
0 -
Тушка почти готова... начинаем мучать электронику
0 -
Если в плане нечего делать, то конечно можно.
Если нечего делать то лучше смотреть телевизор, такие вещи от нечего делать не создаются!
Любой колесный(гусеничный) вариант движителя на порядок превосходит простые схемы шагателей.Это очевидно.Колеса могут даже по ступенькам ходить.
А это довольно смелое утверждение, я бы не стал так категорично заявлять что колесный, а тем более гусеничный привод на порядок превосходит шаговую механику. Колеса по ступенькам ходить не могут, они вообще ходить не могут. Такой вариант привода называется гибридным, в нем смешаны несколько видов приводов. Заметьте смешивают то с шаговой механикой
И еще.Если говорить о проходимости, то на болоте и воде колесо по практичее будет. Лапа увязнет...А как вам такое
0 -
Сначала я по своим каналам попробую, а если не получится то тогда с тобой, там тогда уже будет не до цвета.
0
Начинающим с нуля (PIC)
в PIC
Опубликовано
Я наверное хреново вижу и читаю еще хуже, но помнится мне тема называлась "Начинающим С Нуля (pic)", а не "Идите в баньку читать ДШ". Или я все таки плохо вижу?