Announcement

Collapse
No announcement yet.

Announcement

Collapse
No announcement yet.

Cow PI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Silver Dollar
    replied
    While waiting for parts to come in I had a "chance" to get a chance board so jumped on that.
    Then got hung up on programming that so jumped back on my super TGSL. Rn into problems
    with that so tore it down and rebuilt it to stock form. Also found a SMT Bandito board and bought
    that and had a try at relaying it out to make a Dual Bandito.

    So the Cow PI has been on the back burner. I'll get back to it sometime just too many projects
    right now...

    Leave a comment:


  • 6666
    replied
    Any progress SD ?

    Leave a comment:


  • geoscash1
    replied
    Well to be honest with you, I believe it is Basic that is used, I guess I just don't recognize some of what you have written because I haven't seen or done it that way. What you just posted I can understand.... You can check picaxe out here - http://www.picaxe.com/What-Is-PICAXE

    Here is a short example of one of my cam codes, just the first part defining pins then some symbols & labels with base code I use for different cams.

    'picaxe 08m - sony series basic cam control with walktest 2007
    low 0
    low 1
    low 2
    low 4
    symbol counter=b1
    symbol pir=pin3
    symbol led=pin4
    symbol campower=pin1
    symbol shutter=pin2
    let counter=255


    warm_up:

    pause 2500 'wait 2.5 seconds
    high 4 'light led to know warmup has started
    pause 1500 'leave led on for 1.5 seconds
    low 4 'turn off led
    high 1 'turn cam on
    pause 1500 'hold power button down for 1.5 seconds
    low 1 'release power button
    pause 10000 'pause with cam on for 10 seconds
    high 1 'turn cam off
    pause 1000 'pause for 1 second to make sure cam turns off
    low 1 'release power button
    pause 2000 'pause for 2 seconds
    high 4 'turn on led, warm up finished
    pause 1000 'pause 1 second
    low 4 'turn off led
    pause 5000 'pause before entering walktest
    goto walk_test 'enter walktest


    walk_test:

    w0=300 '100ms=300x100=30,000ms=30s...30 second walktest
    do while w0>0 'walktest continues until timed out
    if pin3=1 then 'when motion sensed then
    high 4 'turn on led to show motion sensed
    pause 1000 'pause for 1 second
    low 4 'turn off led
    pause 200 'wait 2 tenths
    w0=300 'restart timer from begining if motion sensed

    super simple stuff although it took me quite awhile to understand it, still am learning it though..You can also use the flow chart if you choose...Gosh what is the deal with this editor, cant type anything in here, I have to do my post on note pad then copy and paste it in here...pain in the arse....lol

    Leave a comment:


  • Silver Dollar
    replied
    What language do you use on the PicAxe? Just flow charts? If so you could use the Graphical Great Cow Basic.

    http://gcbasic.sourceforge.net/aboutgcgb.html

    Basic is well pretty basic. It is supposed to be easy to read as it is close to the way you would say what you
    want to do. It takes a little study to learn the syntax.

    This is about as simple as it gets;
    PulseOut TXFet, 50 us
    Wait 20 us
    PulseOut First, 20 us
    Wait 20 us
    PulseOut Second, 20 us
    WAIT 250 us

    All this is to create pulses for a PI detector. You change the rep rate to change the Frequency it is
    a bit different than a VLF which uses a sine wave that you might want a different frequency on..

    Leave a comment:


  • geoscash1
    replied
    Hey Silver Dollar,

    I will be keeping tabs on this thread with much interest, thanks for letting me know. I was looking at your code but it was greek to me...lol
    guess I'm to use to the picaxe grade school programming I guess


    Do you have any left over pins and if so how many and have you thought about using them for a frequency shifter/switch?


    When I had my minelab eureka gold I liked being able to switch frequency when I would change out coils and have wondered why no other (at least I haven't seen any yet) detectors don't use that tech other than minelab.. I was thinking it could be implemented on a home brew if using a micro controller, in which case you are and it is basically what I had in mind when I thought I could use the picaxe to start my little project. Having 2 frequencies to use would be a nice option/addition.


    For my project or idea, I just really wasn't sure where to start and what pic I would really need to start with. I think I could start with an 18 pin (18x or 18m2) for a "basic get started" setup then go from there.


    I really did like the idea of your lcd display, I'm a visual kind of person so I like to have the extra feature of something visible to back up what I think I am hearing. I found a simple led vu meter and added it to my surf pi, it does not need external voltage and will work within the circuits audio, so when it is soldered in parallel with the headphone any signal that the detector picks up lights the leds in a range, the stronger the signal, the more leds light up and vise versa. I like it better than a needle type. Maybe that could be something you could add/implement when the time comes.


    Anyways, thank you for sharing what you have come up with so far, I look forward to seeing your progress and the end result.

    Geo

    LED VU Meter - http://www.electronics123.com/kits-a...AY-10-LED.html

    OLED display - http://www.picaxestore.com/index.php...s/axe134y.html (not sure if this could be useful to you)
    Attached Files
    Last edited by geoscash1; 03-24-2014, 03:46 PM. Reason: forgot link

    Leave a comment:


  • Silver Dollar
    replied
    After a bit of contemplation I've decided to take this project in a different direction.

    It seems the fancy display is probably not very useful out in the field. Most people
    want better audio to help in identifying targets. Also less adjustments are better as
    you end up like my brother in law who drives around looking at his fish finder more
    than he actually fishes.

    So we need to determine what we need. I'm going to back off from the 30F2020
    DSP's for now to concentrate on getting a working detector before spring!

    We can still use the 4550 board but change the user interface a bit. The Hammerhead
    (from Silverdog) brings 3 pots to the front panel Threshold, TX Width, and Main Delay.

    I'm not sure how often we might want to change the TX width. I'm thinking we could
    have a Low Range/ High Range switch. That would leave Threshold and Main Delay.
    We could have auto adjusting RX widths too.

    Threshold would be like sensitivity and main delay would be for adjusting what size
    target you are looking for. I wonder how we could add more info to the audio output?

    I was reading a patent last night and they used a 60 us TX width and 600 hz rate.
    And 30 us wide RX's 150 us apart and the main delay started at the flyback decay
    and could be adjusted 100 us out.

    So we could use these numbers to start with. Maybe 50 / 100 us ranges for TX width
    and 10 / 30 us for RX widths (depending on range).

    So our front panel controls will be a High/Low Range switch and a Threshold pot connected
    to R31 on the Hammerhead board, and a rotary encoder to adjust main delay and a power
    switch. Even simpler would be to use the push switch on the encoder to change ranges with
    a LED to indicate current range.

    Leave a comment:


  • Silver Dollar
    replied
    Well after a brief sojourn I'm back on this project. I got my Hammer Head mostly built up and tested the power supply and clocks.
    The plan is to make it work as a Hammer Head then modify it to use the 18F4550 board for control. I'm forming an idea to use the
    4550 as the interface chip and add some DSP's to get some fast samples. I also got the rotary encoders and the display and SD card.
    I still need to mod the 4550 board to add the in circuit programming connections. The pins are tiny so I need a new tip for my iron
    to do that. I do a lot of soldering at my new job so maybe I can bring it to work and pop those 5 wires on...

    I also picked up a Chance PI board and I'm trying to disassemble the code for that project to do a little tweaking. That's going to
    take some time though so don't hold your breath.

    The attached picture is the project so far. I hope to get it all soldered together and start programming some code into it soon!

    Attached Files

    Leave a comment:


  • Silver Dollar
    replied
    We one gotcha is that the SD cards are 3.3v and the PIC is 5v so some level translating is in order.
    I found a hex editor that allows you to write to the SD card while in the computer.
    http://mh-nexus.de/en/hxd/

    I also won a 512mb card on Ebay for $3.50, we don't need much storage and I was looking for cheap!
    We're going to talk to it via SPI so we have to avoid the micro SD's as they are not guaranteed to work
    in SPI mode.

    Leave a comment:


  • Silver Dollar
    replied
    I've been fine tuning the software. I am trying to do some "Bit Blasting" to make the menu's fast.
    I'm still trying to figure out which mode the SPI should run in. I think mode 0 or 3.

    I disassembled 4 old cell phones today to see if I could salvage a display or keyboard for this
    project but it doesn't look too promising. The connectors are tiny and the keyboards don't even
    have a visible connector...

    The display has a SD card reader built in so I thought we might be able to use it for bit map data
    and possibly fonts. I don't want to write a complete file system handler but might try some sort of
    raw data storage. Not much info out there on implementing that. Most people go straight to C and
    a huge library. There has got to be a way to write the raw data as if you were formatting the card...

    Leave a comment:


  • Silver Dollar
    replied
    Well the software is progressing. I have completed the Video routines except for
    some SPI clocking bit settings. It's not clear how those need to be set. I'm
    embedding the SPI routines in my code to be sure they don't change and to have
    control over them. We don't receive any data back so can tweak the subroutine
    so as to not need the extra byte sent to it.

    The main routine saves program data to EEPROM and reads it back (though exact
    data to save and retrieve may change). The menu's have to be fleshed out. They will
    work similar to the menu.inc included. A string will embed all the words for a given
    menu and then will be accessed via the Right, Left and Mid string commands. A separate
    array will hold the locations.

    The range of pulse width and padding can be extended to 65535 with a word variable but
    for now they are limited to 255.

    I'm reading the new thread on ground balancing and wondering how to implement it in
    this design? If we had the data sampled we could explore different ways to do it. The
    Kingfisher design tried to use this PIC and sample but was abandoned due to not enough
    speed to do it...

    I've seen a patent on some sort of feedback to subtract the ground. I wonder if we
    couldn't do some sort of manual ground balance by just setting an analog voltage to be
    added/subtracted to the integrator signal? We could even do that with an old ordinary pot...
    Attached Files

    Leave a comment:


  • Silver Dollar
    replied
    I've been figuring out some programming issues. I have a character set and
    some drawing routines and now am working on Menu's. I'm not sure I like the
    way the Menu came out. The screen is smaller than I thought (see picture).

    Lucky it is winter and not much else to do!

    I did recover some laptop batteries yesterday. They use 18650 type batteries which are 4.2v fully charged.
    I took apart 4 battery packs and ended up with 34 batteries. I sent for some single battery chargers for only $1 each!;
    http://www.ebay.com/itm/400635991300...84.m1439.l2649

    I'll charge them all up and see which ones are bad. Usually 2 or 2 go bad and the pack doesn't work
    anymore. If the charge up to 4.2v they should be OK.

    The MD pack will have to be 3 (11V) or 4 (16V) cells. You have to break the connections to charge using
    these single cell chargers that makes it easier to make sure the cells match voltage wise.

    The plan is to use a 5v 4A - 5A power supply and tie all 4 chargers to it with each wired to a separate
    battery holder; http://www.ebay.com/itm/380676071451...84.m1439.l2649

    Multicell packs need to be "Balanced" and tend to fail when one cell becomes mismatched so charging individual
    ones makes sense!

    Note: Use extreme care when working with these batteries as if you short them out they will produce massive
    current and get hot enough to start a fire! You have to cut the connections carefully to avoid shorts.
    Attached Files

    Leave a comment:


  • Silver Dollar
    replied
    Well that code had some bugs. I compiled it today here are the new files.

    It compiles but may still not work. I'm trying to emulate it in Freebasic.

    I hope some of my goodies for this project come in tomorrow!
    Attached Files

    Leave a comment:


  • Silver Dollar
    replied
    Here's some code I've been working on. I couldn't find any ready made stuff so I had to write my own!
    I have a 5x7 font to draw on the screen pixel by pixel. I have an 18 bit to 16 color array. (all colors are
    18 bit but I use a fixed set of 16). I can draw lines and boxes.

    There's still a lot of little questions that will have to wait until I have all the hardware here (like is it 130
    or 127 pixels and how does the set row and set column work?).

    Happy New Year to everyone. I hope this year is a good one for all!
    Attached Files

    Leave a comment:


  • 6666
    replied
    Hi, there is no code, but I thought you may have been interested in how the timings were displayed.

    Leave a comment:


  • Silver Dollar
    replied
    Thanks for the tip but that guy didn't show his code. I'd like to be able to experiment
    with the code and see if I can make it better. Here's a schematic of a possible way to

    use the 30F2020 as a digitizer. It has the horsepower but you need to code it in C or
    assembler. I might be able to use some code from the 30F3012 source for the UNIPI.

    It's just the hairy fast ADC and lockin code so it should be easy right? Well I'm glad we
    don't have a timetable to meet. Anyway we can get it running now by just sending some
    pulses to the Hammerhead board. That code was relatively easy.

    I downloaded and installed Freebasic today to allow me to test the LCD code on my local
    machine to tweak locations and colors and such. I have some code but so far nothing
    shows up on the screen. Probably a problem with the color setting or something...
    Attached Files

    Leave a comment:

Working...
X