Сделать универсальный программатор своими руками: Универсальный USB программатор

Содержание

УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР

   Сейчас без микроконтроллеров не обходится ни одна серьёзная конструкция. Где-то ставят ПИК, где-то АВР. И для работы с ними нужен программатор. А чтоб не делать несколько разных — соберите один для различных типов МК. Предлагаю вашему вниманию универсальный программатор EXTRA-PIC v3.2, с возможностью программирования как PIC, так и AVR контроллеров.

   С помощью EXTRA-PIC+ можно программировать следующие чипы: 

  • 10F серии: PIC10F206 PIC10F204 PIC10F202 PIC10F200 
  • 12F серии: PIC12F683 PIC12F675 PIC12F635 PIC12F635 PIC12F629 PIC12F510 PIC12F509 PIC12F508 
  • 16F/С серии: PIC16F627 PIC16F627A PIC16F628 PIC16F628A PIC16F630 PIC16F636 PIC16F639 PIC16F648A PIC16F676 PIC16F684 PIC16F685 PIC16F687 PIC16F688 PIC16F689 PIC16F690 PIC16F73 PIC16F74 PIC16F76 PIC16F77 PIC16F716 PIC16F737 PIC16F747 PIC16F767 PIC16F777 PIC16F83 PIC16F84 PIC16F84A PIC16F87 PIC16F88 PIC16F818 PIC16F819 PIC16F870 PIC16F871 PIC16F872 PIC16F873 PIC16F873A PIC16F874 PIC16F874A PIC16F876 PIC16F876A PIC16F877 PIC16F877A PIC16C61 PIC16C62 PIC16C62A/B PIC16C63 PIC16C63A PIC16C64 PIC16C64A PIC16C65 PIC16C65A/B PIC16C66 PIC16C67 PIC16C620/A PIC16C621/A PIC16C622/A PIC16CE623 PIC16CE624 PIC16CE625 PIC16C71 PIC16C72 PIC16C72A PIC16C73 PIC16C73A/B PIC16C74 PIC16C74A/B PIC16C76 PIC16C77 PIC16C710 PIC16C711 PIC16C712 PIC16C716 PIC16C745 PIC16C765 PIC16C773 PIC16C774 PIC16C923 PIC16C924 PIC16C925 PIC16C926 
  • 18F серии: PIC18F1220 PIC18F2220 PIC18F2320 PIC18F2331 PIC18F2410 PIC18F242-2439 PIC18F2420 PIC18F2431 PIC18F2455 PIC18F248 PIC18F2480 PIC18F2510 PIC18F2515 PIC18F252-2539 PIC18F2520 PIC18F2525 PIC18F2550 PIC18F258 PIC18F2580 PIC18F2585 PIC18F2610 PIC18F2620 PIC18F2680 PIC18F4220 PIC18F4320 PIC18F4331 PIC18F4410 PIC18F442-4439 PIC18F4420 PIC18F4431 PIC18F4455 PIC18F448 PIC18F4480 PIC18F4510 PIC18F4515 PIC18F452-4539 PIC18F4520 PIC18F4525 PIC18F4550 PIC18F458 PIC18F4580 PIC18F4585 PIC18F4610 PIC18F4620 PIC18F4680 
  • EEPROM 24C серии: 24C512 24C256 24C128 24C64 24C32 24C16 24C08 24C04 24C02 24C01
  • EEPROM 93хх серии

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

Схема универсального программатора

   Теперь немного о значении джамперов и выключателя. Выключатель, как это и должно быть по логике, управляет питанием. Контактные штырьки J3 отвечают за возможность повторного программирования некоторых микроконтроллеров (так как после подачи напряжения на запрограммированный чип, он сразу же начинает выполнять свою программу, и из-за чего не поддается перепрограммированию). J3 – положение: 1-2 – режим первого программирования, 2-3 – режим повторного программирования (если первый выдает ошибки). Контактные штырьки J4 переключение между MISO и MOSI. Десятипиновый разъем предназначен для подключения адаптеров.

   Для использования универсального программатора EXTRA-PIC+ нужен софт, например давно обсуждаемые на нашем форуме IC-PROG, WinPic800 или PonyProg. Печатная плата в формате *.lay. прилагается. Проект испытал и представил для публикации на radioskot.ru — ГУБЕРНАТОР.

   Форум по МК

   Форум по обсуждению материала УНИВЕРСАЛЬНЫЙ ПРОГРАММАТОР



МИКРОФОНЫ MEMS

Микрофоны MEMS — новое качество в записи звука. Подробное описание технологии.



MINILED И MICROLED ДИСПЛЕИ

Что такое OLED, MiniLED и MicroLED телевизоры — краткий обзор и сравнение технологий.



Программатор stm32 своими руками. | CDEblog

Самодельная и доступная альтернатива продаваемому программатору от STMicroelectronics. Является выдержкой и компиляцией нескольких статей и схем найденных в интернете. Реализация в минимально возможном форм-факторе.

У любого разработчика встраиваемого софта должен быть программатор для устройств которые он использует. В моём случае микроконтроллеры фирмы STMicroelectronics, а так же Milandr (российские процессоры на ядре ARM).

Покупка данного девайса весьма затратна, особенно если сравнивать с себестоимостью компонентов — печатной платы и радиодеталей.

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

Основные функции:

  • программирование и отладка STM32;
  • программирование и отладка STM8;
  • программирование и отладка ARM Миландр.

Интерфейсы программирования:

  • SWD — до 4 МГц;
  • JTAG;
  • SWIM.

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

Ядром является контроллер stm32f103, который и используется во всех отладочных платах. На его входах и выходах устройства, я имею ввиду разъем для подключения программируемого микроконтроллера, установлены диоды для защиты от статики, диоды выбраны достаточно маленькие, но легко доступные и без особых сложностей впаиваемыми, даже людьми с ослабленным зрением, сам я впрочем и не жалуюсь со своими единичками на обоих глазах.

В качестве разъема для подключения к компьютеру используется microUSB, выбор пал только лишь из-за его современности по сравнению с его мини братом. У меня же самого на плате стоит именно мини, когда собирал заложенного микро не было в наличии.

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

Для обеспечения работы необходимо зашить по в микроконтроллер, для этого нам понадобиться usb-uart переходник, бутлоадер и утилита для прошивки.

Если с утилитой и переходником проблем на возникает, то с загрузчиком все несколько иначе — так как сама прошивка в контроллерах на отладочных платах заблокирована от считывания и вытащить у меня не получилось. Благо живем в современном мире, где есть интернет.

Решение было найдено на одном из многочисленных форумов — бинарник прошивки. Правда была проблема, после прошивки контроллера программатор определялся, но работать не хотел, зато спокойно прошивался через st-link utility, было решено подчистить файл прошивки, удалив все лишнее, оставив только сам загрузчик.

Как можно догадаться все удалось и теперь загрузчик можно взять здесь.

Для заливки используем разъем P1, выводы 3 и 4 которого замыкаем вместе, переводя микроконтроллер в режим загрузки по usart1. Подключаем uart переходники подаем питание на плату программатора, можно через usb разъем.

В утилите выбираем используемый последовательный порт и следуем остальным инструкциям. Этот процесс в картинках описывать нет смысла — все довольно тривиально.

После окончания прошивки отключаем все вспомогательные устройства и подключаем программатор к компьютеру, он должен нормально определиться. Теперь осталось обновить прошивку программатора с помощью st-link utility.

Можно пользоваться и наслаждаться работой собранного собственными руками программатора.

Данный программатор хорошо себя зарекомендовал, на протяжении года пользования. Отлично работал при -40о С в климатической камере, помогая отлаживать одно из разрабатываемых устройств, а так же дважды посетил вместе со мной Камчатку, где отлично себя чувствовал в суровых климатических условиях.

Для желающих собрать аналогичный программатор:

GERBER — st-link.zip

Описание — st-link-document.zip

Please enable JavaScript to view the comments powered by Disqus.

Универсальный мини программатор из Ардуино Uno своими руками, прошивка ArduinoISP

Какое-то время у меня валялась Arduino Uno. И вот нашлось ей применение. Сделал удобный шилд для прошивки ходовых контроллеров в разных корпусах. Теперь данная отладочная плата активно используется. Шилд позволяет прошивать довольно много контроллеров от ATMEL, которые все еще популярны среди самодельщиков по многим параметрам. Итак, под катом изготовление шилда для прошивки микроконтроллеров Atmega8 (168/328), Attiny13(45/85), причем, как в DIP корпусах, так и в QFP и SOIC, используя адаптеры.

Ссылку я дал на похожую отладочную плату Arduini Uno, поскольку уже и не помню где брал свою. Моя платка с закосом под оргинал (конечно же это копия — поскольку брал в Китае):


Собственно, тут уже было немало обзоров на эту плату, поэтому перейдем сразу к шилду.
Схема шилда, довольно простая:

Конденсатор C4 позволяет не перезагружаться самой Arduino Uno во время прошивки, без него такое бывает и прошить не удается. На схеме видно два разъема для подключения контроллеров в корпусах dip28 и dip8. Для dip28 предусмотрен кварц с конденсаторами С2 и С3. Также на плате предусмотрен стандартный разъем ICSP для подключения, например, своих плат и их прошивки. Как и при типовом использовании, вывод 10 Arduino соединен с RESET программируемых контроллеров. Выводы 11, 12,13, представляющие ICSP соединены с аналогичными на подключаемых микроконтроллерах. На подключаемые контроллеры подается питание и земля от Arduino Uno. К выводам Arduino 7,8,9 через токоограничительные резисторы в 1КОм подключены индикационные светодиоды. Наш шилд позволит прошивать популярные контроллеры: Atmega8 (168/328), Attiny13(45/85), причем, как в DIP корпусах, так и в QFP и SOIC, используя адаптеры.

Платка получилась такая:


Желающие могут скачать файл платы, в формате для Sprint Layout. Также можно скачать готовые для заказа в Китае (или на местном производстве) gerber-файлы.

На плате видны две версии отверстий для dip28 в узком и широком корпусе, это сделано для подключения адаптера QFP32 в DIP28, обзор которого я делал здесь. Кроме того, если припаять разъем для узкой версии контроллера, то в отверстия для широкой версии можно припаять линейки штырьков и сразу тестировать прошитый контроллер. Для dip8 я также предусмотрел, помимо адаптера, отверстия для штырьков. Также имеются две версии ICSP разъемов широкий (10 контактов) и узкий (6 контактов), ну и все остальные детали, присутствующие на схеме. Светодиоды, резисторы и конденсаторы (22пФ) я использовал SMD 1206. Светодиоды распределил так: Зеленый — READY, Красный — ERROR, Желтый — PROG. Также предусмотрел штырьки для дополнительного питания и земли, которые могут потребоваться при тестировании прошиваемого контроллера.

Платы я заказывал в dirtypcbs.com, скорее всего я бы изготовил их ЛУТ-ом, но данный сервис разрешает панелизацию, а у меня как раз нашлось подходящее место на плате в заказе, да и спешки особой не было. Заводская плата выглядит все-таки гораздо лучше. Вот так они выглядят:


Припаиваем детали, я изготовил 2 версии, для широкого dip28:


Здесь я не стал припаивать штырьки и разъемы, так как планирую эту плату использовать для прошивки контроллеров с помощью адаптеров в корпусах SOIC и QFP.
Для узкого dip28:


Как видно из фото, для подключения микросхем в dip корпусах я использовал цанговые разъемы, мне они нравятся больше.
Адаптер QFP32 в DIP28 для подключения в широкую версию шилда:

Встает отлично:

Весь бутерброд, включая Arduino Uno:


Для узкой версии со вставленным контроллером ATtiny85:

Для прошивки контроллеров в SOIC8 корпусе я использую также адаптер:

Для того чтобы наша конструкция стала программатором, следует без шилда загрузить в Arduino Uno прошивку ArduinoISP, идущую в комплекте с любой версией Arduino IDE:

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

Пример загрузки программы мигания диодом с помощью шилда и проверка его работы на месте:


На этом заканчиваю. Спасибо всем, кто дочитал до конца! Надеюсь, что кому-то приведенная информация окажется полезной. Всех со странным праздником: Старым Новым Годом!

Простой программатор для радиостанций Motorola

Программатор — универсальный компьютерный интерфейс (RIB — Radio Interface Box), предназначен для программирования и перепрограммирования практически всего спектра носимых и автомобильно-стационарных радиостанций компании Motorola, выпускавшихся до 2005 года.

В статье ниже, рассмотрим простой программатор для программирования радиостанций серии Motorola.

Радиостанции имеют модификации, обозначаемые буквами после обозначения платформы, в соответствии с таблицей:

Номер

буквы

Характер

модификации

Описание модификации
1Тип

программного обеспечения (ПО)

А – ПО для работы в протоколах PL/DPL и MPT1327 или Select 5

В – ПО для работы в протоколах PL/DPL и MDC1200

2Тип контрольной панелиА – без дисплея, без клавиатуры, 6 кнопок меню

С – без клавиатуры, дисплей, 10 кнопок меню

3Рабочий

поддиапазон

А – 29,7 — 36 МГц

В – 36 — 42 МГц

С – 42 — 50 МГц

Примечание: третья буква ставится только для модели GM360 с платформой МW106.

Радиостанции относятся к системам аналоговой телефонной радиосвязи.

Программирование радиостанций осуществляется с компьютера оснащенного портом RS232 (COM-Port).
COM-Port компьютера состоит из микросхемы — контроллера последовательного порта и микросхемы-драйвера, приводящие внешние сигналы порта в соответствие с протоколом RS-232.

Микросхема-драйвер принадлежит к многочисленному семейству MAX-2xx, MAX-32xx или их аналогам.

Драйвер воспринимает как двуполярные входные сигналы размахом 25 В, так и ТТЛ-уровни. Внешние цепи и сигналы порта имеют следующие свойства:

  • — входные уровни: логическая единица — (-25…0,8) В, логический нуль — (2,4…25) В;
  • — входы драйвера соединены с землей внутренними резисторами (3…7) кОм;
  • — выходные уровни: логическая единица — (-5…-10) В, логический нуль — (5…10) В при нагрузке всех выходов относительно земли сопротивлениями не менее 3 кОм;
  • — допустимо долговременное замыкание на землю (но не на другой выход) выходов порта.

Задача программатора

Основная задача программатора — инвертировать уровни сигналов, поскольку для последовательного порта логическая единица представляет собой низкое напряжение, а логический ноль — высокое.

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

В качестве внешнего источника питания удобно использовать трансформаторные блоки питания от старых телефонных аппаратов с АОН, которые имеют стабилизатор на микросхеме К142ЕН5А.

Применяемые микросхемы — 561ЛА7 или 561ЛЕ5. Входные цепи не использующихся логических элементов через резистор 1 кОм необходимо соединить с минусовым выходом источника питания. На один из свободных выходов микросхемы через резистор 300 Ом можно подключить светодиод, для контроля.

КАБЕЛИ ДЛЯ ПРОГРАММИРОВАНИЯ РАДИОСТАНЦИЙ MOTOROLA

Кабель для программирования радиостанций Р040, Р080

Разъём делается из миниджека диаметром 2,5мм. В радиостанции ответная часть утоплена, поэтому по месту нужно подпилить. Пунктирные линии показывают примерно линии спиливания разъёма.

Кабель для программирования GM350, GM160, GM360

Используется стандартный RJ-45 разъем с 8-ю контактами. Я использовал 30-ти сантиметровый кусок обжатого кабеля UTP.

ПОРЯДОК ПРОГРАММИРОВАНИЯ РАДИОСТАНЦИЙ

1. Подключить программатор к порту компьютера, при этом компьютер должен быть отключен.
Включить программатор, а затем компьютер.

2. Подключить радиостанцию к блоку питания или полностью заряженному аккумулятору. Контакты питания должны быть надёжны.

3. Подключить программатор к разъёму радиостанции, убедиться в надёжности контактов. Включить радиостанцию ручкой или кнопкой на передней панели.

4. Запустить соответствующую программу для программирования радиостанций Motorola.

5. Прочитать информацию из станции согласно указаниями или справке к программе, сохранить информацию в файл на диск под соответствующим именем.

6. Модифицировать настройки, сохранить их в файл на диск.

7. Согласно указаниями или справке к программе записать настройки в радиостанцию.

8. Выключить радиостанцию ручкой или кнопкой. Отключить станцию от программатора.

9. При необходимости подключить к радиостанции гарнитуру, включить и проверить станцию.

10. Выключить станцию, отключить от блока питания. Программирование завершено.

Soft для программирования радиостанций Motorola можно найти в Интернет.

Владимир, EW7AS



ПОДЕЛИТЕСЬ СО СВОИМИ ДРУЗЬЯМИ:

П О П У Л Я Р Н О Е:
  • Программа для изучения Азбуки Морзе — MorseGen
  • MorseGen это программа, которая может генерировать код Морзе для практики на любой скорости для комфортного чтения. Она может быть использована для обучения Азбуки Морзе использованием метода Коха, начиная со случайной буквы или цифры группами, общими словами, текстом из файла или псевдо-связей. Если Вы начинаете изучать азбуку с нуля, то Вам  лучше начать с программы Morse Machine. Подробнее…

  • Ремонтируем «Транспорт» РН-12Б,РН-14Б.
  • Все неисправности, встречающиеся в радиостанции, следует разделить на неисправности передатчика (ПРД) и неисправности приемника (ПРМ) (схема здесь или в каталоге схем на сайте). Подробнее…

  • Управление устройствами через радиоканал
  • SmartTV – приставка с WI-FI позволяющая выводить на экран телевизора информацию с интернета через HDMI-порт. Позволяет сэкономить покупку телевизора с интернетом в 10 раз!

    Небольшая чёрная коробочка 11см х 11см с некоторых пор начала жутко глючить. Приходилось  вставать и перезапускать путём отключения питания что порядком осточертело. Да…, ворчал я вставая очередной раз с дивана, надо что то сварганить безпроводное.

    Порылся в интернете нашёл от братьев китайцев передатчик(коричневая коробочка) и приёмник(зелёная плата), купил 2 комплекта по 89 грн/комп.(См Рис. 1, ниже)

    Подробнее…

Популярность: 3 533 просм.

Самодельный программатор для картриджей принтера

Раньше обслуживанием принтеров занимался не мой отдел, а снабженцы: если что, вызывали людей из фирмы для заправки и ремонта принтеров . Теперь функцию по вызыванию этих людей передали нам.

Как всегда, новое дело началось с казуса. Прибежала сотрудница с криком «караул, принтер поломался!». Прихожу, смотрю- да, действительно принтер Samsung ML-1661 не печатает, на все попытки его расчехлить светит красным светодиодом, типа «error, совсем error». Вызываю специалиста для ремонта и оказывается, что просто-напросто картридж принтера заблокировался из-за того, что встроенный в него счетчик насчитал слишком уж много распечатанных страниц. По задумке Самсунга, когда картридж отпечатывает всю свою заправку, он должен заблокироваться и не работать, что бы его нельзя было самому заправить и пришлось купить новый… Ага щас. Ремонтник поменял плату с заблокированным чипом на нормальную, принтер тут же заработал, а мы получили счет за ремонт.

И тут я подумал, а почему бы самому не сделать программатор для картриджей и сэкономить родному предприятию копеечку? Мастерить девайсы я хоть и не первый специалист, но опыт имеется. Полазил по интернету и понял следующее:

1. Кол-во отпечатанных страниц в картриджах принтеров Samsung ML-1661 и подобных ему хранится в микросхеме флеш-памяти EEPROM серий 24xx.
2. Чтение/запись этой памяти идет по интерфейсу i2c «квадратная шина».
3. Что бы сбросить кол-во отпечатанных картриджем страниц и снова разблокировать картридж, нужно сделать программатор, который работает по квадратной шине.
4. Самодельных схем таких программаторов много.
5. Как и везде, в программаторах для принтеров(а точнее для микросхем памяти, работающих по интерфейсу i2c) чем проще схемы, тем они более стремные и при невнимательном использовании могут завалить если не материнскую плату целиком, то USB или COM точно.

Тем не менее, мною для создания была выбрана одна из самых примитивных схем принтерных программаторов, основанная всего на 2-х резисторах. У этой схемы есть 2 варианта:

Вариант 1.

http://www.notesprint.net/2012/01/24c04-ponyprog-samsung-scx-4220-xerox.html
Здесь питание 5V для прошиваемой микросхемы берется только с USB-порта компьютера. Т.к. обвязка минимальна, сей девайс опасен для USB и южного моста. А спалив ЮМ, материнскую плату можно выкидывать.

Вариант 2.

Всё то же самое, но благодаря подключенной между USB и СОМ земле, питание 5V можно брать не только с USB-порта компа, но от внешнего источника питания, например от телефонной зарядки с USB-выводом.

Я себе сделал программатор по второму варианту, чтоб не втыкать в ЮСБ порт своего компьютера, а использовать только внешний источник питания. Такая мера предосторожности хоть как-то компенсирует откровенно стремную и опасную схему программатора. Теперь, если что пойдет не так, пострадает максимум только СОМ-порт.
Получился такой программатор:


В программаторе используются:
1) Разноцветные крокодилы, купил на радиорынке по цене 1.5 грн(0.06 $) за штуку. Почти даром.
2) Разъем  DB9F для подключения к СОМ-порту компьютера.
3) Резисторы 5.6 кОм. Кстати, в интернете номиналы резисторов для этой схемы варьируются от 4.7 кОм до 6.8 кОм.

4) Шнур USB, взял от поломанной веб-камеры. 

5) Источник питания 5V, зарядка с USB выходом от мобильника.

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

Дальше просто: подключил плату с микросхемой памяти, прошил в нее через программу PonyProg2000 новую прошивку на 1500 страниц, всё ок. Первый картридж прошит успешно.

Детальная инструкция по прошивке, программа и сами файлы прошивки для разных принтеров в архиве тут: https://yadi.sk/d/SVnSmztjj8V6n

Универсальный программатор для микроконтроллеров AVR и PIC. Радиотехника, электроника и схемы своими руками. Программирование Atmega8 через LPT-порт компьютера

С развитием компьютерной техники, с каждым разом становится все меньше и меньше компьютеров оснащенных COM и LPT портами. Это в свою очередь вызывает затруднения, в частности у радиолюбителей, связанные с сопряжением средств программирования микроконтроллеров с персональным компьютером.

В данной статье приведено описание USB программатора для микроконтроллеров AVR, который можно собрать своими руками. Построен он на микроконтроллере Atmega8 и способен работать от USB разъема компьютера. Данный программатор совместим с STK500 v2.

Описание USB программатора

USB программатор построен на плате, сделанной из одностороннего фольгированного стеклотекстолита . На плате есть 2 перемычки: одна расположена под разъё­мом SPI, вторая перемычка расположена неподалеку от того же разъема.

После того как все детали будут запаяны нужно прошить микроконтроллер Atmega8 прошивкой приведенной в конце статьи. Фьюзы, которые необходимо выставить при программировании микроконтроллера Atmega8, должны выглядеть следующим образом:

  • SUT1 = 0
  • BOOTSZ1 = 0
  • BOOTSZ0 = 0
  • CKOPT = 0
  • SPIEN = 0

Необходимо напомнить, что в некоторых программах фьюзы выставляются противоположно этому. Например, в программе CodeVisionAVR необходимо проставить галочки напротив вышеперечисленных фьюзов, а в программе PonyProg наоборот.

Программирование Atmega8 через LPT-порт компьютера

Самый быстрый и дешевый способ запрограммировать Atmega8 – применить LPT-программатор для AVR. Подобная схема приведена ниже.

Питание микроконтроллера осуществляется от простого стабилизатора напряжения 78L05. В качестве оболочки для программирования можно использовать программу UniProf.

При первом включении программы и при не подключенном контроллере, нажав кнопку «LPTpins», необходимо настроит выводы LPT-порта следующим образом:

В момент запуска UniProf, она автоматом определяет вид микроконтроллера. Загружаем в память UniProf прошивку Atmega8_USB_prog.hex, отклоняем подключение файла EEPROM.

Выставляем следующим образом фьюзы (для программы UniProF), нажав кнопку «FUSE»:

Для запоминания установок нажимаем все три кнопки «Write». Затем нажав на «Erase» предварительно очищаем память прошиваемого микроконтроллера. После этого уже жмем на «Prog» и дожидаемся завершения прошивки.

Настройка USB программатора

После того как наш микроконтроллер прошит, его необходимо установить в плату USB программатора. Далее подключаем программатор к USB порту компьютера, но пока питание не подаем.

Настройка порта:

Настройка терминала:

Настройка ASCII:

Теперь после всех проделанных процедур, подаем питание на USB программатор. Светодиод HL1 должен промигать 6 раз и затем светится постоянно.

Для проверки связи USB программатора с компьютером 2 раза нажимаем клавишу «Enter» в программе HyperTerminal. Если все в порядке мы должны увидеть следующую картину:

Если это не так проверяем еще раз монтаж, особенно линию TxD.

Далее вводим версию программатора 2.10, так как без этого програм­матор не будет работать с программами «верхнего уровня». Для этого вводим «2» и нажимаем «Enter», вводим «а» (английская) и нажимаем «Enter».

USB программатор способен распознавать подключение программируемого микроконтроллера. Выполнено это в виде контроля «подтяжки» сигнала Reset к источнику питания. Этот режим включается и выключается следующим образом:

  • «0», «Enter» — режим выключен.
  • «1», «Enter» — режим включён.

Изменение скорости программирования (1МГц):

  • «0», «Enter» – максимальная скорость.
  • «1», «Enter» – сниженная скорость.

На этом подготовительная работа завершена, теперь можно попробовать прошить какой-нибудь микроконтроллер.

(скачено: 1 203)

22 сентября 2011 в 20:11
  • Программирование микроконтроллеров

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL, то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP, мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Автором данного программатора является немец Thomas Fichl, страничка его разработки со схемами, файлами печатных плат и драйверами.
Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:

На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.

Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно

Прошивка управляющего микроконтроллера
Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:

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

Установка драйвера
Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:

Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:

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

Все, теперь программатор готов к работе.

Khazama AVR Programmer
Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer . Замечательная программка, с минималистичным интерфейсом.

Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.

Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по

Универсальный программатор для микроконтроллеров AVR и PIC

В радиолюбительских журналах и сети Интернет приводится множество схем программаторов. Они отличаются способом подключения к компьютеру: через LPT, COM, USB. Программаторы для порта LPT наиболее простые, для COM — чуть сложнее. Для программатора, подключаемого к USB-порту, нужно иметь либо микроконтроллер, либо специализированную микросхему, преобразователь USB — UART. Кроме этого, разные программаторы предназначены для прошивки разных микроконтроллеров: AVR или PIC, при том, что алгоритм программирования этих двух типов микроконтроллеров отличается незначительно. Поэтому само собой напрашивается желание собрать универсальный программатор для любых микроконтроллеров — AVR и PIC.


Оптимальной нам показалась приведённая ниже схема программатора. Он подключается к COM-порту компьютера и содержит известную микросхему MAX232, которая корректно работает с любым COM-портом (у разных компьютеров уровни порта могут существенно отличаться от стандарта), защищая его при случайных ошибках монтажа или подключения. Программатор имеет панельки для разных корпусов микроконтроллеров, а также возможность для внутрисхемного программирования ICSP, когда программатор подключается проводами к плате с микроконтроллером или непосредственно к ножкам микроконтроллера без установки его в панельку. Программатор видится программами как JDM, поэтому проблем с программным обеспечением не возникает. Можно рекомендовать программу IC-PROG 1.06В.


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

Вместо микросхемы 74LS00 можно поставить К555ЛА3 или КР1533ЛА3, транзисторы, в принципе, заменимы на похожие. У данной схемы есть одна странность — номиналы токоограничительных резисторов для светодиодов. Так как светодиоды подключены к разным участкам схемы, напряжения на этих участках также разные, из-за чего светодиоды светятся с разной яркостью. Для того, чтобы это исправить, можно попробовать подобрать резисторы, в частности — уменьшить R4 и R7. Вместо КД523 можно использовать распространённые 1N4148.

Печатная плата.lay (для Sprint Layout) Разводка выполнена под SMD-резисторы, остальные компоненты — в обычном исполнении.

Внимание! На печатной плате проводки MOSI и MISO к панельке ATMEGA8 показаны неправильно, их нужно перекинуть. Также C7 и C9 имеют перемычки — их нужно убрать.

Работа с IC-PROG

Скачивать программу нужно с официального сайта:

http://www.ic-prog.com/index1.htm

В каталоге программы должны находиться следующие файлы:

icprog.exe — непосредственно программа
icprog.sys — драйвер доступа к портам под XP

Необходимо нажать правой клавишей мыши на файле icprog.exe и выбрать «свойства». На вкладке «совместимость» необходимо поставить галочку «запустить в режиме совместимости» и выбрать Windows 2000.

Далее необходимо зайти в меню «Настройки» и выбрать пункт «Программатор». Тип программатора необходимо установить JDM и указать COM-порт, к которому физически подключен программатор. Для очень быстрых компьютеров можно также установить задержку ввода-вывода. В этом же окне необходимо указать интерфейс «Прямой доступ к портам». Все галочки параметров сигналов должны быть сняты.

Затем необходимо зайти в меню «Настройки» и выбрать пункт «Опции», вкладку «Общие», где установить галочку «Включить NT/2000/XP драйвер». При этом появится окно подтверждения установки драйвера и программа перезапустится.

После этого программа готова к работе с программатором.

Как театр начинается с вешалки, так программирование микроконтроллеров начинается с выбора хорошего программатора. Так как начинаю осваивать микроконтроллеры фирмы ATMEL , то досконально пришлось ознакомится с тем что предлагают производители. Предлагают они много всего интересного и вкусного, только совсем по заоблачным ценам. К примеру, платка с одним двадцатиногим микроконтроллером с парой резисторов и диодов в качестве обвязки, стоит как «самолет». Поэтому остро встал вопрос о самостоятельной сборке программатора. После долгого изучения наработок радиолюбителей со стажем, было решено собрать хорошо зарекомендовавший себя программатор USBASP , мозгом которого служит микроконтроллер Atmega8 (так же есть варианты прошивки под atmega88 и atmega48). Минимальная обвязка микроконтроллера позволяет собрать достаточно миниатюрный программатор, который всегда можно взять с собой, как флэшку.

Раз решено было собрать миниатюрный программатор, то перерисовал схему под микроконтроллер Atmega8 в корпусе TQFP32 (распиновка микроконтроллера отличается от распиновки в корпусе DIP):

Перемычка J1 применяется, в случае если необходимо прошить микроконтроллер с тактовой частотой ниже 1,5МГц. Кстати, эту перемычку вообще можно исключить, посадив 25 ногу МК на землю. Тогда программатор будет всегда работать на пониженной частоте. Лично для себя отметил, что программирование на пониженной скорости на доли секунды дольше, и поэтому теперь перемычку не дёргаю, а постоянно шью с ней.
Стабилитроны D1 и D2 служат для согласования уровней между программатором и USB шиной, без них работать будет, но далеко не на всех компьютерах.
Светодиод blue показывает наличие готовности к программированию схемы, red загорается во время программирования. Контакты для программирования выведены на разъем IDC-06, распиновка соответствует стандарту ATMEL для 6-ти пинового ISP разъема:


На этот разъем выведены контакты для питания программируемых устройств, здесь оно берется напрямую с USB порта компьютера, поэтому нужно быть внимательным и не допускать кз. Этот же разъем применяется и для программирования управляющего микроконтроллера, для этого достаточно соединить выводы Reset на разъеме и на мк (см. красный пунктир на схеме). В авторской схеме это делается джампером, но я не стал загромождать плату и убрал его. Для единичной прошивки хватит и простой проволочной перемычки. Плата получилась двухсторонняя, размерами 45х18 мм.


Разъем для программирования и перемычка для снижения скорости работы программатора вынесены на торец устройства, это очень удобно


Прошивка управляющего микроконтроллера

Итак, после сборки устройства осталось самое важное — прошить управляющий микроконтроллер. Для этих целей хорошо подходят друзья у которых остались компьютеры с LPT портом:) Простейший программатор на пяти проводках для AVR
Микроконтроллер можно прошивать с разъема программирования, соединив выводы Reset микроконтроллера (29 нога) и разъема. Прошивка существует для моделей Atmega48, Atmega8 и Atmega88. Желательно использовать один из двух последних камней, так как поддержка версии под Atmega48 прекращена и последняя версия прошивки датируется 2009 годом. А версии под 8-й и 88-й камни постоянно обновляются, и автор вроде как планирует добавить в функционал внутрисхемный отладчик. Прошивку берем на странице немца. Для заливки управляющей программы в микроконтроллер я использовал программу PonyProg. При программировании необходимо завести кристалл на работу от внешнего источника тактирования на 12 МГц. Скрин программы с настройками fuse перемычек в PonyProg:


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

Установка драйвера

Установка велась на машину с системой Windows 7 и никаких проблем не возникло. При первом подключении к компьютеру выйдет сообщение об обнаружении нового устройства, с предложением установки драйвера. Выбираем установку из указанного места:


Выбираем папку где лежат дрова и жмем Далее


Мигом появится окно с предупреждением о том, что устанавливаемый драйвер не имеет цифровой подписи у мелкомягких:


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


Все, теперь программатор готов к работе.

Khazama AVR Programmer

Для работы c программатором я выбрал прошивальщик Khazama AVR Programmer. Замечательная программка, с минималистичным интерфейсом.


Она работает со всеми ходовыми микроконтроллерами AVR, позволяет прошивать flash и eeprom, смотреть содержимое памяти, стирать чип, а также менять конфигурацию фьюз-битов. В общем, вполне стандартный набор. Настройка фьюзов осуществляется выбором источника тактирования из выпадающего списка, таким образом, вероятность залочить кристалл по ошибке резко снижается. Фьюзы можно менять и расстановкой галок в нижнем поле, при этом нельзя расставить галки на несуществующую конфигурацию, и это тоже большой плюс в плане безопасности.


Запись фьюзов в память мк, как можно догадаться, осуществляется при нажатии кнопки Write All. Кнопка Save сохраняет текущую конфигурацию, а Load возвращает сохраненную. Правда я так и не смог придумать практического применения этих кнопок. Кнопка Default предназначена для записи стандартной конфигурации фьюзов, такой, с какой микроконтроллеры идут с завода (обычно это 1МГц от внутреннего RC).
В общем, за все время пользования этим программатором, он показал себя с наилучшей стороны в плане стабильности и скорости работы. Он без проблем заработал как на древнем стационарном пк так и на новом ноутбуке.

Скачать файл печатной платы в SprintLayout можно по этой ссылке

Программатор чипов картриджей универсальный своими руками

Обычное дело первый картридж (заводской) пропечатал 1000 копий и появилось сообщение «Нет тонера». После заправки картриджа, новой порцией, тонера , это сообщение по прежнему не исчезало, принтер при этом отлично печатал и настойчиво выводит сообщение «Нет тонера», плюс в моей модели из-за этого не работает факс (для информации, в сервисном меню опция NEW CARTRIDGE не изменила ничего). Значит нужно перепрошить чип картриджа принтера.

Впрочем эта методика, подходит многим принтерам Xerox и Samsung, я имел возможность опробовать это в действии на МФУ XEROX PE220

Для программирование необходима программа PonyProg2000 и адаптер:

Сопротивление не критично 1кОм-10кОм

Мой чип XEROX PE220 выглядит так:

1. Подключить плату чипа к программатору (разъему РС9)

2. Вставить программатор в СОМ1(СОМ2) выключенного компьютера

3. Включить компьютер, запустить PonyProg2000

4. Настроить PonyProg2000:

Меню «Установки — Настройка оборудования. «

7. После этого можно «считать» чип или загрузить исходную прошивку.

теперь посмотрим по чипу (побайтно):

— 00-06 и 58-5E — идентификатор производителя, лучше не трогать.

— 20 — к-во тыщ, на которые рассчитан картридж (похоже что увеличение этого значения максимально до 8К, но МФУ-шка может перестать копировать при достижении счетчиком 5К). Стандартное значение 03. У стартового картриджа ресурс 1К.

— 35-3F — изменить любой байт (значения 30-39)

— 40-47 — всегда Installed(устанавливается сам).

— 78 — индикация — 00 — нет сообщений, 01 — мало тонера, 02 — нет тонера.

Если совсем коротко — при прошивке нужно изменить серийный и забить нулями ячейки 40-57, 60-63, 80-83, 78.

Вот примерно так.

В архиве две прошивки 01, это слита с нового чипа картриджа.

02s, это рабочая с принтера, прошедшая весь процесс описаный в статье

8. Записываем прошивку в чип. Закрываем программу, выключаем комп. Извлекаем (отпаиваем) плату чипа из (от) программатора (разъема) и устанавливаем ее в заправленный картридж.

Вот и все! Сделав это один раз, понимаешь, все это очень просто.

Проверено в эксплуатации.

Теперь важные замечания:

1) это не мои разработки, я только обобщил материал. Все вышеизложенное является ИМХО и личным опытом.

2) — вы действуете на свой страх и риск.

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

Еще для справки — Вход в сервисный режим:

Через сервисное меню: для входа в сервисное меню 4216/PE16 набираем на клавиатуре : [menu] — [#] — [1934] — [menu], После входа в сервисное меню появится надпись TECH; с помощью клавиш [Стрелка влево] — [Стрелка вправо] находим запись «New cartridge», выбираем «Yes». После того как Вы проделаете нужные операции (МЕНЮ-># 1934 ) и Вы в основном меню выключаем и включаем МФУ. Только нажимать надо быстро.

Для выхода из сервисного режима можно дважды нажать кнопку [Сброс] или просто выключить и включить аппарат.

4)предупреждение для неискушенных пользователей: НИКОГДА не используйте никаких других диагностических кодов и процедур, потому что это может привести к непредсказуемым последствиям.

Вы не можете скачивать файлы с нашего сервера файлы eproom картриджа

Все, чем занимаюсь на работе: компьютеры, автоматизация, контроллеры, программирование и т.д.

среда, 16 сентября 2015 г.

Самодельный программатор для картриджей принтера

Раньше обслуживанием принтеров занимался не мой отдел, а снабженцы: если что, вызывали людей из фирмы для заправки и ремонта принтеров . Теперь функцию по вызыванию этих людей передали нам.

Как всегда, новое дело началось с казуса. Прибежала сотрудница с криком «караул, принтер поломался!». Прихожу, смотрю- да, действительно принтер Samsung ML-1661 не печатает, на все попытки его расчехлить светит красным светодиодом, типа «error, совсем error». Вызываю специалиста для ремонта и оказывается, что просто-напросто картридж принтера заблокировался из-за того, что встроенный в него счетчик насчитал слишком уж много распечатанных страниц. По задумке Самсунга, когда картридж отпечатывает всю свою заправку, он должен заблокироваться и не работать, что бы его нельзя было самому заправить и пришлось купить новый. Ага щас. Ремонтник поменял плату с заблокированным чипом на нормальную, принтер тут же заработал, а мы получили счет за ремонт.

И тут я подумал, а почему бы самому не сделать программатор для картриджей и сэкономить родному предприятию копеечку? Мастерить девайсы я хоть и не первый специалист, но опыт имеется. Полазил по интернету и понял следующее:

1. Кол-во отпечатанных страниц в картриджах принтеров Samsung ML-1661 и подобных ему хранится в микросхеме флеш-памяти EEPROM серий 24xx.
2. Чтение/запись этой памяти идет по интерфейсу i2c «квадратная шина».
3. Что бы сбросить кол-во отпечатанных картриджем страниц и снова разблокировать картридж, нужно сделать программатор, который работает по квадратной шине.
4. Самодельных схем таких программаторов много.
5. Как и везде, в программаторах для принтеров(а точнее для микросхем памяти, работающих по интерфейсу i2c) чем проще схемы, тем они более стремные и при невнимательном использовании могут завалить если не материнскую плату целиком, то USB или COM точно.

Тем не менее, мною для создания была выбрана одна из самых примитивных схем принтерных программаторов, основанная всего на 2-х резисторах. У этой схемы есть 2 варианта:

http://www.notesprint.net/2012/01/24c04-ponyprog-samsung-scx-4220-xerox.html
Здесь питание 5V для прошиваемой микросхемы берется только с USB-порта компьютера. Т.к. обвязка минимальна, сей девайс опасен для USB и южного моста. А спалив ЮМ, материнскую плату можно выкидывать.

Всё то же самое, но благодаря подключенной между USB и СОМ земле, питание 5V можно брать не только с USB-порта компа, но от внешнего источника питания, например от телефонной зарядки с USB-выводом.

Я себе сделал программатор по второму варианту, чтоб не втыкать в ЮСБ порт своего компьютера, а использовать только внешний источник питания. Такая мера предосторожности хоть как-то компенсирует откровенно стремную и опасную схему программатора. Теперь, если что пойдет не так, пострадает максимум только СОМ-порт.
Получился такой программатор:

5) Источник питания 5V, зарядка с USB выходом от мобильника.

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

Дальше просто: подключил плату с микросхемой памяти, прошил в нее через программу PonyProg2000 новую прошивку на 1500 страниц, всё ок. Первый картридж прошит успешно.

Самый простой программатор для PIC. Самодельный программатор для PIC контроллеров

Есть микроконтроллер, есть написанная программа. Что еще нужно? Программист! Ведь без помощи оборудования, которое процесс может написать процесс, который захочет реализовать человек, будет сложно что-то сделать. А как здорово сделать программатор своими руками!

Также здесь вы найдете описание программаторов и из другого семейства — AVR, но исключительно в сравнительных целях.Начнем статью, где рассказывается, как сделать программатор-Flash своими руками.

Что такое программатор

Так как статья написана в том числе и для не слишком информированных в этом вопросе читателей, необходимо учитывать такой пункт. Программатор – это специальное устройство, которое с помощью сигналов, полученных от компьютера, программирует микроконтроллер, который будет управлять схемой. Качественное устройство очень важно, ведь в этом случае будет уверенность, что МК не выйдет из строя, или, что еще важнее, компьютер не выйдет в свет.Есть небольшая доработка: программатор для PIC своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие из-за другой архитектуры могут не работать. Но можно попробовать усовершенствовать представленные схемы и собрать программатор AVR своими руками.

Платные против самодельных

Отдельно нужно рассказать о покупных в магазинах и самодельных программаторах. Дело в том, что эти устройства не очень простые и требуют уже определенных навыков работы, пайки и навыков обращения с железом.Работая с купленным программатором у производителя или его дилера, вы можете быть уверены, что программа запишется на устройство, и ничего не сгорит. А в случае обнаружения неисправностей в самом начале периода эксплуатации, его можно вернуть и получить взамен исправный прибор.

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

Драйверы

Первоначально следует выбрать программное обеспечение. В зависимости от схемы программатор может быть заточен либо под один микроконтроллер, либо под большое их количество. Та, что далее будет рассмотрена, рассчитана примерно на 98 программистов с 12-го по 18-е семейство. Для тех, кому нравится вариант сборки, следует указать, что в качестве драйвера использовалась программа IC-Prog. Можно попробовать поработать с другим, но уже на свой страх и риск.Это информация для тех, кто хочет создать программатор для AVR своими руками. Далее будет указано, для каких семейств микроконтроллеров рассчитана RIS. Если есть желание сделать программатор AVR своими руками или какой-то другой тип МК, то всегда можно попробовать.

Программатор схемы

Здесь уже можно попробовать сделать программатор для ПОС своими руками. Вы должны использовать разъем DB9 в качестве гнезда. Можно сделать USB программатор своими руками, но для него потребуются дополнительные элементы Схемы, усложняющие и без того достаточно сложную плату.Также внимательно рассмотрите рисунок с различными прямоугольниками (чтобы знать, за какие части отвечают). Выводы нужно подключать куда надо, иначе микроконтроллер превратится в маленький кусок пластмассы и железа, который можно повесить на стену как напоминание о былых ошибках. Процесс сборки и использования программатора таков:

  1. Соберите сам программатор как написано в схемах. Обзор на некачественную пайку, а также возможные замыкания.Программатор рассчитан на работу с напряжением 15-18В, больше категорически не рекомендуется.
  2. Подготовьте среду управления прошивкой (выше было упоминание об одной программе, с которой работает именно программатор).

Процесс прошивки микроконтроллера

Процесс прошивки данных микроконтроллера можно считать продолжением предыдущего списка:

  1. Проведите необходимую вам программу настройки.
  2. Установите микроконтроллер в программатор, как указано на схеме.Лучше убедиться, что все должно быть так, как пойдет новый МК.
  3. Подключить питание.
  4. Запустить выбранное ПО (для этого опять же посоветуем программатор IC-PROG).
  5. В выпадающем меню вверху справа выбрать какой микроконтроллер надо прошивать.
  6. Подготовленный файл Выберите для программирования. Для этого пройдите по пути «Файл» — «Открыть файл». Смотрите, не путайте с «Открыть файл данных», это совсем другое, прошить микроконтроллер с помощью второй кнопки не получится.
  7. Нажмите кнопку «Начать программирование цепи». Примерное время, через которое оно будет запрограммировано — до 2 минут. Процесс программирования прерывать нельзя, это чревато несогласием микроконтроллера.
  8. И в качестве небольшого контроля нажмите на кнопку «Сравнить чип-буфер».

Не очень сложно, но такая последовательность действий позволяет получить качественный программатор, своими руками изготовленный для разных типов микроконтроллеров ріс.

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

Как было сказано выше, этот программатор может работать как минимум с 98 моделями. Как видно по схематическим чертежам и платам, он рассчитан на те МК, которые имеют 8, 14, 18, 28 и 40 выводов. Этого должно хватить для самых разнообразных экспериментов и конструирования разнообразных механизмов, которые можно изготовить в рамках скромного бюджета среднестатистического гражданина. Вы можете выразить уверенность, что программатор, сделанный своими руками, сможет удовлетворить самых взыскательных радиолюбителей – при условии, что он будет сделан качественно.

Итак, мы определились и решили собрать свою первую самоделку на микроконтроллере, осталось только понять как ее запрограммировать. Поэтому нам понадобится программатор PIC, а собрать его можно своими руками, рассмотрим для примера несколько простых конструкций.

Схема позволяет программировать микроконтроллеры и память EEPROM I2C.

Список поддерживаемых микроконтроллеров, подлежащих совместному использованию с утилитой IC-PROG V1.05D:

Microchip микроконтроллеры: PIC12C508, PIC12C508A, PIC12C509, PIC12C509A, PIC12CE518, PIC12CE519, PIC12C671, PIC12C672, PIC12CE673, PIC12CE674, PIC12F629, PIC12F675, PIC16C433, PIC16C61, PIC16C62A, PIC16C62B, PIC16C63, PIC16C63A, PIC16C64A, PIC16C65A, PIC16C65B, PIC16C66, PIC16C67, PIC16C71, PIC16C72, PIC16C72A, PIC16C73A, PIC16C73B, PIC16C74A, PIC16C74B, PIC16C76, PIC16C77, PIC16F72, PIC16F73, PIC16F74, PIC16F76, PIC16F77, PIC16C84, PIC16F83, PIC16F84, PIC16F84A, PIC16F88, PIC16C505 *, PIC16C620, PIC16C620A, PIC16C621, PIC16C621A , PIC16C622, PIC16C622A, PIC16CE623, PIC16CE624, PIC16CE625, PIC16F627, PIC16F628, PIC16F628A, PIC16F630 *, PIC16F648A, PIC16F676 *, PIC16C710, PIC16C711, PIC16C712, PIC16C715, PIC16C716, PIC16C717, PIC16C745, PIC16C765, PIC16C770 *, PIC16C771 *, PIC16C773, PIC16C774 . PIC16C923 *, PIC16C924 *, PIC18F242, PIC18F248, PIC18F252, PIC18F258, PIC18F442, PIC18F448, PIC18F452, PIC18F458, PIC18F1220, PIC18F1320, PIC18F2320, PIC18F4320, PIC18F4539, PIC18F6620 *, PIC18F6720 *, PIC18F8620 *, PIC18F8720 *

Примечание. Микроконтроллеры , отмеченные звездочкой (*), необходимо подключать к программатору через разъем ICSP.

Последовательная память EEPROM I2C (IIC): X24C01, 24C01A, 24C02, 24C04, 24C08, 24C16, 24C32, 24C64, AT24C128, M24C128, AT24C256, M24C256, 2.AT24C


Установите чип в панель, строго соблюдая положение ключа. Подсоедините шнур, включите питание. Запустите программу IC-Prog. В выпадающем списке выберите свой микроконтроллер PIC.

Если у вас нет прошивки — сделайте ее: Для этого откройте стандартную программу Блокнот или любой другой редактор; Вставьте текст прошивки в документ; Сохраняйте под любым именем с расширением *.txt или *.hex расширение.

Затем в утилите в файле IC-PROG >> Open File >> Находим наш файл с прошивкой. Окно «Код программы» должно быть заполнено разными кодами.

В окне IC-Prog нажать «Программирование чипа», пока на схеме устройства горит красный светодиод. Программирование длится около 30 секунд. Для проверки выберите — сравните чип с буфером.

Альтернативную схему программатора Extra-PIC из готовой платы в Sprint Layout можно открыть по зеленой ссылке выше.

Микроконтроллеры PIC

заслужили славу своей неприхотливостью и качеством работы, а также универсальностью в использовании. Но что может дать микроконтроллер без возможности записи на него новых программ? Без программатора это не более чем изумительная штука в виде железного исполнения. Сам программатор PIC может быть двух видов: или самодельный, или заводской.

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

В первую очередь их отличает надежность и функциональность, которую обеспечивают владельцы микроконтроллеров.Так, если он делается самодельным, то обычно он рассчитан только на одну модель PIC-микроконтроллера, тогда как программатор Microchip предоставляет возможность работы с различными типами, модификациями и моделями микроконтроллеров.

Заводской программатор от Microchip

Самый известный и популярный — простой PIC программатор, который используется многими и многим известен под названием Pickit 2. Его популярность объясняется явными и неявными преимуществами. Явные преимущества, которыми обладает этот USB-программатор PIC, можно перечислять долго, среди них: относительно небольшая стоимость, простота в эксплуатации и универсальность относительно всего семейства микроконтроллеров, начиная от 6-выходных и заканчивая 20-выходными.

Использование программатора от Microchip

По его использованию можно найти множество обучающих уроков, которые помогут разобраться со всевозможными аспектами использования. Если рассматривать не только программатор PIC, купленный «с рук», а приобретенный у официального представителя, то еще можно отметить качество оказываемой с ним поддержки. Таким образом, дополнительно имеются обучающие материалы по использованию, лицензионные среды разработки, а также демонстрационная плата, которая предназначена для работы с микроконтроллерами по умолчанию.Помимо всего этого существуют утилиты, которые сделают работу с механизмом более приятной, помогут отслеживать процесс программирования и отладки работы микроконтроллера. Также поставляется утилита для стимуляции работы МК.

Другие программаторы

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

Ручные программаторы собраны

А теперь, пожалуй, самое интересное, это программаторы PIC контроллера, которые собираются вручную. Этот вариант понравится тем, у кого нет денег или просто нет желания их тратить. В случае покупки у официального представителя можно рассчитывать, что если устройство окажется некачественным, его можно вернуть и получить взамен новый.А при покупке «с рук» или с помощью досок объявлений в случае некачественной пайки или механического повреждения не нужно просчитывать затраты затрат и приобретать качественный программатор. А теперь приступим к собранной своими руками электронике.

Программатор PIC может быть предназначен для определенных моделей или быть универсальным (для всех или почти всех моделей). Они собраны на микросхемах, способных преобразовывать сигналы с порта RS-232 в сигнал, который будет программировать МК.Необходимо помнить, что при сборе данной конструкции ПОС программатор, схема и результат должны сближаться. Нежелательны даже небольшие отклонения. Это замечание относится к новичкам в электронике, люди с опытом и практикой могут улучшить практически любую схему, если есть что улучшать.

Отдельно стоит обмолвиться и о программном комплексе, который предоставляет USB программатор для ПОС, своими руками замурованный. Дело в том, что самому собрать программатор для одной из множества представленных в глобальной сети схем — мало.Вам также понадобится программное обеспечение, которое позволит компьютеру прошивать микроконтроллер с его помощью. Поэтому часто используются Icprog, WinPIC800 и многие другие программы. Если автор схемы программатора сам не укажет программное обеспечение, с помощью которого его творение сможет выполнять свою работу, то ему придется остерегаться узнавать себя. То же самое касается и тех, кто собирает собственные схемы. Можно и программу для МК написать, но это уже настоящий высший пилотаж.

Универсальные программаторы, которые подходят не только к РИС

Если человек увлекается программированием микроконтроллеров, вряд ли можно использовать только один тип.Для тех, кто не хочет покупать отдельные программаторы для разных типов микроконтроллеров, от различных производителей, были разработаны универсальные устройства, которые смогут программировать МК нескольких фирм. Так как компаний, производящих их, довольно много, то стоит выбрать парочку и рассказать о программистах для них. Выбор пал на гигантов рынка микроконтроллеров: PIC и AVR.

Универсальный программатор PIC и AVR — прибор, особенность которого заключается в его универсальности и возможности изменения работы благодаря программе без внесения изменений в аппаратную часть.Благодаря этому свойству такие устройства легко работают с МК, выпущенными в продажу уже после выхода программатора. Учитывая, что в ближайшее время архитектура существенно не изменится, они будут пригодны для использования в течение длительного времени. К дополнительным приятным свойствам заводских программаторов следует отнести:

  1. Существенные аппаратные ограничения на количество программируемых микросхем, которыми будут программироваться не одни, а сразу несколько блоков электроники.
  2. Возможность программирования микроконтроллеров и схем на базе различных технологий (NVRAM, Nand Flash.разное).
  3. Относительно короткое время программирования. В зависимости от модели программатора и сложности программируемого кода может понадобиться от 20 до 400 секунд.

Особенности практического использования

Отдельно стоит затронуть тему практического использования. Как правило, программаторы подключаются к USB-портам, но есть и такие вариации, которые работают с теми же проводами, что и винчестер. А для их использования приходится снимать кожух компьютера, проходить по проводам, да и сам процесс подключения не очень удобен.А вот второй тип более универсальный и мощный, благодаря ему скорость прошивки больше, чем при подключении по USB. Использование второго варианта не всегда является таким же удобным и комфортным решением, как с USB, ведь перед его использованием необходимо проделать ряд операций: достать корпус, открыть его, найти нужный провод. Можно не переживать о возможных проблемах от перегрева или скачков напряжения при работе с заводскими моделями, так как они обычно имеют специальную защиту.

Работа с микроконтроллерами

Что нужно всем программистам с микроконтроллерами? Дело в том, что сами программаторы хоть и являются самостоятельными схемами, но передают компьютеру сигналы в определенной последовательности.А задачу, как компьютеру объяснить, что надо послать, решает программное обеспечение для программиста.

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

Возможные проблемы

Увы, даже самая идеальная техника не лишена возможных проблем, которых нет и не возникнет. Для лучшего понимания вам нужно составить список. Часть этих проблем можно исправить вручную при детальном осмотре программатора, часть — только проверить наличие необходимого проверочного оборудования. При этом, если программатор микроконтроллеров PIC стоит заводской, то исправить это вряд ли возможно. Хотя можно попробовать найти возможные причины сбоев:

  1. Некачественная пайка элементов программатора.
  2. Нет драйверов для работы с устройством.
  3. Повреждение внутри программатора или проводов внутри компьютера/USB.

Эксперименты с микроконтроллерами

Так все и есть. Как начать работать с техникой, как начать прошивать микроконтроллер программатором?

  1. Подключить внешнее питание, присоединить все оборудование.
  2. Изначально необходим носитель, с которым все будет делаться.
  3. Создайте необходимый проект, выберите конфигурацию микроконтроллера.
  4. Подготовьте файл, в котором находится весь необходимый код.
  5. Подключиться к программатору.
  6. Когда все готово, можно уже прошивать микроконтроллер.

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

Хочу отдельно написать обращение к тем, кто только начинает пользоваться программаторами.Помните, что какими бы элементарными не казались некоторые шаги, всегда нужно придерживаться техники, чтобы нормально работать и адекватно работать и выполнять поставленные перед вами задачи. Успехов в электронике!

Программатор USB PIC Controller — 3,8 из 5 на основании 11 голосов

Фотографический программатор предоставлен Ансаганом Хасеновым

В данной статье рассмотрены практические аспекты сборки простого USB программатора микроконтроллеров PIC, который имеет оригинальное название GTP-USB (Grabador Todopic-USB).Есть старшая модель этого программатора GTP-USB Plus, которая поддерживает и микроконтроллеры AVR, но предлагается за деньги. Однозначной информации по схемам и прошивкам к GTP-USB Plus обнаружить не удалось. Если у вас есть информация о GTP-USB Plus, свяжитесь со мной.

Итак, ГТП-УСБ. Этот программатор собран на микроконтроллере PIC18F2550. GTP-USB новичкам рекомендовать нельзя, т.к. для сборки нужно прошить PIC18F2550 а для этого нужен программатор. Замкнутый круг, но не настолько замкнутый, чтобы он стал препятствием для сборки.

Из оригинальной схемы ГТП-УСБ исключены элементы индикации для упрощения рисунка печатной платы. Основным индикатором является монитор вашего компьютера, на котором с версии WinPic800 версии 3.55G или 3.55B можно следить за процессом программирования.

Облегченная схема GTP-USB.

Сигнальные линии ВПП1 и ВПП2 определены под микроконтроллеры в корпусах с разным наклоном. Линия VPP/ICSP предназначена для внутригемального программирования. Остальные строки типичны.

Программатор собран на односторонней печатной плате.

Адаптер безболезненно подключается к любому другому программатору PIC-микроконтроллеров, что безусловно удобно.

После сборки производим первое включение. При первом подключении GTP-USB к ПК появляется.

Затем следует традиционный драйвер для установки драйвера. Драйвер находится в управляющей программе WinPic800 по примерному пути \WinPIC800 3.55G\GTP-USB\ДРАЙВЕР GTP-USB\.


Соглашаемся с предупреждениями и продолжаем установку.

Внимание. Данная схема Программатор и прошивки к нему проверены на практике и работают с управляющей программой WinPic800 версии 3.55G и 3.55B. Старые версии, например, 3.63c с этим программатором не работают. Производим настройку управляющей программы: в меню Настройки — оборудование (установки — оборудование) выбираем GTP-USB-#0 или GTP-USB-#F1 и нажимаем Apply.

Нажимаем на кнопку панели И производим проверку оборудования. В результате успешного тестирования появляется сообщение (см. ниже), что не может не радовать.

Данный программатор отлично работал со следующими контроллерами (из того, что было в наличии): PIC16F675, PIC16F84A, PIC16F628A, PIC16F874A, PIC16F876A, PIC18F252. Тест контроллеров, запись и чтение данных — завершен успешно. Скорость работы впечатляет. Чтение 1-2 сек. Запись 3-5 секунд.Глюков не наблюдается. Часть вшитых МК проверил в железе — работает.


Однажды я решил собрать простенький LC метр на Pic16F628A и естественно нужно было что-то прошить. Раньше у меня был компьютер с физическим COM портом, а сейчас в моем распоряжении только USB и плата PCI-LPT-2COM. Для начала собрал простенький JDM программатор, но как оказалось с картой PCI-LPT-COM он не захотел работать с переходником USB-COM (низковольтные сигналы RS-232).Потом кинулся искать USB PIC программаторы, а там оказалось все ограничивается использованием дорогих PIC18F2550/4550, которых у меня естественно не было, да и жалко такие дорогие МК использовать, если очень редко делаю что-то (я предпочитаю AVR. С ними проблем нет, они намного дешевле, и, как мне кажется, писать программы, им проще). Долго копаясь в просторах интернета в одной из многочисленных статей о программаторе EXTRA-PIC и его всевозможных вариантах, один из авторов написал, что ExtraPic работает с любыми COM портами и даже переходником USB-COM.

В схеме этого программатора используется преобразователь логических уровней MAX232.

Думал если использовать usb переходник, будет очень глупо два раза делать конвертацию уровней USB в USAT TTL, TTL в RS232, RS232 обратно в TTL, если можно просто взять TTL RS232 сигналы порта с преобразователя USB-USArt чип.

Так и было. Взял микросхему Ч440Г (в которой есть все 8 сигналов СОМ порта) и подключил ее вместо МАХ232. Так и случилось.

В моей схеме есть джампер JP1, которого нет в эксперементе, поставил потому что не знал как поведет себя выход TX tX на уровне TTL, поэтому сделал возможность инвертировать на оставшихся свободных элемента и не потерял его, как оказалось непосредственно На выходе ТХ логическая единица, и поэтому на выходе ВПП при включении присутствует 12 вольт, а при программировании ничего не будет (хотя можно инвертировать ТХ программно).

После сборки платы пришло пробное время. И тут пришло главное разочарование. Программатор определился сразу (программа IC-PROG) и заработал, но очень медленно! В принципе ожидаемо. Потом в настройках COM порта выставил максимальную скорость (128 килобад) начал тестировать все программы для JDM. В итоге быстро прикрутился PicPGM. Мой PIC16F628A был полностью прошит (HEX, EEPROM и CONFIG) плюс проверка где-то 4-6 минут (и чтение медленнее записи).icprog тоже работает, но медленнее. Ошибок при программировании не возникало. Пробовал еще прошить EEPROM 24C08, результат тот же — все шьется, но очень медленно.

Выводы: Программатор достаточно простой, в нем нет дорогих деталей (Ч440 — 0,3-0,5$, К1533Л3 вообще можно найти среди магнитол), работает на любом компе, ноуте (и даже на планшетах можно использовать Windows 8/10). Недостатки: Он очень медленный. Также требуется внешнее питание для сигнала VPP. В итоге, как мне показалось, для доброй прошивки пиков, простой для повторения и недорогой вариант для тех, у кого нет древнего компа с нужными портами.

Вот фото готового устройства:

Как поется в песне «Я был слеп из того, что было». Набор деталей самый разнообразный: и SMD, и DIP.

Для рискнувших повторять схему, в качестве USB-UART подойдет практически любой (FT232, PL2303, CP2101 и т.д.), вместо К1533L3 подойдёт К555, думаю даже серии К155 или зарубежный аналог 74Алс00 может даже работа с логическими не элементами типа К1533ЛН1. Применил свою печатную плату, но разводку там под элементы, которые были в наличии, каждый может перерисовать под себя.

Перечень радиоэлементов
Обозначение Тип А Номинал номер Примечание Оценка Моя записная книжка
IC1 Чип Ч440Г. 1 В блокноте
ИК2. Чип К1533Л3. 1 В блокноте
ВР1. Линейный регулятор

LM7812.

1 В блокноте
ВР2. Линейный регулятор

LM7805.

1 В блокноте
ВТ1 Биполярный транзистор

КТ502Е.

1 В блокноте
ВТ2. Биполярный транзистор

CT3102E.

1 В блокноте
ВД1-ВД3. Выпрямительный диод

1N4148.

2 В блокноте
С1, С2, С5-С7 Конденсатор 100 NF. 5 В блокноте
С3, С4. Конденсатор 22 ПФ 2 В блокноте
ХЛ1-ХЛ4. Светодиод Любой 4 В блокноте
Р1, Р3, Р4 Резистор

1 ком

3

Программирование своими руками

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

Итак, что вы можете сделать, чтобы ваши руки и запястья оставались сильными под давлением экстремальных вычислений? *

Сделай зарядку

Настоящее упражнение . Удивительно, но этот материал полезен для вас, или так мне сказали:

Хотите быть немного умнее? У вас лучше память? Оставаться умственно острым? Улучшить высшую функцию мозга? Бегать.Те, кто занимается спортом, имеют умственное преимущество перед теми, кто этого не делает.

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

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

Однажды я посещал занятия в колледже, которые вел клинический психиатр. Он так твердо верил в связь между физическим здоровьем и психическим здоровьем, что заставлял всех своих пациентов выполнять режим физических упражнений. И его уроки тоже. Часть нашей оценки определялась еженедельным журналом упражнений. В журнале мы записывали, какое упражнение мы выбрали, и как мы себя чувствовали до и после. И будь я проклят, если я не чувствовал себя лучше после тренировки – каждый раз!

Конечно, легко говорить о многочисленных преимуществах физических упражнений.Настоящая трудность состоит в том, чтобы преодолеть инерцию и делать это регулярно. У нас, гиков, есть определенный подход к упражнениям, который… уникален.

Меняйте рабочее положение

Это называется повторяющейся стрессовой травмой не просто так. Старайтесь регулярно что-то менять:

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

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

Тренируйте руки

Теперь мы переходим к забавным вещам.

Thinking Putty Безумного Аарона — моя любимая настольная безделушка. У них есть несколько новых цветов супер-иллюзий, которые потрясающие .

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

Powerball — еще один хит в офисе. Это основная гироскопическая тренировка рук.

Обязательно приобретите модель с показаниями числа оборотов, потому что вам будет очень весело бросить вызов коллегам, чтобы увидеть, как быстро они могут заставить ее вращаться. Попробовав несколько раз, они не сомневаются, что эта маленькая гироскопическая игрушка — серьезная тренировка для рук, запястий и предплечий! Единственным недостатком Powerball является то, что он немного шумный.

Gripmaster — еще один популярный тренажер для рук.Первоначально он был популяризирован альпинистами, которые использовали этот инструмент для укрепления своих зацепов. Но это также полезно для тех, кто работает своими руками. Он поставляется с несколькими вариантами жесткости пружины.

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

* Я не врач. Я просто случайный парень в интернете.Так что примите этот совет с душой, более того, со складом, полным соли.

Руки программиста — Блог Скотта Хансельмана

Я уже говорил кое-что о Спине Программиста. Ну, когда идет дождь, он льет. Я уверен, что у всех нас есть боль, но, поскольку я являюсь центром своей собственной вселенной, моя боль имеет приоритет. За годы программирования у меня были проблемы с руками и запястьями. Однако в последнее время это стало довольно нелепо, поскольку я могу печатать только несколько минут за раз, прежде чем мои пальцы и запястья начинают болеть.

У меня есть натуральная клавиатура и мышь с трекболом, но, по сути, Когда дело доходит до моих рук, я ограничен вводом-выводом .

Если вы когда-нибудь видели меня в присутствии, то знаете, что я быстро печатаю. Это не гипербола, это просто факт, мои пальцы двигаются очень быстро, и теперь я расплачиваюсь за это. Я тоже не особенно спортивен, и 10 лет без тренировок, без сомнения, создали слабость в моих руках и предплечьях, которую больше невозможно скрыть.Возможно, у меня просто обострение, но, тем не менее, пора с этим бороться.

Я просмотрел все виды причудливых клавиатур, которые утверждают, что имеют Единый Истинный Способ печати, но я решил, что печать не там, где она есть. Мне достаточно одного слога, чтобы сказать что-то вроде «кода», но это четыре нажатия клавиш между двумя руками, и это кажется мне смешным. Так что в последнее время я увлекся распознаванием голоса, сначала со встроенным программным обеспечением для распознавания голоса от Microsoft, а теперь с NaturallySpeaking от Dragon.Я прошел несколько онлайн-тестов по набору текста с помощью программного обеспечения для распознавания голоса и набрал до 100 (в одном случае 160) слов в минуту, что примерно равно моей скорости набора текста на пике. Качество настолько лучше, чем пять лет назад, когда я пробовал предыдущие версии программного обеспечения для распознавания голоса, что, по крайней мере, я чувствую, что в будущем распознавание голоса принесет положительные результаты.

На самом деле весь этот пост был полностью продиктован Dragon NaturallySpeaking версии 7, и я должен сказать, что не полностью разочарован.Для диктанта это фантастика. Точность легко составляет 95+%, и единственные странные вещи случаются, когда есть такие слова, как «Кориллиан», которые слишком странны, чтобы их можно было понять. Однако он смягчает некоторые из этих проблем, сканируя все ваши электронные письма и все ваши документы в поисках потенциальных словарных слов.

Я не знаю, смог бы я эффективно использовать его, если бы у меня вообще не было рук, так как большинство его команд состоят из одного или двух аккордов слов, и, кажется, у него проблемы с очень маленькими словами.Например ветер насильно бьет по микрофону, он может сказать «вверх» или «хлоп». Он знает о большом количестве приложений, за исключением того, что он не знает о Firefox, что делает просмотр немного проблематичным. Однажды мне придется поискать в Google дополнительные наборы команд для инструментов и программ, которые я использую.

Кажется, многие люди перенесли операцию по освобождению запястного канала и продолжают испытывать проблемы. Это кажется ужасно радикальным шагом. Кажется, единственный ответ — «отключить» клавиатуру.

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

(стр.S. Следует отметить, что я использую USB-микрофон для этой диктовки, и я не могу представить, чтобы кто-то получил такую ​​​​точность с аналоговым микрофоном.)

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

О Скотте

Скотт Хансельман — бывший профессор, бывший главный архитектор в области финансов, ныне спикер, консультант, отец, диабетик и сотрудник Microsoft.Он неудавшийся стендап-комик, угловой и автор книг.


О нас   Информационный бюллетень Хостинг от

А.И. Теперь может писать свой собственный компьютерный код. Это хорошие новости для людей.

Как только Том Смит получил в свои руки Кодекс — новую технологию искусственного интеллекта, которая пишет свои собственные компьютерные программы, — он дал ей собеседование.

Он спросил, может ли он решить «проблемы кодирования», с которыми программисты часто сталкиваются при прохождении собеседований на высокооплачиваемую работу в таких компаниях Силиконовой долины, как Google и Facebook. Может ли он написать программу, которая заменяет все пробелы в предложении тире? Еще лучше, может ли он написать код, который идентифицирует недопустимые почтовые индексы?

И то, и другое он сделал мгновенно, прежде чем выполнить несколько других задач.«Многим людям, в том числе и мне, было бы трудно решить эти проблемы, а ответ он напечатал бы за две секунды», — сказал г-н Смит, опытный программист, курирующий работу ИИ. стартап под названием Gado Images. «Жутковато было смотреть».

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

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

«Это инструмент, который может значительно облегчить жизнь программиста, — сказал г-н Смит.

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

Выявляя закономерности во всем этом тексте, сети научились предсказывать следующее слово в последовательности. Когда кто-то вводил несколько слов в эти «универсальные языковые модели», он мог завершить мысль целыми абзацами. Таким образом, одна система — творение OpenAI под названием GPT-3 — могла писать свои собственные сообщения в Твиттере, речи, стихи и новостные статьи.

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

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

«Вы можете приказать ему что-то сделать, и он это сделает», — говорит Аня Кубоу, еще один программист, использовавший эту технологию.

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

Иногда программы, созданные Кодексом, не запускаются. Или они содержат недостатки безопасности. Или они и близко не подходят к тому, что вы от них хотите. По оценкам OpenAI, Codex производит правильный код в 37% случаев.

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

Другими словами, Кодекс был по-настоящему полезен только опытному программисту.

Но это может помочь программистам выполнять свою повседневную работу намного быстрее.Это могло помочь им найти основные строительные блоки, в которых они нуждались, или указать им на новые идеи. Используя эту технологию, GitHub, популярный онлайн-сервис для программистов, теперь предлагает Copilot, инструмент, который предлагает следующую строку кода, так же, как инструменты «автозаполнения» предлагают следующее слово, когда вы печатаете тексты или электронные письма.

«Это способ написания кода без необходимости писать столько кода», — сказал Джереми Ховард, который основал лабораторию искусственного интеллекта Fast.ai и помог создать языковую технологию, на которой основана работа OpenAI.«Это не всегда правильно, но достаточно близко».

Г-н Ховард и другие считают, что Codex может также помочь новичкам научиться программировать. Он особенно хорош для создания простых программ из кратких описаний на английском языке. И это работает и в другом направлении, объясняя сложный код простым английским языком. Некоторые, в том числе Джоэл Хеллермарк, предприниматель из Швеции, уже пытаются превратить систему в инструмент обучения.

Остальные А.И. пейзаж похож.Роботы становятся все более мощными. Так же и чат-боты предназначены для онлайн-общения. DeepMind, ИИ Лаборатория в Лондоне недавно создала систему, которая мгновенно определяет форму белков в организме человека, что является ключевой частью разработки новых лекарств и вакцин. Эта задача когда-то занимала у ученых дни или даже годы. Но эти системы заменяют лишь небольшую часть того, что могут сделать люди-эксперты.

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

С помощью своего стартапа Gado Images г-н Смит намеревался создать систему, которая могла бы автоматически сортировать фотоархивы газет и библиотек, возвращать на поверхность забытые изображения, автоматически добавлять подписи и теги и делиться фотографиями с другими публикациями и предприятия. Но технология могла справиться только с частью работы.

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

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

Кодекс расширяет возможности машины, но это еще одно свидетельство того, что технология лучше всего работает, когда за рулем находится человек.

«А.И. происходит не так, как все ожидали», — сказал Грег Брокман, главный технический директор OpenAI. «Казалось, что он будет выполнять эту работу и эту работу, и все пытались выяснить, какая из них пойдет первой.Вместо этого он заменяет отсутствие рабочих мест. Но это снимает тяжелую работу со всех сразу».

Универсальный USB программатор. Многофункциональный универсальный программатор Какие микроконтроллеры поддерживаются и могут быть прошиты ПО

Есть микроконтроллер, есть написанная программа. Что еще нужно? Программист! Ведь без помощи оборудования, способного зафиксировать процесс, который человек хочет реализовать последовательностью сигналов, будет сложно что-то сделать.А как здорово сделать программатор своими руками!

Также здесь вы найдете описание программаторов из другого семейства — ATS, но только для целей сравнения. Перейдем к статье, в которой описано, как сделать флеш программатор своими руками.

Для чего нужен программатор?

Так как статья пишется в том числе и для не слишком сведущих в этом вопросе читателей, необходимо учитывать такой момент. Программатор — это специальное устройство, которое посредством сигналов, полученных от компьютера, программирует микроконтроллер, который будет управлять схемой.Качественное устройство очень важно, ведь в этом случае можно будет быть уверенным, что МК не выйдет из строя, или, что еще важнее, компьютер не выйдет из строя. Есть небольшое уточнение: программатор для ПОС своими руками делают только те, у кого есть микроконтроллеры этого семейства. Другие, из-за другой архитектуры, могут не работать. Но вы можете попробовать самостоятельно усовершенствовать представленные схемы и собрать программатор AVR своими руками.

Платные vs самодельные

Отдельно нужно рассказать о покупных в магазинах и самодельных программаторах.Дело в том, что устройства эти не очень простые и требуют уже определенных навыков работы, практики пайки и умения обращаться с железом. Работая с купленным программатором у производителя или его дилера, вы можете быть уверены, что программа запишется на устройство и ничего не сгорит. А при обнаружении неисправностей в самом начале периода эксплуатации его можно вернуть и заменить на работоспособное устройство.

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

Еще 3 способа кардинально улучшить свои навыки программирования самостоятельно | by Kurtis Pykes

Как стать лучшим программистом

Photo by Nubelson Fernandes на Unsplash

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

#1 Решайте проблемы логически

Навыки программирования предназначены для решения проблем. Многие люди слишком зацикливаются на тонкостях и синтаксисе конкретного языка программирования. Хотя важно знать различные трюки, которые вы можете использовать, используя язык программирования, лучше, если вы действительно сможете решить проблему — даже если это означает немного старомодную школу.

Я никогда не забуду тот день, когда я сидел с одним из моих друзей, Майклом. План состоял в том, чтобы провести сеанс однорангового кодирования. У него был более 5 лет опыта программирования, так что я был в восторге. Когда я потянулась за сумкой, чтобы взять свой ноутбук, я посмотрела на Майкла. Он аккуратно положил блокнот на стол, потом ручку, но никаких следов ноутбука. Я был ошеломлен. В тот день мы потратили около 45 минут на понимание логики, прежде чем он вытащил свой ноутбук и потратил около 15 минут на программирование. Это был мой самый большой прорыв в программировании.

Решить задачу на бумаге — все равно, что наточить топор перед тем, как срубить дерево. Это значительно повышает вашу интуицию в программировании. Другие вещи, которые вы можете сделать для развития своей интуиции в области программирования, включают:

  • Выбор ключевой информации в постановке задачи, чтобы понять возможные пути, которые вы можете выбрать, ваши ограничения и конечную цель
  • Решение проблем без использования кода или размышлений о нем first
  • Определение ситуаций, в которых ваше решение терпит неудачу, и их последствий
  • Ежедневный осознанный поиск решения проблем

Довольно легко привыкнуть погружаться прямо в код.Раньше я всегда говорил своему другу, что могу написать код, если ты скажешь мне ответ на проблему, но я не мог сам придумать реальное решение. Его ручка и бумага значительно помогли мне. Решение проблем на бумаге перед написанием кода — это хорошая привычка, и по мере того, как вы становитесь лучше, время, которое вы тратите на решение проблем, будет значительно сокращаться.

#2 Изучайте структуры данных и алгоритмы

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

Послушайте, я не говорю, что вы не можете стать программистом, если не знаете DSA. Вы, вероятно, можете далеко зайти в своей жизни программирования, но правда субъективна и спорна. Однако несомненно то, что для того, чтобы стать программистом ЛУЧШЕ , нужно хорошо понимать DSA.

Причина проста. DSA укрепляет вашу логику; это развивает вашу интуитивную логическую мышцу — если есть такая вещь. Взгляните с точки зрения алгоритма. Алгоритмы — это просто набор шагов, которые выполняются для решения конкретной проблемы. Мы все используем алгоритмы каждый день, но типичный для технической природы, мы использовали очень сложное слово, чтобы описать нашу простую утреннюю рутину — проснуться и встать, сделать 5 отжиманий, отлить, почистить зубы, пойти в спортзал, и т.д.

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

Вы можете заплатить за курс по изучению структур данных и алгоритмов, но на YouTube есть очень хорошие преподаватели.И вы можете практиковать свои навыки, принимая некоторые вызовы на HackerRank: 1) Структуры данных 2) Алгоритмы.

Структуры данных и алгоритмы в Python (см. полный плейлист)

#3 Напишите псевдокод

Если вы когда-либо читали научную статью об алгоритме машинного обучения, вы, вероятно, сталкивались с псевдокодом. В некотором смысле псевдокод — это тип языка программирования, но его синтаксис универсален. Таким образом, вся логика кодирования может быть записана в псевдокоде и легко переведена на другой конкретный язык программирования.

Википедия описывает псевдокод как

«простое описание шагов в алгоритме или другой системе».

По сути, псевдокод структурирован таким образом, что использует структурные соглашения типичного языка программирования, но предназначен для чтения человеком, а не машиной. Он служит методом детализации вашего мыслительного процесса другим, а не компьютеру. Это улов!

Не так сложно подробно рассказать другому человеку о своем мыслительном процессе, верно? Говорят, что лучший способ учиться — это учить.Поэтому мы можем начать с использования псевдокода, чтобы представить, что мы обучаем нашему мыслительному процессу нашего воображаемого друга. Как только все тонкости составлены, гораздо проще перевести свой мыслительный процесс на язык, понятный компьютеру.

How To Write Pseudocode — хорошее место для начала изучения псевдокода.

Заключительные мысли

Сосредоточение внимания на вещах, которые вы можете контролировать, является ключом к развитию ваших навыков программирования. Вы можете контролировать, сколько усилий вы вкладываете в развитие своих навыков.Оцените текущий объем усилий, которые вы приложили, чтобы стать лучшим программистом, и это даст вам приблизительное представление о том, почему у вас могут быть проблемы. Это также помогает определить, где у вас проблемы (то есть проблемы с синтаксисом или логикой) — это даст вам более четкое представление о том, над чем вам нужно поработать.

Спасибо за прочтение!

Если вам понравилась эта статья, свяжитесь со мной, подписавшись на мою БЕСПЛАТНУЮ еженедельную рассылку . Никогда не пропускайте мои посты об искусственном интеллекте, науке о данных и фрилансе.

Статьи по теме

Программист и инженер-программист: в чем разница?

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

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

Что такое программирование?

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

Имейте в виду, кодирование — это общий термин, который относится просто к написанию кода. Таким образом, программисты, как правило, пишут код, имея в виду весь проект, в то время как программисты используют более узкий подход, сосредотачиваясь на конкретной части или функции в более крупном проекте. Тем не менее, некоторые компании по-прежнему нанимают программистов с единственной целью, чтобы они писали код в дополнение к другим рабочим обязанностям, таким как создание программ с нуля, написание инструкций или что-то среднее между ними.

Навыки

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

Образование

Степень в области компьютерного программирования или компьютерных наук остается наиболее распространенным способом стать программистом, однако многие программисты берут свое обучение в свои руки и выбирают менее формальное образование, такое как учебный лагерь для программистов.Эти ускоренные курсы не охватывают теорию программирования, а позволяют учащимся получить конкретные технические навыки, которые им необходимы, посредством практической практики. Независимо от того, какой путь вы выберете, аналитические и математические навыки могут быть полезны для понимания концепций кодирования.

Кто такой инженер-программист?

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

Навыки

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

Образование

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

Какой тип работы связан с программированием?

Общие обязанности

Работа по программированию обычно связана с относительно ограниченным кругом обязанностей. По большей части они сосредоточены на написании, редактировании и оценке кода на основе инструкций разработчиков программного обеспечения, дизайнеров или инженеров. Для этого требуется способность отлаживать код, включая его идентификацию и исправление, а также понимание алгоритмов.

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

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

В целом, общие обязанности программистов включают:

  • Написание и тестирование кода
  • Написание программ на основе предоставленных спецификаций
  • Выполнение сборки кода в рабочей и тестовой средах
  • Исправление ошибок в коде
  • Сотрудничество с командами по дизайну, маркетингу и продукту для обучения
  • Ведение документации
  • Решение проблем, отправленных пользователями
  • Написание компьютерных инструкций

Общие виды работ

В дополнение к общим ролям программиста, существует множество других вакансий, открытых для людей с навыками программирования.Просматривая приведенный ниже список, обратите внимание, что многие роли сосредоточены на программировании в определенной ситуации или среде.

  • Разработчик серверных систем: Специализируется на программировании частей приложений и программ, скрытых от глаз пользователей.
  • Компьютерный программист: Классическая роль программиста, эта работа включает в себя написание и переписывание программ, чтобы убедиться, что они не содержат ошибок.
  • Аналитик компьютерных систем: Объединяет ИТ-и бизнес-инициативы компании, оценивая сетевые системы и предлагая обновления.
  • Инженер по компьютерным системам: Включает определение решений более сложных проблем, связанных с сетями, системным администрированием и приложениями. Это также требует большего сотрудничества с клиентами, чем многие другие работы по программированию.
  • Администратор базы данных: Включает защиту, устранение неполадок и организацию хранения больших объемов данных.
  • Full Stack Web Developer: Включает все аспекты разработки систем, включая взаимодействие с пользователем и внутренние системы.
  • Сетевой системный администратор: Включает поддержку вычислительных сред в сетях и резервное копирование данных для предотвращения проблем.
  • Программист-аналитик: Сочетает компьютерное программирование с системной аналитикой. Помимо проектирования и создания кода, аналитик также работает с другими, чтобы контролировать фактическое написание кода.
  • Разработчик программного обеспечения: Включает создание и улучшение приложений для мобильных устройств и является хорошим выбором для тех, кто любит сотрудничать.
  • Разработчик программного обеспечения: Включает создание и проектирование программного обеспечения для компьютерных систем, часто требующее использования ряда языков программирования.
  • Инженер по обеспечению качества программного обеспечения (QA): Основное внимание уделяется документированию и тестированию на ранних этапах жизненного цикла программного обеспечения и может одинаково понравиться как программистам, так и инженерам-программистам.
  • Разработчик UI/UX: Основное внимание уделяется программированию для оптимизации взаимодействия с пользователем или пользовательских интерфейсов.
  • Веб-разработчик: Включает создание веб-сайтов и веб-приложений.

Какими должностями занимаются инженеры-программисты?

Общие обязанности

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

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

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

В то время как программист сосредоточится на одном этапе цикла разработки, инженер-программист наблюдает за процессом разработки от начала до конца. Некоторые инженеры-программисты переходят на роль архитекторов программного обеспечения, создавая чертежи или рекомендации для программной среды.

В целом, общие обязанности инженеров-программистов включают:

  • Проектирование и разработка платформ
  • Методологии тестирования для разработки программного обеспечения
  • Обеспечение обслуживания программного обеспечения
  • Сотрудничество с бизнес-пользователями, учеными, другими инженерами и руководителями проектов
  • Работа с другими инженерами
  • Работа с клиентами
  • Сообщение о статусе проектов
  • Производительность системы мониторинга
  • Управление жизненным циклом разработки программного обеспечения
  • Применение инженерных принципов и лучших практик
  • Определение возможностей для улучшения приложений

Общие виды работ

Как и в случае с ролями программиста, некоторые списки вакансий для инженеров-программистов будут называться просто «инженер-программист» и охватывать набор обязанностей, перечисленных выше.Другие могут включать:

  • Back End Engineer: Основное внимание уделяется производительности, логике и другим аспектам программного обеспечения, невидимым для пользователей.
  • Front End Engineer: Основное внимание уделяется разработке пользовательского интерфейса, включая эстетику, макеты и кросс-браузерную совместимость (в случае веб-разработки).
  • Full Stack Engineer: Включает в себя внутреннюю и внешнюю часть, включая полное приложение или веб-сайт.
  • Инженер DevOps: Обычно управляет инфраструктурой приложений и использует свои знания технологий для разработки систем, которые создают, интегрируют, развертывают и администрируют программное обеспечение на серверной части.
  • Инженер по безопасности: Специализируется на процедурах, системах и методах тестирования безопасности программного обеспечения, включая использование и устранение любых недостатков безопасности.
  • Инженер по обеспечению качества программного обеспечения (QA): Сосредоточен на аспекте, который проверяет потенциальные проблемы и функциональность и может понравиться как программистам, так и инженерам-программистам, в зависимости от описания работы.

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

Языки кодирования

Как мы упоминали выше, многие инженеры-программисты начинают свою карьеру в программировании благодаря тому, что языки программирования, используемые в каждой роли, во многом совпадают.Однако разница заключается в том, как они используют эти языки; в то время как программисты работают непосредственно с языком, написав и исправив код, всеобъемлющая роль инженера-программиста требует общего понимания этих языков.

Наиболее распространенные языки программирования, с которыми должна быть знакома любая роль, включают:

  • С
  • С++
  • С#
  • Ява ​​
  • JavaScript
  • ЛИСП
  • МАТЛАБ
  • Перл
  • PHP
  • Питон
  • Р
  • Рубин
  • SQL

Подходы к решению проблем

Когда дело доходит до мыслительного процесса, инженеры-программисты склонны мыслить в соответствии с научными или продвинутыми математическими процессами.Обычно они придерживаются проверенных шаблонов и правил и больше всего внимания уделяют коду и технологиям.

Напротив, программисты более гибки в своей роли. Вместо того, чтобы следовать строгим правилам, эти профессионалы склонны к инновациям с двумя целями: сократить объем работы и улучшить функциональность программного обеспечения.

Зарплата инженера-программиста и программиста: сколько они зарабатывают?

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

Средние оценки показывают, что инженеры-программисты обычно зарабатывают от 86 000 до 110 000 долларов, а программисты зарабатывают от 64 000 до 90 000 долларов в год.

Последние мысли

Давайте вспомним основные различия между программированием и программной инженерией:

  • Программисты обычно сосредотачиваются на одной части цикла разработки проекта, в то время как инженеры-программисты смотрят на проект шире, чем программисты, рассматривая картину в целом и разделяя ее на части.
  • Программисты, как правило, работают самостоятельно после получения инструкций, в то время как инженеры-программисты, как правило, работают в группах и общаются с клиентами.
  • Из-за возросшей ответственности инженеры-программисты получают более высокую зарплату, чем программисты.
  • Инженеры-программисты используют научный метод и обладают продвинутыми механическими навыками в дополнение к базовым навыкам программирования.
  • Для программирования обычно требуется получение степени или прохождение учебного лагеря по кодированию, а для разработки программного обеспечения требуется это плюс несколько лет опыта.

Помните, что различия между программистами и программистами легко спутать, и работодатели не всегда их признают. Хотя вы должны знать о различиях между этими двумя ролями, вы также должны принять тот факт, что в некоторых списках вакансий может быть указан «программист», но описания показывают, что на самом деле им требуется кто-то с навыками, более подходящими для инженера-программиста, или наоборот. . Тем не менее, несоответствия могут помочь вам расширить свои навыки и опыт, поскольку вас могут нанять на работу, на которую вы, возможно, не подали бы заявку, если бы не углубились.

Получить информацию о программе

Высший уровень образования? Высшее образование?Некоторая средняя школаДиплом средней школы или GEDAСтепень младшего специалистаСтепень бакалавраНекоторая курсовая работа для выпускниковСтепень выпускникаПредпочитаю не говорить

Как скоро вы хотите начать? Немедленно В течение 6 месяцев Через 6-12 месяцев Через год или более

Я хочу Я хочу…Что лучше всего описывает вашу цель?Начать новую карьеруСменить профессиюПродвинуться по карьерной лестницеНачать/развивать бизнесПредпочитаю не говорить ДругоеНачать новую карьеруИзменить свой карьерный путьДальше моей карьерыСтать предпринимателемНедавний выпускник, Первая работаПредпочитаю не говоритьДругое

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *