Tag Archives: PIC

Модуль PIC18F67J60 для Pinboard II


 
Коллекция модулей для Pinboard II пополнилась еще одним необычным девайсом. На этот раз это PIC, но не общего назначения, а специализированный, со встроенным 10Base-T Ethernet контроллера с интегрированным MAC и PHY.
 

  • Семейство: PIC18
  • Разрядность: 8 бит
  • Частота: до 40MHz
  • Флеша: 128KB
  • ОЗУ: 3.84KB
  • Периферия: ADC, Comparator, PWM, Timer
  • Интерфейсы: Ethernet, EUSART, I2C, SPI
  • Тактовый генератор: внешний и внутренний.
  • Питающее напряжение: 2…3.6V
  • Корпус: TQFP 64

 

Причем физический уровень реализован внутри МК, т.е. развязывающий трансформатор вешается прям на контроллер. Фактически, на одном только разъеме, кварце и микроконтроллере да мизерной обвязке можно сделать самодостаточный вебсервер. Под него Microchip написал неплохую библиотечку реализующую TCP-IP стек.
 
(далее…)

Read More »

Проектирование печатной платы и изготовление устройства в Eagle Cad на примере PICKit2

Предыстория
На днях возникла необходимость собрать программатор PicKit2, да и сам программатор хотелось сделать маленьким, дабы можно было удобно с собой таскать. Как раз на форуме видел несколько тем про двухсторонние платы по методу ЛУТ или ЛЛТ, в частности про изготовление двухсторонних плат, в которых основная засада это совмещение двух сторон идеально точно. Постараюсь на конкретном примере именно этого программатора рассказать, как это делаю я. Разумеется, в своем повествовании буду использовать программу Eagle Cad.

Недавно DI HALT на своем сайте публиковал ряд статей по Eagle Cad (Часть 1, Часть 2 и часть 3)

Программа сама по себе довольна интересна, хотя и заточена на автоматическое производство и сравнивать ее с Sprint Layout не имеет смысла, т.к это две абсолютно разные программы. Каждая из которых хороша для своих масштабов.

Например, мне в Eagle нравится то, что и схема и плата все вместе. Как отмечал DI HALT, при разводке очень удобна подсветка связей которые в данный момент трассируешь, если есть желание то можно сразу, после того как плата готова, создать выходные файлы и отдать на производство. В итоге получить красивую зелененькую плату, но в данной статье речь пойдет не об этом.

Но я немного отвлекся… Итак, скачали Eagle Cad, установили ту версию какая нравится (Demo или порыскали и нашли ключик), прочитали прошлые статьи и получили примерное представление о том что же представляет из себя Eagle Cad.

Последняя версия на данный момент Eagle Cad 5.10.0, вот в ней и будем рисовать, трассировать, печатать и потом делать наш программатор PicKit2.

(далее…)

Read More »

Простейший индикатор расхода топлива на инжекторный двигатель

Сразу же после покупки автомобиля (Mitsubishi Lancer, 2003) озадачился установкой индикатора расхода топлива. Японцы сильно сэкономили на этом авто и не установили некоторые полезные функции — пришлось исправлять ситуацию.
Первой мыслью было или покупка готового — существуют множество промышленных устройств, в том числе заточенных под Lancer 9, или самостоятельная сборка какой-нибуть любительской конструкции — и таких немало. Поизучав немного тему выяснил, что все предложенные девайсы обладают избыточностью функций — а мне-то всего навсего нужен расходомер. Поэтому и было решено делать самому. Единственное место на панели куда-бы приборчик вписывался — на место штатных часов, поэтому хочешь-не хочешь он должен и время показывать. Ну и так как при применении 2-х строчного ЖК в этом случае остается незаполненный угол — значит и туда надо что-нибуть более-менее полезное вставить, например индикацию температуры. Кстати говоря, поначалу задумывалась индикация и некоторых других параметров — зарядка аккумулятора, расход на 100 км, мгновенный расход в цифрах и т.д. уже и не припомню — и почти все задумки были реализованы в первой версии индикатора.

(далее…)

Read More »

Русская инструкция на робоконструктор RoboPica

Помните я обещал русский мануал к RoboPica? Так вот, я не успел и конструктор смели с прилавков быстрей чем я договорился выцыганить книжку на сканирование. Однако Bschepan, один из довольных обладателей этой игрушки, сделал доброе дело и выложил скан упиханый в DejaVu.

Русская инструкция на робоконструктор RoboPica

Рекомендую всем кто начинает раскуривать контроллеры PIC. Там все довольно подробно расписано на примере компилятора MicroC от Микроэлектроники.

Read More »

Робоконструктор Robo-PICA

В Челябинском Элементе появилась прикольная вещь — робоконструктор Robo-PICA. Пользуясь моментом, пришел туда с фотиком и зафоткал все содержимое коробки, а потом выложил на всеобщее обозрение.

кликабельно — больший размер

Дальше будут в основном фотки с моим кратким описанием.
(далее…)

Read More »

Шпак Ю.А. Программирование на языке C для AVR и PIC микроконтроллеров

Автор:		Шпак Ю.А.
Название: 	Программирование на языке C для 
		AVR и PIC микроконтроллеров 
Издательство: 	МК-Пресс

Вот что я нарыл. Собственно, других книг по GCC я больше и не встречал. Одно время был классный мануал в виде chm файла, но потом он куда то делся и больше я его не видел. Так что качайте что есть :) Тут вначале рассмотрен сам язык Си, хуже конечно чем в оригинале от Кернигана и Ритчи, но зато обьемом поменьше. А дальше идет описание языка Си уже с упором на микроконтроллеры. Довольно кратко, но есть примеры, а это главное. Для PIC описывается компилятор CCS-PICC, а для AVR разобран GCC WinAVR.
Особо меня тут порадовал справочник в конце книги, где кратко расписаны все функции стандартной поставки CCS-PICC и GCC WinAVR с примерами. В общем, выбора у вас нет, раз ленитесь писать на ассемблере, то придется разбираться вот по этой книжке :)

Read More »

Робот на контроллере PIC от SWG. Часть 3

Тем временем, в Казахстане ударными темпами продолжается разработка киборга оригинальной конструкции на базе контроллера PIC, о чем SWG очень активно отписывается в комментарии к постам о своем роботе.

О ходе работ можно почитать в записях ать и два и, главное комментариях к ним

Попутно скидывая мне мылом некоторые свои наработки.

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

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

Определившись с размещением и креплением плат, сделаю соединительные шлейфики из МГТФ, оптимальной длины, чтобы зря не болтались,но и не в натяжку. Прикидываю также варианты, конструкцию и размещение датчиков одометров, и оборудования, которое будет установлено в будущем,чтобы по нескольку раз не переделывать.

На платах бамперов синие колодочки снизу — датчики пола с фоторезисторами ибелыми светодиодами подсветки. (Сделал из клеммников, слегка рассверлив их местами). Прозрачные светодиоды сверху — подсветка ИК локатора на TSOP(стоят посредине, вверх ногами).Черные кубики на внутренних углах — оптопары на отражение датчиков столкновения. Над ними к боковым стенкам будуткрепиться угольники — шторки с белой областью на черном фоне или отверстием определенной формы.

Когда уже платы были готовы, подумал, что можно было припаять оптопары не сверху, а снизу платы, и нарисовать нужные фигуры прямо на дне коробки. Вообще — то это и сейчас еще не поздно сделать, пока еще не решил. Тем более, что в библиотеку я по запарке тоже занес их зеркально, и при запайке пришлось загнуть ноги под ними для правильной распайки, а снизу они встанут правильно. В общем, накопилась куча мелочей, на обдумывание которых бесполезно уходит время. («Тирания альтернатив»). С пересылкой состояния датчиков тоже вроде все просто, но когда начинаешь добавлять кучу всяких защит от всего, и проверок правильности функционирования, все обрастает, как снежный ком, постоянно приходится все проверять на возможные и невозможные ситуации, чтобы все нормально отрабатывало. Слишком велика будет цена падения, например, в открытый люк, а постоянно закрывать все дырки и двери — тоже не выход… Но и сильно перестраховавшись, можно вообще никогда не стронуться с места.

(далее…)

Read More »

Atmel R.I.P.

Приплыли, господа. Компании Atmel больше нет. Она была продана по частям. Микропроцессорное отделение выкупила компания Microchip (та самая которая PIC делает), а отдел Flash памяти продано компании On Semiconductors Что теперь будет с архитектурой AVR неизвестно. Несколько лет то еще она, конечно, просуществует, но вот что дальше? У Микрочипа есть свои контроллеры и своя архитектура которая занимает внушительный процент рынка. Не вижу смысла им дробить силы на разработку двух разных архитектур. Возможно AVR будет свернуто и все мощности брошены на PIC, а возможно возникнет третья архитектура, этакий гибрид, обьединяющий обе платформы.

Может оно и к лучшему, но вот только мне как то сцыкотно, если зарубят AVR то я даже не знаю куда подрываться, т.к. PIC мне не нравится категорически.

Заряженые MSC-51 от SiLab или Philips?
MSP430?
PSOC или HC08?

В общем, я в глубоких раздумьях. У кого какие соображения?

UPD:
Акционеры Атмела покурили, подумали и написали Микрочипу ответ с количеством стеба сравнимый  с письмом «Турецкому султану». Само письмо висело на главной странице Атмела с неделю. В общем, основной смысл был такой — Хер вам! Родина Атмел не продается! Так что все ок. Выдыхаем!

Read More »

Робот на контроллере PIC от SWG. Часть 2

Предварительная версия схемы
Предварительная версия схемы
Тем временем, SWG продолжает совершенствовать своего робота. Структурно его конструкции похожа на моего робота — тоже раздельные специализированные контроллеры. Недавно он прислал мне схему контроллера датчиков/ИК буфферов. Короче глаза и прочие сенсоры. А также наброски кода для управления всем этим добром. Респект!

Хы, надо сказать я несколько отстаю в разработке :) Он уже за датчики взялся, а у меня пока только ходовая отлаживается… ничо ничо, вот щас с заказами разберусь и закажу себе УЗ сонары :)))) А там еще посмотрим кто первый в космос полетит :)

SWG:
Оперативную связь с ходовым контроллером планирую с использованием в обоих контроллерах линий портов B0, B1, с задействованием внешнего прерывания по B0. Кроме того, у контроллера буферов будет также выход на межмодульную шину I2C, для связи с центральным процессором, а иногда и с ходовым контроллером, (для несрочных операций, типа уточнения местоположения препятствия, диагностики исправности датчиков и т.д.) На всякий случай вывожу на разьем также неиспользуемые линии портов, в т.ч. и USART (на всякий случай, в первую очередь для отладки). В качестве датчиков столкновений пока нарисовал микрики, но ставить скорее всего буду все же оптопары, что лучше будет отрабатывать толчки с разных направлений, но потребует дополнительных резисторов для CD подсветки, и желательно управление ей. Свободные линии портов для этого еще есть. На всякий случай (для отладки, а также наглядности работы буфера, и облегчения настройки локаторов, на A4 хочу поставить сигнальный светодиод. (при подачи тока на него он светится разными цветами, переключая их по очереди).

Бонусом в архиве идет доработанная программа ходового контроллера:

  • Исходник на Pascal
  • Cкомпилированные им ассемблерный листинг и HEX — код, а также
  • Дизассемблерный из HEX-кода листинг. Получен программой из комплекта IC-Prog, которой я прошиваю PIC16F876).

Описание ходовой части. Обратите внимание на комменты к посту, в них автором расписана большая часть подробностей и идей по дальнейшему развитию.

Read More »

Робот на контроллере PIC от SWG

Камрад SWG решил тоже побаловаться самобеглыми тачанками. И достал с антресоли давнюю разработку.

SWG:
Глядя на вашу бурную активность, я тоже решил шевельнуть ластами. Достал со шкафа сделанную еще в 2006г простенькую тележку (к коробке от CD-ROMа прикручены 2 самодельных колеса, 2 движка ДПМ-25-Н1-7Т с редукторами (27v, но неплохо тянут уже при 12, надо будет больше — сделаю преобразователь 12->27), и самодельный поворотный узел с роликом (третье колесо).

Потребление от 12v: 33 мА при выкл. двигателях, при макс. скорости без нагрузки (колеса не касаются пола) = 103 мА вперед, 115 мА назад. При одном заклиненном колесе — 300 мА, при обоих заклиненных колесах = 500 мА.
L293DN чуть теплая. Будет греться — приклею радиатор. Да, частоту ШИМ взял пока 500 Гц. (период 2 мс). Померяю скорость нарастания тока в двигателях — определю более оптимальную (За самый короткий импульс ток в двигателе должен успеть достигнуть максимума).
Максимальная скорость движения по полу сейчас 15-20 см/сек. Больше мне пока ни к чему, слишком быстро будет комнату пробегать. Диаметр колес = 80мм (резиновые “бублики” вроде от какой-то сантехники, полно на базаре).

Честно говоря, я был сильно удивлен когда нагуглил характеристики движка ДПМ. Почти все они, несмотря на весьма брутальную конструкцию, жрут довольно мало. Так что даже L293 их спокойно тянет. При этом они отличаются вполне сносным моментом и оборотами.

(далее…)

Read More »

AVR. Учебный Курс. Вводная. Что такое микроконтроллер.

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

Но, если сильно все упростить, то основной функцией микроконтроллера является «дрыганье ножками». Т.е. у него есть несколько выводов (от 6 до нескольких десятков в зависимости от модели) и на этих выводах он может выставить либо 1 (высокий уровень напряжения, например +5вольт), либо 0 (низкий уровень напряжения, около 0.1 вольта) в зависимости от программного алгоритма зашитого в его память. Также микроконтроллер может определять состояние сигнала на своих ножках (для этого они должны быть настроены на вход) — высокое там напряжение или низкое (ноль или единица). Современные микроконтроллеры также почти поголовно имеют на борту Аналогово Цифровой Преобразователь — это штука подобная вольтметру, позволяет не просто отследить 0 или 1 на входе, а полноценно замерить напряжение от 0 до опорного (обычно опорное равно напряжению питания) и представить его в виде числа от 0 до 1024 (или 255, в зависимости от разрядности АЦП)

Из него можно сделать и умный дом, и мозги для домашнего робота, систему интеллектуального управления аквариумом или просто красивое светодиодное табло с бегущим текстом. Среди электронных компонентов МК это один из самых универсальных устройств. Я, например, при разработке очередного устройства предпочитаю не заморачиваться на различного рода схемотехнические извраты, а подключить все входы и выходы к микроконтроллеру, а всю логику работы сделать программно. Резко экономит и время и деньги, а значит деньги в квадрате.

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

Read More »