Announcement

Collapse
No announcement yet.

New Bipolar Boost TX and Front End

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

  • KingJL
    replied
    Originally posted by KingJL View Post
    ... I have a small assortment of Digilent Pmod cables (8" I think)...
    A physical check finds them to be 6"!

    Leave a comment:


  • KingJL
    replied
    Originally posted by Mdtoday View Post
    For now, we could use a short ribbon or wire connector system, I need to do some more thinking on the enclosure and still waiting on delivery of the PMOD OLED and encoder modules to see how best to do this.
    Perhaps another option is to redesign a new interface board with OLED and encoder mounted directly on it after all the testing and design work is completed..
    From some previous projects where Pmod connectors were used, I have a small assortment of Digilent Pmod cables (8" I think). I have a couple of 12 pin cables, 1 splitter cable which splits the the 12 pin to 2 6pin connectors and 1 (or 2) 6 pin Pmod cables. The Pmod OLEDrgb uses a 12 pin connector (whole Pmod) while the rotary encoder uses 1/2 of a Pmod (6 pins). My thinking was to use a cable connected 12 pin Pmod for the OLED display and the splitter cable with one section going to the rotary encoder and the other section connecting the PP and GB switch wiring and audio PCM out..I also have used the through hole 90 degree 12 pin sockets as 90 degree socket adapters for Pmod boards/cables. I think a cable/wiring connector system gives the greatest latitude with enclosure placement/design.

    I had envisioned a metal or metalized plastic 2"x2"x4" (inside dimensions) rectangular circuit enclosure with openings for the power/antenna wiring, the four side/end mounted Pmods, and the one bottom(or top depending on your perspective) Pmod which could be mounted in the main housing. Also there is the small hole opening needed for the reference voltage adjustment.

    I do not think there is much more to consider as for inputs or outputs as there are only 4 (after adding the audio PCM output) more output ports that will support LVCMOS33. That little tidbit I learned from this past weeks marathon in getting the user input module integrated. I tried to temporarily add 6 test ports to the design so I could hook a scope up to observe some of the internal signals... well I could add only 5. But, in the end, 5 was enough.

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by KingJL View Post
    Well, this has been a painful week (and a half). A week ago, Friday July 26, I started designing the user input hardware module that would interface the rotary encoder (with the encoder button switch), a pinpoint switch input, and a ground balance request switch) with the microblaze embedded microprocessor. Due to more than a couple of interacting issues it has resulted in about 60 hrs of headaches, one after another. But, finally today, it all came together. We now have a hardware definition module that will take the inputs described above and produces six interrupts to the microprocessor so that the software will not have to poll for these device inputs. .
    Excellent work JL, I can appreciate the long hours you have put into this project and it will be worth it in the end for sure, thanks for sharing.
    Recent work commitments reduced the time I had set aside to completely assemble my boards and finish off the draft of the enclosure designs but now that I am back home for the next few months (hopefully) I'll be able to get stuck into it.
    Again, I know it's early to talk enclosure, however, after looking at the PMOD OLED display and interface, we may have to re-orientate / position 1 or 2 IF board connectors to make assembling into enclosure front panel a little easier.
    For now, we could use a short ribbon or wire connector system, I need to do some more thinking on the enclosure and still waiting on delivery of the PMOD OLED and encoder modules to see how best to do this.
    Perhaps another option is to redesign a new interface board with OLED and encoder mounted directly on it after all the testing and design work is completed..

    Cheers

    Mdtoday

    Leave a comment:


  • dbanner
    replied
    Kingjl, thank you so much for sharing your monumental work with us on forum. It has been a fascinating journey thus far. I think your work would be regarded as nothing short of Herculean. Congratulations and well done!

    Leave a comment:


  • KingJL
    replied
    User Input!!!

    Well, this has been a painful week (and a half). A week ago, Friday July 26, I started designing the user input hardware module that would interface the rotary encoder (with the encoder button switch), a pinpoint switch input, and a ground balance request switch) with the microblaze embedded microprocessor. Due to more than a couple of interacting issues it has resulted in about 60 hrs of headaches, one after another. But, finally today, it all came together. We now have a hardware definition module that will take the inputs described above and produces six interrupts to the microprocessor so that the software will not have to poll for these device inputs. The six interrupts are: encoder clockwise increments, counter clockwise increments, encoder button (select), pinpoint start, pinpoint end, and ground balance request. Interrupts also signal the embedded upc that a new received data set is available from the TX_RX module.

    I have only one more hardware definition to integrate into the design... the PCM audio module. After that is integrated, we can start the software coding process to bring it all together. So far the TX_RX, OLEDrgb display, flash memory storage and retrieval of parameters, rotary encoder with push button select inputs, switch inputs for pinpoint and ground balance are all integrated and tested. The encoder inputs (A & B) and all switch inputs are properly de-bounced (one of the more severe headaches). The current design has the rotary encoder assigned to the J4 Pmod receptacle on the FPGA/Bipolar PI interface board.

    The current Vivado block design:
    Click image for larger version

Name:	Bipolar_PI_Design.png
Views:	1
Size:	175.1 KB
ID:	354595

    The current Vivado project archive is Vivado_BiPolar_PI(8-3-2019).zip .

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by KingJL View Post
    Well... that was easier said than done. But I did it! I dropped the complete digilent ip repo into the Bipolar_PI directory structure to insure anyone can drop and run this project without having to drastically modify the environment.

    --

    The current code is only test code that tests the capability to store the parameters in flash rom, tests the capability to communicate with the TX_RX module and provide operating parameters, and tests the capability to display characters on the OLEDrgb Pmod. The TX_RX module is providing the timing signals that will be needed by the PCB boards.

    The current project is contained in Vivado_Bipolar_PI(7-25-2019).zip.
    Nice work, thanks for sharing JL.

    I will download and have a play with this over the weekend.

    Cheers

    Mdtoday

    Leave a comment:


  • KingJL
    replied
    Originally posted by KingJL View Post
    Successfully integrated the Diligent OLEDrgb Pmod to the system design...
    I will post a link to the updated project archive sometime in the next few days after I re-arrange the location of the library folder for the custom IP's (OLEDrgb being one of them). Currently this IP library is out side of the "Bipolar_PI" project and would cause errors for anyone just dropping and using the project archive. I want to integrate the custom IP library within the directory structure of the project.
    Well... that was easier said than done. But I did it! I dropped the complete digilent ip repo into the Bipolar_PI directory structure to insure anyone can drop and run this project without having to drastically modify the environment.

    I also changed the microblaze environment. Local memory was increased to 64 kBytes, stack was increased to 2 kBytes, and heap was increased to 4 kBytes. This increase was merited by the fact that the OLEDrgb graphics test would cause a linker failure of stack or heap allocation. I also turned on some of the hardware features (barrel shifter, hardware multiplier, hardware divider, etc.) to minimize memory usage.

    During the testing of the OLEDrgb, I found that the RGB colors specified were not displaying correctly. Green was displaying as red, red was displaying as blue, and blue was displaying as green. That problem was traced to the digilent ip code. It seems the code was developed with the microblaze processor operating in Big endian mode. But if you are using AXI4, the microblaze compiler system is configured for little endian mode. So I modified the OLEDrgb code to do a byte swap of the rgb variable. Now what you ask for is what you get.

    The current code is only test code that tests the capability to store the parameters in flash rom, tests the capability to communicate with the TX_RX module and provide operating parameters, and tests the capability to display characters on the OLEDrgb Pmod. The TX_RX module is providing the timing signals that will be needed by the PCB boards.

    The current project is contained in Vivado_Bipolar_PI(7-25-2019).zip.

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by KingJL View Post
    ... it would be great if the 3.5mm headphone jack was waterproof. The external pushbuttons (for pinpoint, etc) could be accommodated by a 2nd 3.5mm stereo (waterproof) jack (stereo could accommodate 2 switches).
    Here is a link to IP67 rated 3.5mm phone jacks , Mouser has stock.



    Element14 have a 3.5mm over-molded cable right-angle connector assembly , good quality, I use these quite often.



    Cheers

    Mdtoday

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by Altra View Post
    Hi Mdtoday,

    Very nice looking enclosure. That's creative using a Hammond extrusion with custom printed ends.

    Looking forword to JL and you testing the complete system

    Thanks for posting
    Thanks Altra, originally I was going to mill the Hammond end plates but I wanted to add BT , battery holder and a stand and decided to 3D print rather than bolt on bits and pieces.
    I spray the inside of the printed parts with nickel shielding. The stand holds the 2 lithium batteries. BTW, I deliberately print at lower resolutions and slower speeds to get strength and texture.

    JL is doing a great job with this project and I am just following along and helping where I can.
    I will post STL files in due course for some enclosure ideas once I run them past JL.

    Cheers

    Mdtoday

    Leave a comment:


  • Altra
    replied
    Originally posted by Mdtoday View Post
    I'll work on it and see what's out there.
    The other option is that the enclosure and handle are integral, I will cad up a number of different options.
    I did do a design based on the Vallon some time ago, here is the head [ATTACH]46928[/ATTACH] and a photo of a detector I recently finished [ATTACH]46929[/ATTACH] . I'll have to wait til I get home to access the other drawings.

    I'm sure we will come up with a suitable enclosure.

    cheers

    Mdtoday

    Hi Mdtoday,

    Very nice looking enclosure. That's creative using a Hammond extrusion with custom printed ends.

    Looking forword to JL and you testing the complete system

    Thanks for posting

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by Mdtoday View Post
    I'll work on it and see what's out there.
    The other option is that the enclosure and handle are integral, I will cad up a number of different options.
    I did do a design based on the Vallon some time ago, here is the head [ATTACH]46928[/ATTACH] and a photo of a detector I recently finished [ATTACH]46929[/ATTACH] . I'll have to wait til I get home to access the other drawings.

    I'm sure we will come up with a suitable enclosure.
    This is what I did for the detector shown earlier. Click image for larger version

Name:	Handle_Switch1.jpg
Views:	1
Size:	94.4 KB
ID:	354534
    The switch is a spring return centre off SPDT, I use it for GB and Pinpoint modes.

    cheers

    Mdtoday

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by KingJL View Post
    ... it would be great if the 3.5mm headphone jack was waterproof. The external pushbuttons (for pinpoint, etc) could be accommodated by a 2nd 3.5mm stereo (waterproof) jack (stereo could accommodate 2 switches).
    I'll work on it and see what's out there.
    The other option is that the enclosure and handle are integral, I will cad up a number of different options.
    I did do a design based on the Vallon some time ago, here is the head Click image for larger version

Name:	Head1-OLED.jpg
Views:	1
Size:	48.8 KB
ID:	354532 and a photo of a detector I recently finished Click image for larger version

Name:	Detector_1.jpg
Views:	1
Size:	83.0 KB
ID:	354533 . I'll have to wait til I get home to access the other drawings.

    I'm sure we will come up with a suitable enclosure.

    cheers

    Mdtoday

    Leave a comment:


  • KingJL
    replied
    Originally posted by Mdtoday View Post
    ... 3.5mm headphone jack, coil socket, space for 1 or 2 push buttons or connector to handle mount pinpoint button if required...
    ... it would be great if the 3.5mm headphone jack was waterproof. The external pushbuttons (for pinpoint, etc) could be accommodated by a 2nd 3.5mm stereo (waterproof) jack (stereo could accommodate 2 switches).

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by KingJL View Post
    A few posts back, I said I would hook the PMOD-A7 up to the logic analyzer and post a screenshot of the output. Well, today I finally got around to it.
    [ATTACH=CONFIG]46925[/ATTACH]

    DIO 0 is TX_A_B switch, CMOD-A7 pin 35; DIO 1 is Boost-A_s, CMOD-A7 pin 41; DIO 2 is Boost-A_e, CMOD-A7 pin 44; DIO 3 is TXA, CMOD-A7 pin 42; DIO 4 is Boost-B_s, CMOD-A7 pin 43; DIO 5 is Boost-B_e, CMOD-A7 pin 46; DIO 6 is TXB, CMOD-A7 pin 39.

    All previous timing waveforms posted were from the FPGA programming IDE simulator... these are the real thing... the actual output from the CMOD-A7 FPGA board. All timings were spot on as measured by the logic analyzer: PRT 500 usec, PW 50 usec, MPP-PW 250 usec, boost A/B s&e signals were 1.5 usec. All this while the embedded processor is merrily dealing with OLED displays, user inputs, etc.
    Great work and this shows the beauty of using FPGA.

    Cheers

    Mdtoday

    Leave a comment:


  • Mdtoday
    replied
    Originally posted by KingJL View Post
    Great... one item to consider if using the OLEDrgb display... position it and shield it to prevent it from "washing out" in bright sunlight. And allowing for a pushbutton for pinpointing is great as I was intending on using one for that purpose. On my Vallon, I use a Bluetooth 5.0 transmitter that is plugged into a 3.5 mm headphone jack and use sport "over the ear" bone conductor headphones. Those headphones are great, especially in hot weather. The transmitter is about 2"x 2.5" x .325" and contains it's own rechargeable battery that lasts about 7 hr.
    Yes, will take the OLED position into account for sure, I currently use them on one of my designs and it is recessed into the panel and with a raised rim around it.
    Click image for larger version

Name:	Display_1.jpg
Views:	1
Size:	67.2 KB
ID:	354531
    I use the same type of BT on my detectors too, although only v4.2 but still low latency and economical and great when out in the goldfields, you can still hear surrounding noises.
    Having used nice KOSS headphones in the past which block out most of the external sound, and startled resting kangaroos jumping up out of the bush, not hearing them and only spotting them at the last second yes, I prefer to hear whats going on around me, keep the heart rate down.
    Last edited by Mdtoday; 07-24-2019, 02:10 AM. Reason: added photo

    Leave a comment:

Working...
X