Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/16: Рейтинг темы: голосов - 16, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 14

Помогите с выбором PIC

01.09.2011, 20:03. Показов 3517. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем добрый день.
Много лет занимаюсь электроникой простой, цифровуха, логика, аналог.
В общем понял что зашел в тупик, надо развиваться давно.
Решил серьезно заняться программированием пиков.
Немного почитал, скачал море книг. Но вот этих пиков вагон, чего выбрать?
Я понимаю что для каждой задачи свои контроллеры.
Но вот например есть идея.
Выкинуть из стиралки все потроха и сделать самому блок управления подключаемый к компу.
К сожалению я только на дельфи умею програмить. Походу надо С++ изучать.
Так вот есть электромотор с датчиком оборотов.
Есть электроклапана, и датчики уровня воды и температуры.
То есть 2 цифровых входа (датчик уровня воды 1 или 0 и датчик скорости), 1 аналоговый (датчик температуры (причем можно любой свой туда сунуть).
2 входа 1 или 0 для клапанов заливки воды.
1 USB.

Можно начать с цифрового термометра, потом перейти к управлению скоростью мотора.


Это все дело к компу и с помощью написанной проги с удобным интерфейсом под XP например можно управлять оочень гибко стиралкой. И пригодится потом и сразу опыт.

Не переношу учится на бесполезных схемах. А как пойму как это все работает так идеи сами полезут в голову, быстрее всего в области автоэлектроники.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.09.2011, 20:03
Ответы с готовыми решениями:

Помогите разобраться с PIC
Для расширения кругозора решил изучить PIC (уже имею некоторый опыт работы с AVR и большой с низкоуровневым программированием x86). К тому...

Помогите выбрать для сборки хороший программатор PIC-ов!
Всем Добрый день ! Пытаюсь после женитьбы вернуться к любимому увлечению......Понадобилось прошить PIC контроллер - PIC24FJ64GA004....

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

10
 Аватар для raxper
10237 / 6615 / 498
Регистрация: 28.12.2010
Сообщений: 21,154
Записей в блоге: 1
01.09.2011, 21:58
надо развиваться давно.
Решил серьезно заняться программированием пиков
хотите развиваться, смотрите в сторону ARM-ов, STM всяких, LPC.

C выбором PIC не помогу вам, мне от Atmel-а AVR-ки ближе. Под вашу задачу с управлением от USB подойдут AT90USB1287, AT90USB162 и т.п. с загрузчиком на борту (удобно программировать без программатора ). Конечно, есть и пикушки со стеком USB. С другой стороны, никто не мешает эмуляцию USB.HID устройства сделать на любой AVR-ке, даже без встроенного AЦП, та же Attiny2313, 45 и т.д., ведь датчик температуры (тот же DS18B/S20) по I2C.
1- поддержка устройств HID уже встроена в операционную систему (будь то Linux или Windows). Ядро системы знает, как управлять устройством «в целом», а это значит, что для управления его специфическими функциями мы можем использовать интерфейсы прикладного уровня, оставив всю черную работу ядру ОС
2- HID протоколол позволяет обмениваться данными с ПК
Хотите реальный практический пример по работе с датчиком температуры >> тырк (и далее по циклу). Хотите поуправлять, есть HID гаджет UniUSB (на 8 дискретных выходов) от Петра Высочанского в ж.Радио, 2011, №2, стр. 26 (там на пуре-бэйсике). Для работы с HID устройствами из Delphi вам пригодится библиотека HIDKomponente от JEDI (обертка над SetupAPI).

C другой стороны, есть LUFA - открытая библиотека для работы с USB в AVR под AVR-GCC, реализующая полный стек протоколов USB на микроконтроллерах ATmel с аппаратной поддержкой USB (серии AT90USBxxxx или ATMEGAxxUx). Поддерживается работа в режиме USB-slave, USB-хоста (с некоторыми ограничениями) и bootloader (с поддержкой классов CDC, DFU, HID).

Добавлено через 21 минуту
Добавлено

вот еще https://www.cyberforum.ru/post1954881.html
1
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
01.09.2011, 21:59
Я для себя использовал PIC18F2550... 28 выводов, диповский корпус (но бывают и SIOC... это надо по окончанию названия смотреть), USB, много памяти (как для программ, так и ОЗУ). Но они довольно дорогие... я брал в ROM Store - там 220 рублей. Хотя, в тритоне они за 150 продаются.
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 14
21.09.2011, 09:59  [ТС]
Тока я чего то искал искал к ней отладочную плату так и не нашел.
0
PB
Просто прогер
1292 / 1079 / 13
Регистрация: 13.03.2009
Сообщений: 2,502
22.09.2011, 01:55
Цитата Сообщение от Pic2011 Посмотреть сообщение
К сожалению я только на дельфи умею програмить. Походу надо С++ изучать.
Нет, вам нужно изучать ассемблер, иначе будет трудно понять как работает микроконтроллер.
А потом, если знаете дельфи, можно писать проги в среде mikroPascal.
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 14
22.09.2011, 21:49  [ТС]
Да я тут неделю втыкался в asm принцип понял.
Установил я тут mplab и вот пытаюсь понять хоть что то.
Там появился компилятор С++ в 8.36 версии. МОжно на C писать прошивки.
Hi tech pro C compiler.
Но вот тут же начались ошибки в коде и ничего не понимаю.
Например
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <htc.h>
__CONFIG(XT & WDTDIS & PWRTDIS & BORDIS & LVPEN & WRTEN &
DEBUGEN & DUNPROT & UNPROTECT);
 
void init(void)
{
// port directions: 1=input, 0=output
TRISB = 0b00000000;
}
char counter;
void main(void)
{
counter = 0;
init();
while (1)
{
PORTB = counter;
_delay(10000);
counter++;
}
}
Ошибка
(1273) Omniscient Code Generation not available in Lite mode (warning)
Error [939] ; . no file arguments

Добавлено через 26 минут
С этой ошибкой разобрался. Теперь ругается то нету
Code
1
2
3
#include <htc.h>
__CONFIG(XT & WDTDIS & PWRTDIS & BORDIS & LVPEN & WRTEN &
DEBUGEN & DUNPROT & UNPROTECT);
Dunprot и wrten
где их искать?

Добавлено через 58 минут
Убрал я вообще эти слова, запустил в режиме отладки все мигает.
Зашил не пашет, опять тупик.

Добавлено через 2 часа 5 минут
Вот прикол на плате ошибка или криво как то сделано. Вывод 36 Pic16f887 надо подтянуть на землю через резюк, все заработало.
Кто что посоветует почитать подробно по pic16f887 как его на C++ программировать?? Может книги есть сепциализированные? Я бы купил.
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
23.09.2011, 10:05
Цитата Сообщение от Pic2011 Посмотреть сообщение
Вывод 36 Pic16f887 надо подтянуть на землю через резюк, все заработало.
В даташите на этот контроллер в пункте 3.4.2 сказано, что внутреннюю подтяжку PORTB можно включить изменением регистра WPUB. И по умолчанию она отключена и сбивается каждый раз, когда переводишь порт на выход.
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 14
24.09.2011, 12:04  [ТС]
ага разобрался так и есть.
Мучаюсь с сом портом, не понимаю ничего.. Как в гипертерминал хоть пару байт передать.
0
 Аватар для Caruso
31 / 30 / 4
Регистрация: 22.03.2010
Сообщений: 126
25.09.2011, 03:32
а он у вас рабочий?
2 c 3 контакты на порте замкнуть и попробовать передовать чего-нибудь
0
Почетный модератор
 Аватар для Humanoid
11559 / 4353 / 453
Регистрация: 12.06.2008
Сообщений: 12,455
25.09.2011, 10:03
Caruso, думаю, у него сложности с программой для PIC'а.

Pic2011, проще всего запустить его в асинхронном режиме. Для этого у COM порта и у PIC объединяются земли (сейчас уже не помню, какой вывод в COM является землёй). Соединяются RX пика с TX компьютера и TX пика с RX компьютера. 12 глава даташита посвящена именно работе с RS-232 (это и есть COM порт). Т.к. в асинхронном режиме важно, что бы приёмник и передатчик работали на одинаковых скоростях, то надо настроить PIC на определённую скорость... для этого нужно указать нужное значение в регистры SPBRG и SPBRGH. В даташите в разделе 12.3 есть формула, с помощью которой можно рассчитать нужно значение для этих регистров (зная частоту работы PICа и скорость, которую ты выбрал для общения с COM портом). Но на следующих страницах там даже есть таблица, где уже всё рассчитано для разных вариантов... поэтому, можно использовать те значения. Потом надо настроить COM порт компьютера на туже скорость, количество бит, стоповые/стартовые биты и чётность... всё так же, как ты настроил в PICе. После этого можно просто передавать/принимать данные. Сейчас уже не помню, как именно всё настроить (работал с этим лет 10 тому назад)... но судя по даташиту:
C
1
2
3
4
5
6
TXSTA.TX9 = 0;  // 8-битный режим передатчика (можно и не указывать... он по умолчанию 8-битный)
TXSTA.TXEN = 1; // включен передатчик
TXSTA.SYNC = 0; // асинхронный режим
RCSTA.SPEN = 1; // RS-232 включен
RCSTA.RX9 = 0;  // 8-битный режим приёмника (можно и не указывать... он по умолчанию 8-битный)
RCSTA.CREN = 1; // включен приёмник
При этом я включал прерывание RCIE, глобальное прерывание GIE, PIE и в самом прерывании проверял флаг RCIF, который является признаком того, что пришёл новый байт от COM порта... и читал этот байт из RCREG.
Как именно передавать байт я точно не помню... то ли просто записать значение в TXREG... а возможно, надо ещё какой-то бит после этого установить, что бы ПИК начал передачу. Но, кажется, просто записать в TXREG.
0
0 / 0 / 0
Регистрация: 01.09.2011
Сообщений: 14
25.09.2011, 20:05  [ТС]
Цитата Сообщение от Caruso Посмотреть сообщение
а он у вас рабочий?
2 c 3 контакты на порте замкнуть и попробовать передовать чего-нибудь
Да вот не пашет. Гипертерминал молчит. 2 и 3 контакт перемыкаю.
Может этот гипертерминал глючный?

Добавлено через 2 часа 15 минут
сом порт работает. Не то коротил видать вчера с просони.
Щас гипертерминал выводит текст обратно на себя.
Но нифига не пашет все равно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.09.2011, 20:05
Помогаю со студенческими работами здесь

Помогите портировать код PIC -> AVR
Здравствуйте уважаемые форумчане , У меня для вас наверно очень простой вопрос, но непонятный для меня решил заняться контроллерами и...

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

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

Помогите с выбором программатора
Доброго времени суток. Помогите с выбором программатора. Тема для меня эта новая. Функции пока мои с программатором следующие. ...

помогите с выбором роутера
Здравствуйте, подскажите какой есть очень недорогой wifi роутер с возможностью контроля объема трафика например посуточно


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru