| Electronics > Projects, Designs, and Technical Stuff |
| DIY Modular Test Equipment Project |
| << < (13/29) > >> |
| void_error:
Finally managed to find the best component placement for the waveform gen board, final dimensions are 60mm wide by 90mm tall, front view. All that's left to route is the power traces and tweak everything (tedious), which means I'll leave that for another day and work on another module - the USB - UART board... and it's going to be modular too, it will be able to plug into the UI board or accept a plug-in board with RS-232 and/or RS-485 (half duplex or full duplex). Some changes are required though, since the PIC16F1454 doesn't have enough pins for all the control lines, so I'm replacing it with its bigger brother, the 16F1459, which is also used on Microchip's Low Pin Count USB Development Kit so it's just a matter of modifying the USB CDC Emulator demo code as far as firmware goes. Power Supply boards are next on the list. No big deal there, see first page. A 3D model of the Waveform Generator assembly will follow soon after. After all of the above are completed it'll be PCB ordering time, I'm going with PCBWay, they seem decent and cheap. Since the waveform gen is almost finished, I'm posting the schematic just in case anyone notices anything wrong, call it revision 1. The posts on the first page will be updated with schematics as soon as I have them built and tested. |
| void_error:
The USB-UART module is almost finished. I only have to figure out what I can do with the two free pins I have left on the PIC16F1459... any ideas? Already have RX/TX/USB LEDs. What else can I do with with two extra I/O pins? Monitor USB voltage with one of them? RS-232 flow control lines * and RS-485 direction control are already in place. * do I even need those? if not then I might as well get rid of them and use the 16F1454 but it would require porting the USB CDC Emulator demo rather than just modifying it and that would take more time which I have very little of. Other than that, I wanted to cheap out on the UI board and ditch those two MCP23S08 I/O expanders by using the PIC16F18857's bigger brother, the PIC16F18877 but haven't managed to assign all the peripherals to pins while maintaining an easy-to-do PCB layout even with all the flexibility the PPS has to offer so nothing changed there. I'm starting to dislike the idea of the Aux Power Supply modules being held only by two screws on one side so I might have another go at making everything fit together with nothing "flapping in the breeze". I might end up with more mounting holes than you can poke a stick at... but if it works... :-// All that while trying to keep the 0.1 inch headers on an imperial grid while everything that's going to poke through the front panel (buttons, encoders, display) is going to be metric. |
| void_error:
--- Quote from: void_error on August 03, 2016, 08:00:36 pm ---Other than that, I wanted to cheap out on the UI board and ditch those two MCP23S08 I/O expanders by using the PIC16F18857's bigger brother, the PIC16F18877 but haven't managed to assign all the peripherals to pins while maintaining an easy-to-do PCB layout even with all the flexibility the PPS has to offer so nothing changed there. --- End quote --- Wrong. It can be easily done. Found a way around to allocating some pin functions to locations not supported, through the CLC module. I've been looking into that lately and if I use one of the CLC modules I can move some PWM outputs to PORTA. Only CCP5 can be assigned to PORTA but also CLC1OUT and CLC2OUT and they can accept inputs from other CCP/PWM modules. The control pins on the display are input-only so they can be driven by a 74HC595. There's already one driving LEDs, it's just a matter of daisy-chaining the second one. I've also had a look at the NCO module for square wave generation. The MCC comes in handy here for checking stuff, removes the need for spreadsheets to calculate NCO output frequency. Using Timer0 as a clock source for lower frequencies gives quite accurate results. Accuracy should be less than 1% +/- clock generator accuracy. The square wave / PWM output was never intended to be high precision anyway. So it's almost back to square one... but at least I won't have to write code for the MCP23S08 anymore. |
| void_error:
It's looking good so far. There's one MCU pin available which is going to be used for something eventually. Board size will be increased from 120x70mm to 130x70mm to make room for extra mounting holes. This is actually a good thing since the waveform gen board could use some extra width. EDIT: Got it slightly wrong. I actually have two free pins. I'll find a use for them. |
| void_error:
Looks like I ended up with 16 mounting holes on the UI board. Got some work done on the Aux Power Supply modules and ran into some issues again because of the board size limitations, both modules are going to be 34x70mm in size. On the analog supply board the space issues were dealt with by moving the SMD parts (diodes, resistors, MLCCs) to the bottom side of the board, the top side being occupies by connectors, bulk filter caps and the +/-15V linear regulators mounted horizontally on heatsinks (no TO-220s flapping in the breeze here). The digital supply board had a few changes. Initially I wanted to use LTC3824s but there wasn't any room for all the external components needed so I ditched the chip and went on to look for something else. Found the TPS54360 which comes with a really handy spreadsheet which does all the math for you. Now I can fit both regulators on one board quite easily. |
| Navigation |
| Message Index |
| Next page |
| Previous page |