Открытый проект универсального зарядника
К тому что атмел уже не самый лучший выбор, даже по цене.
И не стоит на него так молиться и восхищаться им.
8бит против 32, 32МГц против 72.
У кортекса есть CAN, USB, 2АЦП, даже Ethernet, если хочется.
У атмела и близко нет такой периферии, при примерно равной цене.
Единственный недостаток - нужен программатор под него.
Причём контроллеры на ядре кортекс М3 выпускает несколько фирм, а не одна, как в случае с атмелом, отсюда и ценовая политика нормальная.
Да и при чём тут 8 баксовый кортекс и пентиум 3. 😃
это в вас максимализм проснулся, 😃 никто ниначто не молится, есть субъективные предпочтения и объективные причины. просто этот конкретный у меня есть и есть задачка поднего.
аналогичные по параметрам и цене.
atmel.com/products/AVR/uc3.asp?family_id=607&sourc…
www.microchip.com/stellent/idcplg?IdcService=SS_GE…
извечные споры: пентиум - атлон, радеон - гефорс…
связь такая же как и stm в контксте проекта на базе AVR. наверно только 8 баксов.
он тоже кстати 32 бита есть математический сопроцессор, и гигагерц частоты 😃
эзернет и юсб поддерживает, только есть один недостаток - под него нужен комлект мостов.
Ну может и максимализм, потому как круче контроллера я ещё не видел 😉
Про необходимую для этого миграцию на другую платформу я конечно понимаю.
У AVR32 кстати нет аппаратного деления, мелочь, а неприятно.
Полная принципиальная схема зарядного устройства RC-Power BC6 (с непринципиальными отличиями повторяет схемы Imax B6, Turnigy Accucel-6, GT Power A-6, Mystery B6).
Дорисованы ЖКИ и USB-порт (оставшийся в прошлый раз компаратор работает на него).
Наткнулся на Вашу тему, а прошивку свою никто еще не пробовал написать?
Просто я тоже решил взять готовый зарядник (очень на Ваш похож), и написать прошивку. Куски уже написал - замер напряжений, заряд (удержание тока), с балансиром разобрался, замер каждой банки, разряд любой банки.
Но с менюшкой думаю еще ооочень буду долго возиться, может есть уже прошивки, скоммуниздить оттуда решения…
Я в программировании не силён - прошивку писать не пробовал.
Но с менюшкой думаю еще ооочень буду долго возиться
Там-то какие проблемы???
Пишите под операционку или без неё?
Спрашивайте по тексту что вам непонятно в моих исходниках. Перетаскивать можно целыми кусками там все модульно и легко перетаскивается.
Главное определиться с тем как выглядеть будет ваша менюшка в принципе.
И кстати могу провести небольшое обучение Си и программированию чтоб народ не боялся программирования
и спокойно ориентировался в коде.
P.S. Дурацких вопросов не бывает, бывают часто повторяющиеся.
И кстати могу провести небольшое обучение Си и программированию чтоб народ не боялся программирования и спокойно ориентировался в коде.
это интересно.
Ага! Сами напросились!
Урок №1 (уверенность в собственных силах)
- Я не маразматик!
- Программирование придумали ради удобства, чтобы не повторять одно и тоже, а заставить это делать программу.
- Старались сделать максимально просто, значит я пойму или не постесняюсь спросить.
- Непонятные слова к программированию отношения не имеют. Всегда любое непонятное слово можно заменить на 2 понятных.
- Чтобы не засорять красивый русский язык, программирование ведется на сушеном английском языке, чтоб лаконичнее изъясняться.
- Чтобы освоить программирование в целом, необходимо знать всего несколько иностранных слов. Также как все что есть на земле можно объяснить тремя объектами (протоном, нейтроном, электроном) и четыремя силами (сильные, слабые, электромагнитные, гравитационные)
- Все сложное можно разбить на много простых частей и потом разделаться с ними с каждой по отдельности.
- Если некоторые простые части похожи друг на друга, то их можно выкинуть и оставить одну. От этого кажущаяся сложность уменьшается.
- Из чего я делаю вывод, что программирование это очень просто.
как минимум одному помог вспомнить то, что прочн забыл и/или никогда и не знал.
спасибо.
5 исключение “1с”
10 качественное программирование это результат освоения 2^9 пунктов выше + чтение инструкции.
еще раз СПАСИБО.
И кстати могу провести небольшое обучение Си и программированию
Может в отдельную тему вынести?
С удовольствием буду учиться.
программирование МК на С автор Шпак. есть в дежавю формате качайте читайте спрашивайте.
Спрашивайте по тексту что вам непонятно в моих исходниках. Перетаскивать можно целыми кусками там все модульно и легко перетаскивается.
…
Ваши исходники, это здесь? avrcpp.narod.ru/zu17/zu.html
Эти уже изучаю …
Или я что то пропустил, здесь в теме видел только готовые прошивки без исходников.
да, эт сайт автора R2D2.
Это будет не совсем универсальное обучение. Это скорее объяснение моих исходников, попутно объяснение Си и ответы на вопросы по проге.
Исходники это сам текст программы с коментариями http://avrcpp.narod.ru/zu17/zu.zip
Урок №2 (общий взгляд):
- Мы сделали железяку с процессором, т.е. требуется программа. Иначе работать не будет.
- Необходимо в общих чертах представлять себе как работает процессор. Это позволит нам выбрать язык программирования и аккуратно его использовать.
- Необходимо в общих чертах сформулировать принцип действия нашего ЗУ вцелом. Сколько времени тратится на какие функции. Что главное, что второстепенное. Помнить порядок значений, скоростей, времени выполнения.
- Общую картину все время держим в голове и каждое принятое решение прикладываем к картине на предмет совместимости. Это позволит нам избежать противоречивых решений или даже излишней работы, ведущей в тупик. Но конечно бывает всякое.
ATMEGA32 - это целый компьютер в одном флаконе. Внутри него есть основные составляющие любого компьютера:
а) Процессор (исполнитель программы)
б) Память (хранилище программы) ОЗУ=Оперативное Запоминающее Устройство, ПЗУ=Постоянное Запоминающее Устройство
в) Порты ввода-вывода (воздействие на внешний мир и получение информации из внешнего мира)
Этого достаточно, чтобы описать все многообразие всего компьютерного мира от тетриса до глобальной сети компов всей земли вместе со спутниками.
Еще одно обобщение (без шуток):
Все программы всего мира делают одно и тоже:
а) считывают данные из памяти (или портов ввода/вывода) в процессор
б) выполняют арифметические действия
в) записавают результат в память (или порты ввода/вывода)
Еще одно обобщение: Мы люди имеем представление обо всем в виде образов, многие образы обозначены словами, слова состоят из букв. Буквы перенумерованы например 1 это “А”, 2 это “Б” и т.д. Если мы посчитаем сколько всего знаков нам надо, включая буквы большие и маленькие, знаки препинания, цифры и иностранные английские буквы и всякие простенькие знако-символы, то выйдет около 200 штук. Выходит весь мир и все в нем можно закодировать цифрами. В десятичной системе цифр 10 штук, а в двоичной 2 штуки - 0 и 1. Если мы перейдем в схемные обозначения, то 0 и 1 это 0 вольт и +5 вольт внутри компьютера. И все что происходит в компьютере - это меняются напряжения в ячейках памяти с 0 на 5 и наоборот. Так живет программа внутри компа, инета, wifi, yota, mts, megafon и т.д.
Именно так создается картина мира в компьютере в виде цифр 0 и 1 и описывает ВСЕ.
Антон, у Вас явный талант к публицистики! И хотя сам проект мне не интересен и с Cи уже лет 25 как дружу, но теперь буду заглядывать в эту ветку ради того что бы почитать такие замечательные обобщения…
Заодно и прошивку заново перепишем и разберемся как пишут новые прошивки.
Урок №3 (Энергия для работы)
Да накопилось что сказать и в основном не про Си говорить хочется. Большая часть всех проблем всех людей в недостатке “духовных” или “психологических” сил. Любой человек может сделать ВСЕ, что захочет, и даже такую фигню как зарядное устройство, НО нарушение ПРАВИЛ ЖИЗНИ растрачивает все силы людей и они пребывают в низко-энергетическом состоянии, и ни на что сил и времени не хватает. Поэтому приходится подбадривать и концентрировать на ПРАВИЛЬНОМ подходе (образе) действий (мыслей).
Мы - мужики пребываем в иллюзии, что есть сила, ум, удача и труд, и этим все определяется, а всякие непонятки типа “чувств”, “снов”, “настроения” и т.д. это все ерунда.
А вот и нет. Человек - это сложнейшее устройство. Непонятно как работает. Непонятно для чего. Мы научились врать себе, научились быть слепыми, мы все списываем на случайность, усталость и не хотим замечать себя, замечать что с нами происходит, как мы функционируем, в какую сторону правильно себя двигать.
Вобщем все давно сказано про правила жизни. Научитесь соблюдать эти правила, получите гораздо больше чем 1 000 000 000 000 000 000 Евро.
(Куда правильно тратить силы)
- Правильно выбрать цель.
- Делать маленькие шаги к цели.
- Терпение, но не переусердствуй. Утро вечера мудреннее.
- Напряжение, но не перенапряжение.
- Читай и думай тем, что у тебя есть.
(Где экономим силы)
- Не завидуй.
- Не злись.
- Не доказывай что “не верблюд”. Вообще ничего не доказывай. Есть обмен информацией и поиск истины. Все остальное - растрата времени жизни.
- Не ври, не пустоболтовняй.
- Не ругайся матом и шахом.
- Не думай про других плохо. И не воображай про себя. Даже Ньютон и Эйнштейн не все знаали про физику и делали ошибки в формулах.
- Не делай другим того, что не хотел бы для себя…
- Не стремись к власти и деньгам.
- Не стремись к саморазрушительным удовольствиям и страстям.
Вот те дыры через которые уходят все силы и приходит уныние, злоба, бессилие, ненависть, плохое настроение.
(Откуда берем силы)
- Я хочу улучшить весь мир.
- Главная моя мотивация и сила - ЛЮБОВЬ ко всему миру, даже если я умру завтра от удара по голове зарядным устройством.
- Уверенность (ВЕРИТЬ в результат даже если точно знаешь, что никогда его не получишь), главное что цель выбрана правильно. Неважно что делаешь, если делаешь это ради мира.
- Отдавай. Когда отдаешь, то получаешь нечто, что останется со мной и после смерти. Когда берешь, то это сломается, истлеет от старости, украдут, будет требовать ТО-обслуживания, бензина и внимания и ежемесячной оплаты.
Каждый человек из любого состояния разума и тела, (даже, если осталось жить несколько часов) может изменить свое направление на правильное, и жизнь резко изменится, и вы почувствуете на себе любовь всего мира. Это произойдет не сразу, потому, что много мы на себе камней носим, а когда так тяжко, то трудно почувствовать свежее дуновение ветерка.
P.S. Те, кто не могут выдержать такой откровенности, просто считайте, что у меня крыша поехала, в связи с переходным возрастом: мне 40 скоро стукнет.
Урок №4 (Как получить информацию)
Еще немного “лирики” перед потоком сухой информации: В тот момент, когда кто-то мне что-то объясняет, у меня в голове начинается лихорадка мыслей. Одновременно происходят следующие процессы:
(хорошие!!!)
- Распознавание слов и фраз извлечение смысла. Открытое незамутненное, детское восприятие.
- Возникновение образов и ассоциаций, открытие близких разделов в памяти.
- Недоверие, проверка на ошибочность по собственному опыту.
- Запоминание идеи вцелом, запоминание деталей.
- Возникает (или нет) эмоциональный интерес, который усиливает (ослабляет) мощь запоминания и активности ума вцелом.
- Запускаются процессы переоценки моего опыта с учетом инфы и построение схем на будущее новых возможностей.
- Ночью во время сна происходит детализированная переработка, возможно полное включение инфы в собственный опыт. “Присвоение” инфы.
(плохие!!!)
- Если информация жизненно важная (страх за жизнь, суета), то начинается цепляние и проглатывание в суете с потерей кусков.
- Оценка говорящего, нравится, не нравится, противный, занудный, зависть, гордыня (меня учить??!!), обида и прочие грехи полностью парализуют прием и усвоение инфы.
- Зашучивание, отсутствие серьезности, чрезмерная серьезность (вся наша жизнь игра).
- Перегруженность инфой, усталость.
- Спешка.
- Надевание масок и срывание масок, игры в заумников, субординация, научные звания, авторитетность.
- Чрезмерная околонаучная фантазия.
- Прокручивание собственного списка дел (ежедневной, ежесекундной жвачки которую жуют все)
Вот как много происходит в голове. Очень многие люди ничего этого не замечают, а ясно видят в своем уме пивка с чипсами и презрение с недовольством и оскорбление к собеседнику в виде одного неопределенного ощущения в желудке. Эти люди биороботы, которыми управляют инстинкты и удовольствия, они псевдо-свободны (потому что могут попить пивка или водки), но на самом деле полностью зависимы и порабощены своим телом и развращенным духом.
Мы с Вами только отчасти такие, но мы исправимся. Мы думающие мы думаем про смысл и мы можем делать не только ради удовольствия денег и славы, а ради любви к другим людям. И мы можем отдавать бесплатно, получив в качестве платы момент понимания, благодарность, радость другого, спасибо или облегченный вздох. Наше узнавание информации незамутнено, чисто, неспешно, непридирчиво, простительно ошибкам, снисходительно, помогательно, одобрятельно, легко. И поверьте мне все нужные люди найдутся и все необходимое найдется само и поможет вам, а столкновение с неприятными людьми не запачкает, а лишь укрепит вашу уверенность в желании помочь им и они растаят и сбросят иголки и маски.
Итак чтобы все усвоить: расслабляемся, очищаем мозг от суеты, немного понижаем серьезность, проникаемся уважением и благожелательностью к собеседнику как к самому себе и с легкостью солнечной улыбки слушаем, не пытаясь запомнить.
Урок №5 (Языки программирования):
Все языки программирования суть одно и тоже - донести до исполнителя кратко, однозначно, понятно: Что необходимо делать.
Теперь рассмотрим это утверждение с разных сторон:
- Программы существуют с доисторических времен. Программы зашиты на генном уровне во всех животных и в человеке.
Инстинкты - это и есть программы. Мы сами на 99 процентов запрограммированы и действуем по программе. Практически все что делает человек делается по аналогии, как научили родители, школа, институт, двор, бандитская шайка, кружок творчества, реклама, инструкция по применению.
Однажды я задумался: А что собственно сделал (придумал) лично я? И не смог ответить на этот вопрос. Идеи я взял в инете, способы спросил у знающих людей и в книжках прочитал. Что такого сделал я? Перекомпоновал чужие идеи-программы, состыковал в другой последовательности, сделал несколько выборов что лучше что хуже - вот и все мое творчество, остальное только работа и напряжение. Выходит удел любого человека делать правильный выбор и прикладывать усилия. Результат - это дар мира. Он не зависит однозначно от меня. Я захотел играть на скрипке, в доску расшибся, но не смог, нет у меня слуха. Выходт результат не может быть оценкой моих стараний. Наивысшая оценка меня - это правильный выбор и усилие при выполнении. Так вот чем отличается свободная личность - человек от животнго.
Сделав единственно правильный выбор я как бы оказываюсь зависимым и рабом этого выбора. Я хочу быть хорошим и хочу делать правильный выбор - это мое рабство. Я раб правильного выбора. Я ошибаюсь, спотыкаюсь, но все равно ищу правильный выбор и делаю его несмотря на то что это не выгодно. Такой способ жизни толкает человека на бесконечное совершенствование и не смотря на рабство, это и есть свобода. Свобода которая разовьет мое тело и душу и позволит выйти на новый уровень.
Те люди которые говорят, что они свободны и поэтому имеют право сделать плохой выбор (украсть для себя, выпить стакан водки, нахамить, взять деньги в ущерб совести, власть ради безопасности и денег для своих, гордыня и впадание в прелесть) эти люди незаметно с каждым таким выбором изменяют внутреннее отношение к миру (мне позволено…) не потому что их Бог накажет, а потому что они изменили свое сознание, оно постепенно чернеет. и одновременно становятся зависимыми от удовольствий и грехов как от наркотика. Это подлинное рабство от удовольствий, рабство неправильного выбора, которое ведет к деградации, обессиливает, жестко привязывает человека к судьбе (которая определяется вещами и желаниями). Если я купил машину значит мне написано на судьбе ездить на заправку, проходить ТО, менять резину, стоять в пробках, портить воздух, переживать из-за царапин, думать о парковке, думать чтоб не украли. Купив машину, мой мозг и мое тело обеспечины занятостью и переживаниями на значительное время жизни. Ну вот меня опять понесло.
-
Итак процессор это машина - железяка он строго выполняет программу не ошибаясь никогда, поэтому если проц работает не так, значит это ваша ошибка.
-
Каждый процессор разговаривает только на своем языке (языке машинных кодов), поэтому программу надо дать процессору исключительно в машинных кодах и исключительно в тех машинных кодах которые он понимает. Процессоры INTEL8086 (IBM XT), Z80 (ZX SPECTRUM), MOTOROLA 6502 (APPLE или АГАТ) каждый понимают только свои машинные коды, потому что схемы процессоров разные.
-
Ассемблер и машинные коды это почти одно и тоже. Язык ассемблера это самый простой и самый сложный язык на свете, это тот язык который не исчезнет, пока существуют процессоры. На ассемблере писать очень сложно в смысле трансформации общей идеи программы в элементарные команды, и одновременно очень легко в смысле понимания самих команд (элементарнее этих команд ничего не бывает). Видов команд ассемблера как правило бывает очень мало: команды чтения и записи в память, команды чтения и записи в порты ввода вывода, команды стека (работа со сдвиговой памятью), команды безусловных и условных переходов, арифметические команды.
Вот как выглядит ассемблер (не пытайтесь понять и не ищите смысла)
MOVE REGISTER, #100
ADD REGISTER, 3
IN A
OUT B,20
JMP #1000
JZ #200
Писать програму на ассемблере это всеравно что объяснять человеку какие мышцы (а их ~400 штук) надо напряч а какие расслабить для совершения прыжка.
-
Язык Си более высокого уровня. На нем гораздо легче и понятнее писать программы. Язык Си может все, что может ассемблер. Язык Си почти такойже быстрый как и ассемблер. За 20 лет писания на Си я так и не исчерпал всех его возможностей и многого попрежнему не знаю, т.к. самоучка.
-
Я считаю, что оптимальное программирвание это знание ассемблера в общих чертах и работа на Си.
-
Все остальные языки также разнятся как и машины, ктото более удобный, ктото более быстрый, ктото может только копать, ктото ездеет только задом. Язык Си может все. Для языка Си есть компиляторы (преобразователи) программы на Си в язык машинных кодов.
Те люди которые говорят, что они свободны и поэтому имеют право сделать плохой выбор … Купив машину, мой мозг и мое тело обеспечины занятостью и переживаниями на значительное время жизни.
Это уже имхо перебор… Не стоит определять свои ценности, как истинные - для других… Если, конечно, у Вас не цель создать ложу зарядникостроителей… Уж извините, но я “кормлю” семью, езжу на машине, занимаюсь кучей “хоббей” и между делом запускаю RC-самолетики и пишу программульки… Что делать- выпить 100г или сесть за комп решать мне… И в этом моя Зсвобода… Какой выбор и приоритеты “правильные”- философия явно не для этой темы…
ЗЫ Но раз даже меня, (хитрож-го прагматика) это задело, может для обывателя все и правильно иззложено.
+1