|
Электроника схемы, устройства, справочники и т.п. |
|
Опции темы | Поиск в этой теме | Опции просмотра |
06.02.2014, 21:24 | #72 |
новичок
разбирающийся
Регистрация: 22.10.2013
Адрес: Владимирская обл.
Сообщений: 207
Вес репутации: 11 |
Да , много путей программирования и по какому пойти вопрос .
Я программирую в среде Alhoritm Builder сокращенно (АВ) Лично для меня без полного образования , с тугой памятью и полным отсутствием знаний английского казалось неосуществимой мечтой. Пока дергался в течении пары лет по разным самоучителям так забил непонятной информацией голову что думал бесполезно все . Но на самом деле оказалось все довольно просто . Думаю сначала нужно определиться в какой среде программировать будете , и только ее и изучать пока. И еще очень важно понять как он мк вообще работает, по простому - с каждым тактом генератора контроллер выполняет одну команду которую ему Вы написали , и вот так двигаясь по всей написаной программе с каждым тактом он и шагает , дойдя до конца возращается в начало и так по кругу. В (АВ) насколько помню всего набор из 130 команд . Некоторые команды исполняются за несколько тактов . Добавлено через 4 минуты Вот пример написания программы мигания светодиодами в АВ http://www.ekits.ru/published/public...on1-video.html Добавлено через 4 минуты Таким программатором пользуюсь http://www.ekits.ru/index.php?productID=2123 |
06.02.2014, 21:31 | #73 |
Ёж (технобомж)
|
У меня в наличии есть несколько pic16f73
--остались с одного проектика. программатор к ним бывает простейший на ком порт, работает он нормально. Сам программатор остался в Минске. я туда уже давно не ездец. Неплохо представляю архитектуру и работу I8080 и Z80 , когдато помнил их машинные коды, чтоб писать прямо в них, минуя написание на ассемблере. надеюсь те знания и понимания помогут разобраться и в микропроцессорах. Но с тех пор много воды утекло, башка отупела и поржавела. Вот теперь думаю : с чего бы стартануть. А хочется для начала сделать простой MPPT для солнца.
__________________
73 ! |
06.02.2014, 22:10 | #74 |
новичок
разбирающийся
Регистрация: 22.10.2013
Адрес: Владимирская обл.
Сообщений: 207
Вес репутации: 11 |
У меня потихоньку желание поюзать STM контроллеры просыпается - питание низкое , скорости бешанные , куча периферии .
983, Так вот выбираем путь и поехали . У меня нет сом порта в компе и поэтому юсб программатор взял . Надо видео снять пожалуй для наглядности . Чего показать , может как ШИМ запускается в АВ ? |
07.02.2014, 20:39 | #76 |
Ёж (технобомж)
|
Это здОрово !
Только наверно есть смысл не пересылать сам, прошитый контроллер, а, по возможности совместно, написать код прошивки, и прошивать уже на местах -- всё равно программатор будет нужен полюбому. А алгоритм должен получиться -- проще некуда :
Вот и всё. Ток, истинное его значение, собственно и не нужно : достаточно просто получать значения из АЦП и тупо сравнивать его с замеряным в предыдущем цикле и получить знак результата сравнения. Могу попытаться написать более конкретно на javascript -- он по синтаксису и прочим заморочкам очень похож на C, портировать с него на С не должно составить особого труда ( а то и вообще никакого ))). Дальше можно развить тему, добавить индикацию, сбор статистики, слежение за режимом заряда аккумулятора, связь с компом и т. д.
__________________
73 ! |
07.02.2014, 21:30 | #78 |
Ёж (технобомж)
|
jeriho, напряжение в этом , начальном варианте, вообще не хочу пока мерять.
И ток не переводить в амперы -- пущай пока будет в своих внутрипроцессорных единицах измерения. Для поиска точки максимальной мощности и удержания в ней (точнее скакания вокруг неё ))) этого должно быть вполне достаточно. Вот если делать уже индикацию, сбор статистики, то тут уже надо красиво преобразовывать полученные значения, как тока ( токов) , так и напряжения ( напряжений). Но чтоб заработало, думаю, для начала, надо откинуть всё дополнительное и оставить только необходимое. Добавлено через 5 минут а и не знаю. Но скорее всего целочисленные умножение и сложение всё же меньше поедят ресурсов. чем условный переход, по крайней мере в древних интелах , помнится, было именно так. К тому же там, где нежелательно, чтобы время выполнения фрагмента кода могло быть разным, в зависимости от направления ветвления, обычно старалить по возможности обойти все ветвления, заменив их альтернативными вариантами, хотя, сейчас, в современных микроконтроллерах, возможно этим и не нужно уже заморачиваться, не знаю.
__________________
73 ! |
07.02.2014, 21:47 | #79 |
новичок
разбирающийся
Регистрация: 22.10.2013
Адрес: Владимирская обл.
Сообщений: 207
Вес репутации: 11 |
Пишу вообще на другом языке , немного поверхностно понимаю Си . Но тебя понял .
Напишу и выложу hex-файл . Но тогда по другому можно сделать ? Типа "собери сам" . Схема простейшая будет - ЖК дисплей , Два входа для замера напряжения , и один для замера тока. Один двух тактный ШИМ для подключения баласта . Один двух тактный ШИМ на DC-DC. (Можно добавить еще ШИМ однотактный для "повышайки") Три или четыре кнопки управления . В меню пользовательских настроек будет - "выбор напряжения срабатывания баласта" " выбор двухтактные ШИМы или однотактныйе" и отдельное меню "настройки МППТ" Тоесть сам уже будеш решать какие преобразователи ставить и т.д.. Добавлено через 10 минут В атмегах есть аппаратное умножение и сложение , в Тинях (с которыми работал ) умножения нет , приходится мудрить . Но это просто - складываеш нужное умножить число столько раз на сколько нужно умножить и все . Для деления принцип тотже почти . |
07.02.2014, 22:01 | #80 |
Ёж (технобомж)
|
Напряжение срабатывания балласта хочу со временем сделать похитрее : пока напряжение на аккумуляторе не достигло 14,8 балласт не срабатывает, по достижению этого напряжения порог срабатывания балласта автоматически устанавливается на 13,9 ( буфернфй режим)
При снижении напряжения на аккумуляторк ниже 12,3 В либо длительном ( несколько часов) отсутствии заряда от СБ ,вновь устанавливается порог на 14,8 Соответственно для АГМ и ГЕЛЬ можно выставлять на 0,1 -- 0,2 В меньше, чем для негерметичных. А выбор двухтактный или однотактный шим, чёто боязно в менюху запихивать, по мне, так можно там и отображать его состояние, но при наличии свободных ног, всё же лучше устанавливать джемпером. ( от греха подальше ))) Да, кстати, умножить на 2 -- решается сдвигом на 1 разряд. очень быстрая и ненапряжная команда, в некоторых процессорах не требует загрузки из памяти или РОН в АЛУ, и потом обратно, и может выполняться прямо в РОН. saschke, а на чём пишешь ?
__________________
73 ! Последний раз редактировалось 983; 07.02.2014 в 22:12. |