
terjeio
-
Content Count
145 -
Joined
-
Last visited
-
Days Won
27
Reputation Activity
-
terjeio got a reaction from timotet in Multimedia Center
PCBs for the controller has now arrived from China, no routing errors! However I have some problems with the KeyStone DAB-module, I cannot get it to respond like the development board which works flawlessy - not good. The DAB module is on the preamp board, I have to delay sending it off for fabrication this until this is resolved.
The controller is performing well, her are a few pics - code will follow later when I am happy with it:
Frame is milled from 10mm solid aluminium.
Assembled controller board, touch sensors are home-made - a bit of black art to get them working reliably when embedded in the aluminium block.
Not too bad for beeing a prototype, I have to allow for some adjustment of the "wheel" - or find a way to perfectly align the alu block after turning it around to mill the front.
-
terjeio got a reaction from yosh in Multimedia Center
PCBs for the controller has now arrived from China, no routing errors! However I have some problems with the KeyStone DAB-module, I cannot get it to respond like the development board which works flawlessy - not good. The DAB module is on the preamp board, I have to delay sending it off for fabrication this until this is resolved.
The controller is performing well, her are a few pics - code will follow later when I am happy with it:
Frame is milled from 10mm solid aluminium.
Assembled controller board, touch sensors are home-made - a bit of black art to get them working reliably when embedded in the aluminium block.
Not too bad for beeing a prototype, I have to allow for some adjustment of the "wheel" - or find a way to perfectly align the alu block after turning it around to mill the front.
-
terjeio got a reaction from Fmilburn in Multimedia Center
PCBs for the controller has now arrived from China, no routing errors! However I have some problems with the KeyStone DAB-module, I cannot get it to respond like the development board which works flawlessy - not good. The DAB module is on the preamp board, I have to delay sending it off for fabrication this until this is resolved.
The controller is performing well, her are a few pics - code will follow later when I am happy with it:
Frame is milled from 10mm solid aluminium.
Assembled controller board, touch sensors are home-made - a bit of black art to get them working reliably when embedded in the aluminium block.
Not too bad for beeing a prototype, I have to allow for some adjustment of the "wheel" - or find a way to perfectly align the alu block after turning it around to mill the front.
-
terjeio got a reaction from Rickta59 in Multimedia Center
PCBs for the controller has now arrived from China, no routing errors! However I have some problems with the KeyStone DAB-module, I cannot get it to respond like the development board which works flawlessy - not good. The DAB module is on the preamp board, I have to delay sending it off for fabrication this until this is resolved.
The controller is performing well, her are a few pics - code will follow later when I am happy with it:
Frame is milled from 10mm solid aluminium.
Assembled controller board, touch sensors are home-made - a bit of black art to get them working reliably when embedded in the aluminium block.
Not too bad for beeing a prototype, I have to allow for some adjustment of the "wheel" - or find a way to perfectly align the alu block after turning it around to mill the front.
-
terjeio reacted to bluehash in Multimedia Center
Looks good. There was a BoosterPack posted yesterday with an ADI audio DSP, if it gives you some inspiration.
-
terjeio got a reaction from tripwire in TM4C1294 reading in sin wave help
@@allbeengone It depends on what you define as "smooth" - 50 data points per period, 20 or how many? The Wikipedia page for Nyquist sampling theorem has some information you might find useful - when sampling a signal to be reproduced later you will need to sample at least twice as often as the (highest) frequency of the signal. Sampling and then plotting it (not reproducing it via a DAC and a low-pass filter) in a faithful way will require a higher sampling rate to achieve a "smooth" representation where "smooth" is whatever you decide it to be. Consider sampling a 100KHz sine at 200 Ksps - you may end end up with nothing at all if you happen to sample exactly when the signal crosses zero.
-
terjeio got a reaction from tripwire in Newbie question on MSP432 FPU
CCS did not optimize the sqrtf call away:
||$C$L14||: .dwpsn file "../main.c",line 117,column 3,is_stmt,isa 1 LDR A1, [SP, #0] ; [DPU_3_PIPE] |117| VMOV S0, A1 ; [DPU_LIN_PIPE] |117| VCVT.F32.S32 S0, S0 ; [DPU_LIN_PIPE] |117| $C$DW$76 .dwtag DW_TAG_TI_branch .dwattr $C$DW$76, DW_AT_low_pc(0x00) .dwattr $C$DW$76, DW_AT_name("sqrtf") .dwattr $C$DW$76, DW_AT_TI_call BL sqrtf ; [DPU_3_PIPE] |117| ; CALL OCCURS {sqrtf } ; [] |117| VSTR.32 S0, [SP, #4] ; [DPU_LIN_PIPE] |117| .dwpsn file "../main.c",line 116,column 27,is_stmt,isa 1 LDR A1, [SP, #0] ; [DPU_3_PIPE] |116| ADDS A1, A1, #1 ; [DPU_3_PIPE] |116| STR A1, [SP, #0] ; [DPU_3_PIPE] |116| .dwpsn file "../main.c",line 116,column 13,is_stmt,isa 1 LDR A2, $C$CON10 ; [DPU_3_PIPE] |116| LDR A1, [SP, #0] ; [DPU_3_PIPE] |116| CMP A2, A1 ; [DPU_3_PIPE] |116| BGT ||$C$L14|| ; [DPU_3_PIPE] |116| ; BRANCHCC OCCURS {||$C$L14||} ; [] |116| Disassembly:
$C$L14: 0000023e: 9800 ldr r0, [sp] 00000240: EE000A10 vmov s0, r0 00000244: EEB80AC0 vcvt.f32.s32 s0, s0 00000248: F000FAFE bl #0x848 0000024c: ED8D0A01 vstr s0, [sp, #4] Edit, added sqrtf disassembly:
sqrtf(): 00000848: EEB50AC0 vcmpe.f32 s0, #0 0000084c: B508 push {r3, lr} 0000084e: EEF1FA10 vmrs apsr_nzcv, fpscr 00000852: D206 bhs $C$L1 46 _Feraise(_FE_INVALID); 00000854: 2001 movs r0, #1 00000856: F7FFFFA3 bl #0x7a0 47 return NAN; 0000085a: 4803 ldr r0, [pc, #0xc] 0000085c: EE000A10 vmov s0, r0 00000860: BD08 pop {r3, pc} 51 return TYPED_SQRT(x); $C$L1: 00000862: EEB10AC0 vsqrt.f32 s0, s0 00000866: BD08 pop {r3, pc} Compiler switches:
-mv7M4 --code_state=16 --float_support=FPv4SPD16 --abi=eabi -me --advice:power="all" -g --float_operations_allowed=all --gcc --define=__MSP432P401R__ --define=TARGET_IS_MSP432P4XX --define=ccs --diag_warning=225 --display_error_number --diag_wrap=off -k -
terjeio got a reaction from yosh in Newbie - need help in choosing LaunchPad model
It could be due to incorrect I2C address - the silkscreen on my display says it is 0x78 which is not correct, it is 0x3C - yours might be different.
Also, the initialisation sequence is not the same for SSD1306 and SH1106 driver chips. If you are not sure which to use try both by commenting out the #define SSD1306 statement in oled.h.
-
terjeio got a reaction from timotet in Multimedia Center
My (crazy) project is getting closer to completion so time to start a project topic. I have verified my Tiva C based controller design and are now waiting for PCBs - will arrive from China in a few days.
My background is from Radio/TV servicing and medical electronics, but for the last 25 years I have mainly been working on a large database application written in OpenEdge. Two years ago my preamp that I made some 30 years ago started to fail due to the rubber based switches rotting (a bit like my brain these days...). Since I did not want to buy one I decided to make a new - again with no mechanical parts in the audio path. A lot has happened since back when I was involved in electronics, and I have spent some time doing research for what components are now available - to many one may argue.
I decided to use a CPLD programmed in VHDL for the switching logic, high quality analog switches (my original design employed 40 series CMOS for these) and a VCA (voltage controlled amplifier) for volume control. I did not want to introduce a MCU because I believed I would get into trouble with the clock signal interfering with the audio... Anyway, my new design was successful and has now been in service for nearly two years.
After doing this I took an interest in learning about microprocessors again, I started out with Atmel/Ardouino and Energia but I found that combination a bit lacking - no easy way to do debugging was a showstopper for me. I found the TI processors more appealing, CCS allows me to get my hands dirty on "bare metal" and a decent debugger makes life easier.
So, here I am making another iteration of my preamp - this time involving no less than four TI processors. I have decided to post my project under the Tiva C header since it is the main workhorse, but the three other MCUs are 430s.
Ok, enough rambling - here are the main components I have designed:
Raspberry PI power switch - PC-style startup/shutdown, may be controlled over I2C or from a front panel switch.
IR Remote Control - RC5 protocol.
Main controller - Tiva C based, custom UI library and support for Keystone DAB radio.
Preamp board, 5 line inputs with the option of switcing one to phono (magnetic cartridge - vinyl is getting popular again), DAB option, I2C control and still a VCA based volume control.
I have recently switched to KiCad as my EDA, I did use Zenith PCB earlier but I am a bit scared to continue using that as it is licensed on a yearly basis (even if it is free) - who knows when it wil not be supported anymore. KiCad is open software and does not suffer from any limitations to number of pins or board size.
Attached are the design files I have made for the Preamp board - the design is still to be verified, I will do that when I see how the controller board works out when arriving from the fabricator.
3D view from my KiCad design - I am too lazy to make my own 3D files so it is somewhat incomplete. There is a TI processor hidden on the bottom side, as is the KeyStone radio module.
If everything goes to plan I will post about the bits and pieces that makes up the complete project. I even have mechanical design files (Vectric format) that may be used to make files in order fabricate the enclosures on a CNC-machine.
Ok, enough for this time.
Terje
PreAmpBoard.zip
-
terjeio got a reaction from oPossum in Multimedia Center
My (crazy) project is getting closer to completion so time to start a project topic. I have verified my Tiva C based controller design and are now waiting for PCBs - will arrive from China in a few days.
My background is from Radio/TV servicing and medical electronics, but for the last 25 years I have mainly been working on a large database application written in OpenEdge. Two years ago my preamp that I made some 30 years ago started to fail due to the rubber based switches rotting (a bit like my brain these days...). Since I did not want to buy one I decided to make a new - again with no mechanical parts in the audio path. A lot has happened since back when I was involved in electronics, and I have spent some time doing research for what components are now available - to many one may argue.
I decided to use a CPLD programmed in VHDL for the switching logic, high quality analog switches (my original design employed 40 series CMOS for these) and a VCA (voltage controlled amplifier) for volume control. I did not want to introduce a MCU because I believed I would get into trouble with the clock signal interfering with the audio... Anyway, my new design was successful and has now been in service for nearly two years.
After doing this I took an interest in learning about microprocessors again, I started out with Atmel/Ardouino and Energia but I found that combination a bit lacking - no easy way to do debugging was a showstopper for me. I found the TI processors more appealing, CCS allows me to get my hands dirty on "bare metal" and a decent debugger makes life easier.
So, here I am making another iteration of my preamp - this time involving no less than four TI processors. I have decided to post my project under the Tiva C header since it is the main workhorse, but the three other MCUs are 430s.
Ok, enough rambling - here are the main components I have designed:
Raspberry PI power switch - PC-style startup/shutdown, may be controlled over I2C or from a front panel switch.
IR Remote Control - RC5 protocol.
Main controller - Tiva C based, custom UI library and support for Keystone DAB radio.
Preamp board, 5 line inputs with the option of switcing one to phono (magnetic cartridge - vinyl is getting popular again), DAB option, I2C control and still a VCA based volume control.
I have recently switched to KiCad as my EDA, I did use Zenith PCB earlier but I am a bit scared to continue using that as it is licensed on a yearly basis (even if it is free) - who knows when it wil not be supported anymore. KiCad is open software and does not suffer from any limitations to number of pins or board size.
Attached are the design files I have made for the Preamp board - the design is still to be verified, I will do that when I see how the controller board works out when arriving from the fabricator.
3D view from my KiCad design - I am too lazy to make my own 3D files so it is somewhat incomplete. There is a TI processor hidden on the bottom side, as is the KeyStone radio module.
If everything goes to plan I will post about the bits and pieces that makes up the complete project. I even have mechanical design files (Vectric format) that may be used to make files in order fabricate the enclosures on a CNC-machine.
Ok, enough for this time.
Terje
PreAmpBoard.zip
-
terjeio got a reaction from chicken in Multimedia Center
My (crazy) project is getting closer to completion so time to start a project topic. I have verified my Tiva C based controller design and are now waiting for PCBs - will arrive from China in a few days.
My background is from Radio/TV servicing and medical electronics, but for the last 25 years I have mainly been working on a large database application written in OpenEdge. Two years ago my preamp that I made some 30 years ago started to fail due to the rubber based switches rotting (a bit like my brain these days...). Since I did not want to buy one I decided to make a new - again with no mechanical parts in the audio path. A lot has happened since back when I was involved in electronics, and I have spent some time doing research for what components are now available - to many one may argue.
I decided to use a CPLD programmed in VHDL for the switching logic, high quality analog switches (my original design employed 40 series CMOS for these) and a VCA (voltage controlled amplifier) for volume control. I did not want to introduce a MCU because I believed I would get into trouble with the clock signal interfering with the audio... Anyway, my new design was successful and has now been in service for nearly two years.
After doing this I took an interest in learning about microprocessors again, I started out with Atmel/Ardouino and Energia but I found that combination a bit lacking - no easy way to do debugging was a showstopper for me. I found the TI processors more appealing, CCS allows me to get my hands dirty on "bare metal" and a decent debugger makes life easier.
So, here I am making another iteration of my preamp - this time involving no less than four TI processors. I have decided to post my project under the Tiva C header since it is the main workhorse, but the three other MCUs are 430s.
Ok, enough rambling - here are the main components I have designed:
Raspberry PI power switch - PC-style startup/shutdown, may be controlled over I2C or from a front panel switch.
IR Remote Control - RC5 protocol.
Main controller - Tiva C based, custom UI library and support for Keystone DAB radio.
Preamp board, 5 line inputs with the option of switcing one to phono (magnetic cartridge - vinyl is getting popular again), DAB option, I2C control and still a VCA based volume control.
I have recently switched to KiCad as my EDA, I did use Zenith PCB earlier but I am a bit scared to continue using that as it is licensed on a yearly basis (even if it is free) - who knows when it wil not be supported anymore. KiCad is open software and does not suffer from any limitations to number of pins or board size.
Attached are the design files I have made for the Preamp board - the design is still to be verified, I will do that when I see how the controller board works out when arriving from the fabricator.
3D view from my KiCad design - I am too lazy to make my own 3D files so it is somewhat incomplete. There is a TI processor hidden on the bottom side, as is the KeyStone radio module.
If everything goes to plan I will post about the bits and pieces that makes up the complete project. I even have mechanical design files (Vectric format) that may be used to make files in order fabricate the enclosures on a CNC-machine.
Ok, enough for this time.
Terje
PreAmpBoard.zip
-
terjeio got a reaction from bluehash in Multimedia Center
My (crazy) project is getting closer to completion so time to start a project topic. I have verified my Tiva C based controller design and are now waiting for PCBs - will arrive from China in a few days.
My background is from Radio/TV servicing and medical electronics, but for the last 25 years I have mainly been working on a large database application written in OpenEdge. Two years ago my preamp that I made some 30 years ago started to fail due to the rubber based switches rotting (a bit like my brain these days...). Since I did not want to buy one I decided to make a new - again with no mechanical parts in the audio path. A lot has happened since back when I was involved in electronics, and I have spent some time doing research for what components are now available - to many one may argue.
I decided to use a CPLD programmed in VHDL for the switching logic, high quality analog switches (my original design employed 40 series CMOS for these) and a VCA (voltage controlled amplifier) for volume control. I did not want to introduce a MCU because I believed I would get into trouble with the clock signal interfering with the audio... Anyway, my new design was successful and has now been in service for nearly two years.
After doing this I took an interest in learning about microprocessors again, I started out with Atmel/Ardouino and Energia but I found that combination a bit lacking - no easy way to do debugging was a showstopper for me. I found the TI processors more appealing, CCS allows me to get my hands dirty on "bare metal" and a decent debugger makes life easier.
So, here I am making another iteration of my preamp - this time involving no less than four TI processors. I have decided to post my project under the Tiva C header since it is the main workhorse, but the three other MCUs are 430s.
Ok, enough rambling - here are the main components I have designed:
Raspberry PI power switch - PC-style startup/shutdown, may be controlled over I2C or from a front panel switch.
IR Remote Control - RC5 protocol.
Main controller - Tiva C based, custom UI library and support for Keystone DAB radio.
Preamp board, 5 line inputs with the option of switcing one to phono (magnetic cartridge - vinyl is getting popular again), DAB option, I2C control and still a VCA based volume control.
I have recently switched to KiCad as my EDA, I did use Zenith PCB earlier but I am a bit scared to continue using that as it is licensed on a yearly basis (even if it is free) - who knows when it wil not be supported anymore. KiCad is open software and does not suffer from any limitations to number of pins or board size.
Attached are the design files I have made for the Preamp board - the design is still to be verified, I will do that when I see how the controller board works out when arriving from the fabricator.
3D view from my KiCad design - I am too lazy to make my own 3D files so it is somewhat incomplete. There is a TI processor hidden on the bottom side, as is the KeyStone radio module.
If everything goes to plan I will post about the bits and pieces that makes up the complete project. I even have mechanical design files (Vectric format) that may be used to make files in order fabricate the enclosures on a CNC-machine.
Ok, enough for this time.
Terje
PreAmpBoard.zip
-
terjeio got a reaction from dubnet in Multimedia Center
My (crazy) project is getting closer to completion so time to start a project topic. I have verified my Tiva C based controller design and are now waiting for PCBs - will arrive from China in a few days.
My background is from Radio/TV servicing and medical electronics, but for the last 25 years I have mainly been working on a large database application written in OpenEdge. Two years ago my preamp that I made some 30 years ago started to fail due to the rubber based switches rotting (a bit like my brain these days...). Since I did not want to buy one I decided to make a new - again with no mechanical parts in the audio path. A lot has happened since back when I was involved in electronics, and I have spent some time doing research for what components are now available - to many one may argue.
I decided to use a CPLD programmed in VHDL for the switching logic, high quality analog switches (my original design employed 40 series CMOS for these) and a VCA (voltage controlled amplifier) for volume control. I did not want to introduce a MCU because I believed I would get into trouble with the clock signal interfering with the audio... Anyway, my new design was successful and has now been in service for nearly two years.
After doing this I took an interest in learning about microprocessors again, I started out with Atmel/Ardouino and Energia but I found that combination a bit lacking - no easy way to do debugging was a showstopper for me. I found the TI processors more appealing, CCS allows me to get my hands dirty on "bare metal" and a decent debugger makes life easier.
So, here I am making another iteration of my preamp - this time involving no less than four TI processors. I have decided to post my project under the Tiva C header since it is the main workhorse, but the three other MCUs are 430s.
Ok, enough rambling - here are the main components I have designed:
Raspberry PI power switch - PC-style startup/shutdown, may be controlled over I2C or from a front panel switch.
IR Remote Control - RC5 protocol.
Main controller - Tiva C based, custom UI library and support for Keystone DAB radio.
Preamp board, 5 line inputs with the option of switcing one to phono (magnetic cartridge - vinyl is getting popular again), DAB option, I2C control and still a VCA based volume control.
I have recently switched to KiCad as my EDA, I did use Zenith PCB earlier but I am a bit scared to continue using that as it is licensed on a yearly basis (even if it is free) - who knows when it wil not be supported anymore. KiCad is open software and does not suffer from any limitations to number of pins or board size.
Attached are the design files I have made for the Preamp board - the design is still to be verified, I will do that when I see how the controller board works out when arriving from the fabricator.
3D view from my KiCad design - I am too lazy to make my own 3D files so it is somewhat incomplete. There is a TI processor hidden on the bottom side, as is the KeyStone radio module.
If everything goes to plan I will post about the bits and pieces that makes up the complete project. I even have mechanical design files (Vectric format) that may be used to make files in order fabricate the enclosures on a CNC-machine.
Ok, enough for this time.
Terje
PreAmpBoard.zip
-
terjeio got a reaction from phenyl in Newbie - need help in choosing LaunchPad model
@@phenyl - Here is a version (for SPI only) that works with MSP432 natively, I2C code is still for MSP430... I have not implemented support for reset pin as my display does not have any.
MSP432OLED.zip
-
terjeio got a reaction from Blairo in 1602 LCD connected via I2C to MSP432 fails to show every character
@@Blairo Ok, maybe enough information to be able to help some more now ;-)
The En pin needs to pe pulsed high for a little over 50 ns to clock the data into the display, I would think you need to do that for the initialization sequence too.
The enable cycle time is 1.2uS min - which means there should be no need for delays while sending a nibble, you only need to wait a bit after each byte is sendt to allow the display time to process it (IMO). There is no need to negate the En bit either ( & ~En) as the En bit is not set in your data from the previous command.
I would suggest you try to do the transfer in functions, something like this (not tested):
void sendData (unsigned char byte_data) { unsigned char Nibble = (byte_data & 0xF0) | Rs; I2C_masterSendSingleByte(EUSCI_B0_MODULE, Nibble); I2C_masterSendSingleByte(EUSCI_B0_MODULE, Nibble|En); I2C_masterSendSingleByte(EUSCI_B0_MODULE, Nibble); Nibble = ((byte_data << 4) & 0xF0) | Rs; I2C_masterSendSingleByte(EUSCI_B0_MODULE, Nibble); I2C_masterSendSingleByte(EUSCI_B0_MODULE, Nibble|En); I2C_masterSendSingleByte(EUSCI_B0_MODULE, Nibble); __delay_cycles(1000); } void sendCommand (unsigned char command) { I2C_masterSendSingleByte(EUSCI_B0_MODULE, command); I2C_masterSendSingleByte(EUSCI_B0_MODULE, command|En); I2C_masterSendSingleByte(EUSCI_B0_MODULE, command); __delay_cycles(1000); } Your init sequence seems a bit odd too - for 4-bit I think this may be more like it:
sendCommand(0x30); sendCommand(0x20); sendCommand(0x80); // 2 lines, 5x8 dots sendCommand(0x20); sendCommand(0x80); // 2 lines, 5x8 dots sendCommand(0x00); sendCommand(0x80); // set D C B bits as needed sendCommand(0x00); sendCommand(0x10); // clear display sendCommand(0x00); sendCommand(0x40); // set I/D & SH as needed but then I may be wrong - chinese datasheets are sometimes not easy to make sense of...
-
terjeio got a reaction from phenyl in Newbie - need help in choosing LaunchPad model
Oops - I had not corrected the comments earlier, the code is a mix from several sources. When I tried to run the code I could not get it to run again myself - I forgot I had another LaunchPad connected as a programmer for my Raspberry Pi power controller...
Try these defines, at least they are working for me - be aware that the display I have has no reset pin so I have not tested that:
#define OLED_RES BIT3 // P1.3 #define OLED_DC BIT1 // P1.1 #define OLED_CS BIT0 // P1.0 #define OLED_SIMO BIT2 // P1.2 //#define OLED_SOMI BIT6 // P1.6; unused for OLED #define OLED_SCLK BIT4 // P1.4
-
terjeio got a reaction from phenyl in Newbie - need help in choosing LaunchPad model
Well, here is the modified OLED driver code - it has a function for displaying a 3 1/2 digit numerical value (range is -1999 to 1999) utilizing the full width of the display. It supports both SPI and I2C (set in OLED.h) - main.c contains a demo. It is for CCS - I am not using Energia.
Be aware that sometimes OLED displays can be a bit tricky to get working - there are subtle differences between the various versions available...
OLED Driver.zip
-
terjeio got a reaction from bluehash in What are you doing right now..?
While waiting for 0.3mm PCB drills so I can finish and test my prototype PCBs I have now managed to get most systems running on my (high-end?) stereo multimedia center.
Specs:
Remote control (RC5, MSP430G2312).
Rasperry Pi 2 running OSMC, internal SSD for music (I am using FLAC compression) - network storage of other media.
Power control for Raspberry Pi (MSP430G2553), PC-like startup/shutdown. I2C and button based. Daemon running on Pi handles shutdown requests.
Audio DAC (Chinese made).
Pre-amp board, 5 input channels including RIAA (optional), digital switching and VCA based volume control. MSP430G2553 on daugther board provides I2C control of input switches, I2C DAC on same for volume control.
KeyStone DAB/FM-radio, prototype on MonkeyBoard - new version of pre-amp board will include this and MCU for I2C-control.
Main controller powered by Tiva C for now, will move to custom board when drills arrive. 2.2" TFT-display and old stepper motor behind navigator button. I will try to implement selection buttons (on each side of navigator button) by using Atmel AT42QT1012 touch sensors - not sure if that will work...
-
terjeio got a reaction from dubnet in What are you doing right now..?
While waiting for 0.3mm PCB drills so I can finish and test my prototype PCBs I have now managed to get most systems running on my (high-end?) stereo multimedia center.
Specs:
Remote control (RC5, MSP430G2312).
Rasperry Pi 2 running OSMC, internal SSD for music (I am using FLAC compression) - network storage of other media.
Power control for Raspberry Pi (MSP430G2553), PC-like startup/shutdown. I2C and button based. Daemon running on Pi handles shutdown requests.
Audio DAC (Chinese made).
Pre-amp board, 5 input channels including RIAA (optional), digital switching and VCA based volume control. MSP430G2553 on daugther board provides I2C control of input switches, I2C DAC on same for volume control.
KeyStone DAB/FM-radio, prototype on MonkeyBoard - new version of pre-amp board will include this and MCU for I2C-control.
Main controller powered by Tiva C for now, will move to custom board when drills arrive. 2.2" TFT-display and old stepper motor behind navigator button. I will try to implement selection buttons (on each side of navigator button) by using Atmel AT42QT1012 touch sensors - not sure if that will work...
-
terjeio got a reaction from Rhab in Problems Using QEI with EK-TM4C123GXL
Use QEI_CONFIG_SWAP instead of QEI_CONFIG_NO_SWAP for QEIConfigure to swap inputs, to invert inputs you have to add the constants yourself as they are not defined in the qei.h for some reason, I think the following defines are correct:
#define QEI_INVA 0x00000100
#define QEI_INVB 0x00000200
You may also check if SIGMODE is set correctly for your type of input.
I am using similar code as yours with a stepper motor providing the phase inputs and it works as it should.
-
terjeio got a reaction from chicken in What are you doing right now..?
The laser is a 100mW blu-ray diode, speed is a bit above 200 mm/s. The board in my post above is 3813 by 3109 pixels so it takes a little while to render it.
@@timotet the actuator I used is a second hand one and badly worn - but perfectly good for the printer, I bought it from Korea (ebay). It should be fairly easy to adapt the design to employ a cheaper ballscrew or a belt and pulley drive.
-
terjeio got a reaction from greeeg in What are you doing right now..?
@@timotet - nice result from isolation milling.
The first machine I made is a fairly standard CNC mill, ballscrews, linear rails & steppers, using Mach3 and Vectric Cut2D & VCarve in the toolchain. The design was inspired by Neo7CNCs machines. This is my main workhorse and vital for my projects. It is mainly used for milling aluminium parts and drilling/milling PCBs.
The PCB printer was inspired by a youtube video "PCB Laserprinter Version 2" by "Hobby Elektronik" - he has not published any design details so I had to start from the information provided in the video.
The reason for doing this was that toner transfer did not work for me, and I think isolation milling not well suited for SMD components (IMO). I could have used my main mill by adding a laser to it - but it has a fairly heavy gantry/Z-assembly so not well suited for high speed laser "printing".
The "printer" is designed for PCBs up to Eurocard size (100 x 160 mm) and has a moving table mounted on a THK KR33A actuator. The laser sledge is from an old 3.5" disc drive - I thought I needed to control the focus so I choose that because the assemby contains a small stepper. This is not needed in practice - once the focus it set I have found there is no need to adjust it.
I am using GT2 belt for the X-axis, combined with 17 teeth pulleys and microstepping gives it a mechanical resolution of 1196 dpi - very close to the standard 1200 dpi.
The software renders bmp images directly (no conversion to G-code) so it is "pixel perfect". The PCB outline on the board above is only 5 pixels wide - a tad over 0.1mm, not bad I think. It is my first attempt at double sided printing - this was not my initial design goal so I need to add some way of achieving layer alignment. Since the table has well defined inside edges I think I can utilize that. What I will try is to mill the board slightly oversized so it aligns perfectly with the home position of the laser when I turn it. A complicating factor is that I have to accelerate the laser to max speed before I start exposing the PCB - this to ensure I do not overexpose the board on the edges.
-
terjeio got a reaction from bluehash in What are you doing right now..?
@@timotet - nice result from isolation milling.
The first machine I made is a fairly standard CNC mill, ballscrews, linear rails & steppers, using Mach3 and Vectric Cut2D & VCarve in the toolchain. The design was inspired by Neo7CNCs machines. This is my main workhorse and vital for my projects. It is mainly used for milling aluminium parts and drilling/milling PCBs.
The PCB printer was inspired by a youtube video "PCB Laserprinter Version 2" by "Hobby Elektronik" - he has not published any design details so I had to start from the information provided in the video.
The reason for doing this was that toner transfer did not work for me, and I think isolation milling not well suited for SMD components (IMO). I could have used my main mill by adding a laser to it - but it has a fairly heavy gantry/Z-assembly so not well suited for high speed laser "printing".
The "printer" is designed for PCBs up to Eurocard size (100 x 160 mm) and has a moving table mounted on a THK KR33A actuator. The laser sledge is from an old 3.5" disc drive - I thought I needed to control the focus so I choose that because the assemby contains a small stepper. This is not needed in practice - once the focus it set I have found there is no need to adjust it.
I am using GT2 belt for the X-axis, combined with 17 teeth pulleys and microstepping gives it a mechanical resolution of 1196 dpi - very close to the standard 1200 dpi.
The software renders bmp images directly (no conversion to G-code) so it is "pixel perfect". The PCB outline on the board above is only 5 pixels wide - a tad over 0.1mm, not bad I think. It is my first attempt at double sided printing - this was not my initial design goal so I need to add some way of achieving layer alignment. Since the table has well defined inside edges I think I can utilize that. What I will try is to mill the board slightly oversized so it aligns perfectly with the home position of the laser when I turn it. A complicating factor is that I have to accelerate the laser to max speed before I start exposing the PCB - this to ensure I do not overexpose the board on the edges.
-
terjeio got a reaction from phenyl in What are you doing right now..?
@@timotet - nice result from isolation milling.
The first machine I made is a fairly standard CNC mill, ballscrews, linear rails & steppers, using Mach3 and Vectric Cut2D & VCarve in the toolchain. The design was inspired by Neo7CNCs machines. This is my main workhorse and vital for my projects. It is mainly used for milling aluminium parts and drilling/milling PCBs.
The PCB printer was inspired by a youtube video "PCB Laserprinter Version 2" by "Hobby Elektronik" - he has not published any design details so I had to start from the information provided in the video.
The reason for doing this was that toner transfer did not work for me, and I think isolation milling not well suited for SMD components (IMO). I could have used my main mill by adding a laser to it - but it has a fairly heavy gantry/Z-assembly so not well suited for high speed laser "printing".
The "printer" is designed for PCBs up to Eurocard size (100 x 160 mm) and has a moving table mounted on a THK KR33A actuator. The laser sledge is from an old 3.5" disc drive - I thought I needed to control the focus so I choose that because the assemby contains a small stepper. This is not needed in practice - once the focus it set I have found there is no need to adjust it.
I am using GT2 belt for the X-axis, combined with 17 teeth pulleys and microstepping gives it a mechanical resolution of 1196 dpi - very close to the standard 1200 dpi.
The software renders bmp images directly (no conversion to G-code) so it is "pixel perfect". The PCB outline on the board above is only 5 pixels wide - a tad over 0.1mm, not bad I think. It is my first attempt at double sided printing - this was not my initial design goal so I need to add some way of achieving layer alignment. Since the table has well defined inside edges I think I can utilize that. What I will try is to mill the board slightly oversized so it aligns perfectly with the home position of the laser when I turn it. A complicating factor is that I have to accelerate the laser to max speed before I start exposing the PCB - this to ensure I do not overexpose the board on the edges.
-
terjeio got a reaction from tripwire in What are you doing right now..?
@@timotet - nice result from isolation milling.
The first machine I made is a fairly standard CNC mill, ballscrews, linear rails & steppers, using Mach3 and Vectric Cut2D & VCarve in the toolchain. The design was inspired by Neo7CNCs machines. This is my main workhorse and vital for my projects. It is mainly used for milling aluminium parts and drilling/milling PCBs.
The PCB printer was inspired by a youtube video "PCB Laserprinter Version 2" by "Hobby Elektronik" - he has not published any design details so I had to start from the information provided in the video.
The reason for doing this was that toner transfer did not work for me, and I think isolation milling not well suited for SMD components (IMO). I could have used my main mill by adding a laser to it - but it has a fairly heavy gantry/Z-assembly so not well suited for high speed laser "printing".
The "printer" is designed for PCBs up to Eurocard size (100 x 160 mm) and has a moving table mounted on a THK KR33A actuator. The laser sledge is from an old 3.5" disc drive - I thought I needed to control the focus so I choose that because the assemby contains a small stepper. This is not needed in practice - once the focus it set I have found there is no need to adjust it.
I am using GT2 belt for the X-axis, combined with 17 teeth pulleys and microstepping gives it a mechanical resolution of 1196 dpi - very close to the standard 1200 dpi.
The software renders bmp images directly (no conversion to G-code) so it is "pixel perfect". The PCB outline on the board above is only 5 pixels wide - a tad over 0.1mm, not bad I think. It is my first attempt at double sided printing - this was not my initial design goal so I need to add some way of achieving layer alignment. Since the table has well defined inside edges I think I can utilize that. What I will try is to mill the board slightly oversized so it aligns perfectly with the home position of the laser when I turn it. A complicating factor is that I have to accelerate the laser to max speed before I start exposing the PCB - this to ensure I do not overexpose the board on the edges.