Announcement
Collapse
No announcement yet.
felezjoo PI(the best pulse induction metal detector that I made until now)
Collapse
X
-
Originally posted by ivconic View PostThere is a mismatch between schematic and pcb in original files.
LCD pins 7,8,9 and 10 are connected to GND in schematic, while on pcb those are not connected.
Look and compare those:
[ATTACH]33757[/ATTACH][ATTACH]33758[/ATTACH]
Comment
-
Originally posted by eclipse View PostI haven't connected those pins on my board and it works fine (only pins 1-6 and 11-16)
Ok, i just updated my adaptation for Arduino UNO Rev 3 board. You may see it bellow in attached pics.
Also i attached more pics on how it is looking, menus, options etc...
Right now it is 2.4 version inside. Later i will flash ver1.5 and latest v3.0 (those i have only by now).
Wise guy from Persia implemented counter which is limiting use of code, ha! Naughty, naughty!
Now... for those having Arduino UNO boards; be free to wire it up according to my adaptation, it will work.
Comment
-
Just flashed other versions and tested them.
Alright. Those are working also.
Still there is counter, though ver1.5 is more generous, giving us more power-up cycles than other versions.
For personal use this is not an issue, small ISP header on md pcb will solve it for good.
...
There is pretty annoying alert for low battery state, since i am powering it only from 5v from Arduino board.
So in ONLY experimental purposes, without the rest of circuitry; i figured out how to overcome this annoyance.
It's actually very easy to mimic original battery voltage and to fool the code to think it is attached on original battery supply.
Here it is;
- Likes 1
Comment
-
Good job! Will be very interesting to see hear your test results and impressions.
From what I've tested coil doesn't matter that much, tested 2.4R/400uH coil, 1R/350uH - no much difference.
Strangely the 12V power regulator gets alot of heat. Low voltage warning is fixable but there's a warning if you push high frequency combined with big pulse width - though the components aren't burning hot but the MCU thinks they are, and beeps every 10 seconds or so., it's kind of lame way to protect from overheating.
Comment
-
Originally posted by eclipse View PostI haven't connected those pins on my board and it works fine (only pins 1-6 and 11-16)
Whatever ... pins 7, 8, 9 and 10 are connected to GND (VSS) on the original PCB.
Comment
-
Originally posted by eclipse View PostGood job! Will be very interesting to see hear your test results and impressions.
From what I've tested coil doesn't matter that much, tested 2.4R/400uH coil, 1R/350uH - no much difference.
Strangely the 12V power regulator gets alot of heat. Low voltage warning is fixable but there's a warning if you push high frequency combined with big pulse width - though the components aren't burning hot but the MCU thinks they are, and beeps every 10 seconds or so., it's kind of lame way to protect from overheating.
But must admit that am a bit disappointed and discouraged because we don't have source code here.
Why source code is important?
Just as you mentioned; it's not perfect, it has lacks, we could improve it here further.
Also some of us here, me on the first place; could learn a lot from such interesting working example.
...
Speaking of regulator gets alot of heat; you can detach Q2 (via R12 including it) and coil itself from regulated 12v and hook them up directly to battery. No harm will be done, except in case if battery voltage exceeds some unexpected value.
Or just in any case (with batt voltage over 15v) add another , but this time 7815 regulator with additional current boosting and supply Q2 and coil with it. (picture bellow)
And 12v regulator will chill down, because Q2&coil are drawing too much power when some adjustments are made incorrectly (as you noted).
It should be limited in code, relating to those adjustments, when fer example frequency is risen over some value; user should not be allowed to play widely with pulse widths, and vice versa.
I guess author will take this into account if read our notes, from what i saw so far it appears he is pretty skilled and conversant man.
- Likes 1
Comment
-
Ha!
Author is indeed one real son of a gun!
Congrats Hamid!
... but GOTCHA!
Limiting power-up counter is storing data in eeprom, each time device is powered up: counter is incremented (decremented actually) by one and stored in eeprom.
In case of using Arduino for flashing Atmega this presents quite of a problem; because simple code flashing will not solve the counter issue.
So; erasing eeprom content is mandatory if you want to fool out the counter...
How to solve this for good?
Easy, extend the bootloader with few extra lines which will erase eeprom first and than start the code.
Ha!
- Likes 1
Comment
-
I've checked the way Atmel scans ADC inputs, and the crucial thing is that the conversion takes 13 ADC clock cycles to complete, and channel select can be performed during that period. Maximum ADC clock for 10 bit resolution is 200kHz, or 5us. Or slower. So when translated to a human language, this means it is possible to obtain a 5us analogue value every 65 us, and therefore this can really tick, but in 10 bit resolution, with delay values quite common to PI state of the art, but surely not running ADC in a free running mode. The manual says:
"In single conversion mode, the channel must be selected before starting the
conversion. The channel can be changed one clock cycle after setting ADSC bit, but it
is better to wait for the conversion to complete before changing the channel."
... or not, that's the key.
Comment
Comment