~ 28 Dec 2008, 02:49
The birth of The Thing was delayed a little. I had the intent to design a simple DC motor controller. However, problem one, the PICKit2 programmer died (hail to Microchip who were nice enough to send me a free replacement), then, problem two, I had some trouble finding the right elements. Most of them I finally bought from Pulsator - DC motor (6V), relays, jack, etc. After the soldering iron kicked in, the demo board got a little overcrowded, but this was inevitable anyway:
The demo board is no longer bare...
...with the motor...
The design is a simple H-bridge, using four relays. The huge resistor from picture 1 stands on the way to the ground - it redirects some of the current to the A2D (Analog-to-digital converter), so I can measure how much current does the motor draw, respectively - how heavy it is loaded. I put those results on the LEDs for debugging purposes. You can watch the demo here.
You can see how, when the motor gets some load, the current raises (the LEDs show it in binary; they flicker a bit, but this is normal, since they are updated some 200 times a second. Indeed, I initially tried to average a quarter second worth of measurements, but the result looked quite dull).
Now that I can command the motor, I just need to find some more mechanical parts and learn the power-saving capabilities of my PIC... and The Thing will be ready... watch out.. IT Knows Where You Live (devil)
#1 by nemaproblem, posted on 3 Feb 2009, 15:49
Не разбрах PIC-ът кой е?
Коя среда за програмиране ползваш?
Мощният резистор много ме кефи, прилича на С2-10-2, Made in USSR
#2 by anrieff, posted on 3 Feb 2009, 19:45
PIC16F690 е процесорчето.
Средата е MPLAB.
Резисторът e 10 ома, даже може би е точно този, който си споменал - ще проверя, като се прибера :)
#3 by nemaproblem, posted on 4 Feb 2009, 17:22
Не знам, но на мен MPLAB ми се видя доста тежка за начало, че и след това.
Защо не опиташ PicBasicPro (PBP) в Microcode Studio? Просто е като фасул, но върши работа дори и за проекти със значителна сложност, има голям набор от вградени функции - SPI, I2C, USART, USB, LCD(HD44780 съвместим), X10 и т.н.
Последните версии на компилатора имат библиотека за работа с float.
#4 by anrieff, posted on 5 Feb 2009, 02:14
Ами честно казано, просто не съм пробвал нищо друго. Първоначално исках да науча асемблера, пък той се оказа лесен и напълно достатъчен за задачката, която в крайна сметка си поставих.
Иначе за резистора - точно C2-10-2 се оказа :)
#5 by nemaproblem, posted on 5 Feb 2009, 12:26
При всяко положение асемблерът е много полезно нещо, аз също го използвам
в процедурите за обработка на прекъсвания.
Ето, например, как изглежда програмка на пикбейсик за изменение (посредством програмен ШИМ) яркостта на светодиод, свързан към portB.0, по хармоничен закон:
;*****************************
; PIC16F84A, примерно
j var byte
led var PortB.0
slow con 16
output led
while 1
led = ~led
pauseus (127 + sin j) * slow
led = ~led
pauseus (127 - sin j) * slow
j = j + 1
wend
;*****************************
На мен така ми изглежда доста по-кратко и прегледно, отколкото на асемблер.
#6 by anrieff, posted on 5 Feb 2009, 17:21
Оо, определено :) Моя код ще настръхнеш като го видиш (макар, че - той е основно една голяма lookup таблица :) )
Иначе определено ще го погледна този пик бейсик, много по-добре изглежда. Мерси за инфото!
#7 by tok i jica, posted on 9 Feb 2009, 23:44
Какво точно искаш да направиш?
#8 by anrieff, posted on 10 Feb 2009, 00:00
Тайна :) Ще пиша, като го завърша :)
#9 by tok i jica, posted on 12 Feb 2009, 10:09
Не играеш честно :P Кажи поне има ли ESC :D
#10 by anrieff, posted on 16 Feb 2009, 00:55
Дори не знам какво е ESC :)
#11 by tok i jica, posted on 16 Feb 2009, 13:47
http://www.stefanv.com/rcstuff/escprimer.html
http://tehdevs.net/2007/11/03/diy-electronic-speed-controller/
Примерно :)
#12 by anrieff, posted on 16 Feb 2009, 22:29
Аха, разбрах какво имаш предвид. Не, нямам намерение чак да командвам моторчето с ШИМ, не ми трябва за проекта, а и както ползвам релета, не знам дали не би било вредно за тях да ги превключвам по много пъти в секунда.
Между другото, докато запоявах H-моста, първоначално направих един тест само с едно реле (исках да пробвам дали PIC-а е достатъчно мощен да го управлява). Запоих го, и го вързах, без да искам на пин C0, вместо на C4, както бях замислил първоначално. Програмата в PIC-а все още беше онази тестовата, със пулсиращите диодчета. Пин C0 е този към първия диод. Реално, това, което се получи, беше, че управлявах релето със ШИМ при честота към 3-4 килохерца. Горкото реле почна да жужи жаловито, усилвайки силата си в средата на цикъла, когато импулсите са най-широки. Направо като някакво говорителче беше. Не знаех, че може да се злоупотребява по такъв начин с релетата :D
#13 by tok i jica, posted on 10 Jun 2009, 11:37
Какво става с проекта, върви ли?
#14 by anrieff, posted on 11 Jun 2009, 18:30
Зарязал съм го до някой слънчев ден, че нямам никакво свободно време. Реших да добавя и някакво LCD дисплейче (нещо двуцифрено, най-стандартно), ще видим как ще стане.