Форум » Для начинающих. » Личная тема Альберт Бикбулатов - Photographer (г.Уфа) » Ответить

Личная тема Альберт Бикбулатов - Photographer (г.Уфа)

Photographer: Это тема с моими проектами. Здесь я буду разрабатывать свои устройства, учиться, задавать вопросы. Если вам не нравится мой проект, то можете создать такую же личную тему себе и создавать там свои устройства. Можете мою личную тему взять за образец. Каждый свой проект постараюсь начинать с техзадания, инструментов, исходных материалов. То есть с идеи и того что у меня есть в наличии. Вести тему буду в стиле (в виде) блога. Возможно кто то захочет повторить мой путь. Буду благодарен за замечания, советы и помощь, которые помогут реализовать проекты наилучшим образом, а заодно чему то научиться. Всё что на мой взгляд мешает мне в работе, буду считать офтопиком, не обессудьте. Здесь проекты мои личные и решать мне. Если только вкратце не переубедите меня в обратном.

Ответов - 181, стр: 1 2 3 4 5 All

Photographer: Итак, что у меня есть. MPLAB IDE v8.63 Proteus ISIS Release 7.5 SP3 PICkit 2 v2.50 layout 50 Это из того, что мне обязательно пригодится. И т.п. если что, спрашивайте. Пока мало смысла всё перечислять. Проблема с паяльником. Паяльник старый и дешёвый 25W 220V Хочу сделать паяльную станцию. То есть паяльник с термопарой и регулировкой температуры, ну и с индикацией температуры на 7-сегментных LED. Потребуется АЦП. Есть немного БУ PIC16F88 SOIC с АЦП. Паяльник купил в местном магазине Паяльник для паяльной станции LUKEY 702 250 р. с термопарой и керамическим нагревателем. Есть индикатор CC56-12GWA 4 разряда под динамическую индикацию Энкодер 3х пиновый + кнопка. Надо обойтись без дополнительных кнопок. Ну и выключатель питания симпатичненький купить. Проблема с трансом, корпусом и по мелочи... Шнур питания наверно будет компьютерный, гнездо под него с предохранителем (посмотрю в продаже.) Пока всё

Photographer: Итак, что у меня уже получилось. Набросал схемку в протеусе, пока без термопары. click here прошивка здесь У кого нет протеуса, вот рисунок схемы. Индикация жутко тормозит. Если увеличить скорость, то индикатор"замерзает". Был бы благодарен, если кто поможет подправить. В библиотеке выбора энкодеров нет, поставил двигатель с энкодером. Ножек у контроллера на индикацию даже на динамическую не хватает, поставил сдвиговые регистры 595 Получился по моему не плохой програмный драйвер сдвиговых регистров на вывод. Количество регистров задаётся. С подготовительными операциями контроллера (настройками) толком не разобрался, но пока всё работает. Вместо кварца внутренний генератор, Интересно, есть ли какая разница, в смысле стабильности, на 4 или 8 Мгц. Драйвер динамической индикации вроде тоже не плохой, до 8 разрядов можно задать. Декодер - отдельно, и тоже настраивается, но чуть сложнее из-за градусов цельсия `C Надо бы поработать с ним на досуге. Иначе потом заново придётся изобретать. Подпрограмма BIN2_10 отличная, но не моя. Универсальная ПП двоично-десятичного преобразования Автор: Черепанов Алексей Викторович На все случаи жизни Драйвер АЦП 10-битовый А здесь сама заготовка на асме

Alex: Photographer пишет: Набросал схемку в протеусе, пока без термопары. click hereАльберт, проект не открывается. При попытке его открыть, протеус виснет наглухо (7.5 SP3). Photographer пишет: прошивка здесь А почему .cof, а не hex ?


Алексей: Photographer пишет: Индикация жутко тормозит Альберт, в первую очередь соедини выводы индикатора с соответствующими выводами, линиями, а не так как у тебя сейчас сделано... Это жутко тормозит протеус... Второе попробуй заменить ULN2803 на примитив INVERTER. он именно так и называется... Тормозить должен перестать...

Алексей: Alex пишет: При попытке его открыть, протеус виснет наглухо У меня норма...7.7 SP2

Photographer: Алексей пишет: Тормозить должен перестать... Советы хорошие, но в данном случае не помогают. Сам пробовал? Я попробовал, не помогает. Можно ускорить так что разряды мелькать будут, но это не читабельно. Если ускорить ещё - сегменты замерзают и высвечивается белиберда. В таких случаях скорее всего проблема в накладке. Протеусу надо чтобы в момент переключения разрядов, сегменты не горели, даже 1 микросекунду. В железе эта микросекунда ни какой роли не играет. Ради интереса проверю, но усложнять подпрограмму не хотелось бы. Alex пишет: Альберт, проект не открывается. При попытке его открыть, протеус виснет наглухо (7.5 SP3). Возможно дело всётаки в версии Если точно у меня 7,5 SP3 Build 7401 Можно через импорт click here но там запаришься переименовывать детали. Если есть желание попробуй. Заодно проверим совместимость импорта.Alex пишет: А почему .cof, а не hex ? А какая протеусу разница? Я толком и не знаю. Так и эдак хорошо

Alex: Импорт прокатил. Но динамика почему то медленно идёт. Индикаторы переключаются примерно раз в 2 сек. PS: Всё, разобрался. Частота в МК маленькая стояла.

Алексей: Photographer пишет: Сам пробовал? Ага сильно помогает...Photographer пишет: Если ускорить ещё - сегменты замерзают и высвечивается белиберда. Это от неправильного переключения в программе и от тормозов в протеусе... В программе сначала выключи разряды а потом выводи сегменты и все... Но если проц компа в протеусе будет сильно загружен, тебе ничто не поможет...

Алексей: Alex пишет: Но динамика почему то медленно идёт. Индикаторы переключаются примерно раз в 2 сек. А насколько загружен проц компа при симуляции? Alex пишет: PS: Всё, разобрался. Частота в МК маленькая стояла.

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

Alex: Алексей пишет: А насколько загружен проц компа при симуляции?При 4МГц PIC-а, 20% процессора компа.

Алексей: Alex пишет: При 4МГц PIC-а, 20% процессора компа. Эт нормально... У меня при правильном переключении всегда начинает работать динамика

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

Photographer: Алексей пишет: А насколько загружен проц компа при симуляции? Я до 8 МГц поднял кварц. Процессор 70% загруженАлексей пишет: В программе сначала выключи разряды а потом выводи сегменты и все... Я знаю... почему то не хочется такой драйвер делать, неоптимизированный в железе то без разницы. комплексую наверно из-за пары микросекунд Alex пишет: Исходничек бы Альберта глянуть Я же выложил. Да сделаю я сейчас гашение, проблем то...

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

Al_Kuz: Photographer пишет: Получился по моему не плохой програмный драйвер сдвиговых регистров на вывод. А чем лучше программный драйвер встроенного SPI?

Photographer: Al_Kuz пишет: А чем лучше программный драйвер встроенного SPI? Показывай. куда он встроен, где прячется. Счас приспособим.

Al_Kuz: Я имел ввиду, почему не используешь встроенный модуль SSP в режиме SPI?

Photographer: Потому что не знаю такой, вот и приходится самому выдумывать. О чём речь то? Что то вот нашёл в даташите на контроллер.... читаем.. Последовательный порт... наверно можно как то приспособить. Нужны подробности Аппаратный модуль, это хорошо. clock есть, дата есть. А где брать импульс копирования? Ну, один импульс и так сделаем. Есть где почитать чуть подробнее? или всё в даташите, достаточно?

Al_Kuz: Photographer пишет: О чём речь то? Речь о встроенном в PIC16F88 модуле SSP в режиме SPI, специально предназначенном для загрузки регистров и др. периферии.

Photographer: Да, да, спасибо, я уже разбираюсь/смотрю. о чём выше уже упоминал... Там в даташите достаточно инфы по этому модулю, или где нибудь ещё надо смотреть . я имею ввиду достаточность?

Al_Kuz: Вполне достаточно, но есть и на русском.

Photographer: На русском сылка есть под рукой? кинь если не трудно. Или подскажи где искать С английским сложнее, но куда деваться.

Al_Kuz: Всем известный "Справочник по среднему семейству" на микрочип.ru

Photographer: Не много го же в даташите. Но это даже лучше. Завтра попробую настроить. Al_Kuz, спасибо за дельную подсказку. с модулями по интересней будет. Al_Kuz пишет: Всем известный "Справочник по среднему семейству" на микрочип.ru А я до него ещё как то не добрался Он наверно даже где то на винте пылится Спасибо, почитаю. Эх, где бы ещё время найти на всё.

Photographer: Алексей пишет: Переставить одну команду чуть выше??? Не пойму тебя... Проблема в том, что у меня нет ни послесвечения, ни последовательного переключения. Все новые значения на 16 пинов выводятся одним импульсом на PORTB,SH Придётся лишний раз прогонять все данные через оба регистра. Только есть ли в этом смысл... Для Протеуса может и есть, но я этого смысла не вижу в упор. Может я что то не понял? Какую команду?

Alex: Photographer пишет: Придётся лишний раз прогонять все данные через оба регистра.Обязательно. Без этого никак. Photographer пишет: Только есть ли в этом смысл... Конечно есть. В железе возможно подсвечивание соседних индикаторов. Как говорится, надо делать правильно, а плохо само получится

Photographer: Alex пишет: Конечно есть. В железе возможно подсвечивание соседних индикаторов. Не в этом случае. Сам подумай. Все переключения идут по одному фронту. Все! По одному фронту во все 16 пинов-защёлок регистров сбрасывается новое состояние. Паразитного послесвечения там в принципе быть не может, ни практически, ни теоретически.

Al_Kuz: Я делал такую схему только с 74HC4094 и на 6 разрядов,загружал с помощью SPI в прерывании, побочного свечения не наблюдал.

Alex: Photographer пишет: Не в этом случае. Сам подумай. Все переключения идут по одному фронту. Все! По одному фронту во все 16 пинов-защёлок регистров сбрасывается новое состояние. Паразитного послесвечения там в принципе быть не может, ни практически, ни теоретически. Я не стал бы закрывать глаза на такие вещи. Ещё раз говорю, нужно делать правильно, а не надеяться на авось. Протеус в этом плане умный. Любой "перехлёст" он засвечивает на полную, дав знать что есть ошибка в программе.

Вячеслав: Интересует проект. Имею 2 паяльные станции: регулируемую самоделку с термопарой и Lukey936. Не особо сведущ в программировании, наблюдаю с интересом за событиями на этой ветке. Учусь. Proteus 7.7. В Preteus-e проект открылся. На выводе 12 м-схемы U6 не наблюдаю сторба. На выводах 1234 индикатора, соответственно, постоянные "1". Задал МК частоту 8 МГц. Появились бессистемные знаки на индикаторе и предупреждение о временнОм несоответствии АСD преобразовании. CPU load 20%.

Вячеслав: Вопрос по схеме. Можно ли? 1. В составе проекта числятся фантомы: Rotary_encoder1, Rotary_encoder3, клеммник 66222_. Зачем это? 2. У знака терминала Vcc ведь нетрудно указать текстом "Vcc". Читать схему было бы легче постороннему. С этим ладно. Какое назначение мотора с энкодером? Чуть подробнее пожалуйста, Альберт Фаатович! О симпатичном сетевом выключателе: приглядись к KCD1-104B-201N11EBA(зеленый) или RL3-3-11/N-H2GE/BK-P4. Они с встроенной неоновой подсветкой включения.

Photographer: Al_Kuz пишет: Я делал такую схему только с 74HC4094 и на 6 разрядов,загружал с помощью SPI в прерывании, побочного свечения не наблюдал. Это где, в железе не наблюдал? Всё правильно. Сделал SPI, получилось симпатичненько. asm HEX Alex пишет: Протеус в этом плане умный. Любой "перехлёст" он засвечивает на полную, дав знать что есть ошибка в программе. Вот фома не верующий. Покажи ошибку. Я даже специально для тебя убрал инвертортирующий ULN2803 и подключил напрямую, чтобы небыло задержки на этой микросхеме. Подключил регистр напрямую к индикатору. Всё то же самое. Медленно идёт, быстро - начинаются кракозябры, а потом индикация замерзает. Я прекрасно знаю про накладки при динамической индикации, но это не при таком подключении. Трудно признать что не прав? Есть какие то глюки в Протеусе. Возможно его можно настроить специально для этого случая. Но это займёт много времени и усилий. А спеца который смог бы это сделать быстро здесь нету. Скорее всего надо заменить индикатор.... и настраивать его... дальше тупик, я не знаю. Короче всё, хватит. Работает и ладно. В железе будет работать идеально. Вячеслав пишет: На выводе 12 м-схемы U6 не наблюдаю сторба. Там один импульс.... как бы сказать, на 10 000 машинных тактов(циклов). Так что встречается редко. Смотри в программе. Он идёт сразу после загрузки всех данных в оба регистра. Вячеслав пишет: На выводах 1234 индикатора, соответственно, постоянные "1". Не понял. Индикация то идёт при частоте 100 Khz ? Вячеслав пишет: Задал МК частоту 8 МГц. Появились бессистемные знаки на индикаторе и предупреждение о временнОм несоответствии АСD преобразовании. CPU load 20%. При частоте больше 1 Mhz пока не получается. Так что пока терпим/тестируем на 100 Khz "ACD" это что? ADC в порядке. на любой частоте в железе будет работать. Задержка есть, флаг проверяется. Вячеслав пишет: 1. В составе проекта числятся фантомы: Rotary_encoder1, Rotary_encoder3, клеммник 66222_. Зачем это? Клемник? Я наверно его уже выкинул А энкодер из того что мне доступно в моей версии, не до жиру. В принципе есть дополнительные библиотеки. Но пока этот устраивает. Я не статью пишу, это рабочий вариант, черновой. Выкладывайте с исправлениями, если что, помогайте, Вячеслав пишет: 2. У знака терминала Vcc ведь нетрудно указать текстом "Vcc". Пишите, исправляйте выкладывайте, как вам удобно так и делайте.... Пока одни пустые советы со всех сторон. За исключением про SPI от Al_Kuz. За что ему и спасибо ещё раз Вячеслав пишет: О симпатичном сетевом выключателе: приглядись к KCD1-104B-201N11EBA(зеленый) или RL3-3-11/N-H2GE/BK-P4. Они с встроенной неоновой подсветкой включения. Первый посмотрел, а второго не нашёл в инете. Хрошо бы ссылки или картинки выкладывать. А то перерыл всё и без толку. И чуть чуть опоздали. Сегодня купил вот такие синий и красный И ещё разъёмы компьютерные, простые и один с предохранителем и с выключателем. Увеличить Теперь думаю вот. Зачем мне эта штука. Всё таки выключатель хотелось бы на лицевой панели. Отложу его пока, может ещё и пригодится.

dosikus: Photographer пишет: Медленно идёт, быстро - начинаются кракозябры, а потом индикация замерзает. В свойствах индикатора уменьшить время .

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

Alex: Photographer пишет: Вот фома не верующий. Покажи ошибку.Да нет ни какой ошибки, Альберт. Всё нормально Photographer пишет: Я даже специально для тебя... Да не надо для меня ничего делать. Просто сделай так, как тебе посоветовали. И всё Photographer пишет: Трудно признать что не прав? В чём ? В том, что нужно гашение ? Неужели трудно его сделать ? Пропадут у тебя эти кракозябры сразу....

Al_Kuz: Photographer пишет: Это где, в железе не наблюдал? Да на макетке, т.е. в железе.

Photographer: dosikus пишет: В свойствах индикатора уменьшить время . Я верю, что можно настроить, но не всё так просто. Это не помогает. крутил от 1us до 1s И другие настройки крутил в System / Set Animation...... MAZ пишет: Не понятно, в версии Протеуса? И зачем вообще в конструкции энкодер? Можно переменным резистором обойтись. Да, в этой версии других энкодеров нету. Есть библиотеки. Но разбираться не охота. Потом ещё думать придётся о совместимости. Пока так устраивает. Переменный резистор не хочу. Энкодеры всё равно нужны будут, а тут ещё на нём и кнопочка есть, на реальном Alex пишет: В чём ? В том, что нужно гашение ? Неужели трудно его сделать ? Пропадут у тебя эти кракозябры сразу.... Посмотри по схеме. Какое там может быть гашение? Возможно даже с гашением протеус перестанет глючить, вполне возможно. Но тогда это будет реальный глюк. Это не та динамическая индикация, когда надо отключить сегменты, а потом переключиться на другой разряд. Там действительно есть накладка не воспринимаемая глазом, но видимая на осциллографе и в железе, и в Протеусе. В этом случае этой процедуры просто нету. Ни в железе, ни теоретически. И ни один осциллограф не покажет накладки. Только Протеус может ступить, но протеус, это инструмент и очень сложный. И его наверняка можно настроить для этого случая. Я устал повторять одно и то же. Я не могу сделать правильнее. Я могу только попортить алгоритм так, чтобы Протеус не глючил. Но в железе придётся восстановить, как есть сейчас. Сделать не трудно, просто скажи что надо подкорректировать программу, чтобы протеус не глючил. А потом восстановишь. С этим я ещё смогу смириться.

Alex: Photographer пишет: Сделать не трудно, просто скажи что надо подкорректировать программу, чтобы протеус не глючил. Конечно. Это я и имел ввиду. Вопрос же изначально был о глюке индикации в протеусе. Тебе посоветовали, ты стал громко кричать То что в железе возможны засвечивания, это да, я ступил При таком подключении их не будет.

Photographer: Ладно, попробую сделать антиглючный вариант. Только бы потом не запутаться. Но это уже только завтра.......



полная версия страницы