Открытый проект универсального зарядника

Sergey87

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

8бит против 32, 32МГц против 72.
У кортекса есть CAN, USB, 2АЦП, даже Ethernet, если хочется.
У атмела и близко нет такой периферии, при примерно равной цене.

Единственный недостаток - нужен программатор под него.

Причём контроллеры на ядре кортекс М3 выпускает несколько фирм, а не одна, как в случае с атмелом, отсюда и ценовая политика нормальная.

Да и при чём тут 8 баксовый кортекс и пентиум 3. 😃

sht0p0r

это в вас максимализм проснулся, 😃 никто ниначто не молится, есть субъективные предпочтения и объективные причины. просто этот конкретный у меня есть и есть задачка поднего.
аналогичные по параметрам и цене.
atmel.com/products/AVR/uc3.asp?family_id=607&sourc…
www.microchip.com/stellent/idcplg?IdcService=SS_GE…

извечные споры: пентиум - атлон, радеон - гефорс…

связь такая же как и stm в контксте проекта на базе AVR. наверно только 8 баксов.
он тоже кстати 32 бита есть математический сопроцессор, и гигагерц частоты 😃
эзернет и юсб поддерживает, только есть один недостаток - под него нужен комлект мостов.

Sergey87

Ну может и максимализм, потому как круче контроллера я ещё не видел 😉

Про необходимую для этого миграцию на другую платформу я конечно понимаю.

У AVR32 кстати нет аппаратного деления, мелочь, а неприятно.

titan777
AlexN:

Полная принципиальная схема зарядного устройства RC-Power BC6 (с непринципиальными отличиями повторяет схемы Imax B6, Turnigy Accucel-6, GT Power A-6, Mystery B6).
Дорисованы ЖКИ и USB-порт (оставшийся в прошлый раз компаратор работает на него).

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

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

AlexN

Я в программировании не силён - прошивку писать не пробовал.

Русинов_Сергей
titan777:

Но с менюшкой думаю еще ооочень буду долго возиться

Там-то какие проблемы???
Пишите под операционку или без неё?

R2D2

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

Главное определиться с тем как выглядеть будет ваша менюшка в принципе.

И кстати могу провести небольшое обучение Си и программированию чтоб народ не боялся программирования
и спокойно ориентировался в коде.

P.S. Дурацких вопросов не бывает, бывают часто повторяющиеся.

Lucky_100
R2D2:

И кстати могу провести небольшое обучение Си и программированию чтоб народ не боялся программирования и спокойно ориентировался в коде.

это интересно.

R2D2

Ага! Сами напросились!

Урок №1 (уверенность в собственных силах)

  1. Я не маразматик!
  2. Программирование придумали ради удобства, чтобы не повторять одно и тоже, а заставить это делать программу.
  3. Старались сделать максимально просто, значит я пойму или не постесняюсь спросить.
  4. Непонятные слова к программированию отношения не имеют. Всегда любое непонятное слово можно заменить на 2 понятных.
  5. Чтобы не засорять красивый русский язык, программирование ведется на сушеном английском языке, чтоб лаконичнее изъясняться.
  6. Чтобы освоить программирование в целом, необходимо знать всего несколько иностранных слов. Также как все что есть на земле можно объяснить тремя объектами (протоном, нейтроном, электроном) и четыремя силами (сильные, слабые, электромагнитные, гравитационные)
  7. Все сложное можно разбить на много простых частей и потом разделаться с ними с каждой по отдельности.
  8. Если некоторые простые части похожи друг на друга, то их можно выкинуть и оставить одну. От этого кажущаяся сложность уменьшается.
  9. Из чего я делаю вывод, что программирование это очень просто.
sht0p0r

как минимум одному помог вспомнить то, что прочн забыл и/или никогда и не знал.
спасибо.
5 исключение “1с”
10 качественное программирование это результат освоения 2^9 пунктов выше + чтение инструкции.
еще раз СПАСИБО.

Lucky_100
R2D2:

И кстати могу провести небольшое обучение Си и программированию

Может в отдельную тему вынести?
С удовольствием буду учиться.

sht0p0r

программирование МК на С автор Шпак. есть в дежавю формате качайте читайте спрашивайте.

titan777
R2D2:

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

Ваши исходники, это здесь? avrcpp.narod.ru/zu17/zu.html
Эти уже изучаю …
Или я что то пропустил, здесь в теме видел только готовые прошивки без исходников.

R2D2

Это будет не совсем универсальное обучение. Это скорее объяснение моих исходников, попутно объяснение Си и ответы на вопросы по проге.

Исходники это сам текст программы с коментариями http://avrcpp.narod.ru/zu17/zu.zip

Урок №2 (общий взгляд):

  1. Мы сделали железяку с процессором, т.е. требуется программа. Иначе работать не будет.
  2. Необходимо в общих чертах представлять себе как работает процессор. Это позволит нам выбрать язык программирования и аккуратно его использовать.
  3. Необходимо в общих чертах сформулировать принцип действия нашего ЗУ вцелом. Сколько времени тратится на какие функции. Что главное, что второстепенное. Помнить порядок значений, скоростей, времени выполнения.
  4. Общую картину все время держим в голове и каждое принятое решение прикладываем к картине на предмет совместимости. Это позволит нам избежать противоречивых решений или даже излишней работы, ведущей в тупик. Но конечно бывает всякое.

ATMEGA32 - это целый компьютер в одном флаконе. Внутри него есть основные составляющие любого компьютера:
а) Процессор (исполнитель программы)
б) Память (хранилище программы) ОЗУ=Оперативное Запоминающее Устройство, ПЗУ=Постоянное Запоминающее Устройство
в) Порты ввода-вывода (воздействие на внешний мир и получение информации из внешнего мира)

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

Еще одно обобщение (без шуток):
Все программы всего мира делают одно и тоже:
а) считывают данные из памяти (или портов ввода/вывода) в процессор
б) выполняют арифметические действия
в) записавают результат в память (или порты ввода/вывода)

Еще одно обобщение: Мы люди имеем представление обо всем в виде образов, многие образы обозначены словами, слова состоят из букв. Буквы перенумерованы например 1 это “А”, 2 это “Б” и т.д. Если мы посчитаем сколько всего знаков нам надо, включая буквы большие и маленькие, знаки препинания, цифры и иностранные английские буквы и всякие простенькие знако-символы, то выйдет около 200 штук. Выходит весь мир и все в нем можно закодировать цифрами. В десятичной системе цифр 10 штук, а в двоичной 2 штуки - 0 и 1. Если мы перейдем в схемные обозначения, то 0 и 1 это 0 вольт и +5 вольт внутри компьютера. И все что происходит в компьютере - это меняются напряжения в ячейках памяти с 0 на 5 и наоборот. Так живет программа внутри компа, инета, wifi, yota, mts, megafon и т.д.

Именно так создается картина мира в компьютере в виде цифр 0 и 1 и описывает ВСЕ.

msv

Антон, у Вас явный талант к публицистики! И хотя сам проект мне не интересен и с Cи уже лет 25 как дружу, но теперь буду заглядывать в эту ветку ради того что бы почитать такие замечательные обобщения…

R2D2

Заодно и прошивку заново перепишем и разберемся как пишут новые прошивки.

Урок №3 (Энергия для работы)

Да накопилось что сказать и в основном не про Си говорить хочется. Большая часть всех проблем всех людей в недостатке “духовных” или “психологических” сил. Любой человек может сделать ВСЕ, что захочет, и даже такую фигню как зарядное устройство, НО нарушение ПРАВИЛ ЖИЗНИ растрачивает все силы людей и они пребывают в низко-энергетическом состоянии, и ни на что сил и времени не хватает. Поэтому приходится подбадривать и концентрировать на ПРАВИЛЬНОМ подходе (образе) действий (мыслей).

Мы - мужики пребываем в иллюзии, что есть сила, ум, удача и труд, и этим все определяется, а всякие непонятки типа “чувств”, “снов”, “настроения” и т.д. это все ерунда.

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

Вобщем все давно сказано про правила жизни. Научитесь соблюдать эти правила, получите гораздо больше чем 1 000 000 000 000 000 000 Евро.

(Куда правильно тратить силы)

  1. Правильно выбрать цель.
  2. Делать маленькие шаги к цели.
  3. Терпение, но не переусердствуй. Утро вечера мудреннее.
  4. Напряжение, но не перенапряжение.
  5. Читай и думай тем, что у тебя есть.

(Где экономим силы)

  1. Не завидуй.
  2. Не злись.
  3. Не доказывай что “не верблюд”. Вообще ничего не доказывай. Есть обмен информацией и поиск истины. Все остальное - растрата времени жизни.
  4. Не ври, не пустоболтовняй.
  5. Не ругайся матом и шахом.
  6. Не думай про других плохо. И не воображай про себя. Даже Ньютон и Эйнштейн не все знаали про физику и делали ошибки в формулах.
  7. Не делай другим того, что не хотел бы для себя…
  8. Не стремись к власти и деньгам.
  9. Не стремись к саморазрушительным удовольствиям и страстям.
    Вот те дыры через которые уходят все силы и приходит уныние, злоба, бессилие, ненависть, плохое настроение.

(Откуда берем силы)

  1. Я хочу улучшить весь мир.
  2. Главная моя мотивация и сила - ЛЮБОВЬ ко всему миру, даже если я умру завтра от удара по голове зарядным устройством.
  3. Уверенность (ВЕРИТЬ в результат даже если точно знаешь, что никогда его не получишь), главное что цель выбрана правильно. Неважно что делаешь, если делаешь это ради мира.
  4. Отдавай. Когда отдаешь, то получаешь нечто, что останется со мной и после смерти. Когда берешь, то это сломается, истлеет от старости, украдут, будет требовать ТО-обслуживания, бензина и внимания и ежемесячной оплаты.

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

P.S. Те, кто не могут выдержать такой откровенности, просто считайте, что у меня крыша поехала, в связи с переходным возрастом: мне 40 скоро стукнет.

R2D2

Урок №4 (Как получить информацию)

Еще немного “лирики” перед потоком сухой информации: В тот момент, когда кто-то мне что-то объясняет, у меня в голове начинается лихорадка мыслей. Одновременно происходят следующие процессы:

(хорошие!!!)

  1. Распознавание слов и фраз извлечение смысла. Открытое незамутненное, детское восприятие.
  2. Возникновение образов и ассоциаций, открытие близких разделов в памяти.
  3. Недоверие, проверка на ошибочность по собственному опыту.
  4. Запоминание идеи вцелом, запоминание деталей.
  5. Возникает (или нет) эмоциональный интерес, который усиливает (ослабляет) мощь запоминания и активности ума вцелом.
  6. Запускаются процессы переоценки моего опыта с учетом инфы и построение схем на будущее новых возможностей.
  7. Ночью во время сна происходит детализированная переработка, возможно полное включение инфы в собственный опыт. “Присвоение” инфы.

(плохие!!!)

  1. Если информация жизненно важная (страх за жизнь, суета), то начинается цепляние и проглатывание в суете с потерей кусков.
  2. Оценка говорящего, нравится, не нравится, противный, занудный, зависть, гордыня (меня учить??!!), обида и прочие грехи полностью парализуют прием и усвоение инфы.
  3. Зашучивание, отсутствие серьезности, чрезмерная серьезность (вся наша жизнь игра).
  4. Перегруженность инфой, усталость.
  5. Спешка.
  6. Надевание масок и срывание масок, игры в заумников, субординация, научные звания, авторитетность.
  7. Чрезмерная околонаучная фантазия.
  8. Прокручивание собственного списка дел (ежедневной, ежесекундной жвачки которую жуют все)

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

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

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

R2D2

Урок №5 (Языки программирования):

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

Теперь рассмотрим это утверждение с разных сторон:

  1. Программы существуют с доисторических времен. Программы зашиты на генном уровне во всех животных и в человеке.

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

Однажды я задумался: А что собственно сделал (придумал) лично я? И не смог ответить на этот вопрос. Идеи я взял в инете, способы спросил у знающих людей и в книжках прочитал. Что такого сделал я? Перекомпоновал чужие идеи-программы, состыковал в другой последовательности, сделал несколько выборов что лучше что хуже - вот и все мое творчество, остальное только работа и напряжение. Выходит удел любого человека делать правильный выбор и прикладывать усилия. Результат - это дар мира. Он не зависит однозначно от меня. Я захотел играть на скрипке, в доску расшибся, но не смог, нет у меня слуха. Выходт результат не может быть оценкой моих стараний. Наивысшая оценка меня - это правильный выбор и усилие при выполнении. Так вот чем отличается свободная личность - человек от животнго.

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

Те люди которые говорят, что они свободны и поэтому имеют право сделать плохой выбор (украсть для себя, выпить стакан водки, нахамить, взять деньги в ущерб совести, власть ради безопасности и денег для своих, гордыня и впадание в прелесть) эти люди незаметно с каждым таким выбором изменяют внутреннее отношение к миру (мне позволено…) не потому что их Бог накажет, а потому что они изменили свое сознание, оно постепенно чернеет. и одновременно становятся зависимыми от удовольствий и грехов как от наркотика. Это подлинное рабство от удовольствий, рабство неправильного выбора, которое ведет к деградации, обессиливает, жестко привязывает человека к судьбе (которая определяется вещами и желаниями). Если я купил машину значит мне написано на судьбе ездить на заправку, проходить ТО, менять резину, стоять в пробках, портить воздух, переживать из-за царапин, думать о парковке, думать чтоб не украли. Купив машину, мой мозг и мое тело обеспечины занятостью и переживаниями на значительное время жизни. Ну вот меня опять понесло.

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

  2. Каждый процессор разговаривает только на своем языке (языке машинных кодов), поэтому программу надо дать процессору исключительно в машинных кодах и исключительно в тех машинных кодах которые он понимает. Процессоры INTEL8086 (IBM XT), Z80 (ZX SPECTRUM), MOTOROLA 6502 (APPLE или АГАТ) каждый понимают только свои машинные коды, потому что схемы процессоров разные.

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

Вот как выглядит ассемблер (не пытайтесь понять и не ищите смысла)

MOVE REGISTER, #100
ADD REGISTER, 3
IN A
OUT B,20
JMP #1000
JZ #200

Писать програму на ассемблере это всеравно что объяснять человеку какие мышцы (а их ~400 штук) надо напряч а какие расслабить для совершения прыжка.

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

  2. Я считаю, что оптимальное программирвание это знание ассемблера в общих чертах и работа на Си.

  3. Все остальные языки также разнятся как и машины, ктото более удобный, ктото более быстрый, ктото может только копать, ктото ездеет только задом. Язык Си может все. Для языка Си есть компиляторы (преобразователи) программы на Си в язык машинных кодов.

msv

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

Это уже имхо перебор… Не стоит определять свои ценности, как истинные - для других… Если, конечно, у Вас не цель создать ложу зарядникостроителей… Уж извините, но я “кормлю” семью, езжу на машине, занимаюсь кучей “хоббей” и между делом запускаю RC-самолетики и пишу программульки… Что делать- выпить 100г или сесть за комп решать мне… И в этом моя Зсвобода… Какой выбор и приоритеты “правильные”- философия явно не для этой темы…
ЗЫ Но раз даже меня, (хитрож-го прагматика) это задело, может для обывателя все и правильно иззложено.