Announcement

Collapse
No announcement yet.

New Bipolar Boost TX and Front End

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

  • Mdtoday
    replied
    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.

    Leave a comment:


  • KingJL
    replied
    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.

    Leave a comment:


  • KingJL
    replied
    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.

    Leave a comment:


  • Mdtoday
    replied
    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.

    Leave a comment:


  • KingJL
    replied
    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.

    Leave a comment:


  • Mdtoday
    replied
    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.

    Leave a comment:


  • Mdtoday
    replied
    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.

    Leave a comment:


  • KingJL
    replied
    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!!!

    Leave a comment:


  • KingJL
    replied
    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.

    Leave a comment:


  • Mdtoday
    replied
    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.

    Leave a comment:


  • Mdtoday
    replied
    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.

    Leave a comment:


  • KingJL
    replied
    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.

    Leave a comment:


  • Mdtoday
    replied
    Nice work KingJL, the Nextion is a great little time saver isn’t it.
    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.

    Leave a comment:


  • KingJL
    replied
    BiPolar PI using Nextion for user interface

    Using the Nexion Editor. I have started coding up the user interface based on the Nextion 3.5 Enhanced. With just the little I have done with three screens indicates that the Nextion interface will oflfoad considerable processing and development effort from the Cmod-A7. I can already see that I can remove the user interface, PmodOLEDrgb HDL and Flash interface modules along with 5 interrupts and 11 external ports.. The Nextion interface will occupy only 2 external ports and use the Vivado uartlite serial interface with interrupt. Also large chunks of code (both library support and application) can be discarded. I have already identified about 2800 lines of "C" code that can be omitted. Most of the user interface running in the Nextion runs without needing any communications with the Cmod-A7 embedded microprocessor (upc). Almost all of the TX-RX operational parameter initialization can be accomplished by the Nextion and sent to the TX-RX thru the embedded upc. The parameter storage for retention between startups can be handled by the Nextion. The communications load between the Nextion and Cmod-A7 is minmal 50-60 bytes from the Cmod-A7 at 5ms intervals. Communications from the Nextion back to the Cmod-A7 is only needed when there is a change to the operating environment. All of the communications can be handled with no bottlenecks with a baud rate of 115200 and the baud rate can be increased to 230400 if needed.
    Click image for larger version

Name:	Biploar_PI-Nextion.png
Views:	1
Size:	9.8 KB
ID:	355620

    I am going to freeze the current project at it's current state and start a new branch using the Nextion as the user interface. I will leave the link to the current project archive active in case anyone wants to continue development using the current user interface hardware. Future project archives will include the Vivado TX-RX development archive and the Nextion user interface development archive.

    This Nextion interface is amazing!

    Leave a comment:


  • Altra
    replied
    Thanks Orbit! Look forward to your next video.

    Leave a comment:

Working...
X