Announcement

Collapse
No announcement yet.

New Bipolar Boost TX and Front End

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

  • Originally posted by Mdtoday View Post
    Nice work KingJL, the Nextion is a great little time saver isn?t it.
    It sure is... took me a little while to figure out the the protocol interface with microblaze and some of the quirks of the Nextion coding syntax. But after that, it is a breeze.
    I use the expansion port with 3 or 4 buttons panel mounted just for the frequently used functions like Gb and pin point etc, saves wear on the touch panel. They run in parallel with graphics buttons. I have used them for about 18 months and so far no failures on the touchscreen or module in general.
    I will probably follow that route.

    Right now I am doing the initialization sequence for a 1st startup (no saved operating parameters). From the initialization page, it will take (force) you through the steps of coil selection, setting default timing parameters and sending them to the TX-RX, adjusting damp timing, performing initial GB, saving parameters in EEPROM, and finally going to the normal operations page (the one in post #389. All of this within the Nextion with very few message exchanges with the Cmod-A7 application.

    Comment


    • Originally posted by KingJL View Post
      It sure is... took me a little while to figure out the the protocol interface with microblaze and some of the quirks of the Nextion coding syntax. But after that, it is a breeze.I will probably follow that route.

      Right now I am doing the initialization sequence for a 1st startup (no saved operating parameters). From the initialization page, it will take (force) you through the steps of coil selection, setting default timing parameters and sending them to the TX-RX, adjusting damp timing, performing initial GB, saving parameters in EEPROM, and finally going to the normal operations page (the one in post #389. All of this within the Nextion with very few message exchanges with the Cmod-A7 application.
      Excellent news!

      I have modified the front panel to suit the existing housing.
      Unfortunately it's landscape orientation which will mean a change to your screens.

      Click image for larger version

Name:	KingJL_Mod_FP_Front.jpg
Views:	1
Size:	39.7 KB
ID:	355629
      Click image for larger version

Name:	KingJL_Mod_FP_rear.jpg
Views:	1
Size:	34.7 KB
ID:	355630
      Click image for larger version

Name:	KingJL_Mod_FP.jpg
Views:	1
Size:	24.0 KB
ID:	355631

      Once we have it up and tested, I will do another complete design with any/all changes required with portrait aspect, separate display head and control box etc.
      I will then post the STL files for those who wish to 3D print the enclosure.

      Comment


      • Originally posted by Altra View Post
        I didn't get the enhanced version, but wish I did just not to be limited. For most applications the standard is fine. The enhanced is needed if you want to do the simulated analog gauges. These displays are great for one off projects. Another good choice https://riverdi.com/product-category/eve/
        Thanks for the link, I have not seen this product, looks good.

        Comment


        • Originally posted by Mdtoday View Post
          I have modified the front panel to suit the existing housing.
          Unfortunately it's landscape orientation which will mean a change to your screens...
          No problem... in fact, I think I will keep both versions (portrait and landscape) available.

          Comment


          • Originally posted by KingJL View Post
            No problem... in fact, I think I will keep both versions (portrait and landscape) available.
            I have already converted the Init, Damp, and Normai pages to landscape. Most of the Nextion code for operation of the pages is also completed. The only Nextion code not in place for these pages is the code to update the S1 and S2 signal bars of the Noprmal page.

            The "Init" page reads the EEPROM to get saved parameters for STATUS, PRT, DAMP timing, S1 timing, S2 timing, and the previous sample GB data. If parameters are found, they are read into page variables. The mcu (Cmod-A7) is sent an event notification whereupon the mcu application issues a "get" for each of the parameters. When all parameters are retrieved, the mcu applications issues a click of ID 0, where upon the Nextion issues a page "Normal" command.

            If the "Init" page does not find any stored values (1st turn on of the system), the post initialization code initializes all parameters with default data and presents a set of 2 radio buttons to select the type of coil (Mono or IB) in place. When the coil is selected the event processing for the radio button sets the status bit in the STATUS parameter, notifies the mcu of the event, and stores all parameters in EEPROM. When the mcu indicates that all parameters are received, the Nextion code issues a page "Damp" command.
            The Init page presented to user if no parameters are found:
            Click image for larger version

Name:	Init_L.png
Views:	1
Size:	9.6 KB
ID:	355641

            The "Damp" page notifies the mcu of a ID 0 event so that the mcu can insure that the TX is in "Mono" mode and also starts sending S0 data to the sys0 variable. Every time the sys0 value is updated, the mcu issues a "click" ID 0 command which invokes the Nextion touch event for ID 0 that updates the page. If the S0 data is negative the "+" button ihas events disabled. Each time the "+" or "-" button is pressed, the ting value is incremented or decremented and the mcu is notified. The mcu issues a "get" of the timng value and sets the TX parameter.

            The normal procedure would be to increase the timing until the timing value is too large ("+" button disabled with a red background). Then decrease the value until the "+" button red background returns to normal . At that time "Save and Exit". The "Save & Exit" event saves the parameter in EEPROM, notifies the mcu, and executes a page "GB" command.
            Damp page with DAMP value normal:
            Click image for larger version

Name:	Damp1_L.png
Views:	1
Size:	8.0 KB
ID:	355640

            DAMP page with damp value too large:
            Click image for larger version

Name:	Damp2_L.png
Views:	1
Size:	9.9 KB
ID:	355639

            The GB page is not yet completed. The pre-initialation code currently issues a page "Normal" command to invoke normal operations.

            The "Normal" page pre-initialization code reads sets the status bar and timing parameters to indicate current mode status.
            The "Normal" page post initialization code notifies the mcu of a page event for ID 0, where upon the mcu updates the sys1 and sys2 variables and sends a "click" ID 0 command each time a new S1 and S2 data is provided from the FPGA filters. The mcu "click" command causes a Nextion event to occur whereupon the new sys1 and sys2 variable data is used to update the S1 and S2 display bars. The "Gain" and "Thresh" setting are controlled by the corresponding "+" and "-" buttons. These buttons notify the mcu that an event has occured for the corresponding object ID wherupon the mcu issues a "get" of the gain or threshold value and make appropriate changes.
            The "Normal" page:
            Click image for larger version

Name:	Normal_L.png
Views:	1
Size:	10.8 KB
ID:	355638


            Taking a break!!!

            Comment


            • Originally posted by KingJL View Post
              I have already converted the Init, Damp, and Normai pages to landscape. Most of the Nextion code for operation of the pages is also completed.....


              Taking a break!!!
              Looking great JL nice work!

              I will print the front panel tonight and the package will be on its way tomorrow.

              Comment


              • Modified the front panel and 3D printed a couple of drafts which will aid in positioning graphics buttons.

                Click image for larger version

Name:	Nextion_2.jpg
Views:	1
Size:	25.9 KB
ID:	355676
                Click image for larger version

Name:	Nextion_3.jpg
Views:	1
Size:	24.1 KB
ID:	355677

                The screen in this photo looks dull as it still has the protective film on

                Click image for larger version

Name:	Nextion_1.jpg
Views:	1
Size:	43.6 KB
ID:	355678

                All fits well, I added a couple of extra holes for power switch (top or bottom) and low profile push buttons.
                It is a tight fit but its fine for testing.

                @JL, on the main enclosure, you may need to trim away a bit of material directly behind the on board battery holder so the front panel sits back in from the front edge.
                Alternatively, add 4 spacers between the stand-offs and enclosure. Either way will work.
                I prefer the panel sitting back. The panel can move back approximately 4mm from the position shown in last photo.

                One last note, the bezels were printed with 100% infill, so if you want to drill more holes, you can without damaging the part.

                Comment


                • Originally posted by Mdtoday View Post
                  Modified the front panel and 3D printed a couple of drafts which will aid in positioning graphics buttons.

                  [ATTACH]48418[/ATTACH]
                  [ATTACH]48419[/ATTACH]

                  The screen in this photo looks dull as it still has the protective film on

                  [ATTACH]48420[/ATTACH]

                  All fits well, I added a couple of extra holes for power switch (top or bottom) and low profile push buttons.
                  It is a tight fit but its fine for testing.

                  @JL, on the main enclosure, you may need to trim away a bit of material directly behind the on board battery holder so the front panel sits back in from the front edge.
                  Alternatively, add 4 spacers between the stand-offs and enclosure. Either way will work.
                  I prefer the panel sitting back. The panel can move back approximately 4mm from the position shown in last photo.

                  One last note, the bezels were printed with 100% infill, so if you want to drill more holes, you can without damaging the part.
                  Looking great!

                  I am busy with a MAJOR rewrite of code... the only sticking point right now is connecting the uart16550 ip to the interrupt handler.

                  Comment


                  • Originally posted by KingJL View Post
                    Looking great!

                    I am busy with a MAJOR rewrite of code... the only sticking point right now is connecting the uart16550 ip to the interrupt handler.
                    I might go and familiarise myself with the interrupt handler and Uart ip again, it's been a while since I used it.

                    Comment


                    • Originally posted by Mdtoday View Post
                      I might go and familiarise myself with the interrupt handler and Uart ip again, it's been a while since I used it.
                      I have successfully initialized the uart16550 and performed the self test. I then successfully initialized the interrupts, but when I try to connect the interrupt handler for the uart, it errors.

                      Comment


                      • Originally posted by KingJL View Post
                        I have successfully initialized the uart16550 and performed the self test. I then successfully initialized the interrupts, but when I try to connect the interrupt handler for the uart, it errors.
                        I have successfully connected all of the other interrupts so it is something amiss in the parameters that I am providing for the Uart xintc_connect.

                        Comment


                        • Originally posted by KingJL View Post
                          I have successfully connected all of the other interrupts so it is something amiss in the parameters that I am providing for the Uart xintc_connect.
                          Ok I see.

                          Comment


                          • Originally posted by KingJL View Post
                            I have successfully connected all of the other interrupts so it is something amiss in the parameters that I am providing for the Uart xintc_connect.
                            Finally... solved it... now the Uart16550, and all other interrupts are working. Now on to configuring the Uart16550!

                            Comment


                            • I've been loosely following this thread and I'm sure I've missed some things, but has the detector circuit been built & tested?

                              Comment


                              • Originally posted by Carl-NC View Post
                                I've been loosely following this thread and I'm sure I've missed some things, but has the detector circuit been built & tested?
                                Mdtoday has a board almost completely populated. He has been testing different functionalities (power supply voltages etc.) as he progresses. I would expect that he will be testing the TX with pre-configured timing data in the near future. My board is only about 10% populated as I have been focusing on FPGA HDL and embedded processor software. The user interface using the Nextion tft display will be live in the next couple of weeks (as I lose a whole week for Thanksgiving). The FPGA HDL definitions and embedded processor software have been run on an actual Cmod-A7 FPGA and the output timing signals observed with a data analyzer. We are getting close to testing with everything tied together.

                                Comment

                                Working...
                                X